Move contracts into folders

Organizes contracts better. Now it's apparent that new types of factories, minters, collections, and whitelists can be built. For example, a new open edition minter can go in minters. A new Merkle whitelist can go in whitelists.

scripts/release-* might need an update to ensure deterministic release of crates.

scripts/release-* might need an update to ensure deterministic release of crates.

They were updated as part of this PR.


Log system metrics on each event

What does this PR do?

Calculate system metrics using NVML and psutil, and log on each event.
What issue(s) does this change relate to?

Before submitting

[ ] Have you read the contributor guidelines?
[ ] Is this change a documentation change or typo fix? If so, skip the rest of this checklist.
[ ] Was this change discussed/approved in a GitHub issue first? It is much more likely to be merged if so.
[ ] Did you update any related docs and document your change?
[ ] Did you update any related tests and add any new tests related to your change? (see testing)
[ ] Did you run the tests locally to make sure they pass?
[ ] Did you run pre-commit on your change? (see the pre-commit section of prerequisites)

Make sure to add a run_event or a specific event function!

@prithvikannan , can you add an import to composer/callbacks/__init__.py similar to how SpeedMonitor does it?


Hide radio buttons

Playing game shows radio buttons and icons (which relect the radio button state).
Icons can only be changed by selecting the radio button. Amend so that the icons are the primary control and hide the radio buttons.
Currently focused icon should be highighted / bordered / glowed

Commited v0.1.29


Introduce registry mirror InsecureSkipVerify for cloudstack

Issue #, if available:
#1647 following up on the introduction of InsecureSkipVerify flag, and introducing it to the other providers.
Description of changes:
This PR adds InsecureSkipVerify option support for Cloudstack.
Testing (if applicable):

Unit testing
Manual e2e test (registry isn't set up for cloudstack to write an e2e test)

Add the registryMirrorConfiguration property to the cluster spec pointing to the new registry.
apiVersion: anywhere.eks.amazonaws.com/v1alpha1
kind: Cluster
metadata:
  name: mgmt
spec:
  ...
  registryMirrorConfiguration:
    endpoint: <IP_ADDRESS>
    port: 5000
    insecureSkipVerify: true

Using a bundle-release.yaml with an image of the controller built from the changes in this PR as bundles override, create a cluster.
bin/eksctl-anywhere import images -i eks-anywhere-images.tar --bundles eks-anywhere-downloads/bundle-release.yaml --registry ${REGISTRY_ENDPOINT}
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/lgtm

can we add an e2e test?

We dont have registry mirror infra setup for cloudstack yet. The current registry mirror tests are being skipped

/approve


Make open new tab/pages doesn't switch active window

Steps to reproduce
When I create a new page it will change my active window to my new tab. Which is I don't like it because it will disturb me to type in another application.
Actually, I solved the problem by set headless mode to true. But, that's not what I like to do because I don't see the activity from my browser.
Tell us about your environment:

Puppeteer version: 0.12-alpha
Platform / OS version: Ubuntu 16.04
URLs (if applicable):

What steps will reproduce the problem?
Please include code that reproduces the issue.

What is the expected result?
When Puppeteer launches new tab it wouldn't change my window active, so I can still continue typing in another application.
What happens instead?
When Puppeteer creates and launch new tab it's changed my active window to my new tab, so I can't type to my another app.
If I want to type to my another app I should switch window into it.

For those coming here looking for a remedy on macOS, there is actually a way to achieve this by modifying node_modules/puppeteer/.local-chromium/mac-******/chrome-mac/Chromium.app/Contents/Info.plist and adding this to the beginning:
<key>LSBackgroundOnly</key>
<string>True</string>

So that the file starts like this:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
  <key>LSBackgroundOnly</key>
  <string>True</string>
  <key>BuildMachineOSBuild</key>

For more info: https://www.cnet.com/news/keep-applications-from-stealing-focus-when-opening-in-os-x/

For those coming here looking for a remedy on macOS, there is actually a way to achieve this by modifying node_modules/puppeteer/.local-chromium/mac-******/chrome-mac/Chromium.app/Contents/Info.plist and adding this to the beginning:
<key>LSBackgroundOnly</key>
<string>True</string>

So that the file starts like this:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
  <key>LSBackgroundOnly</key>
  <string>True</string>
  <key>BuildMachineOSBuild</key>

For more info: https://www.cnet.com/news/keep-applications-from-stealing-focus-when-opening-in-os-x/

but???? this is just the equivalent of running puppeteer.launch({headless: true}) ?????

@lopugit it is not. You still see the window, it just doesn't steal input focus, so you can keep typing while your system runs e2e tests, for example, but you can keep having an eye on them too.

@lehni it does not open the window for me :'( just behaves like headless = true

@lopugit that's strange... On my Mac, the window opens, but does not come to the foreground. Could it be that it's there but hidden by other applications on yours?

@lehni: The window doesn't open for me as well. Looks like it's run in headless mode.

For those coming here looking for a remedy on macOS, there is actually a way to achieve this by modifying node_modules/puppeteer/.local-chromium/mac-******/chrome-mac/Chromium.app/Contents/Info.plist and adding this to the beginning:
<key>LSBackgroundOnly</key>
<string>True</string>

So that the file starts like this:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
  <key>LSBackgroundOnly</key>
  <string>True</string>
  <key>BuildMachineOSBuild</key>

For more info: https://www.cnet.com/news/keep-applications-from-stealing-focus-when-opening-in-os-x/

That's not work for me.
[Solution]:
solution at this
Execution hangs when browser window goes to background
#3156
when add
<key>LSBackgroundOnly</key>
<string>True</string>

after need also add below chromeArgs
const chromeArgs = [
  '--disable-background-timer-throttling',
  '--disable-backgrounding-occluded-windows',
  '--disable-renderer-backgrounding'
];

The above solution from @leadscloud does not seem to work anymore.


Add qjsc -r flag to output raw bytecode

I want to allow users to ship a raw .jsc bytecode file for faster bootup times.

How will you handle handle bytecode incompatibility?

How will you handle handle bytecode incompatibility?

QuickJS already throws a syntax error, so on the technical level I'm not sure what else would need to be done: https://github.com/quickjs-ng/quickjs/blob/07fa1cbc4a8938085a716051c0f14a3453a885fb/quickjs.c#L35116-L35120
Socially, I plan on shipping an emscripten-compiled version of qjsc with my runtime, so the user code would always be compiled against the same quickjs version as the runtime itself. I suppose implementors might want to come up with their own approaches.

Sounds reasonable. We can also look into the syntax error message and make it more helpful if need be as well.

There is a problem: the output file must be open in binary mode to output the raw bytecode:
    if (output_type == OUTPUT_RAW)
        fo = fopen(cfilename, "wb");
    else
        fo = fopen(cfilename, "w");

This is necessary for legacy architectures with end-of-line translation and other obscure text mode conversion schemes.
I would have also preferred -b (--bytecode) over -r for this option.


can't copy and paste anything

Windows Terminal version
1.19.10821.0
Windows build number
22631.3296
Other Software
No response
Steps to reproduce
Use the right mouse button or CTRL+c or CTRL+v to copy and paste.
It will expire at random intervals.
During this period the copy and paste functionality of other software works fine.
The copy and paste function returns to normal after about ten minutes of inactivity.
Frequency of occurrence: Every few hours.
When the bug appears, the following code may appear in the clipboard:
const activeEditor = vscode.window.visibleTextEditors;
            console.log(activeEditor);
            if (activeEditor) {
                const selection = activeEditor.selection;
                console.log(selection);
                // const selectedText = activeEditor.document.getText(selection);
                activeEditor.edit(editBuilder => {
                    editBuilder.replace(selection, codeContent);
                });
            }

I installed vscode but haven't opened and used it in the meantime.
Expected Behavior
copy paste behavior
Actual Behavior
No response

I got the same issue. It happens sporadically. It's annoying.

I got the same issue on my side even i remove all the key bindings just remain ctrl + c/v for copy paste it still not working..
My current Windows Terminal Version: 1.19.10573.0

I'm facing the same issue as well with version 1.19.10573.0

Exact same issue here and reproduction steps as mentioned in the original post. It severely affects my productivity.
Windows Terminal version
1.19.10573.0
Windows build number
22631.3296

@zadjii-msft My bad, just to clarify I see the same behavior as OP (quoted below). The VSCode part is not true in my case.

Use the right mouse button or CTRL+c or CTRL+v to copy and paste.
It will expire at random intervals.
During this period the copy and paste functionality of other software works fine.
The copy and paste function returns to normal after about ten minutes of inactivity.
Frequency of occurrence: Every few hours.

I am sure that both copy and paste are affected. When I try to copy, the selection gets reset when I press CTRL + C but I do not see the text I've copied in Windows Clipboard history. This happens to me in both PowerShell and WSL from what I've observed. (PowerShell 7.4.1 and WSL 2 with Ubuntu)

Windows Terminal version
1.19.10821.0
Windows build number
22631.3296
Other Software
No response
Steps to reproduce
Use the right mouse button or CTRL+c or CTRL+v to copy and paste.
It will expire at random intervals. During this period the copy and paste functionality of other software works fine. The copy and paste function returns to normal after about ten minutes of inactivity.
Frequency of occurrence: Every few hours.
When the bug appears, the following code may appear in the clipboard:
const activeEditor = vscode.window.visibleTextEditors;
            console.log(activeEditor);
            if (activeEditor) {
                const selection = activeEditor.selection;
                console.log(selection);
                // const selectedText = activeEditor.document.getText(selection);
                activeEditor.edit(editBuilder => {
                    editBuilder.replace(selection, codeContent);
                });
            }

I installed vscode but haven't opened and used it in the meantime.
Expected Behavior
copy paste behavior
Actual Behavior
No response

Hi guys, I need to update some information:

powershell v7.4.1, but when the bug occurs, all windows including cmd and powershell will have this issue.
Regarding the vscode part, I haven't been able to reproduce it recently. This may be an accident, or I accidentally copied it at work, but I have no impression. If no one else has encountered it then please ignore it.
This is a strange discovery: I noticed that all the people who commented here work at Intel, or at least use Intel's email address. Is this a coincidence? Maybe it's a problem with Intel's work computer environment?
I found that when the bug appeared, when I kept pressing ctrl+v, the task manager showed that the CPU usage of a process named it-agent would increase, but after I killed this process, the copy and paste function returned to normal immediately! I don’t know if this is a random event. Can anyone help me verify this?

@XuehaoSun Great find on the Intel work emails!
This bug happened to me twice in the last 30 minutes. I do not believe it's related to the it-agent process, at least in my case.
My observations were the same the both times. When the bug happened, I wasn't able to copy anything from the terminal or paste into it.

I was ready with my task manager, but I did not notice any CPU/Mem usage increase for the it-agent process.
I have tried ending the process by clicking on End task in the context menu, but it looks like the process gets restarted almost immediately.

I waited for a while the first time it happened and kept trying to paste every minute and finally after 5-10 mins, I was able to copy/paste. But then it happened again after 15 mins or so, and then again, I just waited, and it worked,

I work for Intel - but my GitHub predates that and uses my personal email as the ID/Login.

👀

3. This is a strange discovery: I noticed that all the people who commented here work at Intel, or at least use Intel's email address. Is this a coincidence? Maybe it's a problem with Intel's work computer environment?
I found that when the bug appeared, I keep pressing ctrl+v multiple times quickly, the task manager showed that the CPU usage of a process named it-agent would increase, but after I killed this process, the copy and paste function returned to normal immediately! I don’t know if this is a random event. Can anyone help me verify this?

I have tried this and see the same thing.

@atkassen, @XuehaoSun - So, just to confirm, are you saying that the copy/paste issue got resolved when you have killed this process? If so, can you please verify this again and also list the exact steps you've followed to kill it? I had the chance to try this multiple times today when the issue started happening but killing this process didn't work for me as described in my earlier comment https://github.com/microsoft/terminal/issues/16982#issuecomment-2032218201.

I don't believe this is a coincidence now. I was digging just now and found another Intel internal discussion of an employee reporting exactly the same issue posted earlier this week.
Just to summarize the behavior for me:

Copy/paste in windows terminal starts getting affected.
Until the issue is resolved

Copying from a different application (eg: notepad, browser) and pasting in Windows terminal - WORKS
Copying from Windows terminal - DOES NOT WORK

Check back after some time to see that the issue is resolved, and all the actions work.
The same flow repeats after a couple of minutes.

So, I believe paste is still working since it looks like the issue is that when you try to copy from Windows terminal, it doesn't go to clipboard in the first place.

I also work for Intel, and I'm also seeing this on my work PC. If I kill it-agent through the task manager and quickly copy & paste something in the terminal, it works again very briefly until it-agent starts again. Once it's restarted, I can continue pasting the existing clipboard contents into the terminal, but once I copy a new selection it breaks again.

Wait, just to clarify - when y'all are pasting, are you seeing the same, seemingly random text from VsCode? Or is that just a red herring?
We did some work recently around here - in preview 1.19 it looks like we started merging stuff:

Replace WinRT clipboard API with Win32 for pasting #15360 - this should have only affected pasting into the terminal, not copying out of it
Fix conhost clipboard handling bugs #16457 (for 1.20, which was backported to 1.19 stable in Fix conhost clipboard handling bugs #16618) - this should have only changed copy/paste for conhost, not the Terminal

For additional info: What are you running in the Terminal? CMD / PowerShell / WSL? Vim?

My issue also occurs on the windows terminal only. VSCode so far dont have any issue for me.

@atkassen, @XuehaoSun - So, just to confirm, are you saying that the copy/paste issue got resolved when you have killed this process? If so, can you please verify this again and also list the exact steps you've followed to kill it? I had the chance to try this multiple times today when the issue started happening but killing this process didn't work for me as described in my earlier comment #16982 (comment).
I was digging just now and found another Intel internal discussion of an employee reporting exactly the same issue posted earlier this week. I don't believe this is a coincidence now.
Just to summarize the behavior for me:

Copy/paste in windows terminal starts getting affected.

Until the issue is resolved

Copying from a different application (eg: notepad, browser) and pasting in Windows terminal - WORKS
Copying from Windows terminal - DOES NOT WORK

Check back after some time to see that the issue is resolved, and all the actions work.

The same flow repeats after a couple of minutes.

So, I believe paste in terminal is still working fine because it looks like the issue is that when you try to copy from Windows terminal, it doesn't go to clipboard in the first place. Pasting from different applications works for me during the time the issue is in effect.

@cmellazchy
My method of operation is the same as this, although it-agent will still start automatically after killing it, at least for a short period of time (about tens of seconds) I can copy and paste.
It is precisely because of the automatic startup of it-agent that I cannot completely avoid this issue.

I've played around with #17006 for about 30 minutes without any issues copying. In the same time, copying failed, got restored, and failed again in my existing terminal.

We can work on merging #17006, but in the meantime: someone who works at Intel should probably raise this issue with your IT department, so they can figure out whatever is going on with it-agent

For any Intel IT guy who takes a look here, I've submitted an issue RITM12576849.

(From IT) To disable the services that start it-agent:

Press Win+R and type in "msconfig"; hit enter
Go to the "Services" tab
Disable "IT Cloud Service" and "Updater Utility Service Components Controller"
Click apply, close the window, and reboot

Disabling "IT Cloud Service" is enough to get the "it-agent" process to not start.

facing the same issue as well with version 1.19.10573.0 and 1.20.10822.0. also tried the lastest release, still doesn't works.

I tried a workaround from @atkassen, for now, it looks promising. Not sure if it 100% help, so trying to escalate the issue.

@filefi If you're not an Intel employee, mind filing a new thread? I think at this point, we've got critical mass in this thread to suggest that everyone here was hitting the same issue with it-agent. (unless of course you have some other process like it-agent or "IT Cloud Service" messing with your clipboard as well. )

Disabling "IT Cloud Service" is enough to get the "it-agent" process to not start.

I can confirm this is a successful workaround for the copy/paste issues for me.

I used msconfig to disable "IT Cloud Service" but did not reboot like it wants.
I then used Task Manager -> Services to stop the "IT Cloud Service" service (which kills the it-agent process without restarting it).

If I understand correctly, step (2) fixes the issue up to the next reboot and step (1) makes the fix permanent even after reboot.

For anyone working at Intel and visiting this thread, I DO NOT recommend disabling the IT Cloud Service or any other IT startup services without fully understanding its consequences. Relevant Teams at Intel were made aware of this issue, and they are working to get it resolved.

Hi, @zadjii-msft
In view of the warning from IT, please delete this issue, thanks.

I don't think we should delete the entire issue because IT doesn't like the workaround. Until there's a resolution (either on the Intel IT side or on the Terminal side) we should keep this open so other Intel employees hitting this can find this issue and avoid opening duplicates.

copy and paste functionality works properly today since my computer updated to Win11 23H2 22631.3374 last night. I don't know if it is related to this issue.

Yea, I'm not going to be deleting this thread. It's been highly active - if we delete this, inevitably, another thread will get filed, and folks will once again come to the same conclusion.
That being said, obviously, disabling services from your IT department will probably make them mad at you. They should probably fix their tool, so folks don't need to disable it to be productive any more 😉

@zadjii-msft Just a wild guess, but does Terminal by any chance OpenClipboard + CloseClipboard for each type of data (text + HTML + RTF) when copying, instead of opening once, calling SetClipboardData several time and closing only when all clipboard formats are set?
My guess is Intel's tool registers itself as a clipboard format listener (AddClipboardFormatListener or SetClipboardViewer) to spy on the clipboard, for example to avoid people copying sensitive data by mistake.
So when you CloseClipboard after setting a first format, their process takes over the clipboard for inspection, takes a while to decide if the clipboard should be allowed or emptied, and Terminals's immediate next call to OpenClipboard to store the next format fails because the clipboard is still open by their watcher process.

The current implementation uses the WinRT clipboard APIs and not those Win32 APIs.
As it turns out, the WinRT API does exactly what you suspected (I apologize for the low DPI):

#17006 on the other hand does what you'd actually expect:

I do feel once again validated in my previous statements when it comes to this overall topic. I think I'll spare myself any further comments, however...

FYI The above images where generated with an absolutely amazing tool that @wdscxsj showed me recently: API Monitor

I'm no longer able to reproduce this issue, I think Intel IT must have pushed a fix.
Is anyone else from Intel still seeing this?

I've received information that this issue has been resolved. I also haven't encountered this issue after a whole day of using the terminal.

I haven't encountered this issue couple days.

I encounter this issue for many days, still annoyed now.
What is the actual reason of this issue?

I'm reading this because i was experiencing the same issue. Reading this through made me smile a bit, being the guy in charge of installing "it-agent" for some folks certainly sparked my interest. For those with "it-agent" related issues, please know this software is part of the DLP Suite handling data loss prevention for your business, and there seem to be an issue with their agent inspecting copy/paste operations. Please ask your IT Security team to create a ticket and address this bug with the vendor, Proofpoint. Best Regards, the "it-agent" installer. =]


Refs #23130 -- Allowed BooleanField to be null=True

https://code.djangoproject.com/ticket/23130
Picks up were @timgraham left off in https://github.com/django/django/pull/8467
refs:

https://github.com/django/django/pull/3025
https://code.djangoproject.com/ticket/22282
https://code.djangoproject.com/ticket/26168
https://code.djangoproject.com/ticket/22282

details:

BooleanField can take null=True
NullBooleanField is now just BooleanField(null=True)
depreciates NullBooleanField (this decision was made in @timgraham's PR)
~normalizes boolean type casting, and incorporates distutils.util.strtobool~
~collects all the different boolean casting special cases into a single file django/utils/typecasting.py~

still TODO:

[x] there's at least a dozen tests failing
[x] determine if this is a large enough PR to get added to AUTHORS ^_^ <<< call: no. the PR is much simpler without the typecasting.py change
~typecasting.py entrypoint functions need better names~
~evaluate typecasting.py nullable=[ True | False ] handling~
~add a few more cases to test_typecasting.py~

To answer your question from IRC: yes, the relocating of logic to typecasting.py seems out of scope for this ticket. We prefer to do refactorings in separate pull requests that don't change behavior.
The remaining issues where I left off was:

As needed, continue adding tests for BooleanField(null=True) where NullBooleanField is tested.
Solve the issue with Oracle check constraints. I think the appropriate check constraint for BooleanField(null=True) won't be generated because Field.get_internal_type() returns BooleanField rather than NullBooleanField. A possible fix is:

def get_internal_type(self):
    return 'NullBooleanField' if self.null else 'BooleanField'

However, the fact that there aren't any test failures without that makes me wonder if the constraints are working properly in the first place. \cc @felixxm.

@timgraham NULL cannot be compare with standard operators on Oracle, it works only with IS NULL and IS NOT NULL operators. Therefore constraint '%(qn_column)s IN (0,1)' works as: if column value is not null then it must be one of values (0,1) so it's basically the same as '(%(qn_column)s IN (0,1)) OR (%(qn_column)s IS NULL)'. We check nullability with separate NOT NULL constraint. I've proposed to unify these checks on Oracle,  #9018.

Went through the last set of review comments and shrunk the PR's scope
Still TODO: failing tests

✔  tests passing

Solve the issue with Oracle check constraints. I think the appropriate check constraint for BooleanField(null=True) won't be generated because Field.get_internal_type() returns BooleanField rather than NullBooleanField. A possible fix is...

Implemented that fix! But also I feel this becomes less relevant if https://github.com/django/django/pull/9018 is merged first

As needed, continue adding tests for BooleanField(null=True) where NullBooleanField is tested.

So ^ is the last thing to do
Although I'm not sure to what extent adding those tests would be overkill, since NullBooleanField is now just
https://github.com/lynncyrin/django/blob/254d3149cb50016ae6e0746488b1042f5a05d8ec/django/forms/fields.py#L742-L748

Yes, I think we can omit the change to get_internal_type() considering https://github.com/django/django/pull/9018.
I don't think the form field changes to put NullBooleanField's logic in BooleanField is much of a simplification. Let's focus on the model field and leave the form fields alone for now.
The idea with the additional tests is about the model field. For example, in tests/bulk_create/models.py there's a usage of NullBooleanField. A similar test for BooleanField(null=True) should be added there.

omit the change to get_internal_type() considering #9018

✔

focus on the model field and leave the form fields alone for now

✔

additional tests [for] the model field

WIP. I added the bulk_create one (it was obvious what to do there). I still need to appraise what adequate tests for be for:

postgres_tests
test_promises
test_booleanfield
managers_regress
generic_relations_regress
expressions_case
annotations

In case I forget to make them, some optimization ticket ideas spawned from this PR are:

make all boolean type casting utilize distutils.util.strtobool, and collect form field and model field special cases into a single boolean type casting file
make NullBoolean model field BooleanField(null=True)
make NullBoolean form field BooleanField(null=True)

I incorporated some of these updates in https://github.com/django/django/pull/8467 which should be ready for review now. Thanks!


ExceptionInInitializerError when using Google analytics

updated app to robovm 1.0.0-beta-03 and gdx 1.5.3
when making any call to GAI java.lang.ExceptionInInitializerError is thrown
issue did not occur when using 1.0.0-beta-01

error caused by misplaced libgoogleanalytics.a

So where does one place the file?

it is in the libs folder but i had accidentally deleted it


fix: add more exceptions to retry during connection attempts

Codecov Report

Merging #50 (7bf808a) into master (3fce314) will decrease coverage by 1.35%.
The diff coverage is 100.00%.

@@             Coverage Diff             @@
##            master      #50      +/-   ##
===========================================
- Coverage   100.00%   98.64%   -1.36%
===========================================
  Files            6        6
  Lines          516      518       +2
===========================================
- Hits           516      511       -5
- Misses           0        7       +7

Flag
Coverage Δ

tests
98.64% <100.00%> (-1.36%)
:arrow_down:

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

Impacted Files
Coverage Δ

pyrmq/consumer.py
100.00% <100.00%> (ø)

pyrmq/publisher.py
91.46% <100.00%> (-8.54%)
:arrow_down:

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 1c528c6...7bf808a. Read the comment docs.


Openspending-compatible upload finalization api.

To merge with os-conductor we should try to be compatible in the finalize upload API.

Change url to /api/package/upload

Request body should be json object in the format: {'datapackage': 'url'}

'datapackage' should be url of the datapackage.json that was previously uploaded by the client on the BitStore

That url should be used in the controller code to fetch metadata and as base to fetch README contents.

Currently we return 'status': 'OK', on success, but we should return 'status': 'queued' instead.
(In the future we will have async job starting on the request. Right now it is not a priority. So no change for now)

Hm... I actually think that the 'status' should be better renamed to 'job_status', to clearly separate request status (as in http terms) and job status.

FIXED.
Done with the pull request https://github.com/frictionlessdata/dpr-api/pull/253


[Jenkins Backend Plugin] Fix regression https://github.com/backstage/…

Fix regression introduced by https://github.com/backstage/community-plugins/pull/796
More detail: https://github.com/backstage/community-plugins/pull/796#issuecomment-2384244296

Hi @BethGriggs,
thanks, done


feat(payments): Add audit events for PaymentApprove update

Type of Change

[ ] Bugfix
[x] New feature
[ ] Enhancement
[ ] Refactoring
[ ] Dependency updates
[ ] Documentation
[ ] CI/CD

Description
This PR adds an Audit event for the PaymentApprove operation.
Additional Changes

[x] This PR modifies the files below

crates/router/src/core/payments/operations/payment_approve.rs

crates/router/src/events/audit_events.rs

Motivation and Context
This PR fixes #4680
How did you test it
This requires FRM related flows to be tested, and may not be tested locally.
Checklist

[x] I formatted the code cargo +nightly fmt --all
[x] I addressed lints thrown by cargo clippy
[x] I reviewed the submitted code

Please review and suggest changes, if any.
cc: @Isampras @ShivanshMathurJuspay @ivor11

Hey @Rutam21 ,
Can you share the event json or a screenshot of the event,
Can refer to pr https://github.com/juspay/hyperswitch/pull/4166 for reference.

@lsampras I checked #4166, can you please point me out how I can get a event screenhsot or event json for this update? It seems like you were using something similar to Postman to hit the API endpoint. If you could please let me know the steps, I would follow along and update.

@lsampras I checked #4166, can you please point me out how I can get a event screenhsot or event json for this update? It seems like you were using something similar to Postman to hit the API endpoint. If you could please let me know the steps, I would follow along and update.

For the UI in this screenshot, you can find the docs to set up Kafka, kafka-ui (the interface in the screenshot) and ClickHouse using Docker Compose here: https://github.com/juspay/hyperswitch/tree/main/crates/analytics/docs
and then try generating said events and monitor logs in kafka-ui.
Also the docs are self-explanatory but still if in any doubt ping us in this slack channel

@maverox I tried updating the respective toml files and then starting the app using docker-compose. But this errors out while starting the hyperswitch-server-1. Please let me know if there are some additional settings that I am missing here. Thanks.

@maverox I tried updating the respective toml files and then starting the app using docker-compose. But this errors out while starting the hyperswitch-server-1. Please let me know if there are some additional settings that I am missing here. Thanks.

@Rutam21 Could you check the logs of the failed container

@Chethan-rao Could you please point me where I can access those logs? I tried to run docker compose following the steps at https://github.com/juspay/hyperswitch/tree/main/crates/analytics/docs.
Also, I found out that the same error occurs when I try to run it on the main branch as well. It could be more of a local setup issue on Windows rather than a PR-specific issue.

@likhinbopanna The merge conflicts are resolved. You can add it back to the merge queue now. Thanks.


Cannot access Events fields

When firing events, the listener cannot access the events fields (ie 'path'). In the docs it's specified how to do it bur the events's fields are protected.
Am I missing the point ? Or is it an issue ?
FileRemoved
FileUploaded
FolderRemoved
FolderUploaded

Yes! Sorry. I will update soon 😪

@Lothindir check new version. Is fixed on v2.5


Dox how to run multiple recipes via a rose suite

answers #1256

Hi V, hope you got some time off in the summer and have been enjoying the heat over in Berkshire...
The normal working practice with rose is to copy an existing suite and edit the suite configuration (with rose edit or manual edits to a namelist in the rose suite). Could/should these instructions be written to recommend that practice, instead of using a wrapper script?

Ali man @alistairsellar indeed I have been all over rural England for weddings, bbq and general beering :beer: Hope you had a good summer too, dude!
Indeed that's a good call but the wrapper makes things much easier for the regular ESMValTool user that may not be well acquainted with Rose suites. I can add the message about the manual editing of the rose-suite.conf - would you be willing to provide me with a nicely (specialist) formatted paragraph for me to add in the dox here? :beer:

Sorry for the delay. How is this as a paragraph on how to run the suite directly using rose...

Download the suite: rosie checkout u-bd684
Edit the suite using the rose GUI: cd ~/roses/u-bd684; rose edit
Within the GUI go to "suite conf" -> "jinja2", and edit the list of recipes and input and output dirs. Resources can also be adjusted on this panel, though you shouldn't need to for a first test.
Run the suite by clicking the "play" icon (top-right).

Even to the uninitiated, this is surely just as easy as editing the wrapper script.

@valeriupredoi do you want to address @alistairsellar suggestions above?
Otherwise good to go from my side.

Yeah the doc added by Ali as comment should be plugged in before merge
:beer:
Dr Valeriu Predoi.

Otherwise good to go from my side.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/ESMValGroup/ESMValTool/pull/1262?email_source=notifications&email_token=AG5EFI6OLLIWWYC6HFXKEPDQZNAKNA5CNFSM4IPAW4R2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEHJCFIA#issuecomment-567419552,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AG5EFIY4QBVJI45OX737LQDQZNAKNANCNFSM4IPAW4RQ
.


Add study_vocabulary parents to to_search output in legacy harvester

Test material: https://acc.search.edusources.nl/api/v1/materials/8e215c59-d4f3-4210-a1c0-6d3f43a65b92/

It would be possible to search for multiple values now from the backend perspective as well as for high level terms.

A link that illustrates the counts are now correct: https://harvester.acc.surfedushare.nl/admin/metadata/metadatavalue/?field__id__exact=19

Problems in paradise

Deze moet ook in de gaten gehouden worden:


DevOps features in 3.3.0 is invisible while use multi-cluster manage member cluster's DevOps project

Describe the Bug
DevOps features in 3.3.0 is invisible while use multi-cluster manage member cluster's DevOps project.

Versions Used
KubeSphere: 3.3.0
Kubernetes: (If KubeSphere installer used, you can skip this)
Environment
How many nodes and their hardware configuration:
CentOS 7.9 / 3 masters:  2cpu/4g; 3 nodes: 8cpu/32g
How To Reproduce
Steps to reproduce the behavior:

Go to member cluster's workspace
Go to DevOps project
See left menu

Expected behavior
DevOps features in 3.3.0

There are some troubleshooting tips below:

Make sure you enabled the DevOps feature in your member clusters
Make sure all the image of the console is: kubesphere/ks-console:v3.3.0

/kind support

@LinuxSuRen Yes, i was enabled DevOps feature in both host and member clusters and all the image of the console is: kubesphere/ks-console:v3.3.0.
In fact, the left menu is visible in host cluster's DevOps projects and also visible in member cluster's DevOps projects while direct access member cluster. But invisible while access member cluster's DevOps projects from host cluster.

Also have exactly the same issue, using the same versions.

hi @imshenyz , thanks for your details. I'm going to check it later.

@LinuxSuRen  Ok, i see, thanks for reply.
I think the GitOps feature in both host and member clusters is a good idea.
In my usage scenarios, i created test-workspace in test member clusters, for convenience i also want to manage projects and DevOps projects in same workspace.
On the other hand, I think the main function of host cluster is to manage multiple clusters, and we should avoid running too many applications on it, is it?

On the other hand, I think the main function of host cluster is to manage multiple clusters, and we should avoid running too many applications on it, is it?

Yes. Only the host cluster needs GitOps components. And you could manage applications in the host cluster.

Ok. I got it, thanks.


Implement linters

Setup locally:

isort
flake8
black

Document the commands.

Linters are added, this issue is waiting for testing to be closed.


MINOR: Add dynamic markers example.

Public example to show how to render pickable markers (icon&text) from dynamically generated GeoJSON points using FeatureDataSource.

macbook tests please

@harpgl-bot retest this please

@harpgl-bot retest this please

@harpgl-bot retest this please


0.14.2 - Default CLUPI option

CLUPI should be disabled by default.

CLUPI is disabled by default: https://github.com/TurtleRover/tcs/blob/363760cc02dd143e48808fff1d4734c0b5c5be29/client/src/js/state/index.js#L60-L61


[FEAT] Add pagination

Soon*, the list will get quite big. So, I think we should start work on a page number (pagination) system, like was done in:
https://github.com/KendallDoesCoding/mogul-christmas/pull/291
https://github.com/KendallDoesCoding/mogul-christmas/issues/288

I can make this. So what we need here is a pagination below the list so that the birthdays list can continue to next page and you don't want to scroll the through the list on the single page?

I can make this. So what we need here is a pagination below the list so that the birthdays list can continue to next page and you don't want to scroll through the list on the single page?

Yes. Assigned you.

done in #14


Create SelfDescribingEvent for Wizard usage

I setup the analytics to track the "create" event which fires when Wizards are run. Specifically, when the "Create" button is clicked. There are also some formatter changes.
Here's what the event looks like in the Snowplow plugin. Its type appears as "SD Event: action", and it includes the action "wizard-complete", the name of the Wizard, and time saved in minutes.

The schema displays as Unrecognised[sic], I assume because Dan & Co haven't added it to their schema registry yet, since this is the schema spec they provided.
Ministry is blank because the Wizard's user input is not included with the create event.
I think including it is reasonable but non-trivial. Most likely requiring a custom scaffolder action that we add to the Wizard.

I setup the analytics to track the "create" event which fires when Wizards are run. Specifically, when the "Create" button is clicked. There are also some formatter changes.
Here's what the event looks like in the Snowplow plugin. Its type appears as "SD Event: action", and it includes the action "wizard-complete", the name of the Wizard, and time saved in minutes.

The schema displays as Unrecognised[sic], I assume because Dan & Co haven't added it to their schema registry yet, since this is the schema spec they provided.
Ministry is blank because the Wizard's user input is not included with the create event. I think including it is reasonable but non-trivial. Most likely requiring a custom scaffolder action that we add to the Wizard.

Yay! Awesome :)
Interesting that the previous data isn't available! One way I've got around this in the past (which may or may not work with Backstage) is to add it into the url as a parameter as we navigate through the steps so that in the final view we can retrieve it.
I still say we should make ministry mandatory in the metadata though!


Lines created in gradient

I've thrown some dynamically generated stops at this and it's handled everything well apart from a few of the stops. With the stops below, there are two white lines at roughly the 11 o'clock and 5 o'clock positions.
Having looked into it, I think it's specific to the colours themselves, rather than my massively over-precise percentages. I've tweaked two of the colours between 'broken' and 'fixed', and this workaround seems to fix it.
var brokenStops = [
    '#110f3e 0%',
    '#110f3e 14.775462962962962%',
    '#224473 19.091435185185183%',
    '#2f8cb8 22.15625%',
    '#d6f622 22.15625%',
    '#fffcb3 22.453703703703702%',
    '#41c1de 22.453703703703702%',
    '#3f8cb7 36.123703703703704%',
    '#3f8cb7 74.10199074074075%',
    '#1c6790 87.77199074074075%',
    '#fb6ff2 87.77199074074075%',
    '#ea2d28 88.06828703703704%',
    '#6a4d9c 88.06828703703704%',
    '#34326f 91.13425925925925%',
    '#110f3e 95.45023148148148%',
    '#110f3e 100%'
];

var fixedStops = [
    '#110f3e 0%',
    '#110f3e 14.775462962962962%',
    '#224473 19.091435185185183%',
    '#2f8cb8 22.15625%',
    '#d6f622 22.15625%',
    '#fffcb3 22.453703703703702%',
    '#41c1de 22.453703703703702%',
    '#41c1de 36.123703703703704%', // changed
    '#3f8cb7 74.10199074074075%',
    '#1c6790 87.77199074074075%',
    '#fb6ff2 87.77199074074075%',
    '#ea2d28 88.06828703703704%',
    '#6a4d9c 88.06828703703704%',
    '#34326f 91.13425925925925%',
    '#110f3e 95.45023148148148%',
    '#110f3d 100%'                // changed
];

var broken = new ConicGradient({
    stops: brokenStops.join(','),
    repeating: false,
    size: 500
});

var fixed = new ConicGradient({
    stops: fixedStops.join(','),
    repeating: false,
    size: 500
});

Broken:

Fixed:

I checked it with these truncated percentages, and I still get the white lines as above.
var brokenStops = [
    '#110f3e 0%',
    '#110f3e 14.77%',
    '#224473 19.09%',
    '#2f8cb8 22.15%',
    '#d6f622 22.15%',
    '#fffcb3 22.45%',
    '#41c1de 22.45%',
    '#3f8cb7 36.12%',
    '#3f8cb7 74.10%',
    '#1c6790 87.77%',
    '#fb6ff2 87.77%',
    '#ea2d28 88.06%',
    '#6a4d9c 88.06%',
    '#34326f 91.13%',
    '#110f3e 95.45%',
    '#110f3e 100%'
];

This won't help, but last night it was also putting a line at the 0º position, between the two #110f3e stops at the start and end of the gradient. This morning it doesn't seem to be doing that anymore, but I'm not sure what changed :)

@beingmrkenny I think this bug is resolved via #19, so @LeaVerou closed this. Can you test it again in your own?

Yes, seems to be fixed!
Test files attached:
Archive.zip


BatchExperiment of QV Experiments with Too Many Trials Produces LinAlgError on Some Devices

Informations

Qiskit Experiments version: 0.4
Python version: 3.8
Operating system: Mac

What is the current behavior?
If QV experiments with too many trials (example below shows 800 trials run on IBMQ Toronto) are run in a BatchExperiment, the following error occurs:
File ~/opt/anaconda3/envs/pygsti2/lib/python3.8/site-packages/scipy/linalg/_decomp.py:1356, in _check_info(info, driver, positive)
   1353     raise ValueError('illegal value in argument %d of internal %s'
   1354                      % (-info, driver))
   1355 if info > 0 and positive:
-> 1356     raise LinAlgError(("%s " + positive) % (driver, info,))

LinAlgError: eig algorithm (geev) did not converge (only eigenvalues with order >= 2 have converged)

This varies from device to device.
Steps to reproduce the problem
from qiskit_experiments.framework import BatchExperiment
from qiskit_experiments.library import QuantumVolume
import qiskit

# Create QV experiments
seed = 123
qubits_list = [
    [0, 1, 2, 3], [4, 6, 7, 10], [5, 8, 9, 11], [12, 13, 14, 15, 16], [17, 18, 21, 23, 24], [19, 20, 22, 25, 26]
]
QV_exps = [
    QuantumVolume(
        qubits,
        seed=seed
    )
    for qubits in qubits_list
]

# Set backend and transpile options
qiskit.IBMQ.load_account()
provider = qiskit.IBMQ.get_provider(hub="ibm-q-internal", group="deployed", project="default")
backend = provider.get_backend('ibmq_toronto')
transpile_options = {"basis_gates": backend.configuration().basis_gates, "optimization_level": 3}
for QV_exp in QV_exps:
    QV_exp.set_transpile_options(**transpile_options)
    QV_exp.set_experiment_options(trials=800)

# Run batch experment of QV experiments
QV_batch_exp = BatchExperiment(QV_exps)
QV_batch_data = QV_batch_exp.run(backend).block_for_results()

What is the expected behavior?
A job should be successfully created and run
Suggested solutions

Running the QV experiments individually, the error occurs consistently for qubit group [12, 13, 14, 15, 16]

Can you try to narrow it down to a specific SU(4) that triggers the error? Presumably the randomization occasionally draws a particular SU(4) that fails in TwoQubitBasisDecomposer.num_basis_gates()

By changing the seed around, I've been able agle to trigger the error with the following 2 SU(4)s:
Instruction(name='unitary', num_qubits=2, num_clbits=0, params=[array([
       [-0.02645613-0.07057715j,  0.        +0.j        , -0.16789715-0.98291886j,  0.        +0.j        ],
       [-0.16789715+0.98291886j,  0.        +0.j        ,  0.02645613-0.07057715j,  0.        +0.j        ],
       [ 0.        +0.j        , -0.02645613-0.07057715j,  0.        +0.j        , -0.16789715-0.98291886j],
       [ 0.        +0.j        , -0.16789715+0.98291886j,  0.        +0.j        ,  0.02645613-0.07057715j]])])

and
Instruction(name='unitary', num_qubits=2, num_clbits=0, params=[array([
       [ 0.35857659-0.1328184j ,  0.        +0.j        ,  0.91071947-0.15611584j,  0.        +0.j        ],
       [ 0.91071947+0.15611584j,  0.        +0.j        , -0.35857659-0.1328184j ,  0.        +0.j        ],
       [ 0.        +0.j        ,  0.35857659-0.1328184j ,  0.        +0.j        ,  0.91071947-0.15611584j],
       [ 0.        +0.j        ,  0.91071947+0.15611584j,  0.        +0.j        , -0.35857659-0.1328184j ]])])

However, I've seen the first SU(4) above get generated in an experiment with a different seed and the error did not get triggered

THanks @albertzhu01 when I try to use those SU(4) I don't have any problem. I'm not sure if this is something about my setup vs yours, or if its an issue with the rounding of the array for the printout above. The way I tested was with:
qiskit.quantum_info.two_qubit_cnot_decompose.num_basis_gates(np.array([
       [-0.02645613-0.07057715j,  0.        +0.j        , -0.16789715-0.98291886j,  0.        +0.j        ],
       [-0.16789715+0.98291886j,  0.        +0.j        ,  0.02645613-0.07057715j,  0.        +0.j        ],
       [ 0.        +0.j        , -0.02645613-0.07057715j,  0.        +0.j        , -0.16789715-0.98291886j],
       [ 0.        +0.j        , -0.16789715+0.98291886j,  0.        +0.j        ,  0.02645613-0.07057715j]])

Can you try it and see if it fails for you? And if not maybe you can dump the failing matrices with enough digits of precision so we can load recreate them bitwise-identical.

The above works for me (I get num_basis_gates = 3), and for some reason when I run QV with the exact same seed and parameters again, the above array does not produce the error. Instead, I get the error with the following SU(4):
[[ 0.236623607031252+0.96684108969098j ,  0.               +0.j               ,  0.034648743991892-0.089593752128496j,  0.               +0.j               ],
 [ 0.034648743991892+0.089593752128496j,  0.               +0.j               , -0.236623607031252+0.96684108969098j ,  0.               +0.j               ],
 [ 0.               +0.j               ,  0.236623607031252+0.96684108969098j ,  0.               +0.j               ,  0.034648743991892-0.089593752128496j],
 [ 0.               +0.j               ,  0.034648743991892+0.089593752128496j,  0.               +0.j               , -0.236623607031252+0.96684108969098j ]]

(This has 15 digits of precision)
However, if I just run qiskit.quantum_info.two_qubit_cnot_decompose.num_basis_gates on that array, I don't get any errors. Could there be some other randomness happening that just causes the eigenvalue algorithm to not converge sometimes?
For the second SU(4) in my comment above, I'm able to consistently get the error, but similarly it does not result in an error if I just run qiskit.quantum_info.two_qubit_cnot_decompose.num_basis_gates. Here's that SU(4) with 15 digits of precision:
[[ 0.358576594639192-0.132818396029565j,  0.               +0.j               ,  0.910719465407508-0.156115837700592j,  0.               +0.j               ],
 [ 0.910719465407508+0.156115837700592j,  0.               +0.j               , -0.358576594639192-0.132818396029565j,  0.               +0.j               ],
 [ 0.               +0.j               ,  0.358576594639192-0.132818396029565j,  0.               +0.j               ,  0.910719465407508-0.156115837700592j],
 [ 0.               +0.j               ,  0.910719465407508+0.156115837700592j,  0.               +0.j               , -0.358576594639192-0.132818396029565j]]

Update: The following lines give the error when I run them on my computer, but Helena does not get the error. We both have the same qiskit-terra version, so we're not sure what could be the discrepancy (besides potential differences in the versions of other packages).
from qiskit.transpiler.passes.synthesis import unitary_synthesis
decomposer = unitary_synthesis._basis_gates_to_decomposer_2q(['id', 'rz', 'sx', 'x', 'cx', 'reset'])
decomposer.num_basis_gates([[(0.23662360703125174+0.9668410896909799j), 0j, (0.03464874399189194-0.08959375212849645j), 0j], [(0.03464874399189194+0.08959375212849645j), 0j, (-0.23662360703125174+0.9668410896909799j), 0j], [0j, (0.23662360703125174+0.9668410896909799j), 0j, (0.03464874399189194-0.08959375212849645j)], [0j, (0.03464874399189194+0.08959375212849645j), 0j, (-0.23662360703125174+0.9668410896909799j)]])

The above lines do not error for me. I note that all the failing cases are SWAP.(U()*I) which is a high-symmetry corner of the Weyl chamber. The reason for all the complexities of the TwoQubitWeylDecomposition stuff is exactly because of pathologies around such high-symmetry points, so maybe this is yet another example of such.
It would be good to nail down which difference between @albertzhu01 setup and my/Helena's is sufficient to trigger the error.

You might try something like the following to see how common these failures can be for you
for _ in range(100_000):
    TwoQubitWeylDecomposition(np.kron(random_unitary(2), random_unitary(2)) @ swap)

on my setup I've tested millions of cases and they all pass.
 It would be interesting to see if the testsuite passes on your setup. Something like python -m unittest test.python.quantum_info.test_synthesis -cb should run the relevant pieces

The following test case reliably reproduces the error:
import numpy as np
from scipy import linalg as la
mat = np.array(
    [
        [0.9999999999999998j, 0j, -3.469446951953614e-18j, 0j],
        [0j, 0.9999999999999998j, (8.673617379884035e-19+2.6020852139652106e-18j), -6.938893903907228e-18j],
        [-3.469446951953614e-18j, (8.673617379884035e-19+2.6020852139652106e-18j), 0.9999999999999998j, 0j],
        [0j, -6.938893903907228e-18j, 0j, 0.9999999999999998j]
    ]
)
la.eigvals(mat)

Output:
LinAlgError                               Traceback (most recent call last)
Input In [17], in <cell line: 9>()
      1 from scipy import linalg as la
      2 mat = np.array(
      3     [
      4         [0.9999999999999998j, 0j, -3.469446951953614e-18j, 0j],
   (...)
      7         [0j, -6.938893903907228e-18j, 0j, 0.9999999999999998j]]
      8 )
----> 9 la.eigvals(mat)

File ~/opt/anaconda3/envs/pygsti2/lib/python3.8/site-packages/scipy/linalg/_decomp.py:880, in eigvals(a, b, overwrite_a, check_finite, homogeneous_eigvals)
    811 def eigvals(a, b=None, overwrite_a=False, check_finite=True,
    812             homogeneous_eigvals=False):
    813     """
    814     Compute eigenvalues from an ordinary or generalized eigenvalue problem.
    815
   (...)
    878
    879     """
--> 880     return eig(a, b=b, left=0, right=0, overwrite_a=overwrite_a,
    881                check_finite=check_finite,
    882                homogeneous_eigvals=homogeneous_eigvals)

File ~/opt/anaconda3/envs/pygsti2/lib/python3.8/site-packages/scipy/linalg/_decomp.py:247, in eig(a, b, left, right, overwrite_a, overwrite_b, check_finite, homogeneous_eigvals)
    244     w = wr + _I * wi
    245     w = _make_eigvals(w, None, homogeneous_eigvals)
--> 247 _check_info(info, 'eig algorithm (geev)',
    248             positive='did not converge (only eigenvalues '
    249                      'with order >= %d have converged)')
    251 only_real = numpy.all(w.imag == 0.0)
    252 if not (geev.typecode in 'cz' or only_real):

File ~/opt/anaconda3/envs/pygsti2/lib/python3.8/site-packages/scipy/linalg/_decomp.py:1356, in _check_info(info, driver, positive)
   1353     raise ValueError('illegal value in argument %d of internal %s'
   1354                      % (-info, driver))
   1355 if info > 0 and positive:
-> 1356     raise LinAlgError(("%s " + positive) % (driver, info,))

LinAlgError: eig algorithm (geev) did not converge (only eigenvalues with order >= 2 have converged)

@albertzhu01 , regarding your last example, where you call la.eigvals(mat): This also fails for me. But your examples calling decomposer.num_basis_gates do not fail on my machine.
How did you find mat in this last example? Did it arise when calling decomposer.num_basis_gates? If so, what was the input there?
In the stack trace, where do you see the call to eigvals? Is it always here?:
    Up = transform_to_magic_basis(U, reverse=True)
    # We only need the eigenvalues of `M2 = Up.T @ Up` here, not the full diagonalization.
    D = la.eigvals(Up.T @ Up)

Yes, mat arises for me when I call decompose.num_basis_gates on the following example:
[[(0.23662360703125174+0.9668410896909799j), 0j, (0.03464874399189194-0.08959375212849645j), 0j],
 [(0.03464874399189194+0.08959375212849645j), 0j, (-0.23662360703125174+0.9668410896909799j), 0j],
 [0j, (0.23662360703125174+0.9668410896909799j), 0j, (0.03464874399189194-0.08959375212849645j)],
 [0j, (0.03464874399189194+0.08959375212849645j), 0j, (-0.23662360703125174+0.9668410896909799j)]]

And yes, that's where I always see the call to eigvals.

It's still not working for me. This is what I see:
Just, to be clear,  This example also fails on my machine with python and openblas. I reports the same error that you report.
I can run your most recent example and get the expected result, 3:
import qiskit
import numpy as np

unitary_bad = np.array([[(0.23662360703125174+0.9668410896909799j), 0j, (0.03464874399189194-0.08959375212849645j), 0j],
 [(0.03464874399189194+0.08959375212849645j), 0j, (-0.23662360703125174+0.9668410896909799j), 0j],
 [0j, (0.23662360703125174+0.9668410896909799j), 0j, (0.03464874399189194-0.08959375212849645j)],
 [0j, (0.03464874399189194+0.08959375212849645j), 0j, (-0.23662360703125174+0.9668410896909799j)]])

n_basis_gates = qiskit.quantum_info.two_qubit_cnot_decompose.num_basis_gates(unitary_bad)
print(n_basis_gates)

So the call to eigvals has not raised an error.
What is the matrix that is passed to eigvals? It looks like the following code will give it to me.
from scipy import linalg as la
import qiskit
import numpy as np
from qiskit.quantum_info.synthesis.weyl import transform_to_magic_basis

unitary_bad = np.array([[(0.23662360703125174+0.9668410896909799j), 0j, (0.03464874399189194-0.08959375212849645j), 0j],
 [(0.03464874399189194+0.08959375212849645j), 0j, (-0.23662360703125174+0.9668410896909799j), 0j],
 [0j, (0.23662360703125174+0.9668410896909799j), 0j, (0.03464874399189194-0.08959375212849645j)],
 [0j, (0.03464874399189194+0.08959375212849645j), 0j, (-0.23662360703125174+0.9668410896909799j)]])

def prepare_for_eigvals(U):
    U = U / la.det(U) ** (0.25)
    Up = transform_to_magic_basis(U, reverse=True)
    return Up.T @ Up

result = prepare_for_eigvals(unitary_bad)
print(result)

But, the result printed is
[[-1.60267025e-16+1.00000000e+00j -9.37283027e-18-1.36181701e-17j
   2.01085786e-18+1.50590401e-18j  1.11730739e-18-1.02267756e-18j]
 [-9.37283027e-18-1.36181701e-17j -1.96188399e-16+1.00000000e+00j
   1.39257162e-18+1.70219515e-18j  1.60107009e-19-9.09467378e-19j]
 [ 2.01085786e-18+1.50590401e-18j  1.39257162e-18+1.70219515e-18j
  -1.57938885e-16+1.00000000e+00j  9.45852359e-18+1.35987928e-17j]
 [ 1.11730739e-18-1.02267756e-18j  1.60107009e-19-9.09467378e-19j
   9.45852359e-18+1.35987928e-17j -1.94216235e-16+1.00000000e+00j]]

Which is different from the bad matrix.
In fact la.eigvals(result) gives
array([-1.60267025e-16+1.j, -2.22044605e-16+1.j, -2.22044605e-16+1.j,
       -1.94289029e-16+1.j])

So, I'm still unable to get a failing example. We need to find one in order to fix the problem. And we need to put it in the test suite to prevent a regression in the future.


It's easily twice as fast than the vanilla one.

@mirh  It's actually a good idea to speed up deflate-based hunks of data.
Also to get more decompression speed we should use LZMA 22.01 assembly helpers for x86 and AArch64.
ARM 32-bit won't get it, but it's better than nothing and should provide significant speedup on supported platforms as most hunks are LZMA.


Error on line 1, column 7: "name" field doesn't match expected name "hotkey_manager".   ╷ 1 │ name: hotkey_manager_workspace

Error on line 1, column 7: "name" field doesn't match expected name "hotkey_manager".
╷
1 │ name: hotkey_manager_workspace

Now that it has been converted to a federated plugin, please note its project structure

dependencies:
  hotkey_manager:
    git:
      path: packages/hotkey_manager
      url: https://github.com/leanflutter/hotkey_manager.git
      ref: main


App crash: E/BitmapFactory: Unable to decode stream: java.io.FileNotFoundException: /952.png (No such file or directory)

Is the bug present in the demo Chat SDK project?
I have followed the steps on Manual 3

What modifications have you made to the Chat SDK?

Android Version:
API26

Steps taken to reproduce the problem:

Run the app with Android Studio. I have the Splash Screen configured to be the login screen.

Create a new login (username and password)

Try to log in using the username and the password

Expected result:
I would expect to open the chat window

Actual result:

I get a rotating circle with a message saying "Authenticating"

A few seconds later, the App crashes. throwing the following error on Logcat:

E/BitmapFactory: Unable to decode stream: java.io.FileNotFoundException: /952.png (No such file or directory)

Comments:

I used chat-sdk version 4.8.2
I tried with several users but there was no luck. Each user has a different image but that doesn't seem to matter. I think these are the avatars, correct? How come it is not able to download them?
AppObj_java.txt

@canetcesc Hello, in order for us to fix this problem we need a few more bits of information from you. 1. Did you follow manuals 1 and 2 before that as well? 2. Did you add location based messages and push notifications to your app as shown in manual 3 as well? The user avatars should appear blank if for some reason the app fails to generate an image. This is why we have been unable to reproduce your problem. Can you please also send us the debugger output when the crash occurs the next time so that we can find the source of the problem.

Cloned the demo repo and worked oerfect.


fix pypi

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

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 47.761%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
160

Relevant Lines:
335

💛  - Coveralls


Divorce emoji

Whats the emoji for divorce

oh looks like Samsung actually has one from 2005 https://emojipedia.org/divorce-symbol/


Decide how to handle summary vs aggregate stats in METexpress

When calculating contingency table scores, METexpress currently displays the mean (summary) stat for each point (because it's the default in METviewer):
( f( hit_0, miss_0, fa_0, cn_0 ) + f( hit_1, miss_1, fa_1, cn_1 ) + … + f( hit_n, miss_n, fa_n, cn_n ) ) / n
rather than the overall (aggregate) stat:
f( Σ hit, Σ miss, Σ fa, Σ cn )
GSL very much wants METexpress to switch to using aggregate stats. Will this annoy EMC too much? Do we need to have both? Is the best way to handle this to switch to METcalpy?

I have emailed Jason Levit to ask if EMC would object to METexpress using
only the aggregate stat.
On Wed, Mar 2, 2022 at 5:23 PM Molly Smith @.***> wrote:

When calculating contingency table scores, METexpress currently displays
the mean (summary) stat for each point (because it's the default in
METviewer):
( f( hit_0, miss_0, fa_0, cn_0 ) + f( hit_1, miss_1, fa_1, cn_1 ) + … + f(
hit_n, miss_n, fa_n, cn_n ) ) / n
rather than the overall (aggregate) stat:
f( Σ hit, Σ miss, Σ fa, Σ cn )
GSL very much wants METexpress to switch to using aggregate stats. Will
this annoy EMC too much? Do we need to have both? Is the best way to handle
this to switch to METcalpy?
—
Reply to this email directly, view it on GitHub
https://github.com/dtcenter/METexpress/issues/73, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AG6HZORU3KZ4UIAO5MUJOO3U6ABAZANCNFSM5PY7F3OQ
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

--
Bonny Strong
NOAA/GSL and CIRA
office:<PHONE_NUMBER> or home:<PHONE_NUMBER>

From meetings week of Mar 6, Curtis suggests implement both ways.  EMC definitely wants the summary capability to be consistent with their historical record.  GSL definitely wants it done the "right" way (aggregrate).  Dave will discuss further with Curtis.
For now, go ahead with the aggregrate stat only for MODE app since EMC has no historical record with MODE>

Why is this considered Blocked?

It’s blocked because you and Dave were waiting to make a decision with the
SLT after your conversation with Jason Lovett about expected METexpress
behavior.
On Tue, Jul 5, 2022 at 11:57 PM bonnystrong @.***>
wrote:

Why is this considered Blocked?
—
Reply to this email directly, view it on GitHub
https://github.com/dtcenter/METexpress/issues/73#issuecomment-1175812488,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AHBWGZOIZAP6QDFOFLBPMYDVSUN4FANCNFSM5PY7F3OQ
.
You are receiving this because you were assigned.Message ID:
@.***>

Curtis says we need both.  Default should be "summary" (if that's right terminology)

Part of the METcalcpy effort for METexpress.

METexpress now lets users select whether they want the overall statistic, mean statistic, or median statistic, as long as those options are supported by the database (for example, pre-calculated stats have to be either mean or median, because their component sub-data is not stored in the database, only the final statistic per time period is).


Fix strange bug with regexes

For some reason the regex isn't   isn't updating x as it should.
I tried isolating, but no luck.
This fix is a bit more code, but it's good according to the spec,
so there should be no issues with backwards compatibility.

What exactly does it fix? Where is the updated test?

lastIndex updated as it should after one .exec() call, but afterwards reset to 0.
I will add a test when I get the chance. I just wanted to throw this up before I forgot about it.

regular expressions don't work for me with or without this change..
I get:
Uncaught TypeError: Expected a string
at: node_modules\escape-string-regexp\index.js:7
this happens with the regex examples in README.md too.

@jaruba This will be merged once a test has been added.

@mindeavor can you add a test?


Mention comment link leads to

Feature Description
In Gitea 1.18.3,
in the Issue editor,
https://git.calculate-linux.org/calculate/calculate-overlay/pulls/94#isuecomment-893 is rendered to #94 (and it's a link).
The proposition: to show that the link leads to the comment (not the issue itself).
Screenshots
No response

Please update to 1.22.
If I recall correctly, we already implemented something like this.

It's not mine...
Well, let's the second commenter will be free to close it.

Yes, it's true.


undefined renderers

npm run dev
leads to

<EMAIL_ADDRESS>dev
astro dev

error   Cannot read properties of undefined (reading 'renderers')
File:
/mnt/DatenSSD/Daten_Kei/HTML/BJJApp/astro/MatStats/node_modules/astro-service-worker/index.js:27:33
Code:
26 |       'astro:config:setup': async ({ config, command, injectScript }) => {
> 27 |         renderers = config._ctx.renderers;
|                                 ^
28 |         cfg = config;
30 |         /** Add SW registration script */
Stacktrace:
TypeError: Cannot read properties of undefined (reading 'renderers')
at astro:config:setup

FYI found this in one of the other issues: https://github.com/thepassle/astro-service-worker/issues/5#issuecomment-1411432182


⚠ Samsung has degraded performance

In e56d04f, Samsung (https://samsung.com) experienced degraded performance:

HTTP code: 200
Response time: 3003 ms

Resolved: Samsung performance has improved in 08690ad.


Support NF4 quantization of linear layers without LoRA applied

As pointed out by @janeyx99, our quantize_base argument will only quantize the base model weights of linear layers with LoRA applied to them (see e.g. here in our Llama3 self-attention builder). But this is kind of an artificial constraint.. there's no reason we can't just use the same to_nf4 API we use in LoRA here to quantize other nn.Linears to save memory. We can also define e.g. an NF4Linear class if we want (in fact we previously had such a class but ultimately didn't use it, see #465). We just need to figure out the right way to expose this. We could either

modify the default behavior with quantize_base to quantize all linear layers, or
add additional configurability, either e.g. a quantize_lora_layers_only bool or further per-linear configurability similar to what we currently have for our LoRA configs today (cf.). Personally I think the latter is overgeneralizing but open to discussion here

cc @joecummings, @winglian

Thought it might be useful to share a bit of context here on the original basis for this - we initially enabled quantize_base applying only for LoRA modules as we wanted to focus on replicating the original QLoRA implementation in the paper (https://arxiv.org/abs/2305.14314) and planned to follow up generalizing this if it was a popular user request.
Agreed there are no technical blockers in generalizing this, though pointing out that users probably can't directly use the to_nf4 API OOTB to achieve this currently as there's probably some things we do around the state_dict that would also need to be changed.
What about configuring it as we do for lora modules? So we specify lora_modules = [k_proj, v_proj, output_proj] and can also specify quantized_modules = [...] in a similar way.

By the way, there is also this config apply_lora_to_output that might be relevant--I'm not sure how it plays with lora_attn_modules if output_proj is specified. In the same way, what's the current mechanism to specify qlora over lora? Will that conflict semantically with the new proposed quantized_modules?
Maybe apply_lora_to_output should get merged/controlled by just lora_modules and quantized_modules could be consolidated with whatever logic switches lora to qlora today.

@janeyx99 sorry these are confusingly named. apply_lora_to_output is referring to the final projection back to the vocab_dim (i.e. the LM head), while output_proj inside of lora_attn_modules is just the output projection within each layer's self-attention. So they are actually referring to two different things. We've had some discussions around consolidating all of these args into a single lora_modules (similar to how it's exposed in PEFT) which may be clearer, but haven't prioritized it yet.

@ebsmothers I would prefer something along the lines of:
quantized_modules: true

to mean quantize everything and then use
quantized_modules = [...]

if a user wants more control. This adds to the validation complexity as I'd expect we would want to ensure that quantized_modules is a a superset of lora_modules.

@winglian does this mean quantized_modules is something like Union[bool, List[str]]? At least on torchtune we haven't received a ton of requests for really granular definitions of quantization logic. Based on that my assumption is that the bool version of quantized_modules you gave would suffice for a first version. However, I'd also be interested to know your perspective based on the axolotl community.. have you observed that users would want the additional level of configurability provided by specifying a full list of modules to quantize?

Generally, users haven't asked for that level of granularity. Additionally, most users don't understand how to track down the module names, especially since they may differ from one model architecture to another.
So just to summarize our collective ideas, we want to "modify the default behavior with quantize_base to quantize all linear layers" and not provide any additional granularity at this point in time.

@ebsmothers  Can this be closed by #1119?


Support HDFS via hdfs-native package

delta-rs recently got initial support for hdfs via this PR.
It would be great if we could do the same for delta-rs-kernel.
Duckdb recently introduced support for delta via kernel implementation but it can't be used with hdfs because of this missing integration.
Tagging @kimahriman to see if they can help out here!

Yeah, seems like we could add this since https://github.com/datafusion-contrib/hdfs-native-object-store just makes hdfs look like an object_store, thanks!
Not sure when I will have time to work on this, but if someone wants to make a PR I'd be open to it, and I will find time at some point.

@nicklan I would be interested in contributing to this, but I am completely new to this project.
Let me know if my understanding of the problem is correct, as I see it there are two ways to go about it:

Add hdfs support into the upstream object_store crate, but looking at their issue (https://github.com/apache/arrow-rs/issues/5638) they seem to prefer to keep hdfs separate.

Allow the current implementation to create object stores from object_store or hdfs_native_object_store crates

Similar to the implementation in delta-rs, you would match protocol schemes to the correct object store initializers
I.e.: hdfs:// -> hdfs_native_object_store::HdfsObjectStore and s3:// -> object_store::ObjectStore

2nd way would be the most straightforward and preferable I believe.

Sorry GitHub randomly decided to stop sending me email notifications. delta-rs just uses a dyn ObjectStore so it was fairly easy to integrate. Haven't looked much at this repo yet to see how it handles object store but hopefully is straightforward!

@nicklan I've marked my PR as ready, can you take a look?


Handle deploying images which do not currently have an active service

I started doing this as adding a feature but it looks like it was always intended to be able to do this and there was a bug, as https://github.com/wellcomecollection/weco-deploy/compare/deploy-to-nowhere?expand=1#diff-507e85bd7b4c730fe41fb4eeef25b929L210 would never have been falsy...

Well this is what happens when I don't write any tests. This looks good - running job in Buildkite here: https://buildkite.com/wellcomecollection/weco-deploy/builds/39 (won't trigger without recreating PR).


Added PrairieView loader imports from elements

@kabilar could you please advise on whether adding this PrairieView loader would be considered a minor update for this workflow repository so I can update the CHANGELOG accordingly?

@kabilar could you please advise on whether adding this PrairieView loader would be considered a minor update for this workflow repository so I can update the CHANGELOG accordingly?

Please update to version 0.2.0.

Thanks @kushalbakshi.  Could you will also need to update the version file.


Fix warnings in tests

Any update on this? It would be great to update to the latest versions of capybara and poltergeist and clean up some of the test warnings.

@sferik  you mean do I want to take another look at it? sure, I will tomorrow


Keeping whitespaces for text nodes

Regarding issue #22
I was fiddling a little with pest to fix this problem. Unfortunately there is no easy fix as the problem occurs when using implicit whitespaces. We can avoid the problem by using atomic rules. Unfortunately the rules we'd need to make atomic are also silent and there is no solution for atomic and silent rules yet (see https://github.com/pest-parser/pest/issues/520). There is also a discussion changing whitespace handling alltogether where some people recommended just not relying on implicit whitespaces and rather doing is explicitely. With this PR I tried to do that and added some tests to verify the whitespace parsing behavior.

Removed WHITESPACE rule to avoid pests implicit whitespace handling
Instead using the WSP rule explicitely where is makes sense

Tests are all green, so I am pretty confident that everything works as expected. Unfortunately I am a pest newbie. Therfore if you could review the rewritten grammar that would be pretty great!
Thanks!

Come on @mathiversen you marked my review comments as resolved without further comments?


Update delete resource modal texts

Fixes

https://issues.redhat.com/browse/HAC-2365
https://issues.redhat.com/browse/HAC-2364
https://issues.redhat.com/browse/HAC-2363
https://issues.redhat.com/browse/HAC-2358
https://issues.redhat.com/browse/HAC-2359
https://issues.redhat.com/browse/HAC-2360

Description

Updated delete application modal texts based on UX recommendation.
Updated delete component modal texts based on UX recommendation.

Type of change

[x] Bugfix

Screen shots / Gifs for design review

https://user-images.githubusercontent.com/6041994/209315998-cbe2aa92-dc5f-45a8-8c65-32e635975a03.mov
Browser conformance:

[x] Chrome
[ ] Firefox
[ ] Safari
[ ] Edge

/lgtm

/lgtm


doc: release: 3.5: add posix api release notes

doc: posix: add posix timers and clock selection
doc: release: 3.5: add posix api release notes

used past tense consistently


STAR-933 Add methods to PathUtils need for serverless

I also suggest to provide a meaningful commit message. Note that the discussion in the ticket doesn't really help to understand this patch.

Sure, I will update the commit message when squashing; I could perhaps describe the methods added:

Add deleteContent method that recursively deletes the contents of a directory, leaving the directory empty;
Add listPaths methods to list all the paths in a directory, optionally using a provided filter.

Suggestions welcome.

Sure, I will update the commit message when squashing; I could perhaps describe the methods added:

Add deleteContent method that recursively deletes the contents of a directory, leaving the directory empty;
Add listPaths methods to list all the paths in a directory, optionally using a provided filter.

Suggestions welcome.

It is good together with the current PR subject. So it is clear that the commit adds new API functions for the serverless/AstraDB need.


Endpoint to find originating App for command

An endpoint to be able to track back the App from which a command originates.

The RESTful way of doing this might be by adding parameters to the v1/apps endpoint.
For example, v1/apps?commandName=circle&commandNamespace=layout

From a conversation with @bdemchak offline, this splits into two issues:

Apps following best practices in using Automation functions should be grouping their functions by the App:xyz tag convention anyway. Our need for that is lessened.
Commands don't follow this convention at all. The closest analogy is the 'command namespace' which isn't governed by originating app, but rather by semantics. What might be worth doing is simply adding the originating app name to every Swagger operation's notes.

I still like the idea of a filter parameter on the v1/apps operation, but the above would be far easier to navigate.

Addressed in 5ad3478b42938eeeb2f1d58a2aff80f835d04e1a


Add xml doc output build option to csproj.

This project template will also be used for game projects soon. Also, I guess this should be added to the global PropertyGroup with $(OutputPath) instead of bin\Target.

Updated to use $(OutputPath) .


JupyterLab version (v3 to v4) update

There's an extension migration guide: https://jupyterlab.readthedocs.io/en/4.0.x/extension/extension_migration.html

Summary of the jupyter/base-notebook - JupyterLab version relationship on the repo wiki.
@ftorradeflot If I recall correctly, did you mention that the python version of the jupyter/scipy-notebook that you were spawning were coming with jlab v3 and python >3.9 ? I would like to know which is this scipy-notebook version and where are you pulling it from. Thanks !

No, I couldn't find a version with python 3.9. I created my own environment using another image. The scripts to launch a test environment are almost ready, see my fork of the project

Current progress on fork:
https://github.com/garciagenrique/jupyterlab-extension/pull/5


Add workflow to deploy Python library to PyPi (#1230)

Purpose

This PR adds a new GitHub workflow to publish the Python library to PyPi.
Remarks

PR introduces (a) breaking change(s): no
PR introduces (a) deprecation(s): no

@bossenti Do you know what's the problem with the Pull Request Labeler?

Hm, I'm not entirely sure.
Had this also from time to time, maybe we need to investigate somewhen 😅


Add storage size component to weights

This PR adds the long-awaited storage size weight component to the Weight struct in sp-weights.
Part of #12176.

What I just realized is that we don't need a CompactAs implementation when the fields of the Weight struct are compact by default. In that case, when Weight appears in a parameter of an extrinsic, no #[pallet::compact] is necessary at all.

Okay so now CI is failing on runtime integrity tests, because the extrinsic weights have a proof size of 0, hence they are not strictly greater than 0, which is what we require:
// Make sure that if total is set it's greater than base_block &&
// base_for_class
error_assert!(
	(max_for_class.all_gt(self.base_block) && max_for_class.all_gt(base_for_class))
	|| max_for_class == Weight::zero(),
	&mut error,
	"[{:?}] {:?} (total) has to be greater than {:?} (base block) & {:?} (base extrinsic)",
	class, max_for_class, self.base_block, base_for_class,
);
// Max extrinsic can't be greater than max_for_class.
error_assert!(
	weights
		.max_extrinsic
		.unwrap_or(Weight::zero())
		.all_lte(max_for_class.saturating_sub(base_for_class)),
	&mut error,
	"[{:?}] {:?} (max_extrinsic) can't be greater than {:?} (max for class)",
	class,
	weights.max_extrinsic,
	max_for_class.saturating_sub(base_for_class),
);
// Max extrinsic should not be 0
error_assert!(
	weights.max_extrinsic.unwrap_or_else(Weight::max_value).all_gt(Weight::zero()),
	&mut error,
	"[{:?}] {:?} (max_extrinsic) must not be 0. Check base cost and average initialization cost.",
	class, weights.max_extrinsic,
);
// Make sure that if reserved is set it's greater than base_for_class.
error_assert!(
	reserved.all_gt(base_for_class) || reserved == Weight::zero(),
	&mut error,
	"[{:?}] {:?} (reserved) has to be greater than {:?} (base extrinsic) if set",
	class,
	reserved,
	base_for_class,
);
// Make sure max block is greater than max_total if it's set.
error_assert!(
	self.max_block.all_gte(weights.max_total.unwrap_or(Weight::zero())),
	&mut error,
	"[{:?}] {:?} (max block) has to be greater than {:?} (max for class)",
	class,
	self.max_block,
	weights.max_total,
);
// Make sure we can fit at least one extrinsic.
error_assert!(
	self.max_block.all_gt(base_for_class + self.base_block),
	&mut error,
	"[{:?}] {:?} (max block) must fit at least one extrinsic {:?} (base weight)",
	class,
	self.max_block,
	base_for_class + self.base_block,
);

Should these all be any_* instead of all_*? Or should we actually start filling up the proof size weight for each extrinsic?

Or should we actually start filling up the proof size weight for each extrinsic?

I think we should, https://github.com/paritytech/substrate/issues/12251. But it could legitimately be that the base_extrinsic is zero, since we only read/write overlayed storage. So for now just short-circuit them with any_gt and add it as TODO to the issue?

There's a unit test that I keep failing right now, and it seems to be related to how the storage root has changed after executing a test extrinsic. Here's the code for the test:
fn block_import_works() {
	block_import_works_inner(
		new_test_ext_v0(1),
		hex!("1039e1a4bd0cf5deefe65f313577e70169c41c7773d6acf31ca8d671397559f5").into(),
	);
	block_import_works_inner(
		new_test_ext(1),
		hex!("75e7d8f360d375bbe91bcf8019c01ab6362448b4a89e3b329717eb9d910340e5").into(),
	);
}
fn block_import_works_inner(mut ext: sp_io::TestExternalities, state_root: H256) {
	ext.execute_with(|| {
		Executive::execute_block(Block {
			header: Header {
				parent_hash: [69u8; 32].into(),
				number: 1,
				state_root,
				extrinsics_root: hex!(
					"03170a2e7597b7b7e3d84c05391d139a62b157e78786d8c082f29dcf4c111314"
				)
				.into(),
				digest: Digest { logs: vec![] },
			},
			extrinsics: vec![],
		});
	});
}

Am I correct in thinking that this is actually functioning as expected due to the addition of a new field in Weight, and we should instead change the expected state root for this test?

Am I correct in thinking that this is actually functioning as expected due to the addition of a new field in Weight, and we should instead change the expected state root for this test?

Yes looks like weights are stored in state on initialization.
Changing the roots should be fine (
	#[test]
	fn block_import_works() {
		block_import_works_inner(
			new_test_ext_v0(1),
			hex!("0d786e24c1f9e6ce237806a22c005bbbc7dee4edd6692b6c5442843d164392de").into(),
		);
		block_import_works_inner(
			new_test_ext(1),
			hex!("348485a4ab856467b440167e45f99b491385e8528e09b0e51f85f814a3021c93").into(),
		);
	}
``` I think)

bot merge

Hm... this is really annoying for chains that don't have PoV, now I need to learn the concept which is not applicable to the chain whatsoever. Is there a chance to make it optional somehow?

You can do so by setting the max proof size to u64::MAX. The docs somewhere should mention this, but unsure where exactly.

This pull request has been mentioned on Polkadot Forum. There might be relevant details there:
https://forum.polkadot.network/t/polkadot-release-analysis/1026/2


Executing multi statement queries

is it possible to run multi statement sql queries?
or is it possible to set this parameter allowMultiQueries=true to allow multi statements?
query = 'create table ...; insert .. ; delete ...insert ;'
with self._db_connection.cursor() as curr:
    curr.execute(query)

currently running multi statement queries failing with following error
redshift_connector.error.ProgrammingError: {'S': 'ERROR', 'C': '42601', 'M': 'cannot insert multiple commands into a prepared statement', 'F': '/home/ec2-user/padb/src/pg/src/backend/tcop/postgres.c', 'L': '2724', 'R': 'exec_parse_message'}

related to #13

Hey @ismailsimsek ,
At this time this functionality is not supported in redshift_connector because prepared statements are always used for execution.
You could use an approach similar to shown below:
query = 'create table ...; insert .. ; delete ...insert ;'
queries = query.split(';')
with self._db_connection.cursor() as curr:
    for q in queries:
      curr.execute(q)

If the approach poses above doesn't help, providing some more details about your use case either in this issue or directly to the Amazon Redshift Driver team via redshift-drivers[at]amazon.com could help us determine prioritization for this issue internally.
As a side note, our Amazon Redshift JDBC Driver supports multiple queries, though we have seen many customers opt to disable this functionality as it poses a security risk (i.e. SQL injection).