ctrl+q (quoted insert)

One feature I miss from Emacs is quoted-insert.  I use it some times when I need to insert a literal tab character (\t), since just pressing the tab key causes ST to just indent, which may insert spaces instead of a tab depending on the file I'm editing.  In Emacs, I solve this problem by pressing ctrl+q followed by tab.
C-q runs the command quoted-insert, which is an interactive compiled Lisp function in `simple.el'.

It is bound to C-q.

(quoted-insert ARG)

Read next input character and insert it.
This is useful for inserting control characters.
With argument, insert ARG copies of the character.

If the first character you type after this command is an octal digit,
you should type a sequence of octal digits which specify a character code.
Any nondigit terminates the sequence.  If the terminator is a RET,
it is discarded; any other terminator is used itself as input.
The variable `read-quoted-char-radix' specifies the radix for this feature;
set it to 10 or 16 to use decimal or hex instead of octal.

In overwrite mode, this function inserts the character anyway, and
does not handle octal digits specially.  This means that if you use
overwrite as your normal editing mode, you can use this function to
insert characters when necessary.

In binary overwrite mode, this function does overwrite, and octal
digits are interpreted as a character code.  This is intended to be
useful for editing binary files.

I still don't know how to implement this in sublime.


App crashes if it is collapsed when "View all" popup is opened

Add several files and open "View all" popup
Collapse the app

Actual Result: App crashes if it is collapsed when "View all" popup is opened. Error is displayed.
Expected Result: App can be closed, collapsed without errors
Additional Info: when phone screen is locked while "View all" popup is opened - after phone unlocking app is collapsed. Check this issue too. probably they are connected

Tested

app is not crashed when user collapse it while View all popup is opened
app is still opened if user collapse it while View all popup is opened


Library: separate content that is downloaded or still in the cloud

This is for the Library landing page. (not the search results). There should be two sections. One with items downloaded on your device already. And one with the content you get.

The design team had an interesting offer to solve this programmatically.
The two sections above are separating content that is on the device and content you can download. In the case of the online instance all of the content is on the device (if we have all the content being displayed here). That means - the logic could be that we do not show the Endless Key Content Collection section when no cards are there. That would work for the online instance. Visually the change to what it is now would be that we would see the Your Library header and still display the cards in alphabetical order.
In the app, we would then have both sections.
The other option is to special case the Library view when on the online instance like we do for the tabs that we show. But I think the above logic would work. Feedback more than welcome. @jofilizola

+1 to not special case. This should be easy to implement by quering the database 2 times with channel resource available true/false.


Logging in does not take you to home page all the time

Logging in takes you to the last page you were at before the log in page, but it should take you to the home page
e.g. if you go from register page to the login page and then log in, you will be taken to the register page after logging in

Not sure if this is needed


Further fixes for responsiveness needed

Various pages still breaks when viewed on different sizes.
Please add all pages as a task list so that we can keep track of all pages done already.

Follow up fix. The elements are phasing above the navigation bar.

[ ] Reservation page

Fix for this:

Assuming responsiveness is already fixed. Closing issue.


Proper Documentation

Is anyone can provide proper installation process of steem-js on ubuntu server?

TLDR;

git clone
npm install
npm run build


Bug: Hub 2 temperature/humidity/light sensor still exposed even if set hidden in settings

Describe the Bug
Hub 2 temperature/humidity/light sensor still exposed even if set hidden in settings
To Reproduce

Check any of Hide Hub 2's Light Sensor / Hide Hub 2's Temperature Sensor / Hide Hub 2's Humidity Sensor
Restart HB
Senors still exposed to HomeKit

Expected Behavior
Sensors that are set hidden in plugin settings should not be exposed to HomeKit.

Can you try the latest beta:

Click here to find out how to install Beta

No you can't make them all true? In what situation would you make them all true? If that is the case then just hide the hub

@hehachris Can you verify that each one works though.

Can you try the latest beta:

Click here to find out how to install Beta

v2.8.1 has been released which resolves this.


Why not use safeb9sinstaller.bin as your arm9loaderhax.bin in a9lh-to-b9s?

In the a9lh-to-b9s guide, the current process involves manually updating to luma 7.0.5 to ensure the user has access to luma's chainloader menu, so that they can run safeb9sinstaller.bin
However, why not simply rename safeb9sinstaller.bin to arm9loaderhax.bin, and therefore speed up the process?
I was told that this wouldn't be a good idea for users who do not have an SD card who rely on ftpd for accessing their SD card, because if something were to go wrong (say they download the dev or ntr version of boot9strap and safeb9sinstaller refuses to install it for them), then they will not be able to boot into the home menu at all (to run ftpd), and they therefore it would be impossible for them to fix this. However this is inconsistent with another guide, as the update-b9s guide assumes that the user does have an SD card reader (to resolve the argc = 0 error right after updating boot9strap from v1.0 to v1.3)
Renaming safeb9sinstaller.bin to arm9loaderhax.bin would also fix another issue. Currently, if someone were to update from luma 6.6 to luma 7.0.5, it would bring them to the luma configuration menu on boot, and I've seen this quite often in the discord channel were people come in and say "help if i hold start on boot i go into luma config how do i fix".

The SD card reader requirement for Updating B9S is a lot more out of necessity, since it isn't possible to have two versions of boot.firm on the card at once. The only way to fix that would be to run godmode9 scripts that change it. It is possible to have both 7.0.5 and 8.1.1 on the card since they are named differently, so having speed sacrificed is a good tradeoff in my opinion.
It doesn't matter much which direction is taken though, while I would prefer the safety net of the current version this is better for the vast majority of users.

In that case there should be disclaimers at the top linking to alternative guides for users with no SD card reader


feat: detect minimal proxies

What I did
Automatically infer ContractType for minimal proxies
fixes: #734
How I did it
Match known bytecodes of EIP-1167, old Vyper <0.2.9 create_forwarder_to and 0xSplits Clones, then request the target's ContractType.
How to verify it

EIP-1167
Vyper
0xSplits Clones

Checklist

[x] All changes are completed
[ ] New test cases have been added
[ ] Documentation has been updated

need to drop python 3.7 to use walrus operator

converted to draft, will also add EIP-1967 and EIP-1822

possible optimizations:

cache get_code, being mindful of selfdestruct and create2, these should probably be cached with a limited ttl
add proxy contract type and cache it (but for how long? cache invalidation problem)
add batch jsonrpc request machinery, so we can get code and all the needed slots in one request
(high effort) scan all recently deployed contracts to determine the most likely order different proxy types

this PR is an excellent reference on commonly-used proxy patterns
is there a reason why EIP-897 is not included? I've encountered many proxy contracts that just have an implementation() function. I don't think that would be detected by the current version of proxy_info()

is there a reason why EIP-897 is not included? I've encountered many proxy contracts that just have an implementation() function. I don't think that would be detected by the current version of proxy_info()

my omission, the goal is to include as many patterns as possible, so the user doesn't have to worry about how to instantiate contracts

noticed this when adding eip-897, an implementation is also detected as proxy, although pointing to a zero address implementation.
for now i added a check for zero address, but maybe we should have an option for ContractCache.get to ignore proxies, so it can't end up in an endless loop.
are there any examples of proxies nested more than one level?

I think that would be all from me here. Huge thanks to Jules and Doggie for your help and guidance in understanding the architecture.


Callout microapp enhancements

Related to issue: #4116

Description:
PR to enhance and update the Callout MicroApp FeatureScreen and TapLocationScreen.
Summary of changes:

TapLocationScreen

Updated screen to use a fab to show CalloutOptions in a bottom sheet
Added an "X" close button on the Callout to clear.
Added HtmlText to show static HTML content on the Callout
MapView uses device width for insets, resulting in the Callout content always being half the device screen width. (For, testing insets functionality in any orientation)

Feature Screen

Updated screen to use a fab to show CalloutOptions in a bottom sheet
Added an "X" close button on the Callout to clear.
Updated the WebMap, which contains Polygons (neighborhood) and Point (trees) features.
Added recenterMap function to recenter map on tapped point. (Helpful for testing, passing null tapped location)

Pre-merge Checklist

a vTest Job for this PR has been run

[x] link: ⛔  vTests are broken.

Unit and/or integration tests have been added to exercise this PR's logic, and the tests are passing:

[ ] Yes
[x] No

Note: I will rebase this PR once #466 & #462 is merged.

@puneet-pdx, ready for your review.

@puneet-pdx, thanks for the feedback. I have added the changes as we discussed. Ready for your review.

@shubham7109 with these changes Animation is working for me as expected
TapLocationScreen.kt
    // animate to a visible transition state
    val calloutVisibleState = remember { MutableTransitionState(false) }.apply {
        targetState = true
    }
    calloutVisibleState.targetState = mapPoint != null && calloutVisibility

    ...

    MapView(
            modifier = Modifier
                .fillMaxSize()
                .padding(paddingValues),
            arcGISMap = viewModel.arcGISMap,
            graphicsOverlays = remember { listOf(viewModel.tapLocationGraphicsOverlay) },
            onSingleTapConfirmed = viewModel::setMapPoint,
            content =
            {
                val lastMapPoint = remember { Ref<Point>() }
                lastMapPoint.value = mapPoint ?: lastMapPoint.value

                AnimatedVisibility(
                    calloutVisibleState,
                    enter = fadeIn(),
                    exit = fadeOut()
                ) {
                    lastMapPoint.value?.let {
                        Callout(
                            modifier = Modifier.wrapContentSize(),
                            location = it,
                            rotateOffsetWithGeoView = rotateOffsetWithGeoView,
                            offset = offset
                        ) {
                            Text("Tapped location:\n${it.x.roundToInt()},${it.y.roundToInt()}")
                        }
                    }
                }
            }
        )

https://github.com/Esri/arcgis-maps-sdk-kotlin-toolkit/pull/486/files

Thanks @puneet-pdx, I've added this code to the PR https://github.com/Esri/arcgis-maps-sdk-kotlin-toolkit/pull/485..

Thanks for the reviews @puneet-pdx @sorenoid. Mergering this in.


Confused parameter of locityper genotype

Hi,
thanks for this amazing tool! However I came across an issue with locityper genotype, that the parameter -p is reused for both --preproc and --ploidy. When I tried to define ploidy as '1' for the loci on chrX/Y, it would throw out error:
Command: locityper genotype -@ 16 -a C001-E01.bam -d k25.db -p C001-E01.bg --ploidy 1 -o C001-E01.gts
Error: Failed to parse command-line arguments: invalid option '--ploidy'.
Is it a bug? I ran smoothly without --ploidy, but with a diploid genotype. How should I fix it? Thank you very much.
Best,
Jing

And there maybe another issue, that when the insertions/deletions of input reads are zero, the locityper preproc would throw out error:
[10:26:10  INFO] Estimating read error profiles from 510154 reads
[10:26:10  INFO]           231797 matches    (0.998695)
[10:26:10  INFO]              303 mismatches (0.001305)
[10:26:10  INFO]                0 insertions (0.000000)
[10:26:10  INFO]                0 deletions  (0.000000)
[10:26:10  INFO] Maximum allowed edit distance: 2 (for read length 100, 99%-confidence interval)
[10:26:10 DEBUG]     Few windows (< 100) with GC-content < 32 or > 34, bluring distributions
[10:26:10  INFO] Read depth: 10.31 ± 3.73  (GC-content 40, window size 67)
[10:26:10  INFO] Success. Total time: 0:00:08.067
[10:26:11 DEBUG] locityper genotype -@ 16 -a C027-S07.ampl7.bam -d ../k25.db -p C027-S07.bg -o C027-S07.gts
[10:26:11 DEBUG] locityper v0.16.12 @ 2024-12-05 10:26:11
[10:26:11 DEBUG] Using random seed<PHONE_NUMBER>123899431
[10:26:11 ERROR] Finished with an error:
Could not load JSON: Failed to parse '{"matches":-1.306324650035343e-3,"mismatches":-6.641190786753159,"insertions":null,"deletions":null,"clipping":-6.641190786753159,"alpha":0.0719386516574764,"beta":55.32717486990083}': missing or incorrect 'insertions' field!

From above error infromation, it seems that you are using ln() to transfrom the rate of match/mismatch/insertion/deletion, but when the rate is zero, ln(0) would cause error? Is that so?
Best regards,

btw, for the first ploidy issue, I manually changed the "ploidy" parameter to 1 in the file bg/distr.gz produced by locityper preproc, and re-run locityper genotype. The out genotype is still diploid, similar to the previous one (the exact genotype for my example), but the weight_dist is way more large.

Dear Jing,
Thank you a for finding these bugs! I added small fixes to both issues, they should be in v0.17.4 It may take couple days for the release to appear on conda, but other compilation methods should be fine already.
Please write here if there are any other problems!
Best regards,
Timofey

By the way, changing ploidy in bg/distr.gz to 1 would not work, it changes background ploidy (the whole genome is haploid), not target ploidy.

That's cool. I will update the lastest one. Thank you!


Component libraries

Adding top-level section on using component libraries. Includes
How to create a library
How to add it to solution
How to consume it
How to pack it for nuget
First docs commit so I'm very open to suggestions.
Fixes #70

Thanks @stimms ... I'll take look later today.

@stimms I did a UE+guidelines pass. Make sure that I didn't break the meaning of anything. The only spot I'm concerned about is ...

The @addTagHelper directive can be included in _ViewImport.cshtml to make the components available for an entire project or scoped to a single page or set of pages within a folder.

You're saying that "scoped to a single page or set of pages" applies when the _ViewImport.cshtml file is within the folder where the pages reside, correct?


Change link in repository description

We currently have

I suggest we replace that with a short link to the docs, maybe https://hi-ml.rtfd.io/
At the moment, I think it's too hard to quickly find a link to the docs when one lands on the repo page.

Done, now links to https://aka.ms/hi-ml

Shall we change the description as well? Maybe "Microsoft Research Health ML toolbox"? It's the title of the first result when you Google "hi-ml".


Refactor to multimodule project and create test-fixtures artifact

When using Gradle you can have in the same project testFixtures folder that creates classess accessible in tests and is published as separate artifact. I don't know how it works in Maven, but probably it has to be done as separate sub project.
I would like to add them custom AssertJ assertion for this type. Then it would be easier to test methods that returns this value.
Proposed class looks like this:
package com.github.sviperll.result4j;

import com.github.sviperll.result4j.Result;
import java.util.function.Consumer;
import org.assertj.core.api.AbstractAssert;
import org.assertj.core.api.Assertions;

public class ResultAssert<R, E> extends AbstractAssert<ResultAssert<R, E>, Result<R, E>> {

  private ResultAssert(Result<R, E> actual) {
    super(actual, ResultAssert.class);
  }

  public static <R, E> ResultAssert<R, E> assertThat(Result<R, E> actual) {
    return new ResultAssert<>(actual);
  }

  public ResultAssert<R, E> isError() {
    isNotNull();

    Assertions.assertThat(actual.isError()).describedAs("Check if Result is an Error").isTrue();

    return this;
  }

  public ResultAssert<R, E> isSuccess() {
    isNotNull();

    Assertions.assertThat(actual.isError()).describedAs("Check if Result is a Success").isFalse();

    return this;
  }

  public ResultAssert<R, E> hasErrorEqualTo(E expectedError) {
    isNotNull();

    Assertions.assertThat(actualError()).describedAs("Check Result Error").isEqualTo(expectedError);

    return this;
  }

  public ResultAssert<R, E> hasErrorThat(Consumer<E> consumer) {
    isNotNull();

    consumer.accept(actualError());

    return this;
  }

  public ResultAssert<R, E> hasSuccessEqualTo(R expectedSuccess) {
    isNotNull();

    Assertions.assertThat(actualSuccess())
        .describedAs("Check Result Success")
        .isEqualTo(expectedSuccess);

    return this;
  }

  public ResultAssert<R, E> hasSuccessThat(Consumer<R> consumer) {
    isNotNull();

    consumer.accept(actualSuccess());

    return this;
  }

  private E actualError() {
    if (actual instanceof Result.Error(E error)) {
      return error;
    }
    throw failure("Expected Result to be Error but was Success");
  }

  private R actualSuccess() {
    if (actual instanceof Result.Success(R result)) {
      return result;
    }
    throw failure("Expected Result to be Success but was Error");
  }
}

I could create PR to convert project to multimodule, but it's been a while since I was using Maven.
What do you think about that?
If it is OK, maybe you can switch to multimodule?
I can convert it to Gradle, but not sure if can handle all your conventions (checkstyle, publishing).

I think I would like to stay with Maven. Yes, we can do multi-module project like the following:
result4j/  # Root with (com.github.sviperll:result4j-base super pom)
  | result4j/  # com.github.sviperll:result4j as was before
  `  result4j-assertj/  # com.github.sviperll:result4j-assertj with assert4j sepecific things

I will suggest the following plan:

Create a branch on github, like feature-assertj
You'll add a commit with ResultAssert-class, adding it directly to result4j without any reorganization.
I'll then add a commit to split project into multi-module maven project.
Then we'll merge to master and I'll cut a release

WDYT?

Copilot suggested that you can use test-fixtures submodule by this configuration.
Hope it will help you.
<project>
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>com.example</groupId>
        <artifactId>my-project</artifactId>
        <version>1.0-SNAPSHOT</version>
    </parent>
    <artifactId>my-module</artifactId>
    <dependencies>
        <!-- Other dependencies -->
    </dependencies>
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <executions>
                    <execution>
                        <id>unpack-test-fixtures</id>
                        <phase>process-test-classes</phase>
                        <goals>
                            <goal>unpack</goal>
                        </goals>
                        <configuration>
                            <artifactItems>
                                <artifactItem>
                                    <groupId>com.example</groupId>
                                    <artifactId>test-fixtures</artifactId>
                                    <version>1.0-SNAPSHOT</version>
                                    <type>jar</type>
                                    <overWrite>false</overWrite>
                                    <outputDirectory>${project.build.directory}/test-fixtures</outputDirectory>
                                </artifactItem>
                            </artifactItems>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
</project>


Back friend

I've tested the backend code. It works faster now since we're populating the message references.
@torch2424 I'll update the Wiki so that you can read the API-Endpoints better :^)

If you dont mind, would you be down to reference the issues that this address, and what this branch accomplishes? You made a lot of changes, so I dont want to get lost in them.
But thank you very much for your hard work! This is awesome! :)

@torch2424 #20 #21 #48 are the issues that this branch accomplished

Awesome! Thank you very much! I'll pull this in, as I saw you test this working in person :dancer:


Upgrade Logging Operator to 3.7.3

https://github.com/banzaicloud/logging-operator/releases/tag/3.7.0

Rancher version v2.5-head (11/17/2020) 9a67809
Rancher version master-head (11/17/2020) 90cdb6d6d
Logging chart version: 3.7.301
P1 test cases executed while testing this other Windows issue #28720


Rendering VTK 8 compatibility

Rendering (UJ+IM) looks like it needs an overhaul for VTK 8 compatibility

vtkFrameBufferObject no longer exists

Update: Adam's been working on VTK 8 compatibility

typedef'd FrameBuffer to be VTK7/8 agnostic (uses vtkOpenGLFramebufferObject for VTK8)
some functions (i.e. SetNumberOfRenderTargets) are not in vtkOpenGLFramebufferObject

Yes, I started fixing this up. I will need @ujayarat help because the new vtkFrameBufferObjectBase does not the functionality that is expected. I have started to update the code to use vtkOpenGLFrameBufferObject

Yes, what J said.

Can we delay this upgrade for another couple of months? I don't think I will have time to invest on this now.

Yup

Thanks.


[fuzzing] split fuzzer scripts in multiple scripts for usability, also remove dead-link flag

Is the intent to decouple the build/fuzz scripts so that we don't need to open a PR in oss-fuzz for changes we make here?

no it's for us (lionhead wanted that, but it's also useful if we want to run tools (like Instruments) on a fuzzer

/land


python310Packages.sentry-sdk: 1.24.0 -> 1.25.0

Diff: https://github.com/getsentry/sentry-python/compare/refs/tags/1.24.0...1.25.0
Changelog: https://github.com/getsentry/sentry-python/blob/1.25.0/CHANGELOG.md
Description of changes

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.11 Release Notes (or backporting 23.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 235840 run on x86_64-linux 1

3 packages marked as broken and skipped:

netbox_3_3
python310Packages.dalle-mini
python310Packages.dalle-mini.dist

4 packages failed to build:

python310Packages.wagtail-localize
python310Packages.wagtail-localize.dist
python311Packages.wagtail-localize
python311Packages.wagtail-localize.dist

59 packages built:

alerta-server
alerta-server.dist
cura
gns3-gui
gns3-gui.dist
gns3-server
gns3-server.dist
home-assistant-component-tests.sentry
ledfx
ledfx.dist
moodle-dl
moodle-dl.dist
mozphab
mozphab.dist
netbox
notus-scanner (python310Packages.notus-scanner)
notus-scanner.dist (python310Packages.notus-scanner.dist)
octoprint
octoprint.dist
openai-full
openai-full.dist
ospd-openvas
ospd-openvas.dist
peering-manager
python310Packages.django-rq
python310Packages.django-rq.dist
python310Packages.fastai
python310Packages.fastai.dist
python310Packages.k-diffusion
python310Packages.k-diffusion.dist
python310Packages.langchain
python310Packages.langchain.dist
python310Packages.sentry-sdk
python310Packages.sentry-sdk.dist
python310Packages.skrl
python310Packages.skrl.dist
python310Packages.spacy
python310Packages.spacy-loggers
python310Packages.spacy-loggers.dist
python310Packages.spacy-transformers
python310Packages.spacy-transformers.dist
python310Packages.spacy.dist
python310Packages.textacy
python310Packages.textacy.dist
python310Packages.textnets
python310Packages.textnets.dist
python310Packages.wandb
python310Packages.wandb.dist
python311Packages.django-rq
python311Packages.django-rq.dist
python311Packages.notus-scanner
python311Packages.notus-scanner.dist
python311Packages.sentry-sdk
python311Packages.sentry-sdk.dist
skytemple
skytemple.dist
tribler
tts
tts.dist

#235919 fixes wagtail-localize build failure.


Isolating/Refactoring the math library

This is to open a discussion and try to help in the work that has started around the math/geometry library.
Maybe at one point it will be interesting to switch the library to one of the existing js math libraries. Nevertheless, it seems that there are still some unclear (to me at least) dependencies between the math part and the library and the rest of the csg library.
After a first look, something unclear appeared to me : primitive2d.js is a big user of math primitives to construct 2d objects. It builds the objects as "points", "path", "cag"
I tend to agree that when building a primitive, I would like to have access to all the math, cag, csg API.
but one unclear dependency appears in this list

return CAG.fromPoints(points) -> ok
return e2.innerToCAG() -> ?
..

The innerToCAG is implemented in https://github.com/jscad/csg.js/blob/master/src/math/Path2.js#L160 and could probably be replaced with a function to get the points + an isClosed function to check if the path is closed.
On the same vein,  expandToCAG and rectangularExtrude probably should'nt be in path. A function "getSides" may help to remove expandToCAG but I don't know what to do of rectangularExtrude. This seems pretty high-level.
So maybe the "primitive" level could include both the building of objects and the transformation of objects like extrusion (or maybe there are already somewhere else)
what do you think ? I could try and send a PR on this.

for reference https://github.com/jscad/csg.js/issues/24

Also not 100% sure on all the relationships, a lot of things could be seperated out between 'core' functionality and stuff build on top of it.
I had started mapping out some of these things , this could help perhaps :
https://gist.github.com/kaosat-dev/dfad0f50aa4e844e0958d7c7cf308799

I'm all for trying to define the "core" functionality. Everything else, like rectangular extrude, expand, etc really should be 'functions' that are not tied to an the object prototype.
Mark will Iike this...

@z3dev i don't understand your message. You mean for example that "rectangular extrude" should simply be a function that combine other operations ?
it is true that primitives are currently not bundled inside an object scope. It is not yet clear to me where they should belong, but if we want to abstract a math library that has no knowledge of csg.js these cannot be in the low level math/geometry objects
Beeing new to the project I did not understand you ... about Mark.

I looked at Path2.innerToCAG() which should I think be moved to CAG.fromPath2(). Now I am left with the choice of putting it in CAG.js or in CAGFactories.js. It seems to me that CAGFactories would be the best ?
now it seems there are also factories inside CAG.js (fromPoints, fromSides, ..)
should I move everything that looks as a factory (CAG.fromXXX) to CAGFactories ?
now that I open the files I understand that the code footprint is huge. Not sure I embrace why yet but there are a lot of things going on..

@jeromew  Mark would be me haha :) I am a strong proponent of functional oriented code , and a lot of CSG.js is 'false' oop that is hiding some nice functional code.
About Path2.innerToCAG() agreed:

moving it to CAGFactories indeed seems to be the best
although perhaps even CAGFactories is too 'big', because each factory function has its own 'require'ments : users might want to use a given factory function without having the dependency of all others

@jeromew I wouldn't worry too much about unwinding the dependencies. @kaosat-dev spent some major effort to get the library to this state. There's a lot more that can be done.
It seems to me that the from*() functions should be part of the CAGFactories as well.
What about CAG.fromCompactBinary()? Where did that go? I think this should be part of the CAGFactories as well.

I sent a PR regarding fromPath2 - https://github.com/jscad/csg.js/pull/49 tell me what you think

Also, let me add that jscad is a "many-modules" project. Maybe it could benefit from something like https://lernajs.io/ . Lerna was developed for babel initially because managing several interdependant modules rapidly becomes a versioning nightmare. pug.js also uses lerna.

@jeromew yeah one step at a time !
About Lerna.js : actually that is something I have experimented on when toying with refactoring options of OpenJSCAD.org : one of the split out repositories actually follows a lot of the Lerna conventions and is a monorepos (https://github.com/jscad/io) with a lot of sub (npm) packages in the 'packages' folder. There are a few issues with Lerna at this stage though: (might have changed)

lack of support for scoped packages
some weird issues with corner cases (I stumbled upon one when testing)
perhaps too complex ? (they were working on simplifying)

100% worth keeping an eye on

@jeromew The V2 of CSG is well underway now. It would be good to get your thoughts on the progress.
And thanks for the information on Lerna. It seems that @kaosat-dev actually moved JSCAD to it.

@z3dev sorry I have been mostly AFK for some time.
overall jscad's code has many many parts and i know after scanning through it a few months ago that the refactoring is far from easy. The csg.js V2 branch has already many structure improvements and tests ! nice work !
I looked a bit at vec2, for example https://github.com/jscad/csg.js/blob/V2/src/core/math/vec2/add.js
is it really necessary to keep both "in-place" and "create" modes ? When I look at gl-vec2, they only have the "in-place" operation and avoid a systematic if (params.length ===  test in all operations. I would think (not tested) that keeping both modes has a real perf cost in a math-heavy library like csg.

@jeromew Have you played with V2 lately? I think that the API is nearly complete, data structures defined, and dependencies corrected. The whole library is clean and understandable now.
We would like your feedback if possible. (Please open new issues as part of OpenJSAD.org)

@z3dec I received your ping. Huge work on the refactoring it will be many times mode clear !
my main feedback is about the fact that many math APIs have 2 signatures : if the structure is not already created, it will be created on the fly. for example look at https://github.com/jscad/csg.js/blob/V2/src/math/vec3/max.js
the systematic if (params.length === 2) {
I suspect that in the long term this could be a performance hit for the library + now that you cleared all the dependencies, I wonder if csg.js should not try to direcly use gl-matrix instead of basically implementing the same operations (+ some operations that gl-matrix does not have).
I wonder if three.js is not taking the same path. If you look at https://github.com/mrdoob/three.js/blob/dev/src/math/Line3.js, you can see that all the code paths where arguments are not set now trigger warnings - https://github.com/mrdoob/three.js/blob/dev/src/math/Line3.js#L86
You can see the three.js reasoning in this ticket https://github.com/mrdoob/three.js/issues/12231 and I think it is the same for csg.js
I hope this can help you

@jeromew Thanks for the feedback.
Yeah. Those extra Boolean comparisons may be expensive. But we will have to compare the performance hits.  There may be performance hits on using ARGS as well.
I’ll keep this open until the performance comparison can be completed.

another link regarding the discussion about this in gl-matrix when they were planning for v2 (2012) - https://github.com/toji/gl-matrix/issues/41

@jeromew do you mind if I close this issue here?
The math library is now separated, and the API for V2 has been completed.
I have also added a task for reworking the API in V2.1.

@z3dev no you are right this issue can be closed


stack marked as "exited" when conatiners are running

⚠ Please verify that this bug has NOT been reported before.

[X] I checked and didn't find similar issue

🛡 Security Policy

[X] I agree to have read this project Security Policy

Description
I'm trying to deploy this project using dockge
https://github.com/makeplane/plane
but it was marked as exited even if those containers are running.

👟 Reproduction steps

cd /opt/stacks
git clone https://github.com/makeplane/plane.git
hit the deploy button on dockge

👀 Expected behavior
Stack will be marked as ''active'' when containers starts running.
😓 Actual Behavior
Stack marked as ''exited'' when containers starts running.
Dockge Version
1.1.1
💻 Operating System and Arch
Debian GNU/Linux 12 (bookworm) x86_64
🌐 Browser
Google Chrome 119.0.6045.160
🐋 Docker Version
Docker CE 24.0.7
🟩 NodeJS Version
No response
📝 Relevant log output
No response

I tried this stack, I saw the minio container is not started, I think it is the reason, because the stack is active only if all containers are up.

I tried this stack, I saw the minio container is not started, I think it is the reason, because the stack is active only if all containers are up.

That createbuckets minio container is an init task, like the jobs in k8s, once the needed bucket is created, it will exit.
Can we add a filter (using labels for example: - "dockge.stack.status.enable=false" ) to exclude containers from being checked by dockge?

I have a similar issue with a Plex compose file, which contains an init container that installs/updates some plugins, then exits. There is a depends_on: {plex_plugins:{condition: service_completed_successfully}} condition on the main plex container

Looking a bit into the code, I fear this might be tricky to implement, as right now the status is computed based on parsing the response from docker compose ls which will return something like exited(1), running(2), without further details...

I also encountered this issue and all responses from docker compose ls are in status running. It still shows exited in the UI.

Same here.  I am using bash container to do some jobs before services start like init task.
version: "3"
services:
  bash:
    image: bash:latest
    container_name: bash
    network_mode: none
    user: 1000:100
    volumes:
      - /container-data:/container-data
    restart: no
    command: -c 'mkdir -p
      /container-data/{sonarr/config,radarr,prowlarr/config,bazarr/config,transmission/{config,custom-cont-init.d}}'
  transmission:
    image: ghcr.io/linuxserver/transmission:latest
    container_name: transmission
    hostname: transmission
    networks:
      - servarr
    depends_on:
      - bash
    environment:
      - PUID=1000
      - PGID=100
      - TZ=Europe/Istanbul
    volumes:
      - /container-data/transmission/config:/config
      - /container-data/transmission/custom-cont-init.d:/custom-cont-init.d:ro
      - /data/downloads:/data/downloads:shared
    ports:
      - 9091:9091
      - 51413:51413
      - 51413:51413/udp
    restart: unless-stopped

I also bumped into this problem. I haven't looked into the code at all, but isn't is possible to somehow specify which services to include in the status? I.e. no real changes in the how everything is executed/managed and no changes needed in the docker-compose, but just some updated to the GUI like a setting "Ignore these services to track status".
 I'm fairly new to docker as a whole and especially dockge.

Same issue here. docker compose ls shows correct status, dockge shows stack as exited.

I also have the same issue. I have total 50 containers.
Around 40 containers are showing as running. The remaining 10 are shown as exited.
Below is one of the stack showing as exited while actually it is up & running. docker compose ls also shows it as running.

I would propose to just show how many of the containers are running, just like the output of docker compose ls.
e.g. "4/5 running"
If one of the containers crashes/exits before the others, there is on indicator that some containers might still be running.

Me too here, is the satck missing a config, or something like that ?
Great job for dockge, saves me a lot of time !

Has anyone found a resolution to this bug yet?  I have a project that is running in the browser port, but showing as exited in the UI.

I tried this stack, I saw the minio container is not started, I think it is the reason, because the stack is active only if all containers are up.

You're right, when a stack has one or more containers that have exited but still has other running containers, the stack is shown as "exited." To me, this seems like a bug because if there are still running containers, the stack's status should be "running" rather than "exited." In Docker Desktop or Orbstack, such a state would be shown as "running," which better meets user expectations. I hope the logic can be modified so that in this situation, the status is displayed as "running." Only when all containers have exited should it show as "exited."

I'm experiencing the same problem. Is there any update on this bug?

cd /opt/stacks/yourstack && docker compose up -d --remove-orphans should help most of you guys :)

Perhaps another solution to this bug could be for Dockge to automatically run this before marking a container as exited.x


The resource write operation failed to complete successfully, because it reached terminal provisioning state 'Failed'.

Hello,
When I attempt to run a manual deployment in my tenant, I receive the following error message:
The resource write operation failed to complete successfully, because it reached terminal provisioning state 'Failed'.

Navigating to the web app and attempting to re-deploy (following #5 on the troubleshooting guide), I receive the following error:

Deployment logs:
Command: deploy.cmd
Handling ASP.NET Core Web Application deployment.
Restoring NuGet packages
  Determining projects to restore...
  All projects are up-to-date for restore.

Browserslist: caniuse-lite is outdated. Please run:
  npx update-browserslist-db@latest
  Why you should do it regularly: https://github.com/browserslist/update-db#readme
Browserslist: caniuse-lite is outdated. Please run:
  npx update-browserslist-db@latest
  Why you should do it regularly: https://github.com/browserslist/update-db#readme
Failed to compile.

TS2322: Type '{ children: string[]; style: { gridColumn: "2"; marginLeft: "8px"; marginRight: "5px"; paddingTop: "8px"; color: "darkgray"; }; placeholder: string; }' is not assignable to type 'DetailedHTMLProps<HTMLAttributes<HTMLDivElement>, HTMLDivElement>'.
   Please run:\r\n  npx update-browserslist-db@latest\r\n  Why you should do it regularly: https://github.com/browserslist/update-db#readme\r\nBrowserslist: caniuse-lite is outdated. Please run:\r\n  npx update-browserslist-db@latest\r\n  Why you should do it regularly: https://github.com/browserslist/update-db#readme\r\nC:\Program Files (x86)\SiteExtensions\Kudu\100.51108.6494\bin\Scripts\starter.cmd deploy.cmd

Any help would be appreciated, thank you in advance.

Hi @GavinFullerTX ,
Thanks for raising the query. We are working on this app service issue sync on priority and will keep you posted.

Hi @GavinFullerTX ,
Thank you for raising the query. The app service sync failure issue is now resolved, and the changes have been pushed to Company Communicator official GitHub repository.
If current deployed version of the Company Communicator application is pointing to v5.5 (latest version), please follow the below procedure to resolve the issue -

Go to Azure Portal --> Go to Resource Group (where the CC deployment has been done) --> Select Web App (App Service) --> Go to Deployment Center --> Click on SYNC

Once the status shows successful within logs section of Deployment Center.

Note: Please make sure the Repo URL and Branch name is pointing to below values in Deployment Center Screen of app service

Try accessing the CC application on Teams web client to avoid any cache related issue.

If current deployed version of the Company Communicator application is pointing to v5.4.1 or previous versions, please upgrade your app to latest version by following the migration guide as the fix is pushed to the main branch in Company Communicator's official GitHub repo.
If it’s a fresh deployment then proceed with the remaining steps as per the deployment guide.
Please let us know if you are still facing the issue.

Hello @gsv022 ,
i'm facing the same issue for the first deploy.

"The resource write operation failed to complete successfully, because it reached terminal provisioning state 'Failed'. (Code: ResourceDeploymentFailure, Target: /subscriptions/ebbcb494-61a3-4815-8cbf-66080bd8cd40/resourceGroups/RG_CC_Sandbox/providers/Microsoft.Web/sites/CCWLG365-data-function/sourcecontrols/web)"
Can you please help me to resolve this issue ?
Kind regards,
Zakaria

Hi There, I faced similar issue while deploying Nested Management Groups using Bicep through Bicep CLI in Visual Studio Code. The deployment is suppose to deploy MGs as follows
Level1-Mg

Level2-Mg

Level3-Mg1

Level3-Mg2

After running the Bicep CLI Command for the first time, only "Level1-Mg" got deployed and then it failed
with "message":"The resource write operation failed to complete successfully, because it reached terminal provisioning state 'Failed'.
I waited for sometime and tried again without making any change in Bicep or its parameter file and the command itself. It ran successfully and deployed "Level2-Mg" only. Since the "Level1-Mg" existed. And failed to deploy remaining 2 MGs. I ran the command again (without changes) and this time remaining 2 MGs (i.e. Level3-Mg1 and Level3-Mg2) also got deployed.
I am certain that it is because Azure Portal takes time to recognize the deployed state of any resource and Bicep CLI command doesn't wait that long, hence it fails.

what can be the error if it is happening while creating MSSQL managed instance.


select2 arrow with RTL direction [BUG]

Describe the bug
When I have select2 with adminLTE-RTL the arrow of dropdown overlapping the text in dropdown list.
Steps To Reproduce
Steps to reproduce the behavior:

                                    {{__('App.sort_by')}}
                                    <x-adminlte-select2 name="sort">
                                        <option>{{__('App.ASC')}}</option>
                                        <option>{{__('App.DESC')}}</option>
                                    </x-adminlte-select2>

Expected behavior
the arrow should be in deferent side of the box.
Screenshots

Closed, no feedback!


forceY for multiBarHorizontalChart when set like [0,{{max-value}}] doesn't update dynamically

Hey,
am using this directive's multiBarHorizontalChart feature. I m stuck at a place where I need to pass forceY attribute to the chart as an array with min value as 0 and max value changes dynamically on data change. The data change works correctly but the forceY doesn't update. PFA screenshot of the chart where the max-value passed to the forceY attribute is 6 but it renders 40 as the max value on y axis.
Could you please help me out with this
Thanks

I'm having the same problem but I don't think this framework is being maintained (Last commit was in Feb of 2015)... If anyone know what's going on, please share with us! =D

I faced the same thing but did a workaround. Set the min value as 0 and calculated the max value. In the controller, I set the max value as 10 in my case. And checked each values in the data array to be greater than 10 or not. So I the value is greater that 10, then the new value is the max value. If not 10 is the max. This worked for me.


Add files via upload

Great work @AminLodhiya08  please give this repo a star if it really helped you to complete your PR.
Also follow me for follow back if you want to get connected with me for any such open source contribution program. Thank you 😊

Yeahh it's really helped me a lot✨ thank you so much.
On Mon, 24 Oct, 2022, 8:45 am Tanu soni, @.***> wrote:

Great work @AminLodhiya08 https://github.com/AminLodhiya08 please give
this repo a star if it really helped you to complete your PR.
Also follow me for follow back if you want to get connected with me for
any such open source contribution program. Thank you 😊
—
Reply to this email directly, view it on GitHub
https://github.com/tanus786/CP-Codes-HackOctober-Fest-2022/pull/463#issuecomment-1288357081,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A3YJIQMKZM2AVV45JTRSX5LWEX5MXANCNFSM6AAAAAARMRXGQE
.
You are receiving this because you were mentioned.Message ID:
@.***>


How is this formula derived?

This formula can use Taylor Series to get it
Just replace:
you can check this link
https://blog.csdn.net/zxfhahaha/article/details/102747427?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task


Using angular.copy to set items on storage in default function

Using angular.copy to set items on $storage in $default function. This is so that the object passed in to $default or $reset is not referenced, so it will not be affect by future changes to the $storage object (which is useful for example when syncing data, comparing current storage object against the default).

If you don't intend to pass in references wouldn't it be sensible to pass in the copied object to $default ?

Thanks for your feedback egilkh. I did consider doing that, but I thinks it's far neater that the copy happens from within ngStorage for two reasons:

Semantically, if I define an object called defaultDataStructure and initialise my storage with that, it is messy if that object gets mutated.

var defaultDataStructure = {
  prop1: "value1",
  prop2: {
    prop2a: "value2a",
    prop2b: "value2b",
  }
};

var $myStorage = $localStorage( defaultDataStructure );

If then do something like $storage.prop2.prop2a = "value2a_changed", I wouldn't expect defaultDataStructure to get changed.

If the $myStorage object is already persisted to local storage when the apps loads, the defaultDataStructure will not be used (because the values are fetched from localStorage).

That means the defaultDataStructure object would not be mutated by changes to $myStorage in that case anyway.
This pull request just makes it work the same way when localstorage is empty and it gets loaded for the first time.
Would welcome your thoughts on those points.

Hey! Sorry for the late response as I have been traveling.
I agree with both of your points! Thanks for the PR!

My pleasure - and thanks for looking after a very handy angular module!


⚠ Bofrost.be has degraded performance

In 562d8c4, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 2385 ms

Resolved: Bofrost.be performance has improved in a4eec9f.


Add support for listing all address spaces if allowed

Closes #2074

So listing seems to work for me. However it looks like I indeed need the "Watch" functionality as well.

@ctron Watching is a more significant effort, so I would suggest you go ahead with 'polling' using listing for now until #1280  is scheduled for work.


fix: add codecov token to github action

v4 of the codecov action requires the token to be specified as a parameter.
cf. https://github.com/codecov/codecov-action/issues/1248#issuecomment-1928486729 or https://github.com/finos/git-proxy/pull/442#issue-2123404710

We also need the page over coverage updated. I can try to do it eventually, but won't be soon, as we just had a baby. If someone else wants to update it, we can get it in sooner.

Thanks!


Update Chinese address format

We have addr:district that works similar as addr:unit (in western style).
In Chinese language, the word 'unit' is translated to "单元"(a numbered entrance of a building), which is more specific than addr:housenumber, so there's no need to keep it.
See https://en.wikipedia.org/wiki/Address_(geography)#China
#3980
#4235

Thanks for changing this, it looks like unit is only used a few times in china.
I have never used a Chinese phone code, so it is nice to hear from someone who knows about it.
Look good :+1:


Add tests for github actions problem matchers

I figured I would setup testing for the problem matchers before I start adding some. As requested in https://github.com/erlef/setup-beam/issues/62#issuecomment-886267969

Oh, you did it for the existing stuff. That's nice!

To avoid waiting for the action to throw due to static analysis or formatting issues, you can run npm run build && npm run format && npm run jslint while you go.

Missed the jslint :sweat_smile:

Seems GitHub is having issues with it's runners. 1 failed (not because of changes, but some internal GitHub error), and 3 are still in queue after 20ish hours.

I'm re-running all the jobs.

Also, given this first set of tests is working (as proven before) would you be Ok to merge this and start a new PR for main, as soon as the actions succeed? This would avoid the need to approve your workflows as a first-time contributor.

All checks have passed 😄

I would be fine with merging this now and opening another PR for adding some more problem matchers

Squash-merging to master, to allow for a further pull request where we avoid the need to constantly keep approving CI runs.


powertoysrun delay

Microsoft PowerToys version
0.57.0
Running as admin

[X] Yes

Area(s) with issue?
PowerToys Run
Steps to reproduce
Since this update, powertoysrun has been delayed a lot
plz check it
✔ Expected Behavior
Since this update, powertoysrun has been delayed a lot
plz check it
❌ Actual Behavior
Since this update, powertoysrun has been delayed a lot
plz check it
can u anwser with korean language?
Other Software

I have the same issue after the upgrade to 0.57. It takes up to 5 seconds for search results to appear (It doesn't matter whether I am searching for an app, folder, file, register key, etc.)

/bugreport

Could you please try disabling the System plugin in PowerToys Run to check if that is the culprit?

Sorry for the late reply. 0.57.2 has fixed the issue for me.
I suspect that it was  #17454 in my case as my OS have plenty of network interfaces.

Looks like it was fixed, then. Thank you!


Sidechains

Currently, a node can choose whether to 'replay' SQL transactions on top of the database engine, and select only those tables that it is interested in. The query history however needs to be stored by all nodes for all tables (nodes could throw away blocks after a certain amount of time has passed, but that would make it impossible for new nodes to download the full blockchain from block 0).
It would be preferable if SQL transactions could be split into 'side chains', where each node would only 'follow' the side chains of its interest (and discard the rest).

A sidechain is an independent block chain with their own numbering and sidechain genesis (which identifies a particular sidechain)
Root chain blocks contain only the hashes of newly mined blocks (if they are accepted). For a miner to determine which sideblocks are acceptable, it only needs to check the last block in the sidechain (is index successive) and maintain state (what is the sidechain difficulty?).
The root chain should contain an incentive for mining a side chain block ('credits'?).

Starting a sidechain would be akin to creating a new database. The root chain may also handle payments and dropping of sidechains (either upon request, or when a certain time has exceeded).
Nodes mining a sidechain block should perhaps be required to 'prove' they also still have all history blocks (perhaps by requiring a deterministically randomly chosen history block to be included in the signature hash?).
Things to figure out:

How to incentivize miners to both mine the root chain as well as the side chains?

Make root blocks only mineable if a miner has provably done N sidechain work (sum of sidechain difficulty * blocks mined since a certain root block)?

Difficulty levels of the side/root chain?
Should there be a single difficulty level for all sidechains, or individual difficulty levels?
Difficulty level for a new sidechain? (genesis requirement)
How to ensure that nodes actually keep the blocks in side chains available for download? Require at least the miners to do so?

So in order to claim a reward in the 'superchain' for work on a sidechain, the miner should simply submit the same block to the superchain again. As this defeats the purpose of having side chains at all, we should find a way to exclude the payload from the block, but still have enough information to validate the block.
This could be done by online including a hash of the payload in the signature (like Bitcoin's merkle root), and then include only that signature in the 'light' block.
Also we'd need to add the genesis hash, so the superchain can distinguish between chains. The superchain also needs to be aware of the difficulty mechanism used in the sidechain. A 'light' block (which would be a superblock transaction, let's call them a 'claim') thus looks like this:

Block version (8 B)
Genesis hash for the chain (32 B)
Previous block hash (32 B)
Block height (8 B)
Timestamp (8 B)
Payload hash (32 B)
Miner public key hash (32 B)
Nonce (8 B)
Signature (based on the above) (32 B)

(Total size is 192 bytes, which means a 1MB superblock can contain ±5k 'claims').


Add ndeksa to OWNERS file

Adding @ndeksa to OWNERS file.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/lgtm
/approve

/verify-owners

/cherrypick release-0.21

/cherrypick release-0.20


Storage Abstraction for Games

It'd be nice to have an API that games could use to access storage, whether that be on a physical device, or local storage in a browser. Two potential use cases for an API like this:

A game can write a high score to a file so it can keep track of it.
A player could import new levels into a game through files.
Abstracting this would make it so that games don't need to add extra logic to determine if it should be saved by the browser or on an actual file system.

I think this is possible in the js implementation on the Sprig as it is provided by kaluma, maybe a web interface is all that is required?

#365 should enable this

I took note of this in this doc and will close this issue as not planned for now.


Consolidate interfaces/scripts used for typespec SDK package generation by each language

As synced with Wes, we would like to define the generation scenarios from user perspective firstly.
This is the gist of the draft.
https://gist.github.com/raych1/4bee5c4eecb61a7d625a8e9cf9202f98

Got first round of sync with redmond team on above gist and aligned on most of the scenarios. Will need more clarification on how does the SDK automation framework and language automation script work together.

Added end to end scenarios document at here

Need further discussion with redmond team on the common scripts interface.

Almost finalized the design.
https://github.com/Azure/azure-rest-api-specs/pull/23875
https://github.com/Azure/azure-rest-api-specs/pull/23866

Design was completed.


Error: 'Network.setBlockedURLs' wasn't found

Updated package from 0.18 to 0.22 (latest), and it looks like Network.addBlockedURL has been replaced with Network.setBlockedURLs in CDP, but on Chrome 58 (latest stable; Windows) its throwing an error:

UnhandledPromiseRejectionWarning: Unhandled promise rejection
Error: 'Network.setBlockedURLs' wasn't found

Any clues?!

Network.setBlockedURLs is still marked as experimental. It works for me on Chrome >= 59.
Can you try one of the dev/beta/canary builds?

Hmm, I'll revert back to 0.18 in that case. Ideally, these npm releases (unless beta or pre-release) shouldn't have non-stable features. It can break working code & builds.

@voidmonk the protocol.json that comes with this module (ant that's used by default) is just an approximation it may be too new or to old with respect to your Chrome version, see the README.

shouldn't have non-stable or incompatible features

This is just an interface, the non-stable features are in Chrome, where everything that's maked as experimental may change at any time,.
It's impossible for me to ship with a protocol version that works for everyone, for this reason there are workarounds (see the link above). Reverting in this case is never a solution. The recommended solution is to manually invoke those methods that don't match the local protocol.json:
client.send('Network.setBlockedURLs', {...});

You can even dynamically fetch the proper protocol version using the remote option but keep in mind that it currently involves a couple of HTTP requests.

i'm 70% sure but i think addBlockedURL was in m58 but not m59, where setBlockedURLs took over.
So right now 58 needs a fallback approach.
but its possible to test with setBlockedURLs and see if it fails and then use the old one.

I understand your views guys, but for an end-user all it boils down to is that the stable release of an interface lib doesn't work with the stable release of its upstream software.
@paulirish Network.addBlockedURL works in m58, but the latest CDP protocol.json doesn't have it anymore, so it can't be referenced via latest CRI. I still think Network.addBlockedURL shouldn't have been removed from protocol.json by the Chrome team, until it's removed from Chrome stable.
Maybe it needs some thought on how to mitigate such breaking issues in the future, specially as more people will start to use CRI and Chrome headless.

@voidmonk

but for an end-user all it boils down to is that the stable release of an interface lib doesn't work with the stable release of its upstream software.

This is not accurate, what you're trying to use is marked as experimental, plus it's on the tot branch: "The latest (tip-of-tree) protocol changes frequently and may break at any time." And this has nothing to do with the stable release of Chrome or of this library.
I cannot use the protocol.json of the stable Chrome as many developers use the beta/unstable version. But that's a choice really, there is not a right answer here, for this reason, as I said, one can bypass the local version of protocol.json in many ways.

client.send('Network.setBlockedURLs', {...}); throws the same exception

Yeah, sorry, misread your error, of course the error it's the same. Anyway this time it has nothing to do with protocol.json, in fact my answer was about how to use methods and events ignoring the local protocol.json.

but the latest protocol.json has a reference to it

I think you're misunderstanding this point, when you use client.send() you're bypassing the local protocol.json.

In short, you're using Chrome 58, you need to use Network.setBlockedURLs but it's not supported by your version of Chrome, so you need to use Network.addBlockedURL, but the local version of protocol.json doesn't have it, so you either invoke clien.send('Network.addBlockedURL') or use the remote option.


[Discussion] Making sense of the data

We have the largest dataset of the flood. We should be able analyse it to make a find information like
What kind of needs are more for a district
Where are the most number of rescue requests coming from
Which district have volunteers registered with medical expertise
etc...

Wasn't there a CSV export option being developed?.

you can find a subset on /data

I used the data at https://keralarescue.in/data/ to analyze the data.
Things i tried to answer:

Where are most requests coming from?

What kinds of needs are most per district

Volunteer expertise per district.
I'm looking for the volunteer data. If you could point me to it, I could look into it as well.

End Goal: to convert these analysis into a live dashboard

This is the rescue request subset

How are we planning on filtering out stale data?

alright, could you point me to the volunteer details if available?
It would be useful to proportionately map volunteers counts to requests or urge for more volunteers in districts which lack volunteers.

Im filtering Requests with "New" status.
As of now, I see only "New" Status in the data.

There's a problem, and I'm not sure where to write about it. As of right now, there are 2746 requests for help on this: https://keralarescue.in/data/
It's obvious that they are of varying urgency. I'm currently looking through random submissions, and occasionally I find something like this:

We need a way to determine the urgency of these requests.

We could try looking for keywords like 'Urgent', 'Pregnant', 'Trapped', 'Infant' et cetera, and use those to determine urgency.
Another idea is to crowdsource urgency. Let's have people vote on the apparent urgency of requests.

This way, we could help rescuers find the people with urgent needs first.

One way to do Idea 1  automatically would be tokenize the free text strings like "detailRescue" to search for keywords like "Urgent", "Pregnant", "Baby","Elderly", "Medical help", etc and give it a higher priority based on the count of people in those strings.

Alternatively, If we have people available to sift through the requests and vote/flag them that would be fine for now. The flag should be clearly visible to the rescue team next to the requests on the site.

Hourly breakdown of requests coming in from different districts gives an idea of where situation got worse first or is getting worse.

Adding the code and the csv files for "Urgent", "Pregnant", "Baby","Elderly","medic".
separated-based-on-urgent-pregnant-etc.zip

Could see  duplicate  in the above csv .  Is   the duplicate  requests  handled manually  by  the rescue team ?

@anandkp92 - I had a look at your notebook. It works well to give a filtered list based on category.However count of people in a single msg is also an important information that I feel determines urgency.
(Eg - A hospital near Aluva with 26 Bed ridden  patients, 15 kids, and 20 nuns)
Idea: We can flag urgency based on category(Adults, Kids, Elderly, etc) and Counts of people.
Parsing the detailrescue for counts is proving cumbersome. It would help if we have fields for how many Adults, Kids, Elderly, Pregnant, etc when filling in request field?

I just realised that the values in column 'latlng_accuracy' vary in their format. It can contain, for example:

A float or integer and the word "Meters" (e.g.,  2400 Meters or ```98.4000015258789 Meters````
The word "accurate"
A new coordinate with parentheses (e.g., (10.1099392,76.3286127))
A Google Maps URL

In the last two cases, should this field be used for the position rather than the 'latlng' field?
How is the data collected?

@criscod The discrepancies in data is caused by making the GPS and Accuracy Field editable for a short time. (Users could enter almost anything as mentioned in #225 . This was fixed later and a PlacePicker is being implemented.

Great to hear that. Thanks for the info :)

It is possible to query Wikidata and visualize in a map types of Points of Interest around the coordinates in the rescue requests. See the map I generated with this query as an example:
    SERVICE wikibase:around {
      ?place wdt:P625 ?location .
      bd:serviceParam wikibase:center "Point(76.3230197 10.0021295)"^^geo:wktLiteral .
      bd:serviceParam wikibase:radius "5" .
      bd:serviceParam wikibase:distance ?distance .
    }
    ?place wdt:P31 ?type .
    SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". ?type rdfs:label ?layer }
} ORDER BY ?distance LIMIT 100

(Query executed at: https://query.wikidata.org/).
Would this be of any help, if we create map visualizations that show e.g., schools, malls, metro stations to concentrate any help action around these places?

@kannankumar I agree, I've raised an issue to have a field to input approx number of people at location. More than urgency, it might help planning the evacuation

Hi all, I just came across this discussion. If it helps, the number of days they have been stuck on a rooftop would be an important factor to determine urgency. if we use the notebook code given by @anandkp92 to search for "days" in the description field, we end up with 2 kinds of entries.
a. People stuck in a place since N days. (This group would be close to running out of provisions if any)
b. N day old baby present in the group.
Both these scenarios would push up the urgency.

Maybe clustering with a decision tree will help to better serve them.
Step 1. Clustering people based on number of days (N1Cluster)
Step 2.  Group Clusters(N1Cluster) which are nearby (geofencing with radius x km) will speed up the process
Decision Tree -> running which clusters has to be given high prioritises by (medic,food, airlift) so that each further nodes we can serve critical; mean while giving others supplies (food& water) there by prioritises are always higher for who actual is in high alert critical.

Does this requirement ( making sense of data) need to be on the same website/platform(keralarescue.in itself) or can it  be on a different platform? I mean it will be good to have everything on the same platform but then it might be easier to export this data on other tools and generate whatever visualizations we need..

@binithb I don't think it needs to be on the same platform. The data analysis can be carried out on a different machine/server/platform, and after processing the data, the results can be presented on the website.

@binithb I think a closely developed network of tools is a good idea for these kind of projects.
I've created a website that's trying to categorize requests from keralarescue.in on the basis of their urgency. Creating a separate project is a good idea, since you can move faster and roll out new features quickly.

That's a quick prototype of what can by done using Tableau public. It can also be embedded on web pages. I am assuming data privacy is not a concern right now. If this is good enough and there are no other concerns we can discuss how to get this data automatically. This prototype is created from data in a static json file that I downloaded from /data

@binithb , would it not be the case to ask the rescue teams to mark the field as done which will help us to filter better  since there are many districts where people are stuck for multiple days , so that approach of filtering on the present day could be a problem

@sarathsasidharan yes. There's already a field called status on the data at keralaresuce.in/data. It doesn't appear as if it's being used:

Most still say 'new'.

Would it be possible to automatically update this flag to completed/processing as soon as it picked up by the authority , so in this case we dont depend on them to change this to completed , so on click by agent -->change the flag to processing

Latest summary from the sample , but with a few blanks for the districts for newly introduced status types

Shall we try work on https://processkeralarescue.herokuapp.com/
I have created a repo in https://github.com/ssat335/processkeralarescue

#617

@ssat335  -The plotly app looks good as a quick interface for officials to look at.
What are the other things we can to the site?
If we could group the data based on city instead of just District level that would be give a more granular info for the relief materials to reach correct locations.
eg - In Allapuzha district, how much request is coming from Chengganur and Thiruvalla, etc.
Will it be possible to do some form of preprocessing on the latlng or location details before plotting using plotly??

@lunaroyster - I liked the quick Urgent request filtering app you created.
"I've created a website that's trying to categorize requests from keralarescue.in on the basis of their urgency. "
How are you categorizing urgency?? I'm asking because keralafights.com is trying to crowdsource urgent request categorization by volunteers marking a request as urgent or not. If your approach is automated, that might provide a first level filtering to volunteers.

@kannakumar yes, prepro essing of the lats and lon can be possible. Please see the repo for some existing issues and we may start from there.

keralafights.com is trying to crowdsource urgent request categorization by volunteers marking a request as urgent or not

That's exactly what I've done. I'm providing several levels of urgency. The same requests are shown to several people, and I use wilson score (takes into account the number of votes) to determine urgent requests.
I'm working on categorizing new requests as soon as they arrive. I think it'll make sense for keralafights.com to integrate the crowdsourcing tool at https://kerala-crowdsource.itsarnavb.me, since we've already got ~11K datapoints.
I'm not sure how effective automated approaches are. I think people have tried NLP, but the data is pretty noisy.

I'd love to get in touch with the keralafights.com folks. Reach me at https://twitter.com/itsarnavb

@lunaroyster Yes you are right, the free text fields lead to very noisy data which is proving difficult to clean using NLP scripts. Manual intervention is required to sift through the 11K datapoints.
Wilson score is credible if there are more number of votes.
However the integration details can only be clarified by others. Since you've already got a site up and running with Wilson score for urgency ranking,  why not post it on slack and get people to discuss integration options.

Im not sure who is working on keralafights.com but you could check with them here:
"for any feedback on changes / data / api please mail your feedback to<EMAIL_ADDRESS>

Yep, I'm talking to the keralafights folks right now.
I want to integrate with the keralarescue.in database. I've already got an endpoint with the urgency results here: https://us-central1-keralarescue-fef8e.cloudfunctions.net/getUrgencies
Also, the /data endpoint was taken down. I know it was a heavy load, and I was using excessive caching on my end to not burden the keralarescue servers.
I really need that endpoint for the crowdsourcing application.

I made some visualizations hosted at http://<IP_ADDRESS>:8000/stats/requests and http://<IP_ADDRESS>:8000/stats/volunteers
sample screenshot -

Some of the charts are interactive.
I havent raised a pull request for this yet. Please comment if this is inline with what we are looking for.
(The data is from an sqldump I received this morning)

@kannankumar are you connecting to a live data source?

I also saw some excel based data being shared around. If that's too much of a hassle that kind of work also can be done using this (read only, not for editing) provided the data is in a database/dump

Guys, i have been able to extract the data from sql reports and have created a visual, you all can access it from Tableau public.
Since its an extract a lot of time is spent on cleaning the data, if you can let me know, how i can connect to a live dashboard, we can try to make a live connection.
I have set few filters on the dashboard, based on date, medical help required and location.
The phone number, the latitude and longitude columns requires some cleaning, because its mixed with text data, so tableau is unable to read it as a dimension.
https://public.tableau.com/profile/jithesh4829#!/vizhome/MissionKeralaRescue/MissionKeralaRescue?publish=yes
Let me know, if i can be of any help.
All the best, JCK

@binithb No I'm not connecting to the live data source. The keralarescue.in/data endpoint is Out of Bounds , Limited at 300 records and only used for /map.
I got a database dump from @lunaroyster yesterday . They are working on crowdsourced urgency mapping at (https://kerala-crowdsource.itsarnavb.me)
It would be awesome if we keep pushing DB dumps to Json every few hours for data guys to explore and derive insights.

****Hourly Requests per District (as of 5pm, 19th Aug) PS-Open image in new tab for clear view****

we should be doing that hourly in both csv and json
And keep it on right top corner of this page.
https://keralarescue.in/requests/?district=

@IkbenJee Nice dashboard. Once there is decision on whether or not we have live access to DB we can work together. If the decision is to only work based on offline dumps I can setup another postgres DB and share you access.
The t/f you are referring to must be true/false values(boolean). They should be readily populated with correct type if you are connecting to the live table. It must be because you are working with text data that you are seeing these t/f values
There is also the question about Tableau licensing. I think once we have confirmation that this approach is useful perhaps we can request for a charity/non profit license from Tableau foundation.

@binithlighting ! Yes, If I am able to connect to the data dump also, it would be handy.
The dashobard is ofany use, if the information is UPTO date and have a normal refresh schedule with the latest status. Otherwise no point in working on something like this.
Question: How are we going to roll this out a wide coummunity? I know we can publish it to Tableau and people can access this using a url.
I hope the idea is not to create a fancy dashboard, but a dashboard to get all information as possible, we can also provide direct links on the dashboard to emergencies and other sources.
Its easy to develop any viz, if we have a clean data.
I can also reach out to wider tableua community, if we need any help! or create a challenge to deveop dashboard like they have teh " # DEAR DATA TWO".
All the best!

@IkbenJee  I made the mistake of last comment using my official account (@binithlighting ). Please use the handle @binithb if you need to contact me

Work done so far in visualization.docx
Please finalize the Tools and Graphics for different metrics and Who is the owner for each metrics/graphics


getrector.com is down

just I case you did not yet already working on it:

Cache clear route miss :)
Thanks 👍
We have email notifications and I was deploying


Sign the assembly

Please sign the assembly
Originally posted: 2011-11-14T16:47:06

Yes, please sign your assemblies with a strong key. Otherwise they're useless(especially NuGet) when working with a project that has strong key signed assemblies.
Originally posted: 2012-01-12T14:29:08

Fixed for release 1.7.2
Originally posted: 2012-01-21T00:41:27


Neo-Tree doesn't work in an empty folder

If I am currently in an empty directory and try to open Neo-Tree with :Neotree toggle I get the following error:
[neo-tree.nvim] [ERROR 09:27:18] ...e/pack/packer/start/neo-tree.nvim/lua/neo-tree/utils.lua:113: debounce  filesystem_navigate  e
rror:  ...ree.nvim/lua/neo-tree/sources/filesystem/lib/fs_scan.lua:113: bad argument #1 to 'ipairs' (table expected, got nil)

Fixed in 2.12


Do not reconcile extensions of failed shoot clusters

What this PR does / why we need it:
Extensions CRDs for Shoots with lastOperation.Failed should not be reconciled.
Introduces a check (in addition to the controller-runtime predicate) that checks the Shoot inlined in the Cluster CRD for last.operation == failed. If a Shoot is failed, stops the reconcile.
Also see this issue.
Which issue(s) this PR fixes:
Fixes #
Special notes for your reviewer:
Release note:

Fixes a bug in the extension library of all extension resources that lead to not stopping the reconciliation of extension resources when the Shoot is in 'failed' state (Shoot.Status.lastOperation.state = Failed).

/kind/bug

/status/author-action

/lgtm

/reviewed/do-not-merge

As discussed, let's merge after the v1.4.0 release.

Could you please rebase to get this PR merged?
/needs/rebase


check for dask arrays in plotting functions

This addresses https://github.com/NCAR/ADF/issues/112 (I think).
This changes plotting_functions.py to try to import dask and then check whether a few arrays are dask.Array instances. This is needed because the color normalization in the zonal mean plots uses the min/max values of the field, which comes from pressure level interpolation that potentially produces a dask array.
I think the fix is just to see if the fields are dask arrays, and if so, call their compute method.
I only did minor testing of this fix. It would be great if @bitterbark could check if this actually addresses the issue correctly.

Unfortunately this doesn't solve the problem I'm running into.
(BTW this isn't important to me at all, just happened to be the configuration I was testing in--happy to just leave off zonal plots and/or Q to make progress on something else, or keep working on this because we'll need it fixed eventually).
Meanwhile, I've been playing around with the code rather ineffectively given my lack of understanding. It seems to get past the error from vmin if I add an intermediate step to use the np.min function to set it.

vmin = [np.min(diff),-1*np.max(diff)]
vmin = np.min(vmin)
diffnorm = normfunc(vmin=vmin, vcenter=0.0, vmax=np.max(diff))

Print statements imply this changes vmin from being a dask.array, although adding the isinstance logic doesn't catch it:
CODE

vmin = [np.min(diff),-1*np.max(diff)]
print('vmin 1',vmin)
if has_dask and isinstance(vmin, da.Array):
print(' vmin1 is dask')
else:
print('vmin1 is NOT dask')
vmin = np.min(vmin)
print('vmin 2',vmin)
print(' vmin item',vmin.item)

OUTPUT

vmin 1 [<xarray.DataArray 'Q' ()>
dask.array<_nanmin_skip-aggregate, shape=(), dtype=float64, chunksize=(), chunktype=numpy.ndarray>
Attributes:
units:    none, <xarray.DataArray 'Q' ()>
dask.array<mul, shape=(), dtype=float64, chunksize=(), chunktype=numpy.ndarray>
Attributes:
units:    none]
vmin1 is NOT dask
vmin 2 -0.0012450343697265782
vmin item <built-in method item of numpy.float64 object at 0x7feb96338810>

I tried playing around with the type giving in isinstance, since it is imported as da but used as da.array but the print statement says dask.array... but I don't know what I'm doing well enough to find it yet.
Even worse, getting past the vmin error just gets it to the same complaint about vmax, which doesn't make sense according to my (lack of) understanding because np.max is used to directly set vmax. (This was why I tried it with vmin!).

File "/glade/u/home/bundy/cam/diag/ADF_top/ADF/lib/plotting_functions.py", line 591, in plot_zonal_mean_and_save
diffnorm = normfunc(vmin=vmin, vcenter=0.0, vmax=np.max(diff))
File "/glade/u/apps/opt/conda/envs/npl/lib/python3.7/site-packages/matplotlib/colors.py", line 1324, in init
super().init(vmin=vmin, vmax=vmax)
File "/glade/u/apps/opt/conda/envs/npl/lib/python3.7/site-packages/matplotlib/colors.py", line 1136, in init
self._vmax = _sanitize_extrema(vmax)
File "/glade/u/apps/opt/conda/envs/npl/lib/python3.7/site-packages/matplotlib/colors.py", line 100, in _sanitize_extrema
ret = ex.item()

Taking vmax out for a separate step is redundant and also doesn't change it

vmax = np.max(diff)
print('vmax 1',vmax)
vmax = np.max(vmax)
print('vmax 2',vmax)
diffnorm = normfunc(vmin=vmin, vcenter=0.0, vmax=vmax)
print('vmax item',vmax.item)

vmax 1 <xarray.DataArray 'Q' ()>
dask.array<_nanmax_skip-aggregate, shape=(), dtype=float64, chunksize=(), chunktype=numpy.ndarray>
Attributes:
units:    none
vmax 2 <xarray.DataArray 'Q' ()>
dask.array<_nanmax_skip-aggregate, shape=(), dtype=float64, chunksize=(), chunktype=numpy.ndarray>
Attributes:
units:    none
vmax item <bound method _values_method_wrapper..func of <xarray.DataArray 'Q' ()>
dask.array<_nanmax_skip-aggregate, shape=(), dtype=float64, chunksize=(), chunktype=numpy.ndarray>

So, not very useful so far, happy to try other stuff if someone sees it clearly or has an idea.

Oh, that's interesting, @bitterbark . Thanks for investigating. I'll try to reproduce the issue exactly, and then hopefully I can pin down what is going on. I might ping you for your yaml file if I can't get the same error.

@bitterbark & @nusbaume -- I just went back and figured it out.
The problem was what I thought: geocat's interpolation was returning a dask object, which does not play nice with numpy's functions during that color normalization step.
So the fix is to check whether there is a compute method available on the interpolated quantity (which there will be) and then run it to force the computation when it hasn't been done yet. This happens in the lev_to_plev function. A consequence is that this appears to speed up the computation (slightly).
As I was correcting that, I also noticed that the line that was actually causing the problem could (a) be simplified, and (b) could be deleted. So I deleted it. The norm that gets used is calculated just above and is called normdiff rather than diffnorm.
Since the check for dask was not effective, I also removed that has_dask stuff from everywhere I put it in. I did include another check for compute() in wgt_rmse. I don't think this is needed, but it should not do any harm. I updated my branch and pushed it, and it looks like it is ready in this PR.

Thanks!

@bitterbark I was able to reproduce your error and found that @brianpm's mods fix the issue (after I made a small change to the python syntax).  However, it would be good for you to check that it fixes the issue on your end as well.  Can you download the fixed version by doing the following:
git clone https://github.com/brianpm/ADF.git brianpm_ADF
cd brianpm_ADF
git checkout check_for_dask_arrays

And then re-run the ADF with the conda npl environment using that ADF version?  If it works for you too then this PR will be good to go.  Thanks!

It worked for me! Thanks for the detailed instructions and sorry for the
delay!
On Wed, Mar 2, 2022 at 2:47 PM Brian Medeiros @.***>
wrote:

@.**** commented on this pull request.
In lib/plotting_functions.py
https://github.com/NCAR/ADF/pull/118#discussion_r818130881:

@@ -80,7 +81,6 @@ def global_average(fld, wgt, verbose=False):
break
fld2 = np.ma.masked_invalid(fld)
if verbose:

   print("(global_average)-- fraction input missing: {}".format(fraction_nan(fld)))

Yes, because fraction_nan did not seem to be defined. Maybe I missed it?
—
Reply to this email directly, view it on GitHub
https://github.com/NCAR/ADF/pull/118#discussion_r818130881, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AHLJVQGKIM5TG7PYPCXEE6TU57OXPANCNFSM5PC4YIQQ
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you were mentioned.Message ID:
@.***>


[software/mt-editor] Interface to drawing machine

Create an interface for the drawing machine in the modular things editor. Here is some skeleton for an interface which isn't hooked up to any machine.
Copy and paste the code into the editor, hit run, and go to the "view" tab. Editor: https://modular-things.github.io/modular-things/

Lots more to do but this issue is too broad so closing for now.


[Statistics] Reduce DB size by removing unused data - Operation dimension

Is this really still needed? The v3 client does not emit this data using the NuGet-Operation HTTP header. See https://github.com/NuGet/Home/issues/3708
Check this example: https://www.nuget.org/stats/packages/Newtonsoft.Json?groupby=Operation
Out of 4.88M package downloads in the last 6 weeks, the operation is unknown for 4.53M of them.
We could reconsider storing this data when revisiting the design of the NuGet statistics feature, and if the v3 protocol somehow allows collecting this data.

Note
Even when we no longer import these datapoints into the stats database, we still have all the data in the w3c-logs we upload to blob storage.

Impact on database
A database size reduction could be achieved totalling 2,585.90 MB (or 2.53 GB)!
Removing these indices will also improve performance of insert/delete operations against the [dbo].[Fact_Download] and [dbo].[Fact_Dist_Download] tables.
In addition, we generate less churn on the data by avoiding clean-up operations.
The following database objects would become obsolete:

Table [dbo].[Dimension_Operation] (size = 0.14 MB)
Table column [dbo].[Fact_Download].[Dimension_Operation_Id] (size = 2,585.75 MB)
Stored procedure [dbo].[EnsureOperationDimensionsExist]
Non-clustered index [dbo].[Dimension_Operation].[Dimension_Operation_NCI_Operation] (size = 16 KB)

The following stored procedure would be modified:

[dbo].[DownloadReportRecentPopularityDetailByPackage] would no longer need to join with the [dbo].[Dimension_Operation] table.

The following database objects would decrease in size:

Non-clustered index [dbo].[Fact_Download].[Fact_Download_NCI_Package_Id] would no longer need to include the Dimension_Operation_Id column.

Impact on jobs
The Stats.CreateAzureCdnWarehouseReports job would be modified to no longer process the Operation dimension data, and likely gain faster throughput (less data, less table-joins, smaller blobs to upload to storage).
The Stats.ImportAzureCdnStatistics job would no longer need to store the Operation dimension data, which would improve import speed, throughput, and overall performance of the job.
We could:

avoid the need to check whether an Operation already exists, and if not, create it during import;
avoid the need to retain already imported Operation dimensions into in-memory cache;
reduce complexity of import by no more linking Operation dimension identifiers to the download facts.

Impact on gallery

Remove the Operation pivot from the UI
Stats-report blobs would no longer include operation dimension data (and thus be smaller + faster to consume)

We decided to go in a different direction to reduce DB size. Will reopen if needed.

@skofman1 if we are to remove operation from UI, we should maybe reconsider this issue as well? https://github.com/NuGet/NuGetGallery/issues/3921

@xavierdecoster , there are to issues with this:

Removing operation data will completely break rankings: https://github.com/NuGet/NuGetGallery/issues/3778
There is no reason to do this work, since after we reduce the raw data in the DB to 43 days from 90 days, the DB will be small enough to get us to the stats redesign work.


Update documentation for PEP 691

Describe the bug
The documentation claims the simple API is legacy (c.f. https://warehouse.pypa.io/api-reference/legacy.html)
Expected behavior
The documentation matches the implementation, which no longer considers the simple API as legacy (c.f. https://github.com/pypi/warehouse/pull/11676). Additionally, it should document the PEP 691 implementation, rather than pushing people to use the (non-standard?) legacy JSON API.

To Reproduce
Load the documentation.
My Platform
N/A

Additional context

#16541 should address this: we now consistently refer to the 503/691 APIs as the "Index APIs" or "simple APIs."


Expose the name of the service binding to the bind role

Feature: Expose _apb_service_binding_id to the bind role
What happened:
Currently the provision role has access to the ID of the service instance (_apb_service_instance_id). This is useful in cases where we need to label the service instance and make it discoverable.
Something similar would be useful for the bind role. Bind creates a serviceBinding instance with a non-deterministic name. In order to trigger unbind one has to delete this service binding object. This can be done via the UI.
But suppose you want to trigger unbind externally. There is currently no way to know which service binding to delete.
Proposed solution: pass in the ID/name of the service binding to the bind role as (_apb_service_binding_id / _apb_service_binding_name).
Example use case: bind creates a config map that represents an external resource. When this config map is deleted we also want to delete the binding (trigger unbind). It would be good to have a way to link back from the config map to its respective service binding.
Hope this makes sense.
ping @maleck13

This seems a reasonable things to me and simple to implement. @jmrodri @eriknelson are you ok with the binding id being passed to bind action as part of the params?
@pb82  Assuming this broker change is ok with the team, this could be a good issue for you to contribute a PR for. The areas that would need to change are here
https://github.com/openshift/ansible-service-broker/blob/master/pkg/broker/broker.go#L850
to add a key to the params map for the bindinguuid
And also add new constant for the param itself
https://github.com/openshift/ansible-service-broker/blob/master/pkg/broker/types.go#L34

@maleck13 Yes, i'm happy to send a pull request if the ASB team is ok with the proposed solution.

👍 I think this makes sense and a PR would be awesome!

@maleck13 @pb82 yes, this is okay. I'm honestly surprised we don't already do this :)

closed with #883


Conflicting Keyboard Shortcut in Colorize Mode

Describe the bug
In colorize mode, the buttons to set the brush to 8 pixels is the same as the button for palette 8. This results in the keyboard shortcut always changing the tool to palette 8. There is no working keyboard shortcut to select palette 8
To Reproduce
Steps to reproduce the behavior:

Go to colorize moder
Press 8

Expected behavior
There should be different keyboard shortcuts for both. This will result in some kind of awkward behavior because currently the shortcuts are all set to numbers and there aren’t enough numbers for all the tools
My suggestion is setting the tool shortcuts to ZXC, etc because they are easy to hit. Let the numbers attach to numbered items like the numbered palettes
Screenshots

Platform (please complete the following information):

OS: Mac
3.0.1 version

Additional context
The other modes should have their shortcuts update to be consistent with whatever change is made here

Perhaps the palettes should be changed with Ctrl+numbers?

Perhaps the palettes should be changed with Ctrl+numbers?

I want them to keep the one button shortcuts. It makes working a lot faster


g3log is much faster with G3_DYNAMIC_LOGGING

Hi, I' measuring performance of different logging libraries with null-sink (to exclude IO overhead). While doing that, I found that g3log library is much faster when built with -DUSE_DYNAMIC_LOGGING_LEVELS:bool=ON.
Results without G3_DYNAMIC_LOGGING:

Easylogging++
g3log
glog
spdlog
zf_log

Call site size: string
304 B
384 B
160 B
352 B
48 B

Call site size: 3 integers
856 B
392 B
320 B
312 B
72 B

Executable size: 1 module
208.84 KB
178.94 KB
137.37 KB
133.69 KB
18.33 KB

Module compile time
7.066 sec
0.914 sec
0.632 sec
5.125 sec
0.029 sec

Executable link time
0.034 sec
0.043 sec
0.045 sec
0.039 sec
0.029 sec

Speed: 1 threads, string
410,725
401,891
402,970
2,040,505
5,353,777

Speed: 1 threads, 3 integers
315,130
504,637
332,237
1,327,384
3,139,682

Speed: 1 threads, fmti-off
3,336,611
225,285
313,838
66,931,871
501,996,937

Speed: 4 threads, string
127,895
137,740
196,734
196,566
9,028,591

Speed: 4 threads, 3 integers
110,711
134,843
203,563
181,888
4,787,315

Speed: 4 threads, fmti-off
231,895
128,444
232,791
108,821,120
1,122,918,236

Results with G3_DYNAMIC_LOGGING:

Easylogging++
g3log
glog
spdlog
zf_log

Call site size: string
304 B
360 B
160 B
352 B
48 B

Call site size: 3 integers
856 B
384 B
320 B
312 B
72 B

Executable size: 1 module
208.84 KB
183.73 KB
137.37 KB
133.69 KB
18.33 KB

Module compile time
8.867 sec
1.330 sec
0.736 sec
5.965 sec
0.035 sec

Executable link time
0.038 sec
0.039 sec
0.037 sec
0.043 sec
0.034 sec

Speed: 1 threads, string
390,720
1,186,287
391,711
1,771,734
4,361,606

Speed: 1 threads, 3 integers
315,744
1,050,792
308,528
1,227,801
2,837,152

Speed: 1 threads, fmti-off
4,273,666
59,134,081
323,128
44,458,644
463,829,585

Speed: 4 threads, string
109,407
1,708,094
197,924
229,861
7,640,825

Speed: 4 threads, 3 integers
112,646
1,182,649
210,790
253,685
3,968,987

Speed: 4 threads, fmti-off
212,187
77,160,921
223,495
95,371,758
783,723,842

Am I doing something wrong? I would expect it to be faster without that option. Why it's not a default then? Source code for my tests could be found here.

if you define
#ifdef TEST_LOG_OFF
		#define _XLOG_INIT_LEVEL() \
			g3::only_change_at_initialization::setLogLevel(INFO, false)

then extra work is not done.
also I noticed this in own project

Thanks for attention to this issue, ctapmex. The line you referring to is specifically there to test performance of a case when particular log level was turned off.
However, I observed increased performance in both cases - when INFO level is ON and OFF.
From my tables:
Speed: 1 threads, string: 401,891 (no G3_DYNAMIC_LOGGING)
Speed: 1 threads, string: 1,186,287 (G3_DYNAMIC_LOGGING)
Speed: 1 threads, fmti-off: 225,285 (no G3_DYNAMIC_LOGGING)
Speed: 1 threads, fmti-off: 59,134,081 (G3_DYNAMIC_LOGGING)
Note: "fmti-off" means that INFO log level was turned off.

Hi @wonder-mice
I'm just speculating here but...
It might be an artifact of your hardware platform. With all threads on the same CPU socket the atomic communication is cheap but will add enough let-off to minimize the mutex overhead on the shared_queue
On another system, say with 2 sockets and the threads are on both sockets the atomic synchronized communication will be much more expensive

Ok, nothing better to do than close this one then.


Fix #183 Easier way to configure the direct install URL on App Directory

See #183 for the context and details.
Category (place an x in each of the [ ])

[x] slack_bolt.App and/or its core components
[x] slack_bolt.async_app.AsyncApp and/or its core components
[ ] Adapters in slack_bolt.adapter
[ ] Document pages under /docs
[ ] Others

Requirements (place an x in each [ ])
Please read the Contributing guidelines and Code of Conduct before creating this issue or pull request. By submitting, you are agreeing to those rules.

[x] I've read and understood the Contributing Guidelines and have done my best effort to follow them.
[x] I've read and agree to the Code of Conduct.
[x] I've run ./scripts/install_all_and_run_tests.sh after making the changes.

I will rerun the build after merging #187

I will rerun the build after merging #187

To reviewers, please let me know if you see something unclear for reviewing this (checking #183 should be helpful for learning the context and the reason behind this change). Considering the schedule for next minor version release, I would like to merge this change by the end of this week in my timezone.

To reviewers, please let me know if you see something unclear for reviewing this (checking #183 should be helpful for learning the context and the reason behind this change). Considering the schedule for next minor version release, I would like to merge this change by the end of this week in my timezone.


Search businesses by address or keyword

Issue Type

Feature request

Current Behavior

The user must choose a location on the map by clicking on the exact spot.
Expected Behavior

The user should be able to look for businesses by providing keywords, or a full address.

GitMate.io thinks a possibly related issue is https://github.com/request-yo-racks/web/issues/80 (Redesign the map and address components).

JS Place Selector via Google Maps


Remove jest (unused)

Jest is no longer in use.
The jest dependencies cause peer dependency warnings during install.
This PR just removes all references to jest.

Thanks for the quick merge!
Expect a few more cleanup PRs as I get used to the code base. Then hoping to improve WPT coverage.

I've been thinking about how to get a compatibility table together for WPT... it also might be nice for those maintaining this module for me to get into the current code for our test harness and shift it about to clean it up.. is a little messy right now for sure, it just needed to do the thing! Is not the intended target for WPT so we're being hacky either way.. but thats okay.


Usage Message

When a command is executed such as ban or kick, instead of the bot giving utter silence, maybe replace it with an embed that tells the user how to execute the command. Such as ?ban <user> [reason] where anything in <> is required and anything with-in [ ] is optional. This is ofcourse for users with the correct permission.

You see the problem with this is that some commands actually do provide feedback when you pass no parameters, if you've ever bothered to look at the source.


Volume Light switch flashes off

I have added the plugin Denon-heos bridge to HomeKit.  In the config, I have a volume slider added to the denon receiver.  I also have a Marrantz connected.  For each, I have this lightbulb.  The lightbulb says "off" when really the volume is on and as I look at it in homebridge under Accessories, it goes off and on.  Does anyone know how to fix this?  I've tried uninstalling and reinstalling many times.  Same thing.

@psantia01 do you happen to know if @Martvvliet is still active on here? Been trying to reach him about a potential bug with Homebridge/HomeKit. Thanks!