ENH: CI builds against ITK 5.1 RC 1

The module build script needs to be taught how to handle the version identifier change with Python 3.8, i.e. cp38-cp38m -> cp38-cp38. I will patch, re-build, upload to ITKPythonBuilds, then rebuild here.


Task data fails to insert to BigQuery after importing old data from Datastore

We created Task table in BigQuery and started collecting/inserting Task data. The process works well, and we can see data showing up in BigQuery.
On the other hand, we want to migrate/copy old historical data from Datastore to the above table in BigQuery.
The problem is that new data stops showing up after migrating old data in.

What I did:
export PROJECT_ID='flutter-dashboard' gcloud config set project ${PROJECT_ID} gcloud datastore export --kinds="Task" gs://flutter-dashboard-test --async bq load --source_format=DATASTORE_BACKUP --replace cocoon.TaskTest gs://flutter-dashboard-test/2019-11-26T20:23:00_21393/all_namespaces/kind_Task/all_namespaces_kind_Task.export_metadata bq query --replace --destination_table cocoon.Task --use_legacy_sql=false 'select ChecklistKey.name as ID, CreateTimestamp, StartTimestamp, EndTimestamp, Name, Attempts, Flaky as IsFlaky, TimeoutInMinutes, RequiredCapabilities, StageName, Status from flutter-dashboard.cocoon.TaskTest'

In BigQuery table Task:
column 'RequiredCapability' was created with mode Nullable
In cocoon backend, it inserts that column as regular String. So it works.
After applying bq query --replace, that column mode was changed to Repeated, resulting in failure when inserting regular String value.

Inserting RequiredCapability as a list works.

Fixed in #549


Cannot Resolve Upstream Dependency Error

Bug Report
I'm trying to run this project but I'm getting upstream dependency errors. I've tried downgrading typescript and bypassing the error using --legacy-peer-deps and --force but that doesn't work.
🔎 Search Terms
upstream dependency conflict  react native
upstream dependency conflict jest
upstream dependency conflict typescript
upstream dependency conflict
jest looking for outdated typescript
npm peer typescript from ts-jest upstream dependency conflicttypescript jest dependency
npm peer<EMAIL_ADDRESS>from ts-jest upstream dependency conflict
npm peer<EMAIL_ADDRESS>from<EMAIL_ADDRESS>upstream dependency conflict
npm peer<EMAIL_ADDRESS>from<EMAIL_ADDRESS>Could not resolve dependency: peer<EMAIL_ADDRESS>from<EMAIL_ADDRESS>🕗 Version & Regression Information

I was unable to test this on prior versions because I didn't have this project yet

⏯ Playground Link
💻 Code
tsconfig.json
{
"compilerOptions": {
"allowSyntheticDefaultImports": true,
"emitDecoratorMetadata": true,
"forceConsistentCasingInFileNames": true,
"experimentalDecorators": true,
"strictNullChecks": true,
"noImplicitReturns": true,
"importHelpers": true,
"moduleResolution": "node",
"sourceMap": true,
"noImplicitAny": true,
"noEmit": true,
"outDir": "./dist/",
"module": "es2015",
"target": "es2015",
"jsx": "react-native",
"lib": ["esnext", "dom"],
"baseUrl": "./",
"paths": {
"~/": ["src/"],
"shared/": ["shared/"]
}
},
"exclude": ["node_modules", "node_modules/"],
"include": ["./src//"]
},
"resolutions": {
"@types/react-native": "0.55.28"
},
"jest": {
"preset": "jest-expo",
"transform": {
"^.+\.jsx?$": "/node_modules/babel-jest",
"^.+\.tsx?$": "/td/ts-jest/preprocessor.js"
},
"transformIgnorePatterns": [
"node_modules/(?!((jest-)?react-native|react-clone-referenced-element|expo(nent)?|@expo(nent)?/.|react-navigation|native-base-shoutem-theme))"
],
"testRegex": "(/tests/.*|(\.|/)(test|spec))\.(jsx?|tsx?)$",
"moduleFileExtensions": [
"ts",
"tsx",
"js",
"jsx",
"json",
"android.ts",
"android.tsx"
],
"setupFiles": [
"./jestSetup.js"
],
"globals": {
"ts-jest": {
"useBabelrc": true
}
}
}
package.json
"devDependencies": {
"@types/chai": "^4.1.3",
"@types/expo": "^30.0.0",
"@types/jest": "^22.1.2",
"@types/lodash": "^4.14.96",
"@types/mocha": "^5.2.0",
"@types/prop-types": "^15.5.2",
"@types/react": "~16.7.0",
"@types/react-navigation": "^2.0.23",
"@types/react-redux": "^6.0.9",
"@types/reselect": "^2.2.0",
"@types/uuid": "^3.4.3",
"@types/webdriverio": "^4.10.3",
"@types/yup": "^0.24.0",
"jest": "^22.3.0",
"jest-expo": "^31.0.0",
"ts-jest": "^22.0.4",
"ts-loader": "^4.4.2",
"ts-node": "^6.0.2",
"tslib": "^1.9.3",
"typescript": "^3.1.6"
}
🙁 Actual behavior
npm ERR! code ERESOLVE
npm ERR! ERESOLVE unable to resolve dependency tree
npm ERR!
npm ERR! While resolving<EMAIL_ADDRESS>npm ERR! Found<EMAIL_ADDRESS>npm ERR! node_modules/typescript
npm ERR! dev<EMAIL_ADDRESS>from the root project
npm ERR!
npm ERR! Could not resolve dependency:
npm ERR! peer<EMAIL_ADDRESS>from<EMAIL_ADDRESS>npm ERR! node_modules/ts-jest
npm ERR! dev<EMAIL_ADDRESS>from the root project
npm ERR!
npm ERR! Fix the upstream dependency conflict, or retry
npm ERR! this command with --force, or --legacy-peer-deps
npm ERR! to accept an incorrect (and potentially broken) dependency resolution.
🙂 Expected behavior
I'm just trying to run the project.

It's not related to TS package.
You have old ts-jest version that requires old TS version in it's peer dependencies. You should update your dependencies to version that expect your TS version.


Feature handshake

I added the BitTorrent handshake. Hope it is useful

It looks great, thanks : )

The changes are pushed with v0.1.0 to hex


Clearly a virus

This is clearly a virus as shown by a virustotal scan!
The results show that this is the Wacatac trojan not just a roblox hack.
And before you say "they always show as viruses" they show as hack tools not trojans!
DO NOT DOWNLOAD!!

This is clearly a virus as shown by a virustotal scan! The results show that this is the Wacatac trojan not just a roblox hack. And before you say "they always show as viruses" they show as hack tools not trojans!


Registration page does not allow choosing status "Other"

With the current master c2f4dce, selecting "Other" as the status in the registration page will result in "Instructor" being selected.
Tested on Chrome 67 and FireFox 61.

The way it's currently setup, the selects are:
<option value="eligible">Competitor</option>
<option value="ineligible">Instructor</option>
<option value="ineligible">Other</option>

With Instructor and Other sharing the same option for value. I don't know specifically which mechanism it is, but something in React has a listener for whenever that changes, and does some sort of data validation or rendering update, which defers to the first instance of option with ineligible value.
As experiment, changing the value of Other  to eligible makes it select Competitor instead.
Practically though, there is no difference in selecting Instructor or Other, as only the eligible or ineligible data gets passed.
In efforts to allow for more useful iser type data, this select set will soon be altered to the actual values (e.g. high school student, college student, teacher, other) then left to the server api to save and determine eligibility.

Unsure when resolved (likely #255), but this behavior no longer occurs as of 6b07ba304f3137eb57b9668c0bab4b4caa8129fa


Error detected while processing function importjs#Init:

Hello, thanks for the awesome plugin.
I have two osx machines, almost same neovim settings.
Working okay
NVIM 1.4.0
plugin manager: Vundle
Not working
NVIM 1.5.0
plugin manager: vim-plug
I am not sure this is about plugin manager or NVIM version.
below is from the one does not work.
Can you suggest a way to troubleshoot?
Thanks
 ~/.config/nvim   master ●  vi
Error detected while processing function importjs#Init:
line    3:
E117: Unknown function: job_start
E15: Invalid expression: job_start(['importjsd', 'start', '--parent-pid', getpid()], {'exit_cb': 'importjs#JobExit',})
line    7:
E121: Undefined variable: s:job
E116: Invalid arguments for function job_getchannel(s:job)
E15: Invalid expression: job_getchannel(s:job)
Press ENTER or type command to continue
 ~/.config/nvim   master ●  vi -v
NVIM 0.1.5
Build type: RelWithDebInfo
Compilation: /usr/local/Homebrew/Library/Homebrew/shims/super/clang -Wconversion -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1 -DDISABLE_LOG -Wall -Wextra -pedantic -Wno-unused-parameter -Wstrict-prototypes -std=gnu99 -Wvla -fstack-protector-strong -fdiagnostics-color=auto -DINCLUDE_GENERATED_DECLARATIONS -DHAVE_CONFIG_H -I/tmp/neovim-20161007-26331-14gl0zw/neovim-0.1.5/build/config -I/tmp/neovim-20161007-26331-14gl0zw/neovim-0.1.5/src -I/tmp/neovim-20161007-26331-14gl0zw/neovim-0.1.5/deps-build/usr/include -I/tmp/neovim-20161007-26331-14gl0zw/neovim-0.1.5/deps-build/usr/include -I/tmp/neovim-20161007-26331-14gl0zw/neovim-0.1.5/deps-build/usr/include -I/tmp/neovim-20161007-26331-14gl0zw/neovim-0.1.5/deps-build/usr/include -I/tmp/neovim-20161007-26331-14gl0zw/neovim-0.1.5/deps-build/usr/include -I/tmp/neovim-20161007-26331-14gl0zw/neovim-0.1.5/deps-build/usr/include -I/usr/local/opt/gettext/include -I/usr/include -I/usr/include -I/tmp/neovim-20161007-26331-14gl0zw/neovim-0.1.5/build/src/nvim/auto -I/tmp/neovim-20161007-26331-14gl0zw/neovim-0.1.5/build/include
Compiled by<EMAIL_ADDRESS>
Optional features included (+) or not (-): +acl   +iconv    +jemalloc +tui
For differences from Vim, see :help vim-differences

   system vimrc file: "$VIM/sysinit.vim"
  fall-back for $VIM: "/usr/local/Cellar/neovim/0.1.5/share/nvim"

 ~/.config/nvim   master ● 

It turned out it is plugin manager.
junegunn/vim-plug this is actually popular one.
https://github.com/junegunn/vim-plug
Can we consider supporting this?
Thanks!

How did you determine that it was the plugin manager causing the problem? From your error message it looks to me like you are using a version of Vim that is too old and doesn't support the Vim features we are using here. What version of Vim are you using?

I don't know if anyone has tested vim-import-js with neovim. Since the job control implementations have diverged, it seems unlikely to work without a little bit of extra work.

@lencioni I maybe wrong but I have almost same setup with different plugins manager. The one with other than vim-plug seems working fine.
and as @tdooner said, it can be neovim. I'll put an update on this when I get a chance to look at.
Thank you all.

Same problem here with vim 7.4.898 and neovim 0.1.2, using Vundle.

Same problem with nvim 0.1.7 using vim-plug.

Same problem with nvim 0.1.7 using vim-plug.

Same problem with nvim 0.1.7 using vim-plug.

Sorry for leaving so many comments unanswered here. It looks like https://github.com/neovim/neovim/issues/5520 is relevant to the issue. Basically, neovim doesn't support the same channel interface as vim 8 does. If anyone is willing to take a stab at making the import-js plugin work for neovim, I'd be delighted to review a PR! If not, I'll try to get to it at a later time.

I read the reddit thread on Neovim API comparison with Vim channels. Do you know how plugins are supposed to work with both Neovim and Vim? Do you have to do a check to see if it's running in Neovim and do one thing, or if it's in Vim, do another thing instead?

I don't know to be honest, but it looks like if has('nvim') might do the trick. https://github.com/neovim/neovim/issues/1931
We could also look into some kind of feature detection instead of detecting what editor is running.
Do you have a link to the reddit thread?

https://www.reddit.com/r/neovim/comments/58nrwv/neovim_api_comparison_with_vim_channels/


Feat: Automatic page refresh after posting

What feature?
After submitting a post, it isn't immediately reflected on the screen. To see the newly added data in the view, a manual page refresh is required.
Add screenshots
No response
Record

[X] I agree to follow this project's Code of Conduct
[X] I want to work on this issue

Absolutely, I appreciate your suggestion. You may assign me to this issue, I'll definitely work on this and keep you updated on the progress.
Thank you.


[Bug]: Fixing Links in our partners section for github and codechef

Contact Details
<EMAIL_ADDRESS>What happened?
A bug happened! The github link is not working due to wrong url (instead of wwww it should be www) and for the codechef case it redirects to linkedin page of Dot Question Mark
Version
1.0.0 (Default)
What browsers are you seeing the problem on?
Chrome
What OS are you seeing the problem on?
Windows
Relevant log output
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct

@ank1traj I have made the pr
Please look into it

Merged the PR. Points given for this.


Fix typo mpdel --> model

Fix typo in README

Thanks! Could you also fix https://github.com/microsoft/onnxscript/blob/main/docs/tutorial/examples/hardmax_end_to_end.py? This way the files can be synced

@microsoft-github-policy-service agree

Thanks! Could you also fix https://github.com/microsoft/onnxscript/blob/main/docs/tutorial/examples/hardmax_end_to_end.py? This way the files can be synced

Updated!


[MB-1582] Implement explicit look-up function for EIAFuelPrice

Description
The Fuel Surcharge Pricer requires the weekly national average diesel fuel price in order to be calculated. This PR provides the lookup functions for the GHCDieselFuelPrice that was published most recently prior to the ActualPickupDate associated with the MTOShipment that belongs to the PaymentRequest.
Reviewer Notes
Currently, the lookup function is setup to find the GHCDieselFuelPrice object published most recently prior to the ActualShipmentDate of the MTOShipment that is associated with the MTOServiceItem in question. A careful look at the code on lines 45-50 of eia_fuel_price_lookup.go would be appreciated.
Code Review Verification Steps

[ ] Code follows the guidelines for Logging
[ ] The requirements listed in
Querying the Database Safely
have been satisfied.
Any new migrations/schema changes:

[ ] Follow our guidelines for zero-downtime deploys (see Zero-Downtime Deploys)
[ ] Have been communicated to #g-database
[ ] Secure migrations have been tested following the instructions in our docs

[ ] There are no aXe warnings for UI.
[ ] This works in Supported Browsers and their phone views (Chrome, Firefox, IE, Edge).
[ ] Tested in the Experimental environment (for changes to containers, app startup, or connection to data stores)
[ ] User facing changes have been reviewed by design.
[ ] Request review from a member of a different team.
[ ] Have the Jira acceptance criteria been met for this change?

References

Jira story for this change
this article explains more about the approach used.

Screenshots
If this PR makes visible UI changes, an image of the finished UI can help reviewers and casual
observers understand the context of the changes. A before image is optional and
can be included at the submitter's discretion.
Consider using an animated image to show an entire workflow instead of using multiple images. You may want to use GIPHY CAPTURE for this! 📸
Please frame screenshots to show enough useful context but also highlight the affected regions.

Messages

:book:
:link: MB-1582

  Generated by :no_entry_sign: dangerJS against 8758eb6a05570738c16aa27326e7fa81f3a2db12

Hi Harsha!! What steps do I need to take to give this design review? The description doesn't make me think that there are design/css changes here but I do see some scss code being added/changed. I don't want that Truss-Design code owner situation to block you!

Hi Harsha!! What steps do I need to take to give this design review? The description doesn't make me think that there are design/css changes here but I do see some scss code being added/changed. I don't want that Truss-Design code owner situation to block you!

@Shkeating I think there is extra changes in this PR than there should be. It should not have changed any .loki files as far as I know.

Hi Harsha!! What steps do I need to take to give this design review? The description doesn't make me think that there are design/css changes here but I do see some scss code being added/changed. I don't want that Truss-Design code owner situation to block you!

Thanks for following up on this so quickly @Shkeating. Those changes were pulled into this PR due to some crossed git wires. There should be no design/css changes in this PR.

@gidjin, @garrettqmartin8, I think I have the changes in this PR back to where they should be. Requesting a re-review. Not sure what happened there with the git history and commits that were being included in this PR.


Multiple chained stubs sharing a stem are not supported

Flexmock does not handle multiple chained stubs that share the same stem. It appears to only remember the last stub. Example:
mock = flexmock()
mock.should_receive('get_url.parse_html.retrieve_results').and_return([])
mock.should_receive('get_url.parse_html.retrieve_header').and_return({})

The following works:
mock.get_url().parse_html().retrieve_header()

However, the following results in an error:
mock.get_url().parse_html().retrieve_results()
AttributeError: 'Mock' object has no attribute 'retrieve_results'

I copied this issue to the new official repo: https://github.com/bkabrda/flexmock/issues/1 closing this one


[FLINK-30064] Move existing Hive connector code from Flink repo to dedicated Hive repo

The PR is to move hive connector to external repo
history was taken based on https://cwiki.apache.org/confluence/display/FLINK/Externalized+Connector+development#ExternalizedConnectordevelopment-Githistory

rebased since there were new commits in main flink master

Cool! @snuyanzin  Thanks for the pr. Sorry for the late response for I'm busy with other things. I'll definitely have a look in next week.

@snuyanzin Hi, I also found some pages(https://nightlies.apache.org/flink/flink-docs-master/docs/dev/table/hive-compatibility/hive-dialect/overview/ , https://nightlies.apache.org/flink/flink-docs-master/docs/dev/table/sql-gateway/hiveserver2/) in Flink still refer to Hive with internal link. Will we adjust them in the pr of removing Hive connector from flink repo?

Will we adjust them in the pr of removing Hive connector from flink repo?

yep, usually it's happening either with while removal of connector from main repo or together with the first oficial release of externalised connector.

I want to make sure we can have a chance to test & verify it with hive3.

Good point. I actually think we should consider running them both for each PR, that should be easier with Hive being externalized.

I will see if it could be supported on a generic way since same functionality would be nice to have for OpenSearch connector

We could consider adding optional_maven_profiles as a generic variable and pass that through (kind of like https://github.com/apache/flink-connector-shared-utils/blob/ci_utils/.github/workflows/ci.yml#L87-L89)

yep, that exactly the idea i'm testing right now =)
thanks for confirmation :+1:

Currently it works for hive2 and hive3 (without e2e for jdk11)
as

hive version
flink 1.18 + jdk 8
flink 1.19-snapshot +  jdk8
flink 1.18 + jdk 11
flink 1.19-snapshot +  jdk11

2
✅
✅
✅
✅

3
✅
✅
no E2E
no E2E

as mentioned above under flink main there is no E2E tests for jdk11 as well
The PR currently copies ci.yaml from flink-connector-shared-utils ...
at the same side there are 2 PRs for that repo to support customization of jdk version https://github.com/apache/flink-connector-shared-utils/pull/24 and maven profiles https://github.com/apache/flink-connector-shared-utils/pull/29 , these 2 features are used here. Once they are merged ci.yml could be reused and the copy could be removed
@luoyuxia , @MartijnVisser please let me know whether you are ok with this or not

@snuyanzin Cool! Thanks for your work. It sounds good to me.

please let me know whether you are ok with this or not

I'm reviewing the CI PRs; when they are merged and we can merge this, will we remove the Hive code from Flink's master branch?

I'm reviewing the CI PRs; when they are merged and we can merge this

thanks a lot for your review

will we remove the Hive code from Flink's master branch?

yes, that was the plan, the only question is whether we need a dedicated ML thread for that or since there is already existing jira issue for Hive externalisation, we could just continue with it?

dedicated ML thread for that or since there is already existing jira issue for Hive externalisation, we could just continue with it?

It would be good to announce the intent at least, to also avoid that Hive commits get merged into master between the time the release (which we should make indeed) is completed and the externalization happening

weekly passed
https://github.com/snuyanzin/flink-connector-hive/actions/runs/7145518824


Redesign Commons registration page to link to separate enrollment flows

Because we need separate enrollment flows for username / password login and social login, the registration page needs to be redesigned. This is also an opportunity to streamline that page.

Initial design
Private Zenhub Image


livepeer-log: remove livepeer-log

Depends on https://github.com/livepeer/mistserver/pull/2.
One commit just removes livepeer-log and all of its dependencies. The other handles livepeer-victoria-metrics -j and livepeer-vmagent -j - previously livepeer-log injected their usage information but now we make use of a Bash wrapper script (at scripts/livepeer-vmagent) to handle -j and then invoke the vmagent binary itself, now present at ./bin/lp-vmagent.

Closing in favor of https://github.com/livepeer/catalyst/pull/707


Add ability to stat without name sufix

currently to stat a job one must run ./pbs_cmds job stat <jobid>.<submit url> It would be nice if ./pbs_cmds job stat jobid worked

closed by 1fe8bb0


rename Makefile.e2e to e2e.mk

Pull Request

[x] Make sure you have followed Kube-OVN Code Style.

What type of this PR
Examples of user facing changes:

Features
Bug fixes
Docs
Tests

Which issue(s) this PR fixes
Fixes #(issue-number)

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

Totals

Change from base Build<PHONE_NUMBER>2:
0.0%

Covered Lines:
10160

Relevant Lines:
45997

💛  - Coveralls


[sql_lab]refresh metadata when user input non-select statement

I dropped a table named "calcs" in SQL editor and it ran successfully. what I expected was

"calcs" is removed from the dropdown list in "SEE TABLE SCHEMA" ✅
"calcs" table metadata preview is removed from the left panel. ⛔ Refreshing metadata should also be applied in any other DML, e.g. ALTER

cc @eschutho @betodealmeida @mistercrunch

This is still the case in 2.0.1. FYI @yousoph @eschutho

This is likely fixed by now, and is pretty out of date if not. If people are still encountering this in current versions (3.x) please open a new Issue or a PR to address the problem.


RyuJit doesn't support inlining P/Invokes whose return type is a struct

In importer.cpp, Compiler::impCanPInvokeInlineCallSite excludes P/Invokes from being emitted inline if they return a struct. This prevents CoreRT from compiling invoke stubs. The actual external method call ends up as a managed direct call instead.
See, ie: System.Console!mincore.GetLargestConsoleWindowSize

We need to get onto the compMustInlinePInvokeCalli path for CoreRT.

We can force that in JIT startup by setting CorJitFlag.CORJIT_FLG_IL_STUB for p/invokes.  That only works for Calli though.  We maybe need something CoreRT-specific in that area of the importer to allow it for direct calls.

We maybe need something CoreRT-specific

Agree. CorJitFlag.CORJIT_FLG_IL_STUB flag flips number of different things ... not sure whether we want all of them ... .

Is there a workaround for this, to prevent the inlining from taking place? [MethodImpl(MethodImplOptions.NoInlining)] doesn't help unfortunately.

The proper fix should be like a five line change in RyuJIT. I will try to do it in a next several days.
There is a related problem (https://github.com/dotnet/corert/issues/158) that causes structs on Unix to not be always passed in registers according to the platform calling convention. If you have PInvokes that return structs, you are likely to hit that one too.


Decryption Error - Invalid or corrupted pad block

Have you seen this error before?
It started appearing all of a sudden and now doesn't go away. Locks the app.
Clearing app storage works the first time but on app restart, it appears again.
I/flutter ( 6835): Loon -> PersistManager -> InitOperation started.
I/flutter ( 6835): Loon -> FilePersistor -> Directory: /data/user/0/com.treatmyocd.nocd.qa/app_flutter/loon
I/flutter ( 6835): Loon -> FilePersistor -> Worker -> Hydrate started.
I/flutter ( 6835): Loon -> FilePersistor -> Worker -> Hydrate completed in 8ms.
I/flutter ( 6835): Loon -> PersistManager -> InitOperation completed in 1033ms.
I/flutter ( 6835): Loon -> PersistManager -> HydrateAllOperation started.
I/flutter ( 6835): Loon -> FilePersistor -> Worker -> DataStore:__store__ -> Hydrate started.
I/flutter ( 6835): Loon -> FilePersistor -> Worker -> DataStore:__store__.encrypted -> Hydrate started.
I/flutter ( 6835): Loon -> FilePersistor -> Worker -> DataStore:__store__ -> Hydrate completed in 1ms.
I/flutter ( 6835): Loon -> FilePersistor -> Worker -> DataStore:__store__.encrypted -> Hydrate failed in 94ms.
I/flutter ( 6835): Loon -> FilePersistor -> Request error: Invalid argument(s): Invalid or corrupted pad block
E/flutter ( 6835): [ERROR:flutter/runtime/dart_isolate.cc(1315)] Unhandled exception:
E/flutter ( 6835): Invalid argument(s): Invalid or corrupted pad block
E/flutter ( 6835): #0      PKCS7Padding.padCount (package:pointycastle/paddings/pkcs7.dart:42:7)
E/flutter ( 6835): #1      PaddedBlockCipherImpl.doFinal (package:pointycastle/padded_block_cipher/padded_block_cipher_impl.dart:112:30)
E/flutter ( 6835): #2      PaddedBlockCipherImpl.process (package:pointycastle/padded_block_cipher/padded_block_cipher_impl.dart:74:25)
E/flutter ( 6835): #3      AES.decrypt (package:encrypt/src/algorithms/aes.dart:68:22)
E/flutter ( 6835): #4      Encrypter.decryptBytes (package:encrypt/src/encrypter.dart:39:10)
E/flutter ( 6835): #5      Encrypter.decrypt (package:encrypt/src/encrypter.dart:50:7)
E/flutter ( 6835): #6      Encrypter.decrypt64 (package:encrypt/src/encrypter.dart:66:12)
E/flutter ( 6835): #7      DataStoreEncrypter.decrypt (package:loon/persistor/data_store_encrypter.dart:50:23)
E/flutter ( 6835): <asynchronous suspension>
E/flutter ( 6835): #8      new FileDataStoreConfig.<anonymous closure> (package:loon/persistor/file_persistor/file_data_store_config.dart:19:29)
E/flutter ( 6835): <asynchronous suspension>
E/flutter ( 6835): #9      Logger.measure (package:loon/utils/logger.dart:65:22)
E/flutter ( 6835): <asynchronous suspension>
E/flutter ( 6835): #10     DataStore.hydrate (package:loon/persistor/data_store.dart:146:9)
E/flutter ( 6835): <asynchronous suspension>
E/flutter ( 6835): #11     Future.wait.<anonymous closure> (dart:async/future.dart:534:21)
E/flutter ( 6835): <asynchronous suspension>
E/flutter ( 6835): #12     DualDataStore.hydrate (package:loon/persistor/data_store.dart:312:5)
E/flutter ( 6835): <asynchronous suspension>
E/flutter ( 6835): #13     Future.wait.<anonymous closure> (dart:async/future.dart:534:21)
E/flutter ( 6835): <asynchronous suspension>
E/flutter ( 6835): #14     DataStoreManager.hydrate.<anonymous closure> (package:loon/persistor/data_store_manager.dart:163:9)
E/flutter ( 6835): <asynchronous suspension>
E/flutter ( 6835): #15     Lock.run (package:loon/persistor/lock.dart:24:22)
E/flutter ( 6835): <asynchronous suspension>
E/flutter ( 6835): #16     PersistorWorker.onMessage (package:loon/persistor/worker/persistor_worker.dart:56:30)
E/flutter ( 6835): <asynchronous suspension>
I/flutter ( 6835): Loon -> PersistManager -> HydrateAllOperation completed in 110ms.
I/flutter ( 6835): Loon -> Error hydrating
E/flutter ( 6835): [ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: Exception: Request error: Invalid argument(s): Invalid or corrupted pad block

Unfortunately, it's not isolated to emulators or Google Play APIs.
Happens every time on a physical device too.

hey sorry to hear that! I've seen that when the encryption key from secure storage doesn't match the encryption key that was used to save the data. That was just an issue I saw so far on MacOS because secure storage requires a permission outlined here: https://github.com/danReynolds/loon/blob/main/docs/debug.md. That wouldn't be relevant for you on Android obviously though so I'll try and do some encrypted Android testing later today and see if I can repro.
if you uninstall the app and reinstall fresh is it fixed? I'm wondering if maybe a similar issue is happening on Android where secure storage isn't finding a key on next startup. You can debug that here: https://github.com/danReynolds/loon/blob/main/lib/persistor/data_store_encrypter.dart#L28 to check if after encrypting data, on next start it got the same key.

Thanks for the insights Dan and taking a look!
What's weird is this didn't happen until all of a sudden, it started
happening every time.
No, clean install, wiping the emulator, it's still reproducible.
Knowing you're using secure storage, that reminds me of an issue I've run
into before.
Secure storage and shared preferences will backup the key to Google's cloud
for the user. The key is then restored on app installation. So if the key
is saved and restored, it will often be invalid.
I've turned off backup though so I'm not sure if that applies here.
On Fri, 15 Nov 2024, 3:02 pm Dan Reynolds, @.***> wrote:

hey sorry to hear that! I've seen that when the encryption key from secure
storage doesn't match the encryption key that was used to save the data.
That was just an issue I saw so far on MacOS because secure storage
requires a permission outlined here:
https://github.com/danReynolds/loon/blob/main/docs/debug.md. That
wouldn't be relevant for you on Android obviously though so I'll try and do
some encrypted Android testing later today and see if I can repro.
if you uninstall the app and reinstall fresh is it fixed? I'm wondering if
maybe a similar issue is happening on Android where secure storage isn't
finding a key on next startup. You can debug that here:
https://github.com/danReynolds/loon/blob/main/lib/persistor/data_store_encrypter.dart#L28
to check if after encrypting data, on next start it got the same key.
—
Reply to this email directly, view it on GitHub
https://github.com/danReynolds/loon/issues/24#issuecomment-2479917707,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AEXZO3SXSKGF3V57J4LFPJD2AZOO3AVCNFSM6AAAAABR3VNIY2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINZZHEYTONZQG4
.
You are receiving this because you authored the thread.Message ID:
@.***>

Happy holidays Dan!
The conflict with Flutter Secure Storage is likely because I'm using another library that also uses Flutter Secure Storage. So when they are used together, one conflicts with the other.
The same category of issue happens with SharedPreferences as well.

Loon and SharedPreferences write to the same IndexDB on Web so they conflict.
Here's a reproducible example:
import 'package:flutter/material.dart';
import 'package:loon/loon.dart';
import 'package:shared_preferences/shared_preferences.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return const MaterialApp(
      title: 'Loon/SharedPreferences Conflict Demo',
      home: MyHomePage(),
    );
  }
}

class MyHomePage extends StatefulWidget {
  const MyHomePage({Key? key}) : super(key: key);

  @override
  State<MyHomePage> createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  String _savedValue = 'No Value Saved';
  String _loonStatus = 'Loon Not Initialized';
  late SharedPreferences _prefs;

  // Function to initialize SharedPreferences and Loon
  Future<void> _initializePrefsAndLoon() async {
    setState(() {
      _loonStatus = 'Initializing...';
    });

    try {
      // Initialize SharedPreferences
      _prefs = await SharedPreferences.getInstance();

      // Configure Loon
      Loon.configure(
        persistor:
            Persistor.current(settings: PersistorSettings(encrypted: false)),
      );

      // Attempt to hydrate Loon
      Loon.hydrate();

      setState(() {
        _loonStatus = 'Loon Initialized Successfully';
        _loadSavedValue(); // Load value after Loon initialization
      });
    } catch (e) {
      setState(() {
        _loonStatus = 'Error Initializing Loon: $e';
      });
      print('Error initializing Loon: $e'); // Log the error
    }
  }

  void _loadSavedValue() {
    setState(() {
      _savedValue = _prefs.getString('myKey') ?? 'No Value Saved';
    });
  }

  void _saveValue(String value) async {
    if (_prefs == null) {
      // Handle the case where SharedPreferences might not be initialized
      print(
          "SharedPreferences is not initialized. Please initialize Loon and SharedPreferences first.");
      return;
    }
    await _prefs.setString('myKey', value);
    Loon.collection('test').doc('test').createOrUpdate({'myKey': value});
    _loadSavedValue();
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: const Text('Conflict Demo'),
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            Text('Saved Value: $_savedValue'),
            const SizedBox(height: 20),
            Text('Loon Status: $_loonStatus'),
            const SizedBox(height: 20),
            ElevatedButton(
              onPressed: _initializePrefsAndLoon,
              child: const Text('Initialize Loon and SharedPreferences'),
            ),
            const SizedBox(height: 20),
            ElevatedButton(
              onPressed: () => _saveValue('Hello from SharedPreferences!'),
              child: const Text('Save Value'),
            ),
          ],
        ),
      ),
    );
  }
}

Press 'Initialize'. Then 'Save Value' to write a value via Loon and SharedPrefs.
Restart the app via Hot Restart and it will crash when trying to 'Initialize'.
What do you recommend as a solution?

This is super valuable thanks! I'll take a look soon and make a fix/recommendation. Happy holidays!


Test inference

All the necessary documents are found in the folder named 'assignment 7'.

Hi @AmarensElise and @cmfuego,
I had a look at your PR. I ran your inference test and I made it work locally and on your provided Google Colab notebook. However, I would like to suggest some changes to make your inference reproduction easier:

There is a variable initialization here that results in a ValueError and stops the whole execution of the inference. You can either provide your amarens-wind-09092021-spanish.wav file or remove the initialization so only tengo-once-anos.mp3 will be used for inference.

Here you suggest we can reproduce the inference in our local environment, thus I would suggest adding a verification if the tester's environment contains a GPU for CUDA operations before the initialization of the models here. The verification could be implemented with the following check:

import torch
torch.cuda.is_available()

If the testing environment does not contain CUDA capable GPUs, the models should be initialized without the .cuda() method for CPU inference.
@Tatsu1020 Reviewed this PR as well and made the same observations. Perhaps, he might have additional comments.
Overall, this PR LGTM! If you could look at the suggestions and incorporate them, I would approve the merge of this PR.

There is a variable initialization here that results in a ValueError and stops the whole execution of the inference. You can either provide your amarens-wind-09092021-spanish.wav file or remove the initialization so only tengo-once-anos.mp3 will be used for inference.

You're right, we forgot to remove it! The problem is solved now.

Here you suggest we can reproduce the inference in our local environment, thus I would suggest adding a verification if the tester's environment contains a GPU for CUDA operations before the initialization of the models here. The verification could be implemented with the following check:

import torch
torch.cuda.is_available()

If the testing environment does not contain CUDA capable GPUs, the models should be initialized without the .cuda() method for CPU inference.

You have a good point here. We have tried to incorporate your suggestion, but ultimately came to the conclusion that it was just beyond our understanding. We will try it again later, but for now with the purpose of the current assignment, in order to keep our the instructions in our notebook as clear as possible, we have decided to leave this part out (since we were not able to reproduce it ourselves).
Thank you @Lemswasabi and @Tatsu1020 for the helpful comments!

@Lemswasabi and @Tatsu1020
The comments made were clear and the demands were fair. We initially added the way to reproduce locally because we weren’t sure if just the Google Notebook was enough for the assignment, so we included some instructions from the original repo, but to make this branch more replicable we have now removed it. They also helped us improve some other code referring to a file that shouldn’t have been in there, so that was great.
We think the instructions we got were clear and helpful though, so it’s due to our own limitations we weren’t able to solve all the issues. Maybe the suggestions on this could have been a little more beginner-friendly, but the overall point was good.
The grade we would suggest is a 9.7
(@phat-vtcf)


Code Quality: Improved SetAs actions

Resolved / Related Issues

Annotated that the service methods may throw COMException
Throw COMException when failed in all the com methods
Release the PIDLs properly
Use stackalloc

Steps used to test these changes

Set as wallpaper
Set as slideshow
Set as app background

PTAL


[Quantum] [DRAFT - Do not merge] Output error information in table when Quantum job fails

This checklist is used to make sure that common guidelines for a pull request are followed.

For new extensions:

[ ] My extension description/summary conforms to the Extension Summary Guidelines.

About Extension Publish
There is a pipeline to automatically build, upload and publish extension wheels.
Once your PR is merged into master branch, a new PR will be created to update src/index.json automatically.
The precondition is to put your code inside this repo and upgrade the version in the PR but do not modify src/index.json.

Quantum

@vxfield, Please review


Editor: General link improvements

Features:
Add links to local content (using the uber selection widget?, deprecate the old one?)
We have to address:
https://github.com/plone/volto/issues/689 X button to remove the already typed link.
https://github.com/plone/volto/issues/298 and https://github.com/plone/volto/issues/593 anchor link ability
https://github.com/plone/volto/issues/305 missing link underline in edit mode for some instantiated editors on link creation
https://github.com/plone/volto/issues/210 create router  component for local content.

@sneridagh I am wondering if it would make sense to move the link functionality to the sidebar as well. This would allow us to implement the "content browser" functionality as well as "open in new window" or a fancy image preview search that clients asked us to do. What do you think?


failed to download videos, maybe the network is not available.

2024-04-27 19:52:02.060 | INFO     | main::431 - 开始生成视频
2024-04-27 19:52:02.061 | INFO     | main::432 - {
"video_subject": "",
"video_language": "",
"video_script": "These keys are used to access your Azure AI services API. Do not share your keys. Store them securely– for example, using Azure Key Vault. We also recommend regenerating these keys regularly. Only one key is necessary to make an API call. When regenerating the first key, you can use the second key for continued access to the service.",
"video_terms": "",
"video_concat_mode": "random",
"video_aspect": "9:16",
"video_clip_duration": 3,
"video_count": 1,
"voice_name": "zh-CN-XiaoxiaoMultilingualNeural-V2-Female",
"voice_volume": 1.0,
"bgm_volume": 0.2,
"subtitle_enabled": true,
"font_name": "STHeitiLight.ttc",
"subtitle_position": "bottom",
"text_fore_color": "#FFFFFF",
"font_size": 60,
"stroke_color": "#000000",
"stroke_width": 1.5
}
2024-04-27 19:52:02.062 | INFO     | app.services.task:start:30 - start task: 68826b02-740d-44a9-a0b5-8fe9e37de87e
2024-04-27 19:52:02.063 | INFO     | app.services.task:start:39 -
generating video script
2024-04-27 19:52:02.063 | DEBUG    | app.services.task:start:45 - video script:
These keys are used to access your Azure AI services API. Do not share your keys. Store them securely– for example, using Azure Key Vault. We also recommend regenerating these keys regularly. Only one key is necessary to make an API call. When regenerating the first key, you can use the second key for continued access to the service.
2024-04-27 19:52:02.064 | INFO     | app.services.task:start:49 -
generating video terms
2024-04-27 19:52:02.064 | INFO     | app.services.llm:generate_terms:275 - subject:
2024-04-27 19:52:02.065 | DEBUG    | app.services.llm:generate_terms:276 - prompt:
Role: Video Search Terms Generator
Goals:
Generate 5 search terms for stock videos, depending on the subject of a video.
Constrains:

the search terms are to be returned as a json-array of strings.
each search term should consist of 1-3 words, always add the main subject of the video.
you must only return the json-array of strings. you must not return anything else. you must not return the script.
the search terms must be related to the subject of the video.
reply with english search terms only.

 Do not share your keys. Store them securely– for example, using Azure Key Vault. We also recommend regenerating these keys regularly. Only one key is necessary to make an API call. When regenerating the first key, you can use the second key for continued access to the service.
Please note that you must use English for generating video search terms; Chinese is not accepted.
2024-04-27 19:52:02.065 | INFO     | app.services.llm:_generate_response:16 - llm provider: moonshot
2024-04-27 19:52:04.133 | SUCCESS  | app.services.llm:generate_terms:296 - completed:
[]
2024-04-27 19:52:04.136 | INFO     | app.services.task:start:75 -
generating audio
2024-04-27 19:52:04.137 | INFO     | app.services.voice:azure_tts_v2:1088 - start, voice name: zh-CN-XiaoxiaoMultilingualNeural, try: 1
2024-04-27 19:52:07.751 | SUCCESS  | app.services.voice:azure_tts_v2:1128 - azure v2 speech synthesis succeeded: .\storage\tasks\68826b02-740d-44a9-a0b5-8fe9e37de87e\audio.mp3
2024-04-27 19:52:07.998 | INFO     | app.services.task:start:93 -
generating subtitle, provider: edge
2024-04-27 19:52:08.001 | INFO     | app.services.voice:create_subtitle:1232 - completed, subtitle file created: .\storage\tasks\68826b02-740d-44a9-a0b5-8fe9e37de87e\subtitle.srt, duration: 22.4
2024-04-27 19:52:08.002 | INFO     | app.services.task:start:113 -
downloading videos
2024-04-27 19:52:08.002 | INFO     | app.services.material:download_videos:148 - found total videos: 0, required duration: 23 seconds, found duration: 0.0 seconds
2024-04-27 19:52:08.003 | SUCCESS  | app.services.material:download_videos:176 - downloaded 0 videos
2024-04-27 19:52:08.004 | ERROR    | app.services.task:start:123 - failed to download videos, maybe the network is not available. if you are in China, please use a VPN.

但是实际上换了vpn还是无法处理

AttributeError: 'NoneType' object has no attribute 'get'
Traceback:
File "D:\software\MoneyPrinterTurbo\lib\python\lib\site-packages\streamlit\runtime\scriptrunner\script_runner.py", line 542, in _run_script
exec(code, module.dict)
File "D:\software\MoneyPrinterTurbo\MoneyPrinterTurbo\webui\Main.py", line 437, in
video_files = result.get("videos", [])

2024-04-27 19:52:04.133 | SUCCESS | app.services.llm:generate_terms:296 - completed:
[]

moonshot大模型，没有返回正确的数据，请检查下moonshot的配置是否正确


Hello

Can you bring up soptify and soundcloud support to this bot?

SoundCloud is already supported, but currently broken (#833). Spotify will never be implemented. In the future, please ask questions in Discussions.


nixVersions.nix_2_18: 2.18.7 -> 2.18.8

Description of changes
Diff: https://github.com/NixOS/nix/compare/2.18.7...2.18.8
Fixes https://github.com/NixOS/nix/security/advisories/GHSA-6fjr-mq49-mm2c
Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] 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
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
24.11 Release Notes (or backporting 23.11 and 24.05 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

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

added hashes in https://github.com/NixOS/nixpkgs/pull/344714


Create dashboard for results bulk upload

Background
In production, we have page view and request data for the results bulk uploader but we don't have a way to quickly synthesize it or see it in a particularly digestible format.
Action requested
Create a Azure dashboard for the results bulk uploader. In particular, this dashboard should aim to track:

Page views/interactions with for the device code lookup tool
Page views for the main results bulk upload page, as well as the upload history page and the upload guide
Success and error events
Template downloads

All this data should already be in Azure; this request is just to gather those metrics into a dashboard and publish it.
Acceptance Criteria
Dashboard has been created for results bulk upload and shared with the product and design teams.
Additional context
Came out of the analytics sync on 1/25/23. Some prior work on metrics-gathering has been done by the Better Data team; see #4485.

Here is the dashboard:
<EMAIL_ADDRESS>Let me know @BobanL @fzhao99 @johanna-skylight @mehansen if I am missing anything or something needs to be updated! Thank you!!


Security trimming does not pass querystring parameters to custom authorizeattributes

AuthorizeAttributeAclModule creates httpcontext from RouteData. This does not include querystring route parameters. So my custom authorizeattribute does not gets the parameters.
Values in filterContext.Controller.ValueProvider differs on normal security check and on security trimming check.

First of all, query string parameters are not part of routing - MVC does not add them into the RouteValueCollection.
But that is not the only issue with this expectation. MvcSiteMapProvider checks the AuthorizeAttribute for every node in every request. For all of the nodes but one (the current node) the query string information would be completely meaningless. In fact, the AuthorizeAttributeAclModule uses a fake HttpContext based on the URL of the home page so the checks based on the nodes don't get polluted by the context of the current request.
Perhaps there is a solution for what you are trying to achieve, but it would be helpful to know what that goal is.

You create HttpContext by route data (RouteValueDictionary) and it contains querystring. With default routing all action parameters exept ids become querystring parameters.  Then you through away it. And you call custom authorize attribute without this part of the path.
And the check is different from security check on original httprequest. What annoy me is that you get this information than throw away it.
I think that your MVC HTTPContext can transfer querystring a little further.
Many my methods contain Method parameter and user have roles for this methods. I wrote custom authorize attribure for this check. To be precisely I check Request.Unvalidated(). It worked correctly with security check but was unexpectedly broken with security trimming. (I have feeling that it worked for sometime.)
For me I created ugly workaround by replacement of MvcContextFactory and creating some special checks in custom authorize attribute.
You correctly check all authorize attributes that the node has. And it means that somebody thought which attibutes have sense for current node. So there is no much problem with every node and so on.

It is unclear what you mean by "throwing it away" at this point. If you could provide a code sample of what you did as a workaround it would help with my understanding of the issue.
You could also try this alternative AuthorizeAttributeAclModule to see if that works for you.
I would appreciate if you could make this clear - I am working on a patch release right now and it would be nice to include a fix for this, if possible.

The original mvc routedata consept was as in http://www.tutorialsteacher.com/articles/what_is_routedata that routedata includes action parameters. But as understand it was removed (or processed after authorizeattribute).  And  there are suggestions to use filterContext.Controller.ValueProvider instead (http://stackoverflow.com/questions/5549371/using-action-parameters-in-custom-authorization-attribute-in-asp-net-mvc3).
I use MVC 4 and nugets 4.6.18 and I transfer routedata from node to authorization attribute explicitly because I don't get action parameters. They go to querystring and should be accessed through value provider or request.querystring.
FindRoutesForNode - create httpcontext by node routedata. And it contains routevalues and querystring. But querystring part is thrown away. MVC pass all the data to custom authorize attribute and attribute works.

Alternative gaves empty result on FindSiteMapNode and menu is empty with it.

MVC always runs AuthorizeAttribute in the context of the current page, so there it makes sense to use the current context and pass in the route values and query string information from the current request.
MvcSiteMapProvider runs the security check for other pages as well (not just the current request). It would only make sense to use query string information if that information applies to every single page on the site. My question to you is what if the query string information has nothing to do with the node in question?
Correct FindRoutesForNode creates a fake HTTP context based on the home page and discards any route value or query string information. This is so we don't pollute the authorization check with irrelevant values from the current request.
Aside from this chicken-and-egg problem with checking security for other pages than the current one which MVC doesn't do at all and we do, Microsoft has made it pretty clear that you are not supposed to make a security scheme based on the URL. The purpose of AuthorizeAttribute is to ensure that any URL that can reach an action method is checked to ensure that it is authorized. As soon as you depend on values from the URL you are allowing for vulnerabilities in security. In your case, someone could bypass the security scheme simply by changing the query string.
If I misunderstand and you are not using those values for security but for redirecting your request as in the example you linked to, do note that there is a HandleUnauthorizedRequest method that you can override for this purpose. MvcSiteMapProvider only checks to see if there is a null/not null value in the filterContext.Result, but does not execute it. Therefore, you could work around this by using the default behavior if the query string values don't exist.
protected override void HandleUnauthorizedRequest(AuthorizationContext filterContext)
{
	var id = (httpContext.Request.RequestContext.RouteData.Values["id"] as string)
             ?? (httpContext.Request["id"] as string);

	if (string.IsNullOrEmpty(id))
	{
		// Query string doesn't exist, so just use the default logic
		base.HandleUnauthorizedRequest(filterContext);
	}
	else
	{
		// Set your custom result handler here
		filterContext.Result =
	}
}

Node has many additional attributes. Most used to create url as routevalues. Only Id and parameters with route configuration can be used in authorization attribute. Why? Why behavior depends on route definition?
MyAuthorizeAttribute in the sample checks that you are authorized this attribute value (id =8). It goes to routedata by default. And it works with SiteMap the same as with MVC. If you rename it to something  like "objectId" it would work only with MVC, not SiteMap.
This security check works on access to the page, not on creating of querystring. So it is impossible use unautorized querystring value.

Node has many additional attributes. Most used to create url as routevalues. Only Id and parameters with route configuration can be used in authorization attribute. Why? Why behavior depends on route definition?

Because MVC depends on routing to work. However, there is another option - set the URL property of the node and then you will have a URL-based node. You could potentially put a query string in there if you really need one.

MyAuthorizeAttribute in the sample checks that you are authorized this attribute value (id =8). It goes to routedata by default. And it works with SiteMap the same as with MVC. If you rename it to something like "objectId" it would work only with MVC, not SiteMap.

Not true. You need to account for every route value in the node. The value "objectId" would need to be added either to preservedRouteParamters or as a route value in order to be considered part of the match.

This security check works on access to the page, not on creating of querystring. So it is impossible use unautorized querystring value.

I don't understand what you mean by this.

I thought that preservedRouteParamters means use value from current path. You removed attributesToIgnore?
Sample is here: https://github.com/yulObraz/Test

I was able to track down one of the issues with this, but I am unable to work out how to make the ValueProvider function. I went through the source code of MVC, but it didn't seem to be much help.
If you grab the 2 files from this gist, and update your DI configuration as follows, you will be able to use the filterRequest.HttpContext.Request.QueryString["method"] to get your value.
var excludeTypes = new Type[] {
	// Use this array to add types you wish to explicitly exclude from convention-based
	// auto-registration. By default all types that either match I[TypeName] = [TypeName] or
	// I[TypeName] = [TypeName]Adapter will be automatically wired up as long as they don't
	// have the [ExcludeFromAutoRegistrationAttribute].
	//
	// If you want to override a type that follows the convention, you should add the name
	// of either the implementation name or the interface that it inherits to this list and
	// add your manual registration code below. This will prevent duplicate registrations
	// of the types from occurring.

	// Example:
	// typeof(SiteMap),
	// typeof(SiteMapNodeVisibilityProviderStrategy)

	// Add these 2 lines...
	typeof(MvcContextFactory),
	typeof(AuthorizeAttributeAclModule)
};

/// Other registration code here...

// Multiple implementations of strategy based extension points (and not decorated with [ExcludeFromAutoRegistrationAttribute]).
CommonConventions.RegisterAllImplementationsOfInterface(
	(interfaceType, implementationType) => this.For(interfaceType).Singleton().Use(implementationType),
	multipleImplementationTypes,
	allAssemblies,
	excludeTypes,
	string.Empty);

// Add this line ...
this.for<IMvcContextFactory>().Use<MvcContextFactory2>();

/// Other registration code here...

// Configure Security
this.For<IAclModule>().Use<CompositeAclModule>()
	.EnumerableOf<IAclModule>().Contains(x =>
	{
		// Change this line...
		x.Type<AuthorizeAttributeAclModule2>();
		//x.Type<XmlRolesAclModule>();
	});

It turns out there is a bug in the MvcContextFactory that is improperly setting the query string value - it needs to chop off the ?, but wasn't doing so.
Your other option is just to configure another route, and then your code will work like you have it.
public class RouteConfig
{
	public static void RegisterRoutes(RouteCollection routes)
	{
		routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

		// Add this route
		routes.MapRoute(
			name: "Test",
			url: "Test/{action}/{method}",
			defaults: new { controller = "Test" }
		);

		routes.MapRoute(
			name: "Default",
			url: "{controller}/{action}/{id}",
			defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
		);
	}
}

Yes, it works so (and titles are not mixed). QueryString is ok for me. I prefer override AuthorizeCore and ValueProvider is not available here. I am thinking about routes in attributes. Route config is too far from actions.

Well, attribute routes just get registered as routes in the end, so they work exactly the same way. You will need either upgrade to MVC5 or use the open source attribute routing to use them, though. We officially support the MVC5 attribute routing. I have not tested the open source project, but haven't had a single person complain about issues with it.


fix: bump to edge-runtime 1.33.0

What kind of change does this PR introduce?
This updates Edge Runtime to use Deno 1.39.2

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
5 unchanged lines in 1 file lost coverage.
Overall coverage decreased (-0.03%) to 58.696%

Files with Coverage Reduction
New Missed Lines
%

internal/gen/keys/keys.go
5
11.76%

Totals

Change from base Build<PHONE_NUMBER>:
-0.03%

Covered Lines:
6159

Relevant Lines:
10493

💛  - Coveralls


Add even more 3rd party tools

https://github.com/aspnet/EntityFramework/issues/3797#issuecomment-289581186
https://github.com/aspnet/EntityFramework/issues/2341#issuecomment-290541515
https://github.com/aspnet/EntityFramework/issues/795#issuecomment-301159333

Hello! I created an extension EntityFramework.CommonTools
https://www.nuget.org/packages/EntityFrameworkCore.CommonTools
It provides three main features:

Expansion of IQueryable extension methods inside lambda expressions (example)
Application-level transaction logs (example)
Utility for storing complex types in JSON columns (example)

And I want to add some info about this extension to the EFCore docs.

For this too (like providers), I am thinking about having a single page listing all tools in a table rather than separate pages referenced in the index. It may make sense to do some house cleaning if some of the tools are not being maintained or useful.

Good idea - any starting point/template for the table?

@ErikEJ sorry for the long delay answering. I think having a table that normalizes the information on the existing extension pages would be a good starting point. It would be good to include a column for compatibility and a description.

Do you have an exsisting page I can use a inspiration/template?

@ErikEJ you may now want to check the new provider list. The PR was #632.

This should be similar, although the columns may be different.
There is the need to redirect stuff to the index.md containing the table.
Tables in markdown are better than html but still hard to manage. You may want to use some editor add in that automates markdown tables fixup. You may also want to use two monitors :smile:


Batch upload for custom contracts

First version, only for 721 and no delayed reveal yet

📝 Changed routes:

/api/checkVerificationStatus
/api/verify

Commit cef4d9718e2dba5b17222ee3b612ccd6fc1dbae4 (https://thirdweb-40obli4ts-thirdweb.vercel.app).


ci: add dry-run targets for SDK publishing

Follow-up to #6463 (and related to #6488)
This PR introduces DRY_RUN to all SDK publish mage jobs, allowing any of them to be run and tested locally.

Adds DRY_RUN to python, go, typescript and php
Renames HEX_DRY_RUN to DRY_RUN for elixir
Renames CARGO_PUBLISH_DRYRUN to DRY_RUN for rust
Renames MVN_DEPLOY_DRY_RUN to DRY_RUN for java

The idea is to prevent issues like #6464 from appearing only during the release process, and instead to show up as soon as possible.

The idea is to prevent issues like #6464 from appearing only during the release process, and instead to show up as soon as possible.

Similar thing happened in Python a while back, I think after a big refactor. Similarly to the issue in TypeScript you referenced, the problem was actually during the build step in publish. So I just added the build to the tests:
https://github.com/dagger/dagger/blob/79643efbae9ede709a28a52b9462f756a3654238/internal/mage/sdk/python.go#L103-L123
Note the import in the last exec to make sure it's imported without issue.

@helderco I think that works for python, but some of the SDKs use package-managers that have an explicit --dry-run step - if those are available, I think it makes sense to use those, and test those as well as potentially moving more steps to Build.

Of course, I wasn't negating that, just that there's more opportunies to test more often:

Test build step under publish
Dry run publish, like in this PR
For those that support it, there's sometimes a test repository to stage the publishing step, which can catch issues not caught by the dry run

PyPI has it, we actually used it in the beginning. You just set PYPI_REPO=test and use the test token (possiblity in GitHub secret store still). That's the purpose of these lines:

https://github.com/dagger/dagger/blob/79643efbae9ede709a28a52b9462f756a3654238/internal/mage/sdk/python.go#L181-L183

@helderco how would you feel about the idea of running the DRY_RUN publish step alongside lint and test? https://github.com/dagger/dagger/blob/2aefe558d80c355fb6868145e79763ef73c0e6b9/.github/workflows/sdk-go.yml#L19-L30
Then we could run this in each PR env as well :tada:

Yeah, that would negate the need for build in test, and catch issues sooner. 👍

Ahh, this is actually an utter pain to do https://github.com/dagger/dagger/pull/6491#issuecomment-1908337023.
There's no semver tag to use, which is annoying - additionally a few of the package managers really don't like:

dry-run without authentication (hex)
downgrading versions so we could use a "fake" version (cargo)

I'd rather just leave out the ci jobs for now, and come back and add them when I've got a bit more than just a spare moment - if we can't merge this until we're testing continuously, that's fine, but it'll take me a while to get this to a state where I can do that.


"Does not work or provide any functionality upon installation" - Google

I assumed this was one of the nearly infinite phishing emails I get when I received it. Any clever hacks to make our functionality a little more, uh, "apparent" would be appreciated.
Gmail - Action Required_ Chrometana - Redirect Bing Somewhere Better Requires Changes to Comply with Chrome Web Store Policy.pdf

Maybe also add like make any search engine go TO YOUR choice?
ie. something searches in Yahoo on a site, this auto makes it go to DuckDuckGo or something

Perhaps change the default behaviour to redirect all bing searches to Google? That would fit in with the brief description "Redirect Bing Somewhere Better". Still leave the option to untick this/change this in the options. This way it "does what it says on the tin", while still giving users choice. You may want to just display the additional settings page by default instead of clicking to expand it.
@Modelmat 's suggestion of adding more redirects isn't a bad option either.

https://github.com/TheoBr/Chrometana/pull/38

Just shipped the update, we're now in "pending review"

It shipped (awhile ago)


[Dota 2] vkBindImageMemory/vkBindBufferMemory validation errors due to uninitialized variables

I've been seeing intermittent errors with vkBindImageMemory/vkBindBufferMemory such as:
ERROR MEM 576:15: In vkBindImageMemory, attempting to bind memory (0x2e8a) to object (0x356b) which has already been bound to mem object 0xa
LunarG has not been able to repro it, so I looked into it and found the root cause of the problem.  There are two bugs in core_validation.cpp, one in vkCreateImage and one in vkCreateBuffer.  The problem is with this:
    dev_data->imageMap[*pImage].createInfo = *pCreateInfo;

Here the rest of dev_data->imageMap[*pImage] is uninitialized, and in particular the mem field, so I added this:
     dev_data->imageMap[*pImage].mem = 0;

There is a similar bug in vkCreateBuffer where this is done:
    dev_data->bufferMap[*pBuffer].createInfo = *pCreateInfo;
    dev_data->bufferMap[*pBuffer].in_use.store(0);

There needs to also be this:
   dev_data->bufferMap[*pBuffer].mem = 0;

Really, there should be robust initialization of all members.  The reason the bug was happening was depending on the random value in mem it would be reflected in *pMemBinding in set_mem_binding():
DEVICE_MEM_INFO *pPrevBinding = get_mem_obj_info(dev_data, *pMemBinding);

Created #501 to fix this. Thanks for tracking this down, Dan.

Pushed to Master.

I'm hitting this as well FWIW
bindBufferMemory 11
[          ]     Device memory usage 128 MB
destroyBuffer 11
bindBufferMemory 13
destroyBuffer 13
bindBufferMemory 14
destroyBuffer 14
bindBufferMemory 15
destroyBuffer 15
bindBufferMemory 16
destroyBuffer 16
bindBufferMemory 17
Vulkan:: DEBUG LAYER 0x8 0xf - In vkBindBufferMemory, attempting to bind memory (0xc) to object (0x11) which has already been bound to mem object 0xc
HALT.


css.keyframes is not rendering on the Server

Similar to #197 css.keyframes is not being injected on the server

Fixed in #197 Will be available in next release


WIP Grapheme text segmentation and test generation

This PR;

Generates tests from Grapheme data file
Improves # Grapheme tests passing current status 328 failed and 912 passed in 4548 ms.
Starts implementation for Emoji

TODO's buried within the comments which are needed to get all tests passing

TODO Implement GB9c Do not break within certain combinations. ref Indic_Conjunct_Break
TODO Implement GB11 Do not break within emoji modifier sequences or emoji zwj sequences. ref Extended_Pictographic
TODO Implement GB12, GB13 Do not break within emoji flag sequences

@lukewilliamboswell Just checking - should I hold off on review until the tests are passing? (I saw in the description you mentioned the TODOs, but I wanted to check!)

Thank you for clarifying. I think those changes will be more suited for another PR. I suspect it is going to be a challenge, at least I need to learn a lot more about emoji before then, and we may need to change the approach/algorithm to do it. If you have feedback on these changes that would be most appreciated, thank you.

Update on this PR; I've re-written the script for generating the test suite, currently called GraphemeTestGen2.roc. Now I can filter tests to include or exclude based on the rules (or capabilities) they are testing. This is a significant improvement as now I can see where there are significant gaps in the implementation, and progressively improve support for the text segmentation rules.
I've also started on a new implementation of the algorithm for text segmentation currently called Grapheme2.roc


Version Issue

There's a wrong labeled version and it's updating to an old version of the loader.
'bower install cornerstoneWebImageLoader' gets the 0.7.2 version instead of the latest.

I just pushed a new version - can you verify that everything is working properly now?

@okbel is this issue resolved?  Will close in 7 days if I don't hear back

@chafey Yes! Thank you!

OK great, closing. Thanks


Mutliple processes?

Can we have multiple processes going on in the same file? Maybe triggered by events?

Maybe you can have multiple whenPageLoads too?

JavaScript in browsers doesn't really have processes, but it does still have a sync events that allow it to behave like a multi process program (through the event loop)
Scratch-JS does have events: when page loads, when key pressed, when clicked, etc.
However I don't see any beinfits or reasons why you would want multiple whenPageLoads handler.

The forever loop in toilet-paper-rolls has a wait in it, this either delays clone creation or delays the clone's job. I need to have two whenPageLoads similar to two When Green Flagged Clickeds.

Forever can take an optional delay parameter.
On Thu, Mar 16, 2017 at 10:10 PM Baran Skistad<EMAIL_ADDRESS>wrote:

The forever loop in toilet-paper-rolls has a wait in it, this either
delays clone creation or delays the clone's job. I need to have two
whenPageLoads similar to two When Green Flagged Clickeds.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/Scratch-JS/Scratch-JS/issues/51#issuecomment-287247276,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AGck4rTukgBIFiEmYwLsc3wJeLNOBsDIks5rmet4gaJpZM4MgF6C
.

It isn't the forever causing the delay, it's a wait inside of the loop.

What I'm trying to say is that wait loops don't work properly inside forever loops (there are some valid reasons). Because of this it's recommended to use a special "delay" parameter that you can add to the forever loop instead using the wait():
//DON'T DO THIS
forever({
    wait(20).then({
        //something
    })
})

//DO THIS:
forever({
     //something
}, 20)

In most cases using the "delay" parameter instead of the wait inside should fix any issues you have.

Try eliminating the wait loop from the forever, then let me know if the bug persists.
If it does, try to explain in more detail exactly what you want to achieve and paste the relevant code.


Feature/popv

Implementation of PopV
Current limitation: no mudata flow supported due to popv requirement of scanpy==1.8.2 and anndata==0.7.8

Thanks for the PR! I will review tomorrow :)

@MatthiasBeyens When would you have some time to look at this? I think this component would be a great addition to the repo! :)

Superseded by #352

Merged in #352.


How to use $sessiondata with sessiondata i need to verify& compare the  variables present in two different test yaml files please provide an example for better understanding

I need to verify and compare the  variables present in two different test yaml files please provide an example for better understanding.

It's the same as with $sharedData, except you can access it from different test files. Please note that using $sessionData creates dependencies between tests and should be avoided as much as possible.
- description: Write the "orderNumber" property to session data
  script: |
    $sessionData.orderNumber = 483;

- description: Read the "orderNumber" property from session data
  script: |
    var orderNumber = $sessionData.orderNumber

Thankyou for your reply will try this
On Thu, 13 Aug 2020, 9:21 pm Adrian Theodorescu<EMAIL_ADDRESS>wrote:

It's the same as with $sharedData, except you can access it from
different test files. Please note that using $sessionData creates
dependencies between tests and should be avoided as much as possible.

description: Write the "orderNumber" property to session data
script: |
$sessionData.orderNumber = 483;

description: Read the "orderNumber" property from session data
script: |
var orderNumber = $sessionData.orderNumber

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/mcdcorp/opentest/issues/345#issuecomment-673558107,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ALHEXVWG74AO77PGACX7C6TSAQDX3ANCNFSM4P6IW2GA
.


Add GitHubOrgEntityProvider

:heavy_check_mark: Checklist

[x] A changeset describing the change and affected packages. (more info)
[ ] Added or updated documentation
[x] Tests for new functionality and regression tests for bug fixes
[ ] Screenshots attached (for UI changes)
[x] All your commits have a Signed-off-by line in the message. (more info)

Ah this will go well with https://github.com/backstage/backstage/pull/7612

@kuangp This may seem long, but I think in this context it's worth reading through. https://backstage.io/docs/features/software-catalog/life-of-an-entity

Processors can indeed also emit child entities. That was the original mechanism (the only one that existed half a year ago) and it still exists.
The benefit of the provider is that you can run it basically like a completely separate process, triggering it at any interval that you like, or drive it off of an event queue or webhooks or ... well, the possibilities are endless. And when the provider says that an entity is gone, it gets deleted immediately. So it typically reflects reality better.
Processors are limited in comparison - at least in terms of producing children. They can only all run on the same cadence, and in a serial chain one after the other. If you need to slow one down because it consumes too much resources, then you have to slow down all of them. They can emit entities indeed, but they have no way of deleting children so they stay around and get orphaned.
That being said, I don't want to paint processors in a bad light. They serve an important purpose and can do so much more besides producing children. But it's good to know their respective merits.


Database typings are not correct on table join for entity to one relationship

Bug report
Describe the bug
Typings are not correct when joining tables that are always NOT an array. For example, in my application we use the following query to fetch data about figma_comments and link to figma_users and figma_files:
const { data: comments } = await supabase
    .from('figma_comments')
    .select(
      'created_at, resolved_at, comment, node_id, user:figma_users(handle, img_url, email), file:figma_files(file_key, name)',
    )
    .order('created_at', { ascending: false });

From this query, I would expect the built in typings to have both user and file to be an entity of a singular user and a singular file. Since the constraints I set up in Postgres won’t allow it to be multiple entries because the foreign key is unique on the joinable tables.
Here is an overview of the types being generated by supabase CLI:
Tables: {
      figma_comments: {
        Row: {
          comment: string;
          created_at: string;
          figma_user_id: string;
          file_key: string;
          id: number;
          node_id: string;
          order_id: number | null;
          parent_id: string | null;
          resolved_at: string | null;
        };
        Insert: {
          comment: string;
          created_at?: string;
          figma_user_id: string;
          file_key: string;
          id?: number;
          node_id: string;
          order_id?: number | null;
          parent_id?: string | null;
          resolved_at?: string | null;
        };
        Update: {
          comment?: string;
          created_at?: string;
          figma_user_id?: string;
          file_key?: string;
          id?: number;
          node_id?: string;
          order_id?: number | null;
          parent_id?: string | null;
          resolved_at?: string | null;
        };
      };
      figma_files: {
        Row: {
          editor_type: string | null;
          figma_project_id: number | null;
          file_key: string;
          id: number;
          last_modified: string;
          name: string;
          thumbnail_url: string;
          version: string | null;
        };
        Insert: {
          editor_type?: string | null;
          figma_project_id?: number | null;
          file_key: string;
          id?: number;
          last_modified: string;
          name: string;
          thumbnail_url: string;
          version?: string | null;
        };
        Update: {
          editor_type?: string | null;
          figma_project_id?: number | null;
          file_key?: string;
          id?: number;
          last_modified?: string;
          name?: string;
          thumbnail_url?: string;
          version?: string | null;
        };
      };
      figma_users: {
        Row: {
          email: string;
          figma_id: string;
          handle: string;
          id: number;
          img_url: string;
        };
        Insert: {
          email: string;
          figma_id: string;
          handle: string;
          id?: number;
          img_url: string;
        };
        Update: {
          email?: string;
          figma_id?: string;
          handle?: string;
          id?: number;
          img_url?: string;
        };
      };
    };

Expected behavior
I would expect the built in typings to know that user and file in the case of my query is an object if the entity, not an array of objects. This is because figma_files.file_key and figma_users.figma_id are set to UNIQUE.
I understand that making this work might be extremely difficult, but does anyone have any suggestions on how to make the typings work for me so I do not have to cast these types?
System information

OS: macOS
Version of supabase-js: 2.10.0
Version of Node.js: v16.13.0

@niels-bosman Did you figure this out? I have the same issue.

Why is this closed, still having the issue? @niels-bosman


Implement client-side form validation feedback in React forms

Now that we're on redux-form library with FormBuilder, lets have some validation added so it doesn't have to go through the server for obvious issues in validation. (e.g. require)
Check out https://github.com/silverstripe/silverstripe-framework/issues/5523 for more details.

I will review this later today.

Reviewing now. :)

Some bugs discovered:

Fields that have rules but are NOT required somehow become required. E.g. field with numeric as a rule but not required

Messages for multiple failed rules are not formatted well.

I think the solution to this is to bake into rule lookup some kind of hierarchy:

If not required, automatically validate if empty
If required AND empty, invalidate, but don't process any other rules.
If requried and not empty, process other rules

Error is traced to schema:

form schema ID for the checkboxset field is Checkboxes
form state ID for the checkbox field is Form_DetailEditForm_Checkboxes

So of course it  can't match the IDs to merge state + schema.

OH! This is because FormField::setSchemaData() acts very bad. If you ever call it, it re-generates the entire schema and stores it. This means that if, later on down the line, the form changes (which would alter the field ID) those changes are no longer reflected.
We can fix this by ensuring that FormField::setSchema() only stores the changed schema, not the full schema.
Before:
public function setSchemaData($schemaData = []) {
	$current = $this->getSchemaData();
	$this->schemaData = array_merge($current, array_intersect_key($schemaData, $current));
	return $this;
}

After
public function setSchemaData($schemaData = []) {
	$this->schemaData = array_merge($this->schemaData, array_intersect_key($schemaData, $current));
	return $this;
}

Default data will still be merged in getSchemaData(), but not cached.

Once I fixed that bug, there is still an issue with required for multi-select fields.
Checking and unchecking any box treats the field as though it has a value, even though it's empty, and incorrectly allows it to be submitted.

Thanks @tractorcow, I had made the logic simpler "if value is blank and required not defined, don't validate"
and other cases would validate.
And I've fixed the display of each message, they are each on their own line now.

I've tested and it looks ok.


add bcd to binary code converter

Related Issue

Info about Issue or bug

fix #2193
Describe the changes you've made
A clear and concise description of what you have done to successfully close your assigned issue. Any new files? or anything you feel to let us know!
Checklist:

[ ] My code follows the style guidelines of this project.
[ ] I have performed a self-review of my own code.
[ ] I have commented my code, particularly in hard-to-understand areas.
[ ] I have made corresponding changes to the documentation.
[ ] My changes generate no new warnings.

Screenshots

@sairish2001 resolved conflicts


Add TLS connectivity to gRPC proxy functionality when --app-ssl is enabled

In what area(s)?

/area runtime

/area operator

/area placement

/area docs

/area test-and-release

Describe the feature
Currently, the gRPC proxy feature establishes connectivity from the sidecar to the application container with the 'skipTLS' argument hard-coded to 'true'.  This feature would set that argument based on the 'app-ssl' configuration flag to enabling an SSL connection between sidecar and the application container.  This feature will allow the gRPC proxying feature to coexist with actor endpoints, specifically in ASP.NET 5/6 services (likely true for other service frameworks as well, but I haven't tested them).  Providing the SSL connectivity removes the need in ASP.NET for the HTTP/2-only endpoints for ingress gRPC traffic required for insecure channels.
Release Note

RELEASE NOTE:

@Flern this will get fixed in 1.7.


Generalize --eliminate-local-multi-store / LocalMultiStoreElimPass so it works in the presence of common extensions.

I think I have this pass pretty well restricted now. It will only operate on variables which are only referenced by loads and stores.
It also will process code under all extensions except SPV_KHR_variable_pointers. Is this considered a "common" extension?

Are there other specific concerns?

No concerns.  I'm just behind in marking things as "done".  :-(


Expand ignore function to more post lists

Allow ignoring posts and boards to hide them from favorites, daily report, and recently updated

A few small comments, but nothing that's a blocker (afaict). Looks good!


Some links

https://github.com/patmood/pocketbase-typegen
https://studioterabyte.nl/en/blog/pocketbase-vue-3

Thank you! typegen was already present, but I added the vue starter kit :)

https://github.com/aaronblondeau/pocketbase_quasar_starter


Missing obvious error in CFA including FpTypes

The attached CFA contains an ovious error from loc75: __tmp_1 is assigned 0, __VERIFIER_assert__cond is assigned __tmp_1 and if __VERIFIER_assert__cond is 0, we reach the error location. Yet, Theta reports this as safe, because after a few iterations the ARG contains no unsafe nodes. I am using the EXPL domain with NWT_SP refinement.
example.cfa.txt
visualized.xcfa.dot.txt

I think this has the same cause as #125, because the symptoms overlap.


Robyn's plan for 2023! ✨

Hey All 👋
2022 was an amazing year for us and we hope that 2023 will be even better. I recently wrote an article telling about our plans for 2023, you can check it out here(https://sanskar.wtf/posts/robyns_plans_for_2023)
In this issue, I would like to talk about a more technical part

implement request validation

here I wanted to implement some sort of message validation, and @kliwongan is doing an amazing job here https://github.com/sansyrox/robyn/pull/363

improve how you get body data

when you access the response body, we still need to decode the byte array. I feel that this is an unnecessary step and we should be returning a saner response type by default.

add some sort of performance benchmark integration

I want to add a performance benchmark in our CI. This way we are certain if the project is becoming slower or faster in everychange. I have been given an early access to codspeed(https://codspeed.io/) and I would like to enable the python integration for it.

Fix the testing and deployment pipelines(remove the preview build and implement a better version of preview build by building on every merge on main)

Right now, I hate how we don't have a version to test before releasing it to the public PyPi.
Plan for correction:
- Delete the test PyPi action
- Build a package on every merge to main, and be able to download it
- Publish to PyPi on every release

fix the default port

Apple has unfortunately taken over the port 5000 . It is very annoying to change the port every time we test for the default settings. I plan to moving the default port to 8080 as 3000 is the default port for various front end frameworks.

openapi support

More or less self explanatory. I want to be able to have a route that automatically generates openapi spec for a web framework.

add support for yields

I want to allow yields in the framework. That way we can do some processing after the response has been returned

complete Strawberry GraphQl support

We have an initial integration with Strawberry but we need to create three things
Implement class views
Implement functional views
Add code to the strawberry-graphql repo

allow dependency injection

I love how we can have dependency injection in FastAPI, I would love to add it in Robyn too.

then add a first class support for the database orm

The lack of database support is something that I don't enjoy. I want to add a first class orm support for a database but since Robyn is also a microframework, we would still want to allow the ability swap it out. Like our jinja templates.
After this, we can work on create an end to end template for robyn and frontend frameworks like asked for here(https://github.com/sansyrox/robyn/issues/360)

improving the educational content around Robyn

A project is only as good as its documentation. Improve the documentation and video content around Robyn.

ASGI ;)

Improve support for windows

The support for windows has been a bit lacklustre in the past. Improve support.

add cors support

-m flag should add some sort of documentation or helpers

This is a good to have experiment. Can we have an ability to run Robyn as a module that will give us a link to the documentation or the entire documentation itself?

allow different mime types

Also, inspect how static files are being handled here.

Improve websockets

Web sockets are not the fastest right now. Need to improve the speed.
allowing blocking options in async web sockets

Implement SSE

Default authorization and authentication

Add the ability to add default authorization and authentication. But like the templating support, this needs to hot swappable.

route splitting across multiple files

Currently the only way to add routes in Robyn is through a single file. It is not scalable for a large codebase. We need to allow the ability to add multiple routes.

Automatic const request optimization

https://github.com/sansyrox/robyn/issues/209

middlewares:

see if the responses are handled the right way in middlewares(https://github.com/sansyrox/robyn/issues/244)
implement chainable middlewares(https://github.com/sansyrox/robyn/issues/206)

Somethings left to do from 2022:

Make a community of plugins
Improve docs website
Better jsonify method

Feel free to comment with what you think of it and if there are any features that you'd like to have in this roadmap.

Better jsonify method
Please use a highly efficient json serializer and de-serializer like: Orjson
If you are planning to do it in pure python.

Please keep pydantic data validation in mind wherever it makes sense.

Better jsonify method
Please use a highly efficient json serializer and de-serializer like: Orjson If you are planning to do it in pure python.
Please keep pydantic data validation in mind wherever it makes sense.

Why not use serde-json for even faster json parsing ?

@baseplate-admin , because the last time I checked serde-json required types in the rust side/compile side. However, we want to have an ability to serialize and deserialize without having compile-time typing.
Are you aware if it is possible to achieve this now?

Apologies. My knowledge in rust is modest at best.
My finds came from OrJSON. As OrJson uses serde_json
https://github.com/ijl/orjson/blob/c2514ab9ecdb9d42945f3fc6e18475b88bef8ec2/Cargo.toml#L59-L60
I was thinking to apply the logics at rust backend level to remove the python overhead.

Hey @StandinKP 👋
I have an updated Roadmap, will publish by next week :D

Closing. As new roadmap created - https://github.com/sparckles/Robyn/issues/1001
@StandinKP


[Cleaning] Change unnecessary relative imports to absolute

I figure out that there are a lot of files in the project where relative imports were used over the absolute one.
For example in the SfAccordionItem.vue there is import like this:
import "../../../../utilities/transitions/transitions.scss";
when utilities folder is directly unter the src, so we can use default vue-cli alias ~@/utilities/.
Also, I personally think that atoms, molecules and organisms should be defined as direct alias in vue.config.js. These would allow as to avoid using relative imports in components, which are using some 'atoms' components etc.

Sounds good, we should just take care to keep some files easy to reuse, even on environment without the aliases. @filrak wdyt? @dimitor115 can you propose a PR?

Yes, of course, I would like to do it and propose a PR, but maybe let @filrak firstly share his opinion :smile:

@dimitor115
I would add tests files as well. I am on win10 and some paths are broken for me.

So guys @leomp12 @michasik which option is better in your opinion?

Just fix every import to be absolute and using standard vue-cli alias: import SfArrow from "@/components/atoms";
Extend webpack config :

 configureWebpack: {
    resolve: {
      alias: {
        atoms: "./src/components/atoms",
        modules: "./src/components/molecules",
        organisms: "./src/components/organisms"
      }
    }
  }

Then just: import SfArrow from "atoms";

@dimitor115 for me second option look more friendly. But we must use it like that import SfArrow from "atoms/SfArrow/SfArrow.vue" because by default when we use import SfArrow from "atoms" we import .js file?

Hey. The purpose for relwtive pathes is just to let people consume raw source..Correct me of I'm wrong but alias-based imports will break on others apps, right?

@filrak Yes, you are right. I totally forgot about the fact that we want people to consume raw source. However, I have another idea how to make imports a little bit nicer.
So I can add index.js file in atoms, molecules, organisams with following content :
export { default as SfArrow } from "./SfArrow/SfArrow.vue";
export { default as SfBullets } from "./SfBullets/SfBullets.vue";
etc.

Then , for example in SfHero.js importing atomic components will look like this :
import { SfArrow, SfBullets } from "../../atoms";
Insted of this :
import SfArrow from "../../atoms/SfArrow/SfArrow.vue";
import SfBullets from "../../atoms/SfBullets/SfBullets.vue";

We have such stuff in index.js file in the root of the library. Then imports will look the same. The only thing i'm afraid of is that could break our sideEffects: false flag and therefore bundle unnecessary components in users bundle. Also this might introduce cyclical dependencies.
I'm generally against such simplifications if they may produce some unexpected behaviors. Let me think about this for a while ok? Others are free (and strongly encouraged) to express their opinions

@dimitor115 I believe what we can do is changing all import paths to index.js. I just hope we won't run into any circular dependencies or break side effects flag. Would you be able to check it? For the side effects flag to check it what I do is :

setup project with vue-cli
install storefront ui locally (in package.json add "storefrontui/vue" : "file://relative/path/to/sfui/on/your/pc" and just run npm install
in node modules add random string to some component I'm not including
Import one or two sfui components in a project
Build and look for the string that shouldn't be there in output bundle (strings are not minified so it's easy to spot)

Could you repeat those steps after finishing the task? It shouldn't take more than 2-3 mins.
(you can also use webpack dependency graph inspector or bundle analyzer, whatever you find faster )

@filrak of course, I would check it!


Teradata2

HHH-8191 Teradata 14.0

@drepshas, alright, many apologies for the absurd delay -- this really fell through the cracks.  One quick question:
I started to merge this, but noticed Dialect#isLockAppended.  It appears that's only applied to Select and SimpleSelect.  But there are other uses of Dialect#getForUpdateString: ForUpdateFragment, the ID generators, etc.  Should that be applied globally?

Manually merging into master (5.0)


Provide prebuilt binary install command

@cledoux mentioned wanting an easy shell command to install just on a new machine, and I finally got around to seeing how much work it would be. It turns out that since binaries are built with the excellent trust CI templates, it's already done for us.

This is awesome!
Just a note, I had to manually provide the --target option to get it to work.  The target was defaulting to x86_64-unknown-linux-gnu, but there is no x86_64-unknown-linux-gnu release. The release that exists is x86_64-unknown-linux-musl.  Note the change from gnu to musl (took me a bit to notice this difference myself).
This might be worth mentioning in the documentation.

Thanks for taking the time to look into this!

Sweet, thanks for trying it, and thanks for the note! I'll add that to the docs.


transaction fail, i cant understand profit

I see a profit between the two pair
profit:  0.059353947220959595
'0x5010dA63eBD45D833258cca1FEFB7715c16708c2', '0x223740a259E461aBeE12D84A9FFF5Da69Ff071dD'
config
minimumProfit: 3, // in USD
I called the flashArbitrage manually
But the transaction went fail
Was the amount of profit small?
How is the loan amount obtained, can it be changed for max profit?
I use bsc network
code:

const tokens = await flashBot.getBaseTokens();
  console.log('Base tokens: ', tokens);

  const res = await flashBot.getProfit('0x5010dA63eBD45D833258cca1FEFB7715c16708c2', '0x223740a259E461aBeE12D84A9FFF5Da69Ff071dD');
  console.log(res);
  const [baseTokens] = getTokens(Network.BSC);
  const netProfit = await calcNetProfit(res.profit, res.baseToken, baseTokens);
  console.log('profit: ', netProfit);

  const lock = new AsyncLock({ timeout: 2000, maxPending: 20 });
  try {
    // lock to prevent tx nonce overlap
    await lock.acquire('flash-bot', async () => {
      const response = await flashBot.flashArbitrage('0x5010dA63eBD45D833258cca1FEFB7715c16708c2', '0x223740a259E461aBeE12D84A9FFF5Da69Ff071dD', {
        gasPrice: config.gasPrice,
        gasLimit: config.gasLimit,
      });
      const receipt = await response.wait(1);
      console.log(`Tx: ${receipt.transactionHash}`);
    });
  } catch (err) {
    if (err.message === 'Too much pending tasks' || err.message === 'async-lock timed out') {
      return;
    }
    console.log(err);
  }
}

result:
Error: transaction failed (transactionHash="0x233", transaction={"hash":"0x233","type":0,"accessList":null,"blockHash":null,"blockNumber":null,"transactionIndex":null,"confirmations":0,"from":"0x555","gasPrice":{"type":"BigNumber","hex":"0x04a817c800"},"gasLimit":{"type":"BigNumber","hex":"0x7530"},"to":"0x4xx","value":{"type":"BigNumber","hex":"0x00"},"nonce":87,"data":"0xba","r":"0x9d","s":"0x5b","v":148,"creates":null,"chainId":56}, receipt={"to":"0x4xx","from":"0x555","contractAddress":null,"transactionIndex":0,"gasUsed":{"type":"BigNumber","hex":"0x7530"},"logsBloom":"0x000000000000000000","blockHash":"0x1","transactionHash":"0x233","logs":[],"blockNumber":7939670,"confirmations":1,"cumulativeGasUsed":{"type":"BigNumber","hex":"0x7530"},"status":0,"byzantium":true}, code=CALL_EXCEPTION, version=providers/5.2.0)
   at Logger.makeError (\node_modules\@ethersproject\logger\src.ts\index.ts:213:28)
   at Logger.throwError (\node_modules\@ethersproject\logger\src.ts\index.ts:225:20)
   at EthersProviderWrapper.<anonymous> (\node_modules\@ethersproject\providers\src.ts\base-provider.ts:1189:24)
   at step (\node_modules\@ethersproject\providers\lib\base-provider.js:48:23)
   at Object.next (\node_modules\@ethersproject\providers\lib\base-provider.js:29:53)
   at fulfilled (\node_modules\@ethersproject\providers\lib\base-provider.js:20:58) {
 reason: 'transaction failed',
 code: 'CALL_EXCEPTION',
 transactionHash: '0x233',
 transaction: {
   hash: '0x233',
   type: 0,
   accessList: null,
   blockHash: null,
   blockNumber: null,
   transactionIndex: null,
   confirmations: 0,
   from: '0x555',
   gasPrice: BigNumber { _hex: '0x04a817c800', _isBigNumber: true },
   gasLimit: BigNumber { _hex: '0x7530', _isBigNumber: true },
   to: '0x4xx',
   value: BigNumber { _hex: '0x00', _isBigNumber: true },
   nonce: 87,
   data: '0xbxxxx',
   r: '0x9xxx',
   s: '0x5xxx',
   v: 148,
   creates: null,
   chainId: 56,
   wait: [Function (anonymous)]
 },
 receipt: {
   to: '0x4xxxx',
   from: '0x555',
   contractAddress: null,
   transactionIndex: 0,
   gasUsed: BigNumber { _hex: '0x7530', _isBigNumber: true },
   logsBloom: '0x000000',
   blockHash: '0x1xxx',
   transactionHash: '0x233',
   logs: [],
   blockNumber:
   confirmations: 1,
   cumulativeGasUsed: BigNumber { _hex: '0x7530', _isBigNumber: true },
   status: 0,
   byzantium: true
 }
}

if anyone can confirm... if true, seems like its not that hard to implement the feature yourself in getprofit function in flashbot.sol

@hallex321
Thank you for your answer

Also
I see many opportunities
Is this profit displayed the ultimate profit that can be achieved?
Or does it mean that I can make a good profit with a very large loan (Like a flash loan)?

There's a time gap between you found profitability and then actually sent a transaction. So it might not be profitable when the transaction actually got executed on the blockchain.

@paco0x

1 - Why there is always a difference between buying and selling
2- With these conditions why there is always profit

Did anyone utilize this bot and make a profit yet? Did you clean it up a bit first or run it out of the box. Thanks in advance!!

Did anyone utilize this bot and make a profit yet? Did you clean it up a bit first or run it out of the box. Thanks in advance!!

did you find anything


Updated<EMAIL_ADDRESS>hyperlink

The<EMAIL_ADDRESS>link was broken. This should fix it.

Nice @wohlner . LGTM !


Update validation data for PAGE market damages

The tests are currently failing just because of the non-Burke market damages test. When I setup the validation data for this test, I just took is straight from the excel, which shows all 0's, when that damages path is turned off. However a previous fix got these damages working, and not reporting all 0's, and now we need new validation data. Specifically, it should be for the NDCs scenario, but where damages are set to use the PAGE approach.
@jkikstra This is the only current bug in the unit tests.

This was implemented here for updating PAGE-ICE to PAGE-2020.
(see comment)