Feature: Adding source line numbers to nodes

Thanks for the great library. We've been using it to parse Markdown files that we use to configure our infrastructure.
What I need for error reporting is line numbers and I've written een utility method to figure them out for a node. Would it make sense to add this functionality to nodes themselves?
See code below:
    static int getLineNumber(Node node) {
        BasedSequence preText = node.getChars().baseSubSequence(0, node.getStartOffset());
        if (preText.isEmpty()) return 1;
        int lineNumber = 1;
        int nextLineEnd = preText.endOfLineAnyEOL(0);
        while (nextLineEnd < preText.length()) {
            lineNumber++;
            nextLineEnd = preText.endOfLineAnyEOL(nextLineEnd + 1);
        }
        return preText.lastChar() == '\n' ? lineNumber : lineNumber + 1;
    }

@wouterd, good idea.
I added the following line number API, which gives you the above but by using available internal line structures, so it steps through the line segment array list instead of scanning the text again. You need to add the parser option to track document lines. I did not want to add this storage overhead by default for those that don't need it.

Add: Parser.TRACK_DOCUMENT_LINES default false. When true document lines are tracked in
the document's lineSegments list and offset to line method can be used to get the 0-based
line number for the given offset. When false these functions return 0.

Add: line number API functions to Node and Document, setParser.TRACK_DOCUMENT_LINES to
true to have these functions return other than 0.

Node.getLineNumber() and Node.getStartLineNumber() returns 0-based line number for
node's start offset.

Node.getEndLineNumber() returns 0-based line number for node's end offset - 1.

Document.getLineCount() returns number of lines in the document

Document.getLineNumber(int offset) returns 0-based line number for the given offset or
Document.getLineCount() if offset is outside the document text range.

I will be making a release shortly

@wouterd, version 0.22.14 released. repo updated, maven update in progress.

Thanks for the quick response, it works like a charm and all my tests still pass. 👍
Did you go for 0-based for a reason? I'm +1'ing that answer everywhere now, because that's the line numbers people see in their text editors.

@wouterd, it is 0-based to keep with the Java index convention, but other than that no other reason. I will probably expose the document lines array through the API, then the line number will be an index into this array.

Ah, that makes sense then. You could expose both LineIndex and LineNumber, but that might be confusing as well. hmm. :)

@wouterd, just realized that the lines are already part of the API for Document from its ContentBlock inheritance.
You can use getLineChars(int lineNumber) returns the char sequence for the 0-based line number.

@wouterd, more thought about the current implementation led me to realize that it is best to allow Document.getLineNumber(int offset) to return line number when  Parser.TRACK_DOCUMENT_LINES is false. In this case it is less efficient because it counts EOL in document char  sequence, every time but when line number is needed for error reporting, this works without incurring storage   overhead of storing individual line character sequences.
I made changes for the next release to fall back to your code adjusted for 0-based line number. You will be able to leave Parser.TRACK_DOCUMENT_LINES set to its default value and still get the line number for the node.

Repo updated. Maven updated. Now you don't need to enable line tracking if you only need it for error reporting and don't want to incur the storage overhead for every line in every document.


Support node-like pre-compile

Codecov Report

Merging #58 (a8349ce) into master (a77d102) will not change coverage.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##            master       #58    +/-   ##
==========================================
  Coverage   100.00%   100.00%
==========================================
  Files           67        69     +2
  Lines         1528      1640   +112
  Branches       341       362    +21
==========================================
+ Hits          1528      1640   +112

Flag
Coverage Δ

root
100.00% <100.00%> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

packages/cli/src/launches/jest.ts
100.00% <ø> (ø)

packages/cli/src/utils/apply-jest-extra-options.ts
100.00% <ø> (ø)

packages/cli/src/utils/env-get-set.ts
100.00% <ø> (ø)

packages/cli/src/apply-config.ts
100.00% <100.00%> (ø)

...s/cli/src/bin/wuzzle-transpile/wuzzle-transpile.ts
100.00% <100.00%> (ø)

packages/cli/src/constants.ts
100.00% <100.00%> (ø)

packages/cli/src/launches/mocha.ts
100.00% <100.00%> (ø)

packages/cli/src/launches/node.ts
100.00% <100.00%> (ø)

packages/cli/src/registers/node/convert-helpers.ts
100.00% <100.00%> (ø)

packages/cli/src/registers/node/transform.ts
100.00% <100.00%> (ø)

... and 5 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update a77d102...a8349ce. Read the comment docs.


Add Utils dependency for acdcserver

Found it while manually running the acdc cleanup task, this was the traceback
Traceback (most recent call last):
  File "/data/srv/HG1810a-comp2/sw.amaltaro/slc7_amd64_gcc630/cms/acdcserver/1.1.17.pre1/bin/acdcserver-tools", line 15, in <module>
    from WMCore.ACDC.CouchService import CouchService
  File "/data/srv/HG1810a-comp2/sw.amaltaro/slc7_amd64_gcc630/cms/acdcserver/1.1.17.pre1/lib/python2.7/site-packages/WMCore/ACDC/CouchService.py", line 11, in <module>
    import WMCore.Database.CouchUtils as CouchUtils
  File "/data/srv/HG1810a-comp2/sw.amaltaro/slc7_amd64_gcc630/cms/acdcserver/1.1.17.pre1/lib/python2.7/site-packages/WMCore/Database/CouchUtils.py", line 14, in <module>
    import WMCore.Database.CMSCouch as CMSCouch
  File "/data/srv/HG1810a-comp2/sw.amaltaro/slc7_amd64_gcc630/cms/acdcserver/1.1.17.pre1/lib/python2.7/site-packages/WMCore/Database/CMSCouch.py", line 23, in <module>
    from Utils.IteratorTools import grouper, nestedDictUpdate
ImportError: No module named Utils.IteratorTools

something else that I'm investigating is the lack of log file (including on testbed)... investigating.

Wow, how long this was broken? Anyway, this should be deprecated.
We are cleaning up ACDC document here.
https://github.com/dmwm/WMCore/blob/master/src/python/WMCore/ReqMgr/CherryPyThreads/CouchDBCleanup.py#L24

I don't know whether that's funny or actually sad :P I'll make the necessary changes then, if any.

Thanks, Seangchan. I create a deployment PR to remove that cronjob: https://github.com/dmwm/deployment/pull/673
There is nothing to be done here then.


chore(master): release 1.4.4

:robot: I have created a release beep boop
1.4.4 (2022-06-06)
Types

fix type error (d66f12e)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/kailong321200875/vue-element-plus-admin/releases/tag/v1.4.4 :sunflower:


[azservicebus] Idle timer

We seem to have some customers that can reproduce an issue where the receiver is "active" but no longer receiving any messages.
Currently, our keep-alive check is only checking things at the connection level, including our keep-alive. However, if our link were to be disconnected on the service side, and we somehow missed the detach notification, there'd be no confirmation on our end that the link is actually alive since we don't re-issue credits unless something changes (and nothing will).
This change makes it so we give it a max 5 minutes of pure-idle time on the client. If we don't receive anything for that time we'll just restart the link, which is a pretty cheap operation and it will guarantee that the link is active. I've also added in some error messages specifically around this behavior, which should give us something to narrow down on in our stress testing as well.

/azp run go - azservicebus


chore: release 1.6.1

:robot: I have created a release *beep* *boop*
1.6.1 (2022-10-28)
Bug Fixes

endpoint ID hardcoded in WS URL (53dbfd5)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/devbranch-vadym/portainerssh/releases/tag/v1.6.1 :sunflower:


fix console command

What is this PR for?
fix command in README and docker-compose yml
This PR includes

fix command in README
docker-compose yml
add urllib3==1.24.1 to prevent version conflict

What type of PR is it?
Bugfix
What is the issue?
N/A
How should this be tested?
docker-compose -f docker-compose/docker-compose.develop.yaml up

Codecov Report

Merging #88 into fix/update-doc-for-v1.0.0 will not change coverage.
The diff coverage is n/a.

@@                    Coverage Diff                     @@
##           fix/update-doc-for-v1.0.0      #88   +/-   ##
==========================================================
  Coverage                      83.57%   83.57%
==========================================================
  Files                             42       42
  Lines                           2094     2094
==========================================================
  Hits                            1750     1750
  Misses                           344      344

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update e22f8ae...6a1a46b. Read the comment docs.


added 3 more packages

I should have realized this earlier, but can you please do the following things:
Rename readme.md to README.md.
Add a license to the GitHub Repo directly
https://github.com/lemaiwo/ui5-middleware-route-proxy
https://github.com/lemaiwo/ui5-task-transpile-gen
like you did already in
https://github.com/lemaiwo/ui5-task-cachebuster-indexing

Rename is done + Licenses are added.

Rename is done + Licenses are added.

Thanks!


Square nodes for observed variables

I'm having some issues with the interpretability of models drawn with bayesnet. This is more a suggestion for improvements, than an error report, but anyway:
Having identical shapes for latent and observed variables, makes distinguishing between them very challenging, and only doing so with different shadings does not help when you have suboptimal print or when people have problems with their eyes.
Is it possible to change the default observed variable shape to a square? Or at least provide an option for it in the package that does not involve making all sorts of customizations? This would also make the library more compatible with how DAGs are usually presented in for example structural equation modelling.
As a bonus, this would then free up shadings to be used in other ways, to communicate emphasis on certain parts of the graph.
Issues aside though, i really like your tikzlibrary. :)

Try:
\node[obs, rectangle] ...

You can pass any normal TikZ options there. obs, latent etc are just some defaults, but you can override them.
At least I think it should work like that. I haven't done anything with TikZ in many years, so I'm a bit rusty.

And of course you can define your own styles like this:
\tikzstyle{myobs} = [latent,rectangle]


Huh?

bors r+
🤖

Creative commit name :)

It matches the error message: https://github.com/rust-analyzer/rust-analyzer/actions/runs/49606848


Program crashed while loading User dashboard

Program crashed while loading User dashboard if a user doesn't have any car.
 TypeError: Cannot read properties of undefined (reading 'length' )
this error is thrown as the total number of car is 0 for that particular user

Solved


Fixed can't recognize "subexp-or-fn" bug.

This bug happends randomly on emacs 24.4.

@purcell
Thanks for your help.

Argh, sorry, yes. It's there now.


i3status-rust: <IP_ADDRESS>8-03-31 -> <IP_ADDRESS>8-06-22

Motivation for this change
Update as there have been a few fixes and it is not clear when the next stable version will come out.
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[x] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Fits CONTRIBUTING.md.

@GrahamcOfBorg  build i3status-rust

No attempt on x86_64-darwin (full log)
The following builds were skipped because they don't evaluate on x86_64-darwin: i3status-rust
Partial log (click to expand)

a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowUnsupportedSystem = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowUnsupportedSystem = true; }
to ~/.config/nixpkgs/config.nix.

Success on x86_64-linux (full log)
Attempted: i3status-rust
Partial log (click to expand)

installing
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/fk8r9i1g91c2pyghny6gr5i8aikanm3g-i3status-rust-<IP_ADDRESS>8-06-22
shrinking /nix/store/fk8r9i1g91c2pyghny6gr5i8aikanm3g-i3status-rust-<IP_ADDRESS>8-06-22/bin/i3status-rs
strip is /nix/store/4qvrxzxa535y8304mk195x50b6p9607d-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/fk8r9i1g91c2pyghny6gr5i8aikanm3g-i3status-rust-<IP_ADDRESS>8-06-22/bin
patching script interpreter paths in /nix/store/fk8r9i1g91c2pyghny6gr5i8aikanm3g-i3status-rust-<IP_ADDRESS>8-06-22
checking for references to /build in /nix/store/fk8r9i1g91c2pyghny6gr5i8aikanm3g-i3status-rust-<IP_ADDRESS>8-06-22...
/nix/store/fk8r9i1g91c2pyghny6gr5i8aikanm3g-i3status-rust-<IP_ADDRESS>8-06-22

Failure on aarch64-linux (full log)
Attempted: i3status-rust
Partial log (click to expand)
   |                     ^^^^^^^ Could not find `statvfs` in `sys`

error: aborting due to previous error

For more information about this error, try `rustc --explain E0432`.
error: Could not compile `i3status-rs`.

To learn more, run the command again with --verbose.
builder for '/nix/store/6bq72ha4zjygmhrsr946i7wv2w42gp27-i3status-rust-<IP_ADDRESS>8-06-22.drv' failed with exit code 101
error: build of '/nix/store/6bq72ha4zjygmhrsr946i7wv2w42gp27-i3status-rust-<IP_ADDRESS>8-06-22.drv' failed


proposal: Go 2: make final index in a three-index slice expression default to the middle index value

The current three-index slice form index presentation rule quite discourages gophers to use three-index slice forms. The current rule requires the middle and final index must be both represent in a three-index slice form, which makes three-index slice form quite verbose.
For example, many library may contain functions like the following one:
var hiddenOpts = []Option{...}

func NewX(opts ...Option) *X {
    opts := append(opts, hiddenOpts...)
    return createX(opts)
}

The defect (if it is not a bug) of the function NewX is it may modify the underlying data of  passed arguments. It is better to use append(opts[:len(opts):len(opts)], hiddenOpts...) instead. But for its verbosity, its uses are limited.
In fact, in practice, when a three-index form is used, the final index is often same as the middle index. In particular, s[ : len(s) : len(s)] is used most often. So I propose the following simplified three-index slice forms:
s[ : n : ]  // <=> s[ : n : n]
s[ : : ]    // <=> s[ : len(s) : len(s)]

So that, we can use append(opts[::], hiddenOpts...) in the above NewX function, without too verbose.

I agree that opts[::] is not too verbose, but to be honest I worry that it is too obscure.

Currently in a simple slice expression, with two values, if you omit the first index it is replaced by the lowest possible value (0) and if you omit the second index it is replaced by the highest likely value (len(s)).  If we carry that forward to full slice expressions, then if you omit the third index it would be replaced by the highest likely value, which is cap(s).  You are suggesting instead that the third index default to the second index.  It's a reasonable choice but cap(s) seems just as reasonable.  I'm concerned that when there are two reasonable choices, people may easily get confused about which one applies.  When there are two reasonable defaults, it seems best to require people to specify which value they  mean, as is true today.  Also, specifying the capacity is not a common situation, so people will not see it often, and so are less likely to recall what the default is.  And, since it is not common, it's not such a big deal that you have to write a bit more to clarify what you mean.
Erring on the side of caution, proposal rejected.  Thanks for the suggestion, though.

Just noticed this was declined.
Some final arguments.
Although the absence third index default to cap(s) is also reasonable, but this effect can be also achieved by further omitting the second : (a.k.a., a two-index form supported currently). So I think if the second : presents and the third index is omitted, people would expect a different effect.
In fact, I think the reasonableness of thinking the absence third index default to cap(s) is from the consideration of consistency. However, there are already many syntax and semantics inconsistencies in Go design. So I think if there is another more reasonable cause, consistency can be a secondary consideration factor in design.

Also, specifying the capacity is not a common situation, so people will not see it often, ...

I think one reason people don't see it often is it is some verbose to written, which is why this proposal was made, :). I can't say this is main reason three-index forms is seldom used, but it really counts for some percentage, about 15%, maybe.


Nested parameters description doesn't work with arrow functions

[ ] I have checked issues with bug label and found no duplicates

Expected Behavior
TypeDoc should generate description for nested "options" parameter. E.g. options.first, options.second and options.third in options: { first: string, second: number, third: (a: number) => number }
Actual Behavior
Doesn't generate description for nested parameters. Only for the "options" object.
Steps to reproduce the bug
Code to document:
class Bar {
    /**
     * Test method with object param
     * @param options Describing the options param
     * @param options.first A description of the first property of the options param
     */
    public fooArrow = (options: { first?: string, second: number, third: (a: number) => number }) => {

    }
}

Typedoc command:
typedoc --out docs index.ts
Typedoc.json:
{
    "mode": "modules",
    "out": "docs"
}

Should generate documentation with description of option.first nested parameter, instead generates only for options.
It works perfectly well with the function written normally, but arrow notation doesn't work. I.e.:
class Bar {
    /**
     * Test method with object param
     * @param options Describing the options param
     * @param options.first A description of the first property of the options param
     */
    public fooArrow (options: { first?: string, second: number, third: (a: number) => number })  {

    }
}

generates
options: object
Describing the options param

Optional first?: undefined | string
A description of the first property of the options param

while
class Bar {
    /**
     * Test method with object param
     * @param options Describing the options param
     * @param options.first A description of the first property of the options param
     */
    public fooArrow = (options: { first?: string, second: number, third: (a: number) => number }) => {

    }
}

generates only
options: object
Describing the options param

Optional first?: undefined | string

Complete sample code to reproduce the bug and sample output documentation here: https://github.com/jiri-vyc/typedoc-test
(with comparison with standard and arrow function notation)
This is afaik not a duplicate of https://github.com/TypeStrong/typedoc/issues/987 nor https://github.com/TypeStrong/typedoc/issues/497

Environment

Typedoc version: 0.14.2
Node.js version: v10.15.1
OS: Windows 10 Pro

FYI, the repro ( jiri-vyc/typedoc-test ) is missing a package.json

@fc Added.
Also, I found an issue describing the same problem, including temporary workaround: https://github.com/TypeStrong/typedoc/issues/522, so this can be probably closed as duplicate.

In 0.20, this appears to work as expected. The first codeblock generates this:


Multi-Network VM Installation 503 no healthy upstream

Bug description
Following the tutorial here https://istio.io/latest/docs/setup/install/virtual-machine/ for multi-network automatic service entry creation causes the VM to get 503 unhealthy upstream because there are no cluster IP addresses defined for helloworld.sample.svc
[2021-06-03T18:33:47.453Z] "GET /hello HTTP/1.1" 503 UH no_healthy_upstream - "-" 0 19 0 - "-" "curl/7.64.0" "fc38de56-1be0-4556-8156-0d44a74c0375" "helloworld.sample.svc:5000" "-" outbound|5000||helloworld.sample.svc.cluster.local - <IP_ADDRESS>:5000 <IP_ADDRESS>:34390 - default

nick_nellis_solo_io@nick-test-eks:~$ curl -v helloworld.sample.svc:5000/hello
*   Trying <IP_ADDRESS>...
* TCP_NODELAY set
* Expire in 200 ms for 4 (transfer 0x5652928b7fb0)
* Connected to helloworld.sample.svc (<IP_ADDRESS>) port 5000 (#0)
> GET /hello HTTP/1.1
> Host: helloworld.sample.svc:5000
> User-Agent: curl/7.64.0
> Accept: */*
>
< HTTP/1.1 503 Service Unavailable
< content-length: 19
< content-type: text/plain
< date: Thu, 03 Jun 2021 18:29:18 GMT
< server: envoy
<
* Connection #0 to host helloworld.sample.svc left intact
no healthy upstream

nick_nellis_solo_io@nick-test-eks:~$ curl -sS localhost:15000/clusters | grep sample
outbound|5000||helloworld.sample.svc.cluster.local::observability_name::outbound|5000||helloworld.sample.svc.cluster.local
outbound|5000||helloworld.sample.svc.cluster.local::default_priority::max_connections::4294967295
outbound|5000||helloworld.sample.svc.cluster.local::default_priority::max_pending_requests::4294967295
outbound|5000||helloworld.sample.svc.cluster.local::default_priority::max_requests::4294967295
outbound|5000||helloworld.sample.svc.cluster.local::default_priority::max_retries::4294967295
outbound|5000||helloworld.sample.svc.cluster.local::high_priority::max_connections::1024
outbound|5000||helloworld.sample.svc.cluster.local::high_priority::max_pending_requests::1024
outbound|5000||helloworld.sample.svc.cluster.local::high_priority::max_requests::1024
outbound|5000||helloworld.sample.svc.cluster.local::high_priority::max_retries::3
outbound|5000||helloworld.sample.svc.cluster.local::added_via_api::true
nick_nellis_solo_io@nick-test-eks:~$

[X] Docs
[ ] Installation
[X] Networking
[ ] Performance and Scalability
[ ] Extensions and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure
[ ] Upgrade
Expected behavior
the VM installation demo would work as expected
Steps to reproduce the bug
Follow https://istio.io/latest/docs/setup/install/virtual-machine/ for multi-network automatic service entry creation on an eks cluster and VM over the open internet with open ports
Version (include the output of istioctl version --remote and kubectl version --short and helm version --short if you used Helm)
▶ istioctl version
client version: 1.10.0
control plane version: 1.10.0
data plane version: 1.10.0 (5 proxies)

How was Istio installed?
istioctl
Environment where the bug was observed (cloud vendor, OS, etc)
EKS.5 1.19
Additionally, please consider running istioctl bug-report and attach the generated cluster-state tarball to this issue
Refer cluster state archive for more details.
bug-report.tar.gz

@nmnellis looks like from the VM service, the hello service's endpoint isn't correct (should be the east-west ingress gw's LB ip) as the VM service have to access the hello service from the east-west ingress gw.  One reason this could happen is when we are not detecting networks properly for VM service or hello service or the east-west ingress gw.
@howardjohn I saw we have troubleshooting instructions for MC multi-networks (https://istio.io/latest/docs/ops/diagnostic-tools/multicluster/#step-by-step-diagnosis) to check client + server network configurations, do we have similar docs for service on VM?
@nmnellis said he tried the same steps on GKE and it works fine.

Given https://github.com/istio/istio/issues/32962, it is likely mesh network config won't work for you on 1.10.0.  Is your GKE env using same Istio 1.10.0 as EKS env?

I've validated the hello pod and east-west gw are marked correctly for network, along w/ the service for VM.
One thing is in EKS the east-west gw has a host name, e.g. x.us-east-2.elb.amazonaws.com for the EXTERNAL-IP value.  @stevenctl @howardjohn - do we have any limitation with gw with host name in MC multi network env where istio can't replace the target service pod IP with its east-west gateway EXTERNAL-IP when EXTERNAL-IP is a hostname?

do we have any limitation with gw with host name in MC multi network env where istio can't replace the target service pod IP with its east-west gateway EXTERNAL-IP when EXTERNAL-IP is a hostname?

Yes, see #29359. I think this problem is a little worse for VMs, since they need this resolvable just to reach the control plane, and the current design only handles the DNS in control plane.
Maybe we can do something in agent where we resolve this and use the resolved IPs + the original discovery address so SNI will work?

Thank you @stevenctl.  Yea, I assume we need to resolve the east-west address of the gw on the VM so the vm can talk to istiod via the east-west gw and istio-agent seems a good home for this.
I assume we will also need to resolve the east-west address in istiod so that istiod can determine what services' endpoints to push to the istio-proxy running on the VM.

One workaround would be to set discoveryAddress in proxy config to the hostname of the eastwest gateway (we shouldn't pin to a single IP here). You can also set ISTIOD_SAN to istiod.istio-system... so that SNI still resolves correctly.

I assume we will also need to resolve the east-west address in istiod so that istiod can determine what services' endpoints to push to the istio-proxy running on the VM.

What config we send is more related to #29359.  I think this issue (#33268) should focus on the VM bootstrap/istiod reachability.


[Bug] Race condition in TIR ComputationCache in transforms common subexpression elimination

There is an issue due to a race in the TVM/TIR optimization passes when several distinct python threads are each compiling some operator.
The race occurs in the common subexpression elimination which uses a cache of expression/statements map which is declared static.
The cache should be attached to the build context or at least declared thread_local
The faulty cache declaration is located there:   https://github.com/apache/tvm/blob/v0.16.0/src/tir/transforms/common_subexpr_elim_tools.h#L115
Expected behavior
Non faulty code generation on operator build when several python threads are each compiling different module/operators.
Actual behavior
When launching in parallel, for instance in a thread pool the creation and build of an operator, one may encounter a Segfault on HashTable insertion (race on iteration/insert).
This bug is flaky as it is highly dependent of the machine/number of threads/compiled workload.
Environment
TVM: v0.16.0
Target device: llvm host cpu
LLVM: llvm-config-12
Kernel: Linux 5.10.0-27-amd
Distro: Debian 5.10.205-2 (2023-12-31) x86_64 GNU/Linux
Archi: 52 Cores Intel(R) Xeon(R) Gold 6230R CPU @ 2.10GHz
Steps to reproduce
The problem arises due to a statically declared cache in: https://github.com/apache/tvm/blob/v0.16.0/src/tir/transforms/common_subexpr_elim_tools.h#L115
A simple fix is to define the cache thread_local in this declaration and at the definition point.
Though there may be some more elegant fix such as not using a static cache but a per compilation context cache.
Find there a test script which reproduce the issue by massively launching parallel build of a matmul operator: multithreaded-bug.py.gz
Launch it with (note that I use setarch -R in an attempt to be more reproducible), this was run on the machine described above (52 cores):
setarch -R python3 ./multithreaded-bug.py
...
Completed build: idx = 1369: built = Module(llvm, 15544c785298)
Completed build: idx = 1367: built = Module(llvm, 15541c73c518)
Completed build: idx = 1368: built = Module(llvm, 1554cc720c38)
Segmentation fault

Note that the bug is flaky, if not reproduced, try to play with the number of parallel threads and the total number of tasks, for instance:
# launch 100 parallel threads and execute 100000 total compilations
setarch -R python3 ./multithreaded-bug.py 100 100000
...

Also, one can play on the sys.setswitchinterval(0.00001) in the file, by lowering or increasing the context switch interval.
By applying the simple thread_local fix, the bug is not visible anymore. Ref to the attached patch file for the fix:
0001-Bugfix-TIR-Fix-race-on-ComputationCache.patch.gz
Triage

flow:tir
tir:transform

thanks @guillon feel fre to send a PR

Hi @tqchen ,
I am trying to add a static mutex and lock the mutex when we write to the cache. If you think this is ok, I can raise a PR.

Using synchronization may be more costly and error prone than a simple thread local cache as proposed above, you may experiment with both.
Though, actually I didn't understand the rationale for making à global expression cache. Shouldn't the cache be local to some function scope, hence a bare member of some parent object  instead of a global state?
Perhaps were there some experiments conducted at the time of this addition?


selectRaw() doesn't work inside of withCount()

Laravel Version: 6.0.3
PHP Version: 7.2.16
Database Driver & Version: libmysql - mysqlnd 5.0.12

Description:
When using a closure inside of withCount(), the method selectRaw('...') is ignored whereas select(DB::raw('...')) works perfectly fine.
Steps To Reproduce:
Article::withCount([
	'contracts as sum_demands' => function($query) {
		$query->select(DB::raw('SUM(`demands`)')); // <-- this works
		$query->selectRaw('SUM(`demands`)'); // <-- this doesn't work
	}
]);

When using $query->selectRaw('SUM(demands)')); the output query is:
SELECT
	`articles`.*,
	(SELECT COUNT(*) // note the COUNT(*) here, this should me SUM(demands)
	FROM `contracts`
	WHERE `articles`.`id` = `contracts`.`article_id`
) AS `sum_demands`
FROM `articles`

select(DB::raw()) and selectRaw() are actually different: selectRaw() is equivalent to addSelect(DB::raw()), not select(DB::raw()).
I just saw that the documentation is incorrect on this point

Thanks for your help!
So would it make sense for future cases to create an idea to rename selectRaw() to addSelectRaw()? I'm not sure if renaming a function is worth creating an idea or if a pull request is enough.

I don't think we should rename the method. This would be a major breaking change and affect a lot of users.

I don't think changing the method name is a good idea either. Feel free to send in a PR to the docs. Thanks.

I sent in a pr for this: https://github.com/laravel/docs/pull/5511


Graphql schema for non-nullable postgres array allows NULL values in array

Describe the bug
I have a column in my table which allows text[] type with NOT NULL constraint.
My understanding and the current behavior from SQL is that I can't put the value [ NULL ] in this column.
Creating graphql schema for this field gives me the type [String]! which allows me to pass on [ null, null ] as payload. Although postgres disallows to insert this field, the schema should reflect that it isn't allowed.
To Reproduce
Steps to reproduce the behavior:

Create a column in a table of type text array
Disallow null values (Add NOT NULL constraint)
Enable pg_graphql and generate schema
Schema will have type [String]! instead of [String!]!

Expected behavior
The graphql schema should rather be [String!]! and I shouldn't be able to send [ null, null ] as payload.
Screenshots
Config of the column in postgres

Snippet from graphql schema

Versions:

PostgreSQL: PostgreSQL 15.1 on aarch64-unknown-linux-gnu, compiled by gcc (Ubuntu 10.3.0-1ubuntu1~20.04) 10.3.0, 64-bit
pg_graphql commit ref: ea2ab60

The not null constraint on a SQL table enforces that the whole value is not null but it does not enforce that the elements within the array are not null
Here's an example with a null element in the array of a non-null column

but if you try to insert a null value as the array:

if you need to enforce that the elements of the array are not null you could use a trigger for that but it would not be reflected in the schema.
Currently there is no way to reliably reflect a type of [Type!]! since all SQL types are nullable


[Feature request] Provide CompressError Class to flutter side

Platforms
Android, iOS
Description
While compressing image there's a chance the path may be invalid, it will return a CompressImage instance and in flutter you haven't provided as it is implemented in native side, so we didnt what exaclty do we print while catching error because some provide error.code or error.status, i had go through your github repo to find the parameter.
Why
No response

I have encounter the issues with compressWithFile today  with CompressError


Clean-up the unused/old branches!

I still have to think how to move "implementations", e.g. scripts in Node.js, out of the standard version folder in order to keep them immutable.


macos m1 arm64 version - Not using the GPU

Hey guys. Just to notify it's clearly using the CPU cores even though I picked a model with GPU conversion?

AFAIK, UVR supports only NVidia GPU.

i've spent alot of time researching this as i have a MacStudio with the M2.   Apple does not expose its GPU's for acceleration through NVIDIA.  It must be done through their own ML framework or with "Metal."  I think Tensorflow and Pytorch allow for this, but to reiterate if it comes via NVIDIA it wont work.

fun fact: UVR (VR Architecture) models use radeon GPU on intel macos version. I would guess through mps...

Yeah, i guess i should qualify my statement a bit more and say on M1/M2 Macs.   On intel based, whole other story i would assume.


Ensure to resolve base64 entities

Coverage decreased (-20.1%) to 67.857% when pulling 227b24ac85be8c88fe6c02d4754afdfd35779537 on base64 into<PHONE_NUMBER>f3ac41c5d7993b5a6470563137c9de on master.


refactor: hoist up util

Shouldn't be mixed-in with the tests

Stack:

#270
#275 ⬅

⚠ Part of a stack created by spr. Do not merge manually using the UI - doing so may have unexpected results.


Add individual pages for news articles

This is related to #9. Since @eels helped out with the paging before, this is a potential future feature that can be added to https://github.com/krgamestudios/MERN-template.
@foohonpie - potential post-hand off feature you might like.

thanks @Ratstail91, i'll keep an eye out


Customizing toolbar icons

Describe the bug
In a TS environment, the icons prop rejects all attempts to pass it an icon to replace

No overload matches this call.
Overload 2 of 2, '(props: MaterialTableProps, context: any): MaterialTable', gave the following error.
Type '{ ViewColumn: JSX.Element; }' is not assignable to type 'Icons'.
Types of property 'ViewColumn' are incompatible.
Type 'Element' is not assignable to type 'ForwardRefExoticComponent<RefAttributes>'.
Overload 2 of 2, '(props: MaterialTableProps, context: any): MaterialTable', gave the following error.
Type 'Element' is not assignable to type 'ForwardRefExoticComponent<RefAttributes>'.ts(2769)
index.d.ts(42, 3): The expected type comes from property 'icons' which is declared here on type 'IntrinsicAttributes & IntrinsicClassAttributes<MaterialTable> & Readonly<MaterialTableProps> & Readonly<...>'
index.d.ts(289, 3): The expected type comes from property 'ViewColumn' which is declared here on type 'Icons'

To Reproduce
Example:
      <MaterialTable
        ...
        icons={{ViewColumn: <div/>}}
      />

The same error happens regardless of what's passed in place of <div/>.  I've tried <Icon/> and even what's in the original source code forwardRef((props, ref) => <ViewColumn {...props} ref={ref} />.
The TS definitions look overly restrictive. It would be much more useful if it accepted any component:
https://github.com/material-table-core/core/blob/master/types/index.d.ts#L256
Expected behavior
Replace the given toolbar icon with supplied component.

I'm not sure I follow. Would you mind creating a reproducible demo of the issue?

I'm not sure I follow. Would you mind creating a reproducible demo of the issue?

There was an error in my implementation. I had passed in the icons prop twice, once with the default set of icons that I overlooked, and again with a customized one.

There was an error in my implementation. I had passed in the icons prop twice, once with the default set of icons that I overlooked, and again with a customized one.


UI issue with Documentation

📚 Documentation
UI issue on https://lightning.ai/docs/fabric/stable/examples/. Tags are overlapping on text.

cc @borda

@adamjkuhn could you pls check it :rabbit:

Tried to contribute to this issue by adding this code: .display-card-container {
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: 20px; /* Adjust the gap between items */
}
.displayitem {
flex: 1 0 300px; /* Set a fixed width for each item /
max-width: 100%; / Ensure items don't exceed container width /
margin-bottom: 20px; / Add some space between items */
}
.displayitem .card {
height: 100%; /* Ensure all cards have the same height */
}
.displayitem .card-body {
height: 100%; /* Ensure all card bodies have the same height */
}
.displayitem .card-title {
margin-bottom: 10px; /* Add some space below the title */
}
.displayitem .card-text {
margin-bottom: 10px; /* Add some space below the description */
}
.displayitem .btn {
width: 100%; /* Make the button full-width within the card */
}
, but there's no way knowing if it works, I don't have full permission to the repo. Github isn't allowing me to clone the repo and make the changes, please add it and let me know if it works. I need to know so I can let the Tublian mentors know that I contributed and send them a link that shows my contribution.
@Dev-Khant, @Borda


GH-59: Update to use better-maintained fork of jsonlint. (resolves #59)

See #59 for details.

@amb26, the conversion was thankfully pretty easy, just removing my old monkey patches and changing the package name and a few variable names.
I also nudged other dependencies except for the two problematic ones, stylelint and eslint-plugin-markdown.  The former we won't upgrade until the community's rules are upgraded.    The latter would require a refactor.

I also cut a dev release (1.2.7-dev.20230303T094902Z.9877d02.GH-59) for you to test with.

Thanks, works brilliantly!

Thanks for the quick review.  I created the full release of 1.2.7 just now.


server side rendering issues with static load method

How do you render the me page on the server?
How would you render any page with a path or query param?
Assuming I am doing this correctly:
import fetch from '../../common/components/fetch';
import {loadHome} from '../../common/home/actions';

@fetch(loadHome)
export default class Page extends Component {

I don't see how it can be done. What I am doing to work around this is put a settings object in initialState (in frontend/render):
export default function render(req, res, next) {
  const location = createMemoryHistory().createLocation(req.url);
  const stateJson = {
    device: {
      isMobile: ['phone', 'tablet'].indexOf(req.device.type) > -1
    },
    settings: {
      s3Url: config.s3Url,
      initPath: location.pathname
    }
  };

If there is a user/viewer, then also add  their ID and SLUG to the settings object.
The settings object is used as a static dependency middleware, set in the configureStore function. It gets passed to the actions (it is also setup as a reducer and settings schema object in common). Then in an action, you can do the following for a page with a path param /profile/SomeUser:
export function loadProfile() {
  //if (canUseDOM) {
  //  console.log('profile/actions loadProfile Exiting early, data already loaded...');
  //  return;
  //}
  return ({fetch, validate, settings}) => ({
    types: [
      PROFILE_LOAD,
      PROFILE_LOAD_SUCCESS,
      PROFILE_LOAD_ERROR
    ],
    payload: {
      promise: get(fetch, settings.apiUrl + settings.initPath)
        .catch(response => {
          throw response;
        })
    }
  });
}

Or if the page was loaded with an authenticated user and you wanted to load the /me page, the settings dependency has the slug (or id) to make the call.
Or how do you deal with it? :)

I don't know.

I see now that you are already passing in location, params, and req. Still learning...


Disable draft PR trigger CI

Description

Linked GitHub issue ID:
Pull Request Checklist

[ ] Tests for the changes have been added (for bug fixes / features)
[ ] Code compiles correctly with all tests are passed.
[x] I've read the contributing guide and followed the recommended practices.
[ ] Wikis or README have been reviewed and added / updated if needed (for bug fixes / features)

Does this introduce a breaking change?
If this introduces a breaking change for Hydra Lab users, please describe the impact and migration path.

[ ] Yes
[x] No

How you tested it
Please make sure the change is tested, you can test it by adding UTs, do local test and share the screenshots, etc.
Please check the type of change your PR introduces:

[ ] Bugfix
[ ] Feature
[ ] Technical design
[x] Build related changes
[ ] Refactoring (no functional changes, no api changes)
[ ] Code style update (formatting, renaming) or Documentation content changes
[ ] Other (please describe):

Feature UI screenshots or Technical design diagrams
If this is a relatively large or complex change, kick it off by drawing the tech design with PlantUML and explaining why you chose the solution you did and what alternatives you considered, etc...

/azp run


Rails?

Is there a Rails template handler for papercraft?
thanks, Anita

HI, no, for the moment there isn't one. I'll try and find a moment to work on it, but personally this is not a priority. I'm always open to contributions :-).

As of version 0.29, Papercraft has Tilt integration, so I'm considering this issue as fixed.


Page creation not working

Describe the Bug

When a new page is created, a MultiValueDictKeyError appears.
Steps to Reproduce

Go to a region
Go to pages
Create new page
Fill in dummy values
Click on save
See error

Expected Behavior

The page should be saved
Actual Behavior

MultiValueDictKeyError at /augsburg/pages/de-de/new

'mirrored_page_region'

Additional Information

Fixed in #660


Primitive Contextual Bindings are ignored if parameter has class

Laravel Version: 5.5.40
PHP Version: 7.1.14
Database Driver & Version: N/A

Description:
When using the contextual binding for a primitive on the service container like:
$this->app->when(Service::class)->needs('$param1')->give(function() { /* resolve param 1 */ });

The contextual binding will be ignored if $param1 is type-hinted with a class.
// this will not work because $param1 is typehinted as a class
class Service
{
    public function __construct(OtherService $param1) {

    }
}

The code that configures this behavior is here: https://github.com/laravel/framework/blob/0200dc58ca805e86a366a5aaaa779870856b16f8/src/Illuminate/Container/Container.php#L826-L828
I feel like if there is any contextual binding (regardless if it's a class or not) the binding should be upheld.
Steps To Reproduce:

Create a class with a parameter typehinted to some class
Apply a primitive contextual binding
Try to access the service, and you'll receive an unresolvable entry exception

Use Case
In my specific situation, I have an ApiClient for magento2, and I'm registering multiple client instances in my service container based off of different credentials for different magento2 store instances. e.g. One api client setup for connecting to Store A and another for Store B.
My service class needs to inject both clients into the constructor, and they share the same class name, but differ in the variable name (which is why I was using the contextual bindings)

Your ApiClient doesn't seem to be very open/close. I'd say you need a single parameter that could act as a VO/Generics for your multiple instances.

I appreciate the reply, but I'm not sure that it's completely relevant to this specific issue/problem I raised.

After re-reading the docs, I think this would better fit as a feature request rather than a bug report.
The docs do mention that primitive and give an example of an int, so anything that's not a class, but at the same time, I do think it's a useful feature to extend the primitive binding to  be able to contextually bind anything based off of variable name.
This is a feature of the symfony container system: http://symfony.com/doc/current/service_container.html#binding-arguments-by-name-or-type.
I only mention symfony to give validity to my feature request/usage, not trying to say that symfony is better/worse than Laravel.
I'm also willing to submit a PR for the above change, but don't want to go through the work if it's just going to closed.

The symfony feature that you mention seems to be a lot different than what you are proposing. Symfony, unless I'm misreading, doesn't let you go back-and-forth between primitives and objects on the same binding. It's still one or the other. Symfony utilizes an alias feature which allows you to alias an object to a string that represents the object. This doesn't seem to be the same thing.

@devcircus that link i pasted is pointing to the wrong spot in the docs for some reason. If you scroll down You should see the title "Binding Arguments by Name or Type" which is the section I'm referring to.
This is the yaml configuration they provide as an example:
# config/services.yaml
services:
    _defaults:
        bind:
            # pass this value to any $adminEmail argument for any service
            # that's defined in this file (including controller arguments)
            $adminEmail<EMAIL_ADDRESS>
            # pass this service to any $requestLogger argument for any
            # service that's defined in this file
            $requestLogger<EMAIL_ADDRESS>
            # pass this service for any LoggerInterface type-hint for any
            # service that's defined in this file
            Psr\Log\LoggerInterface<EMAIL_ADDRESS>
But this yaml definition would be roughly equivalent to the following laravel:
$this->app->singleton('monolog.logger.request', function() { return RequestLogger(); });
$this->app->when(Service::class)->needs('$adminEmail')->give('manager@example.com');
$this->app->when(Service::class)->needs(LoggerInterface::class)->give(function($c) { return $c->make('monolog.logger.request'); });
// this is the part that doesn't work currently if $requestLogger is typehinted
$this->app->when(Service::class)->needs('$requestLogger')->give(function($c) { return $c->make('monolog.logger.request'); });

If I submitted a PR for this do you think it has a chance of being accepted? Don’t want to do the work if Taylor plans on just closing it

@deleugpn @devcircus ^

It's hard to say, I'd guess there's a 50/50 there. Since it's a change in behavior, it could mean breaking changes, which drops the chance of being merged. Taylor is not fond of implementing Framework solution for edge-cases such as this one.
On the other hand, I can see that the argument is not so bad: "If I explicitly bind something, respect it no matter what". The binding being explicit, it is a good argument that the Framework shouldn't trigger auto-wire.
I would suggest you go for it since it feels like it's a small change that won't require a lot of work. But it's likely that you'll have to target 5.7.

Awesome @deleugpn, thanks for that info and for taking this time to reply!

Hi there,
Welcome to Laravel and we are glad to have you as part of the community.
Unfortunately this GitHub area is not for ideas, suggestions etc. This is only for issues/bugs with the framework code itself.
I will be closing your ticket here. You are able to open a ticket at https://github.com/laravel/ideas
Alternatively you are able to open a PR using the Contributions guidelines: https://laravel.com/docs/5.7/contributions#which-branch
If you feel I've closed this issue in error, please provide more information about how this is a framework issue, and I'll reopen the ticket.
Thanks in advance.


Added a degrees-to-radians snippet.

Since the radians-to-degrees snippet exists, I added the opposite.

Description

I added a python function that changes degrees to radians.
What does your PR belong to?

[ ] Website
[x] Snippets
[ ] General / Things regarding the repository (like CI Integration)

Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] Enhancement (non-breaking improvement of a snippet)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[x] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[x] I have checked that the changes are working properly
[x] I have checked that there isn't any PR doing the same
[x] I have read the CONTRIBUTING document.

I don't understand why the checks fail. Any help?

I don't understand why the checks fail. Any help?

Never mind that, it's a flaw in our website build pipeline.

Never mind that, it's a flaw in our website build pipeline.
Okay!


Patch 1

Keep this open ig

I am pretty sure that pxd files don't make much of a difference and so I am deleting this branch, along with this pull request.


Enable auto-complete in IDE's for Boyka Config file

References

https://dev.to/brpaz/how-to-create-your-own-auto-completion-for-json-and-yaml-files-on-vs-code-with-the-help-of-json-schema-k1i

Issue raised in JSON SchemaStore

PR merged in SchemaStore.
Boyka config now available at https://json.schemastore.org/boyka-config.json


[Datafactory] Add source/sink linked service/schema linked service support for Data Flow

Add SDK support for specifying data flow source/sink with a linked service/schema linked service
Associated swagger change: https://github.com/Azure/azure-rest-api-specs/pull/9605

Hi @richardkz I just merged another DataFactory PR #12458  so please resolve the conflicts.
Besides, please pay attention to the package version. The latest version published on nuget is 4.8.0, so in Shawn's PR it's bumped up to 4.9.0 and anything beyond that was moved under 4.9.0 in changelog.
I think you and @shawnxzq need to decide whether to release your changes in one release or two.
Thanks

@isra-fel updated with latest commits. Included release notes as part of the 4.9.0 release as well.


Sonic pi should send "motif done" and "beat#" back to the elixir to be reacted to.

Considerations:
On run/stop, make sure to purge the message queue if it doesn't already so we don't get backlogged beat messages on code run.

did an alternate approach that we have discussed offline. Currently with allowing send message inside of the motif, but eventually with a more elegant solution


Prometheus metric keda_scaler_active never gets initialized

Report
The provided Grafana Dashboard  does not work because the required metric keda_scaler_active is not rendered on the /metrics endpoint. Therefore, the dashboard variables for the dropdown boxes cannot be evaluated correctly. The reason is that not all metrics are correctly initialized at bootstrapping time (first recording with default values). In addition, if you use ScaledObjects exclusively with CPU/memory triggers, the following metrics are not recorded at all:
- keda_scaler_active
- keda_scaler_errors
- keda_scaler_metrics_value
- keda_scaler_metrics_latency
Expected Behavior

All metrics are initialized after the bootstrapping phase with a default value so that they are rendered when requesting the /metrics endpoint so that Grafana dashboard variables can be evaluated correctly
Metrics should also be recorded when only CPU/Memory triggers are set (currently skipped)

keda_scaler_active
keda_scaler_errors
keda_scaler_metrics_value
keda_scaler_metrics_latency

Actual Behavior
Metrics are missing if one is just using ScaledObjects with CPU/Memory triggers only
Steps to Reproduce the Problem

Install KEDA v2.11.2
Create ScaledObject with CPU/Memory trigger only
Request /metrics endpoint of Operator

Logs from KEDA operator
No response
KEDA Version
2.11.2
Kubernetes Version
1.25
Platform
Microsoft Azure
Scaler Details
No response
Anything else?
No response

Hello!

In addition, if you use ScaledObjects exclusively with CPU/memory triggers, the following metrics are not recorded at all:

keda_scaler_active
keda_scaler_errors
keda_scaler_metrics_value
keda_scaler_metrics_latency

You are right but there isn't any solution for that because CPU/Memory scalers are a wrapper over the k8s metrics server, so KEDA doesn't have those values because KEDA doesn't process them, it's the k8s metrics server who does it.
Honestly, I think that KEDA shouldn't take the control over those resources because the metrics.k8s.io api is reserved for k8s metrics server and it exposes some metrics like container or resource, and KEDA doesn't support them. I mean, KEDA can't know the cpu metric value if KEDA doesn't expose it, but IMHO KEDA shouldn't expose it instead of the current k8s metrics server.
WDYT @zroubalik @tomkerkhove ?

All metrics are initialized after the bootstrapping phase with a default value so that they are rendered when requesting the /metrics endpoint so that Grafana dashboard variables can be evaluated correctly****

I think that we could do it, but there are some metrics attached to external resources, such as scaledobeject or scaledjobs, IDK if we can initialize them empty, but definitively KEDA should try to do something with them.
Are you willing to contribute with this improvement?

You are right but there isn't any solution for that because CPU/Memory scalers are a wrapper over the k8s metrics server, so KEDA doesn't have those values because KEDA doesn't process them, it's the k8s metrics server who does it.

Go it. But imho at least the dashboard should still work out of the box. Maybe by evaluating the metric keda_scaled_object_errors instead of keda_scaler_active.  Or there should be a suggestion to use a plain HPA-metrics-based dashboard for cpu/memory/cron-based scalers only. Maybe this should be a note in the Integrate with Prometheus page. Additionally a note for this behavior should also be present. I mean that some metrics will not appear if there are no external metrics used.

I think that we could do it, but there are some metrics attached to external resources for labeling, such as scaledobeject or scaledjobs, IDK if we can initialize them empty, but definitively KEDA should try to do something with them.
Are you willing to contribute with this improvement?

You mean that for those missing metrics also the labels must be intialized? An alternative could be to just initialize the keda_scaler_active metric within the skip-operation. It would mean that the dashboard would work out-of-the-box, but just a few charts will not be rendered as those metrics are not managed by KEDA.
Move https://github.com/kedacore/keda/blob/0386b17dade70970b476bc91ebb6e6aa15182a01/pkg/scaling/scale_handler.go#L603 below
https://github.com/kedacore/keda/blob/0386b17dade70970b476bc91ebb6e6aa15182a01/pkg/scaling/scale_handler.go#L560

I'm also seeing this issue and would love to get some help.

I'm also seeing this issue and would love to get some help.

Use a plain Horizontal Pod Autoscaler (HPA) dashboard for CPU/Memory based scaled objects. Or do it like me and fix the dashboard by using HPA metrics instead of KEDA metrics. I removed some KEDA specific panels and modified the rest.

Can you share an example of such dashboard by any chance please?

@JorTurFer Thanks for the response there. We were wondering if this is still a valid issue.

We have been trying to utilize KEDA and while working on the dashboard stuff, we encountered this issue.
If we create a ScaledObject that has CPU/MEM + other triggers, we actually able to see the metrics except CPU/MEM on the keda_scaler_active metric. If you put only one trigger, for example, CPU, you won't able to see keda_scaler_active at all.
If we dive into further, here is the func calls:

https://github.com/kedacore/keda/blob/800a541e6ab41bde89417a67848e76edef537b7b/controllers/keda/scaledobject_controller.go#L175
https://github.com/kedacore/keda/blob/800a541e6ab41bde89417a67848e76edef537b7b/controllers/keda/scaledobject_controller.go#L586-L587

Happy to provide reproducible steps if requested.
Could you please clarify in case if we're missing something obvious?
/cc @yasinterol

Hello,
You will see only the external metrics, as they are the metrics managed by KEDA. for CPU/Memory, KEDA registers the HPA with a pod metric (that's why you need the k8s metrics server for them). It means that KEDA doesn't have any knowledge about them and the value or errors won't be exposed.
Maybe we should improve the docs about the metric to clarify that CPU and memory will never be included in those metrics that implies current values or errors (active implies the value too)

Dashboard not working because of this, we are on 2.15.1. Dashboard should work even if we use triggers that not managed directly by keda.
+1 for this https://github.com/kedacore/keda/issues/4945#issuecomment-1707815540
Please provide solution for this

Is anybody willing to review the current dashboard and open a PR getting all these things into account?


Simple mathematical example from the (Plat and Barr 1987) paper

Many thanks for this package.
Would it be possible for you to add the following examples to your library.  I believe that it is a bit more clear, and it fits nicely with the background of the package as they implement the examples of the paper written by Plat and Barr.
Kind Regards

Minimizing the distance to the origin such that it is on the line $y=1-x$. Essentially:
 \min_{x, y} x^2+ y^2 \qquad  \text{s.t.:} \,\, x + y - 1 = 0

"""
Pet problem from Constrain Differential Optimization (Plat and Barr 1987).

The paper discusses general problems of the following format.
    min f(x)
        s.t.: g(x)

And discusses among others the example of finding the closest point to the origin such that it is on the line y=1-x.
This can be found by minimizing the following equation:
    min x^2 + y^2
        s.t.: y + x - 1 =0
Which is being solved by this example.

Bram van der Heijden
2023
"""
from functools import partial
import matplotlib.pyplot as plt
import numpy as np
import mdmm
import torch

def f(x):
    """Cost function representing the square distance from the origin"""
    loss = x[0]**2 + x[1]**2
    return loss

def g(x):
    """Constraint function, representing a linear line y=1-x"""
    loss = x[0] + x[1] - 1
    return loss

# Create variables in our optimization, these need to create an Automatic Differentiation graph.
x = torch.tensor([4, 3], dtype=torch.float32, requires_grad=True)

# Create optimization problem.
constraint = mdmm.EqConstraint(partial(g, x), 0)
mdmm_module = mdmm.MDMM([constraint])
optimizer = mdmm_module.make_optimizer(x, lr=1e-1)

# Optimize the problem.
max_itr = 500
itr = np.arange(max_itr)
loss_itr = np.zeros(max_itr)
cons_itr = np.zeros(max_itr)
for i in range(max_itr):
    # Print iteration updates.
    loss_itr[i] = float(f(x))
    cons_itr[i] = float(g(x))
    print(f"Itr: {i:7,d}, loss {loss_itr[i]:4g}, conts {cons_itr[i]:4g}")

    # Perform a step in the optimization procedure.
    loss = f(x)
    mdmm_return = mdmm_module(loss)
    optimizer.zero_grad()
    mdmm_return.value.backward()
    optimizer.step()

# Exact solution is at (0.5, 0.5)
print("")
print("Result is: ", x.detach().numpy())
print("Error to exact is: ", float(torch.norm(x-torch.tensor([0.5, 0.5]))))

# Plot the convergence graph.
fig, ax = plt.subplots(1, 2)
ax[0].set_ylabel(f"Cost")
ax[0].set_xlabel(f"Iteration number")
ax[0].plot(itr, loss_itr)
ax[1].set_ylabel(f"Constraint")
ax[1].set_xlabel(f"Iteration number")
ax[1].plot(itr, cons_itr)
plt.show()

The optimization will find the approximation of the exact solution at $(x,y)=(0.5, 0.5)$ and converge appropriately.


Made map, filter and merge in broadcast pipe

Thank you for contributing to Coda! Please see CONTRIBUTING.md if you haven't
yet.
Explain your changes here.
Explain how you tested your changes here.
Checklist:

[ ] Tests were added for the new behavior
[ ] All tests pass (CI will check this if you didn't)
[ ] Serialized types are in stable-versioned modules
[ ] Does this close issues? List them:

Closes #0000
Closes #0000

Should we hold off reviewing this until you integrate Incremental a bit?

We are moving away from using Broadcast_pipe for the graphql services. This seems unneeded in the short term.


Add blink detection

As part of the process of replacing EyeCommander we need to add blink detection to FaceCommander.
The code does currently have some ability to detect 'winks' but its not enabled in the UI.
We need to allow users to select 'blink' as an action similar to all the other actions
Ref:

https://github.com/google/project-gameface/issues/17
https://github.com/google/project-gameface/issues/23
https://github.com/google/project-gameface/issues/34

Hi @gavinhenderson , Where did the dropdown images come from please, and are there some for the blink gestures?
These are the images I mean.

That is a good question, they look like some original google drawings to me so probably not something we have easy access too the exact same style.
~Perhaps to go with the theme of the rest of the app we can use Material UI icons?~ So looks like material ui doesnt have good icons for this.
Perhaps lets lift them from the Noun Project, something like this: https://thenounproject.com/icon/closed-eyes-1911660/ ?
You'll need to put an attribution in somewhere but i find the noun project is good for these sorts of things.

I have a testable version pushed to the branch. From my own testing I can say this.

It isn't doing a great job of recognising blink gestures if I'm wearing my spectacles.
I find it difficult to blink with only one eye with clarity.

Happy to get feedback from anybody with a minute to try it out.

@sjjhsjjh Thanks for this brilliant work!

It isn't doing a great job of recognising blink gestures if I'm wearing my spectacles.

Yeah glasses can be an issue, they don't cause much issue for me when I use it, but I have fairly wide and narrow frame. That said if  I sit at the wrong angle the frame can end up hiding my eye to the camera. We had a very similar issue with EyeCommander. We ended up solving it by mounting a webcam on a flexible arm that was carefully mounted at the perfect position to always see the users eyes, not ideal but it did the job.

I find it difficult to blink with only one eye with clarity.

Yeah me too. In EyeCommander we offered single eye blink and double eye blink. The vast majority of users landed on using the double eye blink. I also suspect a double eye blink would maybe be more accurate as it has more data to go on.

You're welcome Gavin; happy to contribute.
From what I can see in the list of gestures, the model doesn't recognise double-eye blink as such. I'm looking here https://github.com/AceCentre/FaceCommander/blob/main/src/shape_list.py#L16
That mightn't matter though. Suppose the user selects the left eye blink gesture to do an action. I expect the action would still be triggered if they blink both eyes. That could be tested I guess.

Hey Jim. We used the same model behind the scenes in EyeCommander. As you say, natively the model doesn't output a 'blend shape' that covers both eyes. However, you could sum the blend shape for both eyes then / 2 to get an average. Although could be worth testing as i don't how well that would actually work. This seems like the easiest option I think.
When we build EyeCommander we didn't actually use the blend shape result that MediaPipe. We opted to use the 'Landmarks' that it gives you. It gives you a landmark (x, y coord) for the upper eyelid and lower eyelid then we used that to detect a 'blink'. We used the JS wrapper for Media pipe but the same work seems possible inside of the python wrapper.
Media pipe docs on landmarks

Here is the code that EyeCommander has to 'detect a blink'. The lines of interest are L41 - L100, the other lines are all specific to the react implementation. It works by getting the landmarks for the 4 corners of each eye. It then normalises them for the distance from the camera. It then calculates a ratio of how 'closed' the eyes are based on the coords we get. You could then just do a trigger if that ratio hits a certain 'closed' threshold. However, we found that making that keeping a history of the coords and only triggering when the eye was over the 'closed' threshold for a set time was more accurate and filtered out involuntary blinks better.
The Python Media pipe gives you access to the same landmarks so in theory you could reimplement the same logic inside of FaceCommander.

Hi, I had a quick test of shape-based blink detection and it works OK. Could we release that to a beta test do you think? The switch to landmark-based detection could be done later, as an improvement.

Could we release that to a beta test do you think

Yeah definitely, more than happy to stick with the easiest option that works!

So, I guess there should be an About page in the app. It's needed for this feature to include attribution links for the eye graphics.

Yeah and it should also probably like to the Ace Centre website contact page and when the docs are written we can add a link in the about page too.
Here is what we had in EyeCommander

OK, I have this.

Links are underlined. When the mouse is hovering over a link, the address pops up at the bottom of the window.

All implemented in a tkinter Text widget, and a Label for the address hint.

Late additions.

Blue links.
Cursor changed to hand.


Adds "How to verify contracts" to the How To section with examples

Changes in this PR

Adds "How to verify contracts" to the How To section

This needs a copy edit. I will do it when I can.


Feature Request let me pick the default editor for settings without opening the settings file

Description of the new feature/enhancement

Proposed technical implementation details (optional)

You can just go into the system settings application and change your editor for json files.


Inform and seek early feedback from SABR stakeholders

Inform SABR stakeholders and seek their early feedback before seeking endorsement from DG

[x] Enterprise Architecture
[x] PMO
[x] BRM
[x] IITB Governance
[x] Clouc CoE

2nd round of review start

2nd round of review finished. Comments disposed. Preparing debrief of exec directors scheduled for may 11th


UNHANDLED REJECTION Names must match /^[_a-zA-Z][_a-zA-Z0-9]*$/ but "sub-categories" does not.

The plugin doesn't seem to allow hyphens in API field IDs.
The following definition within my custom type causes an error:
    "sub-categories": {
      "type": "Group",
      "config": {
        "fields": {
          "sub-category": {
            "type": "Link",
            "config": {
              "select": "document",
              "customtypes": ["content_sub-category"],
              "label": "Sub-Category"
            }
          }
        },
        "label": "Sub-Categories"
      }
   }

UNHANDLED REJECTION Names must match /^[_a-zA-Z][_a-zA-Z0-9]$/ but "sub-categories" does not.
Names must match /^[_a-zA-Z][_a-zA-Z0-9]$/ but "sub-category" does not.
Names must match /^[_a-zA-Z][_a-zA-Z0-9]$/ but "sub-categories" does not.
Names must match /^[_a-zA-Z][_a-zA-Z0-9]$/ but "sub-category" does not.
Names must match /^[_a-zA-Z][_a-zA-Z0-9]$/ but "data___sub-categories" does not.
Names must match /^[_a-zA-Z][_a-zA-Z0-9]$/ but "data___sub-categories___sub-category___link_type" does not.
Names must match /^[_a-zA-Z][_a-zA-Z0-9]$/ but "data___sub-categories___sub-category___isBroken" does not.
Names must match /^[_a-zA-Z][_a-zA-Z0-9]$/ but "data___sub-categories___sub-category___url" does not.
Names must match /^[_a-zA-Z][_a-zA-Z0-9]$/ but "data___sub-categories___sub-category___target" does not.
Names must match /^[_a-zA-Z][_a-zA-Z0-9]$/ but "data___sub-categories___sub-category___id" does not.
Names must match /^[_a-zA-Z][_a-zA-Z0-9]$/ but "data___sub-categories___sub-category___type" does not.
Names must match /^[_a-zA-Z][_a-zA-Z0-9]$/ but "data___sub-categories___sub-category___tags" does not.
Names must match /^[_a-zA-Z][_a-zA-Z0-9]$/ but "data___sub-categories___sub-category___lang" does not.
Names must match /^[_a-zA-Z][_a-zA-Z0-9]$/ but "data___sub-categories___sub-category___slug" does not.
Names must match /^[_a-zA-Z][_a-zA-Z0-9]$/ but "data___sub-categories___sub-category___uid" does not.
Names must match /^[_a-zA-Z][_a-zA-Z0-9]$/ but "data___sub-categories___sub-category___raw" does not.
Names must match /^[_a-zA-Z][_a-zA-Z0-9]$/ but "data___sub-categories___sub-category___name" does not.
Names must match /^[_a-zA-Z][_a-zA-Z0-9]$/ but "data___sub-categories___sub-category___kind" does not.
Names must match /^[_a-zA-Z][_a-zA-Z0-9]$/ but "data___sub-categories___sub-category___size" does not.
Names must match /^[_a-zA-Z][_a-zA-Z0-9]$/ but "data___sub-categories___sub-category___height" does not.
Names must match /^[_a-zA-Z][_a-zA-Z0-9]*$/ but "data___sub-categories___sub-category___width" does not.

Hi @mduecker, correct, hyphens in API IDs are not supported since GraphQL fields must match /^[_a-zA-Z][_a-zA-Z0-9]$/ (letters, underscores, numbers).
We could automatically convert IDs to snakecase but there may be implications with conflicting fields. For example, my-field and my_field would both become my_field, resulting in a conflict.
My best recommendation is to not use dashes in your IDs and stick to the /^[_a-zA-Z][_a-zA-Z0-9]$/ regex.

@angeloashmore
Thank you.
It would be good to have this included in the documentation.

No problem. I agree, we should add this to the documentation.
I'm going to leave this open as a reminder to do so. Thanks!

@mduecker Added to the README here: https://github.com/angeloashmore/gatsby-source-prismic/tree/0be79841508c599eee8074b2db423d935b917168#graphql-valid-field-names
Thanks for bringing this up!


Adds binding redirect for applicable assemblies only

Fixes #809.
/cc @isaacabraham

I think there is an issue with using things like /binding-redirect-adds-referenced-assemblies-only/before/Project1/Project1.fsproj
when I run paket install for the main Paket project then this will get affected.
we should rename fsproj files in the before folder to fsprojtemplate and remove the suffix when we copy the files to temp.

In terms of behaviour, am I correct in thinking that rather than inserting BRs from all dependencies, it now checks what dependencies there are for each project one by one, and generates specific BRs for each of them?

Just to clarify: my comment was only referring to the integration tests. We
need to protect integration test data against run of paket update from the
root of the repo.
On Nov 3, 2015 1:26 PM, "Isaac Abraham"<EMAIL_ADDRESS>wrote:

In terms of behaviour, am I correct in thinking that rather than inserting
BRs from all dependencies, it now checks what dependencies there are for
each project one by one, and generates specific BRs for each of them?
—
Reply to this email directly or view it on GitHub
https://github.com/fsprojects/Paket/pull/1187#issuecomment-153337382.

oops :blush:
done in 142e28d

@isaacabraham kind of. It doesn't generate BRs for each referenced dependency, but for required referenced dependency only.
That means it'll only generate BRs for dependencies that are referenced and have a higher version than the version required for another assembly.
For example:
AutoFixture.Xunit 3.36.9 requires xunit.extensions ≥ <IP_ADDRESS>9 && < 2.0.0, but references xunit.extensions <IP_ADDRESS>9.
This PR will only generate BRs when needed. That means if a project has a dependency on AutoFixture.Xunit 3.36.9 but depends on xunit.extensions 1.9.2, it'll generate BR for xunit.extensions.
However, if the project references AutoFixture.Xunit 3.36.9 and xunit.extensions <IP_ADDRESS>9, no BR will be generated.

@mrinaldi so that's even better than what I was thinking - basically the minimal set of BRs that are required. LGTM.

is there something we should write into the docs?

/cc @dnauck

What about transient dependencies that needs BRs?
E.g. Dependency 1 has transient dependency on Newtonsoft.Json 5.x and Dependency 2 has transient dependency on Newtonsoft.Json 6.x ?
Looks like your PR (just read the text here) will not generate a BR for Newtonsoft.Json in this case but this is required.

@dnauck actually, it does.
Using this paket.dependencies
source https://www.nuget.org/api/v2/

nuget PushoverQ.Json
nuget Newtonsoft.Json.Schema

And this paket.references
PushoverQ.Json
Newtonsoft.Json.Schema

This is the resulting app.config:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<runtime><assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
  <dependentAssembly>
    <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
    <bindingRedirect oldVersion="<IP_ADDRESS>-999.999.999.999" newVersion="<IP_ADDRESS>" />
  </dependentAssembly>
  <dependentAssembly>
    <assemblyIdentity name="Microsoft.ServiceBus" publicKeyToken="31bf3856ad364e35" culture="neutral" />
    <bindingRedirect oldVersion="<IP_ADDRESS>-999.999.999.999" newVersion="<IP_ADDRESS>" />
  </dependentAssembly>
</assemblyBinding></runtime></configuration>

Added 7b3533e to make sure that even if --createnewbindingfiles is specified, the app.config is not created if no binding redirect is required.

@forki We can improve the docs describing the new behavior, albeit the old behavior is not described.
In my opinion, however, the current docs are ok.

cool! thanks so much!


Use path selection algorithm from "Tor Path Specification"

Note that this is already (mostly?) implemented in Python in torps/pathsim.py. Ideally most of that work can just be ported in.

Implemented in 3bda6b5fb6. Implementation is mostly lifted from torps/pathsim, with some updates to make stuff more "Pythonic" and testable and work with Twisted.


Error searching for Equipment Packs

I might just need to php code help, but I have a website that uses this API for the data. When searching through the equipment, my results always return invalid when I search for any equipment packs, ie Explorer's pack (equipment/155 - 160).
I also can only however search for items like Alchemist's supplies (equipment/161-177) if I copy and paste it directly from the overall list.
The apostrophe doesn't match what the keyboard inputs.
{"name":"Scholar's Pack","url":"http://www.dnd5eapi.co/api/equipment/160"},{"name":"Alchemist’s supplies","url":"http://www.dnd5eapi.co/api/equipment/161"}
feel free to try on dnd.colinjoneill.com

I think it might be a PHP issue? That is odd though. Also the indices will be different now that we have the  most updated version of the DB running.

I'm closing this for now. Feel free to open this again if you're still having issues.


Move styles to the new file popper-content.css

Hi @MrFrankel. I've just moved popper content styles to a new file popper-content.css in the pull request. It needed to me because I created a separate component for opening a popper and I want to import styles from your component to my component. Now I use a workaround - I've just copied your styles to my source files.
A separate component is needed for me because I open the popper from Highcharts and now your library cannot do it from the box.

sounds reasonable, ill merge this and try and release a version later

@dmytro-krekota iv'e published 6.1.0-beta, can you please check it before I release a version?

@MrFrankel, sure, I'll write to you later.

@MrFrankel, everything works fine, but my problem is not resolved, because npm brings to me compiles files to js without any separate style files. So, I'll keep copied styles in my project and wait for resolving of the ticket: https://github.com/angular/angular/issues/24463
Thank you.

this will not solve any problem, because no matter what you use, inline style or seperate style files, angular will always insert these styles to the last of head element, then your style will be loaded before the inline styles, so you will have to add !important to every style you modified, without !important your styles simply won't work.


problem in extractSift method

hello and thanks for your great code.
when I built the code in visual studio 2015 many errors apeared as scaleDown and other functions of cudaSiftD.cu has already defined. I made declarations for them in cudaSiftD.h and then comment the #include "cudaSiftD.cu" from cudaSiftH.cu.
but after running the project with inputs of left.pgm and righ.pgm exactly after finishing the extractSift method 0 points fiound as features in both images. what should I do?

hello. I solved my problem. in visual studio you should not build the module with __global methods I think.


Error: JSON Parse error: Unexpected identifier "error""

When using the btt command, it errors out. I believe this is coming from the script filter part. I haven't looked deeper to try and debug why.
Alfred debug log output:
[14:21:22.325] BTT[Script Filter] Queuing argument '(null)'
[14:21:22.649] BTT[Script Filter] Script with argv '(null)' finished
[14:21:22.653] BTT[Script Filter] {"items":[{"title":"Error","subtitle":"JSON Parse error: Unexpected identifier \"error\""}]}

Alfred Version: 5.1 [2134]
BetterTouchTool Version: 4.062

If I edit the script to add the following:
console.log(allNamedTriggersJSONString);

Then Alfred's debug logs gives a better reason as to why it failed:
[14:27:20.495] STDERR: BTT[Script Filter] error: external BetterTouchTool scripting disabled

It would be useful if this state was handled gracefully, and better guidance given to the user for how to fix it.

It would also be nice if this workflow allowed configuring the BTT Scripting Shared Secret to use, as otherwise when it is configured:

The script will cause a dialog like this to pop up:

And then (with the above console.log hack), will result in the following output in Alfred's debug log:
[14:35:44.814] Logging Started...
[14:35:46.875] BTT[Script Filter] Queuing argument '(null)'
[14:35:47.058] BTT[Script Filter] Script with argv '(null)' finished
[14:35:47.061] STDERR: BTT[Script Filter] null
[14:35:47.061] BTT[Script Filter] {"items":[{"title":"Error","subtitle":"null is not an object (evaluating 'allTriggers.map')"}]}

Although when there is no shared secret configured, I still seem to get that error.. so maybe the code in this workflow is just broken at the moment in general?

I'll try and give it a look over the next day or couple when I get a spare minute :)
Bugfix commit for future reference: https://github.com/dnnsmnstrr/alfred-btt/commit/4a81e5dc6ff2489e2fff6836829ff5037517fd4a


Request: add Master Slide placeholder

Is there anyway to Insert a "Placeholder" (this is the PowerPoint name) to a Master slide?

Hi @ineran,
That feature is not supported yet, so i'll add it an enhancement.

Hi @gitbrent,
This library is very impressive I have to say. This could be a game changer feature for me to create placeholders in a Slide Master that I can fill when creating a new slide from this Slide Master.

Hi @ManyBaby,
Thanks!  I haven't researched what changes need to be made to support this yet.  Let me look into the level of effort...

Thank you for your quick answer. Currently we are using a python library but we want to refactor to js.
Here is a link to this library documentation about placeholders:
http://python-pptx.readthedocs.io/en/latest/user/placeholders-understanding.html?highlight=placeholder
Hope this helps @gibrent.

Hi, I was wondering if there's any update on this?


ffmpeg: build fixes

Motivation for this change
The pkg-config files for ffmpeg_3 and ffmpeg_4 use an incorrect includedir, which prevents them being used through pkg-config.
While I'm here: fix a typo in the cross compilation flags.
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[x] Fits CONTRIBUTING.md.

Hmm, that certainly does seem a typo from 7864a17bfb1, at a shallow look at least; /cc @Ericson2314 anyway.


Fix OS Disk name

What happened:
The new code broke the naming convention with which OS Disks are created. In the case the VM is created with cascade delete set for OS Disk this will not be an issue. Since the cleanup of OS Disk will also happen when the VM is deleted. However, in case there is an older VM which does not have a cascade delete policy set for OS Disk and assume that the VM no longer exists. In that case when the new code attempts to delete the left over NICs and Disks (OS and Data disks) then it will delete everything except OS Disk due to bug in the way OS Disk name is created. There is an extra hyphen in the name that gets added.
What you expected to happen:
The OS Disk name should be correctly created
How to reproduce it (as minimally and precisely as possible):
Create a machine, delete the VM using az cli or azure portal and then delete the machine.

/close


Fix: error of pagination

fix error of pagniation when I create new skeleton svelte project using svelte-spectre UI kit
Upgrade svelte-spectre version.

Hello, @blokhin
Could you kindly check this PR? After check PR, Please update npm module. After update npm module, I can test it in new svelte skeleton project.

(new sveltekit project using vite)

(new sveltekit project using rollup)

@blokhin
I think this error occurs because you are trying to increment p with the statement (++p) in the {#each} block. However, in this context, the p variable is treated as a constant and cannot be reassigned.

Done as https://github.com/basf/svelte-spectre/pull/135/commits/dc616156b0b5ad2f3dd0d0e35fe2a3d0df433b2b


Added missing '-' if starting create-react-app through yarn

Hello,
I was trying the typescript version of create-react-app, and in 'yarn create react-app my-app --template typescript', I noticed that one '-' was missing between 'create' and 'react'.
I fixed one missing '-' in the markdown documentation.

Oh, I made a grave mistake.
Sorry for the confusion.
I will close pr.


Typing for BaseConverter convert doesn't respect CONSUME_MULTIPLE_SEGMENTS

Correct:
https://github.com/falconry/falcon/blob/6d7a45b207b6ca6372f26f96e331a3eb8af6ff7a/falcon/routing/converters.py#L49-L52
Wrong, should be value: str | list[str]:
https://github.com/falconry/falcon/blob/6d7a45b207b6ca6372f26f96e331a3eb8af6ff7a/falcon/routing/converters.py#L48

... although, str | list[str] is a bit awkward since the implementor will have to assert the correct type based on:
https://github.com/falconry/falcon/blob/6d7a45b207b6ca6372f26f96e331a3eb8af6ff7a/falcon/routing/converters.py#L39
I'm guessing there's no way to express that relationship in typing.
If not I don't know how much appetite to e.g. make the current BaseConvertor private (i.e. _BaseConvertor) and expose a separate BaseConvertor with an explicit CONSUME_MULTIPLE_SEGMENTS, as with PathConverter.

I think the elegant (but breaking) API for such scalar-or-vector argument is vararg.
def convert(*value: str) -> Any

then convert('a') and  convert ('a', 'b') are all valid.
It has the extra bonus of not needing to check isinstance(value, list) in implementation.

In retrospect, even typing aside, I think this is a design mistake, I just didn't think of this specific detail before. The converter should always receive a string value, if needed, pre-joint on / by the router.
We cannot change this now, but we should plan a breaking change for 5.0.

You mean that the converter should pre-join them here? https://github.com/falconry/falcon/blob/6d7a45b207b6ca6372f26f96e331a3eb8af6ff7a/falcon/routing/compiled.py#L1094-L1102
so that the current path converter becomes a no-op?
Maybe I guess. Overall it would probably help if we were to require subclassing here, so we could avoid using that classvar.

Ooh, someone suggested a good workaround using Protocols here:
https://discuss.python.org/t/typing-instance-based-on-classvar/69716/2


test pr

not sure which direction this pr is going.. creating as a test.

This change is

I guess that answers that question.. the wrong way.


Nuitka8.1 with Sanic，RuntimeWarning: coroutine 'BaseEventLoop.create_server' was never awaited

I freeze a simple sanic project with nuitka on windows11, but it doesn't work correctly。

Env: Windows11、Python3.7（64bit）、Nuitka8.1
Nuitka-Options:INFO: Used command line options: --follow-imports --standalone --mingw64 server.py
server.exe result

[2022-05-25 13:07:22 +0800] [11256] [ERROR] Experienced exception while trying to serve
Traceback (most recent call last):
File "D:\Projects\tavi\server.dist\sanic\mixins\runner.py", line 578, in serve
File "D:\Projects\tavi\server.dist\sanic\server\runners.py", line 206, in serve_single
File "D:\Projects\tavi\server.dist\sanic\server\runners.py", line 129, in serve
File "D:\Projects\tavi\server.dist\asyncio\base_events.py", line 579, in run_until_complete
File "D:\Projects\tavi\server.dist\sanic\app.py", line 1560, in _startup
File "D:\Projects\tavi\server.dist\sanic\touchup\service.py", line 26, in run
File "D:\Projects\tavi\server.dist\sanic\touchup\schemes\base.py", line 20, in call
File "D:\Projects\tavi\server.dist\sanic\touchup\schemes\ode.py", line 24, in run
File "D:\Projects\tavi\server.dist\inspect.py", line 973, in getsource
File "D:\Projects\tavi\server.dist\inspect.py", line 955, in getsourcelines
File "D:\Projects\tavi\server.dist\inspect.py", line 786, in findsource
OSError: could not get source code
Traceback (most recent call last):
File "D:\Projects\tavi\server.dist\server.py", line 26, in
File "D:\Projects\tavi\server.dist\sanic\mixins\runner.py", line 145, in run
File "D:\Projects\tavi\server.dist\sanic\mixins\runner.py", line 578, in serve
File "D:\Projects\tavi\server.dist\sanic\server\runners.py", line 206, in serve_single
File "D:\Projects\tavi\server.dist\sanic\server\runners.py", line 129, in serve
File "D:\Projects\tavi\server.dist\asyncio\base_events.py", line 579, in run_until_complete
File "D:\Projects\tavi\server.dist\sanic\app.py", line 1560, in _startup
File "D:\Projects\tavi\server.dist\sanic\touchup\service.py", line 26, in run
File "D:\Projects\tavi\server.dist\sanic\touchup\schemes\base.py", line 20, in call
File "D:\Projects\tavi\server.dist\sanic\touchup\schemes\ode.py", line 24, in run
File "D:\Projects\tavi\server.dist\inspect.py", line 973, in getsource
File "D:\Projects\tavi\server.dist\inspect.py", line 955, in getsourcelines
File "D:\Projects\tavi\server.dist\inspect.py", line 786, in findsource
OSError: could not get source code
sys:1: RuntimeWarning: coroutine 'BaseEventLoop.create_server' was never awaited
RuntimeWarning: Enable tracemalloc to get the object allocation traceback

server.py

import asyncio
from multiprocessing import Manager,freeze_support
from sanic import Sanic
from sanic.response import text

freeze_support()

app = Sanic("MyHelloWorldApp")

@app.get("/")
async def hello_world(request):
    return text("Hello, world.")

async def task1(app):
    while True:
        await asyncio.sleep(1)
        print("Hello, world.")

@app.listener("main_process_start")
async def start(app,loop):
    print("main_process_start")
    app.ctx.manager = Manager().dict()

app.add_task(task1(app))
if __name__ == '__main__':
    app.run(host='<IP_ADDRESS>', port=1337)

pip freeze

aiofiles==0.8.0
altgraph==0.17.2
future==0.18.2
httptools==0.4.0
importlib-metadata==4.11.4
multidict==6.0.2
Nuitka==0.8.1
ordered-set==4.1.0
pefile==2021.9.3
pyinstaller==5.1
pyinstaller-hooks-contrib==2022.5
pywin32-ctypes==0.2.0
sanic==22.3.2
sanic-routing==22.3.0
typing-extensions==4.2.0
websockets==10.3
zipp==3.8.0

You didn't see this, did you OSError: could not get source code. It seems it wants to check source code for whatever reason, any idea why?

Yes, you are right. I checked Sanic souce code and found  "touchup" modules load source code.
I changed some configuration and now it works.
Thanks for checking this.

app.config.TOUCHUP = False

Over @ Linux (ubuntu 22.04 lts), I'm getting a different error:

FileNotFoundError: [Errno 2] No such file or directory: 'main.dist/sanic_ext/extensions/openapi/ui/redoc.html'
If I copy in the stuff from site-packages manually I get the same error as above.

OP's error
Adding the following argument when running Nuitka should help:

--include-data-dir=".venv/lib/python3.10/site-packages/sanic=sanic"

The actual path to your sanic installation may very, in my case I have it inside my venv.
My issue (above)

FileNotFoundError: [Errno 2] No such file or directory: 'main.dist/sanic_ext/extensions/openapi/ui/redoc.html'

This should only happen if you have the sanic_ext package installed too.
It happens because Sanic tries generating the openapi docs.
It can be solved in 2 ways:

Either copy the whole sanic_ext package into the output folder (the one ending with .dist, eg.: main.dist)
Or just disable it altogether:

app = Sanic("ur-app")
app.extend(config={"oas": False})

Thanks for the help from the guys over at the Sanic Discord, especially to Adam Hopkins.

Manual copying is not supported at all. Rather than using paths, using --include-package-data would make more sense. If somebody figures out, which files to add, please add them to the Nuitka package configuration file as Yaml.

@Pirulax if that's a default, anti-bloat and the Yaml configuration could make that change automatically, because I doubt people want that to happen

This will make it straight to 2.0.2 too, once released, hopefully soon.

Great, thank you very much for the effort!

OP's error
Adding the following argument when running Nuitka should help:

--include-data-dir=".venv/lib/python3.10/site-packages/sanic=sanic"

The actual path to your sanic installation may very, in my case I have it inside my venv.
My issue (above)

FileNotFoundError: [Errno 2] No such file or directory: 'main.dist/sanic_ext/extensions/openapi/ui/redoc.html'

This should only happen if you have the sanic_ext package installed too. It happens because Sanic tries generating the openapi docs. It can be solved in 2 ways:

Either copy the whole sanic_ext package into the output folder (the one ending with .dist, eg.: main.dist)
Or just disable it altogether:

app = Sanic("ur-app")
app.extend(config={"oas": False})

Thanks for the help from the guys over at the Sanic Discord, especially to Adam Hopkins.

hadn't noticed this comment, in order to reproduce, is all that's needed is for the sanic_ext package to be available? or do i have to take other steps to reproduce?

I don't remember it anymore sadly.
but iirc you just have to install sanic_ext and that's it (and perhaps import it in the py code)

Copying anything was never supported or supposed to work, so lets not consider that at all. For the generation of docs, that probably needs to be disabled, if that's the case that it does this on the side, typical anti-bloat. So was I closing this prematurely or does it work for you @KevinRodriguez777 ?

For the generation of docs, that probably needs to be disabled

i don't think so, if it does something like FastAPI openAPI swagger docs generation, then it probably shouldn't be disabled as it's an feature

So was I closing this prematurely or does it work for you @KevinRodriguez777 ?

no i think you're fine, the sanic_ext is basically a different package and i'll include the datafile later on

` something like FastAPI openAPI swagger docs generation
[2024-02-11 02:01:36 -0500] [16896] [INFO]   > openapi [http://<IP_ADDRESS>:8000/docs]
yup. that's exactly what's happening.

Ok, I will not look deeply into these things, I trust you will handle it.


Feat/0.5.4

remove feature wasmedge_0_12, because wasmedge 0.12 has been released for a long time.
remove feature built-in-dns, select based on environment variables.

Hello, I am a code review bot on flows.network.
It could take a few minutes for me to analyze this PR. Relax, grab a cup of coffee and check back later. Thanks!


fix(dispatch): fixed handling of query arguments to run simulation route

Closes #2708

Also added use of runName argument for re-running simulations
Also added other query arguments for rerunning simulations from the breadcrumbs bar

:tada: This PR is included in version 3.1.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Add keys to models so React doesn't complain of child arrays requiring them

I think this is causing unexpected behavior in various places.

Without something like JSX it's just not possible to create keys on the Python side. I'm still not sure if doing JSX in Python is even a good idea, hence #282.
The only way to fix this for now is to generate unique keys in the client for each child element unless they've been explicitly set.

Never mind this needs to be solved server-side since the client doesn't know the identity of the elements. TBH though I don't really know why this isn't already causing bugs. I'm able to change the order of children without experiencing any side effects. Maybe React is just being smart and knows how to solve the problem cases I'm presenting it with?

This is now done.


Support Apple III and III+

It would be awesome for an enhanced ProDOS to support the Apple III and III+ given that ProDOS is a successor to SOS.

I just scrolled down on the ProDOS 2.5 page and saw there’s experimental III support! Excellent!

Hello, @eschaton .
Thank you for your interest in supporting ProDOS on the Apple III.
Are you able to help test ProDOS 2.5 support for the Apple III ?
Any testing help you could provide in that area would be very beneficial to the project.
Thanks.

Unfortunately I don’t have any Apple III hardware, only the same emulators everyone else has, which I don’t use often.

Understandable.
What are you using for an emulator? MAME?

MAME, Sara, etc. Like I said, I don’t use them often.


Incorrect RefreshFrequencyMinutes minimum value

It says "settings.configurationArguments.RefreshFrequencyMins	uint32	Specifies how often LCM attempts to check with the Automation account for updates. Default value is 30. Minimum value is 15."
Minimum value is 30 minutes - tried to use 15 (hoping it was actually reduced to 15) doesn't seem like this has taken effect in at least TypeHandlerVersion 2.76.

Document details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: a4ebf9bf-fb61-e694-1711-4fa00fc8a875
Version Independent ID: c0b1ab45-6775-b84b-09fa-c77709bbb5d0
Content: Desired State Configuration extension with Azure Resource Manager templates
Content Source: articles/virtual-machines/extensions/dsc-template.md
Service: virtual-machines-windows
GitHub Login: @bobbytreed
Microsoft Alias: robreed

@bobbytreed can you confirm if the doc is correct?

@justinbarias I referenced the similar issue here.
If possible share your configuration.

Thanks @jakaruna-MSFT
@justinbarias since we have the same question on another issue lets all work off that issues together. Will close this one and add you to the other.


save_image.py error...

Thank you for your edsdk-python code.
I am trying this "save_image.py"
There are two problem.
(1) 'PropertyEvent' is not defined
def callback_property(event: PropertyEvent, property_id: PropID, parameter: int) -> int:

NameError: name 'PropertyEvent' is not defined
(2) result is None, None
is it right?
Computer is connected to the EOS Canon camera with USB.

Same here.
When I just delete the PropertyEvent type constraint from the function I get:
File "C:\Users\thorsten.rissom\source\repos\edsdk-python\examples\save_image.py", line 63, in
print(edsdk.GetPropertyData(cam, PropID.SaveTo))
TypeError: EdsGetPropertyData() takes exactly 3 arguments (2 given)

Same here. You can also comment this line out and it works for me.

Same here. When I just delete the PropertyEvent type constraint from the function I get:
File "C:\Users\thorsten.rissom\source\repos\edsdk-python\examples\save_image.py", line 63, in print(edsdk.GetPropertyData(cam, PropID.SaveTo)) TypeError: EdsGetPropertyData() takes exactly 3 arguments (2 given)

The PropertyEvent is missing in the callback_property function, however, callback_property is never even called so it could be removed or an example of it could be added
GetPropertyData should be defaulting to 0 if its not provided but it seems that, that doesn't work

Looks like the callback_property function is trying to access the PropertyEvent but don't find it because is not imported. So I added the PropertyEvent in the from edsdk import () and commented the print(edsdk.GetPropertyData(cam, PropID.SaveTo)) in the main function. It worked.
Added the PropertyEvent in import

Commented the print in main function

yeah- thats what #2 does.


v2.8.1.dev1: Added bypass for timing irregularity in GSF Decoder

This adds a bypass so that expensive threads aren't spawned when wrapping a BytesIO object in an Async Wrapper
This build is a version of magpie which manually pulls in this branch into its tox environment, in order to demonstrate that it fixes some test timing irregularities:
https://jenkins.rd.bbc.co.uk/job/apmm-repos/job/rd-cloudfit-magpie-ingest-service/job/jamesba-pullinmodifiedmediagrains/1/console

Nb. Linked jenkins run fails, but not in unit testing (it can't find this branch to pull in when packaging)