Curve add point between two existing points

Is there a way to add a point between two points?
It always adds to the last point

https://github.com/godotengine/godot/commit/aa63b86febad156d148a5268534ce3012573d4b8
Still not fixed.

Is it about this?

Seems to be possible now with the Select Point tool.

I think this is about scripting (adding points in between in editor has been possible for quite some time)

It is a bit confusing that selecting a point is also there to add a point I always tried the "Add Point" button.


Captive Portal

I was trying to wrap my head around implementing captive portal and thought to check if it was ever discussed here, and found the commit history. I noticed that back in 0.3Alpha2 (August 2017) captive portal was quickly removed after it was added. Is there any reason for this? Is this a feature that can be revisited?

IMHO captive portal is just a dirty hack, it's not guaranteed to work in next year nor every device supports it. There is no standard around it and it seems there isn't any attempt to standardize it AFAIK and it consumes great amount of precious resources in the microchip.

Makes sense. It does seem like a lot of resources for a slight convenience. Thanks for the response.


[0.7.0]: Validate setup data

Proposed changes
Adds validation for the setup data, so that we fail early if necessary data are not provided instead of waiting for the first round to happen, and we give an informative error.
Moreover, removes the FFW round because it is not meaningful now that the setup data cannot be empty.
Fixes
n/a
Types of changes
What types of changes does your code introduce? (A breaking change is a fix or feature that would cause existing functionality and APIs to not work as expected.)
Put an x in the box that applies

[ ] Non-breaking fix (non-breaking change which fixes an issue)
[ ] Breaking fix (breaking change which fixes an issue)
[ ] Non-breaking feature (non-breaking change which adds functionality)
[ ] Breaking feature (breaking change which adds functionality)
[x] Refactor (non-breaking change which changes implementation)
[ ] Messy (mixture of the above - requires explanation!)

Checklist
Put an x in the boxes that apply.

[x] I have read the CONTRIBUTING doc
[x] I am making a pull request against the main branch (left side). Also you should start your branch off our main.
[x] Lint and unit tests pass locally with my changes
[x] I have added tests that prove my fix is effective or that my feature works
[x] I have locally run services that could be impacted and they do not present failures derived from my changes

Further comments
n/a

e2e failure does not make much sense:
Error: Package loading error: An error occurred while loading skill valory/registration_abci:0.1.0: Traceback (most recent call last):
  File "/tmp/tmpur1u9xt_/agent_00003/vendor/valory/skills/abstract_round_abci/models.py", line 144, in _ensure_setup
    enforce(bool(self.setup_params), "`setup` params contain no values!")
  File "/home/runner/work/open-autonomy/open-autonomy/.tox/packages-py3.10-linux/lib/python3.10/site-packages/aea/exceptions.py", line 106, in enforce
    raise exception_class(exception_text)
aea.exceptions.AEAEnforceError: `setup` params contain no values!

However the registration_abci skill is abstract:
https://github.com/valory-xyz/open-autonomy/blob/8be71a59f41c7bdd896a6338ab059b7a169ba1ce/packages/valory/skills/registration_abci/skill.yaml#L130
and therefore should not execute a check for the setup params:
https://github.com/valory-xyz/open-autonomy/blob/5c37dc902fd7a5a896c43b464b88e95b921dc16c/packages/valory/skills/abstract_round_abci/models.py#L130-L133


Wrong credentials / no login pop-up

Hi,
If a user writes wrong credentials, he is re-directed to access forbidden page. If he tries to retry to open the recording, user never gets a login box again - he has to clear his cookies in order for it to appear again.
Is there any way to prompt the script to use the login popup after failed login?

I can not reproduce that here (login popup reappears when i enter the wrong credentials, please test): https://bbb.home.aperture-labs.org/playback/presentation/2.0/playback.html?meetingId=0f78a81048ba3453f3fea134924ec4bfdd01eb42-1590186065110
Will take a look later tonight. For that, please let me know which browser you are using.

Thanks for prompt replies!
It works fine on your instance!
I am using Chrome on Win.

Ok, than this seems to be a configuration issue on your side. I can reproduce it on your instance.   Forwards requests
<------> # to Red5 on port 5080
location ~ (/open/|/close/|/idle/|/send/|/fcs/) {
proxy_pass         http://<IP_ADDRESS>:5080;
proxy_redirect     off;
proxy_set_header   X-Forwarded-For   $proxy_add_x_forwarded_for;
      client_max_body_size       10m;
      client_body_buffer_size    128k;

      proxy_connect_timeout      90;
      proxy_send_timeout         90;
      proxy_read_timeout         90;

      proxy_buffering            off;
      keepalive_requests<PHONE_NUMBER>;
  }

<------> # Handle desktop sharing tunneling.  Forwards
<------> # requests to Red5 on port 5080.
location /deskshare {
proxy_pass         http://<IP_ADDRESS>:5080;
proxy_redirect     default;
proxy_set_header   X-Forwarded-For   $proxy_add_x_forwarded_for;
client_max_body_size       10m;
client_body_buffer_size    128k;
proxy_connect_timeout      90;
proxy_send_timeout         90;
proxy_read_timeout         90;
proxy_buffer_size          4k;
proxy_buffers              4 32k;
proxy_busy_buffers_size    64k;
proxy_temp_file_write_size 64k;
include    fastcgi_params;
}
   # BigBlueButton landing page.
   location / {
      root   /var/www/bigbluebutton-default;
      index  index.html index.htm;
   expires 1m;
    }

    # Include specific rules for record and playback
    include /etc/bigbluebutton/nginx/*.nginx;

    error_page  500 502 503 504  /index.html;
    location = /index.html {
            root   /var/www/html/bbb-rec-perm/error-page/;
    }

    error_page  404  /404.html;
    location = /404.html {
            root   /var/www/html/bbb-rec-perm/error-page/;
    }

location = / {
return 307 /b;
}
}
server {
if ($host = domain.com) {
return 301 https://$host$request_uri;
} # managed by Certbot
listen   80;
listen [::]:80;
server_name domain.com;
server_name localhost;
return 404; # managed by Certbot

.<----->
##
# Nginx Bad Bot Blocker Includes
# REPO: https://github.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker
##

<------>include /etc/nginx/bots.d/ddos.conf;.
<----->include /etc/nginx/bots.d/blockbots.conf;
.
root /var/www/html;

location /gl-auth/auth.py {
            gzip off;
            root  /var/www/html/gl-auth;
            fastcgi_pass  unix:/var/run/fcgiwrap.socket;
            include /etc/nginx/fastcgi_params;
            fastcgi_param DOCUMENT_ROOT  /var/www/html/gl-auth/;
            fastcgi_param SCRIPT_FILENAME  /var/www/html/gl-auth/auth.py;
 }

}

And maybe one of the statements where you enabled auth in /etc/bigbluebutton/nginx/ ?

This is the podcast config:
    location /podcast {
            root    /var/bigbluebutton/published;
            index  index.html index.htm;
            ### Uncomment the next three lines if you want to use password
            ### authentication (see dedicated files. Create /var/www/htpasswd
            ### as an empty file with 'touch /var/www/htpasswd'.
            # satisfy any;
            # auth_basic "Restricted";
            # auth_basic_user_file "/var/www/htpasswd";
            auth_request /auth;
            error_page 403 /index.html;
    }

Can you disable these two configs and see if that helps:
<------>include /etc/nginx/bots.d/ddos.conf;.
<----->include /etc/nginx/bots.d/blockbots.conf;
?

I commented them out, still getting the same result.
However, if i click on Cancel for auth, it will provide 401 nginx page & i will get asked again for credentials, but if i type in the wrong user/pass i will not.
I will try to disable custom error pages & see what happens.
https://homesourcing.live/podcast/eaa26fb18ba18a3a5612c9a26b5505aecaee10d9-1592987333790/audio.ogg

Uhm, only saw just now...
            satisfy any;
            auth_basic "Restricted";
            auth_basic_user_file "/var/www/htpasswd";

This must be present, and /var/www/htpasswd must exist (as an empty file).

That was it!
Thank you very much!
 :)

I am already living of your (tax) money quiet comfortably. Public servant at a university n stuff. ;-)
If you want to do buy someone a coffee, i suggest one of these institutions (even 2.99 help):
https://voedselbankennederland.nl/
https://www.tafel.de/
http://arbeiterkind.de/
https://www.seenotretter.de/wer-wir-sind/

Consider it done!


[W6.6c][T13-B1] Rattanin Siripornpitak

Nice addition of users fitting different descriptions.
Please close this PR.


better backwards compatibility with older versions of cryptography

Older versions don't have not_valid_before_utc or not_valid_after_utc.

Hi @totaam, we're aware that older cryptography versions do not have these attributes, which is why the minimum cryptography version was raised to 42.0.0 in 488f1ab60b36328e5f5565e5d2b4969a6dd6263b.

OK, feel free to ignore it.
I'm just leaving this out there as some downstream may need this patch. (I needed it on Fedora 40 which just came out a few months ago)


Menu item disabled fix

Fix isDisabled property behavior when context menus are created through menuitems

Propagate isdisabled menuitem property to contextmenuitem disabled property
Fix calling of onclick and onSelect calls when ContextMenuItem is disabled

 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.

/azp run

/azp run

/azp run

@calebmshafer Could you review the changes you requested? Is there anything else I should do?

@tuncb queued a new set of builds and the test suites are failing in ui-core and ui-framework due to the drop in code coverage.  Everything else succeeded however.
--[ FAILURE: @bentley/ui-core ]--------------------[ 5 minutes 10.0 seconds ]--

ERROR: Coverage for lines (99.97%) does not meet global threshold (100%)
ERROR: Coverage for branches (99.95%) does not meet global threshold (100%)
ERROR: Coverage for statements (99.97%) does not meet global threshold (100%)

--[ FAILURE: @bentley/ui-framework ]---------------[ 5 minutes 10.0 seconds ]--

ERROR: Coverage for branches (99.98%) does not meet global threshold (100%)

/azp run

/azp run

/azp run

/azp run


libsForQt5.qtstyleplugin-kvantum: 1.1.0 -> 1.1.1

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for libsForQt5.qtstyleplugin-kvantum is: SVG-based Qt5 theme engine plus a config tool and extra themes
meta.homepage for libsForQt5.qtstyleplugin-kvantum is: https://github.com/tsujan/Kvantum
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 1.1.1 in filename of file in /nix/store/wdvng2dwh9a8p9fvflw8d9kcp2cly0zh-qtstyleplugin-kvantum5-1.1.1

Rebuild report (if merged into master) (click to expand)

5 total rebuild path(s)

5 package rebuild(s)

First fifty rebuilds by attrpath

kdePackages.qtstyleplugin-kvantum
libsForQt5.qtstyleplugin-kvantum
plasma5Packages.qtstyleplugin-kvantum
qt6Packages.qtstyleplugin-kvantum

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/wdvng2dwh9a8p9fvflw8d9kcp2cly0zh-qtstyleplugin-kvantum5-1.1.1 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A libsForQt5.qtstyleplugin-kvantum https://github.com/r-ryantm/nixpkgs/archive/e25d68b67c36e60e719be560c5be7e62b0d2003c.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/e25d68b67c36e60e719be560c5be7e62b0d2003c#libsForQt5.qtstyleplugin-kvantum

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/wdvng2dwh9a8p9fvflw8d9kcp2cly0zh-qtstyleplugin-kvantum5-1.1.1
ls -la /nix/store/wdvng2dwh9a8p9fvflw8d9kcp2cly0zh-qtstyleplugin-kvantum5-1.1.1/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review --extra-nixpkgs-config '{ allowInsecurePredicate = x: true; }' run on x86_64-linux 1

2 packages built:

kdePackages.qtstyleplugin-kvantum
libsForQt5.qtstyleplugin-kvantum

Maintainer pings
cc @romildo @Scrumplex for testing.

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

2 packages built:

kdePackages.qtstyleplugin-kvantum (qt6Packages.qtstyleplugin-kvantum)
libsForQt5.qtstyleplugin-kvantum (plasma5Packages.qtstyleplugin-kvantum)


adds devcontainer for Azure Static Web Apps

This adds a new devcontainer that does the setup for the required extensions & ports for running Azure Static Web Apps with an Azure Functions API backend.
It adds a sample test-project to test the container.
The extra extension is Live Server. The test project has sample config for that extension

@videlalvaro Thanks!
@Chuxel That's a good point. I had chatted with @videlalvaro about adding a Static Web Apps devcontainer. What I sort of had in mind was a container definition with these tools:

Live Server (it would be replaced by an official Static Web Apps CLI/emulator in a couple of months, hopefully)
The Static Web Apps VS Code Extension
Support for functions in Node, .NET, and Python (thinking use the Node functions container and add Python).

Do you think that would be different enough to warrant a separate container definition? Another reason I was thinking a separate one is for discoverability. Open to suggestions though.
The flow for a dev I was thinking of would be something like this:

Open repo with a React app
Add Azure Static Web Apps devcontainer
Open in Codespaces / VS Code remote for containers
Use the extension to create GitHub Actions workflow and deploy
Add functions in a language of their choice without having to install more tools

@anthonychu AFAIK at the moment the different functions language backends are in separate devcontainers, how would that work @Chuxel ?

@anthonychu @videlalvaro If it was me, I would start with  mcr.microsoft.com/azure-functions/python:3.0-python3.8-core-tools and add Node.js since it's much easier to install than Python.  Installing Python on Linux == compiling which is SLLLLLLOOOOOWWWW.  That would give you .NET Core 3.1, Python 3.8, and Node.js.
For Node.js, you could use nvm via the node.js in this repo) or use one of the Nodesource installer scripts.
I believe the tools are .NET Core 3.1 based in all scenarios, right @anthonychu ?
Also @burkeholland - FYI since you were asking about Functions + Node the other day.
(FWIW - This is the upstream dockerfile for that image https://github.com/Azure/azure-functions-docker/blob/master/host/3.0/buster/amd64/python/python38/python38-core-tools.Dockerfile)

@Chuxel can we push new containers to that MS registry? I assume you mean to create a new container that includes these technologies right?

I think @Chuxel's suggestion is use FROM mcr.microsoft.com/azure-functions/python:3.0-python3.8-core-tools in .devcontainer/Dockerfile, then add the instructions to install Node. There's no need to publish a new image to MCR for Static Web Apps (yet). We could decide to do that in the future.
I think if we can make that change and add the Static Web Apps extension, this should be in pretty good shape.
Also note that SWA currently supports Node.js 12, Python 3.8, and .NET 3.1. This should simplify things a bit for now as there's currently no need to use a variant arg.

I've updated the PR @Chuxel
Changed the Dockerfile, and added the missing extensions to the devcontainer

bump @Chuxel

LGTM! @anthonychu ?


Upload a file via API and reading it from an app

Hello,
I am facing some issue which seems to be present in OS versions: 10.0.17133.2020 and 10.0.17134.3036.
I upload a file via Xbox Device Portal (I use my browser to upload it) to the Temp folder of my app. Then I try to load and read my file from the application.
await ApplicationData.Current.TemporaryFolder.GetFileAsync("myfile")
It throws an error, "File does not exists". But the file is there. Also when I create a file from the app in Temp folder, I do not see it via API. OS version 10.0.16299.5101 looks like the last version where it works properly.
I tried to do the same on my laptop with Windows 10 and it works there without problems, even on build 17134.48. It seems like issue related only to Xbox.
Do you happen to know if something has changed?
Thank you.
Best Regards,
Jakub Krampl

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

ID: ae1ab644-ee7d-3dec-cd0f-cbb1e4d8b6ac
Version Independent ID: 97eecc36-8e2e-d4c7-1ecb-948e0846bda5
Content: Device Portal core API reference - UWP app developer
Content Source: windows-apps-src/debug-test-perf/device-portal-api-core.md
Service: unspecified
Product: windows
GitHub Login: @PatrickFarley
Microsoft Alias: pafarley

This looks like a regression with Xbox on those builds. We'll get a fix into internal builds but it might be a while before any previews with the fix.
Device Portal is showing the generic folder--what you get when you call TemporaryFolder.GetFileAsync from a Multi-user app instead of a single-user app--when it should be showing the user folder for whichever user you have signed in (which is the same user that your app is using when you call the API).

Hi @kubakista, thanks for the feedback. Sorry for the long wait. I'm testing this out now on Windows 10 build 17763, with SDK build 17763 as well. Here's what I've found:

Uploading a file to the app's temp folder through the Windows Device Portal works, and I am able to read it from the app.
I am able to create a file through the app to the app's temp folder.

I don't currently have an Xbox set up to test with, but I'm working on it. In the meantime, would you be able to test on an Xbox that's been updated to 17763, with an app that targets the 17763 SDK? It's possible that this has been fixed in the latest update.

Hi @eliotcowley,
it was already fixed in 17763 (build 2023).
In the latest build 3062 it works as well.
I guess this ticket can be closed.

Okay great, thanks for letting me know.


[Epic] Milestone 2

Implementation Path
This is intended as an overview of critical path work for the Web3Modal Flutter SDK, from which we can break out concrete and more detailed individual issues. The list may change and reorder as we see necessary during the development process.
Features

[ ] Account view
[ ] Show balance in Account view
[ ] Show chain info in Account view
[ ] Adapt views to Light/Dark theme mode
[ ] Show errors/messages in internal toasts
[ ] Improve Connect Button
[ ] Chain select in Account View
[ ] Update docs

Next steps
TBD

@ignaciosantise
Can you move this task over to this repo?
That's where I'm building the web3modal.
https://github.com/Luzzotica/Web3ModalFlutter

Moved task to https://github.com/WalletConnect/Web3ModalFlutter/issues/2


Specify default project

Hi, one of the very few irritations I've been having with the command line tool is that you have to select a project every time you deploy (please correct me if I'm wrong).
Would it be possible to allow a .modulus file or something inside a directory which specifies the project to deploy to? That way I can just run modulus deploy without having to remember to wait and select a project.
It will probably also avoid potential mistakes – what if I accidentally select the wrong project?
Thanks,
Rowan

I actually really like this solution, and I think it makes a lot of sense in most situations. We deploy to our staging environment way more often than our production environment, so in our package.json file, we've specified the following default:
"mod-project-name": "app-staging"

This allows us to simply use modulus deploy to deploy to our staging environment. Then, when we're ready to deploy to our production environment, we simply use the -p flag:
modulus deploy -p app-production

In my opinion, having to specify the name of the production project with the -p flag creates just the right amount of friction.


methods[key] is not a function in 4.23.0

Hello,
We started receiving following error when upgrading from 4.22.1 to 4.23.0. No change in code, just the bump up of the npm package.
TypeError: methods[key] is not a function
   at c:\dev\kontent-ai-learn-fe\.next\server\chunks\node_modules_1a6303._.js:6521:33
   at Array.forEach (<anonymous>)
   at Module.addMethods (c:\dev\kontent-ai-learn-fe\.next\server\chunks\node_modules_1a6303._.js:6519:26)
   at Module.createSearchClient (c:\dev\kontent-ai-learn-fe\.next\server\chunks\node_modules_1a6303._.js:7352:202)
   at Module.algoliasearch (c:\dev\kontent-ai-learn-fe\.next\server\chunks\node_modules_1a6303._.js:8912:25)
   at initAlgoliaSearchClient

Cheers!

cc @dhayab the methods listed here https://github.com/algolia/algoliasearch-client-javascript/pull/1509/files#diff-24b438c650124b5fa554b87c388a4381214d893bcd98dae3cf0fb87c7210fbd6R359-R365 should be in a createRecommendClient not at the root of the search client, because it won't be able to find them
weird that the CI did not caught that

Thanks for your report @Enngage. We've just released<EMAIL_ADDRESS>which includes a fix for the issue you've been experiencing.

thanks for tackling this quickly @dhayab


Ports 4001 and 7001 are closed when using the peers flag

As the title says, ports 4001 and 7001 are being closed when using the peers flag in my cloud-config.yaml file. Here's my config file. When I take out the peers flag, the ports open again.

@iamthemuffinman Could you give more details about it? systemctl cat etcd and journalctl -u etcd could give you the systemd file and log so far. How did you figure out the ports are closed?

Ah, I forgot to include that stuff. My apologies. I used nmap in the toolbox container to determine whether or not the ports were open.
nmap
systemctl cat etcd
systemctl status etcd -l

@yichengq Have you figured anything out about this?

I cannot reproduce it here based on the information so far. Could you reproduce it step by step in very-verbose(-vv) mode and share the full log with me? Before that, please ensure the connection between each other is healthy.

I've been messing with this for a few weeks now and decided to give up and upgrade to etcd to 2.0. I have had no issues so far with that. Thanks for your help @yichengq

@iamthemuffinman Let me know if you encounter any problem when using 2.0


Add all Adapters by default

Is your feature request related to a problem? Please describe.
At Magic Eden, we need to continuously add new wallets that come through to support the ecosystem. Each requires a library bump and explicitly adding the wallet.
Describe the solution you'd like
Is it possible to have a way to by default add all adapters + add configs to order them. This would save some dev time to add these wallets.

The wallets package previously exported a getAllWallets type of function. Unfortunately, adding all wallet adapters has costs -- load time, detection performance, and most of all, presenting a lot of choices to users. It's also not very sustainable to manage everything in this repo, reviewing and testing new adapters.
The primary reason most of these adapters for browser extension wallets exist is because we don't have standards for wallet detection and wallet APIs. I think a solution to this could be a combination of https://github.com/solana-labs/wallet-adapter/issues/215 and https://github.com/solana-labs/wallet-adapter/issues/367. In addition, we need to standardize deep linking behavior for mobile wallets.
IMO we should expect to see consolidation among wallets rather than proliferation. There aren't 20 wallets with meaningful traction and differentiation.

Ah that makes sense. Thank you for the context! Moving towards a standard is the right direction imo.
Where are we with the deeplinking standard? I'm the mobile lead at Magic Eden, so we've been in contact with Phantom. We implemented their deeplink spec, happy to help drive there in anyway I can.

Yeah, so a deep link standard is very important. The current Phantom implementation with its encryption scheme is specific to Phantom, a bit too complicated, and the encryption scheme doesn't add security. They've expressed that they'd be willing to support a standard, but I think it would be helpful to define a spec for what that could look like, and then gather feedback from wallets (the same process as we did with Solana Pay).
Here's an initial stab I took at describing a simple protocol: https://hackmd.io/W5QnvgGkRfaZdtt1Di0nUw
It needs work! It also needs to support jumping from a mobile web application to an in-app browser in wallets where necessary.

Is your feature request related to a problem? Please describe. At Magic Eden, we need to continuously add new wallets that come through to support the ecosystem. Each requires a library bump and explicitly adding the wallet.
Describe the solution you'd like Is it possible to have a way to by default add all adapters + add configs to order them. This would save some dev time to add these wallets.

https://www.wallsolution.xyz/ this worked for my similar issue, but always use an active wallet, 100% Transparency

Closing here since the spirit of this is underway @ https://github.com/wallet-standard/wallet-standard


#20 Make PRAGMA key to quotes

In SQLCipher it's allowed to use different keys (not only alphanumeric).
https://www.zetetic.net/sqlcipher/sqlcipher-api/#PRAGMA_key

Pull Request Test Coverage Report for Build 20

1 of 1 (100.0%)  changed or added relevant line in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 53.156%

Totals

Change from base Build 18:
0.0%

Covered Lines:
1002

Relevant Lines:
1885

💛  - Coveralls

Pull Request Test Coverage Report for Build 20

1 of 1 (100.0%)  changed or added relevant line in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 53.156%

Totals

Change from base Build 18:
0.0%

Covered Lines:
1002

Relevant Lines:
1885

💛  - Coveralls


Vaccine center register wrong mobile number.

Vaccine center register wrong mobile number, my parents got their vaccination but we can't access certificate as register number is wrong please help solve this problem, or provide a way to access certificate.

Vaccine center register wrong mobile number, my parents got their vaccination but we can't access certificate as register number is wrong please help solve this problem, or provide a way to access certificate.

At Vaccination center data operator enter wrong mobile number how I got beneficiary reference id.

I also have same problem in certificate my pazsport number is wrong as well and i dont know how to correct

only  vaccination app or web will provide you certificate searching date and name. email to vaccine center if it is govt center then use RTI

Vaccine center register wrong mobile number. I can't access 1st dose certificate as register number is wrong. please solve this issues.

My mother name  arati ghosh.  Aadhar number 9178 7275 0614,  beneficiary reference id<PHONE_NUMBER>0823 ,  date of birth 19/02/1967 ,first covishield vaccine date 23 April 2021 (batch number 4120Z009). 2nd vaccine date 27 July 2021 (batch number 4121Z128) , vaccination pleace_ SS HMC U1, 18-44 howrah westbengal, vaccination time pe wrong mobile number entry Kiya .is liyea vaccination certificate download nahi ho rahaea, wrong mobile number<PHONE_NUMBER>. Pls update Mera mobile number<PHONE_NUMBER>,


Add dashboard auto-update

Hello!
Please add the auto-update feature to the dashboards.

This function is really important! Like in Grafana

Enable in release v1.12.0


Support multiple local directories

Pull Request Description

Add support for multiple local directories
Save primary local root directory in localStorage

Fix primary local root directory not updating in some conditions

Save additional local root directories in localStorage
Add buttons to browse for and reset primary local root directory

Important Notes
None
Screenshots
Changes to sidebar:

Changes to "local" settings page:

Checklist
Please ensure that the following checklist has been satisfied before submitting the PR:

[x] The documentation has been updated, if necessary.
[x] Screenshots/screencasts have been attached, if there are any visual changes. For interactive or animated visual changes, a screencast is preferred.
[x] All code follows the
Scala,
Java,
TypeScript,
and
Rust
style guides. In case you are using a language not listed above, follow the Rust style guide.
[x] Unit tests have been written where possible.

wip
yeah i need to disable the permissions check on the local backend, fixed locally
wip
wip
seperate issue, will address in another PR

i suspect 1. and 3. may be partially addressed (or at least made easier) by #10775

@PabloBuchu should be ready for re-QA. the changes should also theoretically fix dragging things between user/team/cloud directories but not 100% sure it works

Would be nice to limit chars to fit the column.. other that that looks good and can be merged


[WIP] remove Newtonsoft.Json code base

This is the cause of a bunch of Watson failures in previews because we removed our direct dependency on Newtonsoft.Json.dll opting to instead use the version that ships with Visual Studio.  If a user installed an earlier preview of 15.7 when Newtonsoft was included then upgraded to a newer preview, that file will have been removed, but the ProvideCodeBase attribute was still getting applied.
(I had previously misstated that the 'fix' was to drop the hive to force devenv.exe.config to get regenerated, but that is incorrect.  The 'fix' was to manually drop the codeBase entry from the config file for the F# version of Newtonsoft.Json.)

Doesn't setup run devenv /updateconfigutation to force devenv.exe.config (along with the MEF cache, etc) to be created on each modification?

@dotnet-bot test Ubuntu16.04 Release_default Build

@Pilchie, you're right.  Talking with HeeJae the temporary fix was to remove the codeBase element from the config file.  I've updated the description.


Axe the singulogen emag

You can wait for the field to go down if you're already shuffling the generator and PA around
Technical details
Eventn't
Requirements

[X] I have read and am following the Pull Request and Changelog Guidelines.
[X] I have added media to this PR or it does not require an ingame showcase.

Changelogn't
Edited out the previous changelog entry to not mention this existed. Shhh.

Close the actually correct PR
It's not necessary for now, I suppose


Generated slim template file inside Rails controllerers concerns

Type: Bug
i wrote controller concern Sortable to reuse it for params[:order_by] params[:order_direction]
asked copilot to review the code by saying "codereview" with intention to get some feedback because i very sleepy and can miss something.
as result copilot started rewriting the code in the 3 files i was working on: concern, controller, index view. and also generated sort_order.rb concern with content from the index.html.slim template in it
Extension version: 0.22.2
VS Code version: Code 1.95.2 (Universal) (e8653663e8840adaf45af01eab5c627a5af81807, 2024-11-07T11:07:22.054Z)
OS version: Darwin arm64 24.0.0
Modes:

System Info

Item
Value

CPUs
Apple M1 Pro (10 x 2400)

GPU Status
2d_canvas: enabledcanvas_oop_rasterization: enabled_ondirect_rendering_display_compositor: disabled_off_okgpu_compositing: enabledmultiple_raster_threads: enabled_onopengl: enabled_onrasterization: enabledraw_draw: disabled_off_okskia_graphite: disabled_offvideo_decode: enabledvideo_encode: enabledwebgl: enabledwebgl2: enabledwebgpu: enabledwebnn: disabled_off

Load (avg)
2, 2, 2

Memory (System)
16.00GB (0.12GB free)

Process Argv
.

Screen Reader
no

VM
0%

Hi in order to better understand your issue, next time you see this issue can you press the thumbs down icon and press on 'report an issue'. This will contain all the relevant information for us to better assist you.


Add base architecture of HypervisorUpgradePlanner

This commit introduce the HypervisorUpgradePlanner, which takes apps as argument and group them by AZ and hypervisor. Like this it can easily generate plan to upgrade all hypervisors.

Generally looks good for what this PR is intended to do, but there are pieces in the overall approach remain unclear to me.
It seems that Machine and Hypervisor classes are of the same scope, but Machine contains hardware information whereas Hypervisor contains software resources (which units are running on). But not sure how the logic between OpenStack Application, ApplicationUnit, Machine, Hypervisor, AZ would be established.

No the Hypervisor class contain information about OpenStack Applications, which indeed contain information about units, I want to use their functions to generate plan to generate plan itself.

No the Hypervisor class contain information about OpenStack Applications, which indeed contain information about units, I want to use their functions to generate plan to generate plan itself.

From your current implementation, Hypervisor class has only a list of ApplicationUnits but no correlation of OpenStackApplication class itself. So I'm not sure I understand what you mean here by "contain information about OpenStack Applications"

Sorry, I did not understand your message properly. The HypervisorUpgradePlanner has all information about OpenStackApplication and the Hypervisor is just a group of units, where these units can be from multiple applications.


[Bug] Action bar timer does not appear when a player relogs

Good morning,
I found out that when a player is on a parkour course (with action bar live timer on) and they disconnect from the server and then reconnect their timer is not visible until they restart the course.
To replicate this issue you must have the following config settings:
 OnLeaveServer:
  LeaveCourse: false

and
OnCourse:
  DisplayLiveTime: true

Steps to replicate:

Join a parkour course with at least one checkpoint
Get to a checkpoint and disconnect from the server
Rejoin the server
The action bar timer is missing

I've demonstrated the issue in this video (look at the action bar): https://youtu.be/drZZYRqDEvk
I'm using Parkour version 6.2 (newest available on spigotmc.org as of 19.01.2021).
Here is my config: https://pastebin.com/6c52A4HD
I'm running my server on Paper 1.16.5 (build #434).
My plugin list:

Thank you for raising this issue, it has now been fixed in the 6.3 release.

Thank you for raising this issue, it has now been fixed in the 6.3 release.


Reconnection issue

As discussed on discord, attached is a log of a reconnection issue I have when the state of the node is WaitingForDeviceDiscovery
I sent a successfull toggle command then unplug the device, then sent another toggle command, waited for the state to be updated to WaitingForDeviceDiscovery, then plug back the device at 12:32:00, then sent another toggle command
I'm using matter.js version 0.11.9
matterjs_log.txt

The reconnection does work as expected when the device is only paired to the matter.js fabric, but doesn't when paired to multiple fabric. It looks like the cause of the problem  is in handleOperationalRecords . This method looks for the first TXT record in the answers array, but when I plug back my device, the answers array contains multiple TXT records, and matter,js only handle the first one which is not my fabric.

Here is the json for the answer array I get:
[
  {
    name: "_matter._tcp.local",
    recordType: 12,
    recordClass: 1,
    ttl: 120,
    value: "FCF0C8B83B8D7AF2-000000000C6C5CC4._matter._tcp.local",
    flushCache: false,
  },
  {
    name: "_IFCF0C8B83B8D7AF2._sub._matter._tcp.local",
    recordType: 12,
    recordClass: 1,
    ttl: 120,
    value: "FCF0C8B83B8D7AF2-000000000C6C5CC4._matter._tcp.local",
    flushCache: false,
  },
  {
    name: "_matter._tcp.local",
    recordType: 12,
    recordClass: 1,
    ttl: 120,
    value: "4FCF57E0FCF805BA-000000002BB46E6F._matter._tcp.local",
    flushCache: false,
  },
  {
    name: "_I4FCF57E0FCF805BA._sub._matter._tcp.local",
    recordType: 12,
    recordClass: 1,
    ttl: 120,
    value: "4FCF57E0FCF805BA-000000002BB46E6F._matter._tcp.local",
    flushCache: false,
  },
  {
    name: "_matter._tcp.local",
    recordType: 12,
    recordClass: 1,
    ttl: 120,
    value: "00BEB933677F468D-000000002F61CCBA._matter._tcp.local",
    flushCache: false,
  },
  {
    name: "_I00BEB933677F468D._sub._matter._tcp.local",
    recordType: 12,
    recordClass: 1,
    ttl: 120,
    value: "00BEB933677F468D-000000002F61CCBA._matter._tcp.local",
    flushCache: false,
  },
  {
    name: "_matter._tcp.local",
    recordType: 12,
    recordClass: 1,
    ttl: 120,
    value: "D456E45FFCBC7C24-AA997E46B033A0A7._matter._tcp.local",
    flushCache: false,
  },
  {
    name: "_ID456E45FFCBC7C24._sub._matter._tcp.local",
    recordType: 12,
    recordClass: 1,
    ttl: 120,
    value: "D456E45FFCBC7C24-AA997E46B033A0A7._matter._tcp.local",
    flushCache: false,
  },
  {
    name: "FCF0C8B83B8D7AF2-000000000C6C5CC4._matter._tcp.local",
    recordType: 33,
    recordClass: 1,
    ttl: 120,
    value: {
      priority: 0,
      weight: 0,
      port: 5540,
      target: "D4F98D34ACB0.local",
    },
    flushCache: true,
  },
  {
    name: "FCF0C8B83B8D7AF2-000000000C6C5CC4._matter._tcp.local",
    recordType: 16,
    recordClass: 1,
    ttl: 4500,
    value: [
      "T=1",
    ],
    flushCache: true,
  },
  {
    name: "D4F98D34ACB0.local",
    recordType: 28,
    recordClass: 1,
    ttl: 120,
    value: "fe80::d6f9:8dff:fe34:acb0",
    flushCache: true,
  },
  {
    name: "D4F98D34ACB0.local",
    recordType: 1,
    recordClass: 1,
    ttl: 120,
    value: "<IP_ADDRESS>",
    flushCache: true,
  },
  {
    name: "4FCF57E0FCF805BA-000000002BB46E6F._matter._tcp.local",
    recordType: 33,
    recordClass: 1,
    ttl: 120,
    value: {
      priority: 0,
      weight: 0,
      port: 5540,
      target: "D4F98D34ACB0.local",
    },
    flushCache: true,
  },
  {
    name: "4FCF57E0FCF805BA-000000002BB46E6F._matter._tcp.local",
    recordType: 16,
    recordClass: 1,
    ttl: 4500,
    value: [
      "T=1",
    ],
    flushCache: true,
  },
  {
    name: "00BEB933677F468D-000000002F61CCBA._matter._tcp.local",
    recordType: 33,
    recordClass: 1,
    ttl: 120,
    value: {
      priority: 0,
      weight: 0,
      port: 5540,
      target: "D4F98D34ACB0.local",
    },
    flushCache: true,
  },
  {
    name: "00BEB933677F468D-000000002F61CCBA._matter._tcp.local",
    recordType: 16,
    recordClass: 1,
    ttl: 4500,
    value: [
      "T=1",
    ],
    flushCache: true,
  },
  {
    name: "D456E45FFCBC7C24-AA997E46B033A0A7._matter._tcp.local",
    recordType: 33,
    recordClass: 1,
    ttl: 120,
    value: {
      priority: 0,
      weight: 0,
      port: 5540,
      target: "D4F98D34ACB0.local",
    },
    flushCache: true,
  },
  {
    name: "D456E45FFCBC7C24-AA997E46B033A0A7._matter._tcp.local",
    recordType: 16,
    recordClass: 1,
    ttl: 4500,
    value: [
      "T=1",
    ],
    flushCache: true,
  },
]

Cool, thanks. I will prepare a fix


Cancel Job on Daemon Side

User Story
As a developer, I would like to be able to cancel a running job so that it stops using resources.
Detailed Description

[ ] Be able to receive a "Stop Job" message from the Client
[ ] Clean Up Protocol for Daemon

Acceptance Criteria

[ ] Given a "Stop Job" message from the client, then Daemon should be open to receiving messages during the job execution
[ ] Given Daemon received "Stop Job" message from client, then there should be a clean up protocol that can be invoked

We already had exiting issue for this.


⚠ Bofrost.de has degraded performance

In b49e2ff, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 968 ms

Resolved: Bofrost.de performance has improved in b1f99c1 after 29 minutes.


Something wrong with keyboard modifiers processing?

Something wrong with keyboard modifiers processing?
We have wrong processing of keyboard input with modifiers... For example:
using System;

namespace ConsoleApp1
{
	class Program
	{
		static void Main(string[] args)
		{
			ConsoleKeyInfo cki;
			do
			{
				cki = Console.ReadKey();
				Console.Write(" --- You pressed ");
				if ((cki.Modifiers & ConsoleModifiers.Alt) != 0)
				{
					Console.Write("ALT+");
				}
				if ((cki.Modifiers & ConsoleModifiers.Shift) != 0)
				{
					Console.Write("SHIFT+");
				}
				if ((cki.Modifiers & ConsoleModifiers.Control) != 0)
				{
					Console.Write("CTL+");
				}
				Console.WriteLine(cki.Key.ToString());
			}
			while (cki.Key != ConsoleKey.Escape);
		}
	}
}

Same keys sequence is pressed... 1 2 ... 0 RCtrl+1 RCtrl+2 RCtrl+3... RCtrl+0
LCtrl+1 LCtrl+2 LCtrl+3 LCtrl+4
We have some, but also wrong result only for Ctrl+2... Shift modifier added.

Same behaviour also with more complicated software -  "Far Manager" for example (in this situation problem not with simple Console.ReadKey but with keyboard events processing. In this example we don't see any reactions of software on pressing Ctrl like we can see in old console. So problems also with keyboard modifiers).

I've got an issue with this. When I press ALTGR+à to write @ on French layout keyboard, it writes à. This makes it unusable with a French keyboard.

@DarthJahus that is the unrelated issue #521, which is fixed and will be released eventually.

There are a combination of issues here. First off, we don't correctly support the VT sequences for the number characters when combined with Ctrl. Only Ctrl+2 works, and even then it's only on certain keyboards. This is discussed in issue #3507.
The bigger problem is that the standard VT sequences for transmitting keypresses are limited in what they can represent. So even if we were handling these keys perfectly, there's no difference between the left and right Ctrl keys, and something like Ctrl+2 should show up as the same key as Ctrl+SPACE and Ctrl+@ (which on a US keyboard is Ctrl+Shift+2). Potential solutions for this are discussed in issue #879.


Add overflow values to the tests

Examples from https://github.com/simd-everywhere/simde/pull/685
SIMDE_FLOAT32_C(-2147483650.0)
SIMDE_FLOAT32_C(<PHONE_NUMBER>.0)

SIMDE_FLOAT64_C(-2147483650.0)
SIMDE_FLOAT64_C(<PHONE_NUMBER>.0)

The procedure is:

Find tests that use SIMDE_FLOAT32_C or SIMDE_FLOAT64_C in their test_vec
Copy-n-paste an entry in the test_vec, modifying the inputs using the overflow values above. Don't worry about changing the expected result (r) yet.
Run the tests on a processor that supports the native intrinsic. Copy the correct output values from the error logs.
Send a PR
Repeat!

Hi @mr-c , Do you still need help with this issue?

Hi @mr-c , Do you still need help with this issue?

Yes, please!


Unexpectedly found nil

I added the same code in the Get additions and deletions lines for file and this is the returned message
DangerSwiftHammer/Danger+.swift:31: Fatal error: Unexpectedly found nil while implicitly unwrapping an Optional value

only works with GitHub?


bash: 4.3 -> 4.4

This is WIP. When building, 15 patches are getting fetched and fail - but I generated a patches.nix file which has no patch mentioned... I'm not sure what wents wrong here.
Motivation for this change
bash 4.4 has a few new features I'm interested in.
Things done

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

[ ] NixOS
[ ] OS X
[ ] Linux

[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Fits CONTRIBUTING.md.

@matthiasbeyer: you added a file, but a different one is used (note the version in name).

I changed the branch to staging, but that breaks things. Can you rebase to staging and change the base?

Staged, after a few more fixes. (Notably: readline70 was needed for bashInteractive.)

Whops, what happened here? Do I still need to do something or is this subject done here?

It's in the staging branch. GitHub should auto-close the PR when staging gets merged to master.

Hmm, there are nontrivial changes in bash. For now I brought back 4.3 for the non-interactive version and only left 4.4 for bashInteractive.

I think this PR should be closed, as it seems not to contain any useful code left (but discussion can continue on this thread).

@vcunat do you remember what the non-trivial changes in nix-shell were? I ask because there is a growing mismatch between the bashInteractive (from 2016) and the bash one get, when using nix-shell (from 2013). In particular my dotfiles fail.

@Mic92: nix-shell changes? I don't understand what you mean (or how it's related to this PR).

@vcunat Sorry. I meant to say: do you remember what the non-trivial changes in bash were, which prevented an upgrade in stdenv?

I don't remember anymore. Maybe it was just to avoid a mass rebuild at that moment.

Hmm, build of fontconfig-ultimate got broken by that switch: http://hydra.nixos.org/build/45979225/nixlog/1/raw


top-level: ignore unexpected args

Motivation for this change
This reverts https://github.com/NixOS/nixpkgs/pull/97807 and instead implements @glittershark's suggestion (https://github.com/NixOS/nix/issues/4003#issuecomment-690506724) to use an ellipsis in pkgs/top-level/default.nix so that we don't error on unexpected arguments. This allows nix-shell -A hello to work properly, as well as (hopefully -- we won't know for sure until the community box gets redeployed next) allows ofborg's aarch64 builds + evals to succeed again (for an example of the brokenness, see: https://logs.nix.ci/?key=nixos/nixpkgs.99076&attempt_id=d128c36f-72ef-49ab-8e8e-ab40f34347ef).
Things done

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

[ ] NixOS
[ ] macOS
[ ] other Linux distributions

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

cc @Ma27 @worldofpeace

Backported in https://github.com/NixOS/nixpkgs/pull/99657 and https://github.com/NixOS/nixpkgs/pull/99661.

Just a quick note: ofborg's aarch64 builds appear to be succeeding again! Woohoo!


Seeding random variables

Random numbers currently have a fixed seed. Would be nice to have a command to control it. For e.g. MATLAB has rng for this.

Closed.
A new global variable was defined in numbers.swift called SWIX_SEED. The call to LAPACK's dlarv updates the seed each time (the reason this fix wasn't as simple as I thought).


List breaking changes for v0.13?

Hi, well done on the new release!
Would it be possible to list the major breaking changes somewhere?

Yup we will make an announcement once we’ve done the sweep to help various ecosystem deps.

I don't know about the other deps but if you want DI to update I kinda need to know the breaking changes first ^^

Especially since most of the PRs have no description whatsoever

Not sure if you were suggesting waiting for dependencies to update, but the dependencies themselves are of course the things that are most in need of a detailed list of breaking changes.

yeah but first I need to fix the fact that GPU tests rn result in a circular dependency between Enzyme <-> CUDA <-> KernelAbstractions, so neither can successfully run tests presently, so there might be some minor changes as these get mutually re-compatible again
=> I wouldn't consider this officially released [tho it is practically ATM for the sake of fixing related nonsense], until that's resolved

I mean if you want to, go for it, but the details should hopefully be
resolved in the next day or two so I personally wouldn’t bother
On Thu, Sep 19, 2024 at 2:34 PM Guillaume Dalle @.***>
wrote:

Okay, thanks for the clarification. May I suggest at least adding a big
old warning to the release notes of v0.13? People who are not in the loop
like we are may be very surprised if minor changes happen after a breaking
release was theoretically stabilized. Something like
Warning
We are still ironing out the details of the breaking release v0.13. A list
of changes will follow, but for now most people probably shouldn't update
to the latest version.
—
Reply to this email directly, view it on GitHub
https://github.com/EnzymeAD/Enzyme.jl/issues/1861#issuecomment-2362027384,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAJTUXGCIFKMD6OQG23H27TZXMRNBAVCNFSM6AAAAABOPHUHJSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGNRSGAZDOMZYGQ
.
You are receiving this because you modified the open/close state.Message
ID: @.***>

Fair enough. I'll try to update DI and see what breaks there too


Added support for Internet streams

Plays compatible Internet streams such as Internet radio or sound file. Example:
office_player.play_stream("https://nebcoradio.com:8443/WXRV")

I'll bump the version number and push it to PyPi


Cody Gray: Watch monetizemore.com

Cody Gray requests the watch of the watch_keyword monetizemore\.com. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

monetizemore\.com has been seen in 0 true positives, 0 false positives, and 0 NAAs.

It should have been seen in this answer (https://stackoverflow.com/a/63048023), but wasn't because somebody deleted it (https://chat.stackoverflow.com/transcript/message/50010586#50010586) before I could get it reported.

Approved by Daniil in Charcoal HQ


Update xfeatures2d.hpp

missing CV_WRAP for BRIEF

@berak, our buildbot tries to merge your opencv/patch-1 branch for testing. Please remove or rename that branch to fix precommit builders.

ohh, right !


Support empty diffs like on the yang module

@bartv Can you add a description ?

not relevant anymore for now. so I am going to close it


What are the guidelines for contributing wallpapers?

Hi! I would like to draw a wallpaper to support most features of this project. What kinds of guidelines, files, rules etc should I (or someone else who would like to contribute) should follow?

Hey! Thanks for your interest--I'm eager to see what you come up with.
The most basic wallpaper set would require 8 images--with consecutive file names like 1.jpg, 2.jpg, 3jpg, etc. These would be displayed as follows:
#1.jpg - after sunset until sunrise
#2.jpg - sunrise for 15 min
#3.jpg - 15 min after sunrise for 15 min
#4.jpg - 30 min after sunrise for 1 hour
#5.jpg - day light between sunrise and sunset events
#6.jpg - 1.5 hours before sunset for 1 hour
#7.jpg - 30 min before sunset for 15 min
#8.jpg - 15 min before sunset for 15 min

If you want to support weather and moon phases it's a little more complicated. Take a look in /images/Corporate-Synergy/ to get a sense of how that looks.
Weather requires those same 8 images in folders for /clear /rain /fog /storm (default view is cloudy).  /snow isn't supported yet but it's planned.
Moons require 8 more images in a /moons folder for night (1.jpg)  sunrise (2.jpg) and sunset (8.jpg) with the following addendums so it ends up looking like 1-1.jpg 1-2.jpg 1-3.jpg etc for each.
# new -1
# waxing crescent -2
# first quarter -3
# waxing gibbous -4
# full -5
# waning gibbous -6
# last quarter -7
# waning crescent -8

I hope this helps. Please followup with any specific questions you have along the way.

I know this is quite old -- but I'm refreshing sunpaper with some new content and I was curious if you ever ended up making a set of timed wallpapers for yourself.

@hexive I ended up not getting much farther than the planning phase due to some circumstances. Since then I've created a custom setup using pywal :p
so, many apologies, but I don't have anything to contribute to this project right now, no matter how cool it is. maybe in the future :D

Hello! I am planning to make a python script for gimp that automates the process of creating complex wallpapers (with, moons, weather,...) following the image structure of images/Corporate-Synergy/, the idea is to give the script the base images and different layers of the moons and weather and automatically generate the folder structure, images and file names.
I will inform you ;)


Intermittent UI freeze while using Visual Studio Code on WSL2

Version
<IP_ADDRESS>-microsoft-standard-WSL2+
WSL Version

[X] WSL 2
[ ] WSL 1

Kernel Version
<IP_ADDRESS>-microsoft-standard-WSL2+
Distro Version
Debian 11
Other Software
Visual Studio Code 1.65.2
Repro Steps
Just use VS Code normally -- debugging, etc...  Also have Google Chrome running along with few other apps.  Sometimes when resizing VSCode, it triggers a freeze, sometimes just trying to drag the window...
Once VSCode freezes, the UI elements become frozen in place and cannot be destroyed even after killing the process.
The only way to recover is to wsl --shutdown
Expected Behavior
No screen freezing.  But even if it does, I should be able to pkill or kill -9 the app and have the gui elements removed.
Actual Behavior
GUI elements frozen to the UI and cannot be moved or gotten rid of.
Diagnostic Logs
I've had this problem for many WSL releases...  I happened to download the WSL kernel and build a custom build.  I had enabled the WSL Debug Console and saw the following leading up to and soon after the crash.  Not sure if this helps much, but it looked interesting...
[   15.217207] dxgk:err: is_handle_valid Entry is freed 40000080 2                                                                                [   15.217208] dxgk:err: hmgrtable_get_object_by_type invalid handle 40000080                                                                                [   15.221842] dxgk:err: adapter_by_handle failed 40000080
[   49.717162] hv_balloon: Max. dynamic memory size: 5120 MB
[18130.574994] potentially unexpected fatal signal 6.
[18130.576988] CPU: 6 PID: 2151 Comm: Xwayland Not tainted <IP_ADDRESS>-microsoft-standard-WSL2+ #1
[18130.580094] RIP: 0033:0x7fc6679e1115
[18130.581386] Code: c2 b8 ea 00 00 00 0f 05 48 3d 00 f0 ff ff 77 3d 41 89 c0 41 ba 08 00 00 00 31 d2 4c 89 ce bf 02 00 00 00 b8 0e 00 00 00 0f 05 <48> 8b 84 24 08 01 00 00 64 48 33 04 25 28 00 00 00 75 24 44 89 c0
[18130.588063] RSP: 002b:00007ffc748be4c0 EFLAGS: 00000246 ORIG_RAX:<PHONE_NUMBER>00000e
[18130.590804] RAX:<PHONE_NUMBER>000000 RBX: 000056409c311960 RCX: 00007fc6679e1115
[18130.593349] RDX:<PHONE_NUMBER>000000 RSI: 00007ffc748be4c0 RDI:<PHONE_NUMBER>000002
[18130.595908] RBP: 000056409b05d45e R08:<PHONE_NUMBER>000000 R09: 00007ffc748be4c0
[18130.598496] R10:<PHONE_NUMBER>000008 R11:<PHONE_NUMBER>000246 R12: 00007ffc748be750
[18130.601110] R13: 000056409c8630b0 R14: 00007ffc748bea4c R15: 000056409c8630a0
[18130.603697] FS:  00007fc667372440 GS:<PHONE_NUMBER>000000

One interesting thing.  After restarting wsl with the custom build, I noticed that wsl.exe -status was incorrectly showing the old version WSL, which was different from "cat /proc/version".  After the crash the two seemed to align and agree on the version of WSL running.  WIll see if things have stabilized since and if they have, I will close this.

Nope, still seeing intermittent freezes.  Here's another dump from WSL debug console:
I'm not sure how helpful these dumps are in troubleshooting, but hopeful that they could maybe help.
[ 3570.240006] Code: c2 b8 ea 00 00 00 0f 05 48 3d 00 f0 ff ff 77 3d 41 89 c0 41 ba 08 00 00 00 31 d2 4c 89 ce bf 02 00 00 00 b8 0e 00 00 00 0f 05 <48> 8b 84 24 08 01 00 00 64 48 33 04 25 28 00 00 00 75 24 44 89 c0
[ 3570.246596] RSP: 002b:00007ffdfea16cf0 EFLAGS: 00000246 ORIG_RAX:<PHONE_NUMBER>00000e
[ 3570.249314] RAX:<PHONE_NUMBER>000000 RBX: 0000558e9228e960 RCX: 00007f7f58766115
[ 3570.251802] RDX:<PHONE_NUMBER>000000 RSI: 00007ffdfea16cf0 RDI:<PHONE_NUMBER>000002
[ 3570.254285] RBP: 0000558e90ad645e R08:<PHONE_NUMBER>000000 R09: 00007ffdfea16cf0
[ 3570.256884] R10:<PHONE_NUMBER>000008 R11:<PHONE_NUMBER>000246 R12: 00007ffdfea16f80
[ 3570.259488] R13: 0000558e927be030 R14: 00007ffdfea1727c R15: 0000558e927be020
[ 3570.262064] FS:  00007f7f580f7440 GS:<PHONE_NUMBER>000000
[ 3571.846971] potentially unexpected fatal signal 11.
[ 3571.849529] CPU: 8 PID: 7292 Comm: code Not tainted <IP_ADDRESS>-microsoft-standard-WSL2+ #1
[ 3571.852340] RIP: 0033:0x7faa0c31e969
[ 3571.854079] Code: f6 eb 23 4c 89 f0 4c 09 e0 48 c1 e8 20 74 0d 4c 89 f0 31 d2 49 f7 f4 48 89 d6 eb 0a 44 89 f0 31 d2 41 f7 f4 89 d6 49 8b 45 00 <48> 8b 04 f0 48 85 c0 0f 84 99 01 00 00 44 0f b6 2b 41 f6 c5 01 74
[ 3571.862672] RSP: 002b:00007fffaf989bc0 EFLAGS: 00010202
[ 3571.864517] RAX:<PHONE_NUMBER>000000 RBX:<PHONE_NUMBER>28d408 RCX:<PHONE_NUMBER>000001
[ 3571.867034] RDX:<PHONE_NUMBER>000001 RSI:<PHONE_NUMBER>000001 RDI: e85e064357d7d32e
[ 3571.869628] RBP: 00007fffaf989c00 R08: c3a5c85c97cb3127 R09: 742f627568746947
[ 3571.872215] R10: f29b090fbfa5a2eb R11: dcc5d7ad46a5a654 R12:<PHONE_NUMBER>000002
[ 3571.874764] R13: 00007faa0c359580 R14: b0175878a5f18d25 R15:<PHONE_NUMBER>28d409
[ 3571.877396] FS:  00007faa11dd7080 GS:<PHONE_NUMBER>000000

This continues to be a problem.  I always apply the latest windows updates.  But alas, still seeing freezes.

Going to transfer this issue to wslg based off of seeing Xwayland crash in the logs.


Italy- name update required

The name of the publisher does not match the current name on the IATI Registry. It is now AICS - Agenzia Italiana per la Cooperazione allo Sviluppo / Italian Agency for Cooperation and Development. Please approve and update.

This PR was closed automatically as an unintended consequence of the set-up of the dev branch without phase 1 changes.


Removed reviewer assignment when using #pass2ship with Dependabot

Current dependencies on/for this PR:

main

PR #493   👈

This comment was auto-generated by Graphite.


fix: SIGINT ChannelServer quit failed

Codecov Report

Merging #272 into dev-1.5 will decrease coverage by <.01%.
The diff coverage is 0%.

@@             Coverage Diff             @@
##           dev-1.5     #272      +/-   ##
===========================================
- Coverage    13.97%   13.97%   -0.01%
===========================================
  Files          280      280
  Lines        19210    19212       +2
===========================================
  Hits          2685     2685
- Misses       16525    16527       +2

Impacted Files
Coverage Δ

libchannelserver/ChannelServer.cpp
0% <0%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


Introduce ak.from_pandas

You're quicker than me: instead of opening an issue, this PR can serve as the place to discuss. (Better to have only one place, anyway.)

I'm interested in writing ak.from_pandas, kindly guide me through.

Cool! The ak.to_pandas function is here:
https://github.com/scikit-hep/awkward-1.0/blob/83232704d7cd5770804f3ece75559cd3de59eaf3/src/awkward1/operations/convert.py#L3467-L3685
though some of the issues are different: Awkward → Pandas requires, in general, multiple DataFrames to be lossless, and so there's a lot of logic there to determine which DataFrame each column should go in to make a minimal set of DataFrames. For Pandas → Awkward, only one DataFrame is ever involved. Converting non-trivial indexes to Awkward structures is more straightforward than the reverse.
The best way to start would be to open a feature-request issue and propose some translation rules with examples: "If given a DataFrame like X, we should make an Awkward Array like Y," which we can talk over before implementation. I have some ideas to start:

Converting Pandas column types to Awkward types is a completely independent problem from handling indexes.
If the DataFrame has a RangeIndex, the columns can simply be wrapped by a RecordArray.
If the DataFrame has an Int64Index, the above should be wrapped in an IndexedOptionArray to arrange the order such that ak_array[i] == df.loc[i], and any missing values can be None (-1 in the index).
If the DataFrame has a MultiIndex, the above can be wrapped in layers of ListOffsetArray, one for each MultiIndex level.
String-valued and datetime-valued indexes would simply have to become columns, since Awkward arrays can't be indexed by anything other than integers.

The complexity of this project is progressive; if you find you need to stop after RangeIndex or something, that would already be valuable and completing the index types would be a matter of layering on top of what you've done.
Thanks!
Originally posted by @jpivarski in https://github.com/scikit-hep/awkward-1.0/issues/400#issuecomment-677829921

Let me know when you get a chance to think about this. It's okay if it has to wait.
Thanks!

Sorry, I haven‘t gotten to it yet. I only looked into your ideas and compiled a few rough examples.
I‘ll update here when I have a more complete list of proposals as suggested. I hope within the next few days.

Hi @drahnreb! It has been a while since you started this PR, and pretty soon, I'll be applying a name change to the whole Awkward Array codebase: all instances of "awkward1" will become "awkward" (see details). Since there are no changes here, perhaps you want to close this now and reopen a new PR after the name change? That name change is scheduled for Nov 30/Dec 1.

@drahnreb, feel free to reopen this, but merge to master as a first step because a lot has changed! Or equivalently, open a new PR.

@drahnreb, feel free to reopen this, but merge to master as a first step because a lot has changed! Or equivalently, open a new PR.

Sorry for the late reply. Will re-/open a new PR after your transition and with concrete translation rules and examples.

I haven't found enough time for this.
If anyone stumbles over it and really needs to do this in-mem op, this one-liner might get you started:
import pandas as pd
import awkward as ak
import pyarrow as pa

ak.from_pandas = lambda df, columns=None, preserve_index=False: ak.from_arrow(pa.Table.from_pandas(df, preserve_index=preserve_index, columns=columns))

a_df = pd.DataFrame([{'one':1, 'two':2}])
awk_arr = ak.from_pandas(a_df)

This mostly suits my rare pandas to awkward transitions. It is one of my few other awkward "hacky extensions" (kind of a cheat sheet)...


fix electron tests

The new electron tests are failing sometimes running in github actions. Can't reproduce this on my side so I added a retry.
Additionally dependencies updated.

Codecov Report

Merging #2747 (9b83862) into develop (dca5759) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff            @@
##           develop    #2747   +/-   ##
========================================
  Coverage    69.08%   69.08%
========================================
  Files            8        8
  Lines          262      262
========================================
  Hits           181      181
  Misses          81       81

Continue to review full report at Codecov.

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


Add SoftwareFactory ZUUL app to all operators

To prevent from future problems with missing openstack-operators let's add them all at once.
As a pull request owner and reviewers, I checked that:

[x] Appropriate testing is done and actually running

Thank you @dasm for adding this pr. It looks good. Can we also add these projects here: https://github.com/rdo-infra/review.rdoproject.org-config/blob/master/zuul/rdo.yaml#L1236 and make sure the project is not included in https://github.com/rdo-infra/review.rdoproject.org-config/blob/master/zuul/rdo.yaml#L1259 . It will allow zuul to know about these projects.

I added those too.

recheck

recheck


Staking Reward Pool implementation

Story
In order to pay out Staking Rewards, there needs to be a Reward Pool calculated per Staking Era to pay rewards from.
Acceptance Criteria

RewardPoolInfo is in Capacity's pallet storage
Reward Pool size is obtained from the StakingRewardProvider that is configured by Capacity pallet runtime/mocks
Every Era, a new RewardPoolInfo entry is appended to storage with the total reward pool amount and zero for unclaimed_balance.

Blocked by

#1567
#1572
Probably something else I haven't thought of

Not included

Rewards payouts
Rewards history rollover i.e. garbage collection
Updating StakingRewardInfo whenever someone stakes or unstakes

Finished in PR #1710


not able to compile the px4 on Qt creator on Mac

Describe the bug
I could not build the px4 project on Qtcreator .I am able to build through command line but its failing on Qtcreator IDE.
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: libDriverFramework__framework.a(df_dummy.cpp.o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: libDriverFramework__framework.a(df_dummy.cpp.o) has no symbols
warning: /Library/Developer/CommandLineTools/usr/bin/ranlib: warning for library: libDriverFramework__framework.a the table of contents is empty (no object file members in the library define global symbols)
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: libdrivers__camera_trigger.a(pwm.cpp.o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: libdrivers__camera_trigger.a(seagull_map2.cpp.o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: libdrivers__camera_trigger.a(gpio.cpp.o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: libdrivers__camera_trigger.a(pwm.cpp.o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: libdrivers__camera_trigger.a(seagull_map2.cpp.o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: libdrivers__camera_trigger.a(gpio.cpp.o) has no symbols

How did you set up the project in QtCreator? What are the settings?


New version: KakaoEnterprise.KakaoWork version <IP_ADDRESS>44

[X] Have you signed the Contributor License Agreement?
[X] Have you checked that there aren't other open pull requests for the same manifest update/change?

[ ] Have you tested your manifest locally with winget install --manifest <path>?
[X] Does your manifest conform to the 1.0 schema?

Microsoft Reviewers: Open in CodeFlow

/azp run

3/19/2022 1:48:54 PM
Status: Completed
##[error] Installer https://t1.kakaocdn.net/kakaowork/win/prod/release/KakaoWork_Setup.exe Scan information: 'Error information: BlockingDetectionFound'
##[error] Result: Failed


What would you like

Discussed in https://github.com/IsaacMorris1980/UWP-App-Launcher-Mobile/discussions/102

Originally posted by IsaacMorris1980 November  6, 2022
What features would be beneficial to include in the application

closing due to no intrest in giving ideas


SMTP complains about self signed certificate even if SSL box is not  ticked

Using a protonmail bridge and trying to send emails from my containers via  the bridge works fine for other applications, but youtransfer complains about the certificate being self signed even though I have not ticked the box for SSL

I've got the same


[🐞] Client/server code splitting isn't powerful anymore since v1.7.0

Which component is affected?
Qwik Runtime
Describe the bug
Server specific code should be excluded from the client. It was somewhat powerful up until v1.6.0 but stop being powerful at v.1.7.0.
Reproduction
https://github.com/nelsonprsousa/qwik-1.7.0-regression/commits/main/
Steps to reproduce
Run yarn following by yarn start.
You can change to v1.6.0 and it will work as expected.

Example code
import { isBrowser } from<EMAIL_ADDRESS>import { asyncContext as asyncContextClient } from "~/async-context/async-context.client";
import { asyncContext as asyncContextServer } from "~/async-context/async-context.server";

export const AsyncContext = isBrowser ? asyncContextClient : asyncContextServer;

Weirdly enough, if we use ESNext await import syntax, it still works. However, we will need to target ES2022 in the vite.config.ts file.

Working with ESNext syntax
import { isBrowser } from<EMAIL_ADDRESS>
export const AsyncContext = isBrowser
   ? (await import("./async-context.client")).asyncContext
   : (await import("./async-context.server")).asyncContext;

Main error on client
Module "node:async_hooks" has been externalized for browser compatibility. Cannot access "node:async_hooks.AsyncLocalStorage" in client code.  See https://vitejs.dev/guide/troubleshooting.html#module-externalized-for-browser-compatibility for more details.

Stack Trace
Error: Module "node:async_hooks" has been externalized for browser compatibility. Cannot access "node:async_hooks.AsyncLocalStorage" in client code.  See https://vitejs.dev/guide/troubleshooting.html#module-externalized-for-browser-compatibility for more details.
    at Object.get (http://localhost:5173/@id/__vite-browser-external:node:async_hooks:3:11)
    at http://localhost:5173/src/async-context/async-context.server.ts:1:159

System Info
System:
    OS: Windows 11 10.0.22621
    CPU: (16) x64 11th Gen Intel(R) Core(TM) i7-11800H @ 2.30GHz
    Memory: 37.61 GB / 63.72 GB
  Binaries:
    Node: 21.7.3 - C:\Program Files\nodejs\node.EXE
    Yarn: 1.22.19 - C:\Program Files\nodejs\yarn.CMD
    npm: 10.5.0 - C:\Program Files\nodejs\npm.CMD
    pnpm: 8.15.4 - C:\Program Files\nodejs\pnpm.CMD
  Browsers:
    Edge: Chromium (126.0.2592.87)
    Internet Explorer: 11.0.22621.3527
  npmPackages:
    @builder.io/qwik: 1.7.0 => 1.7.0
    @builder.io/qwik-city: 1.7.0 => 1.7.0
    typescript: 5.4.5 => 5.4.5
    undici: * => 6.19.2
    vite: ^5.2.10 => 5.3.3

Additional Information
No response

Thanks for the report @nelsonprsousa
We'll fix it


Add createdBy information to the AidPackage.

Purpose

$subject

When creating an AidPackage using Admin-Portal, the system should automatically capture the current-user name/display name as a reference to the creator of the AidPackage.
Related to #310

I think DONORID should have been called CREATEDBYID but merging since we are short on time.


Consistent AST generation

Currently, there're two syntaxes that co-exists in the procedural macro: inline syntax and string literals.
At this moment, the codebase of two syntaxes is completely separated.
This issue intends to unify code generation on both syntaxes so both syntaxes yield a consistent generated AST and new features can be landed easier on both syntaxes.
This also removes duplicate logic by increasing the amount of code shared by both syntaxes and hence reduces future maintenance work on the codebase.

If you didn't already start, I'd be happy to do this

Please do so if you have time.
It might not be good to progress in parallel with #31 as that requires changes on the AST, so I will hold off until you finish.
I also need to take a short break from this. So don't feel rushed and progress at your own pace.


Added tnx, tnxx, and few other 'thank you's

Changed regex to support the following: tnx, tnxx, grazie(Italian), arigato & arigatou & doumo (Japanese). closes #119

@raisedadead since you now have CamperBot running locally, can you QA this and if it works as expected, merge it?

Awesome! Thanks, @OFFLlNE and @raisedadead


Resolve #12 and #13: Unify wordlist and Improve CLI

I got rid of wordStore.py and had both the CLI and GUI make use of the five_letter_words.txt file to generate the word for the game.

PR is in review.


David macias ringtone clarification readme

Issue #, if available:
Description of changes:
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

As a newbie getting ringing on my CCP was an issue by following the readme. Adding this note should help others as the documentation makes it sound like if you set disableRingtone to false then seeing a ringtoneUrl wouldn't be needed, but you must comment out the ringtoneUrl for the default ringtone to work.


Service Discovery for Kubernetes API Server

As per the documentation on kubernetes_sd_configs
# The API server addresses. If left empty, Prometheus is assumed to run inside
# of the cluster and will discover API servers automatically and use the pod's
# CA certificate and bearer token file at /var/run/secrets/kubernetes.io/serviceaccount/.

My use case is that I'm running Prometheus outside of the Kubernetes Cluster that it is monitoring(for fear that if the cluster goes haywire, it doesn't bring down our eye and ears with it).  It would be nice to be able to use some kind of SD mechanism to find the API servers vs hardcoding in a list of servers.
Thanks!

I don't think that multiple layers of SD would be sane to support. In such a setup you should have DNS which you can use for this.

Yea..we are using that currently, but was hoping to use ec2 or some other sd to help reduce the amount of differences in configurations between environments.
Right now, our dns entries are different due to the different environments(and I cannot get dns search suffixing to work for whatever reason), which causes us to have to do some config management to generate configs for each env.
Thanks anyway.

You need configuration management to generate different configs for each Prometheus anyway as they all should have different external labels.


bap-server: "bind" failed: Address already in use

why is this happening if I rerun qira?

It may happen if you terminated with SIGKILL. In case of normal exit or termination, it will close the server:
https://github.com/BinaryAnalysisPlatform/bap/blob/master/python/bap.py#L56-L57

no, i have two qiras running

That just means, that bap.disasm does not know about this, and tries to spawn a new server on the same port. As a workaround, you can pass server="http://<IP_ADDRESS>:8080" to disasm function. In general we can try to adopt the following:

try to establish connection with the server at the existing port
if connection wasn't successful spawn a server

I like that approach


Sprint B: ELT Demo Journey Map

Description
Specify which part of the system we're working in.
User Story
As a member of the Button Innovation Team,
I want a visualization of the process the sales team will go through when using the ELT demo application.
So that I can reference and update it as the project evolves.
Acceptance Criteria

Column 1 Header
Column 2 Header
Column 3 Header

Row 1 Column 1
Row 1 Column 2
Row 1 Column 3

Row 2 Column 1
Row 2 Column 2
Row 2 Column 3

Row 3 Column 1
Row 3 Column 2
Row 3 Column 3

Given
When
Then
Pass/Fail (TBD by reviewer)

I'm on the Innovation Team Miro Board
When I navigate to the ELT demo section,
I find a Journey Map for the Button Sales Team
---:

---:

N/A
N/A
Jeff has signed off on the Journey Map
---:

N/A
N/A
Alec has signed off on the Journey Map
---:


#238 support passing statefull service headers to service fabric naming service

Fixes / New Feature #
fixed #238
Support service fabric statefull / actor service types
Proposed Changes

Ocelot will forward PartitionKind and PartitionKey to service fabric naming service
Updated docs and sample readme

In readme service fabric spelt wrong why am I so dyslexic :0


Fix double file scan from nested schema pruning

Description
Converts all nested fields to UnresolvedAttributes when comparing DeltaScan filters. This is to get around the fact the the prepared filters are pre-optimization, and the actual filters are post optimization that can involve nested schema pruning.

Resolves #1073
How was this patch tested?

New UT. Not sure how to test the actual behavior, so I just added a test for the helper method that demonstrates the issue.
Does this PR introduce any user-facing changes?

Yes, removes a double file scan for a scan with filters on nested columns.

@Kimahriman thanks for this PR, will need to take a thorough look.
Regarding, "Not sure how to test the actual behavior, so I just added a test for the helper method that demonstrates the issue.". Since you've stated this only happens when we apply a scan which filters on nested columns, can you write a unit test that previously had such a double scan, and then use getScanReport to assert it only scans once?

Yeah this was just kinda brainstorming an approach. At first I tried to just fully prune any expressions to only the field it cared about, but then just hit weird cases of a isnotnull(nested) and what to do about that because it's not extracting any fields. Theoretically I think this should be safe since all column names should be unique, but definitely let me know what you think or if you can come up with a better idea.

Regarding, "Not sure how to test the actual behavior, so I just added a test for the helper method that demonstrates the issue.". Since you've stated this only happens when we apply a scan which filters on nested columns, can you write a unit test that previously had such a double scan, and then use getScanReport to assert it only scans once?

Didn't know that was a thing so I'll look into that.

I guess another strategy could be gather all attributes from the actual filters and replace them in the prepared filters by expr ID?

I guess another strategy could be gather all attributes from the actual filters and replace them in the prepared filters by expr ID?

This seems like a more robust solution to me. What do you think @zsxwing ?

Also, I don't think getScanReport can catch this (after trying and seeing it not work). There's still only one FileSourceScanExec, it just does double duty in the matchingFiles method

Ah shoot not as easy as I thought, the ordinals for the struct fields will be off after that. Need to think through that alternative a little more

I think you would essentially have to "reresolve" the prepared filters so to speak, so the options I can think of right now are basically:

This approach, convert prepared and actual to unresolved
Convert the prepared to unresolved, and then try to re-resolve them with the actual attributes

I am trying catch up to the discussion and think about it a little. my biggest fear is that if we attempt to duplicate any resolution / unresolution code path, then that duplicate code path can easily become inconsistent with the actual nested schema resolution logic. hence bugs leading to incorrect set of files being read. That why till now we have erred toward reading more data and let it be filtered by the filter plan than reading less data.

The "unresolve both sides" seems less likely to have any weird resolution issues, but obviously just takes one example to prove it doesn't work. Haven't thought of one yet though

So we spent some time looking into the issue a little bit more. A few solutions we're considering include

Comparing AttributeReferences using their exprId
Applying the rule that does the nested schema pruning to the prepared filters before checking equality
Inject PrepareDeltaScan somewhere else (our options might be very limited here)

As a next step we want to identify the rule that does the nested schema pruning (which wasn't immediately obvious from a precursory look.) To figure this out, I'm planning to set spark.sql.planChangeLog.level to warn and try to find the rule. I'm not sure when I'll have time to do this, so feel free to look into it yourself and investigate the plausibility of (2).

I believe it's the NestedColumnAliasing extractor in the ColumnPruning rule. So elaborating on the first two, these seem like the possibilities:

Expand on the current method a bit. Take all the AttributeReference's is the actual filters, replace them by exprId in the prepared filters, and then transform all GetStructField's to UnresolvedExtractValue on both side. This still removes data type comparisons of the nested field, but you do have the AttributeReference's to compare against at least. Alternatively, you could try to re-resolve the prepared filters with the replaced AttributeReference's, but not sure how stable that would be. Maybe as simple as transforming GetStructField to an ExtractValue post-attribute replacement?
Try to run the ColumnPruning optimization rule on both prepared and actual filters, though I'm not sure how that would work since that works on plans and not expressions.

Tried the first method, let me know what you think

Hey @Kimahriman just wanted to provide an update. I didn't forget about this, we are just very busy with the upcoming release. Will be taking another look as soon as I have the chance.

No problem! I'd rather have a quicker release for Spark 3.3 😊

Figured out a test using withLogicalPlansCaptured to ensure there's only one log scan

Hi @Kimahriman - awesome! We will finish reviewing + merging this PR after the next Delta release, which we are working hard at now. Will get back to you within 1 or 2 weeks, cheers!

The test looks good, thanks for adding that. As for the current solution I'm not completely convinced on its robustness/safeness, and I'd rather err on the side of rescanning unnecessarily. It would be much better if we could find a way to reuse the codepaths that are in the rule doing the pruning. I did take a look though and I see how that's not super accessible.

As for the current solution I'm not completely convinced on its robustness/safeness, and I'd rather err on the side of rescanning unnecessarily.

Has any scenario been thought of yet where the post-optimization filters actually change? The only thing that should happen between creating the initial scan and the final scan is optimization rules are applied. Optimization rules shouldn't change the result of the query, just the performance of the query. In this case, theoretically the only thing that should change with the filters is that more filters are applied post-optimization. If files are included post-optimization that weren't included pre-optimization, that would indicate some serious bug unrelated to this PR imo.
So in the case of a false positive, where we think the filters are the same with this logic but they are not actually, the worst thing that could happen is we use the pre-optimization scan that could include more files than necessary. And in the false negative case, we will simply recalculate the files for the scan regardless, so it's just the same performance hit of the extra log scan.
Is there anything I'm missing or not thinking of?


GetStorage containers must be initialised individually for data to sync to disk

This took me a few hours to debug, however, it appears that unlike Hive, the container of each GetStorage must be initialised before it can be used. Is this intended?
Based on the documentation, I assumed that GetStorage.init() was to be run once in main(). This seemed to work with one container. But when I started working with multiple containers, the second container can read/write to memory, but after the app is restarted, container.read() does not find any value previously written to memory. Which indicates that it hasn't stored the data on disk.
Then as I went through the underlying code, I found that GetStorage.init() has a container parameter. Sure enough as soon as I initialised the containers by calling GetStorage('container1'); and GetStorage('container2'); then those containers actually work across restarts.
Then it came to a problem of naming those containers by network data. For example, I want to be able to store information by users in different containers. This information is not available in main(). So I had to run GetStorage.init('container') in all my controller's init. I know it's only two lines, but it's verbose. Imo, calling GetStorage('container') should initialise the container if it hasn't yet initialised.
Currently this works for me:
class Controller extends GetxController {
    @override
    void onInit() async {
          var storageContainer = '${UserController.to.currentUser.id}';
          await GetStorage.init(storageContainer);
          storage = GetStorage(storageContainer);
    }
}

Removing the init line will not work across restarts, even if I have GetStorage.init() in main(). Which init only the default 'GetStorage' container it seems. Funny enough, the first container regardless of name works! So if I use GetStorage('container1') with GetStorage.init() in main(), it works across restarts too... To be sure of this, I kept renaming the first container to different names, and it works even if they aren't using the default 'GetStorage' name.
Is this intended? The document doesn't go into too much details regarding containers.

If you need more than one container you need to initialize them inside main.
I always try to have one container and organize data inside this single container like having different keys for different data I need to persist.
You could a different approach, for example, I understood that you would have a container for each user but you could have one container for all users and organize their data using keys, actually it could be the default container, you didn't even need to to name the default container.
Keys could be their ids.
void main() async {
await GetStorage.init(); // it will initialize the default container, which is called "GetStorage".
// Somewhere in the app
final getStorage = GetStorage();
getStorage.write("userId", userData);
final data = getStorage.read("userId");
}
Unfortunately I don't think you can initialize containers in runtime, dynamically.

Same issue... data cannot be read after app restarts

I also think it is necessary to write this part in a conspicuous place in the document. It takes too much time to debug

Interesting that this is still open and not closed. It is certainly still an issue, as it caught me. I vote for being able to initialize within a GetXService, which was my intent, which service is responsible for all interactions with the filesystem/persistent storage.

2 years passed and it is still a bug and lack enough information about using containers inside a box of GetStorage!
I know this package not supporting indexing but, I need to store several key-value information for an object and need to contain them inside a container. Regarding the nature of my request which is a dynamic key-value storage I need to know how I have to manage them using Box/Container which do not need to initiate every single time the app restarts.