[ NEW PAGE ] Transpiler Stage Details / Preset Passmanagers

What the new page should cover:

[ ] Which stages do or do not preserve unitarity equivalence
[ ] what stuff you need to know from the start: e.g. initial layout before the stage
[ ] pre/post stages

SME collaborators (involve for planning and review):
@1ucian0 @haimeng-zhang @mtreinish
Existing resources to build upon

https://qiskit.org/documentation/apidoc/transpiler.html#working-with-preset-pass-managers
https://qiskit.org/documentation/apidoc/transpiler.html
https://qiskit.org/documentation/apidoc/transpiler_plugins.html

Here's a discussion from the Defaults topic (https://github.com/Qiskit/documentation/pull/267#discussion_r1379270616) that probably fits   better with the Transpiler stage details section:
(Nick): One thing I think is super confusing is the difference between Layout and Routing (together I call these Mapping, but that might be a personal thing). At a functional level, I think of them as
Routing: insert SWAPs due to the limited connectivity of the lattice
Layout: pick the set of qubits in the lattice which to use based on their noise properties
However, in practice these seem to be somewhat conflated, likely do to needing to pick a set of qubits before you minimize the number of SWAPs? And I think of Sabre as being used for Routing and VF2 as used for Layout. Is this the right place to discuss this, or should be be linking to another doc where this is discussed.
Member
@mtreinish mtreinish 19 hours ago
Tl;dr It might be worth saving this for some of the details on stages section of the docs, because this makes more sense there talking about how all the stages are constructed. For the definition of what's in the different optimization levels by default even the list of trivial -> vf2 -> sabre might be too much detail for this document.
Yeah, they're tightly coupled. Sabre is actually both a routing algorithm and a layout algorithm (it selects a layout by using a routing algorithm but instead of inserting swap gates it swaps the qubits virtually in the layout). The typical pipeline outlined here for level 1 is we first try the trivial layout (0->0, 1->1, etc) if that matches device connectivity we use it and move on (skipping routing). If it doesn't then we run VF2Layout (which is different from VF2PostLayout) which uses rustworkx to find an isomorphic subgraph on the device to execute the circuit on with no swaps (and if it finds > 1 select the 1 with best noise properties) and also skip routing, then if nothing can be found we run SabreLayout to select a good heuristic layout.
Just to make it extra confusing, SabreLayout also runs routing and inserts swaps. This is done as an efficiency because the whole algorithm is written in rust and it's much faster to compute the layout, find the swaps with that layout, and then select the layout which gives you the best output and just return that as a single thing. Then to make it even more confusing VF2PostLayout runs as part of the routing stage to pick a better layout because it only can be used after routing. But these are implementation details of the specific algorithms we use in the presets and the stages are logically distinct but related at a high level (i.e. you need a layout to run routing because you can't compute where to insert swaps until you know which physical qubits you're running on).

In the Defaults topic, I came across this: init_method (str | None) – The plugin name to use for the init stage. By default an external plugin is not used. You can see a list of installed plugins by using list_stage_plugins() with "init" for the stage name argument.   It's hard to find the list of actual stages (you have to run another API.  Why?  Why not just list the possible values for stage?), but it does seem that init is one of them...
which implies that there is an official  "init" or initialization stage.  I see that this topic is going to cover the "pre" stuff, but maybe it should be listed as an actual stage; not just stuff that happens before the first stage.

In the Defaults topic, I came across this: init_method (str | None) – The plugin name to use for the init stage. By default an external plugin is not used. You can see a list of installed plugins by using list_stage_plugins() with "init" for the stage name argument. It's hard to find the list of actual stages (you have to run another API. Why? Why not just list the possible values for stage?), but it does seem that init is one of them...
which implies that there is an official "init" or initialization stage. I see that this topic is going to cover the "pre" stuff, but maybe it should be listed as an actual stage; not just stuff that happens before the first stage.

From what I've been able to gather, the init stage by default will only unroll 3 qubit gates and do some sanity checks if there are any control flow operations.  It can be customized with a plugin but otherwise doesn't do much by default.  I currently have a draft PR up where I talk about this some more in #283

Also @nbronn and @mtreinish, let me know what you think about the Layout and Routing stage sections in the pr.  I think I've captured the differences, but need some feedback to be sure.


Random 401 messages in the replies received on inbound Webhook Teams channel notification

Hello,
We have started to receive some random 401 (unauthorized) error inside the responses back to messages posted on inbound Webhook Teams channels. This was working fine this month but we start seeing these on Friday and a significant increase on yesterday (Mon 16th Oct). Behaviour noted in different Teams channels and also different MS organisations (our customers).
I have sanitized some of the content (keys, tokens, etc) but happy to share the full message privately.
See below the bad message:
15:27:03.479 [http-nio-8050-exec-1] [] [] [] INFO  i.v.n.g.teams.api.TeamsStrategy - Teams post notification response: <200 OK OK,Microsoft.Exchange.Security.TokenIssuer.Common.SubstrateTokenRequestException: Request db3754d9-2f88-42cf-a201-e9131f4e3251;1697470023;1.0;48af08dc-f6d2-435f-b2a7-069abd99c086;https://outlook.office.com;;[],ea80952ea47642d4aaf45457852b0f7e,48af08dc-f6d2-435f-b2a7-069abd99c086,;GlobalActor;{TokenScopeType,CloudInstance},{AccessType,HpaAsApp},{PopKey,[sanitised]to https://localhost:444/sts/token/1 on server AS4PR07MB8684 failed with status code 401(Unauthorized) and reason {Message:STI server AS4PR07MB8684 failed to process request. Error: Request [sanitised];https://outlook.office.com;;[],[sanitised],;GlobalActor;{TokenScopeType,CloudInstance},{AccessType,HpaAsApp},{PopKey,{[sanitised]\ is unauthorized, the public key warqvR45thDtXFmf0RCvmtXXdLU= is not found for ring WW, cannot validate signature}. The response headers are: Date:Mon, 16 Oct 2023 15:27:02 GMT;Server:Microsoft-HTTPAPI/2.0.,[alt-svc:h3=:443,h3-29=:443, cache-control:no-cache, content-length:2020, content-type:text/plain; charset=utf-8, date:Mon, 16 Oct 2023 15:27:03 GMT, expires:-1, ms-cv:F1nlD18PvVdkFcucJ+TzOA.1.1, pragma:no-cache, request-id:0fe55917-0f5f-57bd-6415-cb9c27e4f338, server:Microsoft-HTTPAPI/2.0, strict-transport-security:max-age=31536000; includeSubDomains, x-aspnet-version:4.0.30319, x-backendhttpstatus:200,200, x-bepartition:CLEURPRD07AMS10, x-beserver:AS4PR07MB8684, x-beservicestate:Orphaned, x-cafeserver:AS4P192CA0048.EURP192.PROD.OUTLOOK.COM, x-calculatedbetarget:AM8PR07MB8248.eurprd07.prod.outlook.com,AM8PR07MB8248.eurprd07.prod.outlook.com, x-feefzinfo:AMS, x-feproxyinfo:AS4P192CA0048, x-feserver:DUZPR01CA0010, x-firsthopcafeefz:DUB, x-nanoproxy:1,1, x-proxy-backendserverstatus:200, x-proxy-routingcorrectness:1]>
This is causing us significant issues as we have customers using the MS Teams notifications and these are not delivered to them although our application is delivering the notification to Microsoft infrastructure and we do not know why we see these plus we are not able to fully understand the response format. Could you please share/point us in a direction where we can understand what is 100% OK and what is not as the replies start with 200 OK OK,
Thank you
PS: This is what good looks like (in form of a response received from Microsoft). from the same date and same webhook channel.
12:29:00.177 [http-nio-8050-exec-1] [] [] [] INFO  i.v.n.g.teams.api.TeamsStrategy - Teams post notification response: <200 OK OK,1,[alt-svc:h3=:443,h3-29=:443, content-length:1, content-type:text/plain; charset=utf-8, date:Mon, 16 Oct 2023 12:28:59 GMT, ms-cv:j4T47zVwMmSIjJZfNSrHEg.1.1, request-id:eff8848f-7035-6432-888c-965f352ac712, server:Microsoft-HTTPAPI/2.0, strict-transport-security:max-age=31536000; includeSubDomains, x-backendhttpstatus:200,200, x-bepartition:CLEURPRD07AMS10, x-calculatedbetarget:AM8PR07MB8248.eurprd07.prod.outlook.com,AM8PR07MB8248.eurprd07.prod.outlook.com, x-end2endlatencyms:1855, x-feefzinfo:AMS, x-feproxyinfo:AS4P190CA0045, x-feserver:DUZPR01CA0035, x-firsthopcafeefz:DUB, x-nanoproxy:1,1, x-proxy-backendserverstatus:200, x-proxy-routingcorrectness:1]>

Others reporting the same issue at https://answers.microsoft.com/en-us/msteams/forum/all/teams-webhook-error-despite-200-ok/920464d2-dd9c-4fae-847a-99855f6498f2 and https://learn.microsoft.com/en-us/answers/questions/1393552/teams-webhook-suddenly-stopped-working

Yes, this issue has been reported in other forums as well. There is an ongoing issue in Exchange Connectors. An incident has been raised related to this error - Web Hooks erroring randomly, unauthorized, the public key XXXXXXXXXXXXXXXXX = is not found for ring WW, cannot validate signature"}. We will keep you posted on the updates. Thank you.

The issue has been mitigated, could you please confirm if it is working fine now.

Hello, the issue seems to have stopped on the 16th in our case but the main aspect is still present for us. We do not know the response message structure and it is difficult to parse and understand when should we retry a message based on current documentation. Outside of the retry mechanism related to the rate-limiting (429 errors) we do not know what other errors might be there. Can you please share with us additional details on the response structure and best way to identify what is good and what is bad? I am sure that everyone following this would find this beneficial, especially when it comes to the transient issues reported on the forums.
Thanks

@nssecrier - We have shared this feedback with engineering team.

We received the below update from engineering team - There's history behind 200 for errors. Lots of 3P systems will disable the webhook if any non-200 error codes are received and typically the person who setup the webhook in the 3P system is different than the users relying on the connectors for messaging which makes it hard to update the webhook URL if a new one needs to be provisioned after the previous one was disabled by the 3P system.
So, O365 Connectors return 200 for what they think are retry-able.
The response can be considered successful only if it returns a number in the response, else it is a failure even if status is 200. This is corresponding to the number of messages sent, but for most of the cases, it is just the number 1, that indicates successful response.


UVCC operator creation on demand

What is the expected enhancement?
UVCC operator creation should be split out circuit building in the same manner as was done for UCC in #601

Fixed by #615


🐛Bug: CLI uses yarn to install Melt

Describe the bug
Regardless of the package manager, the CLI chooses yarn as the default package manager when installing melt.
To Reproduce
Steps to reproduce the behavior:

Create a svelte site pnpm create svelte@latest
cd in
add melt cli pnpx @melt-ui/cli@latest init
See yarn install and yarn.lock

Expected behavior
Use correct package manager, in my case pnpm.
Screenshots

Thanks for raising the issue!
This is a bit to be expected as the we use @antfu/ni to determine the user's PM based on the lockfile type in the project. As this was a fresh project that didn't have a lockfile, it's supposed to default to npm, which is very odd that it didn't for you 🤔
In any case, I pushed a patch to the CLI that should resolve this by defaulting to the current PM that's specified in the process's user-agent if a lockfile isn't present: https://github.com/melt-ui/cli/releases/tag/v0.0.5
Feel free to check it out and let us know if this resolves the issue!

(Will be closing as solved, but let us know in case something's still amiss)


Version bump and update uws to work.

This is needed as uws deleted all their old packages from npm server, as described in this issue: https://github.com/uWebSockets/uWebSockets/issues/551

Hey @Ughuuu, I've had accepted your previous pull-request already: https://github.com/gamestdio/colyseus/pull/46
Just released version 0.4.15 with your fix: https://github.com/gamestdio/colyseus/releases/tag/0.4.15
Thanks again!


Optimize userName and domainWord

My apologies for the amount of PRs! (and there is one more to come after)
Something I forgot when moving from #723 to #725.
transliterate() result is surely ascii compatible[1]. And in any hypothetical worst-case scenario (like user messing low level), mb_strtolower() wouldn't fix anything anyways, but make upfront bug less noticeable.
The contract is clear: transliterate() result is ascii compatible. And with this commit we save 2 function calls each time, which is great.
[1] return preg_replace('/[^A-Za-z0-9_.]/u', '', $transString);

Thanks!


Implement a means to filter the VoVoms JSON array based on "bad" VOs

Some VOs do not have vomses.
The json array passed by lavoisier contains all VOs, some of which we know the task will fail on, since they have a nonstandard structure - this causes the json_query lookup to fail.
 It would be nice to pass known-bad items to the query in order to exclude them.

Probably the easiest way to do this is to maintain a cache of the clean json in the repo. It is much easier to use specific tools outside of Ansible to clean this data. This could be kept as a kind of git hook.

This has been done in #12


rofi-power-menu: init at 3.0.2

Motivation for this change
New package
Things done
using this for month with xmonad+rofi, no problems encountered

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
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 nixpkgs-review --run "nixpkgs-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)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

@ikervagyok This package was recently updated here, if you want to update the nix config:
https://github.com/jluttine/rofi-power-menu/pull/18
I would submit a PR, but I've never contributed to nixpkgs and am not sure how to set the right sha hash :sweat_smile:


coreboot-utils: init at 4.10

Motivation for this change
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 nix-review --run "nix-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)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Notify maintainers
cc @

@worldofpeace
I am aware it is not best practise to use custom phases, but I think the advantage here is that new tools can be easily added. If you see any better way to do this, I would like to see it.

One alternative I see is putting each tool in an own derivation, but using a generic expression for them. Do you think that's preferable?

I don't get why ofborg is failing

Ah, pmtools is an alias.

@worldofpeace
I am aware it is not best practice to use custom phases, but I think the advantage here is that new tools can be easily added. If you see any better way to do this, I would like to see it.

I'd say ideally, coreboot would just have a Makefile in the util directory with targets for each of the utilities.

One alternative I see is putting each tool in an own derivation, but using a generic expression for them. Do you think that's preferable?

I'm not sure about putting each tool into it's own derivation.
Current disadvantage of coreboot-utils is that you can't have just one utility, so maybe split it.
Though it does seem to be more popular

https://repology.org/project/coreboot-utils/versions

My only nit currently is that it looks a bit procedural, we could use loops to make it clearer.
Fake code looks like
makeFlags = [
  "PREFIX=${placeholder "out"}"
];

preBuild = ''
  cd util
'';

buildPhase = ''
  runHook preBuild

  for util in ...directories of tools; do
    make $makeFlags -C $util
  done

  runHook postBuild
'';

installPhase = ''
  ....similar thing as build phase
'';

postFixup = ''
  ...should wrap that program here
'';

@worldofpeace: I found it easier to solve it like this, please take a look

We should be good to go then :)

I noticed when building i had to unpack the archive multiple times, but I guess there's no way around that.

It looks like it tries to install things to sbin
├── bin
│   ├── acpidump-all -> /nix/store/50ydys5lgnqbv34rvpra2jwa7ys85g3l-acpidump-all-4.10/bin/acpidump-all
│   ├── amdfwtool -> /nix/store/b78wwi966a4an64gk19nhmkblzqp42wv-amdfwtool-4.10/bin/amdfwtool
│   ├── cbfs-compression-tool -> /nix/store/f1qvacrckyvnxshkdpl37gzf06zlhl2s-cbfstool-4.10/bin/cbfs-compression-tool
│   ├── cbfstool -> /nix/store/f1qvacrckyvnxshkdpl37gzf06zlhl2s-cbfstool-4.10/bin/cbfstool
│   ├── cbmem -> /nix/store/3nbj9bmrdnvg9s3a919kq3ns2wil93lz-cbmem-4.10/bin/cbmem
│   ├── ectool -> /nix/store/ypinf2l28mn05j5jdzx5szx5i0fx8dly-ectool-4.10/bin/ectool
│   ├── fmaptool -> /nix/store/f1qvacrckyvnxshkdpl37gzf06zlhl2s-cbfstool-4.10/bin/fmaptool
│   ├── ifdtool -> /nix/store/skwh2bdgjppksr4sn5nmw0cp4h4qnpxk-ifdtool-4.10/bin/ifdtool
│   ├── ifittool -> /nix/store/f1qvacrckyvnxshkdpl37gzf06zlhl2s-cbfstool-4.10/bin/ifittool
│   ├── ifwitool -> /nix/store/f1qvacrckyvnxshkdpl37gzf06zlhl2s-cbfstool-4.10/bin/ifwitool
│   ├── intelmetool -> /nix/store/hsf1rgq5aqv2bhjhlka1n574wzjaa5i2-intelmetool-4.10/bin/intelmetool
│   ├── inteltool -> /nix/store/8m36y393g2ikfnk9y04h84kklvif8jyw-inteltool-4.10/bin/inteltool
│   ├── msrtool -> /nix/store/cayfmg47wgliwmwz5cn77hmvwphr2601-msrtool-4.10/bin/msrtool
│   ├── nvramtool -> /nix/store/kcysznlapfr4cj3vz8nd6k8hbhaz3pgv-nvramtool-4.10/bin/nvramtool
│   ├── rmodtool -> /nix/store/f1qvacrckyvnxshkdpl37gzf06zlhl2s-cbfstool-4.10/bin/rmodtool
│   └── superiotool -> /nix/store/l28ay2p1ly63nz9dw3bddj8ls0z4r85d-superiotool-4.10/bin/superiotool
├── sbin
│   ├── cbmem -> /nix/store/3nbj9bmrdnvg9s3a919kq3ns2wil93lz-cbmem-4.10/sbin/cbmem
│   ├── ectool -> /nix/store/ypinf2l28mn05j5jdzx5szx5i0fx8dly-ectool-4.10/sbin/ectool
│   ├── intelmetool -> /nix/store/hsf1rgq5aqv2bhjhlka1n574wzjaa5i2-intelmetool-4.10/sbin/intelmetool
│   ├── inteltool -> /nix/store/8m36y393g2ikfnk9y04h84kklvif8jyw-inteltool-4.10/sbin/inteltool
│   ├── msrtool -> /nix/store/cayfmg47wgliwmwz5cn77hmvwphr2601-msrtool-4.10/sbin/msrtool
│   ├── nvramtool -> /nix/store/kcysznlapfr4cj3vz8nd6k8hbhaz3pgv-nvramtool-4.10/sbin/nvramtool
│   └── superiotool -> /nix/store/l28ay2p1ly63nz9dw3bddj8ls0z4r85d-superiotool-4.10/sbin/superiotool

and we have setup hook that moves these things, but it probably doesn't work because of duplication?
Perhaps look at which makefiles do this and install manually, or maybe there's a way to override it.

It looks like it tries to install things to sbin
├── bin
│   ├── acpidump-all -> /nix/store/50ydys5lgnqbv34rvpra2jwa7ys85g3l-acpidump-all-4.10/bin/acpidump-all
│   ├── amdfwtool -> /nix/store/b78wwi966a4an64gk19nhmkblzqp42wv-amdfwtool-4.10/bin/amdfwtool
│   ├── cbfs-compression-tool -> /nix/store/f1qvacrckyvnxshkdpl37gzf06zlhl2s-cbfstool-4.10/bin/cbfs-compression-tool
│   ├── cbfstool -> /nix/store/f1qvacrckyvnxshkdpl37gzf06zlhl2s-cbfstool-4.10/bin/cbfstool
│   ├── cbmem -> /nix/store/3nbj9bmrdnvg9s3a919kq3ns2wil93lz-cbmem-4.10/bin/cbmem
│   ├── ectool -> /nix/store/ypinf2l28mn05j5jdzx5szx5i0fx8dly-ectool-4.10/bin/ectool
│   ├── fmaptool -> /nix/store/f1qvacrckyvnxshkdpl37gzf06zlhl2s-cbfstool-4.10/bin/fmaptool
│   ├── ifdtool -> /nix/store/skwh2bdgjppksr4sn5nmw0cp4h4qnpxk-ifdtool-4.10/bin/ifdtool
│   ├── ifittool -> /nix/store/f1qvacrckyvnxshkdpl37gzf06zlhl2s-cbfstool-4.10/bin/ifittool
│   ├── ifwitool -> /nix/store/f1qvacrckyvnxshkdpl37gzf06zlhl2s-cbfstool-4.10/bin/ifwitool
│   ├── intelmetool -> /nix/store/hsf1rgq5aqv2bhjhlka1n574wzjaa5i2-intelmetool-4.10/bin/intelmetool
│   ├── inteltool -> /nix/store/8m36y393g2ikfnk9y04h84kklvif8jyw-inteltool-4.10/bin/inteltool
│   ├── msrtool -> /nix/store/cayfmg47wgliwmwz5cn77hmvwphr2601-msrtool-4.10/bin/msrtool
│   ├── nvramtool -> /nix/store/kcysznlapfr4cj3vz8nd6k8hbhaz3pgv-nvramtool-4.10/bin/nvramtool
│   ├── rmodtool -> /nix/store/f1qvacrckyvnxshkdpl37gzf06zlhl2s-cbfstool-4.10/bin/rmodtool
│   └── superiotool -> /nix/store/l28ay2p1ly63nz9dw3bddj8ls0z4r85d-superiotool-4.10/bin/superiotool
├── sbin
│   ├── cbmem -> /nix/store/3nbj9bmrdnvg9s3a919kq3ns2wil93lz-cbmem-4.10/sbin/cbmem
│   ├── ectool -> /nix/store/ypinf2l28mn05j5jdzx5szx5i0fx8dly-ectool-4.10/sbin/ectool
│   ├── intelmetool -> /nix/store/hsf1rgq5aqv2bhjhlka1n574wzjaa5i2-intelmetool-4.10/sbin/intelmetool
│   ├── inteltool -> /nix/store/8m36y393g2ikfnk9y04h84kklvif8jyw-inteltool-4.10/sbin/inteltool
│   ├── msrtool -> /nix/store/cayfmg47wgliwmwz5cn77hmvwphr2601-msrtool-4.10/sbin/msrtool
│   ├── nvramtool -> /nix/store/kcysznlapfr4cj3vz8nd6k8hbhaz3pgv-nvramtool-4.10/sbin/nvramtool
│   └── superiotool -> /nix/store/l28ay2p1ly63nz9dw3bddj8ls0z4r85d-superiotool-4.10/sbin/superiotool

and we have setup hook that moves these things, but it probably doesn't work because of duplication?
Perhaps look at which makefiles do this and install manually, or maybe there's a way to override it.

It moves the files, and then creates a symlink from sbin to bin so that things don't break. Is this a problem?

It moves the files, and then creates a symlink from sbin to bin so that things don't break. Is this a problem?

Ahh, I forgot it was a buildEnv. So what happens is it works properly individually, but when they get merged with buildEnv sbin becomes an actual directory with symlinks to symlinks.
I think that's kinda messy for coreboot-utils, can you prune that away?

It moves the files, and then creates a symlink from sbin to bin so that things don't break. Is this a problem?

Ahh, I forgot it was a buildEnv. So what happens is it works properly individually, but when they get merged with buildEnv sbin becomes an actual directory with symlinks to symlinks.
I think that's kinda messy for coreboot-utils, can you prune that away?

Sure, done.

Done

Thanks for fixing this @petabyteboy  :sparkles:


Added Boo bindings for raylib!

Here we go!
We done it in 3 days...Thanks god and thanks raysan! ❤

@Rabios thanks! good work!


[Icon request] Add an icon for visual studio team services

[x] I'm submitting an icon request:

Type: folder
Icon Name: vsts
Sample original Icon:
Extensions: none
Folder names: .vsts, vsts
Language ids: none

More info:

Icon as zipped SVG (was not allowed to upload SVG, so I had to zip it)

basically this is supposed to be used like docker or .docker, put all your CI/CD related files in there instead of having them clutter your root directory

Please see #650.


Correct the default value for isRenderable in the AnnotationElement constructor, to fix breaking errors when rendering unsupported annotations

This regressed in PR #8828.
When attempting to open e.g. http://mirrors.ctan.org/macros/latex/contrib/pdfcomment/doc/example.pdf, the annotation layers are now missing since Error: Abstract method AnnotationElement.render called is thrown multiple times.
Note: In the old code we'd fallback to false, see https://github.com/mozilla/pdf.js/pull/8828/commits/af10f8b5866a7ec6a2ae1d988271b6ff8f70f5a4#diff-1097e3b131ba22f8e8a6c2f20e3ab5ecL109; but in the re-factored code true is being used instead, see https://github.com/mozilla/pdf.js/pull/8828/commits/af10f8b5866a7ec6a2ae1d988271b6ff8f70f5a4#diff-1097e3b131ba22f8e8a6c2f20e3ab5ecR98.  Thank you for fixing this so quickly!


Missing Favicon

Favicon is a great way to customize the website

I would like to work on this

I'll start assigning issues to all contributors from 10th June when the contribution period starts till then have patience

@nilisha-jais Sure

Can I work on this issue? I'm a participant of LGM Soc21.

I like to work on this issue and I'm a participant of LGM Soc21.

Hey mentor and project admin I being a participant at LGMSOC I want to work on this issue it would be great if u could assign this to me.

Assigned @nisha331 , go ahead.


Increase code coverage to an acceptable level

Code coverage currently sits at 35.7%, which is low.
Edit: poa and tokenfactory modules coverage sit at 53.9% and 39.9% respectively. See https://github.com/strangelove-ventures/poa/pull/148 and https://github.com/strangelove-ventures/tokenfactory/pull/5

The interchaintest tests are calling the manifestd a lot.
Idea: Instrument manifestd with coverage support and retrieve the coverage data. Merge this coverage data with unit test coverage data.
It works when using bare Docker but not via interchaintest
I'm not sure how to continue.

I modified interchaintest to propagate chain environment variables so that GOCOVERDIR behaves correctly: https://github.com/fmorency/interchaintest/tree/chain-env
I added a method to retrieve the coverage data at the end of a given test (using client.CopyFromContainer())

The problem is that the retrieved coverage data is empty.
I think I need a mechanism to be able to retrieve the coverage data from every temporary container spawned by interchaintest and not only from the "main" test container.

See #45. Should improve the coverage by a lot.

#45 bumped the coverage to 60%. There is room for improvement, but we're off to a good start.


created Extending-TrialEmulation vignette for Data Stores

@darkgoldenrod-cherry Could you review my additions to see if it reads ok?


Privilege Escalation documentation

Create privilege escalation documentation
Privilege escalation is a critical capability for Bolt. By nature, the configuration of appropriate privilege escalation mechanisms is often carefully controlled and scrutinized, especially in large organizations, to prevent privilege exploits or breach of governance.
Bolt should provide clear documentation about how it uses privilege escalation, how to appropriately configure privilege escalation for Bolt, and relevant considerations and concerns with regards to Bolt's use of it.
See: the excellent Ansible documentation on this topic. In particular, the Privilege Escalation Must Be General header. Explaining that "You cannot limit privilege escalation permissions to certain commands [...]", and why, is particularly important for customers to know about Bolt's use of and requirements around privilege escalation.

First step is writing up some predocs

The docs started in #1902 look great, but they don't complete this issue.
Per the issue description, we have a specific need for a call-out in our docs discussing Bolt's privilege escalation requirements as it relates to escalation policy.
We need to have a statement similar to the Privilege Escalation Must Be General header referenced. This statement is less about the technical implementation of how Bolt uses a privilege escalation system, and more about how, and why, the privilege escalation system's policy must be configured, in order for Bolt to operate successfully.
Does that make sense?

Alright, I gave it a shot https://github.com/puppetlabs/bolt/pull/1958


Upgrade test apps to the latest SDK from pub.dev

Scope the following by each app

Demo (test) apps upgraded
Sample apps upgraded

@Intiserahmed can you provide an update?  The team believes you have worked on?

@ksanty Yeap I have upgrade the test app to the latest SDK.

Once RSDK packages are published, this issue will be taken up


Track - Tax applied during submission is not reflected in transaction thread

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number: 1.4.69-0
Reproducible in staging?: Y
Reproducible in production?: Y
If this was caught during regression testing, add the test name, ID and link from TestRail: N/A
Issue reported by: Applause - Internal Team
Action Performed:
Precondition:

There is a workspace with tax enabled

Go to staging.new.expensify.com
Go to FAB > Track expense
Track a manual expense
In 1:1 DM, click Categorize it from the whisper
Select a workspace and category
On confirmation page, fill in all details and add tax rate
Submit the expense
Go to transaction thread

Expected Result:
Tax applied in Step 6 will be reflected in the transaction thread
Actual Result:
Tax applied in Step 6 is not reflected in the transaction thread
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

Screenshots/Videos
Add any screenshot/video evidence

https://github.com/Expensify/App/assets/78819774/65d19c86-f98e-4bd1-8070-6f8608cf6574
View all open jobs on GitHub

@jliexpensify  FYI I haven't added the External label as I wasn't 100% sure about this issue. Please take a look and add the label if you agree it's a bug and can be handled by external contributors

We think that this bug might be related to #wave-collect - Release 1

Hi @MonilBhavsar - you're working on all Tax issues right? Have assigned you to take a look at this one. Thaaks!

@MonilBhavsar can we close this issue, or would you prefer to keep it open until the PR is deployed?

We can close this and reopen if required.


intersectionのスタック防止

Description
https://github.com/autowarefoundation/autoware.universe/pull/5243
https://github.com/autowarefoundation/autoware.universe/pull/5264
https://github.com/autowarefoundation/autoware.universe/pull/5280
https://github.com/autowarefoundation/autoware.universe/pull/5304
https://github.com/autowarefoundation/autoware.universe/pull/5332
https://github.com/autowarefoundation/autoware.universe/pull/5353
のうち https://github.com/autowarefoundation/autoware.universe/pull/5353 （本PRのintersectionのスタック防止に関わる）以外についてはコードやデータ構造の変更だけ残して機能面の変更は削除
Related links
feature PR: https://github.com/tier4/autoware_launch.xx1/pull/678
Tests performed

Notes for reviewers

Interface changes

Effects on system behavior

Pre-review checklist for the PR author
The PR author must check the checkboxes below when creating the PR.

[ ] I've confirmed the contribution guidelines.
[ ] The PR follows the pull request guidelines.

In-review checklist for the PR reviewers
The PR reviewers must check the checkboxes below before approval.

[ ] The PR follows the pull request guidelines.
[ ] The PR has been properly tested.
[ ] The PR has been reviewed by the code owners.

Post-review checklist for the PR author
The PR author must check the checkboxes below before merging.

[ ] There are no open discussions or they are tracked via tickets.
[ ] The PR is ready for merge.

After all checkboxes are checked, anyone who has write access can merge the PR.

念を押してlsimでテストしきったら僕の方でマージします！


feat(graphql): Add sorting option to  single-entity search GraphQL API

Checklist

[x] The PR conforms to DataHub's Contributing Guideline (particularly Commit Message Format)
[ ] Links to related issues (if applicable)
[ ] Tests for the changes have been added/updated (if applicable)
[ ] Docs related to the changes have been added/updated (if applicable). If a new feature has been added a Usage Guide has been added for the same.
[ ] For any breaking change/potential downtime/deprecation/big changes an entry has been made in Updating DataHub

What's the use case here for using this search path? This function is a likely candidate for deprecation and API calls should utilize searchAcrossEntities which is the main search endpoint our product uses. For a single entity you can specify which entity to search across in searchAcrossEntities if you need it to be targeted.

What's the use case here for using this search path? This function is a likely candidate for deprecation and API calls should utilize searchAcrossEntities which is the main search endpoint our product uses. For a single entity you can specify which entity to search across in searchAcrossEntities if you need it to be targeted.

We have some custom pages built that use the search endpoint instead of the searchAcrossEntities. These changes were a part of this PR previously - Add sorting option to GraphQL search , which I have refined based on the current upstream functionalities and tests. Also could you please let us know the reason for the deprecating the single-entity search API.

What's the use case here for using this search path? This function is a likely candidate for deprecation and API calls should utilize searchAcrossEntities which is the main search endpoint our product uses. For a single entity you can specify which entity to search across in searchAcrossEntities if you need it to be targeted.

We have some custom pages built that use the search endpoint instead of the searchAcrossEntities. These changes were a part of this PR previously - Add sorting option to GraphQL search , which I have refined based on the current upstream functionalities and tests. Also could you please let us know the reason for the deprecating the single-entity search API.

It is not really maintained, its functionality is a subset of that provided by searchAcrossEntities and that is the endpoint that continues to receive updates to functionality. We would rather not maintain multiple endpoints with the same functionality.

What's the use case here for using this search path? This function is a likely candidate for deprecation and API calls should utilize searchAcrossEntities which is the main search endpoint our product uses. For a single entity you can specify which entity to search across in searchAcrossEntities if you need it to be targeted.

We have some custom pages built that use the search endpoint instead of the searchAcrossEntities. These changes were a part of this PR previously - Add sorting option to GraphQL search , which I have refined based on the current upstream functionalities and tests. Also could you please let us know the reason for the deprecating the single-entity search API.

It is not really maintained, its functionality is a subset of that provided by searchAcrossEntities and that is the endpoint that continues to receive updates to functionality. We would rather not maintain multiple endpoints with the same functionality.

Alright, that makes sense. Thank you for the clarification, I guess we can close this PR since these changes would anyway be temporary due to deprecation, we can work towards utilising the searchAcrossEntities endpoint across our project for future compatibility with upstream.

Closing this PR owing to the discussion above


2.1" Half Circle Touch Sleep(?)

I just purchased the 2.1" LilyGo-T-RGB half circle.
I've made a simple UI and was playing around with it.  It's quite literally a screen with some text on it I guess similar to the Hello World example.  I've noticed the touch (or screen? but I'm assuming touch) seems to go to sleep within about 30 seconds on not being used.  The problem with this is that it then seems to take a few attempts at touching the screen to wake it up and register a touch event.
How can I prevent this sleep or whatever is happening?

Read the coordinates again when the touch is interrupted


audit: add conflicts whitelist

[x] Have you followed the guidelines in our Contributing document?
[x] Have you checked to ensure there aren't other open Pull Requests for the same change?
[x] Have you added an explanation of what your changes do and why you'd like us to include them?
[ ] Have you written new tests for your changes? Here's an example.
[ ] Have you successfully run brew tests with your changes locally?

Add exceptions for<EMAIL_ADDRESS>and<EMAIL_ADDRESS>to use conflicts_with instead
of keg_only :versioned_formula since they are no longer supported by the
current node formula's npm.

As in, return if formula.name.start_with? "node@" instead of a generic whitelist?

As in, return if formula.name.start_with? "node@" instead of a generic whitelist?

Either is fine with me but just all the versions going under the 🔪

@MikeMcQuaid PR refreshed.


access: may-start-trybots

Hi. Please consider me for may-start-trybots. See https://go.dev/wiki/GerritAccess.

work account https://go-review.googlesource.com/q/hickford%2540google.com
personal account https://go-review.googlesource.com/q/matt.hickford%2540gmail.com

cc @golang/release

Hi Matt,
I've added to you may-start-trybots.
As described at https://golang.org/wiki/GerritAccess#trybot-access-may-start-trybots, please be sure to at least skim CLs before starting a trybot run.
Thanks for your contributions!


No longer receiving updates

Is the application stopped monitoring new programs? Because I am no longer receiving new updates since 1 week.

Hi Plavanabond,
Apologies for the delay in response. Thank you for letting us know. The issues have been resolved, and you can now proceed to use the service.
Additionally, there is an upcoming update that hopefully will make up for the delay. To stay informed about the update sooner, you can follow me on Twitter at ali_khalkhali0.


Need better example

The example on this page dies help in understanding the topic.  This topic is very interesting and a better example would definitely help.
Thank you.

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

ID: a1d090c6-31b0-9d48-1c14-6d332babdc04
Version Independent ID: 84c9558d-397f-12b5-7547-984610c8a9c1
Content: Preprocessor Directives in AL - Business Central
Content Source: dev-itpro/developer/directives/devenv-directives-in-al.md
Service: dynamics365-business-central
GitHub Login: @SusanneWindfeldPedersen
Microsoft Alias: solsen

possible dupe of https://github.com/MicrosoftDocs/dynamics365smb-devitpro-pb/issues/2223


Leaf breaker ability does not update vines

makes mangrove wood a bit more annoying to manage

Fixed! :)


an error about loading model by using triton

hi, i use triton's docker to run your model,and my step is

cp centerface to model_repository/

because of the network, i download the model from browser and run 'python3 change_dim.py'
and the sha256sum of my centerface.onnx is 77e394b51108381b4c4f7b4baf1c64ca9f4aba73e5e803b2636419578913b5fe

docker run --rm -p8000:8000 -p8001:8001 -p8002:8002 -v/path/to/model_repository:/models nvcr.io/nvidia/tritonserver:20.09-py3 tritonserver --model-repository=/models --model-control-mode=explicit --load-model centerface

and i got an error: model_repository_manager.cc:899] failed to load 'centerface' version 1: Invalid argument: model 'centerface', tensor '537': the model expects 4 dimensions (shape [1,1,-1,-1]) but the model configuration specifies 4 dimensions (shape [1,1,120,160])
i don't know what the problem is. Thank you so much!

Hi,
Please run this application with deepstream docker :https://ngc.nvidia.com/catalog/containers/nvidia:deepstream/tags and use the 5.1-21.02-triton tag.


RailsSchemaUpToDate has spurious errors

Here's are two scenarios in which a spurious error is thrown. Both of these problems arise in a multi-developer PR workflow where multiple people are modifying the schema at the same time.
Base Scenario
Let's say db/schema.rb is at version 1000
First pull request:

add db/migrate/2345.rb
db/schema.rb is updated to version 2345

Second pull request:

add db/migrate/1234.rb
db/schema.rb is updated to version 1234

Failure 1
If the first pull request gets merged in, and the second author merges/rebases to pick up the changes, their PR now looks like:

add db/migrate/1234.rb
db/schema.rb is at version 2345 (it doesn't change because you keep the higher number: http://edgeguides.rubyonrails.org/active_record_migrations.html#schema-dumps-and-source-control)

For normal migrations, this is just fine and overcommit won't complain since there will be table/column changes in schema.rb. However, if the migration doesn't change any tables or columns (for example, a data migration that normalizes phone numbers), the error that gets triggered is: "It looks like you're adding a migration, but did not update the schema file".
I'm not sure how best to solve this other than setting it to just :warn instead of :fail.
https://github.com/brigade/overcommit/blob/6c259b7ec504055ffef64cdd50b24a37b6e552f5/lib/overcommit/hook/pre_commit/rails_schema_up_to_date.rb#L6
Failure 2
The following error can get thrown if PR2 gets merged in first.
return :fail, "The latest migration version you're committing is " \
                       "#{latest_version}, but your schema file " \
                       "#{schema_files.join(' or ')} is on a different version."

latest_version is now 1234 (since it scans for applicable_files and doesn't find 2345), but db/schema.rb only stores the latest number 2345 (db/structure.sql stores all versions, so it doesn't have this problem).
This can be fixed by looking at all possible migration files to find latest_version instead of just from the applicable_files set.

Thanks for the report, @wli.
@jfelchner, any thoughts on this?

We've been using this hook at @brigade and haven't experienced the issues reported here, but I'm sure it's dependent on the development process we use (we use a cherry-pick model and rebase frequently on top of master). Perhaps we've just gotten lucky.
Always happy to accept a pull request fixing this, but I'm closing due to lack of movement.

@sds yeah I tried to track it down and couldn't reproduce.


Advice: The build script can be optimized

Every time I build the helloSystem ISO, the packages and files used in building will be downloaded or installed again. It's a waste of time. I think the shell script can be modified to detect whether the packages are installed, and if their correct version are installed, skip the reinstallation.

At least in theory, the downloaded packages should be cached and re-used. Doesn't it work for you? Can you think of ways to improve the mechanism without introducing more complexity?

In FreeBSD, the downloaded packages are cached, so in this script (build.sh), it will not download again. But the problem is, it will install the packages again.

We are building a new filesystem image from scratch each time - how could we do this without installing what shall go into it?


Doc enhancement for component: func

Taken from here.

When you use component (instead of render, below) the router uses React.createElement to create a new React element from the given component. That means if you provide an inline function you will get a lot of undesired remounting. For inline rendering, use the render prop (below).

Could you explain why this is probably undesired? Just one or two additional sentences - not more. When we switched from beta.6 to beta.7 several of our components behaved unexpected. It looks like we needed remounting so it looks like we need to rewrite our render to component.
E.g. we use a lazy loading component for code splitting like this which fetches a module inside componentDidMount.

You're creating a new anonymous function on every render of that <Route>. Therefore React is going to recreate and mount the new instance of that function every time it needs to render the route.
As for your components not working correctly, it's likely because of shouldComponentUpdate usage (in your case, via mobx). This guide was written to describe the problem and help fix it: https://github.com/ReactTraining/react-router/blob/v4/packages/react-router/docs/guides/blocked-updates.md

Thanks for the feedback. I know MobX and shouldComponentUpdate is the "problem" here, but I didn't know that there is already a recommended solution with blocked-updates.md.
Anyway my original question was more about why should I use <Route component>? The docs explain really good what happens when you use <Route component>,  <Route render> and <Route children>, but for <Route component> there is only the description that it has undesired remounting - there is no explanation when <Route component> should be used. (I guess there must be a use case or it wouldn't be included at all. 😃 ) (E.g. <Route children> has a small use case explanation that it could be useful for animations.)

You cannot do this:
class MyComponent extends React.Component {
  render() {

This is my component

  }
}

<Route render={MyComponent} />

Anyway my original question was more about why should I use ?

Given https://github.com/ReactTraining/react-router/issues/4661 is the use case if you need side-effects in mount-related lifecycle hooks?


"Watch" count is incorrect for organizations.

Hello,
If you have an organization set-up, and create a repository, the default "Watched" count becomes 2. If you unwatch it with your user, the watch count becomes 1, and there is no way to put it down to 0.
Gogs version <IP_ADDRESS>6 Beta from docker image.
Still problematic in <IP_ADDRESS>7 Beta #develop.

Organization watches itself in order to get news feeds, so code logic is much simpler.

Understood, now that i know that it makes perfect sense. Will close the issue.

:trollface:


Suggest quality filtering in Trimmomatic

I am seeing intermittent cases where Trimmomatic is failing to remove adapter sequences properly. In the attached alignment, it is assembling 4 separate contigs from what is clearly the same VDJ rearrangement --the problem is adapter contamination. When I add  LEADING:3 TRAILING:3 SLIDINGWINDOW:4:20 to the Trimmomatic command line, it gets correctly assembled into a single contig spanning the entire amplicon, as seen in the attachment.
quality_example.txt

Thank you for the suggestion. I will incorporate these changes.


[Bug]: Collecting Event Navigate by Identifier greyed out in Edit CE Task

Steps to reproduce the bug
1. Find or create two collecting events with sequential trip identifiers in the same trip namespace
2. Edit one of the CEs
3. Click Navigate
4. The Next/Previous by buttons for Identifier are greyed out

Screenshot
The next CE exists:

But the navigate options have Identifier greyed out:

Expected behavior
When I click navigate, I expect to be able to be able to go to the next / previous CE in the same trip namespace.
Additional Screenshots
No response
Environment
Sandbox
Sandbox Used
sandwich
Version
95c1df859
Browser Used
brave browser (chromium)

Note to self.  I think this is tuned to Identifier::Local::CatalogNumber.  Uncertain what should happen for CE related, maybe swap in TripCode.


Slugify and Strapiv4.1.2 with GraphQL -  'admin::permission' of undefined

Error message:

[2022-03-03 17:10:02.429] info: [slugify] graphql detected, registering queries
[2022-03-03 17:10:03.035] debug: ⛔ Server wasn't able to start properly.
[2022-03-03 17:10:03.035] error: Cannot read property 'admin::permission' of undefined
TypeError: Cannot read property 'admin::permission' of undefined
at <folder>/node_modules/strapi-plugin-slugify/server/graphql/types.js:18:13
at <folder>/node_modules/lodash/lodash.js:4967:15
at baseForOwn (<folder>/node_modules/lodash/lodash.js:3032:24)
at <folder>/node_modules/lodash/lodash.js:4936:18
at Function.forEach (<folder>/node_modules/lodash/lodash.js:9410:14)
at getCustomTypes (<folder>/node_modules/strapi-plugin-slugify/server/graphql/types.js:17:4)
at extension (<folder>/node_modules/strapi-plugin-slugify/server/graphql/index.js:10:10)
at resolveConfig (<folder>/node_modules/@strapi/plugin-graphql/server/services/extension/extension.js:54:47)
at <folder>/node_modules/@strapi/plugin-graphql/server/services/extension/extension.js:59:74
at Array.reduce (<anonymous>)
at Object.generate (<folder>/node_modules/@strapi/plugin-graphql/server/services/extension/extension.js:58:22)
at buildMergedSchema (<folder>/node_modules/@strapi/plugin-graphql/server/services/content-api/index.js:103:55)
at Object.buildSchema (<folder>/node_modules/@strapi/plugin-graphql/server/services/content-api/index.js:54:20)
at Object.module.exports [as bootstrap] (<folder>/node_modules/@strapi/plugin-graphql/server/bootstrap.js:26:6)
at Object.bootstrap (<folder>/node_modules/@strapi/strapi/lib/core/domain/module/index.js:40:47)
at Object.bootstrap (<folder>/node_modules/@strapi/strapi/lib/core/registries/modules.js:28:19)
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

Sample package.json

    "@strapi/plugin-graphql": "^4.1.2",
    "@strapi/plugin-i18n": "4.1.2",
    "@strapi/plugin-users-permissions": "4.1.2",
    "@strapi/strapi": "4.1.2",
    "sqlite3": "5.0.2",
    "strapi-plugin-slugify": "^2.1.1"

No additional plugin configuration.

Sample repo: https://github.com/vmptk/strapi-slug

I'm also facing the same issue.
Strapi Version: v4.1.0
Plugin Version: 2.1.1
Plugin configuration: N/A As I've just installed the plugin and run the server.
Thanks!

Hi! Same problem over here..
Strapi Version: v4.1.2
Plugin Version: ^v2.1.1
Plugin Configuration:
(..config/plugins.js)
   slugify: {
    enabled: true,
    config: {
      contentTypes: {
        instantie: {
          field: "slug",
          references: "profiel",
        },
      },
    },
  },

Thanks in advance!

Thank you for the information. I will investigate the issue.
I did test it on my side before release and had no issues. Very strange.

I can't reproduce this issue in the exact same constellation.

This looks to be a bug on strapis end.
The only way I was able to reproduce this was to not have the plugin listed in the plugins.js file. It looks like if the plugin is not listed in that file the register file for the plugin still triggers while the bootstrap one does not. That is the cause of this issue and not something I should need to fix on my end.
At minimum to fix this issue one of the following configurations in the plugins.js file is required
slugify:{
  enabled: false
}

or
slugify:{
  enabled: true
}

I was not able to reproduce the issue.
TLDR: it looks to be a bug on strapis side. The plugin should be listed in plugins.js (which it should be) with a minimum configuration.

Hi! Same problem over here..
Strapi Version: v4.1.2 Plugin Version: ^v2.1.1 Plugin Configuration:
(..config/plugins.js)
   slugify: {
    enabled: true,
    config: {
      contentTypes: {
        instantie: {
          field: "slug",
          references: "profiel",
        },
      },
    },
  },

Thanks in advance!

@mikeyfe6 do you have a reproducible example for this? When I tried this configuration the server started with no issue.

Hello, I had the same problem and I found how to avoid the issue at least.
In the ./config/plugins.js file you need to make sure to list all the slugify configuration just before the graphql one, therefore, you need to have the graphql plugin config.
module.exports = ({ env }) => ({
    slugify: {
        enabled: true,
        config: {
            contentTypes: {
                modelName: {
                    field: 'slug',
                    references: 'title',
                },
            },
        },
    },
    graphql: {
        enabled: true,
        config: {
            defaultLimit: 10,
            maxLimit: 20,
            shadowCRUD: true,
            apolloServer: {
                tracing: true,
            },
        }
    },
})

@ComfortablyCoding with the inverted order in the plugin config it is working... definitely it is a bug in the Strapi plugin system. @maneroto thanks for the hint!!!

At the moment it does not look like plugin order can be enforced.
I will add a note about ensuring graphql is placed before the plugin config as well as a minimal config is required.
Thanks @maneroto for finding this requirement.


Why my result is such unclear? any body have the experiments?

I also meet the same problem.

given:
Prompt: A person is riding a bicycle past the Eiffel Tower.

Hi Xiaomin. Thanks for the feedback. How about other checkpoints? Like [https://github.com/showlab/MotionDirector#motiondirector-trained-on-a-single-video]. Generally, setting the same seed as listed in the readme will generate the same result as shown.

Hi Xiaomin. Thanks for the feedback. How about other checkpoints? Like (https://github.com/showlab/MotionDirector#motiondirector-trained-on-a-single-video). Generally, setting the same seed as listed in the readme will generate the same result as shown.

Yep, results from training on a single video are the same. thx

Nice. Maybe I confused the checkpoints of the riding bicycle. Will check that.

hi, I found a new problem, a train on a single video (prompt: A person is skateboarding)
Given the same seed=6668889 and prompt="A panda is skateboarding." during both training and inference.

sample a video during training with ckpt-300
the result is pretty good.
https://github.com/showlab/MotionDirector/assets/25433111/a35240a6-4b65-41d8-906c-b15f1f300741

however,
2. sample a video during inference with ckpt-300
the performance is bad.
https://github.com/showlab/MotionDirector/assets/25433111/ec55528f-6a94-49af-84e6-f79134d4dc58
Could you please check the inference code or check the reason (maybe the hyper-parameters)? I and my co-worker met the same problem.
Inference hyper-parameters I used:
"args": [                 "--model",                 "/15764332239/pretrained_models/text-to-video-ms-1.7b",                 "--prompt",                 "A panda is skateboarding.",                 "--checkpoint_folder",                 "./outputs/train/skateboard-single-video",                 "--checkpoint_index",                 "300",                 "--noise_prior",                 "0.5",                 "--seed",                 "6668889"             ],

How about inference with checkpoint_index=150 look like?

For faster convergence, we set a large learning rate, which may cause instability in the late training steps. If you want a more stable but slower training, you can try to reduce the learning rate. Enjoy exploring the optimal hyperparameters for your own training task.

Setting the seed fixed for inference will make sure to generate the same results. However, setting the same random seed does not mean you will get the exactly same results in the inference stage and training stage.  Because every time the seed is called in the training stage, it will change.

Setting the seed fixed for inference will make sure to generate the same results. However, setting the same random seed does not mean you will get the exactly same results in the inference stage and training stage. Because every time the seed is called in the training stage, it will change.

Thanks, I just mistakenly thought the seed below was the validation seed.

Thanks again for your nice reply.

Thanks for pointing this out. I have deleted this confusing item.


Async API Engine

Async API Engine
Motivation
Currently the SM API is fully synchronous. However, this is no longer sufficient.

Some of SM's current APIs (namely CU /v1/service_brokers) take a long time to execute on bigger environments (close to 60 seconds) because a lot of things are happening under the hood
The current synchronous broker API does not wait for confirmation that the notifications that are created during broker registration/update have been processed
SM has to eventually behave as an OSB platform - meaning SM should have "lifecycle APIs" for managing service instances and service bindings directly in SM

The general idea behind the SM async APIs is described in https://github.com/Peripli/specification/pull/31
Approach
A new operations package is added. It introduces abstractions for:

JobScheduler - schedules async API jobs
WorkerPool - executes schedules async API jobs
Maintainer - cleans up operations older than specified time and also ensures no orphan operations are left out

The abstraction for a Controller is extended and now controller can provide a JobScheduler - for APIs which are not meant to be executed asynchronously an empty implementation can be provided.
Pull Request status

[x] Initial implementation
[x] Refactoring
[x] Unit tests
[x] Integration tests

Coverage decreased (-2.2%) to 85.584% when pulling ced4c88a40f08e2f414c606438b7a087e11d8c22 on async-engine into 22c55e2b9465a3251091a40191fb70e244d538ca on master.

Two general things we might think on while designing this:

Does it make sense to provide an API to view all of the running jobs?
is there a way that a job may get stuck? If yes, there needs to be a way to cancel the job externally (e.g. via an API)

Things to add before finishing this POC:

Introduce ClaimedAt property to operation & fix the updateOrphanOperations function
Update operations to failed if a job takes too long

Operation has to be created as soon as possible (before returning 202 accepted) as the job might not be picked up for proceesing immediately if there are no free resources (keep in mind the client starts polling immediately and expects to get  a meaningful response on polling)

The core of the implementation is in place. There are things that we as a team need to discuss before proceeding. Among which:

How do we determine which operations are stuck/orphaned due to SM crash? Current design had us marking operations created longer than the last job_timeout period as FAILED, but this is not a good indicator, as an operation may have not been claimed for processing due to unavailable workers:

Option 1: Introduce ClaimedAt property to operations resource. We'll mark operation as claimed once it starts executing. Proposal PR
Option 2: Categorise operations older than X number of job_timeout periods. This way we don't introduce new properties.

Discarding executing Create/Update operations if they are followed immediately by Delete operation.

This is doable, but will require a pgnotify-like implementation in order for all nodes of SM to get notified when a new operation is stored. All currently executing jobs on every node would be able to check if the new operation stored is a DELETE operation for the same resource and could cancel the current CREATE or UPDATE operation.
It would be best if we could reuse our Notificator abstraction. It's not as generic as we'd like though, as it's very coupled with the our SM notifications. So this would require some time spent refactoring.

Consider worker pool logic:

Using an in-memory jobs channel processed by worker pool (as is the current implementation)
Constantly pinging DB for new operations processed by worker pool (no in-memory jobs channel, very costly, much overkill)
pgnotify-like implementation where worker pool listens for new operation entities (requires refactoring to Notificator like mentioned above)
No worker pool and no in-memory jobs channel. Proposal PR](https://github.com/Peripli/service-manager/pull/379)

Why do we need the worker pool? (to have a dedicated configurable abstraction over execution of asynchronous jobs)
Why separate pool per resource? (some requests might take much longer than other to process; spawn a whole bunch of them and you could use up all available workers and block other potentially faster requests)
How do we determine the optimal pool size? If we set the pool size too low, the jobs will be delayed unnecessarily. (experience will show for itself)


Update mixins.scss

Fix Breaking Change: Slash as Division

Can you try to merge with master? I just upgraded to the latest sass version.


Use GeneratedFileAuxData rather the attributes to find the generated …

…contract.

This change is

crates/cairo-lang-starknet/src/contract.rs line 52 at r1 (raw file):

            // Note that we skip generated_file_info[0] because we are interested in modules
            // that the plugin acted on and not modules that were created by the plugin.

The copy here:
https://github.com/starkware-libs/cairo/blob/87343ebab310a3fa0b7d85692aaf999da16ab4fe/crates/cairo-lang-defs/src/db.rs#L272
Is a bit annoying as it means the StarkNetAuxData is also located on all the submodules that were generated by the plugin.
Code quote:
            // Note that we skip generated_file_info[0] because we are interested in modules
            // that the plugin acted on and not modules that were created by the plugin.

crates/cairo-lang-starknet/src/contract.rs line 51 at r3 (raw file):
Previously, yuvalsw wrote…
Much better - but I still don't understand:
the modules that plugins acted on are at [0]. The ones that are in [k] (k>0) are the ones that were generated by plugins, and not necessarily ones that plugins acted on.

"the modules that plugins acted on are at [0]" does not make sense.
if the module with 'module_id' is in the original code than db.module_generated_file_info(*module_id)?[0] Is None.
if that module with 'module_id' was generated by a plugin than  db.module_generated_file_info(*module_id)?[0] hold the aux info that that was returned by the plugin when it generated the module.

crates/cairo-lang-starknet/src/contract.rs line 51 at r3 (raw file):
Previously, ilyalesokhin-starkware wrote…
"the modules that plugins acted on are at [0]" does not make sense.
if the module with 'module_id' is in the original code than db.module_generated_file_info(*module_id)?[0] Is None.
if that module with 'module_id' was generated by a plugin than  db.module_generated_file_info(*module_id)?[0] hold the aux info that that was returned by the plugin when it generated the module.

If  db.module_generated_file_info(*original_module_id)?[k] is Some(StarkNetContractAuxData) it means that the starknet plugin acted on the module with original_module_id and generated some code (Maybe this code has modules and maybe not)


potential build problem under MSYS2

Hello,
When I use following configuration, I encounter error to build skcms:
cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=RelWithDebInfo -DBUILD_SHARED_LIBS=ON -DBUILD_TESTING=OFF -DJPEGXL_ENABLE_MANPAGES=OFF -DJPEGXL_ENABLE_EXAMPLES=OFF -DJPEGXL_ENABLE_PLUGINS=ON -DJPEGXL_ENABLE_SJPEG=OFF -DJPEGXL_ENABLE_SKCMS=ON -DJPEGXL_FORCE_SYSTEM_BROTLI=ON -DJPEGXL_FORCE_SYSTEM_HWY=ON -DCMAKE_CXX_FLAGS="-DHWY_COMPILE_ONLY_SCALAR" ../libjxl/
$ make skcms
[  0%] Building CXX object third_party/CMakeFiles/skcms-obj.dir/skcms/skcms.cc.obj
cc1plus.exe: fatal error: C:C:/msys64/msys64/home/daniel/libjxl/lib/jxl/enc_jxl_skcms.h: Invalid argument
compilation terminated.
make[3]: *** [third_party/CMakeFiles/skcms-obj.dir/build.make:77: third_party/CMakeFiles/skcms-obj.dir/skcms/skcms.cc.obj] Error 1
make[2]: *** [CMakeFiles/Makefile2:326: third_party/CMakeFiles/skcms-obj.dir/all] Error 2
make[1]: *** [CMakeFiles/Makefile2:307: third_party/CMakeFiles/skcms.dir/rule] Error 2
make: *** [Makefile:192: skcms] Error 2

After editing build\third_party\CMakeFiles\skcms-obj.dir\flags.make to remove c: it works well.
When I use cmake -G Ninja there is no problem at all.
I just wanted to let you known. It is good to explicitly recommend to use Ninja generator under MSYS2 to avoid build problems. Or is possible to make it to work with the Unix Makefiles generator too?

Did you try w/ "MSYS Makefiles" just in case (though I expect little would change)?

Same problem with MSYS Makefiles

Well, was worth a punt... In any case should be preferred over "Unix Makefiles" in MSYS2 shell as it defines extra variables like MSYS...

This is a problematic part of the cmake script, there was similar problem in the past too: https://github.com/libjxl/libjxl/issues/568

MSYS Makefiles is for apps/lib needed in msys2 dev, it should not be used for"native" compilation
i've cloned git today, run deps.sh, and it compiled; I can paste my compilation script is you want
best regards

After commit https://github.com/libjxl/libjxl/commit/8917d6afbcd98e29f85e81c0e8596f94a5c1d4aa the error slightly changed.
cc1plus.exe: fatal error: C:C:/msys64/msys64/home/daniel/libjxl/third_party/../lib/jxl/enc_jxl_skcms.h: Invalid argument
@vtorri
Yes, you can share your scripts. I am just curious, maybe I'll learn something new.

@novomesk  in third_party/skcms.cmake line 38, add a space between -include and ${CMAKE_CURRENT_SOURCE_DIR}
it works for me
that's for such crazy problems (and so much nicer syntax) that i prefer meson over cmake

Thanks, it works.


Make the 'command' language use buildpacks

Expose artifact and handler as BuildTemplate parameters
Fixes #905

Rebased on latest master
Blocked by https://github.com/projectriff/riff-buildpack-group/pull/3 (or we could push a manual version of the builder for now)

We'll also need to add artifact and handler support for local builds, but we can add that in a separate PR

can you run make docs and include the updated output?


Add GenericSequencer, ThreadSequencer

The idea here is to have a more generic sequencer that can drop down to specialized implementations, based on the number of workers (similar to the communication allocators).
The immediate need was to drop down to a glorified VecDeque in single worker mode, such that we can easily run 3DF (and maybe interactive as well?) in single-threaded, blocking mode, without hogging the CPU.
When running with blocking I/O we would otherwise have to be very careful to always reconcile the sequencing dataflow fully, otherwise we might stall.
If you think this is a good idea, @frankmcsherry, I can clean up and add a test. Otherwise I can just keep this within declarative.
edit: sorry I cargo fmt-ed a bit too carelessly there.

Probably just within declarative for the moment is best. Ideally I'd like to track down the source of the issue (probably: that sequencer doesn't go quiet even when there is no work?).
There is probably a simpler way to do what you've done, if you are interested:
pub struct Sequencer<T> {
    activator: Rc<RefCell<Option<CatchupActivator>>>,
    send: Rc<RefCell<VecDeque<T>>>, // proposed items.
    recv: Rc<RefCell<VecDeque<T>>>, // sequenced items.
}

You could probably just link send and recv in the constructor when there is just one worker, not constructing a dataflow at all. Maybe harder to do in declarative, but we could drop that into timely I figure.
But again, I'd love to know more about the bad thing that sequencer is currently doing. I believe you that there is a thing, but I'm not clear on what it is yet. :D

By "link" you mean point them at the same underlying RefCell<VecDeque<T>>? I will try that. In general I agree, it doesn't feel like something that shouldn't have to live in core Timely.
I think there is one bad thing that the Declarative server is doing, which is not probing the sequencing dataflow sufficiently. It makes sense to fix that independently of anything else, but I also think it makes sense to avoid constructing the extra dataflow in single-threaded mode.
The busy-waiting in Timely (which I presume is what you're referring to with "the sequencer doesn't go quiet"?) wouldn't be an issue because we would block until user input anyways.
Apart from being useful during development, a single-threaded, embeddable, non-all-CPU-consuming query engine seems pretty doable with what we have already (now that Hector has made expressing complex queries directly in Rust pretty reasonable). I'm thinking of something akin to the now dead mentat project.
(aside: That is actually how the WebAssembly version of Declarative works right now and I like it a lot, because (for example) it makes it possible to only step dataflows when the browser isn't busy rendering something.)

Ok, this seems to work! Got rid of all the new stuff. Only significant change was to make the entire activator construct held in Sequencer optional itself (s.t. it still throws if for some reason we push before the dataflow has been created).

I think with chill in master and this can be closed?

I don't need to keep it open myself. If you all have the sense that chill achieves the goals this was meant to achieve (calming down workers) then feel free to close. The perf optimization for sequencer is sane to discuss, but .. maybe let's kick that can down the road until we feel the pain of sequencer throughput.


Name of read-write attribute?

https://github.com/michaelpq/michaelpq.github.io/blob/master/_posts/2016-12-09-postgres-10-libpq-read-write.markdown
Hello,
Based upon your blog I was looking into connecting to the master in a cluster setup but it seems that property documented in your blog does not work anymore in the final 10 release?
In the end I just followed the official docs and use targetServerType
Wdyt?

targetServerType is not part of PostgreSQL's connection string options, and as the blog mentions, the option is documented here:
https://www.postgresql.org/docs/devel/static/libpq-connect.html#libpq-connect-target-session-attrs
Perhaps you are using pgpool or the Postgres JDBC driver? I see no problems in the post or the documentation.

Indeed I incorrectly assumed it was a jdbc connection string and thus was talking about usage with the Postgres JDBC Driver. Thanks for clearing this up!


2022 Alibaba Summer of Code

2022 Alibaba Summer of Code
Welcome to the open source world! If you haven't planned how to spend this summer, come to the Alibaba Summer of Code and code with us! 💻
Alibaba Summer of Code is a global program focused on engaging students directly in open source software development. Under the guidance of the mentor in the Alibaba open source project, students can experience software development in the real world. Alibaba Summer of code will begin from May 30th to September 1st. Students can use the summertime to participate in the open source project and work with the core members of the project.
What you can get?
On this exclusive developer journey, students will have the opportunity to:

Participate in the top projects of the International Open Source Foundation;
Get a scholarship from Alibaba;
Obtain an open source contributor certificate;
Get a fast pass of Alibaba Internship
Get your code adopted and used by the open source project！

Our Mentor
Gaius (@gaius-qi ), ASoC Mentor, Dragonfly Maintainer.
Jim (@jim3ma ), ASoC Mentor, Dragonfly Maintainer.
Sunwp (@jim3ma ), ASoC Mentor, Dragonfly Maintainer.
Timeline

Apply Now!
Browse open idea list here:

Dragonfly 中基于机器学习的多场景自适应智能 P2P 节点调度算法及优: https://github.com/dragonflyoss/Dragonfly2/issues/1329
Dragonfly 中 P2P 传输协议优化: https://github.com/dragonflyoss/Dragonfly2/issues/1330
通信框架的高并发、高可用、高性能提升: https://github.com/dragonflyoss/Dragonfly2/issues/1331

Upload your CV and project proposal via ASOC 2022 official website：ASOC2022
Contact the Organizer
If you have any questions, visit the event website:https://opensource.alibaba.com/asoc2022
Email address<EMAIL_ADDRESS>

@gaius-qi Is there any project left for ASOC 2022  ?


ci(website/infra): lint-staged issue in website

Summary
https://github.com/web-infra-dev/rspack/issues/7182#issuecomment-2236771277

Checklist

[x] Tests updated (or not required).
[x] Documentation updated (or not required).

👍


Missing pal_motion_loader package in simulation (ROS Noetic, kinetic-devel branch)

After following the installation guide for ROS Noetic, we tried to launch the robot in simulation via:
roslaunch tiago_gazebo tiago_gazebo.launch public_sim:=true end_effector:=pal-gripper

It throws a runtime error related to a missing pal_motion_loader package (simulation starts, but the planner doesn't, and the tuck_arm node gets stuck). It does work on a previous installation on the sources we downloaded back in September 2023. To sum up:

Simulation works at old version 2.3.13 (after applying https://github.com/pal-robotics/tiago_robot/commit/238e7eaf32513d9a134986950972b0d1524aeab4).
Simulation breaks at current version 2.3.17.
Cause: now the planner requires an additional pal_motion_loader that is not installed alongside other repos via rosinstall (diff).

On a side note, during the catkin build phase, there are a few CMake errors caused by find_package(REQUIRED). It is necessary to install them manually via apt install ros-noetic-<package>. I presume the rosinstall script is incomplete.

Besides, the following instruction listed at the end of the installation guide also throws a dependency error due to not being able to find a pal_motion_loader package:
rosdep install -y --from-paths src --ignore-src --rosdistro noetic --skip-keys "urdf_test omni_drive_controller orocos_kdl pal_filters libgazebo9-dev pal_usb_utils speed_limit_node camera_calibration_files pal_moveit_plugins pal_startup_msgs pal_local_joint_control pal_pcl_points_throttle_and_filter current_limit_controller hokuyo_node dynamixel_cpp pal_moveit_capabilities pal_pcl dynamic_footprint gravity_compensation_controller pal-orbbec-openni2 pal_loc_measure pal_map_manager ydlidar_ros_driver"

Hello @PeterBowman,
You are right. There is a missing package to be public. We are trying to solve the issue at our end. Once it is solved, we will get back to you.
Thank you,
Best Regards,
PAL Robotics Team.

Hello @PeterBowman,
The package is now available on github. if you redownload (wget https://raw.githubusercontent.com/pal-robotics/tiago_tutorials/noetic-devel/tiago_public-noetic.rosinstall) the rosinstall and redo the steps it should work now
The needed package is available here if needed: https://github.com/pal-robotics/pal_motion_loader
Best Regards,
PAL Robotics Team


cannot change user-agent

I am changing the phantom user-agent string from the page.settings, but it's not actually changing the user-agent. If you inspect navigator.userAgent it shows the PhantomJS agent string.
var page = require('webpage').create(),
system = require('system'),
address, output, size;

address = system.args[1];
output = system.args[2];
page.customHeaders =  {
    'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36'
};
page.viewportSize = { width: 1024, height: 800 };
page.settings.userAgent = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36';
page.open(address, function (status) {
    if (status !== 'success') {
        console.log('Unable to load the address!');
        phantom.exit(1);
    } else {
        window.setTimeout(function () {
            console.log(navigator.userAgent);
            phantom.exit();
        }, 200);
    }
});

navigator.userAgent should return Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36
but it returns Mozilla/5.0 (Macintosh; Intel Mac OS X) AppleWebKit/538.1 (KHTML, like Gecko) PhantomJS/2.0.0 Safari/538.1
Tested on PhantomJS 2.0.0 and 1.9.8 on MacOSX

I have verified that setting page.settings.userAgent "will" change the User-Agent header in the http request.
But I don't know if navigator.userAgent should change or not.

@awakmu I think it should, it's inconsistent if they do not match.
But even if it doesn't, there needs to be a way to change it in the navigator because it's not truly changing the userAgent if the navigator userAgent doesn't match the http request.

This is actually causing a failure for me, one of the site's I run this on checks the navigator.userAgent in JavaScript and does not run the application if someone visits the site in an unsupported browser.
You're right about this.

Hi @digitaldavenyc,
I think you should log navigator.userAgent at page context, not at outer context.
Like this:
page.evaluate(function(args)
{
	console.log(navigator.userAgent);
});

This will output the same user agent string with page.settings.userAgent variable.

@digitaldavenyc You can try the trick given in the example script, look for examples/detectsniff.js.

@ariya thanks for pointing me to that file. I get back The page tried to sniff the user agent.
@awakmu The userAgent is not being set somewhere properly because I am receiving a message that it is an unsupported browser from a third-party website that I run the phantomjs code against.

@ariya thanks for pointing me to that file. I get back The page tried to sniff the user agent.
@awakmu The userAgent is not being set somewhere properly because I am receiving a message that it is an unsupported browser from a third-party website that I run the phantomjs code against.

@digitaldavenyc Well yeah, that's expected. But if you understand what detectsniff.js is doing, why can't you try to change the detected user agent?

@ariya By overwriting the navigator.userAgent ... yes I suppose that would work, but why is it even being set as phantomJS if the headers are set properly?

Hi @digitaldavenyc,
"The userAgent is not being set somewhere properly because I am receiving a message that it is an unsupported browser from a third-party website that I run the phantomjs code against."
Have you solved this problem after change user agent using page.onInitialized callback ?


moved modified files

Signed-off-by: Dwaipayan Karanjai<EMAIL_ADDRESS>

all comments of PR #2 is copied here


Install phase on Windows should install licenses & samples

https://github.com/yuxshao/ptcollab/blob/b03ba18f9e88155f1c45c81673821f5faabff154/.github/workflows/ci.yml#L191-L195
These install rules
https://github.com/yuxshao/ptcollab/blob/b03ba18f9e88155f1c45c81673821f5faabff154/src/editor.pro#L296-L306
are currently gated behind a unix. I think it makes sense to install them no matter what platform we're on, albeit with a different path on Windows (where FHS is not a thing and having everything smushed into one place is preferred), similar to what's done here:
https://github.com/yuxshao/ptcollab/blob/b03ba18f9e88155f1c45c81673821f5faabff154/src/editor.pro#L259-L267

For inspiration from BambooTracker:
https://github.com/BambooTracker/BambooTracker/blob/ad82460c598390ded7ea64d119b5f98c4be15027/data/data.pro
https://github.com/BambooTracker/BambooTracker/blob/ad82460c598390ded7ea64d119b5f98c4be15027/qmake/variables.pri#L1-L19

Thanks -- see if anything looks suspicious to you here: https://github.com/yuxshao/ptcollab/pull/41


Nothing is showing on dashboards, no errors

Describe the bug
I have a properly configured gcloud and kubectl CLI tools.
They all work just fine.
But when I have imported all the contexts from kubeconfig into Lens, there is no information at all.
To Reproduce

Add a cluster from kubeconfig
Connect to it
No information, empty dashboards

Expected behavior
Some error that explains why this happened or better - data from kubernetes cluster.
Screenshots

Environment (please complete the following information):

Lens Version: 3.2.0
OS: OSX
Installation method: AppImage

Logs:
When you run the application executable from command line you will see some logging output. Please paste them here:
Not sure how to get logs from command line if I'm running an .app

Kubeconfig:
Quite often the problems are caused by malformed kubeconfig which the application tries to load. Please share your kubeconfig, remember to remove any secret and sensitive information.
apiVersion: v1
clusters:
- cluster:
    certificate-authority-data: DATA+OMITTED
    server: DATA+OMITTED
  name: "DATA+OMITTED"
contexts:
- context:
    cluster: "DATA+OMITTED"
    user: DATA+OMITTED
  name: "DATA+OMITTED"
current-context: "DATA+OMITTED"
kind: Config
preferences: {}
users:
- name: DATA+OMITTED
  user:
    auth-provider:
      config:
        client-id: DATA+OMITTED
        client-secret: DATA+OMITTED
        id-token: DATA+OMITTED
        idp-issuer-url: DATA+OMITTED
        refresh-token: DATA+OMITTED
      name: oidc

At least you get something, mine is blank after adding cluster from kubeconfig. It's a GKE cluster
Version: 3.2.0

Mine also - completely blank after update to 3.2/3.3 - It shows "Connecting... Authentication proxy started" for a while then just has a blank screen. This happens for EKS, Local KIND, and Digital Ocean clusters.
I can see the proxies running in the process list and can poke them on the right port with Host: header and they respond. Very odd.
For example with a KinD cluster:
/Users/sra/Library/Application Support/Lens/binaries/kubectl/1.17.4/kubectl proxy -p 49903 --kubeconfig /var/folders/k_/7k3hg40j2jldqbq24w_b8b7h0000gn/T//nzma20sqj6l-1lpqshy7qpy-kubeconfig --accept-hosts <IP_ADDRESS>
HTTP/1.1 200 OK
Content-Type: application/json
Date: Sat, 18 Apr 2020 11:48:37 GMT
Transfer-Encoding: chunked

{
    "paths": [
        "/api",
        "/api/v1",
        "/apis",
...

I can't seem to find any logs that can help figure out what the issue is. This is an electron app, there is normally a "show developer tools" menu that isn't there either. Might have to break down and try running in development mode! :)

Yes, I suggest cloning this repo and running in dev mode. You might be able to see errors that are otherwise hidden.

Starting in dev mode in the console is:
accessible watch, vals: true undefined
ClusterPage.vue?557e:93 lens loaded
/Users/sra/workspace/lens/node_modules/electron/dist/Electron.app/Contents/Resources/electron.asar/renderer/callbacks-registry.js:41 Uncaught (in promise) Error: Script failed to execute, this normally means an error was thrown. Check the renderer console for the error.
    at WebFrame.<computed> (/Users/sra/workspace/lens/node_modules/electron/dist/Electron.app/Contents/Resources/electron.asar/renderer/api/web-frame.js:64)
    at WebFrame.executeJavaScript (/Users/sra/workspace/lens/node_modules/electron/dist/Electron.app/Contents/Resources/electron.asar/common/api/deprecate.js:114)
    at /Users/sra/workspace/lens/node_modules/electron/dist/Electron.app/Contents/Resources/electron.asar/renderer/web-frame-init.js:11
    at /Users/sra/workspace/lens/node_modules/electron/dist/Electron.app/Contents/Resources/electron.asar/renderer/ipc-renderer-internal-utils.js:7
    at new Promise (<anonymous>)
    at EventEmitter.<anonymous> (/Users/sra/workspace/lens/node_modules/electron/dist/Electron.app/Contents/Resources/electron.asar/renderer/ipc-renderer-internal-utils.js:7)
    at EventEmitter.emit (events.js:200)
    at Object.onMessage (/Users/sra/workspace/lens/node_modules/electron/dist/Electron.app/Contents/Resources/electron.asar/renderer/init.js:42)
(anonymous) @ /Users/sra/workspace/lens/node_modules/electron/dist/Electron.app/Contents/Resources/electron.asar/renderer/api/remote.js:261
metaToPlainObject @ /Users/sra/workspace/lens/node_modules/electron/dist/Electron.app/Contents/Resources/electron.asar/renderer/api/remote.js:261
error @ /Users/sra/workspace/lens/node_modules/electron/dist/Electron.app/Contents/Resources/electron.asar/renderer/api/remote.js:217
metaToValue @ /Users/sra/workspace/lens/node_modules/electron/dist/Electron.app/Contents/Resources/electron.asar/renderer/api/remote.js:222
(anonymous) @ /Users/sra/workspace/lens/node_modules/electron/dist/Electron.app/Contents/Resources/electron.asar/renderer/api/remote.js:214
array @ /Users/sra/workspace/lens/node_modules/electron/dist/Electron.app/Contents/Resources/electron.asar/renderer/api/remote.js:214
metaToValue @ /Users/sra/workspace/lens/node_modules/electron/dist/Electron.app/Contents/Resources/electron.asar/renderer/api/remote.js:222
(anonymous) @ /Users/sra/workspace/lens/node_modules/electron/dist/Electron.app/Contents/Resources/electron.asar/renderer/api/remote.js:281
(anonymous) @ /Users/sra/workspace/lens/node_modules/electron/dist/Electron.app/Contents/Resources/electron.asar/renderer/api/remote.js:271
emit @ events.js:200
onMessage @ /Users/sra/workspace/lens/node_modules/electron/dist/Electron.app/Contents/Resources/electron.asar/renderer/init.js:42

Hi please could you test 3.6.0-beta.1. We've changed how the application handles kubeconfig files. Also dev console is visible now. To see application logs, you can start application from command line. DEBUG=true flag gives more verbose logging.

I'm getting the same thing. Started lens, selected a cluster, nothing appears on the main pane.
Starting kontena-lens from the terminal lets me see the logs:
info: [CLUSTER]: refresh {"id":"0c7da5ae-3532-496b-8a96-13a2c7942d75","name":"<<<some-cluster-name>>>","initialized":true}
error: Local kubectl failed to run properly (Command failed: "/home/martin/snap/kontena-lens/119/.config/Lens/binaries/1.15.11/kubectl" version --client=true -o json
/bin/sh: 1: /home/martin/snap/kontena-lens/119/.config/Lens/binaries/1.15.11/kubectl: Permission denied
), unlinking
info: Downloading kubectl 1.15.11 from https://storage.googleapis.com/kubernetes-release/release/v1.15.11/bin/linux/amd64/kubectl to /home/martin/snap/kontena-lens/119/.config/Lens/binaries/1.15.11/kubectl
info: [CLUSTER]: refresh {"id":"0c7da5ae-3532-496b-8a96-13a2c7942d75","name":"some-cluster-name","initialized":true,"online":true,"accessible":true}
error: Failed to get a lock for 1.15.11
error: Lock file is already being held {"code":"ELOCKED","file":"/home/martin/snap/kontena-lens/119/.config/Lens/binaries/1.15.11"}
warn: PrometheusLens: failed to list services: services "prometheus" not found

I'm getting the same for both a local cluster and one on GKE (in fact, all clusters. The app just isn't working any more)

Looks like it might be some problem with file system permissions, which I guess is controlled by the snap packaging?

After a few minutes the problem went away... was it downloading something in the background?
info: Downloading kubectl 1.15.11 from https://storage.googleapis.com/kubernetes-release/release/v1.15.11/bin/linux/amd64/kubectl to /home/martin/snap/kontena-lens/119/.config/Lens/binaries/1.15.11/kubectl

Should it display something in the user interface to indicate this is happening?

In a result, I've switched to k9s - https://k9scli.io
The best dashboard for kubernetes so far. Everything works right from the box. And yes, in my case, it is a great indicator, because our clusters are using more strict authz mechanism.

After a few minutes the problem went away... was it downloading something in the background?
info: Downloading kubectl 1.15.11 from https://storage.googleapis.com/kubernetes-release/release/v1.15.11/bin/linux/amd64/kubectl to /home/martin/snap/kontena-lens/119/.config/Lens/binaries/1.15.11/kubectl

Should it display something in the user interface to indicate this is happening?

Yes, this is a bug. Downloading kubectl should not block dashboard opening (#933). We will fix this ASAP.

Fixed by #938


CFFL

CFFL

Linter check found the following problems:
The following problems have been found:
ERROR: /tmp/abs_1b8gs8id_0/clone/recipe/meta.yaml:15: pip_install_args: pip install should be run with --no-deps.
ERROR: /tmp/abs_1b8gs8id_0/clone/recipe/meta.yaml:20: missing_wheel: For pypi packages, wheel should be present in the host section
ERROR: /tmp/abs_1b8gs8id_0/clone/recipe/meta.yaml:32: missing_pip_check: For pypi packages, pip check should be present in the test commands
WARNING: /tmp/abs_1b8gs8id_0/clone/recipe/meta.yaml:42: missing_description: The recipe is missing a description
Errors were found

Linter check found the following problems:
The following problems have been found:
ERROR: /tmp/abs_afj97ak5lf/clone/recipe/meta.yaml:15: pip_install_args: pip install should be run with --no-deps.
ERROR: /tmp/abs_afj97ak5lf/clone/recipe/meta.yaml:20: missing_wheel: For pypi packages, wheel should be present in the host section
ERROR: /tmp/abs_afj97ak5lf/clone/recipe/meta.yaml:32: missing_pip_check: For pypi packages, pip check should be present in the test commands
WARNING: /tmp/abs_afj97ak5lf/clone/recipe/meta.yaml:42: missing_description: The recipe is missing a description
Errors were found


Enable CBOR Twiddler tests

The CBOR Twiddler PR added some round-tripping tests.
At the moment these tests are skipped due to some bugs in the CBOR serializer/deserializer (e.g. #3003, #2965,  #2444). The twiddler tests should be re-enabled once these bugs are fixed.
It would also be a good idea to add twiddler round-trip tests for other datatypes and eras.

duplicate


Setting through table attributes in belongsToMany through relations

I have this model configuration:
var Bar = bookshelf.model.extend({
    ....
});

var Foo = bookshelf.model.extend({
    ...
    bars : function() {
        return this.belongsToMany('Bar').through('Baz').query( { where: { qux : 1 } } );
    }
});

var Bar = bookshelf.model.extend({
    ...
    foos : function() {
        return this.belongsToMany('Foo').through('Baz');
    }
});

The model Baz, which is the through table between Foo and Bar, has the following attributes:  foo_id, bar_id and qux (integer which defaults to 0). I want to use attach to add a Bar model to the Foo.bars() relation:
let ids = getBarIds();
let foo = Foo.forge();
foo.bars().attach(ids);

But the problem is that attach doesn't modify the qux attribute, so when I use foo.related('bars'), I get an empty collection due the query filters set in the Foo model. Is there a way to attach the bars to the foo model setting the qux attributes? Something like:
foo.bars().attach(ids, {qux : 1});
Thanks

The project leadership of Bookshelf recently changed. In an effort to advance the project we close all issues older than one year.
If you think this issue needs to be re-evaluated please post a comment on why this is still important and we will re-open it.
We also started an open discussion about the future of Bookshelf.js here https://github.com/bookshelf/bookshelf/issues/1600. Feel free to drop by and give us your opinion.
Let's make Bookshelf great again


importing external shex replace the schema.start value

I want to use shex shapes stored in multiple files, to generate forms from shapes so I have used the 'import' functionnality.
for example , the tension.shex imports ratifier.shex & role.shex . This last imports circle.shex.
All shapes are stored https://holacratie.solid.community/public/Schema/
I use shex.js in this page https://scenaristeur.github.io/spoggy-simple/testform.html , which source is here https://github.com/scenaristeur/spoggy-simple/blob/master/testform.html
import <https://holacratie.solid.community/public/Schema/ratifier.shex>
import <https://holacratie.solid.community/public/Schema/role.shex>

PREFIX :       <https://holacratie.solid.community/public/>
PREFIX sx: <http://www.w3.org/ns/shex#>
PREFIX schema: <http://schema.org/>
PREFIX xsd:  <http://www.w3.org/2001/XMLSchema#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX hola: <https://holacratie.solid.community/public/>
PREFIX fp: <https://footprint.solid.community/public/>

start = @<Tension>

<Tension> {               # A Tension has:
  :status                  ["preliminary" "final"]; #   status in this value set
  schema:name              xsd:string  ;
  schema:dateCreated       xsd:date?  ;
  schema:creator           :Ratifier
                            OR @<Ratifier>
                            OR IRI
                            OR xsd:string ;
  :subject                 :Organization;
  :whatIs                  LITERAL  ;
  :whatShouldBe            LITERAL  ;

}

<Tension_Footprint> {

( fp:root      [hola: "current POD" <../Tension> ] OR xsd:string ;
  fp:path      ["Tension"] OR xsd:string ;
  fp:filename  ["value of schema:name"] OR xsd:string;
  |  fp:fullpath xsd:string
  ### |
  ###  (   fp:root      ["POD" <../Tension> hola:]  |   fp:root LITERAL+    );
  ###  (   fp:path      ["Tension"]                 |   fp:path LITERAL     );
  ###  (   fp:filename  [schema:name];              |   fp:filename LITERAL );
  );
}

I wanted to get the start of the loaded shape with
  shex.Loader.load([shapeUrl], [], [], []).then(function (loaded, err) {
...

  var start = loaded.schema.start;
  console.log(shapes)
  console.log ("start",start)
...

I expected to have a start with the shape "Tension" which correspond to the shape that I want to load,  but it appears that it is the start of the last .shex loaded that is stored in the schema.start.
in this example, the start in shcema is the one stored in the import circle.shex and not the one  in the file I asked to load.

Is it a bug or do I do something Wrong ?
thxs
David
PS : after an "npm update",  2 security Issues have appeared in your nodes dependencies :
deep-extend lodash

Hmm, does it seem like start2RefS1-IstartS2 should test this?
start2RefS1-IstartS2:
start=@<http://a.example/S1>
<http://a.example/S1> {
   <http://a.example/p1> @<http://a.example/S2>
}

imports start2RefS2:
<http://a.example/S2> {
   <http://a.example/p2> .
}

Test  doesn't specify a START so it should pick .
Maybe the npm is behind. Are you using that or a github clone?


[FEATURE] Extract common data models + OS Collectors + Service Metrics

Background Context
Performance Analyzer (Writer) plugin captures the system behavior at a fine grain(5s) level in the form of metrics and stats, which is periodically flushed to a shared memory location. The RCA Agent(Reader) component scans this directory for updates, parses the raw data into sqlite entries and populates the on-disk sqlite metricDB.

Problem Statement & Proposed Solution
In the past, a conscious design choice to segregate the OpenSearch independent code into a separate process(RCA) was made. This allowed to deploy changes to RCA without restarting the critical OpenSearch process. However, the code split wasn't done cleanly. The shared data models of the various metrics are currently part of the RCA codebase. This proposal is to address this circular dependency between PA and RCA, extracting out the common data models from RCA codebase to a shared library performance-analyzer-commons, this can in-turn be consumed by the 2 components.

Release done for PA-Commons 1.0.0 - https://github.com/opensearch-project/performance-analyzer-commons/releases/tag/1.0.0


Undocumented behavior of Topic Subscription with ShoppingCart-Java

The Problem
I've posted on the forums about my issue, but I have since replicated the same problem in development with the shopping-cart-java sample with a breakpoint in debugging mode, and effectively I can summarize my problem is that Topics are not producing messages in any expected and seemingly not-configurable fashion after startup. For about the first 10 minutes of the application running, messages just simply don't get published and consumed, but the aggregate states are still being updated, and events are being serialized to the Cassandra-backed event journal.
Some Backstory
Being a reactive nature, I'd personally love to be able to use Topics to be able to have reactive services with a lose coupling between services (such as the shopping cart and inventory), but I've not gotten to a point where I can verify that these behaviors of an extreme undocumented lag incurred during the first several minutes are just a byproduct of running in a development environment (using mvn lagom:runAll), or whether there are some configuration options that need to be documented in other ways?

Hi @gabizou, this is the first time we hear of such an issue. Would you be able to provide a reproducer?

Would you be able to provide a reproducer?

I simply cloned the lagom/shopping-cart-java sample:

Importing the maven pom.xml to IntelliJ
Running the necessary docker-compose file for the services (Kafka, zookeeper, Postgres)
Running mvn lagom:runAll with the debugger and a breakpoint at the flow subscription as line linked
Curl curl http://localhost:9000/inventory/456 and notice the result is still 0
Curl curl -H "Content-Type: application/json" -d 4 -X POST http://localhost:9000/inventory/456 to add 4 inventory
Run curl -H "Content-Type: application/json" -d '{"itemId": "456", "quantity": 2}' -X POST http://localhost:9000/shoppingcart/123 to add 2 of 456 to cart
Verify curl http://localhost:9000/inventory/456 and the inventory is still 4.......
Wait several minutes for the debugger to actually receive the first event from the shopping cart message to update the inventory side (varies, but occasionally can be 4 minutes, sometimes up to 10 minutes, and then after this initial delay, most updates are relatively within a second).

I don't remember the details, but I think you need to checkout the shopping cart before the inventory is updated.
curl -X POST http://localhost:9000/shoppingcart/123/checkout

So I did a re-test with the curl to checkout, turns out it works. My underlying problem turns out to be that https://github.com/akka/akka-persistence-cassandra/issues/867 is giving my development environment the slow-start up that I'm observing.


How to get a list of files through java-ipfs-api ipfs

HI，How do I get a list of files?

https://github.com/Clay-Ferguson/SubNode.org/blob/master/src/main/java/com/meta64/mobile/service/IPFSService.java
basically the answer is that the 'links' in the MerkleNode points to all the children. See getChildren() in the above file, which is my current experimenting with IPFS. I'm writing an IPFS Browser.
My biggest issue is getting MIME data. That's where i'm currently stuck. I think the current solution they are using might be to "detect" the mime from the stream of bytes, but frankly that is not a good solution.

regarding the "cat" function, it looks like it does set the Content-Type, in the response, which is good, but it does mean you have to read all the data before you can know the type of the data. Seems like there should be a way to know the 'mime' type of some data without having to actually read it. Regarding this project (java-ipfs-http-client) i'll submit a pull request for a change that allows the headers to be sent back to the  calling function.

thanks @Clay-Ferguson
I can get a list of files, but it seems that I can't get the file directory under the root directory.
I want to get all the files and folders in the root directory, but there seems to be no corresponding method.

I think i answered /api/v0/objects when you were really asking about the 'files' api. So that was wrong by me (I'm just learning), but remember the IPFS system isn't reading any folders 'live'. So if you want any folder (including some root) someone would have needed to first ADD that root folder as an IPFS node, and then you would need to know the DAG hash they got back from that load. And the hash of a folder would require scanning the ENTIRE directory subgraph of that entire filesystem, so i'm not sure that's something really ever contemplated, but definitely possible.

Thanks for your answer @Clay-Ferguson
I will try it