wip: allow blob storage in s3

TODO

[ ] add some kind of db trigger or frame hook for confirming all blob reads in tests have calls for exhaustBlobs() when running s3 integration tests
[ ] clean up TODOs, FIXMEs, process.exit() calls
[x] consider cli script to:

[x] exhaustAllBlobs()
[x] mark all FAILED as PENDING

[x] handle request timeouts
[x] send errors to sentry instead of process.exit()
[x] integrate properly with job workers
[x] combine api clients for soak test and s3 tests (depends on https://github.com/getodk/central-backend/pull/1081)
[x] remove logging
[x] de-duplicate sanitize*() functions
[x] minimise package-lock.json changes
[x] resolve TODOs in lib/util/s3.js

Tests which touch blobs:

should not be able access closed forms and its sub-resources
should filter out submission and backup events given action=nonverbose
should override blob and link dataset
should not link dataset if previous version has blob
should not autolink if attachment already filled in
should throw problem if blobId and datasetId are being set
should not throw problem for fast external itemsets when there is existing "itemsets" dataset
should not throw problem for new version of "fast external itemsets" when there is existing "itemsets" dataset
should accept xlsx drafts
should ignore xlsx warnings if asked
should deal with xlsx itemsets
should pick up xlsx itemsets when newly required
should pick up new xlsx itemsets replacing the old one
should carry forward matching published attachments
should carry forward matching draft attachments
should provide attachments as expected
should return a manifest
should accept the file with a success result
should accept xml type files
should replace an extant file with another
should allow the same file in different slots
should log the action in the audit log
should reject unless the user may update the form
should delete the attachment contents
should log the action in the audit log
should accept and convert valid xlsx files
should fail on warnings even for valid xlsx files
should create the form for xlsx files with warnings given ignoreWarnings
should apply itemsets.csv if it is returned and expected
should ignore itemsets.csv if it is returned but not expected
should return an appropriate response upon conversion error
should accept xls forms and return them over that endpoint
should reject with xls and deleted form exists warnings
should reject with xls and structure changed warnings
should create the form for xml files with warnings given ignoreWarnings
should reject if the user cannot read
should return xls notfound given xlsx file
should return the xlsx file originally provided
should return the xlsx file originally provided
should continue to offer the xlsx file after a copy-draft
should not continue to offer the xlsx file after a noncopy-draft
should allow xls file download only
should return xls content type with extended form details
should include attachments that have been uploaded
should flag exists: true for extant files
should return upload updatedAt for extended metadata
should return deletion exists and updatedAt for extended metadata
should reject unless the user may read the form
should return file contents with appropriate headers
should return 304 content not changed if ETag matches
should return latest content and correct ETag
should reject if the draft has been published
should reject if the draft has been deleted
should reject if the key is wrong
should return a manifest with present attachments
should reject if the draft has been published
should reject if the draft has been deleted
should reject if the key is wrong
should return the attachment
should return xls content type with extended form details
should return the xlsx file originally provided
should return a manifest
should return a list of attachments
should return an attachment
should not make additional form schemas for a form with unchanged fields
should make additional form schema when fields change
should return a single row result
should return success if "uuid:" prefix is encoded
should return an accurate edit count
should return a single encrypted frame (no formdata)
should return a single encrypted frame (has formdata)
should return subtable results
should limit and offset subtable results
should return just a count if asked
should gracefully degrade on encrypted subtables
should return encoded URLs
should return a single row result with all properties
should return a single row result with selected properties
should return a single row result with all system properties
should return subtable results with selected properties
should not return parent IDs if __id is selected
should return only parent ID
should return toplevel rows
should return subtable results
should limit and offset toplevel rows
should limit Submissions
should ignore $skip when $skipToken is given
should have no impact on skipToken when a new submission is created
should limit and filter Submissions
should limit and return selected fields of Submissions
should provide toplevel row count if requested
should return submitter-filtered toplevel rows if requested
should return submissionDate-filtered toplevel rows if requested
should only return submissions with submissionDate gt provided timestamp
should return submissionDate-filtered toplevel rows with a function
should return updatedAt-filtered toplevel rows if requested
should return reviewState-filtered toplevel rows if requested
should filter toplevel rows by $root expression
should count correctly while windowing
should count correctly while filtering
should count correctly while filtering and windowing
should return encrypted frames (no formdata)
should return encrypted frames (has formdata)
should limit and offset subtable results
should filter subtable results
should filter and paginate subtable results
should count correctly while filtering and windowing subtable
should limit subtable results
should limit and filter subtable
should gracefully degrade on encrypted subtables
should return toplevel rows with selected properties
should return toplevel rows with group properties
should return toplevel row with nested group properties
should return subtable results with selected properties
should return only parent ID
should return subtable results with group properties
should return results even when repeat name is not a valid OData name
should return submissions in specified order
should combine orderby and other things like filtering
should return null values at the correct end of list with orderby
should reject if both orderby and skiptoken are used together
should return a single row result
should return toplevel rows
should not be able access closed forms and its sub-resources
should save given attachments
should save attachments with unicode / non-english char
should not fail given identical attachments
should not fail given identical attachment references
should create audit log entries for saved attachments
should save client audit log attachments
should take in additional attachments via additional POSTs
should successfully save attachment binary data
should successfully save additionally POSTed attachment binary data
should accept encrypted submissions, with attachments
should accept the new submission
should copy forward missing attachments
should replace extant attachments
should upsert attachments
should save client audit log attachments
should copy forward matching attachments
should pass the appropriate parameters to the enketo module
should return a zipfile with the relevant data
should include all repeat rows @slow
should not include data from other forms
should return a submitter-filtered zipfile with the relevant data
should return a review state-filtered zipfile with the relevant data
should return a submissionDate-filtered zipfile with the relevant data
should return an updatedAt-filtered zipfile with the relevant data
should return a zipfile with the relevant attachments
should filter attachments by the query
should list the original submitted form version per submission
should split select multiple values if ?splitSelectMultiples=true
should omit multiples it does not know about
should split select multiples and filter given both options
should export deleted fields and values if ?deletedFields=true
should skip attachments if ?attachments=false is given
should give the appropriate filename if ?attachments=false is given
should omit group paths if ?groupPaths=false is given
should split select AND omit group paths given both options
should properly count present attachments
should return worker-processed consolidated client audit log attachments
should return adhoc-processed consolidated client audit log attachments
should return consolidated client audit log filtered by user
should return consolidated client audit log filtered by review state
should return the latest attached audit log after openrosa replace
should return the latest attached audit log after REST replace
should tolerate differences in line lengths
should tolerate quote inside unquoted field of client audit log
should return original instanceId and latest attached audit log when instanceId deprecated with new audit log
should return the root csv table
should return only the root csv table given repeats
should split select multiple values if ?splitSelectMultiples=true
should export deleted fields and values if ?deletedFields=true
should split select multiple values if ?splitSelectMultiples=true
should return draft submissions
should not include draft submissions in nondraft csvzip
should split select multiple values submitted over /test/ if ?splitSelectMultiples=true
should return attachment information
should return notfound if the attachment does not exist
should reject if the user cannot read
should return attachment data
should return a draft attachment
should not return a draft attachment nondraft
should return notfound if the form does not exist
should return notfound if the submission does not exist
should reject if the user cannot update a submission
should reject if the attachment does not exist
should attach the given file
should log an audit entry about initial attachment
should log an audit entry about reattachment
should clear the given attachment
should log an audit entry about the deletion
should delete a draft attachment
should not delete a draft attachment nondraft
should count failed audits
should count the total number of client audit submission attachments
should count client audit attachments that failed processing
should count the number of rows extracted from client audit attachments
should calculate forms with audits
should combine system level queries
should fill in all project.forms queries
should not purge xls blob that is still referenced
should handle blob collisions and not purge still attached blobs
should show submissions in odata
should show submissions in odata when label added
should reject with a reasonable message given incorrect passphrase
should decrypt to CSV successfully
should decrypt to CSV successfully as a direct root table
should decrypt with passphrases provided via url-encoded POST body
should decrypt over cookie auth with passphrases provided via url-encoded POST body
should decrypt with passphrases provide via JSON POST body
should decrypt attached files successfully
should strip .enc suffix from decrypted attachments
should decrypt client audit log attachments
should decrypt client audit log attachments
should handle mixed [plaintext/encrypted] attachments (not decrypting)
should handle mixed [plaintext/encrypted] attachments (decrypting)
should handle mixed[plaintext/encrypted] formdata (decrypting)
should handle mixed[plaintext/encrypted] formdata (not decrypting)
should handle mixed[managedA/managedB] formdata (decrypting)
should handle mixed [plaintext/missing-encrypted-xml] formdata (decrypting)
should handle mixed [plaintext/missing-encrypted-xml] formdata (not decrypting)
should purge attachments (and blobs) of a form
should purge attachments and blobs associated with the submission
should purge client audit log attachments
should purge xls blob of a form
should copy forward matching attachments
should not copy forward nonmatching attachments
should not be able access closed forms and its sub-resources
should be able to list form submissions
should be able to download submissions
should be able to get submission detail
should be able to fetch a submission attachment
should handle when field changes from select1 to select (selectMultiple)
should do nothing if the attachment is not a client audit
should process the given logs
should not reprocess already-processed logs

Identified uses

[ ] /home/user/workspaces/odk/backend/lib/model/query/form-attachments.js:36:16
[ ] /home/user/workspaces/odk/backend/lib/worker/submission.attachment.update.js:30:36
[ ] Transform.transform [as _transform] (/home/user/workspaces/odk/backend/lib/data/briefcase.js:328:44)
[ ] _makeAttachment (/home/user/workspaces/odk/backend/lib/model/query/submission-attachments.js:31:7)
[ ] /home/user/workspaces/odk/backend/lib/util/blob-response.js:26:21

Unidentified uses
get content [as content] (/home/user/workspaces/odk/backend/lib/model/frames/blob.js:49:11)
    at /home/user/workspaces/odk/backend/lib/model/query/blobs.js:25:50
    at module.<computed> [as ensure] (/home/user/workspaces/odk/backend/lib/model/container.js:30:33)
    at /home/user/workspaces/odk/backend/lib/model/query/forms.js:40:53
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)

get content [as content] (/home/user/workspaces/odk/backend/lib/model/frames/blob.js:49:11)
    at /home/user/workspaces/odk/backend/lib/model/query/blobs.js:25:50
    at module.<computed> (/home/user/workspaces/odk/backend/lib/model/container.js:30:33)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async Promise.all (index 1)

get content [as content] (/home/user/workspaces/odk/backend/lib/model/frames/blob.js:49:11)
    at /home/user/workspaces/odk/backend/lib/model/query/blobs.js:25:50
    at module.<computed> (/home/user/workspaces/odk/backend/lib/model/container.js:30:33)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async Promise.all (index 2)
    at async Object.transaction (/home/user/workspaces/odk/backend/node_modules/slonik/dist/src/connectionMethods/transaction.js:22:24)
    at async Object.createConnection (/home/user/workspaces/odk/backend/node_modules/slonik/dist/src/factories/createConnection.js:97:18)

Identified Uses

[ ] ./lib/model/query/form-attachments.js:36:16
[ ] ./lib/worker/submission.attachment.update.js:30:36
[ ] Transform.transform [as _transform] (./lib/data/briefcase.js:328:44)
[ ] _makeAttachment (./lib/model/query/submission-attachments.js:31:7)
[ ] ./lib/util/blob-response.js:26:21

Unidentified Uses
get content [as content] (./lib/model/frames/blob.js:49:11)
    at ./lib/model/query/blobs.js:25:50
    at module.<computed> [as ensure] (./lib/model/container.js:30:33)
    at ./lib/model/query/forms.js:40:53
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)

get content [as content] (./lib/model/frames/blob.js:49:11)
    at ./lib/model/query/blobs.js:25:50
    at module.<computed> (./lib/model/container.js:30:33)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async Promise.all (index 1)

get content [as content] (./lib/model/frames/blob.js:49:11)
    at ./lib/model/query/blobs.js:25:50
    at module.<computed> (./lib/model/container.js:30:33)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async Promise.all (index 2)
    at async Object.transaction (./node_modules/slonik/dist/src/connectionMethods/transaction.js:22:24)
    at async Object.createConnection (./node_modules/slonik/dist/src/factories/createConnection.js:97:18)

Slonik is issuing an extra SQL query every time the s3_status column is referenced(?)
2024-08-24 09:19:28.760 UTC [502] LOG:  execute <unnamed>: SELECT oid, typarray, typname FROM pg_type WHERE typname = ANY($1::text[])
2024-08-24 09:19:28.760 UTC [502] DETAIL:  parameters: $1 = '{date,int8,interval,numeric,timestamp,timestamptz}'
2024-08-24 09:19:28.771 UTC [502] LOG:  execute <unnamed>: SELECT COUNT(*) FROM blobs WHERE s3_status=$1
2024-08-24 09:19:28.771 UTC [502] DETAIL:  parameters: $1 = 'failed'

In slonik:
https://github.com/gajus/slonik/blob/d43cfa33eea6a8ac82277c8a72f3e436522b1602/src/routines/createTypeOverrides.ts#L21-L25

Slonik is issuing an extra SQL query every time the s3_status column is referenced(?)

This is not a concern, as it looks like the query is made only once per connection pool.  It happens frequently in the integration tests on this branch, as each call to node lib/bin/s3.js creates a new connection pool.


[confidential-extension] Add a mechanism to update withdraw_withheld_authority_encryption_pubkey

With pr #3938, there is no mechanism to update the encryption public key of a confidential extension withdraw withheld authority associated with a mint. It would be great to add a way to rotate this key in the mint.
The difficulty with rotating the withdraw authority encryption key is that there could be (encrypted) withheld amount left in a user's account. If the encryption key is updated in the mint, but some withheld amount in a user's account is encrypted with the old pubkey, then this withheld amount cannot be decrypted and could pollute other withheld amounts that are encrypted under the newly updated public key.
The safest way to rotate the withdraw authority encryption key is to

lock confidential transfers at the mint level
harvest all the withheld fees (associated with the confidential extension)
update the key
unlock confidential transfers.

Whether there is an alternate way to rotate the key requires some more thought. If the above approach is the only method, then a new instruction to lock and unlock confidential transfers at the mint level should be added.

Hi
I am an Ai and blockchain(Solana,Solidity, Smart contract, Economics...) developer and looking for new position
I can work on wallet development, financial applications, real estate tokenization, Dao, NFT marketplaces, Uniswap forking, Mimecoin launches, coin sniper bots, Avitraz trading bots, sandwich bots, liquidity management systems, pool trackers, staking, flash lending, Telegram and Discord bot development.
I can do this on EVM compatible chains and Solana.
Thank you


Handle more gracefully when no deps

Just a "# Package has no dependencies" line in the dotstrgen

example: URIs


roc-toolkit: 0.1.5 -> 0.2.1

Description of changes
Update roc-toolkit, as requested by #208352. This required a patch to workaround https://github.com/roc-streaming/roc-toolkit/issues/503.
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.05 Release Notes (or backporting 22.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[ ] Fits CONTRIBUTING.md.

Unfortunately it appears that pipewire does not compile with these changes.
Cc @ribosomerocker

Marking as draft due to pipewire incompatibility.

It appears that we will be unable to merge this until the next release of pipewire (which will presumably include https://gitlab.freedesktop.org/pipewire/pipewire/-/merge_requests/1474) is available.

Nice! Thank you very much for your PR. We could merge this PR when the new release comes out, but we could also cherry pick the patch then apply this (an idea someone had on the pipewire matrix room), but I'm not quite sure which solution would be the better one. For me this isn't quite as much of an emergency but it doesn't seem like a new release will happen any time soon.

The patch does seem a tad large to backport. As far as I can tell, pipewire releases pretty regularly so I think it would be fine just to wait.

Pipewire 0.3.64 is out, I'll pick this into that branch.

Alright, so that was merged (but into stage-next? I don't really know what that does), maybe now it should work?

Yes, it should be in unstable by now.


⚠ Bofrost.si has degraded performance

In cb87978, Bofrost.si (https://www.bofrost.si) experienced degraded performance:

HTTP code: 200
Response time: 10871 ms

Resolved: Bofrost.si performance has improved in d5e40f1 after 6 minutes.


Still Confuse about Select2 Ajax

Bug report
What I did:
I was Create Database and Crud File with Model Relationship
What I expected to happen:
Just Show City with Relationship ( Province ID)
What happened:
I don't know for select2_from_ajax in select city with depend province selected
What I've already tried to fix it:
This my crudcontroller
[
                'label' => "Province", // Table column heading
                'type' => "select2_from_ajax",
                'name' => 'province_id', // the column that contains the ID of that connected entity
                'entity' => 'province', // the method that defines the relationship in your Model
                'attribute' => "province_name", // foreign key attribute that is shown to user
                'model' => "App\Models\Province", // foreign key model
                'data_source' => url("api/searchprovince"), // url to controller search function (with /{id} should return model)
                'placeholder' => "Select a Province", // placeholder for the select
                'minimum_input_length' => 2, // minimum characters to type before querying results
            ],
            // 1-n relationship
            [
                'label' => "City", // Table column heading
                'type' => "select2_from_ajax",
                'name' => 'city_id', // the column that contains the ID of that connected entity
                'entity' => 'city', // the method that defines the relationship in your Model
                'attribute' => "city_name", // foreign key attribute that is shown to user
                'model' => "App\Models\City", // foreign key model
                'data_source' => url("api/searchcity"), // url to controller search function (with /{id} should return model)
                'placeholder' => "Select a City", // placeholder for the select
                'minimum_input_length' => 2, // minimum characters to type before querying results
            ],

Province Select ( Select Province First But not Show City on That Province )

I want this ( Just Show Only City with Relation ID in Province or province_id )

Database Relations Table

City With Relation ( province_id )

Backpack, Laravel, PHP, DB version:
"backpack/crud: "^3.4",
PHP : 7.2
Mysql : 5.7.21

And This my API / Json Output with relation province id

@imansugirman from what I can tell, you're looking to create a select2 whose results depend on another select2.
This is NOT a supported Backpack feature, yet. Solutions:

You'll have to create a custom field type for your second select2, that also passes the first input through AJAX, then adapt your PHP method that returns the results to take that into account.

Overwrite the select2_from_ajax field by running php artisan backpack:crud:publish fields/select2_from_ajax, then make the modifications here to it. Then filter your result set in PHP like I did in the example in the PR. I expect this PR to be merged in a few hours/days, since it's non-breaking. When we do, you can delete your custom select2_from_ajax file from your project.

Thank you for submitting the issue, it's what made me think of this solution and submit the PR :-)
Cheers!

In Developer Tools, you can go to the Network tab and click on that actual request to see what the exact problem is in your PHP code. You'll be able to see your error message.

XHR Problem

@imansugirman There is your error.
Undefined index: province

Something in your code is using province without testing it exists first.
Try replacing things like $form['province'] with data_get($form, 'province')

hi @OwenMelbz still error 500

This was Solved. change
if (! $form['province_id']) {
            return [];
        }

        // if a category has been selected, only show articles in that category
        if ($form['province_id']) {
            $options = $options->where('province_id', $form['province_id']);
        }

        }


Uff, I experienced the same issue on github for a week now, apparently the extension was active because I had an empty rule (and it matched all websites?). Not sure how I ended up with the empty rule, the extension doesn't allow creating an empty one, maybe it happened during an upgrade.

Ah, right, an empty rule would match anything. The following evaluates to true:
(new RegExp('')).test('anything')

I should be able to make some changes to better prevent empty rules from being created, and can definitely skip evaluating empty patterns.

I just released version 2.4 which includes fixes for empty rules.

I believe I've fixed the issue @maximbaz brought up.
@alexboutros, if that didn't fix your problem, feel free to reopen this issue.


Account request approved but on account registration not approved

I received an email titled "Account request approved" and a link to complete the registration last Firday(02/11/2022) and have since not been able to create an account.
I'm using the same email but continuously getting the error, "You haven’t been approved to create an account or your approval has expired. Please request an account."
I was told by a aws service representative to report the issue here.

GuiShenHe, apologies for the delay, we are processing requests quickly. Please keep a look out for approvals in your inbox.

GuiShenHe, apologies for the delay, we are processing requests quickly. Please keep a look out for approvals in your inbox.

Should I re-request an account?

Hi GuiShenHe,
Apologies for the experience you have been having so far.
Have you attempted to re-request an account with the same email? If you did so, you should have been re-sent a registration.
To aid in investigation, you may also pass your email through this tool and respond with the output SHA of your email address: https://emn178.github.io/online-tools/sha256.html
Thank you.

Dear @GuiShenHe , do you still have the issue? If you already solve the problem, please close the issue.

@darlyan 7476619db4dec1d48cfbf3cedb0f724a96ffa8bd2f8cfe19aa8f28978de08821
@icoxfog417 I re-registered/requested with the same email over a month ago and I still have not received approval. I had assumed there was a long queue, but my friends seem to have gotten approval way quicker.

Dear @GuiShenHe , I understood your long patience. Would you please refer #99 and submit the form? We can check the submitted information. At the same time please confirm your mailbox whether the approval email is sent or not.

Dear @GuiShenHe , if your account is not approved yet, please let us know again. I close this issue.


Improved mime type handling in mediaPicker component

Context

Summary
Follow up from https://github.com/google/web-stories-wp/pull/8067. If a user select a incompatible file type and crops it. Ensure an error is shown.
Relevant Technical Choices

To-do

User-facing changes

Testing Instructions

QA

[ ] This is a non-user-facing change and requires no QA

This PR can be tested by following these steps:

Open editor.
Select document tab
Open media picker to select poster image.
Drag .bmp file into media dialog.
Click Select.
See snackbar message.

UAT

[ ] UAT should use the same steps as above.

This PR can be tested by following these steps:

Reviews
Does this PR have a security-related impact?

Does this PR change what data or activity we track or use?

Does this PR have a legal-related impact?

Checklist

[ ] This PR addresses an existing issue and I have linked this PR to it in ZenHub
[ ] I have tested this code to the best of my abilities
[ ] I have verified accessibility to the best of my abilities (docs)
[ ] I have verified i18n and l10n (translation, right-to-left layout) to the best of my abilities
[ ] This PR contains automated tests (unit, integration, and/or e2e) to verify the code works as intended (docs)
[ ] I have added documentation where necessary
[ ] I have added a matching Type: XYZ label to the PR

Fixes #

If a user select an incompatible file type and crops it. Ensure an error is shown.

Why can an incompatible file type be selected in the first place? 🤔
Could you add some testing instructions so I can better understand this?

Could you add some testing instructions so I can better understand this?

Added QA details

This PR can be tested by following these steps:

Open editor.
Select document tab
Open media picker to select poster image.
Drag .bmp file into media dialog.
Click Select.
See snackbar message.

@spacedmonkey I can't really do that 🤔
What happens for me on main:

Open editor
Select document tab
Open media picker to select poster image
Drag .bmp file into media dialog
Click "Select as poster image"
Get snackbar message Please choose only gif, jpe, jpeg, jpg, png, or webp as a poster.

The same thing happens on this PR, so I don't see a difference.

The same thing happens on this PR, so I don't see a difference.

Yeah, I guess I was trying to overly careful here. The php change is still valid. Without it, if you filter the images types, it can end up as an object.


Missing report of the retried test when using pytest-xdist

Hi, I was testing the compatibility of the plugin with pytest-xdist to use it in my project and saw that the feature is missing, so I am reporting it here.
Minimal reproducible example
In test_flaky.py
import pytest

a = 0

@pytest.mark.flaky(retries=3)
def test_flaky() -> None:
    global a

    a += 1
    assert a == 3

Without pytest-xdist:
$> pytest -k "test_flaky"
============================================================================= test session starts ==============================================================================
platform linux -- Python 3.11.6, pytest-7.4.4, pluggy-1.3.0
rootdir: /home/XXXX/Test/flaky-tests
plugins: xdist-3.5.0, retry-1.5.0
collected 1 item

test_flaky.py R.                                                                                [100%]

======================================================================= the following tests were retried =======================================================================
        test_flaky failed on attempt 1! Retrying!
        Traceback (most recent call last):
          File "/home/XXXX/Test/flaky-tests/test_flaky.py", line 11, in test_flaky
            assert a == 3
        AssertionError: assert 1 == 3

        test_flaky failed on attempt 2! Retrying!
        Traceback (most recent call last):
          File "/home/XXXX/Test/flaky-tests/test_flaky.py", line 11, in test_flaky
            assert a == 3
        AssertionError: assert 2 == 3

=========================================================================== end of test retry report ===========================================================================

========================================================================= 1 passed, 1 retried in 0.02s =========================================================================

With pytest-xdist:
$> pytest -n 2 -k "test_flaky"
============================================================================= test session starts ==============================================================================
platform linux -- Python 3.11.6, pytest-7.4.4, pluggy-1.3.0
rootdir: /home/XXXX/Test/flaky-tests
plugins: xdist-3.5.0, retry-1.5.0
2 workers [1 item]
R.                                                                                [100%]
========================================================================= 1 passed, 1 retried in 0.28s =========================================================================

@francis-clairicia Thanks for reporting this. Overall with pytest-xdist hasn't been a priority of this plugin until now, but it wasn't too difficult to add a server for the main xdist process to collect and build a complete retry report. See https://github.com/str0zzapreti/pytest-retry/pull/29 .
Based on my own experience, I would still recommend parallelizing tests using your CI tool of choice rather than pytest-xdist as it often scales better and usually avoids these sorts of incompatibilities, but I understand that's not always possible! Anyway, once I finish testing this new feature it'll go out with version 1.6.0.

In my case, I can't override xdist, but I agree that it's best to avoid using it if you don't have to.

Yup, been there. Let me know if you notice any issues with the new version!


feat: add multi signature scheme

Address example:0x0dc8e109d5dd2bee6746ca1d6fd9919659bdb28a
Signature base64 example:AZ0DU4T3WgMT2AWsczEus1Xl08Q1VsTZu6pPE0e1Op1LRqEz+FL+FgKjQDlVU3r6HAKBImJ3OyHZd4cHFudcbzABAhZubOzkI26ArLlTxnxFZSQy67JFBaPlrFJe6aTA58Lw

[x] support ed25519 signature scheme
[x] support secp256k1 signature scheme
[ ] update the verification of abci_impl
[ ] update the store sdk
[ ] update the db3js

Codecov Report

Merging #275 (5ae9321) into main (a078362) will decrease coverage by 4.79%.
The diff coverage is 2.09%.

@@            Coverage Diff             @@
##             main     #275      +/-   ##
==========================================
- Coverage   54.86%   50.08%   -4.79%
==========================================
  Files          41       47       +6
  Lines        3820     4201     +381
==========================================
+ Hits         2096     2104       +8
- Misses       1724     2097     +373

Flag
Coverage Δ

rust
50.08% <2.09%> (-4.79%)
:arrow_down:

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

Impacted Files
Coverage Δ

src/crypto/src/db3_serde.rs
0.00% <0.00%> (ø)

src/crypto/src/lib.rs
100.00% <ø> (ø)

src/crypto/src/signature_scheme.rs
0.00% <0.00%> (ø)

src/error/src/lib.rs
100.00% <ø> (ø)

src/crypto/src/db3_signature.rs
1.51% <1.51%> (ø)

src/crypto/src/db3_keypair.rs
2.73% <2.73%> (ø)

src/crypto/src/db3_public_key.rs
3.12% <3.12%> (ø)

src/crypto/src/db3_address.rs
3.27% <3.27%> (ø)

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

This PR exceeds the recommended size of 1200 lines. Please make sure you are NOT addressing multiple issues with one PR. Note this PR might be rejected due to its size.


Cython compile errors

Describe the bug
I can't install h5py because of some cython compile errors
Code to reproduce the behaviour:
To reproduce the error type this
pip install h5py --no-build-isolation
Expected behaviour
H5py successfully installed
OS
Linux on termux on android
Python version
Python 3
Cython version
3.0.5
Additional context
Just ask me and i provide you the error but plz respond me as soon as possible

I believe H5py only supports Cython 0.29.x right now. They're working to fix this, but you have to use an older version of Cython currently.
In future please ask support questions on the cython-users mailing list instead

Also

Just ask me and i provide you the error but plz respond me as soon as possible

Things like the error message should be a basic part of a bug report, not something that you provide later if asked.

Thanks bro i tried cython 0.29.24 version and when i trype pip install h5py --no-build-isolation it gives ma a different error but something a cython compile error here is the error
Collecting h5py
Using cached h5py-3.10.0.tar.gz (403 kB)
Preparing metadata (pyproject.toml) ... done
Requirement already satisfied: numpy>=1.17.3 in /data/data/com.termux/files/usr/lib/python3.11/site-packages (from h5py) (1.26.1)
Building wheels for collected packages: h5py
Building wheel for h5py (pyproject.toml) ... error
error: subprocess-exited-with-error
× Building wheel for h5py (pyproject.toml) did not run successfully.
│ exit code: 1
╰─> [165 lines of output]
running bdist_wheel
running build
running build_py
creating build
creating build/lib.linux-armv7l-cpython-311
creating build/lib.linux-armv7l-cpython-311/h5py
copying h5py/h5py_warnings.py -> build/lib.linux-armv7l-cpython-311/h5py
copying h5py/init.py -> build/lib.linux-armv7l-cpython-311/h5py
copying h5py/ipy_completer.py -> build/lib.linux-armv7l-cpython-311/h5py
copying h5py/version.py -> build/lib.linux-armv7l-cpython-311/h5py
creating build/lib.linux-armv7l-cpython-311/h5py/_hl
copying h5py/_hl/attrs.py -> build/lib.linux-armv7l-cpython-311/h5py/_hl
copying h5py/_hl/init.py -> build/lib.linux-armv7l-cpython-311/h5py/_hl
copying h5py/_hl/vds.py -> build/lib.linux-armv7l-cpython-311/h5py/_hl
copying h5py/_hl/compat.py -> build/lib.linux-armv7l-cpython-311/h5py/_hl
copying h5py/_hl/dims.py -> build/lib.linux-armv7l-cpython-311/h5py/_hl
copying h5py/_hl/dataset.py -> build/lib.linux-armv7l-cpython-311/h5py/_hl
copying h5py/_hl/files.py -> build/lib.linux-armv7l-cpython-311/h5py/_hl
copying h5py/_hl/base.py -> build/lib.linux-armv7l-cpython-311/h5py/_hl
copying h5py/_hl/filters.py -> build/lib.linux-armv7l-cpython-311/h5py/_hl
copying h5py/_hl/datatype.py -> build/lib.linux-armv7l-cpython-311/h5py/_hl
copying h5py/_hl/selections.py -> build/lib.linux-armv7l-cpython-311/h5py/_hl
copying h5py/_hl/group.py -> build/lib.linux-armv7l-cpython-311/h5py/_hl
copying h5py/_hl/selections2.py -> build/lib.linux-armv7l-cpython-311/h5py/_hl
creating build/lib.linux-armv7l-cpython-311/h5py/tests
copying h5py/tests/test_h5f.py -> build/lib.linux-armv7l-cpython-311/h5py/tests
copying h5py/tests/test_h5p.py -> build/lib.linux-armv7l-cpython-311/h5py/tests
copying h5py/tests/test_base.py -> build/lib.linux-armv7l-cpython-311/h5py/tests
copying h5py/tests/init.py -> build/lib.linux-armv7l-cpython-311/h5py/tests
copying h5py/tests/test_file_image.py -> build/lib.linux-armv7l-cpython-311/h5py/tests
copying h5py/tests/test_dims_dimensionproxy.py -> build/lib.linux-armv7l-cpython-311/h5py/tests
copying h5py/tests/test_completions.py -> build/lib.linux-armv7l-cpython-311/h5py/tests
copying h5py/tests/test_dataset_getitem.py -> build/lib.linux-armv7l-cpython-311/h5py/tests
copying h5py/tests/test_attribute_create.py -> build/lib.linux-armv7l-cpython-311/h5py/tests
copying h5py/tests/test_filters.py -> build/lib.linux-armv7l-cpython-311/h5py/tests
copying h5py/tests/test_h5pl.py -> build/lib.linux-armv7l-cpython-311/h5py/tests
copying h5py/tests/common.py -> build/lib.linux-armv7l-cpython-311/h5py/tests
copying h5py/tests/test_attrs.py -> build/lib.linux-armv7l-cpython-311/h5py/tests
copying h5py/tests/test_dataset_swmr.py -> build/lib.linux-armv7l-cpython-311/h5py/tests
copying h5py/tests/test_h5d_direct_chunk.py -> build/lib.linux-armv7l-cpython-311/h5py/tests
copying h5py/tests/test_file2.py -> build/lib.linux-armv7l-cpython-311/h5py/tests
copying h5py/tests/test_selections.py -> build/lib.linux-armv7l-cpython-311/h5py/tests
copying h5py/tests/test_group.py -> build/lib.linux-armv7l-cpython-311/h5py/tests
copying h5py/tests/test_errors.py -> build/lib.linux-armv7l-cpython-311/h5py/tests
copying h5py/tests/test_dimension_scales.py -> build/lib.linux-armv7l-cpython-311/h5py/tests
copying h5py/tests/test_dataset.py -> build/lib.linux-armv7l-cpython-311/h5py/tests
copying h5py/tests/test_ros3.py -> build/lib.linux-armv7l-cpython-311/h5py/tests
copying h5py/tests/test_h5t.py -> build/lib.linux-armv7l-cpython-311/h5py/tests
copying h5py/tests/test_file_alignment.py -> build/lib.linux-armv7l-cpython-311/h5py/tests
copying h5py/tests/test_h5z.py -> build/lib.linux-armv7l-cpython-311/h5py/tests
copying h5py/tests/test_dtype.py -> build/lib.linux-armv7l-cpython-311/h5py/tests
copying h5py/tests/test_h5.py -> build/lib.linux-armv7l-cpython-311/h5py/tests
copying h5py/tests/conftest.py -> build/lib.linux-armv7l-cpython-311/h5py/tests
copying h5py/tests/test_attrs_data.py -> build/lib.linux-armv7l-cpython-311/h5py/tests
copying h5py/tests/test_objects.py -> build/lib.linux-armv7l-cpython-311/h5py/tests
copying h5py/tests/test_datatype.py -> build/lib.linux-armv7l-cpython-311/h5py/tests
copying h5py/tests/test_slicing.py -> build/lib.linux-armv7l-cpython-311/h5py/tests
copying h5py/tests/test_file.py -> build/lib.linux-armv7l-cpython-311/h5py/tests
copying h5py/tests/test_h5o.py -> build/lib.linux-armv7l-cpython-311/h5py/tests
copying h5py/tests/test_big_endian_file.py -> build/lib.linux-armv7l-cpython-311/h5py/tests
creating build/lib.linux-armv7l-cpython-311/h5py/tests/data_files
copying h5py/tests/data_files/init.py -> build/lib.linux-armv7l-cpython-311/h5py/tests/data_files
creating build/lib.linux-armv7l-cpython-311/h5py/tests/test_vds
copying h5py/tests/test_vds/test_highlevel_vds.py -> build/lib.linux-armv7l-cpython-311/h5py/tests/test_vds
copying h5py/tests/test_vds/test_lowlevel_vds.py -> build/lib.linux-armv7l-cpython-311/h5py/tests/test_vds
copying h5py/tests/test_vds/test_virtual_source.py -> build/lib.linux-armv7l-cpython-311/h5py/tests/test_vds
copying h5py/tests/test_vds/init.py -> build/lib.linux-armv7l-cpython-311/h5py/tests/test_vds
copying h5py/tests/data_files/vlen_string_dset_utc.h5 -> build/lib.linux-armv7l-cpython-311/h5py/tests/data_files
copying h5py/tests/data_files/vlen_string_dset.h5 -> build/lib.linux-armv7l-cpython-311/h5py/tests/data_files
copying h5py/tests/data_files/vlen_string_s390x.h5 -> build/lib.linux-armv7l-cpython-311/h5py/tests/data_files
running build_ext
  Error compiling Cython file:
  ------------------------------------------------------------
  ...

  cdef struct err_data_t:
      H5E_error_t err
      int n

  cdef herr_t walk_cb(unsigned int n, const H5E_error_t *desc, void *e) nogil noexcept:
                                                                             ^
  ------------------------------------------------------------

  h5py/_errors.pyx:97:76: Syntax error in C variable declaration
  Loading library to get build settings and version: /data/data/com.termux/files/usr/lib/libhdf5.so
  ********************************************************************************
                         Summary of the h5py configuration

    HDF5 include dirs: [
    '/data/data/com.termux/files/usr/include'
  ]
    HDF5 library dirs: [
    '/data/data/com.termux/files/usr/lib'
  ]
         HDF5 Version: (1, 14, 2)
          MPI Enabled: False
     ROS3 VFD Enabled: False
   DIRECT VFD Enabled: False
     Rebuild Required: True
       MS-MPI Enabled: False
  MS-MPI include dirs: []
  MS-MPI library dirs: []

  ********************************************************************************
  Executing api_gen rebuild of defs
  Updated /data/data/com.termux/files/usr/tmp/pip-install-jqfx5dq7/h5py_e7b8c6bc091b4b1e9c42dc5fec6a8fc6/h5py/config.pxi
  Executing cythonize()
  [ 1/24] Cythonizing /data/data/com.termux/files/usr/tmp/pip-install-jqfx5dq7/h5py_e7b8c6bc091b4b1e9c42dc5fec6a8fc6/h5py/_conv.pyx
  [ 2/24] Cythonizing /data/data/com.termux/files/usr/tmp/pip-install-jqfx5dq7/h5py_e7b8c6bc091b4b1e9c42dc5fec6a8fc6/h5py/_errors.pyx
  Traceback (most recent call last):
    File "/data/data/com.termux/files/usr/lib/python3.11/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 353, in <module>
      main()
    File "/data/data/com.termux/files/usr/lib/python3.11/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 335, in main
      json_out['return_val'] = hook(**hook_input['kwargs'])
                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/data/data/com.termux/files/usr/lib/python3.11/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 251, in build_wheel
      return _build_backend().build_wheel(wheel_directory, config_settings,
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/data/data/com.termux/files/usr/lib/python3.11/site-packages/setuptools/build_meta.py", line 434, in build_wheel
      return self._build_with_temp_dir(
             ^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/data/data/com.termux/files/usr/lib/python3.11/site-packages/setuptools/build_meta.py", line 419, in _build_with_temp_dir
      self.run_setup()
    File "/data/data/com.termux/files/usr/lib/python3.11/site-packages/setuptools/build_meta.py", line 341, in run_setup
      exec(code, locals())
    File "<string>", line 68, in <module>
    File "/data/data/com.termux/files/usr/lib/python3.11/site-packages/setuptools/__init__.py", line 103, in setup
      return distutils.core.setup(**attrs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/data/data/com.termux/files/usr/lib/python3.11/site-packages/setuptools/_distutils/core.py", line 185, in setup
      return run_commands(dist)
             ^^^^^^^^^^^^^^^^^^
    File "/data/data/com.termux/files/usr/lib/python3.11/site-packages/setuptools/_distutils/core.py", line 201, in run_commands
      dist.run_commands()
    File "/data/data/com.termux/files/usr/lib/python3.11/site-packages/setuptools/_distutils/dist.py", line 969, in run_commands
      self.run_command(cmd)
    File "/data/data/com.termux/files/usr/lib/python3.11/site-packages/setuptools/dist.py", line 989, in run_command
      super().run_command(command)
    File "/data/data/com.termux/files/usr/lib/python3.11/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
      cmd_obj.run()
    File "/data/data/com.termux/files/usr/lib/python3.11/site-packages/wheel/bdist_wheel.py", line 369, in run
      self.run_command("build")
    File "/data/data/com.termux/files/usr/lib/python3.11/site-packages/setuptools/_distutils/cmd.py", line 318, in run_command
      self.distribution.run_command(command)
    File "/data/data/com.termux/files/usr/lib/python3.11/site-packages/setuptools/dist.py", line 989, in run_command
      super().run_command(command)
    File "/data/data/com.termux/files/usr/lib/python3.11/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
      cmd_obj.run()
    File "/data/data/com.termux/files/usr/lib/python3.11/site-packages/setuptools/_distutils/command/build.py", line 131, in run
      self.run_command(cmd_name)
    File "/data/data/com.termux/files/usr/lib/python3.11/site-packages/setuptools/_distutils/cmd.py", line 318, in run_command
      self.distribution.run_command(command)
    File "/data/data/com.termux/files/usr/lib/python3.11/site-packages/setuptools/dist.py", line 989, in run_command
      super().run_command(command)
    File "/data/data/com.termux/files/usr/lib/python3.11/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
      cmd_obj.run()
    File "/data/data/com.termux/files/usr/tmp/pip-install-jqfx5dq7/h5py_e7b8c6bc091b4b1e9c42dc5fec6a8fc6/setup_build.py", line 178, in run
      self.extensions = cythonize(self._make_extensions(config),
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/data/data/com.termux/files/usr/lib/python3.11/site-packages/Cython/Build/Dependencies.py", line 1102, in cythonize
      cythonize_one(*args)
    File "/data/data/com.termux/files/usr/lib/python3.11/site-packages/Cython/Build/Dependencies.py", line 1225, in cythonize_one
      raise CompileError(None, pyx_file)
  Cython.Compiler.Errors.CompileError: /data/data/com.termux/files/usr/tmp/pip-install-jqfx5dq7/h5py_e7b8c6bc091b4b1e9c42dc5fec6a8fc6/h5py/_errors.pyx
  [end of output]

note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for h5py
Failed to build h5py
ERROR: Could not build wheels for h5py, which is required to install pyproject.toml-based projects
Well in short words i think your suggestion doesn't work but i am happy that someone response could plz help me to fix this error plz response as soon as possible 😄😄

In future please ask support questions on the cython-users mailing list instead

Bro i have a good news and a bad news the good news is that when i got frustrated because everytime I try to install h5py i got errors thats why i install keras-core without h5py using
pip install keras-core --no-devs
And it works even when i run pip show keras-core i got these
pName: keras-core
Version: 0.1.7
Summary: Multi-backend Keras.
Home-page: https://github.com/keras-team/keras-core
Author: Keras team
Author-email<EMAIL_ADDRESS>License: Apache License 2.0
Location: /data/data/com.termux/files/usr/lib/python3.11/site-packages
Requires: absl-py, dm-tree, h5py, namex, numpy, rich
Required-by:
And i already have all the required packages except h5py but unfortunately when i try to use keras-core i got error that no module named tensorflow.compat.v2 as tf
My only goal is to use keras-core without tensorflow because i hear that keras-core support multi backend that's why i thought i can use keras-core even tensorflow is not installed but i try every way to change its backend to pytorch but nothing works plz help me plz respond me as soon as possible  plzzzz


Properly close microphone before malgo chunk channel

Prior to this, there's a chance you would close the chunk channel while malgo is trying to send on it. Instead, it's better to stop the malgo device and then close. That also means we need to discard chunks when trying to stop due to the buffered channel.

@at-wat updated. I left the intentional close in to not rely on an GC implementation detail


EMMA API Dropping Support for TLS 1.0

Kyle,
Per the following, EMMA is dropping support for TLS 1.0 on 8/1/2017.  They recommend implementing TLS 1.2.
https://community.myemma.com/emma/topics/emma-api-no-longer-supporting-tls-1-0-as-of-august-1st-2017
Given that all of my calls to the API are via EMMASharp, I don't believe that I have control over the level of TLS that is used.
Will you be releasing a version of EMMASharp that supports TLS 1.2?
I am current using EMMASharp V1.0.6379.31443.

Kyle,
I added the following to my .NET 4.5.2 app and all is good.
    System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
    System.Net.ServicePointManager.SecurityProtocol &= ~SecurityProtocolType.Tls;

@tjdavis1111 If my understanding is correct, HttpWebRequest (which RestSharp uses) is similar in a browser request in that when the connection is made, the Requesting server (browser) and the Endpoint server negotiate the highest level of security that each one allows/supports. In this case, if your request supports TLS 1.2, it will automatically take that one as it is highest first. The override you did just says that you won't support anything other thanTLS 1.2 or TLS 1.0 (your second option).
This will get you TLS 1.1 and higher.
    ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11;

I'm more surprised at the quick turnaround on the change.


Updating ClusterRole to reference correct PSP

Updating the ClusterRole such that it references the correct name of the PodSecurityPolicy. Current yaml references a PSP named "nfs-provisioner", while the yaml created a PSP named "longhorn-nfs-provisioner"
Signed-off-by: Zach Bialik<EMAIL_ADDRESS>

Hi @zbialik , please make the change to https://github.com/longhorn/longhorn-manager as I mentioned in https://github.com/longhorn/longhorn/pull/1953 . Thanks.


Instantiated model occasionally... goofs? Requiring re-instantiation

Hello! I wish I could better describe the problem I'm encountering, but hopefully I can demonstrate it effectively.
I find myself scoring a whole bunch of things serially. The dummy approach of loading a new model every time was a waste of time, so I decided to create a lil singleton that would load the model once and then run predictions as needed. A problem I'm encountering is that after some indeterminate number of predictions the model will kinda... stop working good. I'll get errors like Invalid Feed Input Name:��Y� or input name cannot be empty.
If I then reload the model and run the same inputs that just failed it'll carry on successfully for a while.
I wrote up a little test scenario to demonstrate. Forgive me if I don't attach the model as it's, you know, the corporate sauce. Hopefully this will be useful to you without that.
require "singleton"
require "onnxruntime"

class TrainedModel
  include Singleton

  MODEL_NAME = "trained_model.onnx"

  attr_reader :model
  attr_accessor :consecutive_successes

  def self.predict(input)
    results = instance.model.predict(input)
    instance.consecutive_successes += 1
    results
  rescue OnnxRuntime::Error => e
    puts "Reloading model due to exception: #{e}. Consecutive successes: #{instance.consecutive_successes}"
    instance.consecutive_successes = 0
    instance.load_model
    instance.model.predict(input)
  end

  def initialize
    @consecutive_successes = 0
    load_model
  end

  def predict(input)
    model.predict(input)
  end

  def load_model
    @model = OnnxRuntime::Model.new(model_path)
  end

  def model_path
    File.join(File.dirname(__FILE__), self.class::MODEL_NAME)
  end
end

# Our model accepts an array of 10 #s betwixt 0.0 and 1.0
input = Array.new(10) { 1.0 }

n = 100_000

n.times do
  TrainedModel.predict({"input:0" => [input]})
end

puts "Final consecutive successes: #{TrainedModel.instance.consecutive_successes}"

What's curious is that the failures seem to be in the earliest set of predictions, as shown in a few runs of the test:
➜  onnxruntime_test ruby script.rb
Reloading model due to exception: input name cannot be empty. Consecutive successes: 1669
Final consecutive successes: 98330
➜  onnxruntime_test ruby script.rb
Reloading model due to exception: Invalid Feed Input Name:��Wb�. Consecutive successes: 80
Final consecutive successes: 99919
➜  onnxruntime_test ruby script.rb
Reloading model due to exception: input name cannot be empty. Consecutive successes: 761
Reloading model due to exception: Invalid Feed Input Name:��F�. Consecutive successes: 1674
Final consecutive successes: 97563
➜  onnxruntime_test ruby script.rb
Reloading model due to exception: Invalid Feed Input Name:�����. Consecutive successes: 216
Reloading model due to exception: Invalid Feed Input Name:�����. Consecutive successes: 43
Final consecutive successes: 99739

Anyways, this retry strategy is gonna get my feature delivered,  but it sure is curious.
I'm on an M1 Mac Mini but a coworker saw similar results on an Intel-based Mac.

Hey @dhnaranjo, thanks for reporting (and the great explanation)! Just pushed 0.6.1 with a fix (objects were being garbage collected too early).

Confirm'd working. Gosh, good looking out.


lost claims, and i was robbed

coords are 5398/80/4455
all my portable crates were robbed with all of my stuff.

This will be looked to as soon as Looking Glass is back up to rollback. Keep ya posted in a few hours!

any news

all the shulker boxes that were caught in the logs were refunded


Add Stream Deck + Touch Actions

I can see an event enum for the touch actions but there are no methods to handle it. Do you plan on adding those soon?

Do you plan on adding those soon?

I'm not able to commit to support, bug fixes, or feature development for any of my hobby projects. If you're able to send a pull request, I try to respond quickly.


feat: Adds append to redirect output

Suggestion: Allow >> output to append to output
Just like in the command line, where > is used to overwrite a file and >> is used to append to a file.
It would be great for vscode-jq-playground to support >> as well. This is particularly useful on .jsonl files new json lines can be appended. This is a first pass at it:
I believe this is handled in:
https://github.com/davidnussio/vscode-jq-playground/blob/master/src/extension.ts#L358:L382
 let outputFile = "";
  if (document.lineAt(contextLine)?.text?.startsWith("> ")) {
    outputFile = document.lineAt(contextLine).text.replace("> ", "").trim();
    contextLine++;
    lineOffset++;
  }

I repeated the entire if but for ">> ", should I use a regular expression to capture both and read the outputFile.
I added set appendToOutputFile = true when ">> " is found.
Then we ask if it should append (use fs.appendFileSync) or replace (fs.writeFileSync) the contents to outFile

I wasn't sure on how to test my changes:

npx jest triggers a UnhandledPromiseRejection
npm run test runs the "pretest" script and fails npm run compile with "Found 88 errors."
npm run lint finds ✖ 5 problems (0 errors, 5 warnings)

Thanks for this great extension, it truly helps working with jq snippets.

Thank you for PR!
LGTM


fix readme appveyor badge link

Apparently I lost commit access here?

If this is still correct & relevant, please do merge.

Yup. AppVeyor doesn't really have organization accounts last I checked. So the url is under whoever's account turned it on.


[all hosts] (Resources) Update author information about Building Office Add-ins using Office.js

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

File
Status
Preview URL
Details

docs/resources/resources-links-help.md
:white_check_mark:Succeeded
View

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


Ansible-lint does not catch empty tags

Issue Type

Bug report

Ansible and Ansible Lint details
ansible <IP_ADDRESS>
ansible-lint 3.0.0rc5

ansible installation method: installed via apt, deb: <IP_ADDRESS>-1ppa~trusty
ansible-lint installation method: pip

Desired Behaviour
In ansible <IP_ADDRESS> when there is an empty tags: section, a linting error should be raised.
Actual Behaviour (Bug report only)
No warning is raised in the linter when an empty - tags: section is defined.
In ansible <IP_ADDRESS> if you have an empty -tags:  section in your playbook, ansible will throw with the following error:
ERROR! tags must be specified as a list
example playbook:
 - name: Install Docker
   apt: pkg=docker-engine state=present
-  tags:

ansible-lint isn't designed to catch problems caught by ansible-playbook --syntax-check.
The issue template even asks for the results of running under the syntax check.


Typo "Jupyter notebooks"→"Jupyter Notebooks"

https://docs.microsoft.com/en-us/azure/notebooks/quickstart-migrate-local-jupyter-notebook

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

Note that the product name is Jupyter Notebook. Referring to multiple instances of the product would seem to be "Jupyter Notebook files" or similar. Although the organization refers to "a Jupyter Notebook," "Jupyter notebooks," and "Jupyter Notebooks" on its website.

This topic is no longer present in the docs. #please-close


[Bug] Merged chapters getting removed during Library updates if merged source is down/throws error

Device information

Tachiyomi version: <IP_ADDRESS>
Android phone & version: OP6-A10

Steps to reproduce

Perform library update when the merged source down/throws error

Expected behavior
Merged manga shouldn't be removed from the chapter list
Actual behavior
Merged manga gets removed from the chapter list

<IP_ADDRESS>


remove objectmodule

See chipsalliance/rocket-chip#2967

Does the JSON artefact need to be removed as well here?

Thinking...
I don't think so...
I'll try it tomorrow.

@sequencer Can you update this PR? Lets merge this

I totally forgot this... sry


Add MeCabTokenizer

This adds a MeCabTokenizer for a pretokenization based approach. It currently doesn't allow customizing MeCab settings, but should be fine for getting it working.

The way this handles spaces needs some more checking, so please don't merge it yet.

This new tokenizer implement LGTM so far. Let me know when you feel comfortable to merge this if needed.

I confirmed this is fine. There is some surprising behavior around spaces that affects pretokenization, but it's configured in the model, not in the code here.


[ci skip] [skip ci] NO_CI Use @conda-forge/terraform as maintainers

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.
I do have some suggestions for making it better though...
For recipe:

License is not an SPDX identifier (or a custom LicenseRef) nor an SPDX license expression.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.


Install script install unverified binary

The install script downloads a binary over plain HTTP and does not do any verifying that the right binary is fetched.
Since the install script itself is served over HTTPS I would expect some level of verification that the correct binary arrives.  Either by making sure all requests are over HTTPS and curl verifies the certificates, or by checking the checksum after downloading the binary.

Yikes, good catch. Should be fixed now. Feel free to reopen if I'm mistaken.


Use rasteret to read COG?

We have made a custom python code for byte-range calculation code based on GDAL’s C++ approach.
We're currently working on an open-source library which will be called “Rasteret”

Sounds like these people may have just written written a COG reader for us
https://blog.terrafloww.com/efficient-cloud-native-raster-data-access-an-alternative-to-rasterio-gdal/

we look forward to sharing the library and more technical details in an upcoming deep dive blog. Stay tuned!

It's a cool article, I look forward to checking out Rasteret once they open source it.
It'll also be worth considering the differences in byte range serialization approaches and whether VirtualiZarr should support some sort of to_stac option.


Bad behavior for audio message longer than 90 seconds

Seems like there is no unhandled exception, but still a loop.
The bot is only sending one message, but seems like the response from Wit.AI is shorter than the expected transcription.
I've implemented at 287d93733814c05fc0c32243059a530ec0a9fab7 a hard duration limit of 90 seconds as a workaround for now.

My 180s audio test file returns the last JSON (not final) from Wit.AI with an error attribute:
{
  //...
  "code": "wit",
  "error": "An error occurred in speech recognition."
}

260cc0f70e9411425403f54b4ccee66824ee17a1

Seems like the loop and the wit error, both for long pieces of audio, might be somehow unrelated.


Support for Mongo v3.0.0 will bring new changes?

Hi all,
Since there is a new major version out there, will it bring changes and a new version of mongoid?
Thanks

Hi @davidcunha
We have rewritten the MongoDB Ruby driver and it has been released as 2.0.0-beta. It supports MongoDB v3.0.0.
The next major version of Mongoid (5.0) will use this driver instead of Moped so it will support MongoDB v3.0.0.

thanks @estolfo


Make debug data from waitFor() a little easier to read

Separates it better from the waiting reason and pretty-prints it.

fixed the test -- PTAL! :D


Can't get icons to show in prompt, but see them when opening files.

I want to start off my saying that this issue seems to be the most common one for your project, but I have followed the troubleshooting guide and tried every option possible for my system, and I have read over 10 of the issues that were close to mine. The issue is that I can't seem to get icons to show up for certain items and only get the question mark in a box (The fallback icon, I assume). I am starting python development and that seems to be one of the missing icons along with many others. The deal is when I nano into the icons.zsh file "in iTerm" I can see the icons, but I can't see those same icons in a promt.

No icons showing when I activate my venv

-But the icons are showing when i open the icons.zsh file!
Have you tried to debug or fix it?
Basically, all I have tried is to do all of the install options for macOS. I have looked around at the powerlevel9k directory and my .zshrc config to see if there was anything I was missing.
Environment Information

I'm running ZSH 5.6.2_1
Oh-My-Zsh
I first install with Option 2 for Oh-My-Zsh
I used the current master git repo
iTerm2

Issues with Fonts & Icons

I'm using 12pt Meslo LG L DZ Regular for Powerline
I am using awesome-mapped-fontconfig as it seems to have the most icons showing in my capture, but I have also tried all of the others.
Contents of font-issues.zsh
functions/colors.zsh:source:4: no such file or directory: functions/colors.zsh      functions/icons.zsh:source:5: no such file or directory: functions/icons.zsh      functions/utilities.zsh:source:6: no such file or directory: functions/utilities.zsh
The output of get_icon_names does not look right; it only shows a few of the icons.

-I have also change my DefaultFontsFallback.plist and tried that method.

Here is my .zshrc
zshrc.txt

The POWERLEVEL9K_MODE is pinned at startup. The Theme starts in Oh-My-Zsh with this line: source $ZSH/oh-my-zsh.sh. So you need to move your P9K config up, before this line.

get_icon_names now shows all of the icons but I still can't get the python on to show up in the prompt when I have my virtualenv activated. I'm almost there! What could be stopping it from showing in the prompt?

I am an idiot, thanks for all your help but I see how it is setup by default and it is set to show the virtualenv on the LEFT_PROMPT_ELEMENTS. I got it by setting the variable in .zshrc! Thanks again for getting me in the right direction!

Unfortunately I can't find properly icons into my icons.zsh. There is any way to solve that first?
I'm trying use the powerlevel10k theme in a remote RHEL with zsh 5.7.1

@leonardosetti Please file an issue against powerlevel10k.

@romkatv I installed powerlevel 10k on windows subsytem linux. I didnt have the icons nor the pointed arrow i was missing fonts. https://github.com/romkatv/powerlevel10k#meslo-nerd-font-patched-for-powerlevel10k . FOLLWED this guideline

@rakeshshubhu If you are having trouble with powerlevel10k, please file an issue against powerlevel10k.


run_in_batches function

The current workflow when using the python API is to load a CompassApp object from a config and then call the run() method, passing a set of queries as python dict objects. We could also add another way to interact with the application which would be to point to a config file and a query json file and then have the application read the queries in batches and also write to an output file in batches. This could take the form of a single function that looks like this:
def run_in_batches(app_config_file: Union[str, Path], query_file: Union[str, Path], batch_size: int):
    ...

and assuming we could wire this in via the CompassApp.run method:
class CompassApp:

  def run(..., chunksize: Optional[int]):
      if chunksize is not None:
          return run_in_batches(...)

thinking: i feel like stacking alternatives into the core run method would probably be more easily discoverable for users. same goes for the "to geopandas" behaviors, and, maybe all of that wiring-in is just one more downstream issue to collect these all as behaviors of CompassApp.run, which gives us one of those big APIs like Pandas.read_csv or similar that serves all users.

maybe all of that wiring-in is just one more downstream issue to collect these all as behaviors of CompassApp.run, which gives us one of those big APIs like Pandas.read_csv or similar that serves all users.

Yeah I like that idea. I changed to scope of this to just complete the function and then we can build out a new issue for wiring it in (along with any other run methods we discover)

zenon18 (Mark W.) will like to work on this issue


support STAT table

as introduced in OpenType 1.8
https://www.microsoft.com/typography/otspec/stat.htm

Working on it; give me another 1-2 days.

@brawer I have some unittests and some decompile code (since my trial with otData didn’t work).

I really prefer everything new to go through otData.

@behdad, can you take over? The problem is that STAT needs new building blocks in otData, but (despite trying hard) neither me or Denis have been able to extend the framework. See https://github.com/fonttools/fonttools/commit/47d6aca5d7aafd61d45a106d5bc3812ccea9b85e for a cleaned-up attempt. The idea behind this LOffsetToArray(Foo) would be an offset to an array of Foo, where both the number of elements and the record size would come from the decoded table. I tried to implement this via tableDict[name + 'Count'] and tableDict[name + 'RecordSize'], but it never worked. You’re probably the only person on this planet who understands the framework well enough to extend it.

otData.py was written as an ad hoc solution to a very specific style of binary data (GSUB+GPOS). It relies  on naming conventions and particular way of using offsets used in those tables. I don't know STAT yet, but I'm not surprised otData is hard to adapt to arbitrary other data structures. Originally, otData.py was actually generated from the MS html documentation. Sorry for being unhelpful here :(

But yeah, @behdad knows this code best these days, and perhaps it's an easy problem for him to solve :)

Behdad and I sat together this afternoon; it's now implemented.


STY: Run black at the top of the repo

Hello @oesteban, thank you for submitting the Pull Request!

In the file mriqc/bin/messages.py:

Line 21:100: E501 line too long (113 > 99 characters)

To test for issues locally, pip install flake8 and then run flake8 niworkflows.


terraform for batch converter

Vpc terraform setup
Converter batch terraform setup
Variable syntax cleanup
Addition to terraform Makefiles of import commands

Do you want to PR this into develop?


Added driver command logging for Find 2.0

Implements #1937.
This extends immediate mode logging to include solver id. (Original immediate mode logging untouched in this PR, but is trivial to update.) The command should call the same internals except for find 2.0 wrapping.
An example log lines from test_find_2_conv:
...
Testing miopenFindSolutions with options...

Running a solution...

Future work:

Update logging when there would be separate driver commands.

@atamazov You may be interested in this.

Hi @DrizztDoUrden @atamazov there are still issues with this PR:
[2023-07-05T21:08:57.472Z] /home/jenkins/workspace/MLLibs/MIOpen/ddu%2Ffind-2.0%2Fprint-cmd/src/convolution_api.cpp:557:12: error: use of undeclared identifier 'conv_dir'

[2023-07-05T21:08:57.472Z]     switch(conv_dir)

[2023-07-05T21:08:57.472Z]            ^

[2023-07-05T21:08:57.472Z] /home/jenkins/workspace/MLLibs/MIOpen/ddu%2Ffind-2.0%2Fprint-cmd/src/convolution_api.cpp:559:10: error: value of type 'ConvDirection' is not implicitly convertible to 'int'

[2023-07-05T21:08:57.472Z]     case ConvDirection::Fwd: return miopenProblemDirectionForward;

[2023-07-05T21:08:57.472Z]          ^~~~~~~~~~~~~~~~~~

[2023-07-05T21:08:57.472Z] /home/jenkins/workspace/MLLibs/MIOpen/ddu%2Ffind-2.0%2Fprint-cmd/src/convolution_api.cpp:559:37: error: cannot initialize return object of type 'ConvDirection' with an rvalue of type 'miopenProblemDirection_t'

[2023-07-05T21:08:57.472Z]     case ConvDirection::Fwd: return miopenProblemDirectionForward;

[2023-07-05T21:08:57.472Z]                                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~

[2023-07-05T21:08:57.472Z] /home/jenkins/workspace/MLLibs/MIOpen/ddu%2Ffind-2.0%2Fprint-cmd/src/convolution_api.cpp:560:10: error: value of type 'ConvDirection' is not implicitly convertible to 'int'

[2023-07-05T21:08:57.472Z]     case ConvDirection::Bwd: return miopenProblemDirectionBackward;

[2023-07-05T21:08:57.472Z]          ^~~~~~~~~~~~~~~~~~

[2023-07-05T21:08:57.472Z] /home/jenkins/workspace/MLLibs/MIOpen/ddu%2Ffind-2.0%2Fprint-cmd/src/convolution_api.cpp:560:37: error: cannot initialize return object of type 'ConvDirection' with an rvalue of type 'miopenProblemDirection_t'

[2023-07-05T21:08:57.472Z]     case ConvDirection::Bwd: return miopenProblemDirectionBackward;

[2023-07-05T21:08:57.472Z]                                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

[2023-07-05T21:08:57.472Z] /home/jenkins/workspace/MLLibs/MIOpen/ddu%2Ffind-2.0%2Fprint-cmd/src/convolution_api.cpp:561:10: error: value of type 'ConvDirection' is not implicitly convertible to 'int'

[2023-07-05T21:08:57.472Z]     case ConvDirection::WrW: return miopenProblemDirectionBackwardWeights;

[2023-07-05T21:08:57.472Z]          ^~~~~~~~~~~~~~~~~~

[2023-07-05T21:08:57.472Z] /home/jenkins/workspace/MLLibs/MIOpen/ddu%2Ffind-2.0%2Fprint-cmd/src/convolution_api.cpp:561:37: error: cannot initialize return object of type 'ConvDirection' with an rvalue of type 'miopenProblemDirection_t'

[2023-07-05T21:08:57.473Z]     case ConvDirection::WrW: return miopenProblemDirectionBackwardWeights;

[2023-07-05T21:08:57.473Z]                                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

[2023-07-05T21:08:57.473Z] /home/jenkins/workspace/MLLibs/MIOpen/ddu%2Ffind-2.0%2Fprint-cmd/src/convolution_api.cpp:555:65: error: unused parameter 'direction' [-Werror,-Wunused-parameter]

[2023-07-05T21:08:57.473Z] static ConvDirection DirectionToCmdArg(miopenProblemDirection_t direction)

[2023-07-05T21:08:57.473Z]                                                                 ^

[2023-07-05T21:08:57.473Z] /home/jenkins/workspace/MLLibs/MIOpen/ddu%2Ffind-2.0%2Fprint-cmd/src/convolution_api.cpp:575:39: error: no matching function for call to 'DirectionToCmdArg'

[2023-07-05T21:08:57.473Z]         const auto dir              = DirectionToCmdArg(conv_dir);

[2023-07-05T21:08:57.473Z]                                       ^~~~~~~~~~~~~~~~~

[2023-07-05T21:08:57.473Z] /home/jenkins/workspace/MLLibs/MIOpen/ddu%2Ffind-2.0%2Fprint-cmd/src/convolution_api.cpp:555:22: note: candidate function not viable: no known conversion from 'ConvDirection' to 'miopenProblemDirection_t' for 1st argument

[2023-07-05T21:08:57.473Z] static ConvDirection DirectionToCmdArg(miopenProblemDirection_t direction)

[2023-07-05T21:08:57.473Z]                      ^

[2023-07-05T21:08:57.473Z] /home/jenkins/workspace/MLLibs/MIOpen/ddu%2Ffind-2.0%2Fprint-cmd/src/convolution_api.cpp:591:39: error: no matching function for call to 'DirectionToCmdArg'

[2023-07-05T21:08:57.473Z]         const auto dir              = DirectionToCmdArg(conv_dir);

[2023-07-05T21:08:57.473Z]                                       ^~~~~~~~~~~~~~~~~

[2023-07-05T21:08:57.473Z] /home/jenkins/workspace/MLLibs/MIOpen/ddu%2Ffind-2.0%2Fprint-cmd/src/convolution_api.cpp:555:22: note: candidate function not viable: no known conversion from 'ConvDirection' to 'miopenProblemDirection_t' for 1st argument

[2023-07-05T21:08:57.473Z] static ConvDirection DirectionToCmdArg(miopenProblemDirection_t direction)

[2023-07-05T21:08:57.473Z]                      ^

[2023-07-05T21:08:58.377Z] 10 errors generated when compiling for gfx1030.

@junliume CI has passed. I am not sure what is wrong with readthedocs as it gives 404.

@DrizztDoUrden could you please also target this PR to release/rocm-rel-5.6-staging branch? I found some merge conflicts trying to cherry-pick. Thanks!


Camerax  Inconsistent White Balance and Flash Result

When i'm using cameraXBasic with flash ON, in dark condition, the image sometimes got blue white balance, but if i switch camera from back to front to back again then capture with flash ON in same lightning condition it will give me correct white balances
And sometime i got very over expose image.
very overexpose with flash

wrong white balance

correct white balance

*Note
All image with flash and in same dark condition
Android 10, Oneplus 6

The issue tracker is being used for problems with the unmodified samples. If you have questions about usage, please use tag android-camerax in StackOverflow or start a thread in the developer forums


[PE-D][Tester C] :bug: Bug: App crashes when UI is being resized

Expected behaviour

the app should not crash

Current behaviour

the app crashes

How to reproduce

run java -jar InTrack.jar
constantly resize the app
eventually the app would crash

Screenshots

Logs
hs_err_pid18351.log

Labels: type.FunctionalityBug severity.Medium
original: ShenyiCui/ped#3

Unfortunately, we are unable to replicate this issue on our side with both Windows and MacOS systems. Also, this is likely classified under extreme user behaviour as a a normal user would not be constantly resizing the application to cause such an issue.


wasmQl rodeos http connection timeout

Change Description
This PR added asio::steady_timer to rodeos WasmQl http connections to trigger timeout flag if a connection is idle for an extended period of time and close out the connection.
Change Type
Select ONE:

[ ] Documentation

[ ] Stability bug fix

[x] Other

[ ] Other - special case

Testing Changes
Select ANY that apply:

[ ] New Tests

[ ] Existing Tests

[ ] Test Framework

[ ] CI System

[x] Other

Consensus Changes

[ ] Consensus Changes

API Changes

[ ] API Changes

Documentation Additions

[ ] Documentation Additions

I'm closing this PR. I added a test for this feature and created a new PR for it here: https://github.com/EOSIO/eos/pull/10795.


Translate to Chinese

What language do you want to translate the website into?
chinese
What is the language code for the language?
zh
What is the locale code for the language?
zh-cn
What help will you need?
Not yet. we already had a repo(https://github.com/eslint/cn.eslint.org), just need to copy to here.
cc @QC-L
Implementation Checklist

[x] Create new site file
[x] Set up Netlify project
[x] Register new domain name
[x] Set up Google Analytics
[ ] Set up Carbon Ads

Participation

[X] I am willing to submit a pull request for this change.

Additional comments
No response

Thanks! I was going to loop in the folks on can.eslint.org once we also had a solution for the docs, but no harm in getting started now.

Site is live:
http://new.cn.eslint.org/
I'll work on getting Google Analytics and ads for it (if possible)

Adding analytics in #202.

@nzakas new.cn.eslint.org is using an invalid certificate. It shows that the certificate issued to *.netlify.app is being used. Please check it

Thanks. It should be fixed momentarily.

It doesn't seem to be fixed yet.

Looks like the certificate creation failed. I’ll need to contact support.

I noticed that the main site is now using the new version, so maybe it's time to deploy the Chinese site to cn.eslint.org, not new.cn.eslint.org

Also maybe consider using zh.eslint.org instead of cn.eslint.org. other language sites are using language codes instead of country codes, and I don't think Chinese should be an exception.

https://github.com/eslint/cn.eslint.org/issues/218

closing as fixed. 🎉


Implemented Grid 322

Designed Grid 322 using HTML, CSS.

@NtemKenyor , I have raised a pull request. Kindly look into it. Thank you.


TRT-10 GA Support for main branch

Description
This PR runs CI to test TRT-10 GA support for main branch.

https://github.com/pytorch/TensorRT/blob/20b34e24d7ab285c069c6aac37bca382dcbd18ec/pyproject.toml#L45 also needs to specify version.

@HolyWu Made the changes. Thanks for the review!


[CELEBORN-1076] Using text/plain content type for prometheus metrics

What changes were proposed in this pull request?
Refer https://github.com/prometheus/docs/blob/main/content/docs/instrumenting/exposition_formats.md#basic-info
The http content type is better be text/plain.
Why are the changes needed?
As describe in https://github.com/prometheus/docs/blob/main/content/docs/instrumenting/exposition_formats.md#basic-info.
Advantages
Human-readable
Easy to assemble, especially for minimalistic cases (no nesting required)
Readable line by line (with the exception of type hints and docstrings)

Does this PR introduce any user-facing change?
The http content type change.
How was this patch tested?

cc @waitinfuture @AngersZhuuuu


feat: add param and env variable for devnet2 deployment pipeline

I need an parameter which can be passed from vega pipeline and this param needs to be an env variable available for vegacapsule during starting network because it will be passed down to the nomad. Then nomad can download binary with correct hash

Close as out of date


A typo in instamatic/docs/config.md line 229

Hi,
In line 228-229 of instamatic/docs/config.md,
**physical_pixelsize**
The physical size of a pixel in micrometer, for example: `0.055`

I think it is not 'micrometer' but 'millimeter', right?

Yes, thanks for noticing!


remove 3.9

Pull Request Test Coverage Report for Build<PHONE_NUMBER>3
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 97.994%

Totals

Change from base Build<PHONE_NUMBER>1:
0.0%

Covered Lines:
635

Relevant Lines:
648

💛  - Coveralls


Create base project layout

[ ] Add JavaScript test frameworks (unit, integration)
[ ] Add Express engine for server-side rendering
[ ] Add linting to enforce coding style
[ ] Add justification of conventions to README
[ ] Add Handlebars for HTML rendering
[ ] Add SASS for CSS compilation
[ ] Add linting for SASS


Metrics

Levenshtein Edit Distance Added with polynomial complexity (numpy optimized)

LCS and Sum normalization Available as arg

Jaccard Distance Done

Euclidean Distances complete

normalization available
CountVectorzier Space issue resolved (only numpy is used)

Resolves #15

Codecov Report

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

@@            Coverage Diff            @@
##            master       #18   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            4         4
  Lines           16        16
=========================================
  Hits            16        16

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 84508ff...a724068. Read the comment docs.

Ok sounds good. Put tests in tests though

Would be better if we follow the same directory structure in tests. So yours will be in tests/test_metrics/....py

I dont get you @rajaswa, Where have we done the unit testing before ? I have tested all functionalities up to metrics from the root dir. there is no .tests rn I guess

He meant tests I guess.

Ok, I actually don't know how that works, any link ?

What?

Update Metrics are also added, for floating-point errors absolute error is checked with a tolerance of 1e-5


Editorial work on Methods section

This is built on 9ec2b2b since Table 1 was moved into the methods from the intro.

Replaced by #174 (rebased version)


Fixed '(plugin.variable || []).forEach is not a function'

PR Type
What kind of change does this PR introduce?

[ X ] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Documentation  changes
[ ] Other... Please describe:

PR Checklist
For bug fixes / features, please check if your PR fulfills the following requirements:

[X] Testing has been carried out for the changes have been added
[ ] Regression testing has been carried out for existing functionality
[ ] Docs have been added / updated

What is the purpose of this PR?

This commit fixes '(plugin.variable || []).forEach is not a function' when using this plugin together with some others (e.g. calendar). The problem is triggered when plugin.variable is not an array but an object as follows:
{ _attributes:
{ name: 'CALENDAR_USAGE_DESCRIPTION',
value: 'This app can sync your calendar.' } }
With this fix, it will work either way.
Does this PR introduce a breaking change?

[ ] Yes
[ X ] No

What testing has been done on the changes in the PR?

What testing has been done on existing functionality?

Other information

#219 now resolves this


Datadog scaler multi query

Add support for Datadog Metric API responses which container more than one Series (ie. when submitting multiple queries, comma-seperated), and allow for aggregation of results.
This allows for scaling on multiple datadog queries to be combined into a single API query, reducing Rate Limiting errors.
Checklist

[ ] Commits are signed with Developer Certificate of Origin (DCO - learn more)
[ ] Tests have been added
[ ] A PR is opened to update our Helm chart (repo) (if applicable, ie. when deployment manifests are modified)
[ ] A PR is opened to update the documentation on (repo) (if applicable)
[ ] Changelog has been updated and is aligned with our changelog requirements

Fixes #

Relates to #

Have been testing this locally, added debug all over the place to track the values and it works... but the HPA reports:

unable to get external metric dlp-scanner/s0-datadog-per_second(sum-http-requests/\u0026LabelSelector{MatchLabels:map[string]string{scaledobject.keda.sh/name: myapp,},MatchExpressions:[]LabelSelectorRequirement{},}:
unable to fetch metrics from external metrics API: no matching metrics found

Ah found it:
keda_metrics_adapter/datadog_scaler "msg"="error getting metrics from Datadog" "error"="query returned more than 1 series; modify the query to return only 1 series"


component_check_structure: error message when running 'Error summary section'

Excecuted this section in the "Data quality feedback template" notebook and got the following error:
(psycopg2.errors.AmbiguousColumn) column reference "field" is ambiguous
LINE 61:     field,

I resolved the error by adding "errors.field" in the last SELECT and GROUP BY clause as shown below. However, I am unsure if this correction displays the table we expected
SELECT
    collection_id,
    error_type,
    errors.field,
    error,
    count(*) AS count,
    example_ocids,
    example_values
FROM
    errors
    JOIN examples USING (collection_id, error_type, error)
GROUP BY
    collection_id,
    error_type,
    errors.field,
    error,
    example_ocids,
    example_values;

So in 3d55092 and baa81cdc7ee6adf8b513739617fed1c7548e7347, that errors ->> 'field' column was added, based on a change that Jen from ODS had made. I didn't check whether this change made sense, however.
If the column doesn't seem to be informative, we can just undo that change (remove 6 lines like errors ->> 'field' AS field,\n", and field,).

I can confirm that makes sense to keep that column, as it's relevant for providing details in the structure and format report.

Thank you for reporting. Fixed!


Translate search suggestions

Please enable translation of search suggestions added in #969.

I don't think we could since these are provided by the 3rd party search provider. At best we could translate the default ones, but those would only show if the 3rd party search didn't send any.

Yes, I mean translating the default suggestions in openbazaar-desktop/js/views/search/Search.js:
'books',
'clothing',
'electronics',
'food',
'games',
'health',
'movies',
'music',
'sports',
'toys',

I don't think we're going to address this, since the defaults in the client code are really just placeholders until existing search providers have added their own, and will be removed once that happens.


Fix the formatting of the viewer's picker display

The picker displays pixel values with an "0x" prefix, but the actual
output value is base 10, not hex. Casting the value to an int allows the
formatter to work as intended.

We could also consider continuing the number in base 10 (or both), removing the "0x" for those used to the decimal representation.

Thanks @kjkjava
I was sure std::hex can handle floats and never noticed the discrepancy until now.
That's good to know.


Refactor errors

The original use of CogniteError and CogniteResult was just for assets/timeseries/events, and there it worked well enough. Now with more types, the use of object makes the system difficult to use. This PR changes that so that CogniteError now takes a type parameter, and also standardizing what an error represents.
This PR also fixes a few issues with logging, and adds a "ThrowOnError" method to CogniteResult so that errors can be translated back into exceptions.

Checkmarx scan completed with the following findings

Lines
Severity
Category
File
Link

68
Medium
Heap_Inspection
Cognite.Metrics/MetricsConfig.cs
Checkmarx


[BugFix] Fix CompoundPredicateOperator not equals when same children with different order

What type of PR is this：

[x] bug
[ ] feature
[ ] enhancement
[ ] refactor
[ ] others

Which issues of this PR fixes ：

Fixes #8675
Problem Summary(Required) ：

CompoundPredicateOperator like a=b and c=d not equals c=d and a=b, this will result in operator not equals which use CompoundPredicateOperator as predicate or on predicate

[FE PR Coverage Check]
:heart_eyes: pass : 8 / 8 (100.00%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/sql/optimizer/operator/scalar/CompoundPredicateOperator.java
8
8
100.00%
[]

[FE PR Coverage Check]
:heart_eyes: pass : 9 / 9 (100.00%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/sql/optimizer/operator/scalar/CompoundPredicateOperator.java
9
9
100.00%
[]

run starrocks_fe_unittest

[FE PR Coverage Check]
:heart_eyes: pass : 7 / 7 (100.00%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/sql/optimizer/operator/scalar/CompoundPredicateOperator.java
7
7
100.00%
[]

run starrocks_admit_test

@Mergifyio backport branch-2.3

[FE PR Coverage Check]
:heart_eyes: pass : 7 / 7 (100.00%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/sql/optimizer/operator/scalar/CompoundPredicateOperator.java
7
7
100.00%
[]

[FE PR Coverage Check]
:heart_eyes: pass : 7 / 7 (100.00%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/sql/optimizer/operator/scalar/CompoundPredicateOperator.java
7
7
100.00%
[]


caseValues does not work with closed enum of value constructors

This code
class Foo of bar|baz {
	shared new bar{}
	shared new baz{}
}
shared void run(){
	print(`Foo`.caseValues);
}

on the Java backend outputs [] and crashes the JS backend with ReferenceError: $prop$getBar is not defined

Those cases are not types, but constructors. In general the of clause can now contain types and values, so I suppose the type of caseValues will need to change to reflect this. Somehow.

@tombentley well, I dunno, they are value constructors, and a value constructor is a value.

Yes, but my point is that right now caseValues has type Type[], and since a Value is not a Type that's got to change, right?

An mentioned, currently ClassOrInterface.caseValues is a Type[]. (Note the inconsistency in name versus type: caseValues but it returns types).
I can declare ClassOrInterface.caseValues to be <Type|ValueConstructor>[] (and refine it on MemberClass and InterfaceModel back to Type[] in an effort to minimise breakage).
Or maybe it would be better to leave caseValues alone and just add a cases attribute.
But I will also need a corresponding thing in ClassDeclaration. Right now it has caseTypes which is a OpenType[]. Note another inconsistency: It was caseValues in the model, but caseTypes in the declaration. There's not really an Open* for values, so making caseTypes a <OpenType|ValueConstructorDeclaration>[]seems rather odd. I could add acases` attribute for this too.
The final question is whether the union should be Type|ValueConstructor or Type|Value, likewise ValueConstructorDeclaration or ValueDeclaration.

Oh, btw this is all on the ctor-models branch.

Errm... excuse me my ignorance, but for a layman this whole discussion sounds like a lot of nitpicking.
Isn't the whole point of value constructors that they construct values. In essence they are a different syntax offering a similar concept as top level object declarations.
Thereby, whenever there is a valueConstructor of some name, there should also be a corresponding value with the same name? no?
But then, maybe I am missing something...

@luolong you're right that a value constructor is a value.
The problem is that the metamodel already had an attribute called caseValues which returned the type models of the cases, rather than the value models. That was OK when the of clause could only include types (we got away with it for object declarations in the of clause because we chose arbitrarily to return the type model of the anonymous class, not its value model), but is not OK now it can include value constructors (which don't have their own type model). In short the API we have is rubbish and it's about how best to fix that.

@tombentley shouldn't that be Type[]|ValueConstructor[]?

Ah, yes I suppose it should, since we can't have a class with is enumerated with value constructors and subclasses. Thanks @gavinking.

@FroMage, I'm trying to decide whether to break (in the name of fixing) the existing ClassOrInterface.caseValues, or to write a new ClassOrInterface.cases.
"The list of case values for this type. This omits any case type to
 only contain case values."
shared formal Type[] caseValues;

This means that the returned Type[] will contain only the types (i.e. Class) of anonymous classes, is that correct? In other words for
abstract class Enumerated of Subcass|obj {}

It is supposed to return [`obj`]?

I think you should break it. I think caseValues was always supposed to return a list of instances, not types.

Wait wait wait. Are we all confused about what Type means in that code?
shared sealed interface ClassOrInterface<out Type=Anything> { .. }

caseValues returns a sequence of instances of the class or interface!

I can't parse that.

I'm proposing this:
"""The list of types and values, or value constructors that
   this class or interface enumerates.

   Given

       abstract class Foobar() of Foo|bar {}

   then `` `Foobar`.cases`` would be a `Type|Value[]`
   equal to ``[`Foo`,`bar`]``.

   And given

       class Baz of one|two {
           shared new one {}
           shared new two {}
       }

    then `` `Baz`.cases`` would be a `ValueConstructor[]`
    equal to ``[`Baz.one`,`Baz.two`]``
 """
shared formal <Type|Value>[]|ValueConstructor[] cases;

What he's saying is that caseValues already returns instances, not types. Type is not ceylon.language.meta.model::Type but the type argument to ClassOrInterface<Type>, which means that for ClassOrInterface<Boolean>, caseValues will be of type Boolean[]: the instance values of true and false. ATM at least.

Right, makes sense now.

So the function name wasn't lying after all ;) But yeah, I agree the type signature makes it confusing.

Yes, who'd've thunk it, you weren't smoking crack after all.
I wonder though it we can think of a better name than Type for the type parameter of Class, because it really is confusing.

I initially did not respond because I totally believed I was to blame ;)

I remember this came up once before with me bitching that why the hell was something that returns types named "case values" and then Stef coming back to me and saying it was my fault 'cos I had suggested that name. The irony.

Should the list include non-shared value constructors?
class ClosedEnumValueConstructors
    of alpha | beta {
    shared new alpha {}
    new beta {}
}

Should I even be able to enumerate a non-shared value constructor in the of clause @gavinking ?

@tombentley ugh. Great question.

Yes. It should. The visibility controls are a compile time restriction, not a runtime restriction.

+1

Well OK, but it would be the first time I can think of where a thing appears in a declaration, but the client cannot see that thing's declaration.

He can using the metamodel anyways, no?

Well OK, but it would be the first time I can think of where a thing appears in a declaration, but the client cannot see that thing's declaration.

Well it's kinda the first time we have something that directly returns an instance.

I'm not sure that's the same issue, but asking here just in case :
Now, I can get the instances of the closed enum, but via the metamodel, can I get the declaration name of the instances ?
That's to say, for this class
shared class Foo of aaa|bbb{
	shared new aaa{}
	shared new bbb{}
}

How can I used the metamodel to get the strings aaa and bbb ? (actually I'm trying to emulate http://docs.oracle.com/javase/7/docs/api/java/lang/Enum.html#name() )

Well there's  `class Foo`.constructorDeclarations()*.name I suppose, or  `Foo`.getDeclaredValueConstructors()*.declaration*.name if you want to be sure to get only the value constructor instances.

Ah, OK, thanks, that's interesting.
It means that if I want to get the declaration name of the cases, the caseValues method is usefull for traditional enumerated instances.
abstract class Suit(String name)
		of hearts | diamonds | clubs | spades {}
// blablabla
print(`Suit`.caseValues.collect((v) => type(v).declaration.name));

But for a closed enum of value constructor I just use
`Foo`.getDeclaredValueConstructors()*.declaration*.name`

and actually skip the caseValues step