Funding option for PIX (Brazilian standard payment method)

What is PIX
It is a standard Brazilian payment/transfer method. It is defined by the Brazilian Central Bank (Banco Central, BACEN), and supported by all Banks.
It is free, even across banks, and some podcasts use it to receive value 4 value contribution.
Despite being centralized (by the Central Bank), it is reasonably censorship resistance, as it does not depend on private 3rd parties such as Patreon.
How does it work
Receivers create PIX keys, which can be of different types, including: a telefone number, an e-mail or a randomly generated key (for podcasts, its main contact e-mail would make sense).
With the key alone, anyone can send transfer from their Banking Apps, but the key must be manually copied and pasted.
For a more comfortable experience, it is also possible to generate a QR Code that can be scanned for the transfer, which can include a transfer value.
Unfortunately, while the key type and key value alone are sufficient for a listener to perform a transaction, the QR code requires additional data (Receiver name and City), so that key information alone is not sufficient for generating a QR code.
Nevertheless, the banking apps are able to generate the QRCode value (as a string), so that it can be copied and pasted.
How could this work for client apps
There is no app monetization opportunity here (that I can see), but there is an opportunity to facilitate a payment to the podcasts using this method within the app.
I describe below some way it could work.
Generalized solution - show funding information as QR code
Scanning QR code to trigger a payment or donation is probably a common use case, so a generic solution may be a good option.
The tag would need to support:

An action description - mandatory (e.g. Support us with PIX)
An extended action description - optional (Scan this PIX QR code with your Banking App, transfer X or more to get access to exclusive content, contact us at ... after the payment to unlock the content)
The QR code content - mandatory (see example below)
A "more info" URL - optional (https://thatpodcast.com/support-us-with-pix)

For this option, the funding tag could be extended, but not in a backwards compatible way (as url is currently mandatory), as in the following example:
<podcast:funding
qr-code="<QR Code Content>"
description="Scan this PIX QR code with your Banking App, transfer X or more to get access to exclusive content, contact us at ... after the payment to unlock the content"
url="https://thatpodcast.com/support-us-with-pix">Support us with PIX</podcast:funding>

Examples
QR Code content sample<EMAIL_ADDRESS>Name6013Receiver City62150511Codigoteste63044B88
References
Most references are unfortunately only available in Portuguese.

https://www.overloadr.com.br/ajude - The webpage of a Brazilian content creator (including podcasts) describing how to contribute (value 4 value) including PIX - with a contribution of 144 BRL, access to exclusive content is granted for a year (manual process is involved after payment)
https://www.gerarpix.com.br/ - Unofficial website for generating PIX QR codes - as technical reference
https://www.bcb.gov.br/content/estabilidadefinanceira/spb_docs/ManualBRCode.pdf - technical documentation from the Central Bank

I have an idea for a slightly more specific solution, something like:
<podcast:funding
type="pix-key-<Key Type>"
value="<Key Value>"
description="Use this PIX key to send use a payment and support our work!"
url="https://thatpodcast.com/support-us-with-pix">Support us with PIX</podcast:funding>

This would require the app to know what to do in case it encounters this type, which in this case, the best would be to copy the value to the clipboard and show a pop up or something with a message on what to do with it (e.g. "The PIX key was copied to your clipboard, past it in your banking app", something like that - not very useful actually - I'd like some opinions from the Brazilian community, but I'm not sure there is a lot of Podcasting 2.0 awareness.

I'm liking this; Australia has the concept of PayID, which is even easier - you register your email, or a mobile number. Then people just pay, for example<EMAIL_ADDRESS>and the bank app knows what to do with it and where it should be routed (and confirms who 'owns' the PayID). Seems rather easier to me! https://payid.com.au/
My only concern is that adding country-specific payment options like this will bloat the specification, complicate things for developers, and will not guarantee support; but since a podcaster can do multiple funding tags, perhaps that's not a worry - the majority of podcast apps would just ignore the ones they don't know what to do with?
You have reminded me that I should broaden the funding tags within my own podcast.

Hi @jamescridland , great to have feedback on the issue so fast.

My only concern is that adding country-specific payment options like this will bloat the specification, complicate things for developers, and will not guarantee support

I totally agree here, that is why my first solution idea was a generalized one.
Of course, the more specific you get, the more options you have to make a tailored user experience, but that is a trade-off.
If you have enough examples from different countries, we can cluster some common use cases and maybe come to an even better generalized solution or set of solutions.

I think I actually prefer adding specific use-cases, with the proviso that if type is unknown to this podcast app, the podcast app should ignore any entries.

Mostly related to #444


Avoid loading autoloaded file

In zsh file name convention, file name of which starts with '_' is
an autoloaded file. It should not be loaded manually.
This fixes https://github.com/zsh-users/zsh-completions/issues/809

I've fixed this issue at zgenom.
Your solution prohibits the user to manually load a file which starts with _.
zgen load <plugin> path/to/_file.sh would not source this file.


[e2e]: delegator-generic workflow_dispatch branch1 default slsa3

Repo: https://github.com/slsa-framework/example-package/tree/branch1
Run: https://github.com/slsa-framework/example-package/actions/runs/10607974689
Workflow file: https://github.com/slsa-framework/example-package/tree/main/.github/workflows/e2e.delegator-generic.workflow_dispatch.branch1.default.slsa3.yml
Workflow runs: https://github.com/slsa-framework/example-package/actions/workflows/e2e.delegator-generic.workflow_dispatch.branch1.default.slsa3.yml
Trigger: workflow_dispatch
Branch: branch1
Date: Thu Aug 29 03:07:36 UTC 2024

Repo: https://github.com/slsa-framework/example-package/tree/branch1
Run: https://github.com/slsa-framework/example-package/actions/runs/10626122504
Workflow file: https://github.com/slsa-framework/example-package/tree/main/.github/workflows/e2e.delegator-generic.workflow_dispatch.branch1.default.slsa3.yml
Workflow runs: https://github.com/slsa-framework/example-package/actions/workflows/e2e.delegator-generic.workflow_dispatch.branch1.default.slsa3.yml
Trigger: workflow_dispatch
Branch: branch1
Date: Fri Aug 30 03:06:10 UTC 2024

Repo: https://github.com/slsa-framework/example-package/tree/branch1
Run: https://github.com/slsa-framework/example-package/actions/runs/10641915353
Workflow file: https://github.com/slsa-framework/example-package/tree/main/.github/workflows/e2e.delegator-generic.workflow_dispatch.branch1.default.slsa3.yml
Workflow runs: https://github.com/slsa-framework/example-package/actions/workflows/e2e.delegator-generic.workflow_dispatch.branch1.default.slsa3.yml
Trigger: workflow_dispatch
Branch: branch1
Date: Sat Aug 31 03:11:06 UTC 2024
Tests are passing now. Closing this issue.


Error: Cannot find module 'chalk'

Hey guys (@jeffposnick and all) am getting this error on my Heroku App after CI/CD from GitLab to Heroku. Following is the gitlab-ci.yml script:
image: node:6

stages:
  - ver
  - init
  - tests
  - deploy

cache:
  paths:
    - node_modules/

ver:
  stage: ver
  script:
    - node --version
    - whoami
init:
  stage: init
  script:
    - npm install -g chalk
    - npm cache clean
    - rm -rf node-modules
    - npm install

run_tests:
 # needed for testing selenium on docker with java
  image: karthikiyengar/node-nightwatch:0.0.1
  stage: tests
  script:
    - sudo npm install
    - sudo npm test

deploy_staging:
  stage: deploy
  script:
    - npm install -g chalk
    - npm cache clean
    - rm -rf node-modules
    - npm install
    - git remote add heroku<EMAIL_ADDRESS>    - git push heroku master
    - echo "Deployed to staging server"
  environment: staging
  only:
    - master

deploy_production:
  stage: deploy
  script:
    - npm install -g chalk
    - npm cache clean
    - rm -rf node-modules
    - npm install
    - git remote add heroku<EMAIL_ADDRESS>    - git push heroku master
    - echo "Deployed to production server"
  environment: production
  when: manual
  only:
    - master

Help will be greatly appreciated. Thanks

This happened to me about 10 mins ago while installing the PWA template.
I had to turn off local-npm (an npm caching program).  Sometimes local-npm can't find packages.

@MichaelJCole please how did you achieve this? I mean turning off the local-npm

Hey @nwaughachukwuma local-npm is a project I use when travelling so nvm is cached locally and I'm not using mobile data.  https://www.npmjs.com/package/local-npm
If you haven't installed it, then that's probably not the problem.  It's possible there is a proxy server in the way that is caching/proxying incorrectly.  The simplest thing that could possibly work is to delete node_modules or use a different version of node/nvm.

Also happens on a direct PWA template deployment to Heroku, no local-npm installed. I believe it is caused because Heroku runs app as PRODUCTION env (and specifically prunes dev modules), and Chalk is listed under devDependencies.

The reason is build/build.js uses chalk. It may be moved into main dependencies, or made optional in build.js depending on NODE_ENV (just make sure you do this before forced process.env.NODE_ENV = 'production')

I confirm @lifecoderua theory. It's happening on pwa and webpack... and maybe any other vue template

@nwaughachukwuma any solution to this yet? I just deployed to heroku and receiving the same error.

dev/build works on my local env but as soon as I deploy to heroku the logs throw an error.

I'm having the same error with CD/CI integration

I have also faced the same problem.
I just deleted my node_modules folder and did npm install.
It worked for me. Hope it will work for you also.  :-) (y)

In thesis, build should not be run using production environment.
This is bad practice on CI/CD and I think it is the way the CLI generated script expects us to work.
We run build in dev and use the dist on production.
I know is not the best thing in the world, but that was how I solved that before.
The other option is to change webpack files (I think build.js) to receive production env for build mode.
I were able to do that with 2 lines.
I'm just returning here to expose these 2 solutions I used on my issue some months ago.

I was having this issue with hosting a Vue SPA on Heroku. I was able to fix this issue with adding "postinstall": "npm run build" in the scripts object in the package.json , and I also had NODE_ENV=production. Not sure if it helps with the PWA issue as I have not tested it personally. All I know is it was able to run the build command correctly after Heroku cleared out all the node_modules and reinstalled them. Hope this helps!

I think the problem is npm install skipping devDependencies when NODE_ENV=production. I fixed with npm --production=false install

s

still doesnt work. still returning "Cannot find module 'chalk'".
I tried:
-npm install -g chalk
-npm --production=false install
-npm cache clean
Still without success(((( HELP!!!

code

removing NODE_ENV = production in Netlify worked for me, finally

I think the problem is npm install skipping devDependencies when NODE_ENV=production. I fixed it with npm --production=false install

works for me ! thanks!

I had the same issue with netlify.
For the lazy:
if [ "$NODE_ENV" == "production" ]; then
  echo "installing node_modules for production in dev mode"
  NODE_ENV=development npm install
  # or: NODE_ENV=development yarn install
fi

I'm not sure this is a good idea, but otherwise how should we build the project for production without devDependencies?


Project2015to2017 nuget library doesn't specify required nuget packages

I thought I'd try upgrading my custom converter to the latest version but I found that I had to manually add a package reference to Microsoft.Extensions.Logging.Abstractions which is clearly a requirement of the library but isn't specified as such on nuget
It also requires CodeAnalysis and nuget.configuration libraries. Not sure why they haven't ended up in the dependencies automatically.
I should be able to get it up and running soon, looking forward to seeing how it does :)

Because to preserve Project2015To2017 library being a single NuGet package (not my choice) I had to include some MSBuild trickery. This is a bit fragile. I would've just created more NuGet packages and replaced primary one with a dummy for dependencies' sake. Visual Studio does it like this (lots of NuGet packages), I see no problem in that.

We might do so in the near future now that we've given people a migration
path where the tool indicates what the replacement package is. At the time
that wasn't the case yet.
The global tool is now downloaded over 10 times more often than the
original library. I would give it another month or so and then make the cut
we've kept the old package alive long enough at that point.
On Sun, Mar 24, 2019, 18:35 Andrew Boyarshin<EMAIL_ADDRESS>wrote:

Because to preserve Project2015To2017 library being a single NuGet package
(not my choice) I had to include some MSBuild trickery. This is a bit
fragile. I would've just created more NuGet packages and replaced primary
one with a dummy for dependencies' sake. Visual Studio does it like this
(lots of NuGet packages), I see no problem in that.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/hvanbakel/CsprojToVs2017/issues/238#issuecomment-476025645,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AD8FPL-HocEFP8FqRSnra7RS9l_q37Acks5vaCflgaJpZM4cFrUa
.

Presum

You mean adding the global tool as a NuGet package? This can't be right. The correct way now is to reference the Project2015To2017 NuGet (as before, but care about implicit dependencies), although I would've probably just added this repo as git submodule and used ProjectReference directly. The way to go in the future (4.1?) would be creating separate NuGet packages for each project.

Looks like I may need to give up on this version and go back to a much older one. There are various things that don't seem to work anymore when consuming as a package. For example I had a custom transform that was adding to project.AssemblyAttributeProperties, however they are no longer getting written out to the project file by the writer. I'm also clearing out the existing version tags but they are getting included anyway.
I expect I need to do it through the default property group, but unfortunately I don't have the time to work through it at this stage so I'll just go back to the older version instead.

FYI, the build failed so none of the artifacts were created, looking at
that now.
On Sun, Jun 2, 2019 at 1:46 PM Mark Adamson<EMAIL_ADDRESS>wrote:

Closed #238 https://github.com/hvanbakel/CsprojToVs2017/issues/238 via
#243 https://github.com/hvanbakel/CsprojToVs2017/pull/243.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/hvanbakel/CsprojToVs2017/issues/238?email_source=notifications&email_token=AA7QKPFR3VHEZHFDVW26ECDPYQURVA5CNFSM4HAWWUNKYY3PNVWWK3TUL52HS4DFWZEXG43VMVCXMZLOORHG65DJMZUWGYLUNFXW5KTDN5WW2ZLOORPWSZGORYHWXWI#event-2383375321,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA7QKPEOE64HNF6GTAB4KNDPYQURVANCNFSM4HAWWUNA
.

And it went through now, it's published as a beta version
On Sun, Jun 2, 2019 at 3:25 PM Hans van Bakel<EMAIL_ADDRESS>wrote:

FYI, the build failed so none of the artifacts were created, looking at
that now.
On Sun, Jun 2, 2019 at 1:46 PM Mark Adamson<EMAIL_ADDRESS>wrote:

Closed #238 https://github.com/hvanbakel/CsprojToVs2017/issues/238 via
#243 https://github.com/hvanbakel/CsprojToVs2017/pull/243.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/hvanbakel/CsprojToVs2017/issues/238?email_source=notifications&email_token=AA7QKPFR3VHEZHFDVW26ECDPYQURVA5CNFSM4HAWWUNKYY3PNVWWK3TUL52HS4DFWZEXG43VMVCXMZLOORHG65DJMZUWGYLUNFXW5KTDN5WW2ZLOORPWSZGORYHWXWI#event-2383375321,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA7QKPEOE64HNF6GTAB4KNDPYQURVANCNFSM4HAWWUNA
.


Upload helm chart to GitHub on release

Pull Request Test Coverage Report for Build 167

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 73.118%

Totals

Change from base Build 165:
0.0%

Covered Lines:
136

Relevant Lines:
186

💛  - Coveralls


add option to return Htmlresponse generated from content of 'html' key in splash response

When processing splash response we could just replace response from splash with new HTMLResponse generated from html in splash response. This way user will not have to worry about generating Html response in spider callback, she can just forget about js rendering - when splash will be enabled she will just get normal target response with JS rendered (with proper url, html etc). User can just use normal response.xpath on this response without doing anything extra. I think rendering html would probably be most common use case for splash middleware so it's worth enabling this by default.
If there will be some other keys in splash response (other then html) we could pass them in meta perhaps? .har content could be converted to response headers

Hey @pawelmhm - there is now some magic in scrapy-splash master branch which sets response.body, response.url, response.headers, handles cookies and allows to use response.xpath on JSON splash responses; check the updated README. Feedback is welcome!

This should be fixed.


irq_is_enabled not available on nios2

when building, we get this:
undefined reference to `_arch_irq_is_enabled'

@ramakrishnapallala can you please take a look?


会把已输入的汉字吃掉

Microsoft PowerToys version
0.64.1
Installation method
PowerToys auto-update
Running as admin
Yes
Area(s) with issue?
General
Steps to reproduce

✔ Expected Behavior
我希望输入汉字，但是他却总把前面输入的文字替换掉。关闭Quick Accent解决
❌ Actual Behavior
No response
Other Software
No response

Are you still experiencing this issue? /needinfo


Captcha Resolving

Hello,
When the Bot is supposed to play something from YouTube it returns following error:
ERROR: unable to download video info webpage: HTTP Error 402: Payment Required (caused by <HTTPError 402: 'Payment Required'>)
Research told me this means YT's anti spam protection wants me to solve a capture.
Any idea how to make this work on a vServer?

Switching ip if possible, else install a vpn on your server, connect to it and solve the captcha manually.


rename relay.closed -> relay.active in spec

@sehodges says: you would normally think of 'actuating' a relay (rather than 'closing' it) because the majority of relays have changeover contacts (so in a sense they are always closed, whether actuated or not)
we should add some language that pins should be labelled: common, active, in-active or something?
(when "active=1" -> common is connected to active, and otherwise common is connected to in-active)

are relay commonly name "normaly open" "normaly closed"?

they typically have 3 terminals, so you chose if they are "normally open" (when you connect common and in-active) or "normally closed" (when you connect common and active).

We used to have active/inactive and that confused users during the hackathon.
https://github.com/microsoft/jacdac/commit/9d52682bff482c5bb503f617088c6e4f74e62bc9#diff-e9c53b9b51dd29173c184f63e7ec00b505b892bee0f5e21640f021ee69bd8cdf

Did anyone get a rely module during the hackathon?
I think this can be solved with proper labelling, some subset of the following:

Or maybe like this:

'A' would usually be 'NO' (for normally open) and 'I' would be 'NC' (for normally closed). 'C' is OK but could be 'COM' (for common) to disambiguate from the C in NC.
Steve
From: Michał Moskal @.>
Sent: 06 January 2022 10:06
To: microsoft/jacdac @.>
Cc: Steve Hodges @.>; Mention @.>
Subject: Re: [microsoft/jacdac] rename relay.closed -> relay.active in spec (Issue #879)
Or maybe like this:
[image]https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fuser-images.githubusercontent.com%2F10673976%2F148365950-7a0e8105-09a5-4e8d-9d77-c3bdb9d42200.png&data=04|01|Steve.Hodges%40microsoft.com|79f2b513433647f8251808d9d0fc1d86|72f988bf86f141af91ab2d7cd011db47|1|0|637770603531687153|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000&sdata=z1cZUYwcd9yxaYtXUtuMFQ078N653heBVb3pPI0%2FSLs%3D&reserved=0

Reply to this email directly, view it on GitHubhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fmicrosoft%2Fjacdac%2Fissues%2F879%23issuecomment-1006435165&data=04|01|Steve.Hodges%40microsoft.com|79f2b513433647f8251808d9d0fc1d86|72f988bf86f141af91ab2d7cd011db47|1|0|637770603531687153|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000&sdata=LNzPgw0BWBcaaN340wTJ%2F1Y1yu7zsXNtY9XTiGI8AXE%3D&reserved=0, or unsubscribehttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAC6R2Z5G5SWXLRLKFCFS5W3UUVSP3ANCNFSM5LKRWRMQ&data=04|01|Steve.Hodges%40microsoft.com|79f2b513433647f8251808d9d0fc1d86|72f988bf86f141af91ab2d7cd011db47|1|0|637770603531687153|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000&sdata=ccMnidPtRvFt3tTX%2BFaxLO8cpWbq47vPbGJlrpixndg%3D&reserved=0.
Triage notifications on the go with GitHub Mobile for iOShttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fapps.apple.com%2Fapp%2Fapple-store%2Fid1477376905%3Fct%3Dnotification-email%26mt%3D8%26pt%3D524675&data=04|01|Steve.Hodges%40microsoft.com|79f2b513433647f8251808d9d0fc1d86|72f988bf86f141af91ab2d7cd011db47|1|0|637770603531687153|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000&sdata=h8xKkKuOhsHFIR34xMqopZrMeGRmfWNEodLKJ0NF72U%3D&reserved=0 or Androidhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fplay.google.com%2Fstore%2Fapps%2Fdetails%3Fid%3Dcom.github.android%26referrer%3Dutm_campaign%253Dnotification-email%2526utm_medium%253Demail%2526utm_source%253Dgithub&data=04|01|Steve.Hodges%40microsoft.com|79f2b513433647f8251808d9d0fc1d86|72f988bf86f141af91ab2d7cd011db47|1|0|637770603531687153|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000&sdata=SIPEkNdHxzOLX%2FR%2FNXV0Hl5ikPWQYL4%2FJyWxSai1LYA%3D&reserved=0.
You are receiving this because you were mentioned.Message ID<EMAIL_ADDRESS>

maybe they got a switch. @jamesadevine  do you reckon?

Should we align switch terminology as well?

Jacdac switch doesn't have external contacts, so probably no need to change anything there.


Experiment splitting azure-core into multiple modules.

The idea here is to understand how cleanly we can define the boundaries if we want to ship core features in small modules instead of one monolithic azure-core module.

Split into multiple modules.
Get the record playback working on API 29

Experimental split is located here: https://github.com/anuchandy/az-android-vnext/tree/master/sdk/core

Experimental split is located here: https://github.com/anuchandy/az-android-vnext/tree/master/sdk/core


Branch indicators lack contrast

In light mode, most branch indicators don't contrast enough with the background.
Also, the colours seem pretty basic (#fof and #0ff) and all over the place, it might be interesting to look into adopting some predefined palette. Some common datavis palettes can be found at https://plotly.com/python/discrete-color/#color-sequences-in-plotly-express.
Example:

Constrast values: (counting everything below 3.0 as a failure, though this should probably be more like 4.5)

Is this a duplicate of #https://github.com/decompme/decomp.me/issues/678 ?


Add verbose mode so that by default only error logs are shown in the terminal

Describe your changes and why you are making these changes
This PR adds verbose option to our CLI. By default, verbose is set to False, meaning that only error logs are shown in the terminal. If the user sets verbose to True, then all logs are shown in the terminal.
Regardless of verbose, all logs are always stored into a log file. The log file is managed by a library that performs log rotation to prevent the logs from growing infinitely.
The above only applies to logging done via logrus. Our route logger doesn't have this flexibility, so all REST events are still logged in the terminal regardless of verbose.
Without verbose:

With verbose:

Related issue number (if any)
Checklist before requesting a review

[x] I have created a descriptive PR title. The PR title should complete the sentence "This PR...".
[x] I have performed a self-review of my code.
[ ] I have included a small demo of the changes. For the UI, this would be a screenshot or a Loom video.
[ ] If this is a new feature, I have added unit tests and integration tests.
[ ] I have run the integration tests locally and they are passing.
[x] I have run the linter script locally (See python3 scripts/run_linters.py -h for usage).
[ ] All features on the UI continue to work correctly.
[x] Added one of the following CI labels:

run_integration_test: Runs integration tests
skip_integration_test: Skips integration tests (Should be used when changes are ONLY documentation/UI)

@vsreekanti uploaded screenshot and addressed comments. I changed the log file name to .../server instead.

Awesome, no more complaints from me!


Editor: inner classes and scripts without class_name are not exported correctly in the editor

Godot version
v4.1.dev1.official
System information
Windows 8.1, Forward+, NVIDIA GTX 650
Issue description
Probably this is intended or there are severe limitations but that's the problem; inner classes and scripts that don't have a class_name are not exported correctly in the editor. Also resource files can't inherit from classes that are not a globally scoped class name. This doesn't seem significant but it seems godot almost always forces you to use class_name for everything
Steps to reproduce
extends Node
class TestResource extends Resource:
@export var meow : float
@export var t_res : TestResource
Minimal reproduction project
N/A

Inner classes would be convenient but resources using an inner class would definitely complicate things (just look inside a text resource, you'll see what I mean)
Not sure why you can't export an unnamed resource class though :(


Crash in spirv_cross::Meta::~Meta() on iOS

Hello!
I am seeing the following crash when releasing spirv-cross compiler:
#0	0x000000010445a308 in std::__1::__hash_table<std::__1::__hash_value_type<unsigned int, unsigned int>, std::__1::__unordered_map_hasher<unsigned int, std::__1::__hash_value_type<unsigned int, unsigned int>, std::__1::hash<unsigned int>, true>, std::__1::__unordered_map_equal<unsigned int, std::__1::__hash_value_type<unsigned int, unsigned int>, std::__1::equal_to<unsigned int>, true>, std::__1::allocator<std::__1::__hash_value_type<unsigned int, unsigned int> > >::__deallocate_node(std::__1::__hash_node_base<std::__1::__hash_node<std::__1::__hash_value_type<unsigned int, unsigned int>, void*>*>*) at /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__hash_table:1547
#1	0x000000010445a1bc in std::__1::__hash_table<std::__1::__hash_value_type<unsigned int, unsigned int>, std::__1::__unordered_map_hasher<unsigned int, std::__1::__hash_value_type<unsigned int, unsigned int>, std::__1::hash<unsigned int>, true>, std::__1::__unordered_map_equal<unsigned int, std::__1::__hash_value_type<unsigned int, unsigned int>, std::__1::equal_to<unsigned int>, true>, std::__1::allocator<std::__1::__hash_value_type<unsigned int, unsigned int> > >::~__hash_table() at /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__hash_table:1503
#2	0x000000010445a16c in std::__1::__hash_table<std::__1::__hash_value_type<unsigned int, unsigned int>, std::__1::__unordered_map_hasher<unsigned int, std::__1::__hash_value_type<unsigned int, unsigned int>, std::__1::hash<unsigned int>, true>, std::__1::__unordered_map_equal<unsigned int, std::__1::__hash_value_type<unsigned int, unsigned int>, std::__1::equal_to<unsigned int>, true>, std::__1::allocator<std::__1::__hash_value_type<unsigned int, unsigned int> > >::~__hash_table() at /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__hash_table:1495
#3	0x000000010445a138 in std::__1::unordered_map<unsigned int, unsigned int, std::__1::hash<unsigned int>, std::__1::equal_to<unsigned int>, std::__1::allocator<std::__1::pair<unsigned int const, unsigned int> > >::~unordered_map() at /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__hash_table:1370
#4	0x0000000104459968 in std::__1::unordered_map<unsigned int, unsigned int, std::__1::hash<unsigned int>, std::__1::equal_to<unsigned int>, std::__1::allocator<std::__1::pair<unsigned int const, unsigned int> > >::~unordered_map() at /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__hash_table:1370
#5	0x000000010445a900 in spirv_cross::Meta::~Meta() at /git/DiligentEngine/DiligentCore/External/SPIRV-Cross/spirv_common.hpp:1381
#6	0x000000010445a8c4 in spirv_cross::Meta::~Meta() at /git/DiligentEngine/DiligentCore/External/SPIRV-Cross/spirv_common.hpp:1381
#7	0x000000010445a890 in std::__1::pair<unsigned int const, spirv_cross::Meta>::~pair() at /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/utility:312
#8	0x000000010445a854 in std::__1::pair<unsigned int const, spirv_cross::Meta>::~pair() at /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/utility:312
#9	0x000000010445a7d8 in void std::__1::allocator_traits<std::__1::allocator<std::__1::__hash_node<std::__1::__hash_value_type<unsigned int, spirv_cross::Meta>, void*> > >::__destroy<std::__1::pair<unsigned int const, spirv_cross::Meta> >(std::__1::integral_constant<bool, false>, std::__1::allocator<std::__1::__hash_node<std::__1::__hash_value_type<unsigned int, spirv_cross::Meta>, void*> >&, std::__1::pair<unsigned int const, spirv_cross::Meta>*) [inlined] at /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/memory:1732
#10	0x000000010445a7d0 in void std::__1::allocator_traits<std::__1::allocator<std::__1::__hash_node<std::__1::__hash_value_type<unsigned int, spirv_cross::Meta>, void*> > >::destroy<std::__1::pair<unsigned int const, spirv_cross::Meta> >(std::__1::allocator<std::__1::__hash_node<std::__1::__hash_value_type<unsigned int, spirv_cross::Meta>, void*> >&, std::__1::pair<unsigned int const, spirv_cross::Meta>*) [inlined] at /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/memory:1595
#11	0x000000010445a7c0 in std::__1::__hash_table<std::__1::__hash_value_type<unsigned int, spirv_cross::Meta>, std::__1::__unordered_map_hasher<unsigned int, std::__1::__hash_value_type<unsigned int, spirv_cross::Meta>, std::__1::hash<unsigned int>, true>, std::__1::__unordered_map_equal<unsigned int, std::__1::__hash_value_type<unsigned int, spirv_cross::Meta>, std::__1::equal_to<unsigned int>, true>, std::__1::allocator<std::__1::__hash_value_type<unsigned int, spirv_cross::Meta> > >::__deallocate_node(std::__1::__hash_node_base<std::__1::__hash_node<std::__1::__hash_value_type<unsigned int, spirv_cross::Meta>, void*>*>*) at /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__hash_table:1564
#12	0x000000010445a614 in std::__1::__hash_table<std::__1::__hash_value_type<unsigned int, spirv_cross::Meta>, std::__1::__unordered_map_hasher<unsigned int, std::__1::__hash_value_type<unsigned int, spirv_cross::Meta>, std::__1::hash<unsigned int>, true>, std::__1::__unordered_map_equal<unsigned int, std::__1::__hash_value_type<unsigned int, spirv_cross::Meta>, std::__1::equal_to<unsigned int>, true>, std::__1::allocator<std::__1::__hash_value_type<unsigned int, spirv_cross::Meta> > >::~__hash_table() at /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__hash_table:1503
#13	0x000000010445a5c4 in std::__1::__hash_table<std::__1::__hash_value_type<unsigned int, spirv_cross::Meta>, std::__1::__unordered_map_hasher<unsigned int, std::__1::__hash_value_type<unsigned int, spirv_cross::Meta>, std::__1::hash<unsigned int>, true>, std::__1::__unordered_map_equal<unsigned int, std::__1::__hash_value_type<unsigned int, spirv_cross::Meta>, std::__1::equal_to<unsigned int>, true>, std::__1::allocator<std::__1::__hash_value_type<unsigned int, spirv_cross::Meta> > >::~__hash_table() at /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__hash_table:1495
#14	0x000000010445a590 in std::__1::unordered_map<unsigned int, spirv_cross::Meta, std::__1::hash<unsigned int>, std::__1::equal_to<unsigned int>, std::__1::allocator<std::__1::pair<unsigned int const, spirv_cross::Meta> > >::~unordered_map() at /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__hash_table:1370
#15	0x00000001044599d0 in std::__1::unordered_map<unsigned int, spirv_cross::Meta, std::__1::hash<unsigned int>, std::__1::equal_to<unsigned int>, std::__1::allocator<std::__1::pair<unsigned int const, spirv_cross::Meta> > >::~unordered_map() at /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__hash_table:1370
#16	0x00000001044598a8 in spirv_cross::ParsedIR::~ParsedIR() at /git/DiligentEngine/DiligentCore/External/SPIRV-Cross/spirv_cross_parsed_ir.hpp:33
#17	0x0000000104da9a70 in spirv_cross::Compiler::~Compiler() ()
#18	0x0000000104ddc920 in spirv_cross::Compiler::~Compiler() ()

There is nothing special about how compiler is used as well as about the byte code it parses:
std::unique_ptr<spirv_cross::Parser> pParser(new spirv_cross::Parser(std::move(spirv_binary)));
pParser->parse();
auto ParsedIRSource = pParser->get_parsed_ir().source;
std::unique_ptr<spirv_cross::Compiler> pCompiler(new spirv_cross::Compiler(std::move(pParser->get_parsed_ir())));

This code works fine on Windows, Linux and Mac, but on iOS it crashes. If both parser and compiler are not destroyed, the app continues successfully and runs as expected.

This is very strange. Code looks fine. Unfortunately, I don't have an iOS device readily available, so I cannot reproduce right now. I can only provide a list of things to try:

Can you try running with sanitizers enabled and see if anything shows up?
Try dropping the move constructors.

Thanks for the suggestions, below are some answers:

This code works fine everywhere but on iOS, and I don't think it is related to the byte code it processes.
I actually tried dropping move ctors, but the result was the same.
This is my first attempt to enable the engine on iOS, so I have nothing to compare with
As I mentioned, the same code works fine on Windows, Linux, and Mac with the same clang version. As far as I understand, SPIRV-Cross does not abuse global states, so it would be really hard to corrupt something
I haven't tried this code in isolation yet, will be my next step.

I am pretty sure there is something wrong with the toolchain / compiler, so I was hoping that you could have some experience with building/running for iOS.

I have little/no experience with iOS I'm afraid. MoltenVK ships on iOS, and I haven't heard any issues from anyone about this before. If it's a general SPIRV-Cross issue with iOS, I assume we would have seen it by now. At least for something so trivial. The reason I'm asking about sanitizers is that it might be able to catch any iOS-specific issues.

Yeah, OK. As I mentioned, if I let parser and compiler leak, everything else works fine and the scene is rendered correctly through MoltenVK. Will keep investigating.

I will actually reopen the issue for some time, maybe someone finds something similar.

I'm not sure if this will help...
MoltenVK uses the CompilerMSL(std::vector<uint32_t>) ctor...which creates and destroys Parser inline...and before compile() is called.
Could there be some conflict in the passing of ParsedIRbetween Parser and Compiler...and the order in which the various objects are destroyed?
BTW...in your snippet...how is the selection of the appropriate Compiler subclass (I assume CompilerMSL) performed?

MoltenVK uses the CompilerMSL(std::vector<uint32_t>) ctor...which creates and destroys Parser inline...and before compile() is called.

I used to use this too, but I need to query ParsedIR::Sorce first. This other constructor does the exact same thing anyway.

BTW...in your snippet...how is the selection of the appropriate Compiler subclass (I assume CompilerMSL) performed?

I do not use any subclass and create the instance of spirv_cross::Compiler that is used to get shader reflection.

Could there be some conflict in the passing of ParsedIRbetween Parser and Compiler...and the order in which the various objects are destroyed?

At this point I am almost 100% convinced there is something wrong with the build itself: if I call
pParser.release();
pCompiler.release();

to leak the parser and the compiler, the app still crashes. If I replace unique ptrs with raw pointers, the app runs fine. This makes no sense to me and I can't understand why it only manifests in one place.
@billhollings you certainly have a lot experience with setting iOS build, maybe you can remember something  weird like that?
The only reasonable idea that I have is that there is some heap corruption that manifests itself this way.

@HansKristian-Work @billhollings could you please try to run the following code on iPhone arm64? No matter what I do it throws an exception and causes a crash. It works fine on Mac.
std::vector<uint32_t> spirv = {119734787, 65536, 524295, 35, 0, 131089, 1, 393227, 1,<PHONE_NUMBER>,<PHONE_NUMBER>, 808793134, 0, 196622, 0, 1, 393231, 5, 4,<PHONE_NUMBER>, 0, 11, 393232, 4, 17, 8, 8, 1, 196611, 1, 310, 262149, 4,<PHONE_NUMBER>, 0, 327685, 9,<PHONE_NUMBER>,<PHONE_NUMBER>, 100, 524293, 11,<PHONE_NUMBER>,<PHONE_NUMBER>,<PHONE_NUMBER>,<PHONE_NUMBER>,<PHONE_NUMBER>, 68, 262149, 16,<PHONE_NUMBER>, 3174505, 262215, 11, 11, 28, 262215, 16, 34, 0, 262215, 16, 33, 0, 196679, 16, 25, 262215, 34, 11, 25, 131091, 2, 196641, 3, 2, 262165, 6, 32, 0, 262167, 7, 6, 3, 262176, 8, 7, 7, 262176, 10, 1, 7, 262203, 10, 11, 1, 196630, 13, 32, 589849, 14, 13, 1, 0, 1, 0, 2, 4, 262176, 15, 0, 14, 262203, 15, 16, 0, 262167, 18, 6, 2, 262165, 21, 32, 1, 262167, 22, 21, 2, 262187, 21, 24, 0, 262167, 25, 21, 3, 262167, 29, 13, 4, 262187, 13, 30, 0, 458796, 29, 31, 30, 30, 30, 30, 262187, 6, 32, 8, 262187, 6, 33, 1, 393260, 7, 34, 32, 32, 33, 327734, 2, 4, 0, 3, 131320, 5, 262203, 8, 9, 7, 262205, 7, 12, 11, 196670, 9, 12, 262205, 14, 17, 16, 262205, 7, 19, 9, 458831, 18, 20, 19, 19, 0, 1, 262268, 22, 23, 20, 327761, 21, 26, 23, 0, 327761, 21, 27, 23, 1, 393296, 25, 28, 26, 27, 24, 262243, 17, 28, 31, 65789, 65592};
spirv_cross::Parser Parser(std::move(spirv));
Parser.parse();

Thanks for creating a reduced test case.

Tried sanitizers on Linux and macOS, and Valgrind. Nothing :( Extremely puzzling. Maybe there's a libc++ mismatch or something?

@DiligentGraphics
I added your code above to SPIRVConverterSPIRVToMSLConverter::convert() function within MoltenVK. I did not use the results...I just wanted a place that linked SPIRV-Cross. and just pasted it in ahead of code that runs a normal shader conversion.
I ran it on iOS 12 on an iPad Pro 10.5" and an iPhone X and did not encounter any crashes. I tried running in Release mode, and stepping through the lines above in Debug mode.
What iOS version and device are you running?

@billhollings Thanks for looking into that. It looks like @HansKristian-Work was right about libc++ mismatch: spirv-cross-core uses c++11, while some other projects use gnu++11. Now trying to understand where this came from.

So there indeed was a mismatch between c++ std libraries, however this did not seem to be causing any problems. spirv-cross-core was using the same std library as the project it was used in. Anyway, making sure that all project use the same -std=c++11 did not really help.
There is something completely odd going on with the build: while debugging, I can't step into spirv-cross, while all other third-party projects (glsang, for instance) work fine and can be stepped through. I made sure all binaries are up-to-date by running clean rebuild several times...
I almost ran out of ideas what that could be...

I also tried to add spirv-cross source files directly to the project where it is used, and I still see the same crash and unable to step into spirv-cross. This looks like a complete nonsense now.

I guess I may be finally getting close to what may be going on here: the linker uses spirv-cross from MoltenVK library. This would explain why I can't step into or have weird crashes in stl containers.

Aha! That's a very likely cause. So, I can see two scenarios here:

You're linking MoltenVK statically, which in turn would pull in SPIRV-Cross statically, along with your checkout of SPIRV-Cross. That's a red flag, and would explain the mismatch.
You're linking directly to MoltenVK dynamically, and the library might be exporting SPIRV-Cross symbols for some reason, which can cause a conflict. If that's the case, MoltenVK will need to ensure that it's built with -fvisibility=hidden, at least for SPIRV-Cross.

I think we can bypass symbol conflicts if we can override the namespace used by SPIRV-Cross in build time.

@HansKristian-Work

You're linking MoltenVK statically

I was originally linking statically with MoltenVK and now have no more doubts that it is exactly the problem: I removed all spirv-cross source from the project, and it still links successfully and runs with the same error. TBH, I completely forgot that MoltenVK also uses spirv-cross and static linking may cause problems. What I don't understand though is why linker does not error out with duplicate symbol defintion. It does not even spit out a warning, but rather silently uses whatever definition it wants (BTW spirv-cross goes before MoltenVK in the library list so I don't know why it likes MoltenVK better).

You're linking directly to MoltenVK dynamically

I tried linking dynamically, but was not able to get it running https://github.com/KhronosGroup/MoltenVK/issues/548

Surprised this is only a problem on iOS though.

On other platforms the engine is linked with Vulkan loader, so there are no problems. Being said that, on MacOS it was originally linking with MoltenVK (dynamic) directly and it worked fine.

I think we can bypass symbol conflicts if we can override the namespace used by SPIRV-Cross in build time.

I was thinking about that too, but did not want modify spirv-cross. Maybe this can be defined during CMake configuration stage?

It sounds like the best option would be if MoltenVK enables a define which overrides the namespace to something MVK specific when building SPIRV-Cross dependency. That way we avoid this problem in the future. @billhollings what do you think? I can add a hook to override the spirv_cross namespace to something private to MVK to avoid these collisions.

I'm not sure I understand the proposal.
Are you saying you would add a macro in SPIRV-Cross that would allow the spirv_cross namespace to be defined to something else during the build of the containing library (in this case MoltenVK)?
If so...that sounds fine. I'll modify MoltenVK accordingly once that's ready. Or if you're on a roll..and need to do so for testing anyway...feel free to do it and submit a MoltenVK PR.

Right, I'm thinking something like:
#ifndef SPIRV_CROSS_NAMESPACE
#define SPIRV_CROSS_NAMESPACE spirv_cross
#endif
namespace SPIRV_CROSS_NAMESPACE
{
}

And then MoltenVK can override as necessary. I can submit a PR when I get it working. I'll do this tomorrow.

@HansKristian-Work It would be great if there was CMake variable to define the namespace:
if(SPIRV_CROSS_NAMESPACE)
	set(spirv-compiler-defines ${spirv-compiler-defines} "SPIRV_CROSS_NAMESPACE=${SPIRV_CROSS_NAMESPACE}")
endif()

Yes, I'll also add a CMake option for it.

@HansKristian-Work Thanks! That fixes the issue, and so does linking against dynamic MoltenVL library (that I made to work). Now everything works fine!


Fix pls

Deprecated: Creation of dynamic property mcCS\captcha\solveCAPTCHA::$ua is deprecated in C:\recaptcha-solver-or-bypasser-main\Captcha\solveCAPTCHA.php on line 39
in preg_match('/k=(.+?)\&/', $anchor_url, $key);

Deprecated: Creation of dynamic property mcCS\captcha\solveCAPTCHA::$ua is deprecated in C:\recaptcha-solver-or-bypasser-main\Captcha\solveCAPTCHA.php on line 39
in preg_match('/k=(.+?)\&/', $anchor_url, $key);

Your anchor url is incorrect, double check and use correct anchor url.
Search for "anchor" in the network tab while the site is loading to obtain the url.
Anchor url should look like:
https://www.google.com/recaptcha/api2/anchor?ar=1&k=...&...


Document default domain configuration via arm/bicep

When trying to deploy a static web app via arm/bicep setting the default (of multiple) custom domains does not seem documented yet. I also couldn't find any quickstart samples.

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

ID: 95d87e98-cc71-509a-dd6b-12c48aaa21ff
Version Independent ID: 7238ade6-9ad3-9b01-28d2-a60215ec8a91
Content: Manage the default domain in Azure Static Web Apps
Content Source: articles/static-web-apps/custom-domain-default.md
Service: static-web-apps
GitHub Login: @craigshoemaker
Microsoft Alias: cshoe

@sopelt
Thanks for your feedback! We will investigate and update as appropriate.

Following this thread as I'm also in need of a solution for assigning the default custom domain as part of automated deployment.

Just for completeness and for anyone else stumbling in here trying to find the (undocumented) solution.
In bicep, you can simply add the isDefault-property to mark a specific custom domain as the defaulted one.
resource customDomain 'Microsoft.Web/staticSites/customDomains@2022-03-01' = {
    parent: staticWebApp
    name: staticWebAppCustomDomain
    properties: {
        validationMethod: 'cname-delegation'
        isDefault: true
    }
}

Thanks for your feedback and your contribution to Azure docs.
Feedback for this repository is moving away from GitHub to a system specific to the Microsoft Learn platform. Issues for this repository will soon be disabled, and additional comments from GitHub will no longer be possible. However, we are now tracking and triaging this issue in the new feedback system.
To learn more about our feedback systems, please see Provide feedback for Microsoft Learn content.
#please-close


[CHERRYPICK TIKV]: PR 11782 TO RELEASE 5.0

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


New Rule - Attachment: Any HTML file with Suspicious JavaScript Ident…

…ifiers

Thanks for the feedback! I think I fixed all of your suggestions.


8/31 PM Publish

Docs Build status updates of commit fab82f4:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

azps-5.9.0/Az.Monitor/Get-AzMetric.md
:white_check_mark:Succeeded
View (azps-5.9.0)

azps-6.2.1/Az.Monitor/Get-AzMetric.md
:white_check_mark:Succeeded
View (azps-6.2.1)

azps-6.3.0/Az.Monitor/Get-AzMetric.md
:white_check_mark:Succeeded
View (azps-6.3.0)

docfx.json
:white_check_mark:Succeeded

docs-conceptual/azps-6.3.0/troubleshooting.md
:white_check_mark:Succeeded
View (azps-6.3.0)

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


Fix ShaderGlobalsOverride property handling

Fixes https://github.com/godotengine/godot/issues/82090

A simple typo in property name remapping stopped the overrides from working properly. The properties were actually serialized correctly, but because the remapped names came out wrong they didn't show correct values in the inspector or have any visual effect in rendering after a reload.

Good job spotting this. I dare say variable names could be better here.

I dare say variable names could be better here.

Yeah, I was thinking the same thing. Outside of very short and simple math wrappers, where a and b represent operands of the same type whose order doesn't matter (commutative operations), I generally prefer to strictly avoid single-letter variable names.

Thanks!

Cherry-picked for 4.1.3.


13 Related Safe Addresses

Related Safe Addresses
0xce2d2421ce6275b7a221f62ec5fa10a9c13e92f7
0x97b06f079ddfe3241d56f9ce8bafa33ad4464159
0x3c6cb06deee5b1761e4915fb6b5492f4bd7d8e2a
0x830104442932290b9cf5219d4abe2503bebb7f3c
0x74343609d656f891c5e1b75aeb3871cb27ffa002
0x0d49edd40b35142570459c367a56e1979f2c4cb9
0x22a3f7dabf44ed2b08ccc1836b928bad779aee58
0x4dd35a243abae3ad651e966e5c8c738e2842575f
0x4afc79f793fd4445f4fd28e3aa708c1475a43fc4
0x2a83aaf231644fa328ae25394b0beb17ebd12150
0xe0502bbd7b9a21e5be6fec0c857c930dbe8c91f1
0xff54c5c8f32b2c8444b765c836172809108f0702
0xe69906c2d33d8f21d79d38ae19fa3e37c19d7c74
Reasoning
These safe accounts are all created by 0x91637170cbd1bbb65e3e1ec2de65019c988330c5
We can see through this link：
https://etherscan.io/address/0x91637170cbd1bbb65e3e1ec2de65019c988330c5
Methodology
##using the sql query：
with target as (
select *
from url('https://raw.githubusercontent.com/safe-global/safe-user-allocation-reports/main/safe_user_allocations_reworked.csv', CSVWithNames)
), transactions as (
select t1.*
from ethereum.transactions t1
join target t2
on t1.to_address = t2.safe_address
)
select distinct to_address
from transactions
where from_address = '0x91637170cbd1bbb65e3e1ec2de65019c988330c5'
Safe Address
0xD12f90cF187169C1C8b3E2b220E14061EB56109C

Unfortunately just the pure fact that Safes...

were created by the same address
have the same owner
conducted the same transactions
received assets from the same address
receive the same amount of SAFE

... is not enough reasoning for a valid submission, as there are legit user behaviour leading to such as well (relayer, scripts, power users, exchanges)
This submission didn't provide sufficient indicators to convince the team that there is some systematic airdrop farming behind the provided addresses. As per the rules, when in doubt we will default in favor of the airdrop recipients in order to not risk any false positives when sorting out airdrop hunters.


Added Selection Sort in Python

Assigned Issue Number ?
#89
Language Opted ?
Python
Number of files added or updated ?
1
Name of these files ?
algo_ds_101 => Algorithms => Sorting_Algorithms => Selection_Sort => SelectionSort.py
Checklist

[X] I've read the contribution guidelines.
[X] I've referred the correct issue number.
[X] I've fill up this entire template correctly.

Major merge conflicts ⚠
Can't merge 🙅🏽


Refactoring

The package structure root should be it.unibo.jakta.

:tada: This issue has been resolved in version 0.3.0 :tada:
The release is available on:

v0.3.0
GitHub release

Your semantic-release bot :package::rocket:


[Measurements] Start the workbook

#208

Any updates on this? Please let me know if you run into any issues with either GitHub or implementing my feedback - I'm happy to help!

@eloiseespel, are you planning to continue working on this pull request? Looks like it acquired some conflicts over the last month, so now it's definitely easier to copy over your work somewhere, delete this branch and create a new one from the latest master of the main repository. Please let me know if you need more detailed guidance!

I signed the CLA, thank you for your help cleaning up this file, it is greatly appreciated!


Add tracing level

Hi guys,
Unless I am mistaken, there is no tracing level in the current implementation.
However, as a user, it could be interesting to have different level for tracing. Example: BASIC / FINE / FINER / FINEST or something similar... which would come from user configuration.
Moreover, we should have a way to check the current supported level before triggering distributed tracing (span preparation, ...) - for performance purpose. I meanly think in async environments where ActiveSpan is hardly usable and where we need to build spans, start and stop them manually.
Also, sampling could be done differently according to the level (specified by user configuration as well) and could be done the earliest, when the user would check for tracing availability ->something like isTracingAvailable(Level level) - for perfomance purpose as well.
Let me know what are your thoughts about that, I can contribute if necessary.
Cheers !

if you search old issues you may find discussions about log levels and arguments against them. We should probably have an FAQ entry with a stated position.

Hi @hloos, I don't think you need tracing levels for Spans. I would suggest that you use spans in a course-grained manner, and for fine-grained information use the Span Log API. If you're having performance issues, you are probably are creating more spans than you need. Logs are usually much cheaper.
Like Yuri said, there's no "log level" currently, as there is no agreement on how many levels there should be, o if it is appropriate for OT to define one.
In the meantime, I would suggest making a helper library that can be configured at application init as to what log level will be emitted:
Debug(span, ...logs)
Info(span, ...logs)
Warn(span, ...logs)
Error(span, ...logs)

@hloos I also agree with the assertion that "tracer levels" are fundamentally not needed in terms of opentracing-api as a core concept.
What I found in practice (and happy of course to take the discussion forward) is that the need for a "trace level" stems from the fact that either too little or too much information is being fed into the tracer depending on the situation. But what is "too much" or "too little" depends both on the application context and a temporal aspect. I have found the following to be more helpful:

On the Tracer side, good tracers provide sampling mechanisms to deal with overload and may be able to adjust at runtime based on the current issues of the system rather than a predefined level.
On the span-producing side, don't think of it as levels but rather allow to enable/disable the creation of certain "nesting level" spans depending on the depth needed. For example provide configuration options that don't create "I/O" sub-spans of a request/response or if needed in development add even more fine-grained span and span tags. Is this informational? or debug? or a warning? I don't think this concept of levels allows to properly represent the concept of a span/trace.

Finally, if you need to log spans in the traditional sense, I recommend that you just implement a simple tracer which accepts spans and then log hem based on what you need (and this is where you can map certain spans to log levels as you see fit in your domain logic) and then discard or forward to another tracer.

@daschl I don't work anymore on the project that has required this "tracer level notion". However, I have got a couple of questions about your answer.
When you talk about "tracer side", I guess your refer (for instance) to the different available UIs as jaeger UI or zipkin, right ? I did not know about the sampling capability of such a tool. Indeed, at least in dev mode where performance is not critical, it would have been very useful for us.
@daschl @tedsuo
On the span-producing side, ie the application, I completely agree with you since, basically, the "tracing level" we needed was a way to prevent from creating costly and useless span when it was not needed. Finally, we ended up doing our own  levels. As you certainly noticed, in the original message, I used "basic/fine/finer/finest" level names and not the ones usually used by the loggers (debug/warn/error) which does not stand for the level notion we wanted to intoduce.

@hloos by the "tracer" side I just mean implementations of the Tracer interface in general. Stuff like Jaeger has a UI and also implements the sampling for example. In a custom one I've been developing for example I'm aggregating "on the fly" and only storing the top 10 slowest spans in a given time interval which are then emitted to an external recipient (can be a log as well).
With that, is this question resolved?

@daschl Yes this question is resolved. Thanks !


#506 fix: Deleting a file does not delete from fs.files

As illustrated in https://mongodb.github.io/node-mongodb-native/api-generated/gridstore.html#unlink
the Gridstore should be instanciated on readOnly mode, then unlink removes from fs.chunks and fs.files

@maninga can you add a test in order to test that it's working correctly?

@maninga updated the pull request.

[Current coverage][cc-pull] is 91.84%

Merging [#1758][cc-pull] into [master][cc-base-branch] will not change coverage

@@             master      #1758   diff @@
==========================================
  Files            91         91
  Lines          6385       6385
  Methods        1111       1111
  Messages          0          0
  Branches       1337       1337
==========================================
  Hits           5864       5864
  Misses          521        521
  Partials          0          0

Powered by Codecov. Last updated by [0850c18...331a252][cc-compare]
[cc-base-branch]: https://codecov.io/gh/ParsePlatform/parse-server/branch/master?src=pr
[cc-compare]: https://codecov.io/gh/ParsePlatform/parse-server/compare/0850c184d36923f5260774a77d16fb2990f96a3a...331a252c2893743ebc0463287526e1869d6e3b0e
[cc-pull]: https://codecov.io/gh/ParsePlatform/parse-server/pull/1758?src=pr

ok, I just push that so the pull request is updated.

@maninga updated the pull request.


Create Validator app layer

Follow the example in #79 to implement the app layer that wraps all the Validator/Primary validator endpoints.
For endpoints that don't make sense to implement (and those that return HttpResponseMessage), you can skip them.

working on it

@Mirch I'm not understanding the app layer, is it that layer should contain what a validator could do?

@Mirch I'm not understanding the app layer, is it that layer should contain what a validator could do?

@Mirch I'm not understanding the app layer, is it that layer should contain what a validator could do?

It's what people can do with a validator - not banks or other validators, but any 3rd party using the API. Also, to answer the question in the PR, you are right to not include the bank blocks. Should I review the rest of it, or do you have any other changes to make?

@Mirch I'm not understanding the app layer, is it that layer should contain what a validator could do?

It's what people can do with a validator - not banks or other validators, but any 3rd party using the API. Also, to answer the question in the PR, you are right to not include the bank blocks. Should I review the rest of it, or do you have any other changes to make?

You could review it as I'm done with it

You could review it as I'm done with it


Collect user feedback for Deep AQAtik predictions

In TRSS, after we click the possible issues for a test, we can get its related issues with degrees, such as jdk_management test.
To enable users give feedback for the ML predicted Related Degrees, we can add a pair of buttons (available at Ant Icons ) near the Related Degrees:

One icon (e.g. SmileOutlined icon with green color) will record correct prediction after user clicks;
The other icon (e.g. FrownOutlined icon with red color) will record that improvement is needed for prediction.

After user clicks any icon, we need to record several info into database: correct or not, build info, test info, issue repo, issue num, etc.

Steps to implement this issue:

[ ] add buttons in display
[ ] connect button with function, several examples available in TRSS repo (here) and Ant Design for Button
[ ] in the connected function, print build name, build num, etc. to check the data is correct, remove print later
[ ] refer to this PR, create a new api, print info in new api to make sure it is correct, remove print later
[ ] modify api to store user-confirmed info in DB
[ ] use TRSS to fetch DB for user-confirmed info and display in possible issues

I can pick up where this is left of :)

Steps to work on this issue:

Locally setup TRSS server following https://github.com/adoptium/aqa-test-tools/blob/master/TestResultSummaryService/README.md
collect some jenkins data with local TRSS server, through configuring the jenkins info.
In TRSS, use the "possible Issue" button to view related issues, along with the user feedback bottons.
link the user feedback buttons to DB (a new collection), which then stores related issue info into the DB once user click the feedback button.
The info collected will be used to validate and/or improve our ML model for suggesting the most relevant issue.

@LongyuZhang I have created a draft PR for you to review. Please note that, for file names, I slightly changed the naming rule. I used the full hostname as part of the file name. Two things led me to do this which are -

Domains can be of many variants. For example; something.com, something.gg.ca, subdomain.something.com, etc. Given the scenarios, if we don't have a specific set of rules for different variants it might lead to some sort of issues.
On the other hand, if in any case, TRSS runs in different subdomains of the same host, we might lose information.

All of these are my conjectures. Should you have any feedback, please let me know. I will try to incorporate changes and create a final PR.

Hi @afifaniks Thanks for working on this issue, the PR shows ECA issue, could you follow the info in the PR to sign the ECA and force push to update? Thanks.

Hello @LongyuZhang thanks for your reply. I have signed ECA and force-pushed an empty commit but it seemed not to work for me. I have also tried closing the PR and opening it again but it did not work either. I can ensure all my commits were signed with the email address I used to sign off ECA. I am attaching a screenshot of the issue detail here. Please have a look and let me know what can be done. Thanks.

@LongyuZhang looks like PR #798 resolved the ECA issue. Thanks for your suggestion.

Seems the ECA has worked in the new PR. Lan and I will review the PR later then. Thanks for the work.


Add class to entity type map

If you create a entity like: Entity.create('LINK', 'MUTABLE', {url: this.state.value, className: 'link'});
The className will be exported as class attribute.

This looks good. Thanks for your contribution!


Abbreviate readme and point to new manual

done with #20, I took the liberty of merging directly into master as it's not code dependent.


Give local keywords precedence over imported keywords in resource files

Currently if we have a resource file like
*** Settings ***
Resource      another.resource

*** Keywords ***
Keyword
    Internal Keyword

Internal Keyword
    No Operation

and also the imported another.resource contains keyword with name Internal Keyword, execution fails due to there being two keywords matching the same name. Failing like that would be fine if both matches were imported, but when a resource file has a local keyword matching the name it should have precedence.
This change would be good in general, but it gets more important when we add support for private keywords in resource files (#430). Public keywords will have precedence over private keywords otherwise, but keywords in the same resource files should call them automatically if there's a conflict.

The example in the description contains keyword Internal Keyword and another keyword Keyword that uses it. The idea of this issue is making sure Keyword would always call the local Internal Keyword even if there would be a keyword with the same name implemented elsewhere. There are three different places where such a keyword could be implemented:

In a library. This is something we don't need to care, because user keywords always have a higher precedence that libraries. Already now the local Internal Keyword would be called if there was a library having a keyword with the same name.

In another resource file. This currently causes an error due to there being multiple keywords with the same name. Fixing this situation so that a keyword in the same file is always called is the core of this issue. Because such a situation is currently an error, changing it wouldn't be backwards incompatible.

In the test case file using that resource file. This situation is problematic, because we currently give keywords in test case files the highest precedence. If you now have Internal Keyword in a test case file, it is unconditionally called instead of the local Internal Keyword. Changing this would thus change functionality and be a backwards incompatible change. I'll write another comment about that.

The example in the description contains Internal Keyword and the idea of this issue is giving it precedence when it is used by Keyword in the same file. There are three different cases where a keyword with Internal Keyword
The are two different cases where we could give local keywords in same resource file precedence. In the example in the description we have Internal Keyword and

When there's a local keyword like Internal Keyword in the

As discussed above, we currently give keywords in test case files the highest precedence. The motivation has been that tests always call keywords implemented in the same file even if keywords with same names would be elsewhere. That behavior is something we absolutely don't want to change.
This functionality also means that it is possible to override certain keywords implemented in resource files by having keywords with the same name in the test case file. That's a somewhat questionable and complicated use case. Keywords in a test case file accidentally overriding keywords resource files use can also cause really strange errors.
My opinion is that it would be better to change this that keywords in resource files would always use local keywords even if there would be a keyword with the same name in the test case file. That would be, however, a backwards incompatible change and doing them in a non-major release like RF 5.1 is generally not a good idea. I'll write another comment about alternatives we now have.

We need to make a decision how to handle a situation that a keyword in a resource file (e.g. Keyword in the example in the description) uses another keyword (e.g. Internal Keyword) so that there are implementations both in the same resource file and in the test case file. These are the alternatives:

Preserve the current behavior and always use the keyword in the test case file. Only favor local keywords if there's a keyword with the same name implemented in another resource file. This would be easy to implement and wouldn't have backwards incompatibility concerns. Local keywords not always having a precedence would be inconsistent, though.

Always give local keywords precedence over keywords implemented elsewhere. Change this already in RF 5.1 even though the change is backwards incompatible.

Same as 2. but with a deprecation period. In RF 5.1. we'd emit a warning if a keyword in a test case file is used over a local keyword in a resource file and in RF 5.2 (or possibly only in RF 6.0) we'd change the behavior.

I somewhat strongly prefer local keywords always having highest precedence which would rule the option 1 out. Deprecating this can be somewhat complicated and certainly adds extra work so I'd prefer option 2, but backwards incompatible change in a non-major version without a deprecation are so bad that I guess the option 3 is safest. What do others think about this?

Are there plans to be able to override this behavior on demand - by using special tags, or some other technique?
My use case - there is this high-level keyword in a resource file:
Do Operation X
    General Flow A
    General Flow B
    General Flow C

, which covers the flow in most usages (99% of the cases). General Flow * are defined in the same resource file.
But in specific suites a sub-step is different (slightly modified/customized UI, or additional operation is needed, etc) and all the time I'm using RF I've been overriding it - e.g. General Flow B is redefined in that suite to cater to its custom needs.
Suite-level precedence allowed for that, and that was also what the guide described for scoping.
As I understand the change in v7 will break this pattern - thus the question, can the behavior be overriden on demand to the old one?

A question about the effect on variables' scope - when a variable is defined in a resource file, used in a keyword in that same file, and a suite imports the resource, does not override the keyword but declares the same variable with a new name - which value will the keyword use?
Its local (from the resource) or the redefined in the suite?
The use case is similar to my previous comment - a shared resource file that covers the majority of the usage, but in specific suites the operation a keyword provides is differet/customized and some of it variables are redefined (for example - UI operation with different locators; or a "file getter" with different source URI just for this suite).


[BUG] Stay On Top Icon in QMdiSubwindow is Ugly

Description
Basically, renders very poorly. The rest of the titlebar menu is way better than the default, but this doesn't make it good. This reproduces for the default Qt style, for Windows, and Fusion.
Dark

Native

Reproduces similarly on KDE Linux

This is a checkable menu indicator, so we might just need to center the subcontrol positions for it and the other menu icons, if possible.


Adding files to rootfs

Hi,
The README tells me this:
"The main compile process will run vmlinux on spike directly, to add your test program, you should add your elfs in ./work/buildroot_initramfs_sysroot and make again."
The first problem is that there is no directory called work.
I tried to put my files in ./rootfs/buildroot_initramfs/target and ./rootfs/buildroot_initramfs_sysroot but they do not appear in the rootfs of the simulated system. How to make this work?
What I actually need is to copy a test program with its data in the rootfs and then start spike booting Linux and then the Linux should start the test program ASAP and shutdown Linux and stop the simulation. I was thinking about putting this code in /etc/init.d/rcS but perhaps there is a better solution for this.
Thanks in advance!
Jan.

What is written here https://github.com/sycuricon/riscv-spike-sdk/issues/28 helped me.


Allow append on empty item list.

If you initialise a simple RecycleView with data = [], it will die on the first item append because computed_positions list is empty. Changing so an empty list append is processed like setting a new list.

:+1:


False IgnoredReturnValue positive

Expected Behavior, Observed Behavior and Steps to Reproduce
If I separate the result of a function into a variable (val info = storage.getSyncInfo()), the Detekt is silent.
fun getSyncInfo(hashes: Map<UUID, ByteArray>): Map<UUID, SyncInfo> {
    val result = mutableMapOf<UUID, SyncInfo>()
    for ((id, hash) in hashes) {
        val storage = get(id = id) ?: continue
        val info = storage.getSyncInfo()
        result[id] = info
    }
    return result
}

If I pass the result directly to a new object (result[id] = storage.getSyncInfo()), then the IgnoredReturnValue rule is triggered for the Detekt.
fun getSyncInfo(hashes: Map<UUID, ByteArray>): Map<UUID, SyncInfo> {
    val result = mutableMapOf<UUID, SyncInfo>()
    for ((id, hash) in hashes) {
        val storage = get(id = id) ?: continue
        result[id] = storage.getSyncInfo()
    }
    return result
}

Environment

Version of detekt used: 1.23.6
Version of Gradle used: 8.6
Kotlin: 1.9.20
Operating System and version: macOS Sonoma 14.5

This feels like a bug but it should be verified first.

If you run a command:
gradle lib:checkCodeQuality

using the code for this commit, you can see a message from the Detekt in the report:

The best would be to add a failing test here:
https://github.com/detekt/detekt/blob/main/detekt-rules-errorprone/src/test/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/IgnoredReturnValueSpec.kt
with your snippet and verify that it actually fails

Hi @kepocnhh I tried below TC but it is passing. Is there anything different w.r.t. to your example?

Thanks for testing this @atulgpt. nit: should we add it to our test suite?

Hi @cortinico I have added the TC at https://github.com/detekt/detekt/pull/7541

This issue is waiting for authors feedback since 30 days. Please comment providing the requested feedback or this issue will be closed in 7 days.

Closing. If a reproducer is provided we can open this again.


issue 2443 - annotations for cert-manager deployments

What this PR does / why we need it: Adds support for cert-manager deployments annotations in the chart
Which issue this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged): fixes #2443
Special notes for your reviewer:
Release note:

Adds support for chart configurable parameters  `deploymentAnnotations`, `webhook.deploymentAnnotations` and `cainjector.deploymentAnnotations`

/assign @munnerz

Makes sense to me! 😄
/lgtm
/approve
/ok-to-test

Resolved the conflict in values.yaml

/lgtm


using this semantics in Coq

Has anyone explored how to use the KEVM semantics in Coq? Is there a generic K to Coq translator or has someone written a specific translation for KEVM?

One approach would be to use Kamelo: https://gitlab.com/semantiko/kamelo. That was a project by Inria to emit Dedukti from K definitions, and then you can emit Coq from Dedukti.

And another thing to study, as more of a deep embedding approach: https://arxiv.org/pdf/2201.05716


brain visualizer edit box does not update

usually when open edit window for cortical area, if you click on another cortical area, the window will update to show the new cortical area clicked on. It is not doing this and I have to click the pencil icon every time I want to look at a new cortical area.

this is resolved


Netflix Movie Recommendation System

The project utilizes a combination of data preprocessing techniques, feature extraction methods, and machine
learning algorithms to build a content-based recommendation system for Netflix movies. Examined historical data from 5,000+ movies and developed a model to predict movies based on genre, director, and actors, achieving 97.94% accuracy.

Can you pls add level label @Niketkumardheeryan

Can you pls add level label @Niketkumardheeryan

level will be based on your pr


Salesforce San Francisco

Salesforce employees in San Francisco have been told to work from home until 31 March 2020, or until they are advised when to return.  Travel restrictions are in place.  All meetings and VTO involving more than 50 people are postponed until further notice.  The all-hands meetings have been changed to teleconferences or streaming events.

This has been done.


upgrades attribute sub rule to error

This change will cause the Vale bot in the OCP docs GH repo to leave comments when an attribute should be substituted.
Note: this applies only to attributes in the SuggestAttribute.yml file, not all possible attributes to substitute. The intent is to ensure that some critical ones are noticed and used.
Per Shauna's observation, I have asked for input on clashes specifically for MicroShift and SD docs use

Noted clashes in Slack. We do have overlap on at least three attributes.


Feature improve plotting

small plotting changes

Codecov Report

Merging #414 (c8c5365) into master (794a07e) will decrease coverage by 0.09%.
The diff coverage is 79.85%.

@@            Coverage Diff             @@
##           master     #414      +/-   ##
==========================================
- Coverage   73.24%   73.14%   -0.10%
==========================================
  Files         113      112       -1
  Lines       13528    13493      -35
==========================================
- Hits         9908     9869      -39
- Misses       3620     3624       +4

Codecov Report

Merging #414 (c8c5365) into master (794a07e) will decrease coverage by 0.09%.
The diff coverage is 79.85%.

@@            Coverage Diff             @@
##           master     #414      +/-   ##
==========================================
- Coverage   73.24%   73.14%   -0.10%
==========================================
  Files         113      112       -1
  Lines       13528    13493      -35
==========================================
- Hits         9908     9869      -39
- Misses       3620     3624       +4


If expression does not work in const if statement

The skip_block function used for the const if statement cannot handle the if expression since it expects it to end with end which it does not.
$if false then
    local x = if a then b else c
$else
    local x = 2
$end

Part of me wonders if we should even continue to support the if-expression. I have no data as for the prevalence of it, especially considering Lua forks other than Pluto, but I can't imagine it's worthwhile in the slightest when most people either don't use it or use the compact ternary expression. @well-in-that-case Thoughts?

Part of me wonders if we should even continue to support the if-expression. I have no data as for the prevalence of it, especially considering Lua forks other than Pluto, but I can't imagine it's worthwhile in the slightest when most people either don't use it or use the compact ternary expression. @well-in-that-case Thoughts?

The documented purpose of the alternative ternary syntax is legacy compatibility with older Pluto versions. Much time has passed since then, so considering deprecation would not be unreasonable. However, I don't view this syntax as a burden either.

For cases like this, it kind of is a burden, but for the $if statement, we can specialize for the '$'. That at least resolves this bug on 0.10.0.


[HUDI-6215] Making snappy as default compression codec for parquet

Change Logs
Making snappy as default compression codec for parquet
Impact
Making snappy as default compression codec for parquet. Users might see more storage after snappy, but with better compute efficiency.
Risk level (write none, low medium or high below)
low.
Documentation Update
Describe any necessary documentation update if there is any new feature, config, or user-facing change

The config description must be updated if new configs are added or the default value of the configs are changed
Any new feature or user-facing change requires updating the Hudi website. Please create a Jira ticket, attach the
ticket number here and follow the instruction to make
changes to the website.

Contributor's checklist

[ ] Read through contributor's guide
[ ] Change Logs and Impact were stated clearly
[ ] Adequate tests were added if applicable
[ ] CI passed

Do we consider using zstd as default compression codec for parquet?
zstd performed well in terms of computational efficiency and storage space.

Do we consider using zstd as default compression codec for parquet? zstd performed well in terms of computational efficiency and storage space.

Hi @BruceKellan Maybe u can take a look at this link https://github.com/apache/hudi/pull/4214

Hi @BruceKellan Maybe u can take a look at this link #4214

Thanks


Make protocolParams to be standard

This PR makes protocolParams look like parameters from Cardano GraphQL response.

Make number values to be js Number type.
Rename stakeKeyDeposit to keyDeposit
Rename priceSteps to priceStep (ending s)
Swap values of priceStep and priceMem according to latest API response.

Docs:

https://input-output-hk.github.io/cardano-graphql/
https://graphql-api.testnet.dandelion.link/

thank you for this pr @mahnunchik, graphql naming convention is not standard, and hence we will be unable to use that format. It would be ideal to use the cardano-cli output naming convention as it will be maintained in long term. plz see this explanation https://github.com/StricaHQ/typhonjs/issues/5

This PR is related to https://github.com/StricaHQ/typhonjs/issues/21 because coins/lovelacePerUtxoByte should be used.
@ashisherc  What do you think about accepting number as a parameter or even both BigNumber/number with internal conversion?

Could you please share current output of cardano-cli query protocol-parameters. I don't have running node for now.
The logic behind the change params to native types is to be able to pass parameters as is without conversion to internal BigNumber.
I don't understand math of current algorithm yet.

https://github.com/StricaHQ/typhonjs/issues/28#issuecomment-1977956876


Keep getting erros when trying to run it, tried Streamline, Docker and Poetry, none worked (Windows)

Got this when trying Streamline:
"
(base) PS D:\AI\GeniA> conda activate genia
(genia) PS D:\AI\GeniA> genia
Traceback (most recent call last):
File "", line 198, in _run_module_as_main
File "", line 88, in run_code
File "C:\ProgramData\anaconda3\envs\genia\Scripts\genia.exe_main.py", line 7, in
File "C:\ProgramData\anaconda3\envs\genia\Lib\site-packages\genia\entry.py", line 13, in streamlit
subprocess.run(["python3", "-m", "streamlit", "run", main])
File "C:\ProgramData\anaconda3\envs\genia\Lib\subprocess.py", line 548, in run
with Popen(*popenargs, **kwargs) as process:
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\ProgramData\anaconda3\envs\genia\Lib\subprocess.py", line 1026, in init
self._execute_child(args, executable, preexec_fn, close_fds,
File "C:\ProgramData\anaconda3\envs\genia\Lib\subprocess.py", line 1538, in _execute_child
hp, ht, pid, tid = _winapi.CreateProcess(executable, args,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
FileNotFoundError: [WinError 2] The system cannot find the file specified
(genia) PS D:\AI\GeniA>
"
Got this when trying Docker:
"
(genia) PS D:\AI\GeniA>

docker run -p 5001:5001 --env-file ./.env -it geniadev/genia:latest
Traceback (most recent call last):
File "/app/main.py", line 7, in
from genia.agents.chat import OpenAIChat
File "/app/genia/agents/chat.py", line 29, in
class OpenAIChat(Agent):
File "/app/genia/agents/chat.py", line 43, in OpenAIChat
llm_functions_repository=LLMFunctionRepository(OpenAIEmbeddings(), FAISS),
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/app/genia/llm_function/llm_function_repository.py", line 60, in init
self._init(functions_dict, tools_dict, skills_dict)
File "/app/genia/llm_function/llm_function_repository.py", line 130, in _init
self._init_vector_store(llm_functions_list)
File "/app/genia/llm_function/llm_function_repository.py", line 146, in _init_vector_store
self._vector_store = self._vector_store.from_texts(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/root/.cache/pypoetry/virtualenvs/genia-9TtSrW0h-py3.11/lib/python3.11/site-packages/langchain/vectorstores/faiss.py", line 551, in from_texts
embeddings = embedding.embed_documents(texts)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/root/.cache/pypoetry/virtualenvs/genia-9TtSrW0h-py3.11/lib/python3.11/site-packages/langchain/embeddings/openai.py", line 452, in embed_documents
return self._get_len_safe_embeddings(texts, engine=self.deployment)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/root/.cache/pypoetry/virtualenvs/genia-9TtSrW0h-py3.11/lib/python3.11/site-packages/langchain/embeddings/openai.py", line 302, in _get_len_safe_embeddings
response = embed_with_retry(
^^^^^^^^^^^^^^^^^
File "/root/.cache/pypoetry/virtualenvs/genia-9TtSrW0h-py3.11/lib/python3.11/site-packages/langchain/embeddings/openai.py", line 97, in embed_with_retry
return _embed_with_retry(**kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/root/.cache/pypoetry/virtualenvs/genia-9TtSrW0h-py3.11/lib/python3.11/site-packages/tenacity/init.py", line 289, in wrapped_f
return self(f, *args, **kw)
^^^^^^^^^^^^^^^^^^^^
File "/root/.cache/pypoetry/virtualenvs/genia-9TtSrW0h-py3.11/lib/python3.11/site-packages/tenacity/init.py", line 379, in call
do = self.iter(retry_state=retry_state)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/root/.cache/pypoetry/virtualenvs/genia-9TtSrW0h-py3.11/lib/python3.11/site-packages/tenacity/init.py", line 314, in iter
return fut.result()
^^^^^^^^^^^^
File "/usr/local/lib/python3.11/concurrent/futures/_base.py", line 449, in result
return self.__get_result()
^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/concurrent/futures/_base.py", line 401, in __get_result
raise self._exception
File "/root/.cache/pypoetry/virtualenvs/genia-9TtSrW0h-py3.11/lib/python3.11/site-packages/tenacity/init.py", line 382, in call
result = fn(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^
File "/root/.cache/pypoetry/virtualenvs/genia-9TtSrW0h-py3.11/lib/python3.11/site-packages/langchain/embeddings/openai.py", line 95, in _embed_with_retry
return embeddings.client.create(**kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/root/.cache/pypoetry/virtualenvs/genia-9TtSrW0h-py3.11/lib/python3.11/site-packages/openai/api_resources/embedding.py", line 33, in create
response = super().create(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/root/.cache/pypoetry/virtualenvs/genia-9TtSrW0h-py3.11/lib/python3.11/site-packages/openai/api_resources/abstract/engine_api_resource.py", line 153, in create
response, _, api_key = requestor.request(
^^^^^^^^^^^^^^^^^^
File "/root/.cache/pypoetry/virtualenvs/genia-9TtSrW0h-py3.11/lib/python3.11/site-packages/openai/api_requestor.py", line 298, in request
resp, got_stream = self._interpret_response(result, stream)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/root/.cache/pypoetry/virtualenvs/genia-9TtSrW0h-py3.11/lib/python3.11/site-packages/openai/api_requestor.py", line 700, in _interpret_response
self._interpret_response_line(
File "/root/.cache/pypoetry/virtualenvs/genia-9TtSrW0h-py3.11/lib/python3.11/site-packages/openai/api_requestor.py", line 763, in _interpret_response_line
raise self.handle_error_response(
openai.error.InvalidRequestError: Invalid URL (POST /engines/text-embedding-ada-002/embeddings)
"

Got this when trying Poetry:
(yes I had the .env file containing the API key)
"
(base) PS D:\AI\GeniA> conda activate genia
(genia) PS D:\AI\GeniA> poetry run local
Warning: 'local' is an entry point defined in pyproject.toml, but it's not installed as a script. You may get improper sys.argv[0].
The support to run uninstalled scripts will be removed in a future release.
Run poetry install to resolve and get rid of this message.
Traceback (most recent call last):
File "", line 1, in
File "C:\ProgramData\anaconda3\envs\genia\Lib\importlib_init_.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "", line 1204, in _gcd_import
File "", line 1176, in _find_and_load
File "", line 1147, in _find_and_load_unlocked
File "", line 690, in _load_unlocked
File "", line 940, in exec_module
File "", line 241, in _call_with_frames_removed
File "D:\AI\GeniA\genia\main.py", line 6, in
from genia.agents.chat import OpenAIChat
File "D:\AI\GeniA\genia\agents\chat.py", line 24, in
class OpenAIChat(OpenAIToolsEmpoweredAgent):
File "D:\AI\GeniA\genia\agents\chat.py", line 38, in OpenAIChat
OpenAIEmbeddings(
File "pydantic\main.py", line 341, in pydantic.main.BaseModel.init
pydantic.error_wrappers.ValidationError: 1 validation error for OpenAIEmbeddings
root
Did not find openai_api_key, please add an environment variable OPENAI_API_KEY which contains it, or pass  openai_api_key as a named parameter. (type=value_error)
(genia) PS D:\AI\GeniA>
"

I've gotten around the issue where poetry cannot locate the .env file by manually setting the key with: $evn:OPENAI_API_KEY =<key_value>.
After doing so, I encounter this error:

Traceback (most recent call last):
File "", line 1, in
File "C:\Users\cluss\AppData\Local\Programs\Python\Python311\Lib\importlib_init_.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "", line 1204, in _gcd_import
File "", line 1176, in _find_and_load
File "", line 1147, in _find_and_load_unlocked
File "", line 690, in _load_unlocked
File "", line 940, in exec_module
File "", line 241, in _call_with_frames_removed
File "C:\Users\cluss\GeniA\genia\main.py", line 9, in
from gunicorn.app.base import BaseApplication
File "C:\Users\cluss\AppData\Local\pypoetry\Cache\virtualenvs\genia-2MH13Qxb-py3.11\Lib\site-packages\gunicorn\app\base.py", line 11, in
from gunicorn import util
File "C:\Users\cluss\AppData\Local\pypoetry\Cache\virtualenvs\genia-2MH13Qxb-py3.11\Lib\site-packages\gunicorn\util.py", line 8, in
import fcntl
ModuleNotFoundError: No module named 'fcntl'

I dont believe fcntl is compatible with Windows.

Same issue and I’m running on Mac.

I'm getting a similar error:
pip3 install streamlit genia
Collecting streamlit
Using cached streamlit-1.28.1-py2.py3-none-any.whl (8.4 MB)
ERROR: Ignored the following versions that require a different python version: 0.3.0 Requires-Python >=3.11,<4.0; 0.4.0 Requires-Python >=3.11,<4.0; 0.55.2 Requires-Python <3.5
ERROR: Could not find a version that satisfies the requirement genia (from versions: none)
ERROR: No matching distribution found for genia

Hi Nate, we will look into it next week and get back to you
things are a bit hectic for us theses days
thanks,
Shlomi
On Thu, Nov 9, 2023 at 9:00 PM Nate Johnson @.***>
wrote:

I'm getting a similar error:
pip3 install streamlit genia
Collecting streamlit
Using cached streamlit-1.28.1-py2.py3-none-any.whl (8.4 MB)
ERROR: Ignored the following versions that require a different python
version: 0.3.0 Requires-Python >=3.11,<4.0; 0.4.0 Requires-Python

=3.11,<4.0; 0.55.2 Requires-Python <3.5
ERROR: Could not find a version that satisfies the requirement genia (from
versions: none)
ERROR: No matching distribution found for genia

—
Reply to this email directly, view it on GitHub
https://github.com/genia-dev/GeniA/issues/16#issuecomment-1804416581,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AD36M6J27KQ2QTDVRIQRE7TYDUR5HAVCNFSM6AAAAAA6HCF5UGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQMBUGQYTMNJYGE
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

No worries.   I can imagine things are a bit busy for you.  :)
Good luck.
On Thu, Nov 9, 2023 at 11:42 AM Shlomi Shemesh @.***>
wrote:

Hi Nate, we will look into it next week and get back to you
things are a bit hectic for us theses days
thanks,
Shlomi
On Thu, Nov 9, 2023 at 9:00 PM Nate Johnson @.***>
wrote:

I'm getting a similar error:
pip3 install streamlit genia
Collecting streamlit
Using cached streamlit-1.28.1-py2.py3-none-any.whl (8.4 MB)
ERROR: Ignored the following versions that require a different python
version: 0.3.0 Requires-Python >=3.11,<4.0; 0.4.0 Requires-Python

=3.11,<4.0; 0.55.2 Requires-Python <3.5
ERROR: Could not find a version that satisfies the requirement genia
(from
versions: none)
ERROR: No matching distribution found for genia

—
Reply to this email directly, view it on GitHub
https://github.com/genia-dev/GeniA/issues/16#issuecomment-1804416581,
or unsubscribe
<
https://github.com/notifications/unsubscribe-auth/AD36M6J27KQ2QTDVRIQRE7TYDUR5HAVCNFSM6AAAAAA6HCF5UGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQMBUGQYTMNJYGE>

.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

—
Reply to this email directly, view it on GitHub
https://github.com/genia-dev/GeniA/issues/16#issuecomment-1804523055,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A5LOV5FF6EVODJ6KS7ZBMITYDUW4FAVCNFSM6AAAAAA6HCF5UGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQMBUGUZDGMBVGU
.
You are receiving this because you commented.Message ID:
@.***>


Updating AFNI dependencies

Howdy-
I recently checked in on the AFNI install on Neurodesk.  I think there are a couple of things to update there:

We now use the Python modules Flask and Flask-Cors for setting up a local server to interact with afni_proc.py's QC HTML.  Those don't appear to be available after ml afni.
We also use NiiVue as part of the same APQC HTML.  We distribute this with our binaries and as part of our build scripts, which basically means building+copying in a compiled niivue_afni.umd.js file in the same location as the main AFNI binaries (i.e., where which afni points).  We actually put a copy of the niivue_afni.umd.js file that we build in an openly accessible spot for ease of access, and so it could be gotten with: curl -O https://afni.nimh.nih.gov/pub/dist/bin/misc/niivue_afni.umd.js

It would be great if both of those aspects could be updated.
thanks,
pt

Dear @mrneont,
Yes, we can make these updates. To clarify what's needed:

what are the binary names for this? What is the command you would want to run after a module load to test this?
niivue_afni.umd.js is already there:

afni-24.1.02:/opt/afni-latest$ find . | grep niivue
./afnipy/lib_apqc_niivue.py
./niivue_afni.umd.js

What else is needed to make this work? How can I test this?

Hi, @stebo85 -
Thanks for the quick reply!

About Flask and Flask-Cors:  these are just Python modules to load.  To install these in Ubuntu, say, I would just do:
sudo apt-get install python3-flask python3-flask-cors

To test this, one would just want to see version numbers for each module detected by the system check:
  afni_system_check.py -disp_ver_pylibs flask flask_cors

A deeper test of functionality would involve running afni_proc.py for a full FMRI processing run, and then opening the created QC HTML with open_apqc.py -infiles ... and seeing that the HTML buttons worked.  That might be a more difficult test, but I'm happy to discuss that more if that would be useful.

Huh, OK, I tried using Neurodesk from "https://www.neurodesk.org/" -> Play -> Terminal, and then I didn't see it when I module loaded afni (I apologize for copy+pasting a screenshot here, but I couldn't figure out how to copy the text from the terminal):

I guess I am not understanding why this is different.

thanks,
pt

Ok, I will add these and test with afni_system_check.py - currently this outputs in afni 23.3.02:

** error: unknown trailing arguments : ['-disp_ver_pylibs', 'flask', 'flask_cors']

So I guess an update to the latest AFNI version will fix that?

the module system only exposes binaries on the top level. The niivue files are inside the container subdirectory:

ls /cvmfs/neurodesk.ardc.edu.au/containers/afni_24.1.02_20240409/afni_24.1.02_20240409.simg/opt/afni-latest/niivue_afni.umd.js
/cvmfs/neurodesk.ardc.edu.au/containers/afni_24.1.02_20240409/afni_24.1.02_20240409.simg/opt/afni-latest/niivue_afni.umd.js

Indeed, I guess the option -disp_ver_pylibs is newer than that version.

Ah, I see---thanks for clarifying that.


sandbox: start sandbox in a pseudoterminal

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

[x] Have you successfully run brew typecheck with your changes locally?
[ ] Have you successfully run brew tests with your changes locally?

This disconnects the sandbox from directly accessing the parent terminal.
Due to the wide range of formulae we have and how some of the tests we have can be pretty picky on the terminal, particularly for those that do things like manually setting TERM, changing the winsize or doing some fancy things in expect, I can't give 100% assurances this will be regression free but it does seem the work on a couple that I tried. It's very much possible nothing will break and I'm being overly cautious - there's just too much variation for me to guarantee anything.
In the event somoene feels the need to revert this quickly, but the only thing breaking is (multiple) tests, I suggest a partial revert by adding a kwarg to conditionally disable this for tests (but not builds/postinstall) should time allow.

Review period skipped due to critical label.


Documentation: SwiftUI -> Layout Containers -> Presentation containers: TabView

As a PO I'd like to have documentation for the TabView

@carson-katri is there any PR to link? Thank a lot

This functionality was already documented in da4772a


New App Request: Rambox Messenger

New app for amazing theme: https://github.com/saenzramiro/rambox

Feel free to submit a theme @MatheusRV ;)
https://github.com/dracula/dracula-theme#are-you-going-to-support-editor-x