Fullscreen game can't start on second monitor

Godot version:
3.0/3.1-dev
OS/device including version:
Windows 10 x64 NVidia GPU
Issue description:
When you set project to fullscreen and in editor settings set screen in window placement to monitor 2, it will still appear on monitor 1 and you need to move it yourself. If the game isn't fullscreen, it will correctly start on second monitor. Happens also with default placement and editor on monitor 2.

I'll close this in favor of #21746, which is more detailed :slightly_smiling_face:


Reduce Supabase SDK usage on Client Side

We still use many Supabase client directly to do a select, insert, update, delete data.
Need to wrap it into our own backend, it's inside api/ folder.
Create a helper (if it's mutation) inside libs/supabase and change the usage of Supabase SDK on the React component to this helpers

Only left the Login process that still direct call to supabase API

Only Logout for now


Allow generating Swagger specification from multiple Startup classes

All feedback on this PR anyone can provide is very welcome

CliMultipleStartupsExample project shows what is intended to be achieved: being able to define multiple Startup classes in the same project and generate separated OpenApi specifications for each one of them (so that separated clients can be created later).
Implementation:

Add SwaggerStartupAttribute to denote Startup classes, which has been isolated in a new project (for now) together with related helper methods. This attribute has:

A required OpenApiFileName field, which will be used by Swashbuckle.AspNetCore.Cli to generate correspondent OpenApi specification.
Optional ClientClassName and ClientNamespace, to allow defining clients names and namespaces.

Edit Swashbuckle.AspNetCore.Cli to add new --multiplestartups option, so that mentioned functionality remains optional and existing behavior doesn't change.
Add CliMultipleStartupsExample as sample project and SwashBuckle.AspNetCore.SwaggerStartupAttr.Test, which tests attribute helpers and new Cli --multiplestartups option by invoking this target in mentioned sample project.

These changes include this closed PR changes, basically updating netcoreapp2.0 projects to netcoreapp2.1.
If this pull request is decided to be merged, we would consider reverting version updates, if required so.
However, taking into account that .NET Core 2.0 end-of-life date is near and that .NET Core 2.1 will be a LTS version, we would feel much more comfortable with netcore2.1 version.
Feel free to use itsprdws/netcoreapp2.1 branch if you decide to implement or test that .NET Core version update.

Sorry I didn't mean to close this PR, it was the result of a major F-up on my part - I was working on another project, accidentally added Swashbuckle as the remote and force pushed. As a result, GitHub closed all open PR's because there was no history in common. I was able to get the commits back up from my local branch but am unable to re-open PR's.


RSP-1705: Add xss filter middlware

See https://helmetjs.github.io/docs/xss-filter/

Set by default with helmet.


No long edge/short edge support in Chrome print dialog

Chrome version: Version 59.0.3071.115
No long edge/short edge support in Chrome print dialog, some test cases with long edge/short edge option may fail.

Hi,
The Logocert tool has been updated to function independent of Chrome.
The long/short edge test cases should work since the tool now calls the APIs directly.
Please pull from the 'master' branch and try it out!
Thanks,
Kevin

It's OK now, thank you.


⚠ Bofrost.be has degraded performance

In 4d84eb3, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 2122 ms

Resolved: Bofrost.be performance has improved in 0317d20.


Update scalafmt-core to 2.4.1

Updates org.scalameta:scalafmt-core from 2.4.0 to 2.4.1.
GitHub Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.scalameta", artifactId = "scalafmt-core" } ]

labels: library-update, semver-patch

Codecov Report

Merging #107 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #107   +/-   ##
=======================================
  Coverage   96.07%   96.07%
=======================================
  Files           4        4
  Lines         102      102
  Branches        4        5    +1
=======================================
  Hits           98       98
  Misses          4        4

Continue to review full report at Codecov.

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


GUI Control LinkWithMesh Bug

http://playground.babylonjs.com/#C1VFP5#1

Expected result:
Linked control should be removed from screen for 1 second.

Current result:
Linked control is removed from screen and doesn't reappear until the camera is panned or the screen is resized.

Good catch! I'll fix that


Use maturin v1.7.6-beta.1 for Windows build

NB you'll want to set #[pymodule(gil_used = false)] to make the free-threaded wheel not accidentally re-enabled the GIL.

That API is now a bit misleading, it's fine, that won't actually enable the GIL. See https://github.com/PyO3/pyo3/issues/3987


Position to be serialize as JSON

@hariso @maha-hajja can u review the PR attached to this issue. Thank You


flashplayer: add libglvnd dep

Motivation for this change
flashplayer-standalone did not start after upgrading to NixOS 18.09 because libGL.so.1 was not on library path.
Things done

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

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

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

Thank you! Since you had the problem on 18.09, you may also want to create a PR to backport this to the last stable release. For that you'd need to cherry-pick -x this commit on top of the release-18.09 branch.

Will do! Thanks!

You're welcome and congrats on the contributor label :)
Feel free to ping me in the backport pr.


Added button to togle unrestircted message size

Sometimes if character response with a lot of text, it's quite painful to read in that small box, so added sorta "fit size" button.
It's quite quick and dirty. I think it's using tailwind, with which I have not worked previously, so might need adjustments, or might just be good enough for now :)

Thank you! i added a max height of 75vh as I noticed when this grows very large, the button to disable becomes hidden


Error while ingesting documents -- Cannot find package '@pinecone-database/pinecone'

Hi! Getting the error below while trying to ingest documents for the first time. Could not find any other issue dealing with this.

Error [ERR_MODULE_NOT_FOUND]: Cannot find package '@pinecone-database/pinecone' imported from C:\Users\marco\gpt4-pdf-chatbot-langchain\utils\pinecone-client.ts

I am running the latest node version.

Solved.


Testing QUIC

Hello,
I walked through the description of your work http://www.connectify.me/blog/taking-google-quic-for-a-test-drive/
I am currently trying to implement proto-quic on Mininet, which is a network emulator. I found mininet interesting because I can emulate a network with 2 hosts(or more) and I am installing chromium/proto-quic only once on the virtual machine and then use on all the hosts i have in the network. So I think I can use one host to emulate the client and the other for the server.
I am trying to follow your steps, but in my emulated network there is no router involved and I see that your tests are running from this router in openwrt. Is there any chance I can implement these tests in mininet without it? Or should I run it from one of the hosts?
Mininet is using Python also and have some line commands that allow me to set bandwidth or loss on the links for the network. I have never done this before (test a protocol, nor work with mininet) and now I don't know how to implement that router and if it is necessary. And then, I need results and numbers which I don't know how to get. I would really appreciate any help and further ides(or more instructions on how to follow your work).
Thanks,
Alina

Hi Alina,
That sounds like an interesting project.  I'm only slightly familiar with mininet, so I'm not sure how much I can be of help.  You should be able to safely ignore the stuff about the OpenWrt router in our instructions.

Is it mandatory to patch the server to listen for IPv4 requests? I couldn't made It work. It returns: hunk #1 failed at 50.
Also, trying to follow your tutorial and I see that the URLs for wget are no longer available.
Alina
Pe 6 iun. 2016, la 17:34, Brian Prodoehl<EMAIL_ADDRESS>a scris:

Hi Alina,
That sounds like an interesting project. I'm only slightly familiar with mininet, so I'm not sure how much I can be of help. You should be able to safely ignore the stuff about the OpenWrt router in our instructions.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.


Lib exec improvments

added
get_suffix function, for getting a suffix of a structure
set_suffix function, for setting the suffix of a structure
changed
made all files to be executed by this lib explicitly be created on the local volume as apposed to the working directory
execute function, moved file creation, execution, and removal into the local function log_run_del
execute function, added a lexicon to map between executed strings and file names to avoid redundant file creation and potential memory leak
updated documentation and unit tests to include new functions and added a few warnings relating to

Also discovered that unset does throw error if the variable we are trying to unset doesn't exist (docs claim that unset will silently move on without throwing error). Will file an issue on KOS if there isn't already one.

I noticed a bug in evaluate_function that was not found last time I was working on this so I added two tests for the function that as we did not already have tests for said function.

Looks good, I will test later today or tomorrow and merge.


Update iot-introduction.md

enhanced the why Azure IoT  section

@kvndb : Thanks for your contribution! The author, @robinsh, has been notified to review your proposed change.

@kvndb Thanks very much for your contribution. We really appreciate it. I've recently been asked to take over and improve the IoT Fundamentals articles. I have completely rewritten this article, and am starting review with the IoT team next week. I'd like to leave this open and make sure the change is incorporated into the new version (if applicable), and close it when that one is released. @tysonn Let me know if you'd rather we just close this one.
I'll report back.
Robin

#please-close
This has been replaced in the new version that's coming out soon. To prevent conflicts, can you please close this PR?


License

Great job. This seems super useful. But one question: What license is this software under? I want to use it but want to know the terms and conditions before I do.

MIT, hve now added a licence file!


Use TheTv DB to gt series name

Motivation for changes:
Some shows have different names in emby, and emby api does not handle ok the translation, so we use the tv db api to try to retrieve the shows thetvdb_id and use it to query emby
Detailed changes:

Added the thetvdb_api search series to try to get the show

To Do:

[ ] Should only be merged after merging #3226

Close to open a new one


Ability to access SharePoint URLs from Microsoft host apps

What platform is your feature request related to?

.NET HTML
.NET WPF
Android
iOS
JavaScript
UWP

Is your feature request related to a problem? Please describe.
Images used in Adaptive Cards that are stored in SharePoint Online are not rendered in Adaptive Cards. This forces designers to use publicly hosted images and icons.
Describe the solution you'd like
Include support for anonymous SharePoint links to images. Using anonymous links removes the need to authenticate the user to access the image.

Hi @buildbod, thanks for filing this. There are things you can do to make this work today on all platforms except JavaScript.
Here are the docs on Android, but the APIs are similar, we call them "Resource Resolvers" and they are hooks in the Rendering API to modify outbound image requests.
https://docs.microsoft.com/en-us/adaptive-cards/sdk/rendering-cards/android/extensibility#iresourceresolver-deprecates-ionlineimageloader
I have renamed this title to reflect the missing support in JavaScript. This is something we will need to add at some point, so I will talk with the team and try to get some traction for our next major release.

@dclaux  FYI

@matthidinger I might be mistaken, but the request doesn't seem to be about how to make that happen as a host, but rather make authenticated SharePoint images just work in existing hosts ( probably Teams for that matter.) To that extent, the ResourceResolver APIs won't help.
Besides, it is possible for a host to hook into images in JavaScript, by manipulating the generated DOM. A host would typically do something like:

Look for all <img> tags in the rendered card sub-tree
Hide those that point to SharePoint images (for instance), grab their src
Download these images using custom code
Update the original <img> tags by replacing their src with, say, a Base64 encoded version of the downloaded image (or an actual URL for that matter, really anything is possible)
Un-hide the <img> tags

Sure, the above isn't necessarily as easy as using the ResourceResolver API, but saying that it is not possible to make this work in JavaScript is inaccurate.
@buildbod, could you clarify whether you are authoring cards, as I suspect, or rendering cards in your own app?

I am authoring cards for them to be rendered in Microsoft products: Outlook, Teams etc.
I want to store the images in SharePoint and have them rendered in Outlook etc.
Does that clarify?
Get Outlook for Androidhttps://aka.ms/ghei36

From: Matt Hidinger<EMAIL_ADDRESS>Sent: Monday, November 25, 2019 7:28:50 PM
To: microsoft/AdaptiveCards<EMAIL_ADDRESS>Cc: Denton, Simon A<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [microsoft/AdaptiveCards] [JavaScript] Ability to access authenticated image URLs (#3612)
@dclauxhttps://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fdclaux&data=01|01|simon.denton%40mottmac.com|ff4995f2367243ad235708d771ddb3ac|a2bed0c459574f73b0c2a811407590fb|0&sdata=317%2BODx0JOCo%2FZ7NfA6vhA6w0kfIt98RCzgyacbUx8Q%3D&reserved=0 FYI
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fmicrosoft%2FAdaptiveCards%2Fissues%2F3612%3Femail_source%3Dnotifications%26email_token%3DADKCNODHVJVOZX5FQAMQJFTQVQRPFA5CNFSM4JNC2S7KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEFDQ35A%23issuecomment-558304756&data=01|01|simon.denton%40mottmac.com|ff4995f2367243ad235708d771ddb3ac|a2bed0c459574f73b0c2a811407590fb|0&sdata=ZRt8EJ%2FFfvRQWD4wmoAXNWNop9XP7t1SUj5hEfuPa7k%3D&reserved=0, or unsubscribehttps://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FADKCNOBHSFCGJQWZLR4LH3LQVQRPFANCNFSM4JNC2S7A&data=01|01|simon.denton%40mottmac.com|ff4995f2367243ad235708d771ddb3ac|a2bed0c459574f73b0c2a811407590fb|0&sdata=SZ2PmhPd7FlUb0dwJtHI%2BPLsq1Q1yrNvI4Rl2sGcu0M%3D&reserved=0.

Yes, and that is what I had understood.
The request is therefore for Microsoft products to allow loading images from SharePoint URLs, using the current user's authentication context.

Could you update the description of the issue to include these details?

Yes that is a good description of my request.
Get Outlook for Androidhttps://aka.ms/ghei36

From: David Claux<EMAIL_ADDRESS>Sent: Monday, November 25, 2019 7:50:59 PM
To: microsoft/AdaptiveCards<EMAIL_ADDRESS>Cc: Denton, Simon A<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [microsoft/AdaptiveCards] [JavaScript] Ability to access authenticated image URLs (#3612)
Yes, and that is what I had understood.
The request is therefore for Microsoft products to allow loading images from SharePoint URLs, using the current user's authentication context.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fmicrosoft%2FAdaptiveCards%2Fissues%2F3612%3Femail_source%3Dnotifications%26email_token%3DADKCNOCC5OJVD3GCVINAKB3QVQUCHA5CNFSM4JNC2S7KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEFDS7NA%23issuecomment-558313396&data=01|01|simon.denton%40mottmac.com|894bd4374b9c43e8411508d771e0cc78|a2bed0c459574f73b0c2a811407590fb|0&sdata=XkBa85%2BZPoGQYtAWsAoVo85xKrEpnBYVT1PMH8GwTfA%3D&reserved=0, or unsubscribehttps://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FADKCNOGBHP5GKV4ONE3BP5TQVQUCHANCNFSM4JNC2S7A&data=01|01|simon.denton%40mottmac.com|894bd4374b9c43e8411508d771e0cc78|a2bed0c459574f73b0c2a811407590fb|0&sdata=ekMC%2BdQjD8F43w4ypJgWPsHHlDt0FN7AQ99Z4PA6dUU%3D&reserved=0.

Thanks for the clarification folks. I've updated the title, and filed a related issue #3643 to track the ability for JS Hosts to easily handle authenticated image downloads

You may be able to solve your scenario by encoding your image as a data URI.
If that doesn't work for you, work would need to be done in the Microsoft hosts to address this scenario.


Swift 5 Migration

Update Carthage dependencies.
Fix references to macOS configs based on updated xcconfigs repository.
Fix some warnings around wrong version of Swinject.framework being referenced for different platforms.
Run Xcode Conversion tool for all targets.
Update all SWIFT_VERSION entries to 5.0

@jakubvano Please review this PR. The project is now compatible with Swift 5 (Xcode 10.2). I've also fixed some compiler warnings that could eventually become errors.
Please update the release tag as well, so that github "Swinject/SwinjectPropertyLoader" in Cartfile points to the latest changes. Thank you.

@yoichitgy

@jakubvano @Lutzifer @tkohout @yoichitgy this has been open for more than a month, and is referenced from an open issue. Please review and merge. Thank you.

Thank you for making the PR😃 and sorry for taking too long time to merge it🙏


Installation fails on MRI 2.3.0

When bundling our rails app on MRI 2.3.0, taglib-ruby fails to install. Here's the console output:
Installing taglib-ruby 0.7.0 with native extensions

Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

    current directory: /home/jh/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/taglib-ruby-0.7.0/ext/taglib_base
/home/jh/.rbenv/versions/2.3.0/bin/ruby -r ./siteconf20151226-29102-56bry.rb extconf.rb
checking for main() in -lstdc++... yes
checking for main() in -ltag... yes
creating Makefile

To see why this extension failed to compile, please check the mkmf.log which can be found here:

  /home/jh/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/extensions/x86_64-linux/2.3.0-static/taglib-ruby-0.7.0/mkmf.log

current directory: /home/jh/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/taglib-ruby-0.7.0/ext/taglib_base
make "DESTDIR=" clean

current directory: /home/jh/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/taglib-ruby-0.7.0/ext/taglib_base
make "DESTDIR="
compiling taglib_base_wrap.cxx
cc1plus: warning: command line option ‘-Wdeclaration-after-statement’ is valid for C/ObjC but not for C++
cc1plus: warning: command line option ‘-Wimplicit-function-declaration’ is valid for C/ObjC but not for C++
taglib_base_wrap.cxx: In function ‘void SWIG_Ruby_define_class(swig_type_info*)’:
taglib_base_wrap.cxx:1509:9: warning: variable ‘klass’ set but not used [-Wunused-but-set-variable]
   VALUE klass;
         ^
In file included from /home/jh/.rbenv/versions/2.3.0/include/ruby-2.3.0/ruby.h:33:0,
                 from taglib_base_wrap.cxx:848:
taglib_base_wrap.cxx: In function ‘TagLib::StringList ruby_array_to_taglib_string_list(VALUE)’:
/home/jh/.rbenv/versions/2.3.0/include/ruby-2.3.0/ruby/ruby.h:882:52: error: ‘__builtin_choose_expr’ was not declared in this scope
      OBJ_WB_UNPROTECT((VALUE)(obj)), ((VALUE)(obj))))
                                                    ^
/home/jh/.rbenv/versions/2.3.0/include/ruby-2.3.0/ruby/ruby.h:1039:48: note: in definition of macro ‘RARRAY_CONST_PTR’
 #define RARRAY_CONST_PTR(a) rb_array_const_ptr(a)
                                                ^
/home/jh/.rbenv/versions/2.3.0/include/ruby-2.3.0/ruby/ruby.h:1059:50: note: in expansion of macro ‘RB_OBJ_WB_UNPROTECT_FOR’
 #define RARRAY_PTR(a) ((VALUE *)RARRAY_CONST_PTR(RB_OBJ_WB_UNPROTECT_FOR(ARRAY, a)))
                                                  ^
taglib_base_wrap.cxx:1917:15: note: in expansion of macro ‘RARRAY_PTR’
     VALUE e = RARRAY_PTR(ary)[i];
               ^
Makefile:222: recipe for target 'taglib_base_wrap.o' failed
make: *** [taglib_base_wrap.o] Error 1

make failed, exit code 2

Gem files will remain installed in /home/jh/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/taglib-ruby-0.7.0 for inspection.
Results logged to /home/jh/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/extensions/x86_64-linux/2.3.0-static/taglib-ruby-0.7.0/gem_make.out

Thanks for reporting, created a PR with the fix: #68

Thanks!

Released 0.7.1 with the fix, please try that :).


The bubble coalescence method using VOFM

Hello, Dr. Karnakov. I noticed a bubble coalescence phenomenon in the VOFM method, where two bubbles appear to merge but, in fact, only mix as two different-colored bubbles. Could you help explain the cause of this effect?  Could this be considered true bubble coalescence?Additionally, is it possible to achieve natural bubble coalescence using the VOFM method?

When two bubbles merge like this, it is not true coalescence but rather an artifact of low resolution. To achieve actual coalescence you can either switch to the original VOF method, or there is actually a parameter in the configuration which can trigger coalescence for overlapping bubbles, so this may work
set double vofm_coalth 1.5

Oh! Thank you so much, Dr. Karnakov!


Wire "Register" GUI (dialog) to FieldDB "register new user" request

@cesine See develop branch. See register method of ApplicationSettingsModel in https://github.com/jrwdunham/dative/blob/develop/app/scripts/models/application-settings.coffee
See authenticate and logout methods above for pattern of branching between OLD and FieldDB servers.

This works as of a while ago. You can use dative to register with a FieldDB server.


Ropsten consensus issue (bonsai trie) on block 10 065 036

There is a consensus issue on block 10 065 036
World State Root does not match expected value, header 0x24ba83bdd61899b202536747143e416024d6f370811277e879c8887c2dd813d9 calculated 0x9b25038b5d0d61f9d0bcd3dddf70b3739534e8be1fbb95d4abcfb2a9004a75bd
at org.hyperledger.besu.ethereum.bonsai.BonsaiPersistedWorldState.persist(BonsaiPersistedWorldState.java:252)
at org.hyperledger.besu.ethereum.mainnet.AbstractBlockProcessor.processBlock(AbstractBlockProcessor.java:208)
at org.hyperledger.besu.ethereum.mainnet.AbstractBlockProcessor.processBlock(AbstractBlockProcessor.java:44)
at org.hyperledger.besu.ethereum.mainnet.BlockProcessor.processBlock(BlockProcessor.java:75)
at org.hyperledger.besu.ethereum.MainnetBlockValidator.processBlock(MainnetBlockValidator.java:150)
at org.hyperledger.besu.ethereum.MainnetBlockValidator.validateAndProcessBlock(MainnetBlockValidator.java:108)
at org.hyperledger.besu.ethereum.mainnet.MainnetBlockImporter.importBlock(MainnetBlockImporter.java:45)
at org.hyperledger.besu.chainimport.RlpBlockImporter.evaluateBlock(RlpBlockImporter.java:212)
at org.hyperledger.besu.chainimport.RlpBlockImporter.lambda$importBlockchain$3(RlpBlockImporter.java:150)
at java.base/java.util.concurrent.CompletableFuture.biRun(CompletableFuture.java:1375)
there doesn't seem to be a problem by looking at the diff file (SSTORE and CALL seems to be a known tracing bugs)
diff.txt
I also checked the storageRoot and the codeHash of each account updated in the block and every thing seems to be fine
account-updated.txt

What about the last segment in the diff, the top charges 2800 more gas before stopping, exactly on 0 gas at the last evm operation.  Is the top/left forest mode?
412504,412509c412504,412509
< {"pc":9895,"op":85,"gas":"0xb61","gasCost":"0x64","memory":"0x","memSize":96,"stack":["0xd4d883bd","0xd04","0xfb4384bc0b9246adb3897a059ac02bb79bbf00a1","0xfb4384bc0b9246adb3897a059ac02bb79bbf00a1","0xfb4384bc0b9246adb3897a059ac02bb79bbf00a1","0xa"],"returnData":null,"depth":1,"refund":0,"opName":"SSTORE","error":""}
< {"pc":9896,"op":80,"gas":"0xafd","gasCost":"0x2","memory":"0x","memSize":96,"stack":["0xd4d883bd","0xd04","0xfb4384bc0b9246adb3897a059ac02bb79bbf00a1","0xfb4384bc0b9246adb3897a059ac02bb79bbf00a1"],"returnData":null,"depth":1,"refund":0,"opName":"POP","error":""}
< {"pc":9897,"op":80,"gas":"0xafb","gasCost":"0x2","memory":"0x","memSize":96,"stack":["0xd4d883bd","0xd04","0xfb4384bc0b9246adb3897a059ac02bb79bbf00a1"],"returnData":null,"depth":1,"refund":0,"opName":"POP","error":""}
< {"pc":9898,"op":86,"gas":"0xaf9","gasCost":"0x8","memory":"0x","memSize":96,"stack":["0xd4d883bd","0xd04"],"returnData":null,"depth":1,"refund":0,"opName":"JUMP","error":""}
< {"pc":3332,"op":91,"gas":"0xaf1","gasCost":"0x1","memory":"0x","memSize":96,"stack":["0xd4d883bd"],"returnData":null,"depth":1,"refund":0,"opName":"JUMPDEST","error":""}
< {"pc":3333,"op":0,"gas":"0xaf0","gasCost":"0x0","memory":"0x","memSize":96,"stack":["0xd4d883bd"],"returnData":null,"depth":1,"refund":0,"opName":"STOP","error":""}
---
> {"pc":9895,"op":85,"gas":"0xb61","gasCost":"0xb54","memory":"0x","memSize":96,"stack":["0xd4d883bd","0xd04","0xfb4384bc0b9246adb3897a059ac02bb79bbf00a1","0xfb4384bc0b9246adb3897a059ac02bb79bbf00a1","0xfb4384bc0b9246adb3897a059ac02bb79bbf00a1","0xa"],"returnData":null,"depth":1,"refund":0,"opName":"SSTORE","error":""}
> {"pc":9896,"op":80,"gas":"0xd","gasCost":"0x2","memory":"0x","memSize":96,"stack":["0xd4d883bd","0xd04","0xfb4384bc0b9246adb3897a059ac02bb79bbf00a1","0xfb4384bc0b9246adb3897a059ac02bb79bbf00a1"],"returnData":null,"depth":1,"refund":0,"opName":"POP","error":""}
> {"pc":9897,"op":80,"gas":"0xb","gasCost":"0x2","memory":"0x","memSize":96,"stack":["0xd4d883bd","0xd04","0xfb4384bc0b9246adb3897a059ac02bb79bbf00a1"],"returnData":null,"depth":1,"refund":0,"opName":"POP","error":""}
> {"pc":9898,"op":86,"gas":"0x9","gasCost":"0x8","memory":"0x","memSize":96,"stack":["0xd4d883bd","0xd04"],"returnData":null,"depth":1,"refund":0,"opName":"JUMP","error":""}
> {"pc":3332,"op":91,"gas":"0x1","gasCost":"0x1","memory":"0x","memSize":96,"stack":["0xd4d883bd"],"returnData":null,"depth":1,"refund":0,"opName":"JUMPDEST","error":""}
> {"pc":3333,"op":0,"gas":"0x0","gasCost":"0x0","memory":"0x","memSize":96,"stack":["0xd4d883bd"],"returnData":null,"depth":1,"refund":0,"opName":"STOP","error":""}

What about the last segment in the diff, the top charges 2800 more gas before stopping, exactly on 0 gas at the last evm operation. Is the top/left forest mode?
412504,412509c412504,412509
< {"pc":9895,"op":85,"gas":"0xb61","gasCost":"0x64","memory":"0x","memSize":96,"stack":["0xd4d883bd","0xd04","0xfb4384bc0b9246adb3897a059ac02bb79bbf00a1","0xfb4384bc0b9246adb3897a059ac02bb79bbf00a1","0xfb4384bc0b9246adb3897a059ac02bb79bbf00a1","0xa"],"returnData":null,"depth":1,"refund":0,"opName":"SSTORE","error":""}
< {"pc":9896,"op":80,"gas":"0xafd","gasCost":"0x2","memory":"0x","memSize":96,"stack":["0xd4d883bd","0xd04","0xfb4384bc0b9246adb3897a059ac02bb79bbf00a1","0xfb4384bc0b9246adb3897a059ac02bb79bbf00a1"],"returnData":null,"depth":1,"refund":0,"opName":"POP","error":""}
< {"pc":9897,"op":80,"gas":"0xafb","gasCost":"0x2","memory":"0x","memSize":96,"stack":["0xd4d883bd","0xd04","0xfb4384bc0b9246adb3897a059ac02bb79bbf00a1"],"returnData":null,"depth":1,"refund":0,"opName":"POP","error":""}
< {"pc":9898,"op":86,"gas":"0xaf9","gasCost":"0x8","memory":"0x","memSize":96,"stack":["0xd4d883bd","0xd04"],"returnData":null,"depth":1,"refund":0,"opName":"JUMP","error":""}
< {"pc":3332,"op":91,"gas":"0xaf1","gasCost":"0x1","memory":"0x","memSize":96,"stack":["0xd4d883bd"],"returnData":null,"depth":1,"refund":0,"opName":"JUMPDEST","error":""}
< {"pc":3333,"op":0,"gas":"0xaf0","gasCost":"0x0","memory":"0x","memSize":96,"stack":["0xd4d883bd"],"returnData":null,"depth":1,"refund":0,"opName":"STOP","error":""}
---
> {"pc":9895,"op":85,"gas":"0xb61","gasCost":"0xb54","memory":"0x","memSize":96,"stack":["0xd4d883bd","0xd04","0xfb4384bc0b9246adb3897a059ac02bb79bbf00a1","0xfb4384bc0b9246adb3897a059ac02bb79bbf00a1","0xfb4384bc0b9246adb3897a059ac02bb79bbf00a1","0xa"],"returnData":null,"depth":1,"refund":0,"opName":"SSTORE","error":""}
> {"pc":9896,"op":80,"gas":"0xd","gasCost":"0x2","memory":"0x","memSize":96,"stack":["0xd4d883bd","0xd04","0xfb4384bc0b9246adb3897a059ac02bb79bbf00a1","0xfb4384bc0b9246adb3897a059ac02bb79bbf00a1"],"returnData":null,"depth":1,"refund":0,"opName":"POP","error":""}
> {"pc":9897,"op":80,"gas":"0xb","gasCost":"0x2","memory":"0x","memSize":96,"stack":["0xd4d883bd","0xd04","0xfb4384bc0b9246adb3897a059ac02bb79bbf00a1"],"returnData":null,"depth":1,"refund":0,"opName":"POP","error":""}
> {"pc":9898,"op":86,"gas":"0x9","gasCost":"0x8","memory":"0x","memSize":96,"stack":["0xd4d883bd","0xd04"],"returnData":null,"depth":1,"refund":0,"opName":"JUMP","error":""}
> {"pc":3332,"op":91,"gas":"0x1","gasCost":"0x1","memory":"0x","memSize":96,"stack":["0xd4d883bd"],"returnData":null,"depth":1,"refund":0,"opName":"JUMPDEST","error":""}
> {"pc":3333,"op":0,"gas":"0x0","gasCost":"0x0","memory":"0x","memSize":96,"stack":["0xd4d883bd"],"returnData":null,"depth":1,"refund":0,"opName":"STOP","error":""}

The top it's the bonsai node.
I tried to investigate this part but I realized that the difference comes from the fact that in bonsai the original is at 0x during the sstore and not in forest. I have that you said it was a known bug so I did not dig this part


Domain value ignored for retrieveData

When you persist data to ipCookie, you correctly specify cookie options:
ipCookie(key, val, this.getConfig().cookieOps);

However, when you retrieve data, you only specify the key:
return ipCookie(key);

This is causing problems with multiple user types on different subdomains.
I made a fork and it wasn't enough to just change it to:
return ipCookie(key, undefined, this.getConfig().cookieOps);

There's a deeper problem: the getSavedConfig function. What if you have two saved configs on different subdomains? And, how are you supposed to specify the correct cookie options for ipCookie here if you don't know which domain to use to retrieve the saved cookie?
My attempt at a solution was to work backwards:
cookieOpsForCurrentDomain: function() {
  var currentDomain = window.location.hostname;
  for (var key in configs) {
    var cookieOps = configs[key]["cookieOps"];
    if (cookieOps["domain"] === currentDomain) {
      return cookieOps;
    }
  }
  return null;

and then in getSavedConfig:
c = ipCookie(key, undefined, this.cookieOpsForCurrentDomain());

This looked promising, but alas, resulted in weird behavior that I could not understand that would eventually always revert to the default configuration, even if I passed in the correct subdomain which had a different configuration value, like evilUser.
Really hoping we can get this fixed, since I'm finding it impossible now to have two different users signed in on two different subdomains at the same time.


[C#] Parallel test fixtures

Enable Unit Test parallelization at the TestFixture level.

For NET461, throttle LevelOfParallelism to 8 as it runs x86
Also use consistent patterns:

Added TestUtils properties to get test folder and test container names, which are based on TestClass/TestMethod for uniqueness

This is modified to break out "FASTER.test" as the top-level directory in the test hierarchy, followed by class name (minus FASTER.test), followed by method name. This makes it easy to clean up by just removing \FASTER.test

Made all tests use TestUtils.DeleteDirectory
Make sure Setup doesn't use prior values

Prefer allocations in Setup to field initializers

null-safety in TearDown
Break up a couple big test classes so the Fixtures can run in parallel (FasterLogTests, RecoveryChecks)

Add Category("CheckpointRestore") in a few more places
Make sure directories are cleaned up on test completion

Tests complete about 4x faster now on my machine

Subsumed by #523


Update the linter to the latest version

So, we can support Go up to 1.20.

:green_heart: Build Succeeded

the below badges are clickable and redirect to their specific view in the CI or DOCS

Expand to view the summary

Build stats

Start Time: 2023-02-24T08:33:32.779+0000

Duration: 9 min 38 sec

Test stats :test_tube:

Test
Results

Failed
0

Passed
751

Skipped
5

Total
756

:robot: GitHub comments
Expand to view the GitHub comments

To re-run your PR in the CI, just comment with:

/test : Re-trigger the build.


resolves issues 1, 2, 3 and fixes/adjusts Snakemake rules

new flags --assemblers and --coverage; updated flye; fixed/adjusted flye_assembly, hifiasm, stats_busco and quality_check rules.

@asyakhl It looks like you may have committed a temp file. Do we need workflow/.Snakefile.swp? Please let me know what you think. Everything else looks good!

@skchronicles No, we don't need this file.

@asyakhl Okay, that sounds good. Can you remove this file from the PR?


Mouse Utilities: Monitor Edge Translation

Description of the new feature / enhancement
I have a multiple monitor setup, and I have Windows set to extend the desktop to all of my monitors. However, not all of my monitors have the same resolution/aspect ratio. In particular, I have one of my monitors turned vertically, for better document viewing. (The feature does not require this specific case, but this case is a very clear example of the issue to be addressed.)
Windows allows me to configure the virtual arrangement of my monitors so that I have some control over how the mouse transitions from one monitor to the other. However, there are limitations to the built-in Windows configuration tool.
First of all, and most important - if the two monitors have different vertical resolutions (as is the case when one monitor is rotated vertically), then there will be a "dead corner" in the taller monitor where the mouse can get "stuck." because there is no desktop area defined in the shorter monitor that lines up with this portion of the taller monitor, the mouse pointer will not move over until it is first moved up or down to make it "around the corner". This is particularly frustrating when trying to move the mouse from one far end of the desktop to the other - unless you move into the correct vertical zone, the mouse will get "stuck."
This feature would allow more complex mapping from the edge of one monitor to the other. As a minimal basic feature, any portion of the edge of one monitor which cannot be mapped to the edge of the next monitor would automatically jump "around the corner" when moving over to the next monitor.
Scenario when this would be used?
This would be useful for anyone with multiple monitor set ups, where not all of the monitors have the same size, resolution, or orientation.

Supporting information
No response

May relate to issue: https://github.com/microsoft/PowerToys/issues/28334

@danieldownes - While the feature being requested in #28334 isn't the same as mine, it would definitely be possible to design an implementation of this which would be able to fulfill both requests.

Yes, my attempt at triaging multiple issues highlights that the screen layout UI design amd fuctionality may need revision. Perhaps something to add to the roadmap.


pkg: consolidate informer creation and object deletion handling

Put the DeletedFinalStateUnknown handling in one central place.  That
requires knowing the object type so convert the handler add functions
to pass it around.
While we're there, get rid of the internal informer tracking since
the SharedInformerFactory already has an internal map of informers
for each object type.
Signed-off-by: Dan Williams<EMAIL_ADDRESS>@shettyg @rajatchopra
Yeah, this conflicts with https://github.com/openvswitch/ovn-kubernetes/pull/260... but it makes some of the same changes and cleans some stuff up.

Rajat should probably review this as he is working on similar are in the other PR. But I just wanted to point out that there is one more candidate for delete function optimization in pkg/cluster/gateway_init.go

@shettyg @alinbalutoiu any thoughts on this one?

@shettyg ok thanks!

@shettyg thoughts on this one?  got some follow-on patches cleaning up ACL generation that would conflict with this.

/test integration

@dcbw
Still looking at it. I need to run some network policy sanity tests to make sure that it works fine. I should be done today.

lgtm.
One question: We still get parallel events as before, right? For e.g: I can get a namespace add event and policy add event at the same time? I ask because, right now in policy add we wait for namespace creation (need to do something better there). If it is serial, we will fail.

I forgot to say - nice work!


Number of threads created while exporting a project

I wonder how does the tileoven project know how many threads to create while doing an export of a project?
From my experimentation, I found it to be 1.5 times the number of cpu cores available in the system. But that is just an empirical value. It would be great if someone could point me to the relevant resource.
BTW, I fiddled with --concurrent but that doesn't impact the number of threads that are created for exporting a project.
Thanks.

I think you're looking for this: https://github.com/florianf/tileoven/blob/master/index.js#L4
Seems to match your empirical measured value ;-)

Aah thanks for that info @florianf Really appreciate it

Found another one that maybe relevant: https://github.com/florianf/tileoven/blob/master/commands/export.bones#L488

Yes, I got that one when I was investigating --concurrent but that seems different to me.


Choosing between Python and Java for orientDB load

I have to write an ETL process (fairly complex) and I am new to both Java and Python but Python looked simpler and shorter learning curve, I need some pros and cons of choosing between Java and Python for writing ETL for loading data in OrientDB. I would appreciate a quick response on this.
Thanks
Rashid

Hi @rmanzar
IMHO the first thing you have to take into consideration is your/your team language skills. If you are more confident with Python then you can go with it.
Anyway, with Java you will have at least one big advantage: you can use OrientDB in embedded mode, having ~10x performance. For and ETL this can be important, especially if it's a one-shot import.
In general, the Java API is the native OrientDB API, so you can expect it to be more polished
Thanks
Luigi

Thanks Luigi, I see your point. Rashid

With python you are severely limited. There are not many Python friendly options out there.
The two I have tried are pyorient, which doesn't work with distributed databases (and who know what else), and the Bulbflow project which is a mess. The switch over from TinkerPop 2 to TinkerPop 3 has make support blueprints limited and in most cases the support is simply not there. If you start looking at Rexter, you'll quickly start looking for an alternative DB's to use instead.
Most Python libraries also haven't seen any updates in the last 2 years. Except for pyorient which is the best option, but doesn't work for all use cases.
Getting support for Python is really difficult.
If you are starting out, best go with an option like Java. You'll get better support from OrientDB if you do.

@anber500
As long as orientdb don't overhaul the binary protocol by a industrie standard I can only recommend orientjs but also the most active driver has lots of limitations. I really hope that this will be planned for the next version so implementing new clients will be an easy way.

Thank you so much for the detailed answer and limitation, I have decide to stick with java.


fix(frontend) : Unnecessary linebreak when text message in sent. #489

Changed the behaviour "Enter key" in that particular input box.
Not a huge change but a small accessiblity improving feature.
https://github.com/OpenDevin/OpenDevin/assets/121328223/399de948-bae0-4621-9be4-45ffc9f0109d

@Yashwanth-Chandrakumar sorry for the delay here! Can you rebase, and I'll try it out?

Closing because these changes are applied in https://github.com/OpenDevin/OpenDevin/commit/baa981cda761907ae53419921e1aa5d8048d18d9


Adding Cognito triggers and admin queries to an existing Amplify project / Cognito user pool

We have an existing Amplify project utilizing Cognito. It has been in production for almost a year.
We would like to add Cognito triggers and admin queries to the project using amplify auth update.
When we do this, we are informed that our existing identity pool will be deleted (!).
'Warning! Your existing IdentityPool: [pool name] will be deleted on the next "amplify push" '
Obviously not an option for an existing application.
How can we add Cognito triggers and admin queries to an existing Amplify project without impacting our existing Cognito user pool?

+1

Create a new lambda. Modify the CloudFormation template to use the lambda as a custom resource. Inside the lambda use the npm package safe-cfn-custom-resource and call the right Cognito API calls. To make it better, pass in the Cognito user pool,  Client ID, and lambda trigger ARNs as properties. Modify backend-config.json for your lambda  so that it depends on the lambda trigger functions and the user pool, and so these properties can be passed into your stack as parameters. If you modify backend-config.json by hand, run amplify envy checkout to have the changes applied before pushing.

@blairtaylor Which version of the CLI are you using?

We are currently using v4.36.1. We set up the project in the summer of 2019, don't know what version of Amplify we were using at the time.

Is there anyway to connect the Lambda function as a "Pre Sign-up" trigger from the auth's parameters.json?
I noticed by doing a new amplify init and amplify add auth with Cognito triggers, that it creates triggers for some other types like 'DefineAuthChallenge'. I am unable to replicate this though for a "Pre Sign-up" trigger.

@RuarriS what is your use case of lambda also can you share your parameter values?

@RuarriS what is your use case of lambda also can you share your parameter values?

@ammarkarachi I believe at the time I was trying to manually integrate a Lambda function with an existing Auth resource, without blowing away my IdentityPool (i.e. not running amplify auth update

@ammarkarachi I believe at the time I was trying to manually integrate a Lambda function with an existing Auth resource, without blowing away my IdentityPool (i.e. not running amplify auth update

@blairtaylor When you went through the amplify auth update flow - and if you choose the option of "Cloud API only" - that can potentially see the error message above. If you chose the the second option (Cloud API + IAM controls), then you won't get that warning message. It would be critical for us know more about your selections to help you further.
@RuarriS There currently isn't a way to attach an existing Lambda function as a trigger to your Amplify managed cognito user pool. We allow you to create one though for all the trigger use-cases which Cognito supports. You can open up a feature request for attachment of an existing lambda function in our repo.

@blairtaylor When you went through the amplify auth update flow - and if you choose the option of "Cloud API only" - that can potentially see the error message above. If you chose the the second option (Cloud API + IAM controls), then you won't get that warning message. It would be critical for us know more about your selections to help you further.
@RuarriS There currently isn't a way to attach an existing Lambda function as a trigger to your Amplify managed cognito user pool. We allow you to create one though for all the trigger use-cases which Cognito supports. You can open up a feature request for attachment of an existing lambda function in our repo.


test PR

this is just a test PR

@PiJoCoder : Thanks for your contribution! The author(s) have been notified to review your proposed change.


filename vs objectid

use filename to grab images (not objectid)

Also an issue with ".jpg" showing up in the filenames. Need to think through this. Might want identifier ... or might want to make SA have correspondence between filename (minus extenstion) and objectid ...

Looking back, all the current standalone use filename for the object download only, and assume that the small and thumb are based on objectid.
I think this goes back to early versions of the project, it assumed that there was small.jpg and thumb.jpg for every object which simplifies all the visualization pages, but then the filename would provide the object download without having to use logic to figure out what type of file it was, which simplifies the item page. This is kind of nice too for accommodating random file type downloads, since they could be anything, rather than the limited types the logic could guess.
It make sense to me to require filename correspond to objectid or vice versa.

@dcnb @owikle thoughts and more questions:
I am thinking we should require all object files to be named matching objectid. Wax also requires this. It makes everything simpler and more sensible.
I think we should provide a rake task to do bulk file renaming, since that is pretty handy thing to have. I use a python version all the time where you use a csv with columns like current_filename,new_filename. It could give warnings for bad filename conventions, etc. Like all the rake tasks, it is basically optional, you could do the renaming how ever you want, but is there if necessary.
If we follow that, do we need filename column?
Do we just expect that format is accurate enough to use logic to guess the file extensions?
How do we support compound objects?
My current standalones with compound objects use filename to represent the main image, and compound is multivalued field of other filenames. Wax uses a folder named the objectid, with multiple images inside.

I just ran up against this filename vs. objectid issue while trying to get the UI Extension collection up and running and created this WIP rake task to rename the object files to match their objectid: https://github.com/CollectionBuilder/collectionbuilder-sa_draft/commit/f8cc96881695f936b98f037b0165dfa024b2e5bf


I had an error with  expo run:ios command.

Hi, there.
I want to use agora with expo (react native).
but I had an error...
How do I solve this?
error
$ expo run:ios
WARNING: expo-cli has not yet been tested against Node.js v18.12.1.
If you encounter any issues, please report them to https://github.com/expo/expo-cli/issues

expo-cli supports following Node.js versions:
* >=12.13.0 <15.0.0 (Maintenance LTS)
* >=16.0.0 <17.0.0 (Active LTS)

This command is being executed with the global Expo CLI. Learn more: https://blog.expo.dev/the-new-expo-cli-f4250d8e3421
To use the local CLI instead (recommended in SDK 46 and higher), run:
› npx expo run:ios

› Planning build
› Compiling react-native Pods/React-RCTText » RCTUITextView.m
› Compiling react-native Pods/React-RCTText » React-RCTText-dummy.m
› Compiling react-native Pods/React-RCTText » RCTUITextField.m
› Compiling react-native Pods/React-RCTText » RCTVirtualTextShadowView.m
› Compiling react-native Pods/React-RCTText » RCTVirtualTextViewManager.m
› Compiling react-native Pods/React-RCTText » RCTTextViewManager.m
› Compiling react-native Pods/React-RCTText » RCTTextView.m
› Compiling react-native Pods/React-RCTText » RCTTextShadowView.m
› Compiling react-native Pods/React-RCTText » RCTTextSelection.m
› Compiling react-native-agora Pods/react-native-agora » ReactNativeAgoraRtcNg.mm

❌  (/Users/hirasaki/work/DiFENDER/sources/bluebird-app/node_modules/react-native-agora/ios/ReactNativeAgoraRtcNg.h:1:9)

> 1 | #import <AgoraRtcWrapper/iris_rtc_cxx_api.h>
    |         ^ 'AgoraRtcWrapper/iris_rtc_cxx_api.h' file not found
  2 | #import <React/RCTBridgeModule.h>
  3 | #import <React/RCTEventEmitter.h>
  4 |

› Compiling react-native-agora Pods/react-native-agora » AgoraRtcSurfaceViewManager.mm

❌  (/Users/hirasaki/work/DiFENDER/sources/bluebird-app/node_modules/react-native-agora/ios/ReactNativeAgoraRtcNg.h:1:9)

> 1 | #import <AgoraRtcWrapper/iris_rtc_cxx_api.h>
    |         ^ 'AgoraRtcWrapper/iris_rtc_cxx_api.h' file not found
  2 | #import <React/RCTBridgeModule.h>
  3 | #import <React/RCTEventEmitter.h>
  4 |

    Run script build phase 'Bundle React Native code and images' will be run during every build because it does not specify any outputs. To address this warning, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase. (in target 'bluebirdapp' from project 'my-app')
    Run script build phase 'Start Packager' will be run during every build because it does not specify any outputs. To address this warning, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase. (in target 'bluebirdapp' from project 'my-app')
    Run script build phase '[CP-User] Generate app.config for prebuilt Constants.manifest' will be run during every build because it does not specify any outputs. To address this warning, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase. (in target 'EXConstants' from project 'Pods')

› 2 error(s), and 3 warning(s)

Failed to build iOS project. "xcodebuild" exited with error code 65.

source code.
import React, { useEffect, useRef, useState } from 'react'
import {
  PermissionsAndroid,
  Platform,
  SafeAreaView,
  ScrollView,
  View,
  StyleSheet,
  Text,
} from 'react-native'
import {
  ClientRoleType,
  createAgoraRtcEngine,
  IRtcEngine,
  RtcSurfaceView,
  ChannelProfileType,
} from 'react-native-agora'

/**
 * const
 */
const appId = 'xxxxxxx'
const token = '<--Insert authentication token here-->'
const uid = 33

/**
 * styles
 */
const styles = StyleSheet.create({
  button: {
    paddingHorizontal: 25,
    paddingVertical: 4,
    fontWeight: 'bold',
    color: '#ffffff',
    backgroundColor: '#0055cc',
    margin: 5,
  },
  main: { flex: 1, alignItems: 'center' },
  scroll: { flex: 1, backgroundColor: '#ddeeff', width: '100%' },
  scrollContainer: { alignItems: 'center' },
  videoView: { width: '90%', height: 200 },
  btnContainer: { flexDirection: 'row', justifyContent: 'center' },
  head: { fontSize: 20 },
  info: { backgroundColor: '#ffffe0', color: '#0000ff' },
})

/**
 * props
 */
interface AgoraClientProps {
  channelName: string
}

/**
 * agoraの動画再生用コンポーネント
 */
const AgoraViewer: React.FC<AgoraClientProps> = ({ channelName }) => {
  const agoraEngineRef = useRef<IRtcEngine>() // Agora engine instance
  const [isJoined, setIsJoined] = useState(false) // Indicates if the local user has joined the channel
  const [remoteUid, setRemoteUid] = useState(0) // Uid of the remote user
  const [message, setMessage] = useState('') // Message to the user

  useEffect(() => {
    // Initialize Agora engine when the app starts
    setupVideoSDKEngine().then()
  })

  const setupVideoSDKEngine = async () => {
    try {
      // use the helper function to get permissions
      if (Platform.OS === 'android') {
        await getPermission()
      }
      agoraEngineRef.current = createAgoraRtcEngine()
      const agoraEngine = agoraEngineRef.current
      agoraEngine.registerEventHandler({
        onJoinChannelSuccess: () => {
          showMessage('Successfully joined the channel ' + channelName)
          setIsJoined(true)
        },
        onUserJoined: (_connection, Uid) => {
          showMessage('Remote user joined with uid ' + Uid)
          setRemoteUid(Uid)
        },
        onUserOffline: (_connection, Uid) => {
          showMessage('Remote user left the channel. uid: ' + Uid)
          setRemoteUid(0)
        },
      })
      agoraEngine.initialize({
        appId,
        channelProfile: ChannelProfileType.ChannelProfileLiveBroadcasting,
      })
      agoraEngine.enableVideo()
    } catch (e) {
      console.log(e)
    }
  }

  const join = async () => {
    if (isJoined) {
      return
    }
    try {
      agoraEngineRef.current?.setChannelProfile(ChannelProfileType.ChannelProfileCommunication)
      agoraEngineRef.current?.startPreview()
      agoraEngineRef.current?.joinChannel(token, channelName, uid, {
        clientRoleType: ClientRoleType.ClientRoleBroadcaster,
      })
    } catch (e) {
      console.log(e)
    }
  }

  const leave = () => {
    try {
      agoraEngineRef.current?.leaveChannel()
      setRemoteUid(0)
      setIsJoined(false)
      showMessage('You left the channel')
    } catch (e) {
      console.log(e)
    }
  }

  function showMessage(msg: string) {
    setMessage(msg)
  }

  const getPermission = async () => {
    if (Platform.OS === 'android') {
      await PermissionsAndroid.requestMultiple([
        PermissionsAndroid.PERMISSIONS.RECORD_AUDIO,
        PermissionsAndroid.PERMISSIONS.CAMERA,
      ])
    }
  }

  return (
    <SafeAreaView style={styles.main}>
      <Text style={styles.head}>Agora Video Calling Quickstart</Text>
      <View style={styles.btnContainer}>
        <Text
          onPress={() => {
            join().then()
          }}
          style={styles.button}
        >
          Join
        </Text>
        <Text
          onPress={() => {
            leave()
          }}
          style={styles.button}
        >
          Leave
        </Text>
      </View>
      <ScrollView style={styles.scroll} contentContainerStyle={styles.scrollContainer}>
        {isJoined ? (
          <React.Fragment key={0}>
            <RtcSurfaceView canvas={{ uid: 0 }} style={styles.videoView} />
            <Text>Local user uid: {uid}</Text>
          </React.Fragment>
        ) : (
          <Text>Join a channel</Text>
        )}
        {isJoined && remoteUid !== 0 ? (
          <React.Fragment key={remoteUid}>
            <RtcSurfaceView canvas={{ uid: remoteUid }} style={styles.videoView} />
            <Text>Remote user uid: {remoteUid}</Text>
          </React.Fragment>
        ) : (
          <Text>Waiting for a remote user to join</Text>
        )}
        <Text style={styles.info}>{message}</Text>
      </ScrollView>
    </SafeAreaView>
  )
}

export default AgoraViewer

package.json
{
  "name": "my-app",
  "version": "1.0.0",
  "scripts": {
    "start": "npx expo start --dev-client",
    "android": "expo run:android",
    "ios": "expo run:ios",
    "web": "expo start --web",
    "lint-fix": "eslint --cache --fix src/ && prettier --write src/",
    "generate-openapi": "npx openapi2aspida"
  },
  "dependencies": {
    "@aspida/axios": "^1.11.0",
    "@react-navigation/bottom-tabs": "^6.5.1",
    "@react-navigation/native": "^6.1.0",
    "@react-navigation/stack": "^6.3.9",
    "axios": "^1.2.1",
    "dayjs": "^1.11.7",
    "expo": "~47.0.8",
    "expo-dev-client": "~2.0.1",
    "expo-splash-screen": "~0.17.5",
    "expo-status-bar": "~1.4.2",
    "jotai": "^1.11.1",
    "react": "18.1.0",
    "react-dom": "18.1.0",
    "react-native": "0.70.5",
    "react-native-agora": "^4.0.0",
    "react-native-gesture-handler": "~2.8.0",
    "react-native-safe-area-context": "4.4.1",
    "react-native-screens": "~3.18.0",
    "react-native-svg": "13.4.0",
    "react-native-web": "~0.18.9"
  },
  "devDependencies": {
    "@babel/core": "^7.12.9",
    "@types/node": "^18.11.12",
    "@types/react": "~18.0.14",
    "@types/react-native": "~0.70.6",
    "@typescript-eslint/eslint-plugin": "^5.46.0",
    "@typescript-eslint/parser": "^5.46.0",
    "babel-plugin-inline-import": "^3.0.0",
    "eslint": "^8.29.0",
    "eslint-config-prettier": "^8.5.0",
    "eslint-config-standard-with-typescript": "^23.0.0",
    "eslint-plugin-import": "^2.26.0",
    "eslint-plugin-n": "^15.6.0",
    "eslint-plugin-prettier": "^4.2.1",
    "eslint-plugin-promise": "^6.1.1",
    "eslint-plugin-react": "^7.31.11",
    "eslint-plugin-react-hooks": "^4.6.0",
    "prettier": "^2.8.1",
    "react-native-svg-transformer": "^1.0.0",
    "ts-node": "^10.9.1",
    "typescript": "^4.9.4"
  },
  "private": true
}

@LichKing-2234
Thank you for your replying.
yes, I alreay did it.
 $ (cd ios && pod install)
Using Expo modules
[Expo] Enabling modular headers for pod ExpoModulesCore
Auto-linking React Native modules for target `bluebirdapp`: RNGestureHandler, RNSVG, RNScreens, react-native-agora, and react-native-safe-area-context
[Codegen] Generating ./build/generated/ios/React-Codegen.podspec.json
Analyzing dependencies
[Codegen] Found FBReactNativeSpec
/Users/hirasaki/work/DiFENDER/sources/bluebird-app/node_modules/react-native/scripts/react_native_pods_utils/script_phases.rb:51: warning: Passing safe_level with the 2nd argument of ERB.new is deprecated. Do not use it, and specify other arguments as keyword arguments.
/Users/hirasaki/work/DiFENDER/sources/bluebird-app/node_modules/react-native/scripts/react_native_pods_utils/script_phases.rb:51: warning: Passing trim_mode with the 3rd argument of ERB.new is deprecated. Use keyword argument like ERB.new(str, trim_mode: ...) instead.
Downloading dependencies
Generating Pods project
Setting REACT_NATIVE build settings
Setting CLANG_CXX_LANGUAGE_STANDARD to c++17 on /Users/hirasaki/work/DiFENDER/sources/bluebird-app/ios/bluebirdapp.xcodeproj
Pod install took 8 [s] to run
Integrating client project
expo_patch_react_imports! took 0.2137 seconds to transform files.
Pod installation complete! There are 54 dependencies from the Podfile and 56 total pods installed.

I had the same problem, I am using this version. Fixed for now.
4.1.0-rc.1

@gurkankaya05
I succeed to avoid this error! thank you!


Add permission for convoy to switch lot from "auction" to "salable"

Coverage remained the same at 96.474% when pulling 6b7771849063e247c1703b5ca76a1a7ee0355cd1 on sasha-kantoriz:fix_lot_statuses_dict into e4a0d4941c14e3f05d0790317f35b1d034749607 on openprocurement:master.


Add SAFETY comments to all unsafe blocks in rclrs

@jhdcs Right, I left that out because that part is changed in https://github.com/ros2-rust/ros2_rust/pull/102/files, but it makes sense to add it here already and then transfer that comment over. Done.

@jhdcs Could you approve this PR?

Sorry, I'd need another approval because I just merged #102 and rebased.

Thanks!


Cannot mine belts on ores.

Mod source
Factorio Mod Portal
Operating system

=Windows 10

What kind of issue is this?

[ ] Compatibility
[ ] Locale (names, descriptions, unknown keys)
[ ] Graphical
[ ] Crash
[ ] Progression
[ ] Balance
[ ] Pypostprocessing failure
[ ] Other

What is the problem?
Belts have a selection priority of 48.
Ores have a selection priority of 45.
Effectively this means belts are unminable when placed on resource patches.
Steps to reproduce
No response
Additional context
No response
Log file
No response

that's already fixed, ores have a priority of 40 now


Reset the cockroach-python repo.

Remove all the KV-specific stuff. Adjust the reusable parts so
the tests still pass.

LGTM, but there's a CI problem.

Looks like a circleci glitch that went away on rebuild.


problem with the web editor

When I run the / lp command editor I get this error: https://pastebin.com/dVXgvktW, any ideas why this happens?

Caused by: java.net.UnknownHostException: bytebin.lucko.me: Temporary failure in name resolution
You server can't properly resolve the server name. Make sure your server's DNS is working properly. It's working on my side


Enable deep-inspection for Chains in tekton config

to test the konflux e2e's against https://github.com/openshift-pipelines/pipeline-service/pull/985 before merging https://github.com/openshift-pipelines/pipeline-service/pull/985
@yashvardhannanavati @arewm @lcarva fyi
turns out after initially opening this as a test feature, the easier debug we  get with infra-deployment e2e's allowed us to determine that string  vs. bool for the field being set had bearing with the operator
see https://github.com/redhat-appstudio/infra-deployments/pull/3543#issuecomment-2040315963
also, as part of our (well mine minimally, but I think there is a consensus) overall intent to start moving off of pipeline service for config changes, I actually want to limit the update to this repo vs updating pipeline-service
rh-pre-commit.version: 2.2.0
rh-pre-commit.check-secrets: ENABLED

yeah my test PR here is somehow off @yashvardhannanavati and the gitops deployment for pipeline service is failing in https://prow.ci.openshift.org/view/gs/test-platform-results/pr-logs/pull/redhat-appstudio_infra-deployments/3543/pull-ci-redhat-appstudio-infra-deployments-main-appstudio-e2e-tests/1775978150711267328
we'll have to circle back to this once you get https://github.com/openshift-pipelines/pipeline-service/pull/985 at least passing the smoke test

@yashvardhannanavati I brought up this branch on a local cluster and was able to see why the pipeline service is not coming up
Gitops cannot fully sync the TektonConfig.
Now, your branch https://github.com/yashvardhannanavati/pipeline-service/tree/enable_deep_inspect is up to date wrt main branch, so it is not that.
I suspect we are hitting one of the unfortunate difficulties with managing tekton with both the operator and gitops.  They sometimes want to update things like the tekton config object concurrently, and they wipe out each other's updates.
Multiple writers scenario.  We have hit this on occasion.
To see about resolving this, I'm going to create an alternative to https://github.com/openshift-pipelines/pipeline-service/pull/985 that exposes artifacts.pipelinerun.enable-deep-inspection but sets it to / leaves it false.
I'll then update this PR to point to my branch, but also patch the tekton config to set artifacts.pipelinerun.enable-deep-inspection  to true
Hopefully that solves it.  Otherwise, we end up in having to deal with sync-waves hell, or I have to look at the diffs between desired and live manifests for the TektonConfig
Possible nice side effect:  if I get this sorted and the e2e's pass, you don't have to worry about getting the chains smoke test in the pipeline-service PR working again.
@arewm @lcarva FYI

@yashvardhannanavati I brought up this branch on a local cluster and was able to see why the pipeline service is not coming up
Gitops cannot fully sync the TektonConfig.
Now, your branch https://github.com/yashvardhannanavati/pipeline-service/tree/enable_deep_inspect is up to date wrt main branch, so it is not that.
I suspect we are hitting one of the unfortunate difficulties with managing tekton with both the operator and gitops. They sometimes want to update things like the tekton config object concurrently, and they wipe out each other's updates.
Multiple writers scenario. We have hit this on occasion.
To see about resolving this, I'm going to create an alternative to openshift-pipelines/pipeline-service#985 that exposes artifacts.pipelinerun.enable-deep-inspection but sets it to / leaves it false.
I'll then update this PR to point to my branch, but also patch the tekton config to set artifacts.pipelinerun.enable-deep-inspection to true
Hopefully that solves it. Otherwise, we end up in having to deal with sync-waves hell, or I have to look at the diffs between desired and live manifests for the TektonConfig
Possible nice side effect: if I get this sorted and the e2e's pass, you don't have to worry about getting the chains smoke test in the pipeline-service PR working again.
@arewm @lcarva FYI

actually now as I look at it, it may be better @yashvardhannanavati  to pivot back to a infra-deployments only patch on the TektonConfig
I'll work it up and see.
@enarha FYI

cannot decode incoming new object: json: cannot unmarshal string into Go struct field
Chain.spec.chain.artifacts.pipelinerun.enable-deep-inspection of type bool

The changes in this PR do set artifacts.pipelinerun.enable-deep-inspection to the string "true". There's probably a bug somewhere along the way that is converting the string "true" to the boolean true.
The Tekton Chains config ConfigMap expects that value to be of type string. But the operator expects it to be a boolean.
There's another config attribute for Chains that is a boolean-wrapped-in-a-string, transparency.enabled. In the operator that is handled as a BoolValue. I'm not too familiar with the operator code, but it sounds like the BoolValue should also be used here.

cannot decode incoming new object: json: cannot unmarshal string into Go struct field
Chain.spec.chain.artifacts.pipelinerun.enable-deep-inspection of type bool

The changes in this PR do set artifacts.pipelinerun.enable-deep-inspection to the string "true". There's probably a bug somewhere along the way that is converting the string "true" to the boolean true.
The Tekton Chains config ConfigMap expects that value to be of type string. But the operator expects it to be a boolean.
There's another config attribute for Chains that is a boolean-wrapped-in-a-string, transparency.enabled. In the operator that is handled as a BoolValue. I'm not too familiar with the operator code, but it sounds like the BoolValue should also be used here.

conceivably yeah @lcarva could be that too ... though it is curious that  a few lines down
transparency.enabled: "false"
works fine
also from @yashvardhannanavati  's PR https://github.com/openshift-pipelines/pipeline-service/pull/985 if you look at https://github.com/openshift-pipelines/pipeline-service/pull/985/files#diff-7b0f46511f3c76f0deb347cc69126f54ac59102bee06eeee07471cf9fa02b8bdR48 the "false" was used.
First, maybe that should have been "true" ?
next, it is in quotes
maybe the supposed bug varies on true vs. false
I'll experiment some more with this PR and see what varying results occur

I also know next to little about the operator code but your find on the different fields and Bool vs. BoolValue does seem relevant @lcarva
In the interim, I'm trying with true, no quotes,  to see if the operator does the right thing with the config map

@gabemontero I had temporarily changed it to "false" to check if it's indeed the config change causing the issue. I see Lui's comment now.

any sense @lcarva @yashvardhannanavati if this one failure:
 • [FAILED] [3.916 seconds]
[rhtap-demo-suite] DEVHAS-337: creates quarkus application from a private repository which contain a devfile [It] creates an application [rhtap-demo, verify-stage]
/tmp/tmp.KYKPiE6uY5/tests/rhtap-demo/rhtap-demo.go:174
  Timeline >>
  Waiting for UserSignup rhtap-demo-pyzb to have condition Complete:True
  Waiting for UserSignup rhtap-demo-pyzb to have condition Complete:True
  Waiting for UserSignup rhtap-demo-pyzb to have condition Complete:True
  Waiting for UserSignup rhtap-demo-pyzb to have condition Complete:True
  Parallel processes: 15
  Running on namespace: rhtap-demo-pyzb-tenant
  User: rhtap-demo-pyzb
  Parallel process 14
  [FAILED] in [It] - /tmp/tmp.KYKPiE6uY5/tests/rhtap-demo/rhtap-demo.go:177 @ 04/05/24 18:10:02.805
  test: rhtap-demo, namespace: rhtap-demo-pyzb-tenant, resourceQuota: appstudio-crds-spi, resource: count/spiaccesschecks.appstudio.redhat.com, available: 512, used: 0
  test: rhtap-demo, namespace: rhtap-demo-pyzb-tenant, resourceQuota: appstudio-crds-spi, resource: count/spiaccesstokenbindings.appstudio.redhat.com, available: 512, used: 0
  test: rhtap-demo, namespace: rhtap-demo-pyzb-tenant, resourceQuota: appstudio-crds-spi, resource: count/spiaccesstokendataupdates.appstudio.redhat.com, available: 512, used: 0
  test: rhtap-demo, namespace: rhtap-demo-pyzb-tenant, resourceQuota: appstudio-crds-spi, resource: count/spiaccesstokens.appstudio.redhat.com, available: 512, used: 0
  test: rhtap-demo, namespace: rhtap-demo-pyzb-tenant, resourceQuota: appstudio-crds-spi, resource: count/spifilecontentrequests.appstudio.redhat.com, available: 512, used: 0
  << Timeline
  [FAILED] Unexpected error:
      <*url.Error | 0xc001909d10>:
      Post "https://api-toolchain-host-operator.apps.rhtap-4-14-us-east-2-trf94.ci.stonesoupengineering.com/apis/appstudio.redhat.com/v1alpha1/namespaces/rhtap-demo-pyzb-tenant/applications": EOF
      {
          Op: "Post",
          URL: "https://api-toolchain-host-operator.apps.rhtap-4-14-us-east-2-trf94.ci.stonesoupengineering.com/apis/appstudio.redhat.com/v1alpha1/namespaces/rhtap-demo-pyzb-tenant/applications",
          Err: <*errors.errorString | 0xc0000c6120>{s: "EOF"},
      }
  occurred
  In [It] at: /tmp/tmp.KYKPiE6uY5/tests/rhtap-demo/rhtap-demo.go:177 @ 04/05/24 18:10:02.805

from the 4-14 test is at all chains related ?

/hold
per slack conversation @lcarva and @yashvardhannanavati are going to do some additional testing in one of their clusters, and if that is successful, then we'll move forward in stage.
you guys can remove the hold and tag with lgtm when you think this is ready.

lgtm

@yashvardhannanavati you need to put a slash character before the lgtm if you want the label applied
I applied the label for you in the interim.

/retest

/retest

/retest

/retest

/retest

/retest

/retest

/retest

/retest

/retest

/test appstudio-e2e-tests

/ok-to-test

/retest

/test appstudio-e2e-tests-ocp-4-14

@gabemontero @yashvardhannanavati unless we can force merge this change, I've cherry-picked the commit and opened https://github.com/redhat-appstudio/infra-deployments/pull/3580 to work around the "pending for approval" issue.

closing in favor of @enarha 's PR https://github.com/redhat-appstudio/infra-deployments/pull/3580


Change Clickhouse Setting

I find the feature at DATAgrip

Maybe this  modify system table ,but its very useful!
and other , if press "ctrl+enter" can exec sql hot key ,it will be better.
thanks!

Thanks for the suggestions and we will support them in part in the next version

not implemented https://github.com/ClickHouse/ClickHouse/issues/4548


Support dot notation on UPDATE ... SET

Currently, the UPDATE clause only accepts simple top-level fields foo.
We should be able to update nested fields or array indexes using dot notation.
UPDATE users SET a.3.name = [1, 2, 3];

Because nested values can be tricky, the SET clause must only set a value when it is possible. If we take the example above, the document must respect the following requirements in order to be settable:

a is an array
a.3 exists and is a document
a.3.name may or may not exist (same rules as for top-level fields, see below)

Currently, the rule is: if the field doesn't exist, we create it, otherwise we replace it with the new value.
With this change, the rule still applies but only for the element of the dot notation path that is the most to the right.
Exception for arrays
INSERT INTO users (a) VALUES ([1, 0, 0]), ([2, 0]);
UPDATE users SET a.2 = 1;
SELECT * FROM users WHERE a.2 = 1;
{"a": [1, 0, 1]}

This example shows that the above rule must not apply for arrays. If the array index doesn't exist, it must not be created.

If the field name doesn't exist, it must be created. Consider the following request:
UPDATE users SET a.2.name = [1, 2, 3]; SELECT * FROM users WHERE a.2= "name";
Is the expected result?
{   "a": [     1,     0,     "name",     [       1,       0,       3     ]   ] }

I'm reopening this issue as there are still some bugs in the proposed PR. The PR has been reverted and the issue is scheduled for v0.8

When the field using backquotes with spaces like this some "field ", the spaces must be deleted or not?
input:
some "field" or a.     b   . c
outputs :
some "field"   or  a.b.c
Spaces should be deleted.
Is the expected behaviour?

Found the answer in TestParserPath.


Adding ToString() and std::string cast to Color and Vector classes

This adds ToString() and operator std::string to Color and Vector classes. There are some other classes that could benefit from similar treatment, but we have to start somewhere.

This is a response to what was mentioned in Issue #106.


Get user by email from identities ( sign-in mail )

Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:

Go to 'https://developer.microsoft.com/en-us/graph/graph-explorer'
Enter "https://graph.microsoft.com/v1.0/users?$filter=identities/any(x:x/issuerAssignedId eq<EMAIL_ADDRESS>and x/issuer ne '')&$count=true" as a query. Set header "ConsistencyLevel: eventual"
Click "Run Query"
See error in response window

Expected behavior
A response with the list of users, who have that particular email in their identities is expected in the response. Instead:
{
"error": {
"code": "Request_BadRequest",
"message": "Unrecognized query argument specified: 'filter'.",
"innerError": {
"date": "2023-05-11T12:07:48",
"request-id": "b2be8fc5-a2ba-44f6-85f3-e0763b95f60f",
"client-request-id": "b2be8fc5-a2ba-44f6-85f3-e0763b95f60f"
}
}
}
Desktop (please complete the following information):

OS: Win 11
Browser Edge
Version 112.0.1722.68 (Official build) (64-bit)

Additional context
"&$count=true" and header "ConsistencyLevel: eventual" are necessary for "ne" (not equal), being an advanced query option. If no x/issuer is set, with a plain query ( no additional headers and no $count set ) the error message is: "Issuer is not set in the query. Issuer issuer, IssuerUserId: issuerUserId"

Hi @sha3m,
I think the reason the request is failing is because you aren't setting an issuer. For more information on how to set the issuer refer to this: https://learn.microsoft.com/en-us/graph/api/resources/objectidentity?view=graph-rest-1.0
Once you have the issuer, you will no longer need the 'ConsistencyLevel:eventual' header and the query should return a 200.


gcp secret

Hello,
I want to know if they're any reason to store secret in kubernetes (come from GCP SecretsManager) with a JSON like this {"value": "<my-secret-value"}, and how is should be exploitable with kubernetes, specially for environment variables imported from secret
Furthermore, secret from AWS SecretsManager seems to be imported as "raw", without this json
Maybe I miss something, but I see anything in the code

@Eraac Thanks for implementing this. This fixes a significant problem when integrating across clouds and with multiple secret managers. It prevents pulling any useful information using the property field in your externalsecret CRD to Kubernetes secrets. Instead it always has to be value and the unpacking of the secrets has to happen somewhere else.
@Flydiverny I believe that @Eraac has addressed your review and it's ready to go. I'd love to see this merged.


[Ch 4] Order of pedagogical patterns

I think we can help the readers a bit by organizing the chapter so that similar patterns are grouped together. Here is a suggestion and I look forward to hearing thoughts on it.
(The extra line break is a visual cue to indicate items I suggest we group together. The order of the groups could easily be changed as can the order within the groups. Roughly, for the internal ordering, I tried to go with increasing complexity).

Introduction

Shift-Enter for the win
Fill in the blanks
Target Practice
Twiddle, tweak and frob

Notebook as an app
Win-day-one
Top-down sequence

Two bites at every apple
Coding as translation
Symbolic math over pencil + paper
Replace analysis with numerical methods
The API is the lesson
Proof by example, disproof by counterexample

The world is your dataset
Now you try (with different data or process)
Connect to external audiences
There can only be one

Hello, world!
Test driven development
Code reviews
Bug hunt
Adversarial programming

Looks fine. I'd just reorder and if it needs tweaking later, people can do it.

LGTM. Would it make sense to group them under sub-headings?

Sounds good! I can take a crack at it. I was thinking about sub-headings, but there is definitely blurring between the groups, so I hesitate to draw too much of a line between them. I think the main thing is to just help the reader by having like things close together.... my 2 cents :)


⚠ Bofrost.be has degraded performance

In 24fe2f5, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 1479 ms

Resolved: Bofrost.be performance has improved in 453292a after 51 minutes.


Stacked column barchart- onclick on Xaxis label feature

Hi,
I wanted to know if there is a onclick feature for the xaxis label in a stacked barchart
for e.g. below codepen
https://codepen.io/markhm/pen/ExjqYbV
If i click on '02 Jan', '03 Jan' and so on, is there any onclick event handling for this. Please let me know.

Still searching for this label click event.
Something new ? Or another way?


[bug]: tearsheet close x has 2 tooltips that say the same ting

Package
Carbon for IBM Products
Description
When hovering over the close x in the tearsheet, you will see 2 tooltip labels

Expected behavior is that only 1 tooltip shows
Component(s) impacted
Tearsheet
Browser
Chrome
@carbon/ibm-products (previously @carbon/ibm-cloud-cognitive) version
v2.40.0
Severity
Severity 4 = The problem is not visible to or noticeable to an average user. Affects minor functionality, no workaround needed.
Product/offering
IBM cloudpak for AIOps
CodeSandbox or Stackblitz example
Recreatable in the storybook
Steps to reproduce the issue (if applicable)
No response
Release date (if applicable)
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct
[ ] I checked the current issues for duplicate issues

I think this might be more an issue for the ComposedModal (ModalHeader) in @carbon/react. The same issue exists here in core's storybook. Can you reopen this issue but in their repo?
https://github.com/carbon-design-system/carbon/issues/new/choose


usb_descriptor: silently overwrites endpoint address

Describe the bug
The usb_validate_ep_cfg_data function in subsys/usb/device/usb_descriptor.c silently overwrites endpoint address!
Please also mention any information which could help others to understand
the problem you're facing:

What target platform are you using?

Dev OS: Linux <my_vm_name_here> 6.5.0-14-generic #14~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Mon Nov 20 18:15:30 UTC 2 x86_64 x86_64 x86_64 GNU/Linux
Zephyr RTOS: *** Booting Zephyr OS build zephyr-v3.5.0-4378-g2794727c9724 *** --> NOTE: Here githash may vary from that one of main branch! But this shall not change the core of the bug at the moment!

What have you tried to diagnose or workaround this issue?

Build sample project samples/subsys/usb/testusb and run it wit different USB Endpoint addresses
Noticed no USB EP address change on my development machine, if I wary it.

To Reproduce
Steps to reproduce current behavior:

Checkout curent main branch with git checkout main
(optional step) Add USB device to your board. In my case of nucelo_h745zi_q_m7 I've applided following patch:

diff --git a/boards/arm/nucleo_h745zi_q/nucleo_h745zi_q_m7.dts b/boards/arm/nucleo_h745zi_q/nucleo_h745zi_q_m7.dts
index 184232867b..c8ed5f41b3 100644
--- a/boards/arm/nucleo_h745zi_q/nucleo_h745zi_q_m7.dts
+++ b/boards/arm/nucleo_h745zi_q/nucleo_h745zi_q_m7.dts
@@ -26,6 +26,10 @@
 		zephyr,dtcm = &dtcm;
 		zephyr,sram = &sram0;
 		zephyr,flash = &flash0;
+		zephyr,usb-device = &usbd;
+	};
+
+	usbd: usbotg_fs {
 	};

 	pwmleds {
@@ -121,3 +125,12 @@
 &rng {
 	status = "okay";
 };
+
+&usbotg_fs {
+	pinctrl-0 = <&usb_otg_fs_sof_pa8
+				 &usb_otg_fs_vbus_pa9
+				 &usb_otg_fs_dm_pa11
+				 &usb_otg_fs_dp_pa12>;
+	pinctrl-names = "default";
+	status = "okay";
+};

Enable USB debug log in the application samples/subsys/usb/testusb. You may use for it the patch below:

diff --git a/samples/subsys/usb/testusb/prj.conf b/samples/subsys/usb/testusb/prj.conf
index e310a67818..e34ca0104f 100644
--- a/samples/subsys/usb/testusb/prj.conf
+++ b/samples/subsys/usb/testusb/prj.conf
@@ -9,3 +9,6 @@ CONFIG_USB_DRIVER_LOG_LEVEL_ERR=y
 CONFIG_USB_DEVICE_LOOPBACK=y
 CONFIG_USB_DEVICE_LOG_LEVEL_ERR=y
 CONFIG_USB_DEVICE_INITIALIZE_AT_BOOT=n
+
+CONFIG_USB_DRIVER_LOG_LEVEL_DBG=y
+CONFIG_USB_DEVICE_LOG_LEVEL_DBG=y

Set  LOOPBACK_OUT_EP_ADDR to 0x02. You may use here patch below:

diff --git a/subsys/usb/device/class/loopback.c b/subsys/usb/device/class/loopback.c
index 77c5dde4bd..4191899c74 100644
--- a/subsys/usb/device/class/loopback.c
+++ b/subsys/usb/device/class/loopback.c
@@ -15,7 +15,7 @@
 #include <zephyr/logging/log.h>
 LOG_MODULE_REGISTER(usb_loopback, CONFIG_USB_DEVICE_LOG_LEVEL);

-#define LOOPBACK_OUT_EP_ADDR		0x01
+#define LOOPBACK_OUT_EP_ADDR		0x02
 #define LOOPBACK_IN_EP_ADDR		0x81

 #define LOOPBACK_OUT_EP_IDX		0

Build and Run application samples/subsys/usb/testusb on the board of your choise

Open a new terminal on your Linux host and type sudo cat  /sys/kernel/debug/usb/devices. In my case it shows following output for my board:

T:  Bus=03 Lev=01 Prnt=01 Port=01 Cnt=02 Dev#= 81 Spd=12   MxCh= 0
D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=2fe3 ProdID=0009 Rev= 3.05
S:  Manufacturer=ZEPHYR
S:  Product=Zephyr testusb sample
S:  SerialNumber=3438510D00500038
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=100mA
I:* If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=(none)
E:  Ad=01(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms
E:  Ad=81(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms

You shall get similiar output!
Please take a closer look at the line E:  Ad=01(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms. The entry E: Ad=01(O) means - it is an endpoint with Address 0x01 of type Output! Compare it with address set in step 4!

Additionally in the log output of your board you shall see an entry with <dbg> usb_descriptor: usb_validate_ep_cfg_data: Fixing EP address 2 -> 1 message. This basically means, that the address from step 4 were overwritten silently!

If you do not see the message, you may need to increase the log buffer size by applying CONFIG_LOG_BUFFER_SIZE=16384 setting. Of course the buffer size may vary for your board. For me 16KiBi worked well.
Conclusion: Here I see endpoint address have been silently overwriten by usb stack, which is kind of unexpected!
Expected behavior
I am expecting USB Endpoint address to become the value I've choosen.
If it is not possible - I am expecting kind of KConfig flag with CONFIG_USB_FIX_SETTING_SILENTLY=y, s.t. setting this setting to n will throw runtime assertion!
Impact
Annoyance: I lost several hours figuring it out, since the change happened silently.
Showstoper: Implementing device driver for already existing usb drivers in Linux Kernel for example may need additional endpoint entries in SoC, which may consume more RAM.
Logs and console output
Zepthyr RTOS v3.5 log output cut:
[00:00:00.000,000] <dbg> usb_descriptor: usb_get_device_descriptor: __usb_descriptor_end 0x240001a4
[00:00:00.000,000] <dbg> usb_descriptor: usb_fix_descriptor: Device descriptor 0x24000110
[00:00:00.000,000] <dbg> usb_dc_stm32: usb_dc_ep_check_cap: ep 0, mps 64, type 0
[00:00:00.000,000] <dbg> usb_descriptor: usb_desc_update_mps0: Set bMaxPacketSize0 64
[00:00:00.000,000] <dbg> usb_descriptor: usb_fix_descriptor: Configuration descriptor 0x24000122
[00:00:00.000,000] <dbg> usb_descriptor: usb_fix_descriptor: Interface descriptor 0x2400012b
[00:00:00.000,000] <dbg> usb_descriptor: usb_fix_descriptor: Endpoint descriptor 0x24000134
[00:00:00.000,000] <dbg> usb_dc_stm32: usb_dc_ep_check_cap: ep 1, mps 64, type 2
[00:00:00.000,000] <dbg> usb_descriptor: usb_validate_ep_cfg_data: Fixing EP address 2 -> 1
[00:00:00.000,000] <dbg> usb_descriptor: usb_validate_ep_cfg_data: endpoint 0x1
[00:00:00.000,000] <dbg> usb_descriptor: usb_fix_descriptor: Endpoint descriptor 0x2400013b
[00:00:00.000,000] <dbg> usb_dc_stm32: usb_dc_ep_check_cap: ep 81, mps 64, type 2
[00:00:00.000,000] <dbg> usb_descriptor: usb_validate_ep_cfg_data: Fixing EP address 81 -> 81
[00:00:00.000,000] <dbg> usb_descriptor: usb_validate_ep_cfg_data: endpoint 0x81
[00:00:00.000,000] <dbg> usb_descriptor: usb_fix_descriptor: Now the wTotalLength is 32

Environment (please complete the following information):

OS:  Linux <my_vm_name_here> 6.5.0-14-generic #14~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Mon Nov 20 18:15:30 UTC 2 x86_64 x86_64 x86_64 GNU/Linux
Toolchain zephyr-sdk-0.16.4
Commit SHA or Version used: 37352d3d2993f02b26b027b1a3bde11ab2254319

Additional context
At the moment I've found temporary fix for my problem by disabling EP address fix with following patch:
diff --git a/subsys/usb/device/usb_descriptor.c b/subsys/usb/device/usb_descriptor.c
index 7c2ac37d94..ad09d5cc19 100644
--- a/subsys/usb/device/usb_descriptor.c
+++ b/subsys/usb/device/usb_descriptor.c
@@ -258,17 +258,17 @@ static int usb_validate_ep_cfg_data(struct usb_ep_descriptor * const ep_descr,
 				ep_cfg.ep_addr = idx;
 			}
 			if (!usb_dc_ep_check_cap(&ep_cfg)) {
-				LOG_DBG("Fixing EP address %x -> %x",
-					ep_descr->bEndpointAddress,
-					ep_cfg.ep_addr);
-				ep_descr->bEndpointAddress = ep_cfg.ep_addr;
-				ep_data[i].ep_addr = ep_cfg.ep_addr;
-				if (ep_cfg.ep_addr & USB_EP_DIR_IN) {
-					*requested_ep |= (1U << (idx + 16U));
-				} else {
-					*requested_ep |= (1U << idx);
-				}
-				LOG_DBG("endpoint 0x%x", ep_data[i].ep_addr);
+				// LOG_DBG("Fixing EP address %x -> %x",
+				// 	ep_descr->bEndpointAddress,
+				// 	ep_cfg.ep_addr);
+				// ep_descr->bEndpointAddress = ep_cfg.ep_addr;
+				// ep_data[i].ep_addr = ep_cfg.ep_addr;
+				// if (ep_cfg.ep_addr & USB_EP_DIR_IN) {
+				// 	*requested_ep |= (1U << (idx + 16U));
+				// } else {
+				// 	*requested_ep |= (1U << idx);
+				// }
+				// LOG_DBG("endpoint 0x%x", ep_data[i].ep_addr);
 				return 0;
 			}
 		}

The code shows a direct dependency between the endpoint address and its index in the config field/struct, which may seem overengineered compared to commercial drivers.

The usb_validate_ep_cfg_data function in subsys/usb/device/usb_descriptor.c silently overwrites endpoint address!

This is intentional behavior and not a bug.

Showstoper: Implementing device driver for already existing usb drivers in Linux Kernel for example may need additional endpoint entries in SoC, which may consume more RAM.

Looks like your host-side driver is not parsing function descriptors, here endpoint descriptors, but using fixed addresses. Please fix your broken host-side driver.
I do not accept this report. Closing.

The usb_validate_ep_cfg_data function in subsys/usb/device/usb_descriptor.c silently overwrites endpoint address!

This is intentional behavior and not a bug.

Showstoper: Implementing device driver for already existing usb drivers in Linux Kernel for example may need additional endpoint entries in SoC, which may consume more RAM.

Looks like your host-side driver is not parsing function descriptors, here endpoint descriptors, but using fixed addresses. Please fix your broken host-side driver.
I do not accept this report. Closing.

Can you please state the entry in USB standard, which defines this behaviour? Closing this issue with the reason intentional behavior and not a bug seems to me to be very subective reason.
I have a lot of consumer devices with exactly opposit behaviour as already implemented int Zephyr Stack!

Samsung Flash Drive:

T:  Bus=04 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  3 Spd=5000 MxCh= 0
D:  Ver= 3.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 9 #Cfgs=  1
P:  Vendor=090c ProdID=1000 Rev=11.00
S:  Manufacturer=Samsung
S:  Product=Flash Drive
S:  SerialNumber=0361415120013210
C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=304mA
I:* If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage
E:  Ad=01(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms
E:  Ad=82(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms

ASRock LED Controller:

T:  Bus=03 Lev=02 Prnt=03 Port=00 Cnt=01 Dev#= 93 Spd=12   MxCh= 0
D:  Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
P:  Vendor=26ce ProdID=01a2 Rev= 0.00
S:  Manufacturer=ASRock
S:  Product=LED Controller
S:  SerialNumber=A02019100900
C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=100mA
I:* If#= 0 Alt= 0 #EPs= 2 Cls=03(HID  ) Sub=00 Prot=00 Driver=usbhid
E:  Ad=81(I) Atr=03(Int.) MxPS=  64 Ivl=1ms
E:  Ad=02(O) Atr=03(Int.) MxPS=  64 Ivl=1ms

Gamin Watch:

T:  Bus=03 Lev=02 Prnt=04 Port=00 Cnt=01 Dev#= 94 Spd=480  MxCh= 0
D:  Ver= 2.00 Cls=ff(vend.) Sub=ff Prot=ff MxPS=64 #Cfgs=  1
P:  Vendor=091e ProdID=0003 Rev= 0.01
C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=500mA
I:* If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
E:  Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=82(I) Atr=03(Int.) MxPS=  64 Ivl=125us
E:  Ad=03(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms

Samsung Portable SSD T5:

T:  Bus=04 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  4 Spd=5000 MxCh= 0
D:  Ver= 3.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 9 #Cfgs=  1
P:  Vendor=04e8 ProdID=61f5 Rev= 1.00
S:  Manufacturer=Samsung
S:  Product=Portable SSD T5
S:  SerialNumber=1234567BDBA5
C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=896mA
I:  If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=uas
E:  Ad=81(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms
E:  Ad=02(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms
I:* If#= 0 Alt= 1 #EPs= 4 Cls=08(stor.) Sub=06 Prot=62 Driver=uas
E:  Ad=81(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms
E:  Ad=02(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms
E:  Ad=83(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms
E:  Ad=04(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms

All above devices have NO bound between EP I/O addresses! What makes Zephyr RTOS here different? Why Zephyr RTOS have to follow this specific behaviour?

All the above devices have NO bound between EP I/O addresses and theri indexes in the config fields! What makes Zephyr RTOS here different? Why Zephyr RTOS have to follow this specific behaviour?
Following your statement about broken host driver, would mean all the above devices having broken host drivers too. Ok. I would believe if we speak about Garmin Watch. But what about all the Samsung devices? Would you say, Samsung doing broken USB host drivers? Who decides it?

My statement only refers to your original report, everything else you hallucinated is not part of it.

Now I have even more questions. I reopen this issue in the hope all the other people with additional expertise in USB stack and USB standard take a look here. It looks to me know, tha Zephyr RTOS USB stack serving needs of one consumer only. Moreover I see this behavior as a desgin failure bloking it's flexibility.

Okay, still, if you want to discuss, open a discussion.

@carlescufi Could you please add more peaople for review and discussion?

I am the maintainer of this area and do not accept this bug. Pinging my boss here will not help.

@jfischer-no I didn't knew @carlescufi is your superior. I know him, as a person responsible for a lot of management in Zephyr RTOS. Thus I requested him to add more reviewers.
Since you're the maintainer of the USB stack, you shall be more familiar with USB standards than me. Thus I am asking your for a reference in the USB standard, where behavior I mentioned is defined. What I am getting instead is silent closing of my bug-report and mean (see the word "hallucinating" above).
Opening a discussion would be also fine. But you didn't mentioned it in the first bug-closing.
I also do not like, how you behave towards me and my striving to make Zephyr RTOS better. Zephyr RTOS writes it follows respectful communication. In that case I have to notify responsible people.

I too find the if (!usb_dc_ep_check_cap(&ep_cfg)) handling at least semantically problematic to say the least.
The declaration of usb_dc_ep_check_cap reads:
 Function to check capabilities of an endpoint. usb_dc_ep_cfg_data structure
 provides the endpoint configuration parameters: endpoint address,
 endpoint maximum packet size and endpoint type.
 The driver should check endpoint capabilities and return 0 if the
 endpoint configuration is possible.

I would like to emphasise here the "return 0 if the endpoint configuration is possible" part.
Why would you do a "Fixing EP address" if the configuration is possible ?
I too lost quite a considerable amount of hours dealing with this inconsistency which, as @jfischer-no mentioned, silently changes the endpoint number.

I too find the if (!usb_dc_ep_check_cap(&ep_cfg)) handling at least semantically problematic to say the least.
The declaration of usb_dc_ep_check_cap reads:
 Function to check capabilities of an endpoint. usb_dc_ep_cfg_data structure
 provides the endpoint configuration parameters: endpoint address,
 endpoint maximum packet size and endpoint type.
 The driver should check endpoint capabilities and return 0 if the
 endpoint configuration is possible.

I would like to emphasise here the "return 0 if the endpoint configuration is possible" part.
Why would you do a "Fixing EP address" if the configuration is possible ?

Stack, not the driver API you are citing, fixes endpoint address. Additionally endpoint does not have to be occupied. If the endpoint is free and the desired configuration is possible, then reassign the address. Why? Because it makes absolute sense to distribute resources as efficiently as possible and anything else would be silly.

I too lost quite a considerable amount of hours dealing with this inconsistency which, as @jfischer-no mentioned, silently changes the endpoint number.

You would not do this if your host function driver were checking the endpoint descriptor.

I too find the if (!usb_dc_ep_check_cap(&ep_cfg)) handling at least semantically problematic to say the least.
The declaration of usb_dc_ep_check_cap reads:
 Function to check capabilities of an endpoint. usb_dc_ep_cfg_data structure
 provides the endpoint configuration parameters: endpoint address,
 endpoint maximum packet size and endpoint type.
 The driver should check endpoint capabilities and return 0 if the
 endpoint configuration is possible.

I would like to emphasise here the "return 0 if the endpoint configuration is possible" part.
Why would you do a "Fixing EP address" if the configuration is possible ?

Stack, not the driver API you are citing, fixes endpoint address. Additionally endpoint does not have to be occupied. If the endpoint is free and the desired configuration is possible, then reassign the address. Why? Because it makes absolute sense to distribute resources as efficiently as possible and anything else would be silly.

I am still confused by this behavior.
I see Linux Kernel doing exactly opposite for years. Could you please tell why the're not doing endpoint address fix like Zephyr's stack?
Could you also please show any host endpoint driver doing the right way of addressing according to rules you describe?

I too lost quite a considerable amount of hours dealing with this inconsistency which, as @jfischer-no mentioned, silently changes the endpoint number.

You would not do this if your host function driver were checking the endpoint descriptor.

I reopen it. cause there is still no solution to the problem and my questions, ideas etc. seemst to be not answered in a manner I am asking for.

I reopen it, cause there is still no solution to the problem and my questions, ideas etc. seems to be not answered in a manner I am asking for. Moving information of this issue does not give any resonance from the community. Moreover - discussions seems to me to be not effective.

I have already explained to you that this is not a bug in Zephyr, but in your application. I also know that you are aware of the documentation enhancement that explains this in more detail. Stop spamming this bug report.


Remove unused imports and globals

I'm building a little Zig unused import remover tool, I used your repository to help debug some edge cases, and this output seems to compile just fine. Leaving this PR here incase you find it useful, feel free to close if this is misguided.

How does your tool work? Can we add it to a PR validation workflow?

Can we add it to a PR validation workflow?

I think so, zigimports builds with Zig 0.13 and simply running zigimports . in CI will tell you if there are unused imports/globals. I think it's also possible to make it commit the changes on the branch directly but that might be too much automation.

You don't seem to have your tests running in CI right now, but if you have a test workflow, the lint workflow can be added just alongisde it.

a zig build step that can be run before checkin.

This, I will try to set up on my side.

Let me know if you have support for a build step and I will merge it.

I researchef a bunch and I think it's a lot more reasonable to just install zigimports in CI as a CLI tool and run it. in a day or two I'll add a curl command to install zigimports, which can be used in ci and on local both.