Build failed on macOS

uname -a

Darwin Kais-MacBook-Pro.local 22.5.0 Darwin Kernel Version 22.5.0: Mon Apr 24 20:51:50 PDT 2023; root:xnu-8796.121.2~5/RELEASE_X86_64 x86_64

node -v
v20.1.0

pnpm -v
8.6.2

<EMAIL_ADDRESS>Running install script, failed in 32.3s
.../node_modules/better-sqlite3 install$ prebuild-install || npm run build-release
│ prebuild-install warn install No prebuilt binaries found (target=20.1.0 runtime=node arch=x64 libc= platform=darw
│ ><EMAIL_ADDRESS>build-release
│ > node-gyp rebuild --release
│ gyp info it worked if it ends with ok
│ gyp info using<EMAIL_ADDRESS>│ gyp info using<EMAIL_ADDRESS>| darwin | x64
│ gyp info find Python using Python version 3.8.10 found at "/usr/local/bin/python3"
│ gyp info spawn /usr/local/bin/python3
│ gyp info spawn args [
│ gyp info spawn args   '/Users/kaichen/.nvm/versions/node/v20.1.0/lib/node_modules/npm/node_modules/node-gyp/gyp/g
│ gyp info spawn args   'binding.gyp',
│ gyp info spawn args   '-f',
│ gyp info spawn args   'make',
│ gyp info spawn args   '-I',
│ gyp info spawn args<EMAIL_ADDRESS>│ gyp info spawn args   '-I',
│ gyp info spawn args   '/Users/kaichen/.nvm/versions/node/v20.1.0/lib/node_modules/npm/node_modules/node-gyp/addon
│ gyp info spawn args   '-I',
│ gyp info spawn args   '/Users/kaichen/Library/Caches/node-gyp/20.1.0/include/node/common.gypi',
│ gyp info spawn args   '-Dlibrary=shared_library',
│ gyp info spawn args   '-Dvisibility=default',
│ gyp info spawn args   '-Dnode_root_dir=/Users/kaichen/Library/Caches/node-gyp/20.1.0',
│ gyp info spawn args   '-Dnode_gyp_dir=/Users/kaichen/.nvm/versions/node/v20.1.0/lib/node_modules/npm/node_modules
│ gyp info spawn args   '-Dnode_lib_file=/Users/kaichen/Library/Caches/node-gyp/20.1.0/<(target_arch)/node.lib',
│ gyp info spawn args   '-Dmodule_root_dir=/Users/kaichen/Documents/projects/0xFable/node_modules/.pnpm/better-sqli
│ gyp info spawn args   '-Dnode_engine=v8',
│ gyp info spawn args   '--depth=.',
│ gyp info spawn args   '--no-parallel',
│ gyp info spawn args   '--generator-output',
│ gyp info spawn args   'build',
│ gyp info spawn args   '-Goutput_dir=.'
│ gyp info spawn args ]
│ gyp info spawn make
│ gyp info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ]
│   TOUCH ba23eeee118cd63e16015df367567cb043fed872.intermediate
│   ACTION deps_sqlite3_gyp_locate_sqlite3_target_copy_builtin_sqlite3 ba23eeee118cd63e16015df367567cb043fed872.int
│   TOUCH Release/obj.target/deps/locate_sqlite3.stamp
│   CC(target) Release/obj.target/sqlite3/gen/sqlite3/sqlite3.o
│   LIBTOOL-STATIC Release/sqlite3.a
│   CXX(target) Release/obj.target/better_sqlite3/src/better_sqlite3.o
│ In file included from ../src/better_sqlite3.cpp:4:
│ In file included from ./src/better_sqlite3.lzz:11:
│ In file included from /Users/kaichen/Library/Caches/node-gyp/20.1.0/include/node/node.h:73:
│ In file included from /Users/kaichen/Library/Caches/node-gyp/20.1.0/include/node/v8.h:24:
│ In file included from /Users/kaichen/Library/Caches/node-gyp/20.1.0/include/node/v8-array-buffer.h:12:
│ In file included from /Users/kaichen/Library/Caches/node-gyp/20.1.0/include/node/v8-local-handle.h:12:
│ /Users/kaichen/Library/Caches/node-gyp/20.1.0/include/node/v8-internal.h:465:30: warning: 'static_assert' with no
│ SHARED_EXTERNAL_POINTER_TAGS(CHECK_SHARED_EXTERNAL_POINTER_TAGS)
│                              ^
│ /Users/kaichen/Library/Caches/node-gyp/20.1.0/include/node/v8-internal.h:465:30: warning: 'static_assert' with no
│ /Users/kaichen/Library/Caches/node-gyp/20.1.0/include/node/v8-internal.h:465:30: warning: 'static_assert' with no
│ /Users/kaichen/Library/Caches/node-gyp/20.1.0/include/node/v8-internal.h:465:30: warning: 'static_assert' with no
│ /Users/kaichen/Library/Caches/node-gyp/20.1.0/include/node/v8-internal.h:465:30: warning: 'static_assert' with no
│ /Users/kaichen/Library/Caches/node-gyp/20.1.0/include/node/v8-internal.h:466:35: warning: 'static_assert' with no
│ PER_ISOLATE_EXTERNAL_POINTER_TAGS(CHECK_NON_SHARED_EXTERNAL_POINTER_TAGS)
│                                   ^
│ /Users/kaichen/Library/Caches/node-gyp/20.1.0/include/node/v8-internal.h:466:35: warning: 'static_assert' with no
│ /Users/kaichen/Library/Caches/node-gyp/20.1.0/include/node/v8-internal.h:466:35: warning: 'static_assert' with no
│ /Users/kaichen/Library/Caches/node-gyp/20.1.0/include/node/v8-internal.h:466:35: warning: 'static_assert' with no
│ /Users/kaichen/Library/Caches/node-gyp/20.1.0/include/node/v8-internal.h:466:35: warning: 'static_assert' with no
│ /Users/kaichen/Library/Caches/node-gyp/20.1.0/include/node/v8-internal.h:466:35: warning: 'static_assert' with no
│ /Users/kaichen/Library/Caches/node-gyp/20.1.0/include/node/v8-internal.h:466:35: warning: 'static_assert' with no
│ /Users/kaichen/Library/Caches/node-gyp/20.1.0/include/node/v8-internal.h:466:35: warning: 'static_assert' with no
│ /Users/kaichen/Library/Caches/node-gyp/20.1.0/include/node/v8-internal.h:466:35: warning: 'static_assert' with no
│ /Users/kaichen/Library/Caches/node-gyp/20.1.0/include/node/v8-internal.h:466:35: warning: 'static_assert' with no
│ /Users/kaichen/Library/Caches/node-gyp/20.1.0/include/node/v8-internal.h:466:35: warning: 'static_assert' with no
│ /Users/kaichen/Library/Caches/node-gyp/20.1.0/include/node/v8-internal.h:466:35: warning: 'static_assert' with no
│ /Users/kaichen/Library/Caches/node-gyp/20.1.0/include/node/v8-internal.h:693:61: warning: 'static_assert' with no
│     static_assert(kJSObjectType + 1 == kFirstJSApiObjectType);
│                                                             ^
│                                                             , ""
│ /Users/kaichen/Library/Caches/node-gyp/20.1.0/include/node/v8-internal.h:694:55: warning: 'static_assert' with no
│     static_assert(kJSObjectType < kLastJSApiObjectType);
│                                                       ^
│                                                       , ""
│ /Users/kaichen/Library/Caches/node-gyp/20.1.0/include/node/v8-internal.h:695:63: warning: 'static_assert' with no
│     static_assert(kFirstJSApiObjectType < kLastJSApiObjectType);
│                                                               ^
│                                                               , ""
│ In file included from ../src/better_sqlite3.cpp:4:
│ In file included from ./src/better_sqlite3.lzz:11:
│ In file included from /Users/kaichen/Library/Caches/node-gyp/20.1.0/include/node/node.h:73:
│ In file included from /Users/kaichen/Library/Caches/node-gyp/20.1.0/include/node/v8.h:24:
│ In file included from /Users/kaichen/Library/Caches/node-gyp/20.1.0/include/node/v8-array-buffer.h:13:
│ In file included from /Users/kaichen/Library/Caches/node-gyp/20.1.0/include/node/v8-object.h:9:
│ /Users/kaichen/Library/Caches/node-gyp/20.1.0/include/node/v8-maybe.h:106:45: error: no template named 'is_lvalue
│   template <class U, std::enable_if_t<!std::is_lvalue_reference_v<U>>*>
│                                        ~~~~~^~~~~~~~~~~~~~~~~~~~~
│                                             is_lvalue_reference
│ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1
│ struct _LIBCPP_TEMPLATE_VIS is_lvalue_reference : _BoolConstant<__is_lvalue_reference(_Tp)> { };
│                             ^
│ In file included from ../src/better_sqlite3.cpp:4:
│ In file included from ./src/better_sqlite3.lzz:11:
│ In file included from /Users/kaichen/Library/Caches/node-gyp/20.1.0/include/node/node.h:73:
│ In file included from /Users/kaichen/Library/Caches/node-gyp/20.1.0/include/node/v8.h:24:
│ In file included from /Users/kaichen/Library/Caches/node-gyp/20.1.0/include/node/v8-array-buffer.h:13:
│ In file included from /Users/kaichen/Library/Caches/node-gyp/20.1.0/include/node/v8-object.h:9:
│ /Users/kaichen/Library/Caches/node-gyp/20.1.0/include/node/v8-maybe.h:106:69: error: expected '(' for function-st
│   template <class U, std::enable_if_t<!std::is_lvalue_reference_v<U>>*>
│                                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
│ /Users/kaichen/Library/Caches/node-gyp/20.1.0/include/node/v8-maybe.h:123:43: error: no template named 'is_lvalue
│ template <class T, std::enable_if_t<!std::is_lvalue_reference_v<T>>* = nullptr>
│                                      ~~~~~^~~~~~~~~~~~~~~~~~~~~
│                                           is_lvalue_reference
│ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1
│ struct _LIBCPP_TEMPLATE_VIS is_lvalue_reference : _BoolConstant<__is_lvalue_reference(_Tp)> { };
│                             ^
│ In file included from ../src/better_sqlite3.cpp:4:
│ In file included from ./src/better_sqlite3.lzz:11:
│ In file included from /Users/kaichen/Library/Caches/node-gyp/20.1.0/include/node/node.h:73:
│ In file included from /Users/kaichen/Library/Caches/node-gyp/20.1.0/include/node/v8.h:24:
│ In file included from /Users/kaichen/Library/Caches/node-gyp/20.1.0/include/node/v8-array-buffer.h:13:
│ In file included from /Users/kaichen/Library/Caches/node-gyp/20.1.0/include/node/v8-object.h:9:
│ /Users/kaichen/Library/Caches/node-gyp/20.1.0/include/node/v8-maybe.h:123:67: error: expected '(' for function-st
│ template <class T, std::enable_if_t<!std::is_lvalue_reference_v<T>>* = nullptr>
│                                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
│ In file included from ../src/better_sqlite3.cpp:4:
│ In file included from ./src/better_sqlite3.lzz:11:
│ In file included from /Users/kaichen/Library/Caches/node-gyp/20.1.0/include/node/node.h:73:
│ In file included from /Users/kaichen/Library/Caches/node-gyp/20.1.0/include/node/v8.h:33:
│ In file included from /Users/kaichen/Library/Caches/node-gyp/20.1.0/include/node/v8-function.h:11:
│ /Users/kaichen/Library/Caches/node-gyp/20.1.0/include/node/v8-function-callback.h:151:66: warning: 'static_assert
│                 kReturnValueDefaultValueIndex - kReturnValueIndex);
│                                                                  ^
│                                                                  , ""
│ /Users/kaichen/Library/Caches/node-gyp/20.1.0/include/node/v8-function-callback.h:153:50: warning: 'static_assert
│                 kIsolateIndex - kReturnValueIndex);
│                                                  ^
│                                                  , ""
│ ./src/util/macros.lzz:157:21: error: no member named 'AccessorSignature' in namespace 'v8'
│                 v8::AccessorSignature::New(isolate, recv)
│                 ~~~~^
│ ./src/objects/database.lzz:180:21: warning: variable 'status' set but not used [-Wunused-but-set-variable]
│                 int status = sqlite3_db_config(db_handle, SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION, 1, NULL);
│                     ^
│ ./src/util/binder.lzz:37:51: error: no member named 'CreationContext' in 'v8::Object'
│                 v8::Local<v8::Context> ctx = obj->CreationContext();
│                                              ~~~~~^
│ 23 warnings and 6 errors generated.
│ make: *** [Release/obj.target/better_sqlite3/src/better_sqlite3.o] Error 1
│ rm ba23eeee118cd63e16015df367567cb043fed872.intermediate
│ gyp ERR! build error
│ gyp ERR! stack Error: `make` failed with exit code: 2
│ gyp ERR! stack     at ChildProcess.onExit (/Users/kaichen/.nvm/versions/node/v20.1.0/lib/node_modules/npm/node_mo
│ gyp ERR! stack     at ChildProcess.emit (node:events:511:28)
│ gyp ERR! stack     at ChildProcess._handle.onexit (node:internal/child_process:293:12)
│ gyp ERR! System Darwin 22.5.0
│ gyp ERR! command "/Users/kaichen/.nvm/versions/node/v20.1.0/bin/node" "/Users/kaichen/.nvm/versions/node/v20.1.0/
│ gyp ERR! cwd<EMAIL_ADDRESS>│ gyp ERR! node -v v20.1.0
│ gyp ERR! node-gyp -v v9.3.1
│ gyp ERR! not ok
└─ Failed in 32.3s at<EMAIL_ADDRESS> ELIFECYCLE  Command failed with exit code 1.

 This will try install with the frozen lockfile and ensure you don't get a mix of dependencies that nobody else has tried out yet.
Standard troubleshooting, do you have the XCode command line tools installed?
https://github.com/nodejs/node-gyp#on-macos
It might also need a global node-gyp install? (pnpm install -g node-gyp)
Though I checked, I'm on macOS too — M1, Ventura 13.4, and I don't have a global node-gyp install.
For reference, I'm also running pnpm 8.6.2 (should be the latest version) and node v20.1.0.
Another trick from here: make sure you don't have special characters like $ and % in your path (I would also avoid spaces and anything slightly out of the ordinary... you never know).
If anything fails to work, to get you unstuck you temporarily ... it would surprise me if the issue comes from node-pty (the only top-level package.json dependency), which isn't really necessary (it's just a terminal UI that launches multiple processes and lets you switch between them), so you could try remove that from package.json to see if things work without.

I tried fresh cloning master and runing make setup and I ran into the same issue as you :)

Removing the circom-helper dependencies fixes this issue.
What I think must be happening (but not very sure about this) is that circom-helper uses an old version of the better-sqlite3 package, which uses native code that is not compatible with newer version of Node/Gyp.
I think this also explains why it works locally for me: I installed circom-helper before updating my node version, so there was never a need to reinstall circom-helper.
Anyway, we're moving away from circom-helper anyway (https://github.com/norswap/0xFable/issues/52) so I think it's fine to flat out remove it. Feel free to open a PR to do just that, or I'll take care of it later!

That would be great!
@nezouse started working on it here: https://github.com/norswap/0xFable/pull/45
... but I reverted it because it had merged it without realizing it was there (it was kinda snuck in the package version PR , but my bad really) and it didn't integrate with the rest of the build system (which is Makefile-first)
But in any case, seems like most of that can be reused easily.


Memo N/A when submitting a transaction with /builder

I tried sending xlm from one account of mine to another account with memo.This transaction was send to the endpoint "/builder" of the bridge-server. Though the account gets credited with xlm, when checking in the explorer for the transaction details it shows MEMO N/A. But when i do the same transaction with the endpoint as "/payment"; the transaction is successful and while checking in the explorer it shows the memo type and memo.
What i would like to know is is there a format for sending transaction when submitting a transaction to the network with endpoint as /builder.This is the body of the transaction that i did
{ 	"source": "GBJ6ONYK73A65BRW7SOGQYEDCN55NCYDH5WJTE7WZIZXF3RRX2GFI33T", 	"operations": [ 		{ 			"type": "payment", 			"body":{ 				"source":"GBJ6ONYK73A65BRW7SOGQYEDCN55NCYDH5WJTE7WZIZXF3RRX2GFI33T", 				"destination":"GCZC5EG7BURORGG46B67FDBZDTWKQ5G6GLHWU6K535222ELH63MNKOT7", 				"memo_type":"text", 				"memo": "12345qwas", 				"amount": "2500" 			} 		}	 	],	 	"signers": ["**************************************************"] }
Please let me know what should be done!

It seems that /builder endpoint doesn't have an ability to add memos.

@bartekn I want do a sign and submit in stellar and i want to do this in two steps,
1)Sign
2)Submit
Is there a endpoint where this can be achieved? Or should i use the /payment endpoint in bridge?
Also could you tell me why /builder doesn't have the ability to add memos

@bartekn  Could you help me on this?


update: 更改嵌入式文件

搞错文件了....

:tada: This PR is included in version 1.0.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


[internal] scrub stripe bank account and routing number in gateway logs

WHY:
PGT-2093
WHAT:

bank account number and routing number get scrubbed for ACH, SEPA direct debit, and BECS direct debit in logs from Stripe
bank account number gets scrubbed for ACH from Forte gateway

Remote tests 🟢
Stripe:

test_successful_purchase_with_stored_becs_direct_debit requires different Stripe credentials.

Forte:

Unit tests:
Stripe 🟢  (We have 3 failing unit tests, but nothing new, so I didn't want to fix it as part of this PR)
Forte 🟢


Update repositories.txt

Closing as duplicate of https://github.com/arduino/library-registry/pull/1441


Update CODEOWNERS with new group names

It looks like we renamed some groups on GH but not in CODEOWNERS

OK, I've already triggered a build for you.


Fix function call

Fix check_user_input() call (issue #4)  - function signature does not specify any arguments

Thanks!

Is this issue actually fixed in Pypi repository too? I just downloaded the package via pip but got the same error.

@heejongahn I think a new version needs to be tagged and released before this change makes it to PyPI. The version (0.0.1) on PyPI appears to have been uploaded on 2015-09-05 so it shouldn't be there.
If you need the latest version you can install it from this repo with pip by running the following command (after uninstalling the version from PyPI).
pip install -e git+https://github.com/pallets/flask-ext-migrate.git#egg=flask-ext-migrate-0.0.1


Accessibility Audit - Carbon Website: Patterns - Forms

This epic is tied to a larger "release" that is meant to track the progress of the Accessibility Audit for the Carbon Website. We will audit all of the pages of the carbon website based on AVT 1, AVT 2, & AVT3 - which can be found here.

AVT 1: will audit the site against the IBM Accessibility Checker - browser extension

AVT 2: will audit the site against accessible keyboard interactions

AVT 3: will audit the site against screen readers

Legend:

🌶 fully audited - on all three AVT levels

:one: 🔍 AVT 1 audited
:two: 🔍 AVT 2 audited
:three: 🔍 AVT 3 audited

:boom: issues and documentation - on all three AVT levels are complete

:one: 🚨 AVT 1 issues submitted
:two: 🚨 AVT 2 issues submitted
:three: 🚨 AVT 3 issues submitted

:sparkles: tickets are triaged

Current status of this page:

Patterns - Forms - 2 issues - no new issues found:

1⃣ 🔍 AVT 1 audited & 🚨 AVT 1 issues submitted

Closing due to inactivity. Will reopen if/when ready to be worked on again.


Authentication Phone number used for password reset

We are attempting to use the Phone Number that is used for password reset but can not get it using Claims and it just seems not to be in the Azure directory as it's not the same as mobile number.
We opened a case in stack flow - http://stackoverflow.com/questions/43573292/get-azure-password-reset-authentication-phone-attribute-using-microsoft-graph-library; but there is no answer - can you point us in the correct direction.
Vr, Tim:

Sorry I'm not sure what the answer is there. I'll ask the Azure folks to look at your StackOverflow post.


VoiceClient.modifyCall requires UUID to contain dashes even though these are not supported by the backend

Describe the bug
com.vonage.client.voice.VoiceClient.modifyCall(String, ModifyCallAction) in line 194 contains the code:
validateUuid(uuid)

This method requires the UUID to contain the - symbol which however
a.) are not present on any of the call UUIDs I receive from the webhooks
b.) are not even supported by the the server. If I added the "missing" - symbols the REST endpoint returns a 404 whereas if I call the REST endpoint without the - symbols via Postman it works.
Expected behavior
The validateUuid(uuid) should be removed because with your current implementation it is literally not possible to call any method on the VoiceClient as all of them check for the "valid" UUID.
Vonage SDK Version

Version: 7.5.0

Java SDK Version

Version: 11

Proxy Server Used

[ ] Yes
[X] No

Additional context/ Error Log
Add any other context about the problem here.

Thank you for reporting this. Should be fixed in v7.7.0 (#473).


Add mobile integration tests to CI

Codecov Report
Patch coverage: 100.00% and project coverage change: -0.50 :warning:

Comparison is base (8ecf3ea) 62.57% compared to head (effabdd) 62.07%.

:exclamation: Current head effabdd differs from pull request most recent head f0e5163. Consider uploading reports for the commit f0e5163 to get more accurate results

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
Additional details and impacted files
@@            Coverage Diff             @@
##              dev     #285      +/-   ##
==========================================
- Coverage   62.57%   62.07%   -0.50%
==========================================
  Files          35       35
  Lines        5974     5898      -76
==========================================
- Hits         3738     3661      -77
- Misses       2236     2237       +1

Impacted Files
Coverage Δ

zingocli/tests/utils/mod.rs
87.50% <ø> (ø)

zingolib/src/test_framework/macros.rs
100.00% <ø> (ø)

zingocli/tests/integration_tests.rs
96.66% <100.00%> (-0.40%)
:arrow_down:

... and 3 files with indirect coverage changes
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Zhiyao/trival updates

I updated the readme with your suggestion. We have the requirements being updated in a different commit since we are removing much of those requirements. Closing ticket.


Implement freetext map titles

As highlighted in the tweet
Once it will be possible to add users to your maps, it no longer makes sense to have this 'As $User, I want to $Purpose'. Object now. pic.twitter.com/POKRgfe2Ve— Wardley Maps (@wardleymaps) September 28, 2017

[x] Migrate server side
[x] referenced maps should rely on isSubmap
[ ] Map list element is should have submap property.
[ ] Dialog should fancy map list

The last two points are tracked by #185


the pager is too micro in size how can i increase its size.

Hi, thanks for contributing!
I am unable to override my styles on the pagination. SO how do I override???
ng2-pagination version:
Description of issue:
Steps to reproduce:
Expected result:
Actual result:
Demo: (if possible, edit this Plunker demo and paste the link to your fork)
Any relevant code:

Maybe you are having difficulty due to the emulated shadow DOM used by Angular. Try using the /deep/ selector in your styles to target the default template styles.


Fix HTTP to JMS

Purpose

Fix HTTP to JMS

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


chore: add the let keyword to this declaration of variables to make it explicit

Description
This PR fixes #1637
Related issue(s)

/rtm


Finalize discussion on upstream PR about the API style (high/low level, etc.)

I'll close #21 as part of this.

I'm glad to hear this. It will make my life less stressful!!


Integrate with zmon metrics actuator

I've put everything in one class for now to show it as a PoC. It's ugly.

See implementation of ForwardingHttp... - how can we integrate?

Outdated due to changes in master


[pcre2] Update to 10.37

Describe the pull request

What does your PR fix?

New upstream version 10.37
Drop patches (fixed upstream):
pcre2-10.35_add_check_for_Intel_CET.patch
pcre2-10.35_fix_postfix_for_debug_Windows_builds.patch
pcre2-10.35_fix-space.patch
Switch from CONTROL to vcpkg.json
.\vcpkg format-manifest .\ports\pcre2\CONTROL

Which triplets are supported/not supported?

Yes

If you are still working on the PR, open it as a Draft: https://github.blog/2019-02-14-introducing-draft-pull-requests/

Remark: The failed x64-windows\kf5codecs and x64-windows-static\kf5codecs was a download issue of gperf-3.0.1-bin.zip:
From: failure logs for x64-windows\kf5codecs\stdout-x64-windows.log
[DEBUG] Downloading https://sourceforge.net/projects/gnuwin32/files/gperf/3.0.1/gperf-3.0.1-bin.zip/download
Failed to download from mirror set:
https://vcpkgteststorage.blob.core.windows.net/osxpr20201017/3f2d3418304390ecd729b85f65240a9e4d204b218345f82ea466ca3d7467789f43d0d2129fcffc18eaad3513f49963e79775b10cc223979540fa2e502fe7d4d9?sv=2019-12-12&ss=b&srt=sco&sp=rwlac&se=2021-06-01T19:00:00Z&st=2021-02-02T21:14:48Z&spr=https&sig=5OqlHLAKxxH9%2F2G%2BwO4ngXiG%2Bd0ASB81PklNDOIAUUk%3D: failed: status code 403
https://sourceforge.net/projects/gnuwin32/files/gperf/3.0.1/gperf-3.0.1-bin.zip/download: WinHttpSendRequest() failed: 12002
...
CMake Error at scripts/cmake/vcpkg_download_distfile.cmake:240 (message):

      Failed to download file.
      If you use a proxy, please check your proxy setting. Possible causes are:


orchestrator: a new interface for enabling/disabling orchestration te…

…mporally
/cc @AkihiroSuda I addressed your comments on my local fork

Coverage decreased (-0.9%) to 39.308% when pulling 8e5c3cbbca00785737ab459025c091d15b7a6600 on mitake:ctl into d7f44c4e3064ef6e5020d84bd432a64b75aa0103 on osrg:master.

CI failing

Coverage decreased (-0.05%) to 40.205% when pulling dc4f94a88428adc4e903cf0c9fc223c809c4f353 on mitake:ctl into d7f44c4e3064ef6e5020d84bd432a64b75aa0103 on osrg:master.

Coverage decreased (-0.05%) to 40.205% when pulling e9cd2c20a11326df2607da322fd6dac8665f14d4 on mitake:ctl into d7f44c4e3064ef6e5020d84bd432a64b75aa0103 on osrg:master.

@AkihiroSuda fixed the CI failure, PTAL

lgtm


super mous1 focus window, super mous3 resize

Can you provide a description? I'm not sure what you are asking.

Closing due to inactivity.


ARROW-577: [C++] Use private implementation pattern in ipc::StreamWriter and ipc::FileWriter

This patch also includes some code reorganization -- I moved the reader and writer classes to their own headers/compilation units. I also moved the stream-to-file and file-to-stream executables to arrow/ipc

+1


remove file watcher leftovers

@alexsnaps it was my leftover ;) https://github.com/Kuadrant/limitador/pull/98/files#diff-77c4c3afe1e75f3f1602389f5895694a70395b1a7450ad7776945631b4bd28e9R309


Adding the scots college

I am adding The Scots College Sydney so I can get access to the "products for learning". Thanks.

@finnjones I have to close this request without merging, because you requested to add a non-existent domain to this repository: Host student.college not found: 3(NXDOMAIN) Please ensure that you are familiar with this repository rules located at the bottom of this page and submit a new request with the correct information. Thank you for your understanding!


Use API v2 for Bark notification

Tick the checkbox if you understand [x]:

[x] I have read and understand the pull request rules.

Description
Bark notification provider offers a API v2 and should be preferred (see its doc). The new API uses standard POST requests to send notifications.
Type of change
Please delete any options that are not relevant.

Other

Checklist

[x] My code follows the style guidelines of this project
[x] I ran ESLint and other linters for modified files
[x] I have performed a self-review of my own code and tested it
[x] I have commented my code, particularly in hard-to-understand areas
(including JSDoc for methods)
[x] My changes generate no new warnings
[ ] My code needed automated testing. I have added them (this is optional task)

Screenshots (if any)

Will it affects current users whose bark server is API v1?

No. In the official bark project, its API v2 was added in Feb, 2021, even before Uptime Kuma supports bark notifications (in Oct 2021). So all users using Bark should already have API v2 support. It won't break anything for current users.

I am still concerning, because users could possibly be using the old version of bark-server?
If yes, it will be a breaking change and the current implementation is a better handling for both old and new bark-servers.
cc: @Lakr233

I don't even know there is a v2 API of bark server.................... 🥲
we could put a notice? > Bark API v2 is required?

If we have to keep API v1 version, then I think it's good to introduce API v2 as a separate provider.
What do you think @louislam

If we have to keep API v1 version, then I think it's good to introduce API v2 as a separate provider. What do you think @louislam

A separate provider may be too much. You can add a dropdown for selecting V1/V2 api.

Notifications that setup before this pr:
Keep using V1

New notifications:
Default value = V2

If we have to keep API v1 version, then I think it's good to introduce API v2 as a separate provider. What do you think @louislam

A separate provider may be too much. You can add a dropdown for selecting V1/V2 api.

Notifications that setup before this pr:
Keep using V1
New notifications:
Default value = V2

Sure, it's now implemented


Ui tenancy Add governance server specific backend configuration

Add omas specific backend configuration. This is required as a given endpoint may support a subset of omases.

This issue seems to be a duplicate of #1583.  Same comment applies.  We should not allow a UI Tenent to be configured with multiple metadata servers.  It will need the information for the governance servers that the users need to connect with.  However, ideally, these governance servers would be connected to the same metadata server as the UI Tenant.

I have changed the title of this issue so it only applies to governance servers. @mandy-chessell can I check I am understanding this correctly we are looking to allow ui configuration for endpoints of the governance servers it needs to talk to (the existing application.properties contains separate configuration entries for the lineage server and the omas server)?


Remove statement that tuple > JSON not reversible

Closes #5888

I believe you're right, @scotttrinh. Not any arbitrary JSON can be cast to tuple, but a JSON value that was cast from tuple can always be cast back.


Vite can not build when using vue-ts template

Describe the bug
When using vite  2.9.2 and create vue project with vue-ts template.
Go to the new project Install and build
Reproduction
https://stackblitz.com/edit/vitejs-vite-wxupyy?file=_gitignore
System Info
Window 10, Chrome

Used Package Manager
npm
Logs
node_modules/@vue/reactivity/dist/reactivity.d.ts:26:15 - error TS2748: Cannot access ambient const enums when the '--isolatedModules' flag is provided.

26     readonly [ReactiveFlags.IS_READONLY]: boolean;
                 ~~~~~~~~~~~~~

node_modules/@vue/runtime-core/dist/runtime-core.d.ts:1208:6 - error TS2748: Cannot access ambient const enums when the '--isolatedModules' flag is provided.

1208     [BooleanFlags.shouldCast]?: boolean;
          ~~~~~~~~~~~~

node_modules/@vue/runtime-core/dist/runtime-core.d.ts:1209:6 - error TS2748: Cannot access ambient const enums when the '--isolatedModules' flag is provided.

1209     [BooleanFlags.shouldCastTrue]?: boolean;
          ~~~~~~~~~~~~

node_modules/@vue/runtime-core/dist/runtime-core.d.ts:1400:10 - error TS2748: Cannot access ambient const enums when the '--isolatedModules' flag is provided.

1400 export { ReactiveFlags }
              ~~~~~~~~~~~~~

node_modules/@vue/runtime-core/dist/runtime-core.d.ts:1753:10 - error TS2748: Cannot access ambient const enums when the '--isolatedModules' flag is provided.

1753 export { TrackOpTypes }
              ~~~~~~~~~~~~

node_modules/@vue/runtime-core/dist/runtime-core.d.ts:1782:10 - error TS2748: Cannot access ambient const enums when the '--isolatedModules' flag is provided.

Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Make sure this is a Vite issue and not a framework-specific issue. For example, if it's a Vue SFC related bug, it should likely be reported to https://github.com/vuejs/core instead.
[X] Check that this is a concrete bug. For Q&A open a GitHub Discussion or join our Discord Chat Server.
[X] The provided reproduction is a minimal reproducible example of the bug.

duplicate of #5814


semicolons, anyone?

Am I the only one who has every non-trivial sample in the demo's / syntax guide fail? Breaking changes or? For one, I get the impression semicolons are enforced yet the examples all omit them. Then the -- text -- connectors, none working. Hmmm... strangely enough the plugin developed by cldwalker in Light Table (https://github.com/cldwalker/lt-mermaid) but also the online editor (http://www.naseer.in/mermaid-webapp/) posted seem to have wildly different ideas about what is correct syntax. What works in one, doesn't work in the other. Whats up with this exactly? Some behind in their dependencies? Messy/failing code? Ambiguous grammar? Or me being extremely stupid... I'd be interested to learn :) I don't mind digging in the code a bit later when I have time but its a bit of a fluke that the demo/examples seem so hard to reproduce. If I'm overlooking some piece of information or anything: its probably not obvious enough,... lol

Semicolons are optional and not necessary for the graph. You use them or not is completely your choice and it should not break the parsing of the graph. For the remaining issues, others will give you a more detailed explanation.

I think this is a versioning issue. Initially the semicolons were required. Later after some much appreciated input the semicolons are now optional.
So if the lighttable plugin requires them (;) it means that an older version of version of mermaid is used. Would they upgrade the version the behaviour of mermaid would change. Not to hard for the plugin maker so perhaps a good thing to propose to them...
I am working on a syntax for simplifying detecting the version if mermaid.
The syntax will be something like:
info
   showInfo

Which will create a diagram displaying the version of mermaid. This is simplify things going forward but is not yet released and it will certainly ot work in the older versions of mermaid :)

@clojens I hope this has been clarified. Please reopen the issue if your problem persists.

@knsv  Thanks for the clarification, I'll know to keep an eye for any API/syntactic changes in that case. And yeah, the update is trivial so we'll manage I think ;) Cheers


Fix addTask Function Bug

Line 364 of members.js has
UserId: userData[0].UserId
When no tasks exist, no data is returned, so no UserId exists

Update successful.  Added userID to the GET api-route "/api/user_data" so that the response includes...
 const user_data = {
            tasks: tasks,
            userID: req.user.id
          };

And then I updated members.js to accommodate the response change


1 to 1 mapping with persistence schema ?

Hi,
One of the greatest benefit of GraphQL is that it gives your application a strong typing system you can rely on but that graph does not have to map 1 for 1 with a given persistence engine. For example a given attribute in Graphql could come from a rating service while everything else is coming from Mongo.
It seems to me that right now, by trying to import the models from Mongo, we loose the ability to enhance or complement that GraphQL Schema so it can be more that just what our persistence engine is providing.
I think it's great if Graffiti can help so you dont have to repeat yourself twice on how you declare your schema but at the same time, it is equally important that graffiti gives us the opportunity to add stuff or override stuff in the GraphQL schema as well.

@Tlvenn I think it's a good idea however I don't see the right solution for that yet.
In graffiti-mongoose we already exposed to getting only the generated types instead of the whole schema.
I think it's a good step to a more flexible direction.
Please ping me if you have anything in your mind about the correct solution.


Fix csv export

Issues
Closes #64

Nice catch @pburnsdata .  Fixed and proceeding with the merge.

Nice work - you da man


chore: bump version to v0.4.0

Which issue does this PR close?
Closes #
Rationale for this change

What changes are included in this PR?

Are there any user-facing changes?
#36 introduces a breaking change:

the Database trait adds a new parameter QueryContext which is a string-to-string key value map.

How does this change test

I will push v0.4.0 tag to automatically release on crates..

https://github.com/CeresDB/sqlness/actions/runs/4291226934

Thanks, just got back from a meeting...


type object 'LAYER' has not attribute 'kcl'

    from gdsfactory.generic_tech.layer_map import LAYER
  File "/usr/local/lib/python3.12/site-packages/gdsfactory/generic_tech/layer_map.py", line 6, in <module>
    class LAYER(gf.LayerEnum):
  File "/usr/local/lib/python3.12/site-packages/aenum/_enum.py", line 1602, in __new__
    enum_class = type.__new__(metacls, cls, bases, clsdict)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/aenum/_enum.py", line 850, in __set_name__
    enum_member = enum_class._new_member_(enum_class, *args, **kwds)
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/kfactory/kcell.py", line 357, in __new__
    value = cls.kcl.layer(layer, datatype)
            ^^^^^^^
AttributeError: type object 'LAYER' has no attribute 'kcl'

@joamatab

I think you have a too low kfactory version. It should be >=0.19
Kcl was necessary before but to allow constructions of the enum before the init of the basemodel, it requires a layout now.


Mill 0.12.0-RC2-17-07e173 is incorrectly counting/reporting the tasks

When running the following command in the Mill repository, the output contains incorrect ticker messages.
> mill -j 0 __.fix
...
[5937/242] integration.failure[missing-build-file].fix
Rewriting and linting 1 Scala sources against 3 rules
Rewriting and linting 1 Scala sources against 3 rules
Rewriting and linting 1 Scala sources against 3 rules
#12 [info] done compiling
[5939/242] integration.failure[misnamed-root-module].fix
Rewriting and linting 1 Scala sources against 3 rules
[5941/242] integration.failure[invalid-meta-module].fix
Rewriting and linting 1 Scala sources against 3 rules
Rewriting and linting 1 Scala sources against 3 rules
Rewriting and linting 1 Scala sources against 3 rules
[5943/242] integration.failure[invalid-subfolder-root-module].fix
...

This is a consequence of https://github.com/com-lihaoyi/mill/pull/3265, where we split terminal commands out to run serially, and 242 is the number of terminal commands

Should be fixed as part of https://github.com/com-lihaoyi/mill/pull/3577


[API][Admin/Вакансії] The vacancy is created when the title and/or description fields are filled with more than allowed number of symbols

Environment: Windows 10 Pro, Chrome, 122.0.6261.112, (64 bit)
Reproducible: always
Build found: aafbfbc
Preconditions

The symbols limit in the "title" field is expected 50.
The symbols limit in the "description" field is expected 2000.
Open Postman.

Steps to reproduce

Create a Job using the Post request.
Fill in the "title" field with 51 or more symbols.
Fill in the "description" field with 2001 or more symbols.
Fill in the "salary" field with valid information.
Send a request.

Actual result

The Job is created with the symbols limit exceeded in the "title" and "description" fields. Response 200 ok.

Expected result
The job with the symbols limit exceeded in the "title" and "description" fields is not created. Response 400. Bad request.
User story and test case links
User story #836
Test case #1102 #1054

The Job isn't created with the symbols limit exceeded in the 'title' field.  - 400 Bad Request
Message in response - "Title"  -  "Max Length is 50"
The Job is created with the symbols limit exceeded in the description field.  - 200 OK

Clarification for field "Salary"
We dont have severe constraints for this field, so it can possibly contain characters, special symbols and so on. Only one requirement, that it is mandatory field and cannot be empty.

Fixed in https://github.com/ita-social-projects/StreetCode/issues/308

according to the task the vacancies text was increased in the database up to 3 000 symbols (pay attention that allowed symbols  - 2 000 according to user story)


Mobility Impact and Lane Level Impacts + Restrictions

This changes address issue #43  Mobility Impact as a Higher Level Attribute. In doing so it also address issues #4 Multiple lane type enumerations and issue #7 Restrictions.
A new required event_vehicle_impact enumerated field is added to the road_event table that defines the high level impact to vehicle mobility caused by the work zone.
This change would add a new optional lane_impacts table to the specification, which allows specific impacts and restrictions to be called out at the lane level. The lane_impacts table would replace the event_open_lanes, event_closed_lanes, and event_closed_shoulders fields from the road_event table.
The records in new lane_impacts table will have the capability define the mobility restrictions and their measures at the lane level.

How would this type of lane enumeration handle a situation with more than one dedicated transit lane? See Denver, for example.

No, not is an way you can specifically refer to the lanes as transit lanes.
You could not the two transit lanes and lane-1 and lane-2.
This gets to a larger issues with defining lanes and impact in that it's hard to predict all the potential configurations. A better way may be to define the location in general; lane-1, lane-2, lane-3, etc., then define the allowed mobility types or modes: in this case transit. This could be done as a nest structure for example:
lane-1, transit (or bus)
lane-2, transit (or bus)
lane-3, all vehicles (or GP)
lane-4, all vehicles (or GP)
lane-5, bicycle

A better way may be to define the location in general; lane-1, lane-2, lane-3, etc., then define the allowed mobility types or modes: in this case transit.

This seems like a more natural way to me - represent the lanes as entities and then assign attributes and statuses to them.
Also, instead of having lane-1, lane-2, etc., I think it would also be cleaner to have a generic lane-x definition, where x is an integer value that starts at 1 and is the xth vehicular lane as counted from the right shoulder or edge of the road. This way there isn't a cap on the number of supported lanes.

The lane-x idea has merit and ultimately is more flexible. The one issues I see is how to define the starting point for the labeling system. Would it refer only to general purpose travel lanes? What about turn or exit lanes? How about shoulders, sidewalk, or bike lanes?
I like the idea of labeling all lanes lane-x, where x is an integer value that starts at 1 moving out to the xth lane as counted from a standard location. Then defining the allowed modes (bicycle, pedestrian, trucks, bus, transit, etc.) then defining allowed actions (through, right-turn, right-exit, merge, etc.) and finally defining any restriction as presented in the current PR.

The one issues I see is how to define the starting point for the labeling system. Would it refer only to general purpose travel lanes? What about turn or exit lanes? How about shoulders, sidewalk, or bike lanes?

Yes, this needs to be well-defined.

I like the idea of labeling all lanes lane-x

This seems to make the most sense to me, although sidewalks I'm not sure about - seems like there are clear cases where this would and wouldn't make sense. Other concepts like sharrows also add complexity.
Maybe this is something that you or others have already looked at, but I'm wondering if there are existing schemes that we can adopt rather than creating a new one.  One potential example is OpenStreetMap - here's their guide to lane labeling:
https://wiki.openstreetmap.org/wiki/Lanes
@kpwebb Do you have any thoughts on this from SharedStreets' experience?

This pull request is now open for voting. Please cast your vote by leaving a “yes”, “no”, or “neutral” comment under the pull request. The voting will remain open until Friday, October 25th.

@mvs5465 I don't think this was supposed to be approved since the voting is on hold.  We are planning on modifying this pull request based on the changes in the relational data modeling.

These concepts were incorporated into v2 of the specification.


Use shorter syntax for string keys

This avoid uncessary interpolation, which makes for longer syntax, but it is generally just uncessary.

@stefanprodan how do I update examples/*/cue.mod/gen?

Copy over the files from schemas dir to examples and most importantly to blueprints.


39817966: [WinAppSDK 1.1] Unpackaged + self-contained Blank Project crashes at startup #2562 - cherry-pick to 1.1-stable

cherry-pick 722e4080c3ee4ca9d7c3bd83f193314f632a2e58 to release/1.1-stable

/azp run


NIFI-12130: Ability to configure snapshot properties via dynamic attributes in PutIceberg

Summary
NIFI-12130
Tracking
Please complete the following tracking steps prior to pull request creation.
Issue Tracking

[x] Apache NiFi Jira issue created

Pull Request Tracking

[x] Pull Request title starts with Apache NiFi Jira issue number, such as NIFI-00000
[x] Pull Request commit message starts with Apache NiFi Jira issue number, as such NIFI-00000

Pull Request Formatting

[x] Pull Request based on current revision of the main branch
[ ] Pull Request refers to a feature branch with one commit containing changes

Verification
Please indicate the verification steps performed prior to pull request creation.
Build

[x] Build completed using mvn clean install -P contrib-check

[x] JDK 21

Licensing

[ ] New dependencies are compatible with the Apache License 2.0 according to the License Policy
[ ] New dependencies are documented in applicable LICENSE and NOTICE files

Documentation

[ ] Documentation formatting appears as expected in rendered files

Reviewing...

+1 LGTM, tested on live Hive/Iceberg instance, added my own summary property and verified it was stored correctly. Thanks for the improvement! Merging to support/nifi-1.x and main


Courses in DSA

Describe the bug
course in DSA
To Reproduce
Steps to reproduce the behavior:

Go to 'Navbar'
Click on 'Catalog'
Scroll down to 'DSA'
See error "courses Under Top courses in DSA"

Expected behavior
courses only related to DSA
Screenshots

Additional context
Add any other context about the problem here.

hey @ashutoshgithubs , please assign to me as GSSOC'24 contributor i will fix it.


[1511] Allow users to see locations attached to a course

Context
Prerequisite to adding the ability for users to edit locations attached to a course.
Changes proposed in this pull request
Adds the template, action, and route.
Guidance to review
TODO:

[ ] Populate checked correctly
[ ] Hook the form to the update endpoint, not publish
[ ] Tests

 Course Basic Details - View Locations


BRep topology (experimental)

Hi, I'm currently looking for (open source) implementations of boolean intersections of NURBS-surface based solids as learning material. I realize this PR is very old, but do you remember whether it's mostly complete? Is there anything crucial missing?

This isn't particularly complete.
This is a better solution to the surface surface intersection problem: https://github.com/pboyer/verb/pull/37. I currently use an approach where I tessellate the surfaces, intersect the meshes, and refine the output. More robust systems generally use a marching approach.
I think this is a better place to look: https://github.com/solvespace/solvespace/tree/master/src/srf

Thanks for the pointer! I did not know about this project so far.

@maufl This is another good place to learn from: https://github.com/kanzure/brlcad/tree/master/src/libbrep


Remove version: Ryujinx.Ryujinx.Ava version 1.1.1067

All InstallerUrls returned 404 Not Found

https://github.com/Ryujinx/release-channel-master/releases/download/1.1.1067/test-ava-ryujinx-1.1.1067-win_x64.zip

Microsoft Reviewers: Open in CodeFlow

URL: https://github.com/Ryujinx/release-channel-master/releases/download/1.1.1067/test-ava-ryujinx-1.1.1067-win_x64.zip
Response status code does not indicate success: 404 (Not Found).
(Automated message - build 896)


NCATS_VISIT_DETAILS_HPDS references transmart tablespace

PRC_CRT_TABLES_ACT_HPDS_LOAD.sql references transmart table space in one of the create statements

Closing issue as there are new mapping files.


redis: subtraction overflow when copy file range

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.wangyang35 seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

@kungf Thanks for reporting this critical bug, I have fixed it in fb611b0825d85f3de7d5dafb9f57cc413ae7f2af, and improved the coverage in unit test.
For future PR, please use a email address that was attached to your Github account, and sign the CLA please.

hi, @davies the fb611b0 was commited after my pr. how to check the conflicting before push a pr? no one knows the flighting patch!

Sorry for the conflict, we will try to avoid that in future.


Panning jumps throwing off context on Windows

Why does panning jump left and right through our captures on WIndows Chrome?   It's like Perfetto is trying to snap to something, but it's unclear what that is.  This jarring behavior throws off the whole point of smooth panning.
This was reproduced using Windows 10 running in Parallels in Chrome on macOS 14.2.   When I pan on macOS Chrome, Perfetto panning is smooth as butter.  From experience, dealing with inertial events in the browser is a major pain on Windows.
This is using the trackpad on a MBP 16".  Moving small amounts pans.  If I pan slowly, the jump doesn't occur.  But a swipe or normal pan causes the jump.

I tried the Perfetto samples (not quite the same file) on a Razer laptop, and the buttery panning is fine there.   So something about macOS translating mouse (and inertial mouse) events over to Windows causes this jumpy behavior.   The browser's typically convert the pan to a mousewheel operation, but then drop the "inertia" flag on the floor on Windows.

I think that is the issue, and frankly there isn't much wort doing here.
On a native (Dell XPS) windows laptop it works all smooth.
I think the issue is that parallels might NOT emulate a precision touch device and instead implements an absolute input device (many Hypervisors do) and sends discrete scroll events instead.


Feature Request: Add observability in http retry client

Currently, the http retry mechanism is implemented in the Transport's RoundTrip() method. It would be nice to be able to retrieve the status code returned within each retry attempt and collect other fields such as request duration and request URI. This can be very helpful for generating metrics such as RPS, request duration, and throttling via 429.

cc: @Wwwsylvia

It would be nice to be able to retrieve the status code returned within each retry attempt and collect other fields such as request duration and request URI.

This can be simply achieved by wrapping the existing default predicate.

@shizhMSFT Thanks for the response! Looks like a custom Predicate will get the status code and the request URI (potentially). Any recommendations for easily getting the duration?

@shizhMSFT Thanks for the response! Looks like a custom Predicate will get the status code and the request URI (potentially). Any recommendations for easily getting the duration? This is not as important for my use case. You'd ideally want to time wrap the roundTrip function call to see how long the whole operation takes (including connection establishing, DNS lookup, etc.)

This is beyond the scope of oras. However, you still can build your own RoundTripper to record or emit the duration. Note that you can leverage context.Context in http.Request to track context.

I was able to implement a custom retry predicate that wrapped the default one. Using that, I was able to extract the per request method and response status. That's sufficient for my purposes for now. I think it's fine to close this issue now. Thanks! cc: @Wwwsylvia

Closing this issue as it's out of the scope of oras-go.


[BUG]: The request uses too many resources." when executing "Invoke-PnPSiteTemplate"

Reporting an Issue or Missing Feature
The request uses too many resources." when executing "Invoke-PnPSiteTemplate
Description
I use PnP PowerShell to provision my portals in SharePoint Online.
One such portal is deployed with Github Actions (CI/CD) across different site collections (same Tenant). This portal has subsites that are also provisioned with PnP PowerShell, which have been deployed without problems in DEV (3 subsites) and CERT (5 subsites), but in PRE (20 subsites) it ran without problems the first time but when I want to do an update I get the following error 'The request uses too many resources.' when trying to run the command "Invoke-PnPSiteTemplate"
Script that runs at the site collection level:
Invoke-PnPSiteTemplate -Path Templates/Provisioning_Level01.xml -ErrorAction Stop
Error in PRE:
image
Provisioning_Level01.xml:
Provisioning_Level01.zip
However, if the following XML is provisioned there is no error (in all environments).
Provisioning_Branding.zip
This same XML (Provisioning_Level01.xml) is provisioned in DEV and CERT without problem, we only found two differences between these environments:
PRE has 20 subsites (subsite provisioning scripts run without errors in all environments, the script running at the site collection level is the one giving the error in PRE).
PRE was created two weeks ago, unlike DEV and CERT which were created at the beginning of the year (I don't know if there is something different in the new site collections).
Which operating system/environment are you running PnP PowerShell on?

[x] Windows
[x] Linux

Closing this issue since it is already created in the correct PnP Framework repository:
https://github.com/pnp/pnpframework/issues/672


Integrated terminal bug

Instead of opening a terminal inside the VScode window a new command prompt pops up outside of the window
VSCode v 1.38.0
Electron: 4.2.10
Chrome: 69.0.349
My settings are below
{
    "terminal.integrated.shell.windows": "C:\\WINDOWS\\System32\\cmd.exe"
}

This happens every time I click on a terminal

Fixed the issue by disabling "Use legacy console" in command prompt > Properties. The terminal is now re-integrated with VSCode.


MSBuild Items shouldn't contain File Tracking section

It seems that the File Tracking section is included by mistake as a part of MSBuild Items description.

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

ID: 401f8953-3165-194b-3706-92336a5a93e1
Version Independent ID: 1b4ee143-9b5e-58fe-f82e-6614f36b8113
Content: File Tracking - Visual Studio
Content Source: docs/msbuild/file-tracking.md
Product: visual-studio-dev15
GitHub Login: @Mikejo5000
Microsoft Alias: mikejo

@rainersigwald for comment on this issue

Yeah, I'd say everything under File Tracking should instead be under MSBuild Advanced Concepts.

This feels like it should be under MSBuild Reference to me. This does not really introduce the concept at all.

Updating TOC


Autoopen Document Sheet on load

Is your feature request related to a problem? Please describe.
As a developer working on Sheets, I would like a way to automatically open a specific Document's sheet when the world loads
Describe the solution you'd like
MVP: Given an ID and a Type, a single Sheet is opened on load
Expanded scope: Multiple Documents can be registered to open
Out of Scope: Canvas items
Describe alternatives you've considered
Currently I often register a Hook in my module for testing

Big thanks for this #46


Webviews prevent close confirmation dialog from appearing

Testing #109283
In a codespace, open a markdown preview or gitlens welcome editor or some sort of webview. Press Cmd+W. Tab closes without warning.

This sounds like #82592
We definitely need some browser help here for the keyboard event dispatch but maybe we could try adding onBeforeUnload handler in the webview itself to prevent this?

@mjbvz I somewhat doubt that a iframe can prevent the outer document from unloading, but have not tested it. Ideally our ModifierKeyEmitter that I am using would detect keybindings pressed even when focus is inside the iframe. I am not sure how to achieve thats, so assigning you as well for suggestions.

I confirmed that we can use beforeunload inside iframes (although I need to fully confirm that this works for cross origin iframes. I've only tested this using VS Code run on localhost and iframes hosted on <IP_ADDRESS>):
window.addEventListener('beforeunload', () => false);

The main limitation is that this code must be synchronous. The webview cannot call back to VS Code to check if it should veto the unload or not.
@bpasero Do you recommend that webviews listen to keypresses to prevent cmd+w?

I would probably prefer a solution where webview would not trap keybindings (https://github.com/microsoft/vscode/issues/82592 ?) and let them bubble to my handler.

Unfortunately it's the iframe itself that traps these keypresses. We need to handle this inside the webview

I pushed a change that seems to prevent window closing when focused in a basic webview. Give it a try and let me know if you notice any issues  (it doesn't seem to work in Firefox in my testing)

I was not able to get a confirmation dialog in Chrome at least. I opened a markdown preview, but maybe this needs an insider build?
Btw I would expect this to be looking at the window.confirmBeforeClose setting from the user if possible.

Yes since this touches the JavaScript hosted inside the webview, you'll need to wait until that is pushed to our CDN with the next insiders (I run a server that hosts this code locally for testing purposes)
Good point about window.confirmBeforeClose. I'll synchronize that setting over to the webview so that we can observe it


Can't install or upgrade to 0.2.0

Yo, thanks for your work on this project! Love the Cloud9 implementation for HA! Super nice.
I've been running 0.1.0 without issue for a while, but I'm having no success either A) installing 0.2.0 on a clean instance of Hass.IO in my dev environment. Or B) upgrading from 0.1.0 to 0.2.0 in my other HASS.IO instances.
When I click either the "upgrade" or "install" buttons, it bounces for a few seconds and nothing happens.

Cheers!

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

The same problem with me..

I have the same problem, i can't upgrade, i made uninstall and now i can't install.
Thanks for the great work!

Hi there @bruhautomation, @chaim1986, @cpantu,
Support for Raspberry Pi was dropped initially since there where several issues with it.
It seems like I've found the golden ticket, so I expect to release a new version with ARM (Raspberry Pi) support soon.

Fixed! Just released v0.3.0 which addresses this issue.
Thank you for the report.


Distribution of synonyms should propagate

Holoscotolemon jaqueti (Corti, 1905) has its type-locality in Romania, county Prahova.
Here:

Metascotolemon granulatus Roewer, 1915 is a junior subjective synonym of the above. Its type-locality is is Romania, county Braşov.
Here:

Therefore, the distribution of this species should include both Braşov AND Prahova.
But this doesn't happen.
Here:

Duplicate of #1570.  Should be live next week on Browse OTU

Apologies for the double post.
Glad to see you are taking care of so many things at once...


Optimize roaring codec

Optimize the BoRoaringBitmapCodec by preventing it from emiting useless error that caused allocation. On my flamegraph, the byte_decode function went from 4.13% to  1.70% (of transplant graph).
This may not be the greatest optimization ever, but hey, this was a low hanging fruit.
before:

after:

wow no sorrry, tried many things and forgot about the commit message

well I use a for loop because I don't have a choice, since the conversion is fallible, and I need to propagate the error. In the other case, the conversion can't fail, therefore the for_each can be used.


Update docker-compose.yml

Your file is not passing YAMLint, i have turned it into a valid YML file.

Cool, thanks m8.


Fix wrong setup/expectation in TRANS_CREATE_03

Issue Number
#2298

Overview

[x] Make wDest start empty, instead of with amt balance, such that the expectation makes sense.
[x] Haven't run this yet though. Fixed.

Comments
It used to create a wDest wallet with amt balance, sent another amt to
it, and expect the balance to be amt. Somewhat astounding that this
didn't fail more often.

src/Test/Integration/Scenario/API/Shelley/Transactions.hs:435:26:
      1) API Specifications, SHELLEY_TRANSACTIONS, TRANS_CREATE_03 - 0 balance after transaction
           While verifying (Status {statusCode = 200, statusMessage = "OK"},Right (ApiWallet {id = ApiT {getApiT = WalletId {getWalletId = 278f9ebf2dcf1cb23e1af27281daed107333fd16}}, addressPoolGap = ApiT {getApiT = AddressPoolGap {getAddressPoolGap = 20}}, balance = ApiT {getApiT = WalletBalance {available = Quantity {getQuantity = 2000000}, total = Quantity {getQuantity = 2000000}, reward = Quantity {getQuantity = 0}}}, delegation = ApiWalletDelegation {active = ApiWalletDelegationNext {status = NotDelegating, target = Nothing, changesAt = Nothing}, next = []}, name = ApiT {getApiT = WalletName {getWalletName = "Empty Wallet"}}, passphrase = Just (ApiWalletPassphraseInfo {lastUpdatedAt = 2020-11-04 18:51:44.994771905 UTC}), state = ApiT {getApiT = Ready}, tip = ApiBlockReference {absoluteSlotNumber = ApiT {getApiT = SlotNo 2113}, slotId = ApiSlotId {epochNumber = ApiT {getApiT = EpochNo {unEpochNo = 11}}, slotNumber = ApiT {getApiT = SlotInEpoch {unSlotInEpoch = 33}}}, time = 2020-11-04 18:53:51.6 UTC, block = ApiBlockInfo {height = Quantity {getQuantity = 946}}}}))
           Waited longer than 90s to resolve action: "Wallet balance is as expected".
           expected: Quantity {getQuantity = 1000000}
            but got: Quantity {getQuantity = 2000000}
      To rerun use: --match "/API Specifications/SHELLEY_TRANSACTIONS/TRANS_CREATE_03 - 0 balance after transaction/"

Two possible fixes:
1. Make the wDest start with 0 balance
2. Expect wDest to have 2*amt

1 makes more sense in a way, but we actually rely on wDest having amt
balance to predict the fees, /before/ creating wSrc. So 2 is easer in
this case.

Seems the first method didn't work since wDest starting with amt was needed to estimate fees. Changed to expect 2*amt instead.

bors r+


Extend naming ruleset

Maybe, add some more rules which detect too long or too short names.
This could be tagged as "easy".
reference file: NamingConventionViolation.kt

Maybe also some words that are forbidden to use in class names like data or manager.

It maybe more helpful if detekt has these rules for NamingConvention like Intelliji Java inspections.

Should we close this issue after #374 is merged? Or should we work on some more naming rules mentioned in the IntelliJ warnings as well? Should we break those up into separate issues to make them easier to track and easier for contributors to pick up?

I'd say close or split them up individually so people can say what they're working on.

Thats a lot of rules if we want to implement them all. I also want to close this and if users want more rules, they can feature request them or just file a PR ;)


Add LazyCell::borrow_mut_with and LazyCell::try_borrow_mut_with.

Closes #79.
Closes #80.

Again, this was my best guess but I'm not entirely confident of what I'm doing. :)

@dherman do you have particular use-cases for this functions, or are they added just for the sake of orthogonality?
I believe that the main motivation for borrow_mut was that you can't achieve it's functionality using only the public API. That is, borrow_mut is not a convenience function but an empowering function.
And looks like borrow_mut_with and try_borrow_mut_with could be implemented externally?

@dherman I have the same question as matklad. I'm not categorically opposed to adding these functions, but I'd prefer to do so only in the event that someone actually has an existing, demonstrable use-case for them. This is primarily to avoid unnecessary expansion of the API surface.
And yeah, it looks like these could be implemented externally, so I'm not sure they necessary belong in the library itself.

@dherman I have the same question as matklad. I'm not categorically opposed to adding these functions, but I'd prefer to do so only in the event that someone actually has an existing, demonstrable use-case for them. This is primarily to avoid unnecessary expansion of the API surface.
And yeah, it looks like these could be implemented externally, so I'm not sure they necessary belong in the library itself.
(That said, your PRs look good from a code & documentation standpoint).

I needed this functionality today & I found it frustrating and surprising that they did not exist. I specifically needed try_borrow_mut_with, which is not trivial to implement myself. I can implement both borrow_with and try_borrow_with externally also, but they are valuable convenience APIs & I see no reason to favor the immutable versions over the mutable versions.

D'oh, I forgot to keep on top of these PR threads!

@dherman do you have particular use-cases for this functions, or are they added just for the sake of orthogonality?

There are instances of both try_borrow_with and try_borrow_mut_with in my Notion project, which uses LazyCell pretty prevalently.

I'd prefer to do so only in the event that someone actually has an existing, demonstrable use-case for them. This is primarily to avoid unnecessary expansion of the API surface.

In my experience the with functions are representative of the most common pattern for lazy initialization. It's rare that I want to ask for a lazily initialized value and just get no value if it's not yet initialized. When I'm using a lazy cell, I want it to be morally equivalent to eager initialization, but performed just-in-time. Which means that when I query the value, I always want to get a value; I just need to specify how to initialize it just-in-time.
The point of LazyCell is to abstract away these common patterns—as you can see in the PR, it's a nontrivial amount of boilerplate. I'd prefer to see the API surface grow a little to avoid diffusion of responsibility and lots of copied boilerplate in downstream codebases.

And yeah, it looks like these could be implemented externally, so I'm not sure they necessary belong in the library itself.

In practice, this would mean that I would need to create a LazyCellExt crate with a LazyCellExt trait that implements these methods, and then add an extra crate to my dependencies and import the trait anywhere I wanted these methods. That seems like a bit worse user experience, and from the user's perspective, there's no savings in API surface.

@dherman sorry for the late reply. I've been away on vacation.
I agree with your reasoning. I'll be accepting your PR (I'll try to get it done over this weekend).

v1.1.0, which incorporates these PRs, has now been published.


[5.4] Create tracing on Eloquent Models

Similar to what Laravel has currently with timestamps ('created_at' /
'updated_at') on models, I propose the creation of a (very) basic user
action tracing system through 'created_by' (for the author) and
'updated_by' (for the last editor) attributes on models.
I've had this need on a project I'm working on, and thought that maybe
it could be useful to someone else.
TODO: add methods on Model class to retrieve the author instance and
last editor instance. I have to dig a bit on this as the user provider
depends on the provider that is configured. Just wanted to check
with you if this is valid or not before I do that.

This probably should be implemented as an observer in your own app.

On my app I'm doing it with observers as you suggested, I just used the Model class here as it seemed the logical place for a feature like this if it was bundled with Laravel. But if we can't have the dependency there (I now see why) maybe it doesn't make sense at all to have this included on Laravel.

shameless plug, but i do have a package which provides an alternative approach to this. https://github.com/RMoorePHP/change-recorder

No plans to add this to core.


[q12apja] Display missed supplier assessment appointments to SPs

What does this pull request do?

Adds a table view to the Intervention Progress page for SPs to view all attempted Supplier Assessment Appointments.
Updates text on links in Supplier Assessment table
Adds a new route for viewing previous Supplier Assessment Appointment feedback.

What is the intent behind these changes?
Providers have various reasons that they need to see the details of all missed appointments:

Monitor the engagement of the pop. Differentiate a pop who has missed 1 appt and one who has missed 4
Accurately manage the case with a complete picture of what has happened
See what work has been done by staff or colleagues in a team, if a case is passed from one person to another
Clearly show that the initial appointment was scheduled to take place within 10 day from receiving the referral which is inline with KPIs

Screenshots

Can't figure out why the integration tests are failing on CI but passing locally... do I have a strange time config locally?


[Feature] Does Agora WebGL SDK work with Android Mobile or VR Devices

I've checked the Agora WebGL beta solution for the Unity WebGL voice communication application. Please read my below use case I want to use agora WebGL.
I've developed an Oculus VR application where users can communicate over voice. With Agora Voice SDK it works perfectly. Now my application also supports the WebGL platform. I would like to add a voice communication feature in my WebGL application with this Agora WebGL SDK.
Now my main question/query is  :
If I integrate agora voice WebGL to my unity project which supports both Oculus VR and the WebGL platform.
Does agora webGL SDK work voice communication between Oculus VR and the WebGL app?

This WebGL is developed for desktop browser apps only.  It is recommended to stick with the native SDK with VR headsets.


Inline editing Page Properties multifield doesn't work in Touch-UI (AEM 6.1 + ACS Commons 2.7.0)

I've added a multifield from the ACS Commons package in the page properties.
The dialog is working fine, when the page properties are opened up-on the page itself. Multifield properties are stored as a JSON object:

But when I edit the same page properties through the Touch UI menu, the multifield dialog shows up normally, but saves the properties in the wrong format. Not as a single JSON object but as two seperate properties:

The multifield is initialized through the following code:
<facets
        jcr:primaryType="nt:unstructured"
        jcr:title="Facets"
        sling:resourceType="granite/ui/components/foundation/section">
    <layout
            jcr:primaryType="nt:unstructured"
            sling:resourceType="granite/ui/components/foundation/layouts/fixedcolumns"
            margin="{Boolean}false"/>
    <items jcr:primaryType="nt:unstructured">
        <column
                jcr:primaryType="nt:unstructured"
                sling:resourceType="granite/ui/components/foundation/container">
            <items jcr:primaryType="nt:unstructured">
                <title
                        jcr:primaryType="nt:unstructured"
                        jcr:title="Search Facets"
                        sling:resourceType="granite/ui/components/foundation/form/fieldset">
                    <items jcr:primaryType="nt:unstructured">
                        <facets_field
                                jcr:primaryType="nt:unstructured"
                                sling:resourceType="granite/ui/components/foundation/form/multifield"
                                class="full-width"
                                fieldDescription="Click '+' to add a new facet"
                                fieldLabel="Facets">
                            <field
                                    jcr:primaryType="nt:unstructured"
                                    sling:resourceType="granite/ui/components/foundation/form/fieldset"
                                    acs-commons-nested="JSON_STORE"
                                    name="./facets">
                                <layout
                                        jcr:primaryType="nt:unstructured"
                                        sling:resourceType="granite/ui/components/foundation/layouts/fixedcolumns"
                                        method="absolute"/>
                                <items jcr:primaryType="nt:unstructured">
                                    <column
                                            jcr:primaryType="nt:unstructured"
                                            sling:resourceType="granite/ui/components/foundation/container">
                                        <items jcr:primaryType="nt:unstructured">
                                            <facetName
                                                    jcr:primaryType="nt:unstructured"
                                                    sling:resourceType="granite/ui/components/foundation/form/textfield"
                                                    fieldLabel="Facet Hybris name"
                                                    fieldDescription="The facet name from Hybris."
                                                    name="./facetName"/>
                                            <facetDisplayName
                                                    jcr:primaryType="nt:unstructured"
                                                    sling:resourceType="granite/ui/components/foundation/form/textfield"
                                                    fieldLabel="Facet display name"
                                                    fieldDescription="The facet display name."
                                                    name="./facetDisplayName"/>
                                        </items>
                                    </column>
                                </items>
                            </field>
                        </facets_field>
                    </items>
                </title>
            </items>
        </column>
    </items>
</facets>

This is likely due to the way that the multifield works when in non-edit mode. Can you confirm that after clicking the Edit button it still doesn't appear?

I've changed the following code to get it working (a reload of the properties page is required, after saving the multifield):
touch-ui-multifield-edit.zip

I've also created a diff file, because I am unable to commit my changes to a new branch. Got a permission denied.
814-multifield-touch-ui-properties.zip

PR merged


The Redis instrumentation approach cannot be set to "chain" via the config file

As per @oboxodo's documented experiences in #731 (see comment), using either instrumentation.redis: chain or instrumentation.redis_instrumentation: chain in newrelic.yml fails to instruct the agent to switch away from its default "prepend" instrumentation behavior for the redis gem over to using the "chain" approach as expected.
Using the environment variable approach of NEW_RELIC_INSTRUMENTATION_REDIS=chain does work as desired and cause "chain" to be used.
We need to investigate why the config file approaches to using "chain" with redis are not working.

I have done some testing and left comments on #731. The correct configuration value should be instrumentation.redis: chain. With that value in the config file, the agent reports that it is using method chaining for Redis instrumentation in my testing.
I have put together a gist to help with reproducing (or not) the issue.

Resolved by #1276 (the same community member who raised the issue!)


react-bitmap-utils: Add ability for users to define custom renderers

Was resolved in https://github.com/blockamotolabs/react-bitmap-utils/pull/13


Problem: No way to disable debug logging

In the new release Quantum logs to debug-level, e. g.
07:42:00.002 [debug]<EMAIL_ADDRESS>Execute started for job :check_services
I think there is no possibility to have the global level set to debug and skip the messages of Quantum. So can you please add a configuration directive to disable the quantum debug-logging. Maybe something like that https://stackoverflow.com/questions/38196182/how-to-avoid-ecto-logs-inside-iex
Thanks for your advice.

@DerTim1 thanks for reporting. Would you like to submit a PR?

Yes I can do this, but I would pull the cheap variant: a config option with debug_logging = true/false
Defaultvalue? Maybe false to have the old behaviour?!

@DerTim1 I think the default value should be enabled. In my opinion this is a good default value since it is on level debug.

@c-rack @maennchen
I need some help: (1) Is the util.ex the right position to put a function debug_logging which only logs, if config-option is set to true?
I already found the position to add the new config option. (2) But how can I access the YourApp.Scheduler.config() from the function in util.ex, becuase we don't know what YourApp is set to.

@DerTim1 You can put the function into the util.ex file.
There's no way to know what the config for a specific scheduler is without having the context. You'll need to pass the config option into the init function of the concerned stage.

@maennchen Sorry, but I think my knowledge about the structure of Quantum is too small to get this working.

@DerTim1 It's not that complicated. Im going to drop you a few hints with whom you should be able to get this working:

Quantum.TaskStagesSupervisor. init /1 - This function starts the separate stages that are needed to schedule jobs

You can see that there are options passed to every entry in the list.
For example Quantum.JobBroadcaster is passed two config options.

The Quantum.JobBroadcaster.child_spec/1 takes those arguments and creates a worker spec.
The arguments are then passed into the Quantum.JobBroadcaster.start_link/1
The arguments are forwarded to the stages init/1

There you can put stuff into the stages state.

This process is more ore less the same for all stages. You can then get the config that was put into the state in every handle_*.

@DerTim1 That was expected, Thank you!


Add support for running document transforms from a session object

I'm going to pull this in in a bit, but add an async version to

Nevermind, all good


Adding additional logging in case an ExecutorService cannot shutdown all its threads

@liyinan926 can you take a look.
We're adding this because there was a recent Gobblin map task that hung for over 40 hours. ETL-3550 has more info, but long story short, the theory is that not all threads got shut down properly, causing the JVM to hang.
This PR should better help us debug this issue if it occurs again.

Updated, removed use of lombok. Changed the method to take in an Optional<Logger> to be consistent with the other methods.

LGTM.

@chavdar and @liyinan926 addressed all comments

LGTM

LGTM.

LGTM.


Add caveat about this repo's use

I've had a few support requests about using data from this repo, and I just want to make it clear to folks that this is not the API, and they shouldn't be using it as one.

sorry about that - and thank you for adding the clarification!


"Service Description" link is broken again

Link should go here:
https://docs.microsoft.com/en-us/enterprise-mobility-security/solutions/ems-azure-atp-govt-service-description

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

ID: 3cf65633-f9a6-d971-410b-e0dcd1868cb8
Version Independent ID: 3e923229-f1ac-50ba-27a6-429212f54138
Content: Azure Advanced Threat Protection for US Government GCC Highs
Content Source: ATPDocs/atp-us-govt-gcc-high.md
Service: azure-advanced-threat-protection
GitHub Login: @mlottner
Microsoft Alias: mlottner

@grbray Thanks for your feedback. We've submitted a documentation change based on your suggestion, and the updated article should be live by tomorrow. Please let us know if there's anything more we can do for you. To follow up on this issue, leave us a comment with an @mention.


Forward autoescape configuration of jinja2.Environment injected into jinjax.Catalog

Hi, again, @jpsca :wave:
Currently, if one wants to enable auto-escaping of interpolated variables in JinjaX, one has to mutate the Jinja2 environemnt used by JinjaX like so:
from jinjax import Catalog

catalog = Catalog(...)
catalog.jinja_env.autoescape = True

I propose that JinjaX respects the autoescape configuration of the passed environment instead, like so:
from jinja2 import Environment
from jinjax import Catalog

jinja_env = Environment(autoescape=True)
catalog = Catalog(jinja_env=jinja_env)

Thanks,

Jakob

Thank you for this


it is not working in fragment

I am using kotlin language for development. i implemented bloom in fragment and i passed requiredActivity() and even i tried to pass activity but it not display any animation.
here is snipper
 val mBloom = Bloom.with(activity)
            .setParticleRadius(10F)
            .setShapeDistributor(StarShapeDistributor())
            .setEffector(
               BloomEffector.Builder()
                  .setDuration(2000)
                  .setRotationSpeedRange(0.01f, 0.05f)
                  .setSpeedRange(0.1f, 0.5f)
                 .setAcceleration(0.00025f, 90)
                  .setAnchor((view.width / 2).toFloat(), view.height.toFloat())
                  .setFadeOut(500, AccelerateInterpolator())
                 .build()
         )
    mBloom.boom(view)

I am using kotlin language for development. i implemented bloom in fragment and i passed requiredActivity() and even i tried to pass activity but it not display any animation.
here is snipper
 val mBloom = Bloom.with(activity)
 .setParticleRadius(10F)
 .setShapeDistributor(StarShapeDistributor())
 .setEffector(
 BloomEffector.Builder()
 .setDuration(2000)
 .setRotationSpeedRange(0.01f, 0.05f)
 .setSpeedRange(0.1f, 0.5f)
 .setAcceleration(0.00025f, 90)
 .setAnchor((view.width / 2).toFloat(), view.height.toFloat())
 .setFadeOut(500, AccelerateInterpolator())
 .build()
 )
 mBloom.boom(view)

Sorry to reply you so late, are you make sure your 'view' is visible?Only has animation effect when the view is visible


MBAR method fails

Hi there,
I was trying to calculate the binding affinity by using the MBAR method but unfortunately it fails with the error:
Traceback (most recent call last):
File "/home/gac/local/Common/bin/alchemical_analysis.py", line 1104, in
Deltaf_ij, dDeltaf_ij = estimatewithMBAR(u_kln, N_k, P.relative_tolerance, regular_estimate=True)
File "/home/gac/local/Common/bin/alchemical_analysis.py", line 240, in estimatewithMBAR
(Deltaf_ij, dDeltaf_ij, theta_ij) = MBAR.getFreeEnergyDifferences(uncertainty_method='svd-ew')
ValueError: need more than 2 values to unpack
I don't have any problem by selecting  TI or BAR.
The link related to the directory that I would like to process is:
https://drive.google.com/open?id=0B4Hyb-RxLkeGTEl4QVltT3NhYkk
Cheers,
Gaetano

Make sure you are using the latest script.
The line that causes the error to pop up is 257 (evidence number 1 that you are using an older script) in the current version and it differs from yours (evidence number 2):
(Deltaf_ij, dDeltaf_ij, theta_ij ) = MBAR.getFreeEnergyDifferences(uncertainty_method='svd-ew', return_theta = True)
that last "return_theta = True" which your line is lacking is what the MBAR function anticipates
when asked to extract three variables
Another workaround would be to use an older version of MBAR.
The idea here is to keep them, pymbar and analysis-script.py, both at the same degree of freshness.

Thanks,
I updated pymbar to the latest version and it works now.

Marking as resolved.


Cranelift: Wrong result for bitcast.f64x2 on x64 with SSE4.1

👋 Hey,
.clif Test Case
test interpret
test run
target x86_64 has_sse41

function %bitselect_vconst_f64x2(f64x2, f64x2) -> f64x2 {
block0(v1: f64x2, v2: f64x2):
    v0 = vconst.f64x2 0xFF00000000000000FF00000000000000
    v3 = bitselect v0, v1, v2
    return v3
}
; run: %bitselect_vconst_f64x2(0x11111111111111111111111111111111, 0x00000000000000000000000000000000) == 0x11000000000000001100000000000000

Steps to Reproduce

clif-util test ./the-above.clif

Expected Results
The test to pass.
Actual Results
     Running `/home/afonso/git/wasmtime/target/debug/clif-util test ./lmao2.clif`
 ERROR cranelift_filetests::concurrent > FAIL: run
FAIL ./lmao2.clif: run

Caused by:
    Failed test: run: %bitselect_vconst_f64x2(0x11111111111111111111111111111111, 0x00000000000000000000000000000000) == 0x11000000000000001100000000000000, actual: 0x11111111111111111111111111111111
1 tests
Error: 1 failure

Versions and Environment
Cranelift version or commit: main
Operating system: Linux
Architecture: x86_64
Extra Info
This issue is caused by this optimization to bitselect. It checks if every byte in the vconst is 0xFF or 0x00, which it is in this case, but then emits a blend instruction of whatever type the original bitselect was issued.
This is correct for i8x16, but not for any type with a larger lane size.
This does not affect wasmtime since wasmtime always bitcasts the inputs to bitselect into a i8x16 before the operation which is the only type for which this works.
We also currently don't remove bitcasts in the midend, so this won't get accidentally converted into a bitselect.f64x2.

I think bitcast isn't the cause of this problem, right? Should the issue title say bitselect.f64x2 instead?
If I understand this correctly, we can fix this by using x64_pblendvb instead of x64_blend in this optimized lowering, right?
https://github.com/bytecodealliance/wasmtime/blob/14b39bc234b1c8f9d5212e481a93a91e72b22807/cranelift/codegen/src/isa/x64/lower.isle#L1372-L1376
The x64_blend term is a helper that tries to use a type-appropriate variant of blend, and is only used from the above rule. Similarly vconst_all_ones_or_all_zeros is only used from this rule, and checks each byte of the constant. So I think it's appropriate to use a byte-oriented version of blend whenever that pattern matches.
https://github.com/bytecodealliance/wasmtime/blob/14b39bc234b1c8f9d5212e481a93a91e72b22807/cranelift/codegen/src/isa/x64/inst.isle#L3330-L3334

Good find @afonso360, thanks! Thinking about what @jameysharp said though plus a little more, I think that this optimization on x64 is even buggier (but still not reachable from wasm)
Then blend-style instructions use lane selection so are only valid if the entire lane has the same bit pattern (as a substitute for bitselect), but the type of the vector and comparison isn't being factored in here. This means that a f64x2 bitselect based on an i8x16 {i,f}cmp is not valid, in addition to the issues with constants that identified.
I think essentially all_ones_or_all_zeros needs to take the type of the bitselect as input and test whether the comparison has the same type lane-width-wise and additionally the vconst_all_ones_or_all_zeros helper needs to take the type as input to test the full lane width is all ones or all zeros, not just each byte is all ones or all zeros.
Also, for constants, I think the entire rule should be removed. Instead I think it would be better to transform a bitselect-with-constant-mask into a shuffle which then enables a whole different set of pattern-matching which is much more optimal than loading a constant into a register and performing a blend.

I think bitcast isn't the cause of this problem, right? Should the issue title say bitselect.f64x2 instead?

Oops, yes, bitselect, not bitcast!

I'm fine with converting bitselect with a constant mask into shuffle if you think that's best, @alexcrichton.
But if we don't do that then I'd like to think through the rest of what you said more carefully. I don't see why vconst_all_ones_or_all_zeros needs to do anything but a byte-oriented pattern-match, so long as the result is always a byte-oriented blend. As long as both use the same definition of what a "lane" is, then we only fire this rule when the MSB of a lane is the same as all the other bits in the lane, so the intended type doesn't matter. Choosing byte-sized lanes means the rule can match more cases while still giving correct results.

Good point! Also sorry I should have read your comment more closely and more carefully. I believe you're correct and always using x64_pblendvb here is sufficient, and my point about turning things into shuffle is orthogonal.
(sorry I should have learned by now to read things completely)


if case allows to use void type

Consider following code:
  void _a;

  // Error: This expression has type 'void' and can't be used.
  if (_a is Null) {} // same goes for switch

  // but here are no error
  if (_a case final Null assigned) {
    print('_a is assigned to Null: $assigned');
  }

While you still can do (voidVar as dynamic) is Type, but this requires explicit cast to dynamic, and in code above if-case hides dynamic cast which is undesirable in strong type mode.

This seems to have regressed since 3.0.0 for the front-end (according to dartpad.dev stable vs. master).
The analyzer does not give a warning in either case.
Having void-typed expressions is allowed in switch case expressions (but then requires the switch to be in a void-allowing context).
It should probably not be allowed to have void as the matched value type anywhere where the value is actually accessed.
That means it can be allowed for non-binding non-checking patterns, _, var _, final _. And possibly with typed patterns that don't actually check anything, void _, dynamic _, Object _ (but you never need those, so why allow it).
(Q.v. https://github.com/dart-lang/language/issues/2907).

Should Never also be disallowed in the pattern matching context?

Shouldn't Never also be disallowed in the pattern matching context?

If the matched value type is Never then it's guaranteed that the pattern matching step will never take place. This is usually handled by reporting dead code. Seems that this doesn't occur in this particular situation, cf. https://github.com/dart-lang/sdk/issues/52409.

Agree, there is never any reason to disallow a Never type, but it's usually a good idea to warn about dead code, no matter why it's dead. A (throw "nope") + 1 is not wrong (the semantics are clear), but it is questionable.
Using a "value" with type Never is impossible, but harmless.
Using the value of a void expression is the opposite: Possible, but potentially dangerous. It's the hand-grenade of values, because it can be anything, and there is no promise it won't change in the future, because you are not expected to actually look.
The only good use of a void-typed value is to ignore it. That's why the pattern _ should be allowed, in case you end up with (int, void, String) x = ...; switch (x) { case (var i, _, var s): print("$i:$s");, or Map<String, void> m = ...; switch (m) { case {"foo": _, "bar": _}: print("Has foo and bar keys"); }.
It should very rarely be necessary to have a pattern with void as matched value type, because types like the examples here are silly to begin with, but sometimes destructuring something containing a void value requires having a pattern for the void value. (But if it was case Foo(voidGetter: _), you'd just not add the getter, and if it was a a List<void>, ... why? And don't!)
So, my suggestion (@munificent) is:
If the matched value type of a pattern is void, and the pattern is not an identifier pattern whose name is _, it should be a "use of void value" error.
The "identifier pattern whose name is _" is the same phrasing we use for list element patterns which do not cause a read of the element.
We could be more permissive, and allow some "uses" of a void value that we allow for expressions, but most of those uses were allowed for backwards compatibility reasons, not because it was a good idea:

Assign void to dynamic or void typed variables, so allowing patterns dynamic x, dynamic(...) or void x.
Allow casting to anything, so allowing patterns anyPattern as T for any pattern and type, "casting away" the void-ness.

I'd rather remove that functionality from expressions than repeat the mistake in patterns.
If someone really, really needs to channel a real value through a void typed expression, they might just know what they're doing, but the odds are against it. We don't need to make it easy, so people can do it by accident.
"If you gaze into the void, your program is fragile and prone to failure."

Also to mention, there are some weird things with FutureOr<void>.

So, my suggestion (@munificent) is:
If the matched value type of a pattern is void, and the pattern is not an identifier pattern whose name is _, it should be a "use of void value" error.

Sounds good to me. :)


make annotations nullable to fix migration

Thanks will look tomorrow

@rdallman  - suffice to say I feel bad about this but I think this brings the world back into alignment.

There is an edge case due to non-transactional schema udpates on mysql where a a writer with a very old version migrating forward has a race on the null annotations fields, but i think i'm OK with that.
(various cases in mysql migrations will cause non-recoverable/roll-backable changes I think )
Thanks for your patience!

Should have said - I've tried manual forward migrations with data from 0.3.383 -> this branch on mysql and sqlite - wasn't able to get the manual pg test working but I'm comfortable that it does work practically.


Improve Readme file with versions used

which versions of the libraries you are using to compile the program?
#include <ESP8266WiFi.h>
#include <ArduinoJson.h>
#include <PubSubClient.h>
#include <HeatPump.h>
#include <ESP8266mDNS.h>
#include <ArduinoOTA.h>
I'm getting the error "failed to publish DISCOV topic" starting the controller, maybe is related with the versions of the libraries. Can you please check which ones you are using on arduino IDE? I recommend start using visual code using platformio, it is much more easy to setup/compile and upload the sketches :)

Did you resolve a problem? Please try to edit file PubSubClient.h MQTT_MAX_PACKET_SIZE to 1280. Here is my environment:
Arduino IDE 1.8.10
ArduinoJson 6.12.0
PubSubClient 2.7.0
HeatPump Library https://github.com/SwiCago/HeatPump/commit/830ba26b946e19d3bcccc1ac1298e0db73c2deb2
I will update readme to include this information.


Release Google.Cloud.NetworkConnectivity.V1 version 1.0.0-beta02

Changes in this release:

Commit c64998e:

fix!: Remove ActivateSpoke and DeactivateSpoke methods
BREAKING_CHANGE: ActivateSpoke and DeactivateSpoke were included in a previous change by mistake
feat: Add hub.routing_vpcs field
docs: Specify that site_to_site_data_transfer field must be set to true

Commit ac367e2: feat: Regenerate all APIs to support self-signed JWTs

Created release for Google.Cloud.NetworkConnectivity.V1-1.0.0-beta02


Made generated protobuf structs implement serde

Made generated protobuf structs implement serde.
This is a protobuf json-compatible serde encoding.
This change will allow embedding ProtoFmt structs in zksync-era structs which derive serde traits.

@slowli I've started this pr on top of your pr before it was merged. And with git it is easier to merge than rebase, so I just merged main afterwards.


Use the resolve() helper function to make class instances.

This makes dependency injection and bindings usable.

Great call @marcogrueter - thanks for contributing!
@lukewmoore would you mind taking a look and tagging a new release if suitable?


Just for you to know, since IE10 there is msLaunchURI which has a "noHandlerCallback"

See:
https://msdn.microsoft.com/en-us/library/jj154912(v=vs.85).aspx
Regards,
Arfy

That's what I've been using for IE running on Windows 8 (should check whether this is still the case with Windows 10). However, this is not available in any version of IE in older version than Windows 8. See: http://stackoverflow.com/questions/23396303/mslaunchuri-not-available-in-ie11

works in windows 10 on internet explorer 11 and edge
btw, it's better to test if( navigator.msLaunchUri ) instead of user agent checks

That's exactly what I did (or I misunderstand something here?). I will update the script with IE in windows 10 (and possibly Edge) when I have time. Pull request is also welcome :)

no, you first check user agent:
        var isWin8 = /windows nt 6.2/.test(ua) || /windows nt 6.3/.test(ua);

        if (isWin8) {
            openUriUsingIEInWindows8(uri, failCb);

which is not needed, you can check navigator.msLaunchUri directly instead
    window.protocolCheck = function (uri, failCb) {
        var browser = checkBrowser();

        function failCallback() {
            failCb && failCb();
        }

        if (navigator.msLaunchUri)
          navigator.msLaunchUri( uri, function() {}, failCallback );
        if (browser.isFirefox) {
            openUriUsingFirefox(uri, failCallback);
        } else if (browser.isChrome) {
            openUriWithTimeoutHack(uri, failCallback);
        } else if (browser.isIE) {
            openUriUsingIE(uri, failCallback);
        } else {
            //not supported, implement please
        }
    }

Implemented.

I found that some version of IE 11 on win10 does not have this method.