6949 - Update text and ($100.00) Fee

Issue #: /bcgov/entity#6949
Description of changes:

Updated text in Alteration page and AlterationSummary
Added tests

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of the bcrs-entities-create-ui license (Apache 2.0).

Yes, it is as we check for it. Do you suggest any other approach here?

Yes, I believe your code is safe. But I like consistency, so I would either init state to an empty object, or fall back to zero values here. Search the code for "empty address" for an example of the latter. Up to you, but currently you init to values and then fall back to an empty object, which is asymmetrical :)

Yes, it is as we check for it. Do you suggest any other approach here?

Yes, I believe your code is safe. But I like consistency, so I would either init state to an empty object, or fall back to zero values here. Search the code for "empty address" for an example of the latter. Up to you, but currently you init to values and then fall back to an empty object, which is asymmetrical :)

Yes, it is as we check for it. Do you suggest any other approach here?

Yes, I believe your code is safe. But I like consistency, so I would either init state to an empty object, or fall back to zero values here. Search the code for "empty address" for an example of the latter. Up to you, but currently you init to values and then fall back to an empty object, which is asymmetrical :)

Yes, ok. I did it. I thought about doing that I thought you guys wouldn't like it. Thanks.

Yes, it is as we check for it. Do you suggest any other approach here?

This is OK.

Yes, it is as we check for it. Do you suggest any other approach here?

Yes, I believe your code is safe. But I like consistency, so I would either init state to an empty object, or fall back to zero values here. Search the code for "empty address" for an example of the latter. Up to you, but currently you init to values and then fall back to an empty object, which is asymmetrical :)

Yes, ok. I did it. I thought about doing that but I thought you guys wouldn't like it. Thanks.

You did it in one commit but the final code doesn't include it.
I don't care either which you choose --- might as well just go with {} as it's the easiest -- as long as the code is consistent, which makes it easier to review/understand/maintain.
Thanks.

Yes, it is as we check for it. Do you suggest any other approach here?

Yes, I believe your code is safe. But I like consistency, so I would either init state to an empty object, or fall back to zero values here. Search the code for "empty address" for an example of the latter. Up to you, but currently you init to values and then fall back to an empty object, which is asymmetrical :)

Yes, ok. I did it. I thought about doing that but I thought you guys wouldn't like it. Thanks.

You did it in one commit but the final code doesn't include it.
I don't care either which you choose --- might as well just go with {} as it's the easiest -- as long as the code is consistent, which makes it easier to review/understand/maintain.
Thanks.

Yes, as I defined it as FeesIF it can't be {}. It's consistent now.


chore: update thor slippage

Description
Update the THORSwapper slippage from 0.2% to 1%.
This is to ensure streaming swaps go through when there is a small amount of market volatility.
We now have advanced slippage turned on, so our users can adjust this value if they choose.
Pull Request Type

[ ] :bug: Bug fix (Non-breaking Change: Fixes an issue)
[x] :hammer_and_wrench: Chore (Non-breaking Change: Doc updates, pkg upgrades, typos, etc..)
[ ] :nail_care: New Feature (Breaking/Non-breaking Change)

Issue (if applicable)
N/A - improve UX of streaming swaps and thorswap trades
Risk
Small.
Testing
The max slippage (min amount received) should be using 1% (not 0.2%).
Engineering
☝
Operations
☝
Screenshots (if applicable)
N/A

Current dependencies on/for this PR:

develop

PR #5189   👈

This comment was auto-generated by Graphite.


Earthwalker install issue

Trying to install Earthwalker.
I get the following error.
Failed to install add-on
Can't install registry.gitlab.com/glatteis/earthwalker:1: 404 Client Error for http+docker://localhost/v1.44/images/create?tag=1&fromImage=registry.gitlab.com%2Fglatteis%2Fearthwalker&platform=linux%2Famd64: Not Found ("manifest for registry.gitlab.com/glatteis/earthwalker:1 not found: manifest unknown: manifest unknown")
Could you please help?

Looks like the docker image the addon used was taken down. I will try to fork the code and see if I could build my own.

Should be fixed now. They changed the versioning method. Check for add on updates and then it should install


Lengthen timeout so that we can debug failures

Failures seem to occur at ~4 minutes, so lengthen the timeout to 6 minutes.  I think we should keep this change around in-case we need to develop future things.

Does it actually fail with a useful error after 4 minutes?

Yes.  After 4 minutes it gave me:
"The user-provided container failed to start and listen on the port defined provided by the PORT=8000 environment variable. Logs for this revision might contain more information. Logs URL: https://console.cloud.google.com/logs/viewer?project=&resource=cloud_run_revision/service_name/e2etest-232e39107654/revision_name/e2etest-232e39107654-vxshx&advancedFilter=resource.type%3D%22cloud_run_revision%22%0Aresource.labels.service_name%3D%22e2etest-232e39107654%22%0Aresource.labels.revision_name%3D%22e2etest-232e39107654-vxshx%22  For more troubleshooting guidance, see https://cloud.google.com/run/docs/troubleshooting#container-failed-to-start "

That is instead of the "Unknown:Deploy" error


gap doesn't reevaluate on scroll

On iPad tabs auto-hide when scrolling.
And so the gap will reduce ¬_¬'

Up to the developer to implement it.
Listening to scroll can be costly…

Couldn't this be attached to gesturechange that should be more performant?
I feel this is still an issue that can be fixed

I've edited the distributable file to combat this and used touchmove instead of gesturechange so it works better; will submit a pull request later with the src edited to give the output.

Submitted pull request #15


proto mode disable

@chrislovecnm , this fix allows to run bazel fetch //... successfully. But still build fails.
Could you take a look? Thanks!

@chrislovecnm , bazel build //... works now. I had to update linodego package and fix interface outputs in provider.


MongoDB Instrumentation causes type error on command callback

Please answer these questions before submitting a bug report.
What version of OpenTelemetry are you using?
"@opentelemetry/instrumentation-mongodb": "0.14.0",
"@opentelemetry/instrumentation": "0.18.2",
What version of Node are you using?
14.15.4
What did you do?
Instrumented code using MongoDB, at runtime, after being up for a few seconds the app crashes at mongodb/lib/cmap/connection.js:277 as the callback it attempts to invoke is undefined.
What did you expect to see?
No TypeError
What did you see instead?
TypeError: callback is not a function
at MessageStream.messageHandler (/app/node_modules/mongodb/lib/cmap/connection.js:277:5)
at MessageStream.emit (events.js:315:20)
at processIncomingData (/app/node_modules/mongodb/lib/cmap/message_stream.js:144:12)
at MessageStream._write (/app/node_modules/mongodb/lib/cmap/message_stream.js:42:5)
at writeOrBuffer (internal/streams/writable.js:358:12)
at MessageStream.Writable.write (internal/streams/writable.js:303:10)
at Socket.ondata (internal/streams/readable.js:719:22)
at Socket.emit (events.js:315:20)
at addChunk (internal/streams/readable.js:309:12)
at readableAddChunk (internal/streams/readable.js:284:9)
[ERROR] 14:52:57 TypeError: callback is not a function
Additional context
Add any other context about the problem here.
From debugging, the command being invoked is from measureRoundTripTime:
rttPinger[kConnection].command('admin.$cmd', { ismaster: 1 }, err => {
    if (err) {
      rttPinger[kConnection] = undefined;
      rttPinger[kRoundTripTime] = 0;
      return;
    }

    measureAndReschedule();
  });

The command is { ismaster:1 } and the callback follows, but it seems that the patching of the server command may be passing in the callback incorrectly?
If I change this:
if (!currentSpan ||
                    typeof resultHandler !== 'function' ||
                    typeof cmd !== 'object') {
                    return original.call(this, server, ns, cmd, typeof options === 'function' ? callback: options, callback);
                }

to:
if (!currentSpan ||
                    typeof resultHandler !== 'function' ||
                    typeof cmd !== 'object') {
                    return original.call(this, server, ns, cmd, options, callback);
                }

So that the original arguments make it through to the original call then the callback is defined and tracing appears to work as expected, but clearly I don't know what I'm doing and this may have broken something! :-)

I'm using node-mongodb-native 3.6.3 with MongoDB 4.4 configured as a single node replica set. Is this supported? I saw the supported version was '>=3.3 <4' but assumed this was referring to the driver version rather than the DB version, but if it's the MongoDB version then I can see it wouldn't be supported. Thanks!

It effectively reference the driver so thats weird, i just tested and the tests run fine with 3.6 so it might just not be covered by tests. Are you open to make a PR to fix this ?

I am having the same issue for some reason:
TypeError: callback is not a function
    at MessageStream.messageHandler (/home/ubuntu/app/.yarn/$$virtual/mongodb-virtual-9a03103ae7/0/cache/mongodb-npm-3.6.5-df947000e5-6a838b79e1.zip/node_modules/mongodb/lib/cmap/connection.js:277:5)
    at MessageStream.emit (events.js:315:20)
    at processIncomingData (/home/ubuntu/app/.yarn/$$virtual/mongodb-virtual-9a03103ae7/0/cache/mongodb-npm-3.6.5-df947000e5-6a838b79e1.zip/node_modules/mongodb/lib/cmap/message_stream.js:144:12)
    at MessageStream._write (/home/ubuntu/app/.yarn/$$virtual/mongodb-virtual-9a03103ae7/0/cache/mongodb-npm-3.6.5-df947000e5-6a838b79e1.zip/node_modules/mongodb/lib/cmap/message_stream.js:42:5)
    at writeOrBuffer (internal/streams/writable.js:358:12)
    at MessageStream.Writable.write (internal/streams/writable.js:303:10)
    at Socket.ondata (internal/streams/readable.js:719:22)
    at Socket.emit (events.js:315:20)
    at addChunk (internal/streams/readable.js:309:12)
    at readableAddChunk (internal/streams/readable.js:284:9)
    at Socket.Readable.push (internal/streams/readable.js:223:10)
    at TCP.onStreamRead (internal/stream_base_commons.js:188:23)

Could it be related to the use of sharding or replicasets?

const resultHandler = typeof options === 'function' ? options : callback;
                if (!currentSpan ||
                    typeof resultHandler !== 'function' ||
                    typeof ops !== 'object') {
                    return original.call(this, server, ns, ops, typeof options === 'function' ? callback : options, callback);
                }
                const span = instrumentation.tracer.startSpan(`mongodb.${operationName}`, {
                    kind: api_1.SpanKind.CLIENT,
                });
                instrumentation._populateAttributes(span, ns, server,
                // eslint-disable-next-line @typescript-eslint/no-explicit-any
                operationName !== 'insert' ? ops[0] : undefined);
                const patchedCallback = instrumentation._patchEnd(span, resultHandler);
                return original.call(this, server, ns, ops, typeof options === 'function' ? patchedCallback : options, patchedCallback);

Something about this logic does seem a bit strange.  On this line:
original.call(this, server, ns, ops, typeof options === 'function' ? callback : options, callback)

If options is a function, we pass callback.  However, if options is a function, callback is probably undefined, right?
It seems like the intention here is to just pass through the parameters, which would be achieved like this:
original.call(this, server, ns, ops, options, callback)

I created this patchfile using yarn patch to work around the issue:
diff --git a/build/src/mongodb.js b/build/src/mongodb.js
index 1c6caf4abad0c17c82fab2e98f08b53cceef2041..bf8fb42dd77a631d6e9f1f37013ba6e3b36d2f2b 100644
--- a/build/src/mongodb.js
+++ b/build/src/mongodb.js
@@ -95,12 +95,12 @@ class MongoDBInstrumentation extends instrumentation_1.InstrumentationBase {
                 if (!currentSpan ||
                     typeof resultHandler !== 'function' ||
                     typeof ops !== 'object') {
-                    return original.call(this, server, ns, ops, typeof options === 'function' ? callback : options, callback);
+                    return original.call(this, server, ns, ops, options, callback);
                 }
                 const span = instrumentation.tracer.startSpan(`mongodb.${operationName}`, {
                     kind: api_1.SpanKind.CLIENT,
                 });
-                instrumentation._populateAttributes(span, ns, server,
+                instrumentation._populateAttributes(span, ns, server,
                 // eslint-disable-next-line @typescript-eslint/no-explicit-any
                 operationName !== 'insert' ? ops[0] : undefined);
                 const patchedCallback = instrumentation._patchEnd(span, resultHandler);
@@ -118,7 +118,7 @@ class MongoDBInstrumentation extends instrumentation_1.InstrumentationBase {
                 if (!currentSpan ||
                     typeof resultHandler !== 'function' ||
                     typeof cmd !== 'object') {
-                    return original.call(this, server, ns, cmd, typeof options === 'function' ? callback : options, callback);
+                    return original.call(this, server, ns, cmd, options, callback);
                 }
                 const commandType = instrumentation._getCommandType(cmd);
                 const type = commandType === types_1.MongodbCommandType.UNKNOWN ? 'command' : commandType;
@@ -141,7 +141,7 @@ class MongoDBInstrumentation extends instrumentation_1.InstrumentationBase {
                 if (!currentSpan ||
                     typeof resultHandler !== 'function' ||
                     typeof cmd !== 'object') {
-                    return original.call(this, server, ns, cmd, cursorState, typeof options === 'function' ? callback : options, callback);
+                    return original.call(this, server, ns, cmd, cursorState, options, callback);
                 }
                 const span = instrumentation.tracer.startSpan('mongodb.find', {
                     kind: api_1.SpanKind.CLIENT,
@@ -160,7 +160,7 @@ class MongoDBInstrumentation extends instrumentation_1.InstrumentationBase {
                 const currentSpan = api_1.getSpan(api_1.context.active());
                 const resultHandler = typeof options === 'function' ? options : callback;
                 if (!currentSpan || typeof resultHandler !== 'function') {
-                    return original.call(this, server, ns, cursorState, batchSize, typeof options === 'function' ? callback : options, callback);
+                    return original.call(this, server, ns, cursorState, batchSize, options, callback);
                 }
                 const span = instrumentation.tracer.startSpan('mongodb.getMore', {
                     kind: api_1.SpanKind.CLIENT,

Will be released when the next release


Problem with bcrypt possibly due to Webpack

Description
App stops working after installing bcrypt.
Actual behavior
What I did:

create-react-app Test
cd Test
npm install bcrypt
Open src/App.js and put import bcrypt from 'bcrypt' in the header.
npm start

In Terminal
Compiled with warnings.

Warning in ./src/App.js

/Users/React/Test/src/App.js
  5:8  warning  'bcrypt' is defined but never used  no-unused-vars

✖ 1 problem (0 errors, 1 warning)

Warning in ./~/bindings/bindings.js
Critical dependencies:
76:22-40 the request of a dependency is an expression
76:43-53 the request of a dependency is an expression
 @ ./~/bindings/bindings.js 76:22-40 76:43-53

Warning in ./~/bindings/README.md
Module parse failed: /Users/React/Test/node_modules/bindings/README.md Unexpected token (2:3)
You may need an appropriate loader to handle this file type.
SyntaxError: Unexpected token (2:3)
 @ ./~/bindings ^\.\/.*$

You may use special comments to disable some warnings.
Use // eslint-disable-next-line to ignore the next line.
Use /* eslint-disable */ to ignore all warnings in a file.

In the browser console
Uncaught TypeError: exists is not a function
webpackHotDevClient.js:180 ./src/App.js

/Users/React/Test/src/App.js
  5:8  warning  'bcrypt' is defined but never used  no-unused-vars

✖ 1 problem (0 errors, 1 warning)

webpackHotDevClient.js:180 ./~/bindings/bindings.js
Critical dependencies:
76:22-40 the request of a dependency is an expression
76:43-53 the request of a dependency is an expression
 @ ./~/bindings/bindings.js 76:22-40 76:43-53
webpackHotDevClient.js:180 ./~/bindings/README.md
Module parse failed: /Users/React/Test/node_modules/bindings/README.md Unexpected token (2:3)
You may need an appropriate loader to handle this file type.
SyntaxError: Unexpected token (2:3)
    at Parser.pp$4.raise (/Users/React/Test/node_modules/react-scripts/node_modules/webpack/node_modules/acorn/dist/acorn.js:2221:15)
    at Parser.pp.unexpected (/Users/React/Test/node_modules/react-scripts/node_modules/webpack/node_modules/acorn/dist/acorn.js:603:10)
    at Parser.pp$3.parseExprAtom (/Users/React/Test/node_modules/react-scripts/node_modules/webpack/node_modules/acorn/dist/acorn.js:1822:12)
    at Parser.pp$3.parseExprSubscripts (/Users/React/Test/node_modules/react-scripts/node_modules/webpack/node_modules/acorn/dist/acorn.js:1715:21)
    at Parser.pp$3.parseMaybeUnary (/Users/React/Test/node_modules/react-scripts/node_modules/webpack/node_modules/acorn/dist/acorn.js:1692:19)
    at Parser.pp$3.parseExprOp (/Users/React/Test/node_modules/react-scripts/node_modules/webpack/node_modules/acorn/dist/acorn.js:1656:43)
    at Parser.pp$3.parseExprOp (/Users/React/Test/node_modules/react-scripts/node_modules/webpack/node_modules/acorn/dist/acorn.js:1658:21)
    at Parser.pp$3.parseExprOps (/Users/React/Test/node_modules/react-scripts/node_modules/webpack/node_modules/acorn/dist/acorn.js:1639:17)
    at Parser.pp$3.parseMaybeConditional (/Users/React/Test/node_modules/react-scripts/node_modules/webpack/node_modules/acorn/dist/acorn.js:1620:21)
    at Parser.pp$3.parseMaybeAssign (/Users/React/Test/node_modules/react-scripts/node_modules/webpack/node_modules/acorn/dist/acorn.js:1597:21)
    at Parser.pp$3.parseExpression (/Users/React/Test/node_modules/react-scripts/node_modules/webpack/node_modules/acorn/dist/acorn.js:1573:21)
    at Parser.pp$1.parseStatement (/Users/React/Test/node_modules/react-scripts/node_modules/webpack/node_modules/acorn/dist/acorn.js:727:47)
    at Parser.pp$1.parseTopLevel (/Users/React/Test/node_modules/react-scripts/node_modules/webpack/node_modules/acorn/dist/acorn.js:638:25)
    at Parser.parse (/Users/React/Test/node_modules/react-scripts/node_modules/webpack/node_modules/acorn/dist/acorn.js:516:17)
    at Object.parse (/Users/React/Test/node_modules/react-scripts/node_modules/webpack/node_modules/acorn/dist/acorn.js:3098:39)
    at Parser.parse (/Users/React/Test/node_modules/react-scripts/node_modules/webpack/lib/Parser.js:902:15)
 @ ./~/bindings ^\.\/.*$
Navigated to http://localhost:3000/
bindings.js:153 Uncaught TypeError: exists is not a functiongetRoot @ bindings.js:153bindings @ bindings.js:55(anonymous function) @ bcrypt.js:3(anonymous function) @ bcrypt.js:175(anonymous function) @ bundle.js:2965__webpack_require__ @ bundle.js:556fn @ bundle.js:87(anonymous function) @ App.js:20(anonymous function) @ bundle.js:2911__webpack_require__ @ bundle.js:556fn @ bundle.js:87(anonymous function) @ index.js:13(anonymous function) @ bundle.js:1363__webpack_require__ @ bundle.js:556fn @ bundle.js:87(anonymous function) @ multi_main:3(anonymous function) @ bundle.js:589__webpack_require__ @ bundle.js:556(anonymous function) @ bundle.js:579(anonymous function) @ bundle.js:582
webpackHotDevClient.js:180 ./src/App.js

/Users/React/Test/src/App.js
  5:8  warning  'bcrypt' is defined but never used  no-unused-vars

✖ 1 problem (0 errors, 1 warning)

webpackHotDevClient.js:180 ./~/bindings/bindings.js
Critical dependencies:
76:22-40 the request of a dependency is an expression
76:43-53 the request of a dependency is an expression
 @ ./~/bindings/bindings.js 76:22-40 76:43-53
webpackHotDevClient.js:180 ./~/bindings/README.md
Module parse failed: /Users/React/Test/node_modules/bindings/README.md Unexpected token (2:3)
You may need an appropriate loader to handle this file type.
SyntaxError: Unexpected token (2:3)
    at Parser.pp$4.raise (/Users/React/Test/node_modules/react-scripts/node_modules/webpack/node_modules/acorn/dist/acorn.js:2221:15)
    at Parser.pp.unexpected (/Users/React/Test/node_modules/react-scripts/node_modules/webpack/node_modules/acorn/dist/acorn.js:603:10)
    at Parser.pp$3.parseExprAtom (/Users/React/Test/node_modules/react-scripts/node_modules/webpack/node_modules/acorn/dist/acorn.js:1822:12)
    at Parser.pp$3.parseExprSubscripts (/Users/React/Test/node_modules/react-scripts/node_modules/webpack/node_modules/acorn/dist/acorn.js:1715:21)
    at Parser.pp$3.parseMaybeUnary (/Users/React/Test/node_modules/react-scripts/node_modules/webpack/node_modules/acorn/dist/acorn.js:1692:19)
    at Parser.pp$3.parseExprOp (/Users/React/Test/node_modules/react-scripts/node_modules/webpack/node_modules/acorn/dist/acorn.js:1656:43)
    at Parser.pp$3.parseExprOp (/Users/React/Test/node_modules/react-scripts/node_modules/webpack/node_modules/acorn/dist/acorn.js:1658:21)
    at Parser.pp$3.parseExprOps (/Users/React/Test/node_modules/react-scripts/node_modules/webpack/node_modules/acorn/dist/acorn.js:1639:17)
    at Parser.pp$3.parseMaybeConditional (/Users/React/Test/node_modules/react-scripts/node_modules/webpack/node_modules/acorn/dist/acorn.js:1620:21)
    at Parser.pp$3.parseMaybeAssign (/Users/React/Test/node_modules/react-scripts/node_modules/webpack/node_modules/acorn/dist/acorn.js:1597:21)
    at Parser.pp$3.parseExpression (/Users/React/Test/node_modules/react-scripts/node_modules/webpack/node_modules/acorn/dist/acorn.js:1573:21)
    at Parser.pp$1.parseStatement (/Users/React/Test/node_modules/react-scripts/node_modules/webpack/node_modules/acorn/dist/acorn.js:727:47)
    at Parser.pp$1.parseTopLevel (/Users/React/Test/node_modules/react-scripts/node_modules/webpack/node_modules/acorn/dist/acorn.js:638:25)
    at Parser.parse (/Users/React/Test/node_modules/react-scripts/node_modules/webpack/node_modules/acorn/dist/acorn.js:516:17)
    at Object.parse (/Users/React/Test/node_modules/react-scripts/node_modules/webpack/node_modules/acorn/dist/acorn.js:3098:39)
    at Parser.parse (/Users/React/Test/node_modules/react-scripts/node_modules/webpack/lib/Parser.js:902:15)
 @ ./~/bindings ^\.\/.*$

Environment
Run these commands in the project folder and fill in their results:

npm ls react-scripts (if you haven’t ejected):

<EMAIL_ADDRESS>/Users/React/Test
└──<EMAIL_ADDRESS>

node -v: v6.2.2
npm -v: 3.9.5

Then, specify:

Operating system: macOS
Browser and version: Chrome 53

This package is written in C:
https://github.com/ncb000gt/node.bcrypt.js/tree/master/src
There is no possible way it could work in a browser. It uses node-gyp for bindings which wouldn’t work with Webpack since browser can’t possible run native binaries.
You might want to try an alternative that is written in plain JS and uses browser APIs. Here is a package that claims to be: https://www.npmjs.com/package/bcryptjs

@gaearon Is there any way to use node-gyp bindings if we are using this in an Electron app, do you know?
We're trying to use odbc module in an Electron app that uses create-react-app and running into the same issue.
Thanks!


Fix typo in transformation mapping product features

tranformation --> transformation
Had spec failures in https://github.com/ManageIQ/manageiq-api/pull/313 that alerted me to the typo
@miq-bot assign @gtanzillo

Gaprindashvili backport details:
$ git log -1
commit eeb604c6fafc3bf2f070891c5b0f014f3f184708
Author: Gregg Tanzillo<EMAIL_ADDRESS>Date:   Mon Feb 12 14:18:06 2018 -0500

    Merge pull request #16988 from jntullo/transformation_typo

    Fix typo in transformation mapping product features
    (cherry picked from commit 4240760b8679d1ceccd42f4311894abd74e87bab)


Promote UI items manager

Promote the UiItemsManager/UiItemsProvider APIs to public.

@mergifyio backport release/4.0.x

@mergifyio backport release/4.0.x


Some packages are not properly located and therefore cannot be included

Xmake Version
2.7.2+202210271121
Operating System Version and Architecture
macOS 13 Ventura arm64
Describe Bug
TOML++ and SDL don't want to get included via #include in my C++ project. However, if I clone the repos from GitHub and make + make install them, they get included without any problem.
By contrast, I can use Boost and PugiXML, but I had them installed beforehand. Is there something wrong in xmake's package management or is there a problem with M1 in general, or is there a PATH problem? Would be nice to know and hope this gets fixed.
Expected Behavior
add_requires() should work as expected.
add_package() works fine, but only if I have previously compiled it manually.
Project Configuration
add_rules("mode.debug", "mode.release")

add_requires("boost", {alias = "boost_context", configs = {context = true}})
add_requires("libsdl")
add_requires("pugixml", "toml++")
add_includedirs("/usr/local/include")   -- works without it too

set_optimize("fastest")
set_warnings("all", "error")
set_languages("cxx20")

target("Droplet")
    set_kind    ("static")
    add_files   ("Source/**.cpp")
    add_packages("boost_context", "pugixml", "libsdl", "toml++")
    if is_mode("debug") then
        add_defines("DEBUG")
    end                             -- Debug mode flagging in the app

then try
#include <SDL2/SDL.h>
#include <toml++/toml.h>

somewhere
Additional Information and Error Logs
https://hastebin.com/usutewimup.typescript

It works for me on my macOS, but it is not M1. I have not M1 to test it.

Did you check the headers are actually in the /usr/local/include directory? I read more people in different situation have trouble using that linux folder structure in os x. I do know nothing about osx, but it might be a PATH problem from what i read. Tough i would expect if you add the include folder to xmake using -> add_includedirs("/usr/local/include") that xmake would look here anyway, unless it needs root permission. I do not know if xmakes warns you for not having root permissions... So it might be worth it to try xmake -v, maybe it shows a warning?
Anyway you can see if include folder is in PATH just by: echo $PATH
If the include folder does not exist, you can add it to the PATH var, but you might as well change the includedir to any other folder you like.
export PATH=$PATH:/usr/local/include
Also take a good look at this make file, perhaps you can use the same folders...


Utility to export the records of a Route53 zone

Here it is a small utility to save the A,CNAME and TXT records in to a TF file, plus the actual registries of the gpii.net zone.

LGTM, (though this is WIP so I didn't really review the code).
Your branch name says NOJIRA but there is a Jira for this.

@stepanstipl , it stills relevant because we're planning to move the DNS zones from Route53 to GCP DNS


Flag to maintain sort order when transcoding

I'm going to close this for now, potentially less skew from unordered files and simpler/faster code are a pro for not doing this


UIImage(named:) cannot be used when installed as Pod

Hi,
I have just added the pod to my project and it crashed when running it. Problem is, that UIImage(named:) cannot/should not be used within a pod. It searches the images within the default / app bundle while it located in the pod bundle.
Solution 1: Manually add the images to the main app bundle
Solution 2:  Use UIImage(named:in:compatibleWith:) instead
let bundle = Bundle(for: PasswordToggleVisibilityView.self)
self.eyeOpenedImage` = UIImage(named: "ic_eye_open", in: bundle, compatibleWith: nil)!.withRenderingMode(.alwaysTemplate)

Thanks @SDPrio, you're absolutely correct! This is now fixed in latest master.
https://github.com/Guidebook/HideShowPasswordTextField/issues/7


simplebar scroll to body

can u provide an example in codepen for us ?
i do it by my self wrap all element into another div instead of body add simplebar to element
but scroll dosen't work and simplebars element has hidden visibility
please make an example of :
1- add simplebar to body my mean to that div wrap all the content
2- and blockscroll like overflow: hidden when an element is-active like when offCanvas is opened
Regards Sadegh 👍

Hi @riiccardo
If you want to do this I recommend to use another plugin because SimpleBar doesn't currently support this (it should work fine but I don't recommend it) as you can see in the README.
However blocking the scroll is a feature that I want to support, so I'll reference this issue and open a new one regarding this point.


pub.dev example pack has issues

🏗 Enhancement Proposal
The example on https://pub.dev/packages/geolocator/example has some issues. Firstly its only showing the main function which doesn't itself contain any geolocator example code, secondly the link to the source file is broken
Pitch
This is useful because although the readme does a good job at explaining many features, it is a bit uncertain how they work in practice (Eg Asking the user to update their settings)
Platforms affected (mark all that apply)

[ ] :iphone: iOS
[ ] :robot: Android
[x] pub.dev

Duplicate of #547. I will close this issue and track progress in #547, thanks for reporting.


feat: redirect 404/500 to static pages

SUMMARY

We're currently returning a SIP-40 error payload on 404 and 500. I changed it to redirect the user to the static pages for these errors instead when running in production (not development).
@samtfm, @willbarrett how is this handled on the Preset side?
BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF

Before:

After:

TEST PLAN

ADDITIONAL INFORMATION

[ ] Has associated issue:
[ ] Changes UI
[ ] Includes DB Migration (follow approval process in SIP-59)

[ ] Migration is atomic, supports rollback & is backwards-compatible
[ ] Confirm DB migration upgrade and downgrade tested
[ ] Runtime estimates and downtime expectations provided

[ ] Introduces new feature or API
[ ] Removes existing feature or API

@betodealmeida we haven't integrated these yet in Preset, it's a perpetual backlog item :). LGTM


prog: TestIsComplexPtr fails when run without -short

any_test.go:65: generated too few complex types: 1060/1611

Mostly it failed to generate the autogenerated types, e.g.
        any_test.go:61: did not generate netlink_msg_t[autogenerated_netlink, genlmsghdr, fw_policy$auto_cls_fw]
        any_test.go:61: did not generate netlink_msg_t[autogenerated_netlink, genlmsghdr, nft_bitwise_policy$auto_nft_bitwise]
        any_test.go:61: did not generate netlink_msg_t[autogenerated_netlink, genlmsghdr, nft_match_policy$auto_nft_compat]
        any_test.go:61: did not generate netlink_msg_t[autogenerated_netlink, genlmsghdr, dcbnl_bcn_nest$auto_dcbnl]
        any_test.go:61: did not generate netlink_msg_t[autogenerated_netlink, genlmsghdr, devlink_dl_port_function_nl_policy$auto_netlink_gen]
        any_test.go:61: did not generate netlink_msg_t[autogenerated_netlink, genlmsghdr, ifa_phonet_policy$auto_pn_netlink]
        any_test.go:61: did not generate netlink_msg_t[autogenerated_netlink, genlmsghdr, vni_filter_policy$auto_vxlan_vnifilter]

Cc @dvyukov

I think the proper fix is to not generate these unused policies (for now, while they are not used for real).

@pimyn-girgis do we actually still need sendmsg$autorun?

The only benefit in keeping unused policies is that it makes it more obvious how syz-declextract descriptions change over time, and might help in catching bugs between different versions. Other than that, I do not see any need to keep them.


fix(ingress) disable duplicate CRD installation

What this PR does / why we need it:
Remove
Which issue this PR fixes

fixes #1051

Special notes for your reviewer:
Checklist

[X] PR is based off the current tip of the main branch.
[X] Changes are documented under the "Unreleased" header in CHANGELOG.md
[X] New or modified sections of values.yaml are documented in the README.md
[X] Commits follow the Kong commit message guidelines

 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.

This won't change anything, so I will close this


TagWidget's  attributes not working

I'm Working on project using Taggit
Model :
class Topic(models.Model):
.......
    tag = TaggableManager()

Model Form :
class TopicForm(forms.ModelForm):
    class Meta:
        model = models.Topic
        fields = [..., 'tag']
        widgets = {
            "tags":TagWidget(attrs={'placeholder':'Tags', 'class':'form-control'}),
            'title': forms.TextInput(attrs={
                'class': 'form-control',
            }),
        }

But for sorry html classes of tags not working, in another side title html's class working perfectly, May I know what is the wrong thing I did ?

I know my problem is not that big, May find a quick response ?

I'm not sure, but I think this stuff would work in more recent Django stuff, now that a lot of the form customization is built in? Please re-open if this is still an issue for you


Importing SynapseML doesn't work

I'm working on a pyspark project and trying to leverage Microsoft's SynapseML library. There are two ways of installing synapseml:

Dowloading as a JAR when running Spark submit - This is how it works in production but after downloading it locally, I'm unable to import the python libraries dues to which none of the IDE features work
Installing it via pip - This won't work in production (spark-submit, Jupyter, etc.) but at least lets us leverage IDE features.

Is there a way to get all IDE features without installing it via pip?

There's documentation on how we resolve imports here. Try setting python.analysis.extraPaths in your VS Code settings or extraPaths (in pyrightconfig.json/pyproject.toml) to point to the install location.

I've tried that before creating this issue. Problem is that SynapseML downloads JARs when downloaded via spark shell and I'm not sure how to make it PyLance work with it

Looks like extraPaths will work if you:

Change the extensions of the .jar files to .zip
Add the .zip file paths (not the parent directory path) to extraPaths (ex.  "extraPaths": [ "C:/Users/erikd/.ivy2/jars/com.microsoft.azure_synapseml-core_2.12-0.11.2.zip" ])

After doing that with com.microsoft.azure_synapseml-core_2.12-0.11.2.jar, Pylance was happy with the following import:
from synapse.ml.core.platform.Platform import running_on_synapse

We could in theory make Pylance treat .jar files like .zip and .egg files, but this is the first request we've gotten along these lines. Also, I saw the following in the Spark documentation, which makes me think that SynapseML may be doing something non-standard even for Spark:

For Python, you can use the --py-files argument of spark-submit to add .py, .zip or .egg files to be distributed with your application. If you depend on multiple Python files we recommend packaging them into a .zip or .egg. For third-party Python dependencies, see Python Package Management.

Having to rename .jar to .zip is a weird work-around. I'll do it now but given that pyspark is such a widely used framework and python itself being often times used as a glue language, I would request you to enhance the extension itself.

Ok. I dug into this some more and found that Python's zip import support doesn't care about the extension of zipped files, so ideally we wouldn't either.
Resources:

Python docs
CPython implementation docs
CPython implementation
Our issues/PRs related to zip/egg support:

https://github.com/microsoft/vscode-python/issues/2532
https://github.com/microsoft/python-language-server/issues/196
https://github.com/microsoft/pyrx/issues/1340

This issue has been fixed in prerelease version 2023.8.31, which we've just released. You can find the changelog here: CHANGELOG.md

@vishalovercome, you'll now be able to do what I suggested above but without needing to rename the .jar files to .zip.


weird, it succeeded after 4 retries for "pack install"

Dear support,
During package deployment to our production, we encountered very strange behavior, we run exactly same command "st2 pack install git@git.dev.xyz.com:st2/poseidon.git=dev" 4 times, it only succeeded the 4th time.
1st time, pack install says all succeeded, but apparently directory "poseidon" has not been created.
2nd time, same as 1st time
3rd time, pack install failed at 4 step when registering pack since the directory was not created.
4th time, pack install succeeded and the directory "poseidon" finally have been created.
please assist, maybe pack install need another more step to verify if the directory has been really created or not.
above scenario is not always the case, sometimes it maybe succeeded 1 times, maybe 2 times...
Detail command output as shown below
---------output--------------
[powerop@VMS52784 packs]$ st2 pack install git@git.dev.xyz.com:st2/poseidon.git=dev

	[ succeeded ] download pack
	[ succeeded ] make a prerun
	[ succeeded ] install pack dependencies
	[ succeeded ] register pack

+-------------+-------------------------------------------------------+
| Property    | Value                                                 |
+-------------+-------------------------------------------------------+
| name        | poseidon                                              |
| description | A pack containing all actions, workflows, rules, etc. |
| version     | 0.1.0                                                 |
| author      | hj_xu                                                 |
+-------------+-------------------------------------------------------+
[powerop@VMS52784 packs]$ ll
total 36
drwxrwxr-x  6 root st2packs 4096 Jul 28 11:05 ars
drwxrwxr-x  5 root st2packs 4096 Jul 14 15:51 chatops
drwxrwxr-x  5 root st2packs 4096 Jul 28 10:22 cms
drwxrwxr-x  5 root st2packs 4096 Jul 14 15:51 core
drwxrwxr-x  5 root st2packs 4096 Jul 14 15:51 default
drwxrwxr-x  5 root st2packs 4096 Jul 28 10:25 jump
drwxrwxr-x 10 root st2packs 4096 Jul 28 10:59 liberty
drwxrwxr-x  4 root st2packs 4096 Jul 14 15:51 linux
drwxrwxr-x  5 root st2packs 4096 Jul 14 15:51 packs
[powerop@VMS52784 packs]$ st2 pack install git@git.dev.sh.xyz.com:st2/poseidon.git=dev

	[ succeeded ] download pack
	[ succeeded ] make a prerun
	[ succeeded ] install pack dependencies
	[ succeeded ] register pack

+-------------+-------------------------------------------------------+
| Property    | Value                                                 |
+-------------+-------------------------------------------------------+
| name        | poseidon                                              |
| description | A pack containing all actions, workflows, rules, etc. |
| version     | 0.1.0                                                 |
| author      | hj_xu                                                 |
+-------------+-------------------------------------------------------+
[powerop@VMS52784 packs]$ ll
total 36
drwxrwxr-x  6 root st2packs 4096 Jul 28 11:05 ars
drwxrwxr-x  5 root st2packs 4096 Jul 14 15:51 chatops
drwxrwxr-x  5 root st2packs 4096 Jul 28 10:22 cms
drwxrwxr-x  5 root st2packs 4096 Jul 14 15:51 core
drwxrwxr-x  5 root st2packs 4096 Jul 14 15:51 default
drwxrwxr-x  5 root st2packs 4096 Jul 28 10:25 jump
drwxrwxr-x 10 root st2packs 4096 Jul 28 10:59 liberty
drwxrwxr-x  4 root st2packs 4096 Jul 14 15:51 linux
drwxrwxr-x  5 root st2packs 4096 Jul 14 15:51 packs
[powerop@VMS52784 packs]$ st2 pack install git@git.dev.sh.xyz.com:st2/poseidon.git=dev

	[ succeeded ] download pack
	[ succeeded ] make a prerun
	[ succeeded ] install pack dependencies
	[  failed   ] register pack

id: 597aab2225f69632fcc24d49
action.ref: packs.install
parameters:
  packs:
  - git@git.dev.sh.ctripcorp.com:st2/poseidon.git=dev
status: failed
error: st2.actions.python.St2RegisterAction: DEBUG    Calling client method "register" with kwargs "{'types': [u'all'], 'packs': [u'poseidon']}"
Traceback (most recent call last):
  File "/opt/stackstorm/st2/lib/python2.7/site-packages/st2common/runners/python_action_wrapper.py", line 259, in <module>
    obj.run()
  File "/opt/stackstorm/st2/lib/python2.7/site-packages/st2common/runners/python_action_wrapper.py", line 155, in run
    output = action.run(**self._parameters)
  File "/opt/stackstorm/packs/packs/actions/pack_mgmt/register.py", line 81, in run
    format_func=format_result)
  File "/opt/stackstorm/packs/packs/actions/pack_mgmt/register.py", line 149, in _run_client_method
    result = method(**method_kwargs)
  File "/opt/stackstorm/st2/lib/python2.7/site-packages/st2client/models/core.py", line 39, in decorate
    return func(*args, **kwargs)
  File "/opt/stackstorm/st2/lib/python2.7/site-packages/st2client/models/core.py", line 443, in register
    self.handle_error(response)
  File "/opt/stackstorm/st2/lib/python2.7/site-packages/st2client/models/core.py", line 165, in handle_error
    response.raise_for_status()
  File "/opt/stackstorm/st2/lib/python2.7/site-packages/requests/models.py", line 928, in raise_for_status
    raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request
MESSAGE: Pack "poseidon" not found on disk: Directory "/opt/stackstorm/packs/poseidon" doesn't exist for url: http://<IP_ADDRESS>:9101/v1/packs/register

traceback: None
failed_on: register pack
start_timestamp: 2017-07-28T03:10:26.778984Z
end_timestamp: 2017-07-28T03:10:55.840301Z
+--------------------------+-------------------------+---------------------------+-------------------------+-------------------------------+
| id                       | status                  | task                      | action                  | start_timestamp               |
+--------------------------+-------------------------+---------------------------+-------------------------+-------------------------------+
| 597aab236742b95a89fd2fa6 | succeeded (2s elapsed)  | download pack             | packs.download          | Fri, 28 Jul 2017 03:10:27 UTC |
| 597aab266742b95a89fd2fa8 | succeeded (1s elapsed)  | make a prerun             | packs.virtualenv_prerun | Fri, 28 Jul 2017 03:10:30 UTC |
| 597aab286742b95a89fd2faa | succeeded (21s elapsed) | install pack dependencies | packs.setup_virtualenv  | Fri, 28 Jul 2017 03:10:32 UTC |
| 597aab3d6742b95a89fd2fac | failed (2s elapsed)     | register pack             | packs.load              | Fri, 28 Jul 2017 03:10:53 UTC |
+--------------------------+-------------------------+---------------------------+-------------------------+-------------------------------+
[powerop@VMS52784 packs]$ st2 pack install git@git.dev.sh.xyz.com:st2/poseidon.git=dev

	[ succeeded ] download pack
	[ succeeded ] make a prerun
	[ succeeded ] install pack dependencies
	[ succeeded ] register pack

+-------------+-------------------------------------------------------+
| Property    | Value                                                 |
+-------------+-------------------------------------------------------+
| name        | poseidon                                              |
| description | A pack containing all actions, workflows, rules, etc. |
| version     | 0.1.0                                                 |
| author      | hj_xu                                                 |
+-------------+-------------------------------------------------------+
[powerop@VMS52784 packs]$ ll
total 40
drwxrwxr-x  6 root st2packs 4096 Jul 28 11:05 ars
drwxrwxr-x  5 root st2packs 4096 Jul 14 15:51 chatops
drwxrwxr-x  5 root st2packs 4096 Jul 28 10:22 cms
drwxrwxr-x  5 root st2packs 4096 Jul 14 15:51 core
drwxrwxr-x  5 root st2packs 4096 Jul 14 15:51 default
drwxrwxr-x  5 root st2packs 4096 Jul 28 10:25 jump
drwxrwxr-x 10 root st2packs 4096 Jul 28 10:59 liberty
drwxrwxr-x  4 root st2packs 4096 Jul 14 15:51 linux
drwxrwxr-x  5 root st2packs 4096 Jul 14 15:51 packs
drwxrwxr-x  6 root st2packs 4096 Jul 28 11:11 poseidon

That seems...strange. Do you see similar behavior with other packs, or just this one?
Do you see anything interesting in st2api.log around this time?

I noticed this probably due to application HA issue. we have 3 st2 application servers. and If I run pack install one of of them, and sometimes, seems the pack files will be downloaded to other node in the cluster. that can explain why it failed at the 4th step. not confirmed, but I guess to.
we still don't quite understand how to build the st2 application HA according the official doc,  the database like mongod HA seems pretty much easier.

@leoxhj Of course, HA is absolutely special story.
Did you configure shared NFS for /opt/stackstorm/packs on all st2 servers as suggested in HA doc?
https://docs.stackstorm.com/reference/ha.html#read-write-nfs-mounts

Closing this in favour of #3191


How to run it in Mac OS?

How to run it in Mac OS?

This project uses electron, electron to build cross-platform desktop applications. But currently I don't have a Mac OS development environment to build this application. I will find a way to solve this problem, including the following two points.

Improve the build documentation so that developers can build their own
Try to find the Mac OS development environment

本项目使用electron，electron能构建跨平台的桌面应用。但是当前我没有可以构建这个应用的Mac OS开发环境。我会想办法解决这个问题，包括以下两点

完善构建文档，方便开发者自己构建
尝试寻找Mac OS开发环境

Actually this project can directly run on MacOS after building.
Thanks.

Actually this project can directly run on MacOS after building.
Thanks.

could you talk a little more about how to build this project on MacOS? Thx

electron 默认是按自己平台架构打包，如果后面加 --linux 或 --win 或 --mac 就可以打成相应平台的包，你试试 我之前用的也是 electron-vue 就是这么打的包

The 0.8.0 version provides a .dmg file that can be installed on the osx system.

0.8.0版本提供了.dmg文件，可以在osx系统安装


Input class attribute is reset in Edge

Yet another Edge-specific issue.
We are using custom-styled check boxes, radio buttons and text inputs in our app. What we have noticed is that in Edge the effective class attribute is sometimes blank, even though it's not empty in the template. Everything works as expected in Firefox and Chrome.
Please see the demo here

Oh gosh, could you please file all bugs you know about Edge at once? 😂
Jokes a part, it takes a little while for me to test IE11/Edge (they all have same bugs with attributes, which I've learned is the part nobody at MS ever refactored) so if you know any other issue, please share ASAP so that I can tackle all at once.

I don't think I have any more issues for you today 😄
The reason why I haven't reported both last ones at once was that I wanted to be sure they are browser-related and reproducible. But I'll try to batch the similar ones together next time.

actually, current fix breaks SVG ...

OK, everything should be fine now ... like, hopefully, forever

It works! Thank you so much!

I hope I haven't broken anything else now, but the fix looks like reasonable for IE/Edge only and also others.


Fix up FastAPI tests

These were fixes I needed to get FastAPI tests running on local Mac. I started down this path when trying to replicate https://github.com/Azure-Samples/azure-fastapi-postgres-flexible-aca/issues/12 which I haven't replicated successfully, but these fixes may help.
I changed conftest to match what we do in the OpenAI sample that has worked well:
https://github.com/Azure-Samples/azure-search-openai-demo/blob/main/tests/e2e.py
Big differences: Adding a dynamically chosen port, polling to make sure server is ready.
Also this PR has a workaround for https://github.com/kjaymiller/cookiecutter-relecloud/issues/244 since it's unclear to me why drop_all() isn't working correctly.

Note: It's very possible we'll end up reusing some of these fixtures for Flask once I move those off of pytest-flask.


Multithreading issue when setting a key/value in ApplicationData.Current.LocalSettings

Describe the bug
I am porting a UWP/win32 desktop bridge app to WinUI 3 Desktop (MSIX packaged, WinUI 3 v1.0 stable) and are getting the following exception when assigning a composite value to ApplicationData.Current.LocalSettings from within a background task.
The application called an interface that was marshalled for a different thread. (Exception from HRESULT: 0x8001010E (RPC_E_WRONG_THREAD))
The background task that writes the composite value does this by calling a singleton method AppSettings.Instance.UpdateTaskBackupResult(result), which internally uses a semaphore to protect against concurrent access. The part of this method that writes to local settings looks as follows:
ApplicationDataCompositeValue composite = new ApplicationDataCompositeValue();
composite["TaskId"] = result.TaskId;
composite["LastStatus"] = Convert.ToInt32(result.LastStatus);
.. some other 20 keys are assigned
// Serialize subtask results to JSON
DataContractJsonSerializer js = new DataContractJsonSerializer(typeof(List<SubTaskBackupResult>));
using (MemoryStream ms = new MemoryStream())
{
   js.WriteObject(ms, result.SubTaskResults);
   ms.Position = 0;
   using (StreamReader sr = new StreamReader(ms))
   {
      string json = sr.ReadToEnd();
      composite["SubTaskResults"] = json;
      sr.Close();
      ms.Close();
   }
}
ApplicationData.Current.LocalSettings.Values[key] = composite;

Immediately before creating the background task the UI thread also writes to LocalSettings, like so:
.. some code
AppSettings.Instance.UpdateTaskBackupResult(result);
.. some code
var t = Task.Run(async () =>
{
   // Tell ExecTasksRequestHandler to run
   await _execTasksHandler.RunAsync(taskRequests, _isBackgroundTaskRequest, isFirstSchedularRun, _execTasksCancelTokenSource.Token);

   // Finished
   IsBackupRunning = false;
});

I know that writing to local settings is somehow (don't know the details) virtualized in Windows but I am not aware of any multi-threading issues.
Did something change with Windows App SDK 1.0?
I am not sure but just recently are using 'v1.0 stable', instead of 'v1.0 preview 3' and have not seen this happening before.
Steps to reproduce the bug
Create WinUI 3 Desktop app.
Write to local settings from within a UI trigger.
Within the same trigger start a background task and write to local settings there as well.
Expected behavior
No response
Screenshots
No response
NuGet package version
1.0.0
Packaging type
Packaged (MSIX)
Windows version
Windows 10 version 21H1 (19043, May 2021 Update)
IDE
Visual Studio 2019
Additional context
No response

which internally uses a semaphore to protect against concurrent access.

Protects how?  Blocking threads with native mutex/etc can intersect (badly) with COM reentrancy. Does this use CoWaitForMultipleObjects or equivalent COM reentrancy savvy APIs?
Could you share this semaphoring singleton code?

@DrusTheAxe Thanks for the reply. The singleton and the code that is using the semaphore looks as follows:
public class AppSettings
{
	static AppSettings sInstance;

	public static AppSettings Instance
	{
		get
		{
			if (sInstance == null)
			{
				sInstance = new AppSettings();
			}
			return sInstance;
		}
	}

	SemaphoreSlim _settingsSemaphore = new SemaphoreSlim(1);

	public void UpdateTaskBackupResult(TaskBackupResult result)
	{
		_settingsSemaphore.Wait();
		// Find index of the taskID
		var entry = TaskBackupResults.FirstOrDefault(t => t.TaskId == result.TaskId);
		if (entry != null)
		{
			int idx = TaskBackupResults.IndexOf(entry);
			TaskBackupResults[idx] = result;
			// Write "TaskResult-xx" key with result as a composite value
			SaveTaskBackupResultToSettings($"TaskResult-{idx}", result);
		}
		_settingsSemaphore.Release();
	}

	void SaveTaskBackupResultToSettings(string key, TaskBackupResult result)
	{
		try
		{
			ApplicationDataCompositeValue composite = new ApplicationDataCompositeValue();
			composite["TaskId"] = result.TaskId;
			composite["LastStatus"] = Convert.ToInt32(result.LastStatus);
			composite["Status"] = Convert.ToInt32(result.Status);
			// etc..
			composite["LastRunSimulated"] = result.LastRunSimulated;

			// Serialize subtask results to JSON
			DataContractJsonSerializer js = new DataContractJsonSerializer(typeof(List<SubTaskBackupResult>));
			using (MemoryStream ms = new MemoryStream())
			{
				js.WriteObject(ms, result.SubTaskResults);
				ms.Position = 0;
				using (StreamReader sr = new StreamReader(ms))
				{
					string json = sr.ReadToEnd();
					composite["SubTaskResults"] = json;
					sr.Close();
					ms.Close();
				}
			}

			ApplicationData.Current.LocalSettings.Values[key] = composite;
		}
		catch (Exception e)
		{  }
	}

}

The app is written in c# and uses the System.Threading api that is available there for things like semaphores and mutexes.
It uses a semaphore because there is only 1 process, but it can have multiple threads. I am not aware whether SemaphoreSlim can deal with COM reentrance or not. I assume it should.
What I have seen is that when I remove the AppSettings.Instance.UpdateTaskBackupResult() call in the UI thread right before starting the task (using Task.Run) and thus will only write to local settings from within the background task, that the exception doesn't occur anymore.
When I do the settings update also in the UI thread before starting the task, the issue re-appears in about half of the test cases. So it seems to be associated with how fast the background thread kicks in.
It seems that there is some delayed operation going on before the data is actually written in local settings and that this delay has some influence on the error coming up or not.

How's the thread initialized for COM? STA and COM reentrancy tend to mix poorly.

when I remove the AppSettings.Instance.UpdateTaskBackupResult() call in the UI thread

UI threads tend to be STA.
It's unclear how UpdateTaskBackupResult is called, thus hard to say more.

I am not aware whether SemaphoreSlim can deal with COM reentrance or not. I assume it should.

I'd be wary making that assumption. Per the docs

The SemaphoreSlim is a lightweight alternative to the Semaphore class that doesn't use Windows kernel semaphores. Unlike the Semaphore class, the SemaphoreSlim class doesn't support named system semaphores. You can use it as a local semaphore only. The SemaphoreSlim class is the recommended semaphore for synchronization within a single app.

It doesn't say how it's implemented (other than not using a kernel Semaphore object) but it sounds similar to SRWLocks i.e. some form of CAS 'lockless' implementation. Certainly no hint how it interacts (if at all) with COM, STA and/or a message pump.
You're using the semaphore as a mutex (_settingsSemaphore = new SemaphoreSlim(1);). Why not use Mutex? Or some other C# mechanism that gets you the desired throttling to 1 caller at a time? More important, something that doesn't run afoul of COM reentrancy
@brialmsft @BenJKuhn @Scottj1s @jonwis do you know current best practices for this scenario?

@DrusTheAxe Thanks for the reply.
I have been investigating this issue a bit more and changed the shared access protection to a Mutex, but it still shows the same marshalling exception.
Some observations:

When I don't update the app settings from within the UI thread the exception does not appear.
When I do an update from the UI thread immediately before starting the background thread the "marshalling" exception appears from within in the background thread even when using a Mutex instead of a SemaphoreSlim.

I am pretty sure that there has to be an issue with the way a composite value is written to local settings in the latest v1 Windows App SDK.
What I see for instance is:

When not doing the appsettings update in the UI thread that there is a error/warning output on the Visual Studio console immedialy after the call
ApplicationData.Current.LocalSettings.Values[key] = composite;
The error/warning is:
onecore\base\appmodel\statemanager\apiset\lib\stateatom.cpp(593)\kernelbase.dll!00007FFECAA79CFC: (caller: 00007FFECAA79C34) ReturnHr(21) tid(5490) 8007007A The data area passed to a system call is too small.
When the settings are also updated from the UI thread the above error/warning does not appear but I get the marshalling exception. I think it is even coming before the composite value is assigned to the key.

I must also say that the same code is being in use for already 2 years on an existing UWP/win32 desktop bridge app in the Windows Store (SyncFolder) without causing any problems.
It is now coming up with the porting of the app to a Windows App SDK v1 WinUI-Desktop app.

@DrusTheAxe
I have created a basic Visual Studio WinUI project using the Visual Studio 2019 template for Windows App SDK to demonstrate the issue reported above.
There is a simple button in MainWindow.cs which does the following after being pressed:
        private void myButton_Click(object sender, RoutedEventArgs e)
        {
            myButton.Content = "Clicked";
            TaskBackupResult result = new TaskBackupResult("1234567890abcdefg");
            AppSettings.Instance.UpdateTaskBackupResult(result);
            var t = Task.Run(() =>
            {
                // Tell ExecTasksRequestHandler to run
                // Step 1
                result.Status = TaskBackupStatus.ScanningSourceFolder;
                AppSettings.Instance.UpdateTaskBackupResult(result);
                Thread.Sleep(100);
                // Step 2
                result.Status = TaskBackupStatus.ScanningDestinationFolder;
                AppSettings.Instance.UpdateTaskBackupResult(result);
                Thread.Sleep(100);
                // Step 3
                result.Status = TaskBackupStatus.Matching;
                AppSettings.Instance.UpdateTaskBackupResult(result);
                Thread.Sleep(100);
                // Step 4
                result.Status = TaskBackupStatus.Copying;
                AppSettings.Instance.UpdateTaskBackupResult(result);
            });
        }

The "marshalling" exception occurs at step 1.
The complete solution with the code of UpdateTaskBackupResult() can be found in the VS solution which you can find on my OneDrive public folder.
See AppSettings.zip.

@DrusTheAxe
I am not sure whether the "marshalling" issue is still relevant. I just installed Visual Studio 2022 and tried there the AppSetting.sln solution I posted earlier and it looks like the exception doesn't occur there. What is even more strange is that when I then tested this again with VS 2019 the error also suddenly doesn't appear anymore.
All strange for me but I assume something got updated during the installation of VS 2022.
The 'appcontainer' error/warning however is still there:
onecoreuap\base\appmodel\statemanager\roamingrpc\stateroamingrpcclient.cpp(124)\Windows.Storage.ApplicationData.dll!7BF3D7B9: (caller: 7BF47C88) ReturnHr(2) tid(1f1c) 8007109A This operation is only valid in the context of an app container.
This probably needs to be the subject of a new issue in order to close this one.

I suspect that debugger message is a false one.
What version of Windows are you running on?
statemanager == ApplicationData. The 'roaming' tidbit is interesting as ApplicationData's roaming support was deprecated in 1909.
@alexlamtest is this a known issue?

@alexlamtest
The issue about the marshalling exception can be closed. Doesn't appear anymore since installation of VS2022.
Remaining warning/errors moved to #1937


Unity MJHingeJoint no way to manage axis through the Unity Editor

https://github.com/deepmind/mujoco/blob/175d25cd9fe9e821885655f67819811bcf633561/unity/Runtime/Components/MjHingeJoint.cs#L37
On a MjHingeJoint there is no way to modify the axis via the editor. Possible solution could be to set to Vector3.right and then handle the local rotation at runtime startup.

By construction, the MjHingeJoint component is required to have its own game object, and you control the rotation axis by pointing the transform's X axis in the desired direction (in particular, via the Editor); what other way to modify the axis would you want?

Ah, thats great, makes sense now.
I'd assumed it would be defined in the same way as in the XML definitions like
<joint axis="0 1 0" name="hinge" pos="0 0 0" type="hinge"/>


Use unique monitor name based on host

Fixes #39

Don't merge, this needs rework after input from @jamielennox

Going to close this as I believe we'll tackle it another way.


ImportError: cannot import name 'RequestsTransport' from 'azure.core.pipeline.transport'

Package Name: azure-storage-queue:
Package Version: latest:
Operating System: Windows 11:
Python Version: 3.8.10:

Describe the bug
when trying to create a new queue it failed to import QueueClient from the Azure storage queue module (library)
To Reproduce
Steps to reproduce the behavior:

Follow the same procedure inside https://learn.microsoft.com/en-us/azure/storage/queues/storage-python-how-to-use-queue-storage?tabs=python%2Cenvironment-variable-windows

Expected behavior
Create a queue
Screenshots

Additional context
Add any other context about the problem here.

Thank you for the feedback @aabuhasna . We will investigate and get back to you asap.

Hi @aabuhasna thanks for your inquiry. I have just gone ahead and tried the setup process of azure-storage-queue using the latest package version and your Python version and was able to successfully run my code with no issues. With that being said, it seems like this is likely a configuration issue on your end.
Can you please verify that you have azure-core installed? You can verify this by executing pip freeze and ensuring you have an azure-core entry i.e. azure-core==1.26.3. If you are unsure, you can also share the results of pip freeze here.
Another good idea may be to reinstall any of the components necessary to avoid using anything that is out of date (i.e. Python, azure-storage-queue, azure-core, etc.)
With that being said, hopefully this helps resolve your issue, but I can verify that this is not an SDK issue and is likely a configuration issue or something else not related to the SDK.
Thanks!

I got similar error when create a python Azure Function, with python3.10, platform Linux, azure-core==1.26.3, azure-storage-file-share===12.11.1
Microsoft.Azure.WebJobs.Host.FunctionInvocationException : Exception while executing function: Functions.myapp ---> Microsoft.Azure.WebJobs.Script.Workers.Rpc.RpcException : Result: Failure
Exception: ImportError: requests package is not installed. Please check the requirements.txt file for the missing module. For more info, please refer the troubleshooting guide: https://aka.ms/functions-modulenotfound
Stack: File '/azure-functions-host/workers/python/3.10/LINUX/X64/azure_functions_worker/dispatcher.py', line 357, in _handle__function_load_request
func = loader.load_function(
File '/azure-functions-host/workers/python/3.10/LINUX/X64/azure_functions_worker/utils/wrappers.py', line 48, in call
raise extend_exception_message(e, message)
File '/azure-functions-host/workers/python/3.10/LINUX/X64/azure_functions_worker/utils/wrappers.py', line 44, in call
return func(*args, **kwargs)
File '/azure-functions-host/workers/python/3.10/LINUX/X64/azure_functions_worker/loader.py', line 132, in load_function
mod = importlib.import_module(fullmodname)
File '/usr/local/lib/python3.10/importlib/__init__.py', line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File '<frozen importlib._bootstrap>', line 1050, in _gcd_import
File '<frozen importlib._bootstrap>', line 1027, in _find_and_load
File '<frozen importlib._bootstrap>', line 1006, in _find_and_load_unlocked
File '<frozen importlib._bootstrap>', line 688, in _load_unlocked
File '<frozen importlib._bootstrap_external>', line 883, in exec_module
File '<frozen importlib._bootstrap>', line 241, in _call_with_frames_removed
File '/home/site/wwwroot/myapp/__init__.py', line 10, in <module>
from azure.storage.fileshare import ShareClient, StorageErrorCode
File '/home/site/wwwroot/.python_packages/lib/site-packages/azure/storage/fileshare/__init__.py', line 9, in <module>
from ._file_client import ShareFileClient
File '/home/site/wwwroot/.python_packages/lib/site-packages/azure/storage/fileshare/_file_client.py', line 25, in <module>
from ._shared.base_client import StorageAccountHostsMixin, parse_connection_str, parse_query
File '/home/site/wwwroot/.python_packages/lib/site-packages/azure/storage/fileshare/_shared/base_client.py', line 27, in <module>
from azure.core.pipeline.transport import RequestsTransport, HttpTransport
File '/home/site/wwwroot/.python_packages/lib/site-packages/azure/core/pipeline/transport/__init__.py', line 77, in __getattr__
raise ImportError('requests package is not installed')

Hi @vincenttran-msft thank you for your feedback, I am using azure-core version 1.26.3 combined with azure-storage-queue version 12.6.0 after spending several hours troubleshooting what I have done wrong with my script I decided to go with azure-storage-queue 12.5.0 for testing and it worked like a charm.
In order to go live with my code with the latest version, I will try to use a new machine (using the same version of MS Windows 11 22H2)  and install all the component there, I will keep you updated with the result of my testing.

Hi @vincenttran-msft sorry about the delay, I have tested the script again using the latest version of Azure storage queue and it was successful. It seems the issue was with my machine. sorry about the inconvenience.

I am running into this same issue. Let me know if you'd like me to create a new issue.
I am trying to follow this tutorial:
https://learn.microsoft.com/en-us/azure/storage/blobs/storage-quickstart-blobs-python?tabs=managed-identity%2Croles-azure-portal%2Csign-in-azure-cli
When I get to this line of code:
from azure.storage.blob import BlobServiceClient, BlobClient, ContainerClient
I get the following error [ImportError: cannot import name 'RequestsTransport' from 'azure.core.pipeline.transport']
I can import and reference the azure core pipeline transport e.g.
import azure.core.pipeline.transport as acpt
but if I try from azure.core.pipeline.transport import RequestsTransport I get the same error
The version of azure-core I had installed was 1.26.4. I tried downgrading to 1.26.3 but it made no difference.


Redis -> Postgres refactor

Switch caching layer from Redis to Postgres. Update all data systems facades to make user experience as convenient as possible.

@cdolfi could we merge this and then fix pre-commit in a follow-up? It's just slightly easier that way

@JamesKunstle works with me!


Update sbt-best-practice to 8.3.0 in master

Updates com.thoughtworks.sbt-best-practice:sbt-best-practice from 8.2.5 to 8.3.0.
GitHub Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "com.thoughtworks.sbt-best-practice", artifactId = "sbt-best-practice" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "com.thoughtworks.sbt-best-practice", artifactId = "sbt-best-practice" }
}]

labels: sbt-plugin-update, early-semver-minor, semver-spec-minor, version-scheme:semver-spec, commit-count:1

Superseded by #195.


Use a matrix for library build in release workflow

I'm working on a Go application, using an M1 mac and an Alpine Linux container-based local development environment. I'd like to use Oso, but to do so I need linux arm64 support in the Go package. I've successfully spiked this locally, and started investigating how to bring it upstream.
In the process, I decided to take a stab at simplifying the current build by using a matrix of all the builds, and their shared/static library artifacts. This is intended to make it easier to see what targets are currently being built, and to simplify adding others in future.
It additionally introduces more parallelism, since each target will build in parallel vs. each OS before (and atm each OS has two builds). On the down side, it's not currently possible to depend on specific matrix job instances, so some jobs have to wait for additional builds. In theory, the parallelism should cancel this out, for a net win.
It's possible the naming conventions could be standardised such that the shared/static fields could just be boolean, but this way no changes are needed in the other jobs. Something to consider in future.
I've been testing it in my fork but haven't achieved a fully green run yet. I'm not set up to for the m1 mac runner (are there any instructions for this?), and I'm seeing missing Python 3.6 on Windows, plus a number of seemingly spurious errors. Not sure if any of these are known issues?

I see there's some activity around this already (e.g. https://github.com/osohq/oso/issues/1529 and https://github.com/osohq/oso/issues/808#issuecomment-1051770311), so hopefully this doesn't interfere with any WIP.

I have read the CLA Document and I hereby sign the CLA

The release now goes through if I host an m1 runner: https://github.com/connec/oso/actions/runs/1952256611

(dispatch still fails because it depends on secrets that aren't on my fork.)

Closing per #1540.


Please make the hamburger configurable

I just ported over from PaperMod and while I got most of the stuff working without modifying the theme itself, I could not override the hamburger on mobile.
In my particular case I have so little menu items, that the hamburger is unnecessary as the items can fit just fine on small screens.
I suppose this might require SCSS, but I am reporting this nonetheless, hopefully there's an easier workaround.

I plan to do that, yes. This feature was just a simple hack I came with, but it definitely requires some work.
(I will look at your contributions soon enough, been busy lately. Thanks!)


Showing wrong district name  in Rajasthan

There is no such district EVACUEES in Rajasthan

Open https://www.covid19india.org/
Choose Rajasthan state
Then you can  EVACUEES district.

There is one more field  i can see Italians . Is it a bug too. Please review it once in Rajasthan state .

This looks like incorrect entries in the crowdsourced patient database. It is showing up in the "Raw_data" section and hence as entries in 'state_district_wise.json'.

These are not belong to any particular district of rajasthan as these indians are evecuted form others countries & quarantined at Jodhpur & jaisalmer facilities.

This intentionally mentioned so because the press bulletin also does the same and doesn't assign a district to these patients. We will try to make it more intuitive to understand that.
Closes #808


Delete image option

It would be useful to add an option to delete an image using the response delete url.

It's a good idea. One of the scenarios I have in mind for this: I have a workflow that automatically builds the project's web pages and uploads screenshots of the rendered pages to PR to make sure that visually the vital pages are looking good. If the PR is merged, it would be nice to delete the images as they are not needed anymore. The expiration option #7 can be used in this case as an alternative solution. However, sometimes a complicated PR can be in draft state for months till all the issues are fixed, so expiration option may not be an optimal solution in such a case...

@McCzarny I've been actively using your action in my workflows! Thank you! It works great and allows to automatically post screenshots of different tests as comments in PRs. This is an example:

However, now I face a problem that the free tariff plan of imgbb is not enough for me. I'm not planning to buy a subscription, as I was thinking only of using it for temporary image storage during the PRs so I should not go beyond the free limit of 32 Mb. However, even if I specify a short auto-delete option for the uploaded images like 7 days, it's not enough to keep my space clean and fit into the 32Mb limit.
If this feature of deleting uploaded images would be implemented, I think it solve my problem. The idea is that every time a GitHub workflow starts in PR it checks if any images have already been uploaded to Imgbb, and if yes, it deletes them first. After that it makes new screenshots and uploades them to Imgbb. And a dedicated job is launched when PR is merged to delete the images. I plan to use artifacts to store information about the uploaded images with their delete URLs that would allow me to implement the logic above. What do you think? Is it a good approach or perhaps you have some better ideas?

As far as I can remember, the IMGBB API returns a URL to delete an image (haven't tried it yet). Probably a simple HTTP request will do, if so adding a new action output should do the trick.
I will test it over the Christmas break ;)

It turned out that the returned delete URL is not something that can be used with a REST API call. It's possible to remove the image with clicking the button on the returned URL or there is also an undocumented POST request that removes the image using information from the delete url.
I'm considering creation of a separate action to remove imgbb image based on the delete url.
You can check the changes in the PR #22 There is a test using the undocumented call. I will try to add an example of a workflow where the image is deleted using the returned URL.

Thank you! I'm happy to see this PR! Sorry, don't have time to run this code, I did only read it, and it looks good to me!
If you will make a separate action to delete images (that's awesome) then I would be happy to see the following functionality:

parameter to pass a list of urls to delete received from this action
parameter to specify a json file with the urls to delete
parameter zipFilename to specify a zip file with json file inside specified by parameter jsonFilename. This json file contains the urls to delete. This is the most important thing here, because the plan is to store the urls as artifacts (that is in fact a zip file) and delete them later. It's easy to use existing actions in marketplace to save and retrieve the artifacts as a zip, so it would be fantastic if your new action could process these artifacts as input parameter.

Also I think it would be great if in this PR you would add a new optional input parameter jsonFilename to specify a json file where this action will save the delete urls. Then I could pass this file directly to save as artifact!

The new output introduced with #22


EVE-O Preview.json location

The location of EVE-O Preview.json (which is generated when closing the app) prevents installing it under program files (as these folders are no longer writeable. Even if you manage to save something there at all it's virtualized).
The correct location would be in an app specific folder (eve-o-preview for example) under %appdata%, %localappdata% or in c:\progamdata (choice depends a bit on the type of installation, per user or per machine).

https://github.com/EveOPlus/eve-o-preview/compare/master...feyyd:eve-o-preview:develop-feature-json-location
Did this for a local build I'm using and testing if anyone wants to copy, I don't have VS 2019 installed and it upgraded Framework so I didn't want to do a pull request.
I think this is all that is needed but I'm not sure.


6/11/2020 Release

Codecov Report

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


Request - Darkness mode - also known as 8x health and damage from enemies.

Yeah title says it all. As of right now the game just lacks punch. It is one of the sadest things about the game.

adding "punch" to the game is not a design goal of the randomizer. you may want to look into the hard type romhack for sotn and possibly create a new project based on that. that would be much closer to what youre looking for than a randomizer.

my request is based on alltp randomizer ... Sigh okay.


Bug - Image issue with Committees

On the bill page, next to "Committee" there is a failed loading of some image. I don't believe we have any image displayed next to the Committee name, so either 1) something is being loaded incorrectly; or 2) the site is trying to load something it shouldn't try to load.
Private Zenhub Image

See the Committees comp in 'bill/SponsorsAndCommittees.tsx'
It uses a child comp to display the committee info called LabeledIcon and provides a random image from the internet to it, which looks like it's been taken down. If no image is needed something else should be used.

Hi @hanboyu can you please provide an update this week on this?


NavList::Group - show_more_item slot text color cannot be changed

There's a minor issue with the show_more_item slot in NavList::Group: the text color of the link cannot be set via system arguments as it appears to be hardcoded to :accent.

Design first responder: are there any design concerns with changing the text color of the "Show more" nav item?

@strackoverflow - could you share more details about your use-case? I'm not understand why we'd need to change the color.

Hi @mperrotti! Yes, our use case was that the design for GitHub's global navigation update called for a muted color scheme for the "show more items" link in the left hand side panel.
We ended up working around this, but in general I think we expected that things like text color would be customizable with system arguments. Totally a minor thing for us though.


Update link_shared event payload for the changes starting on September 1

This pull request updates link_shared event data class to support the new fields that are available since September 1. Refer to the changelog for more details: https://api.slack.com/changelog/2021-08-changes-to-unfurls
Category (place an x in each of the [ ])

[ ] bolt (Bolt for Java)
[ ] bolt-{sub modules} (Bolt for Java - optional modules)
[ ] slack-api-client (Slack API Clients)
[x] slack-api-model (Slack API Data Models)
[ ] slack-api-*-kotlin-extension (Kotlin Extensions for Slack API Clients)
[ ] slack-app-backend (The primitive layer of Bolt for Java)

Requirements
Please read the Contributing guidelines and Code of Conduct before creating this issue or pull request. By submitting, you are agreeing to the those rules.

Hey @seratch ! Would it be okay to release this change ahead of the Sept 1 change? I'm working with a partner that would like to use the fields for some beta testing.

@manucaicedo We can release it as an RC version! I will ship v1.11.0-RC1 by the end of this week.

👋 @manucaicedo I just released v1.11.0-RC1 onto the Sonatype OSS repositories. The jar files will be synchronized to the Maven Central within a few hours. https://search.maven.org/artifact/com.slack.api/bolt


Docs 4713 april20

And a note saying the outbound call might not work right out of the box for all the providers, they need to subscribe/intercept the call and tune the request according to their IdP convention of achieving the same

The note is a very good point. I would make it stronger though: The call is expected not to work if used directly against an IDP. It's intended for interception by pointing to an application under the user's control, so that they can implement the correct deletion/update APIs for their particular provider


fix #1235

Haven't tested it yet lol.

Thanks!  Give it a test and let me know how it works.  😉

Thanks! Give it a test and let me know how it works. 😉

I tested in CN server and it worked well.

Thanks for giving it a test!

Actually wait, regarding your previous comment, is it the case that you can't provoke A or B ranks too? Or is it just S?

I tested again for two B rank mobs, and both have the "(fully resisted)" on provoke, like

However, if you're close enough you'll start auto-attacking the hunt mobs after provoking, which will make you the puller.
Anyway, we can filter the provoke out and match the attack logs.


Add text editor Tincta

Project URL
https://codingfriends.github.io/Tincta/
Category
Text
Description
Add entry with all information about Tincta, an one-window open source text editor with syntax highlighting
Why it should be included to Awesome macOS open source applications  (optional)
Tincta exists since 10 years and is still maintained. It's a small and fast text editor that has everything you need for simple changes in code.
Checklist

[x] Edit applications.json instead of README.md.
[x] Only one project/change is in this pull request
[x] Screenshots(s) added if any
[x] Has a commit from less than 2 years ago
[x] Has a clear README in English

@jpeinelt Thank you! 🚀


KAFKA-16715: Create KafkaShareConsumer interfaces

This PR introduces ShareConsumer and KafkaShareConsumer. It is focused entirely on the minimal additions required to introduce the external programming interfaces.
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

The build will not succeed until https://github.com/apache/kafka/pull/16022 is merged.

Closing and re-opening PR to force rebuild. This should fix the build failures because of a recent merge.

there are checkstyle errors:
[2024-06-03T13:13:54.181Z] * What went wrong:

[2024-06-03T13:13:54.181Z] Execution failed for task ':clients:checkstyleMain'.

[2024-06-03T13:13:54.181Z] > A failure occurred while executing org.gradle.api.plugins.quality.internal.CheckstyleAction

[2024-06-03T13:13:54.181Z]    > Checkstyle rule violations were found. See the report at: file:///home/jenkins/workspace/Kafka_kafka-pr_PR-16134/clients/build/reports/checkstyle/main.html

[2024-06-03T13:13:54.181Z]      Checkstyle files with violations: 1

[2024-06-03T13:13:54.181Z]      Checkstyle violations by severity: [error:1]


Ability to hide certain fields from the super graph composed by apollo federation

Hi all,
In apollo federation 2.0 a new schema directive called @inaccessible was introduced. Unfortunately I am not able to find the exact documentation for the directive, but you can see it referred to in https://www.apollographql.com/docs/federation/federation-spec/, and a directive called Inaccessible is already present in strawberry.
But to use federation 2.0 directives like inaccessible, you need to set a directive called link in each subgraph schema. It is discussed here: https://www.apollographql.com/docs/federation/federation-2/moving-to-federation-2/ . I couldn't find this directive anywhere in strawberry, so I tried implementing it myself, but there are a few issues.

The link directive needs a field called import, but since import is a python reserved word, it can't be used in python dataclasses. So I am not sure how to proceed here.

Just to proceed with testing, I created a directive like this

from dataclasses import field
from typing import List
from strawberry.schema_directive import Location, schema_directive
from strawberry.federation.schema_directives import LinkImport

@schema_directive(locations=[Location.SCHEMA])
class Link:
    url: str
    _import: List[LinkImport] = field(repr="import")

and used it like this:
schema = strawberry.federation.Schema(
    Query,
    Mutation,
    extensions=[
        RelayIdExtension,
        QueryDepthLimiter(max_depth=settings.max_query_depth),
        AddDynamicValidationRules(get_validation_rules),
        OpenTelemetryExtension,
    ],
    directives=[Link(url="https://specs.apollo.dev/federation/v2.0", _import=["@key"])]
)

But I get this error when I try that:
    schema = strawberry.federation.Schema(
  File "/Users/vamshiaruru/Library/Caches/pypoetry/virtualenvs/ameyam-saleor-app-C_ZSmnnp-py3.9/lib/python3.9/site-packages/strawberry/federation/schema.py", line 27, in __init__
    super().__init__(*args, **kwargs)
  File "/Users/vamshiaruru/Library/Caches/pypoetry/virtualenvs/ameyam-saleor-app-C_ZSmnnp-py3.9/lib/python3.9/site-packages/strawberry/schema/schema.py", line 86, in __init__
    graphql_directives = tuple(
  File "/Users/vamshiaruru/Library/Caches/pypoetry/virtualenvs/ameyam-saleor-app-C_ZSmnnp-py3.9/lib/python3.9/site-packages/strawberry/schema/schema.py", line 87, in <genexpr>
    self.schema_converter.from_directive(directive) for directive in directives
  File "/Users/vamshiaruru/Library/Caches/pypoetry/virtualenvs/ameyam-saleor-app-C_ZSmnnp-py3.9/lib/python3.9/site-packages/strawberry/schema/schema_converter.py", line 142, in from_directive
    for argument in directive.arguments:
AttributeError: 'Link' object has no attribute 'arguments'

I dug a little bit into it, and it looks like the schema directives are expected to use @strawberry.directive.directive instead of @schema_directive? I am not sure what to do here either.
Feature Request Type

[ ] Core functionality
[ ] Alteration (enhancement/optimization) of existing feature(s)
[x] New behavior

Description
So in short, a way to use @link directive and opt into apollo federation 2 would be great.
Thanks!

@vamshiaruru-virgodesigns can you try with the following:
@strawberry.type
class Review:
    id: strawberry.ID
    something: str | None = strawberry.federation.field(description="A field that is not used in the schema", inaccessible=True)

from my quick test this seems to work already, I'll double check the opt-in to federation 2 directive later, but hopefully using strawberry.federation.field should resolve your issue

Thanks @patrick91 , how would I be able to hide regular mutations/queries using this? Can I use inaccessible keyword in non federation fields as well?

Thanks @patrick91 , how would I be able to hide regular mutations/queries using this? Can I use inaccessible keyword in non federation fields as well?

strawberry.federation.field is a wrapper on top of strawberry.field with some additional keywords to make it easier to use federation features, same goes for strawberry.federation.type :)
so you can swap strawberry.field with strawberry.federation.field
I think we are missing strawberry.federation.mutation, but I'll fix that in the PR above, there are some other things we are missing 😊

Thanks!

Hi @patrick91 , can you tell me how to extend mutation to add the same feature? I can add it locally until a new version of strawberry with that feature comes out :)

@vamshiaruru-virgodesigns can you try with this version? strawberry-graphql==0.124.0.dev.1659561253
I think I'll do a release today or at worst tomorrow (I just need to finish the docs and fix a typing issue)

Thanks for the quick response @patrick91 , I'm getting the following error when using this new version (which was not happening in the previous version)
  File "/Users/vamshiaruru/Library/Caches/pypoetry/virtualenvs/ameyam-saleor-app-C_ZSmnnp-py3.9/lib/python3.9/site-packages/strawberry/field.py", line 413, in field
    return field_(resolver)
  File "/Users/vamshiaruru/Library/Caches/pypoetry/virtualenvs/ameyam-saleor-app-C_ZSmnnp-py3.9/lib/python3.9/site-packages/strawberry/field.py", line 129, in __call__
    for argument in resolver.arguments:
  File<EMAIL_ADDRESS>line 993, in __get__
    val = self.func(instance)
  File "/Users/vamshiaruru/Library/Caches/pypoetry/virtualenvs/ameyam-saleor-app-C_ZSmnnp-py3.9/lib/python3.9/site-packages/strawberry/types/fields/resolver.py", line 204, in arguments
    for param in user_parameters:
  File "/Users/vamshiaruru/Library/Caches/pypoetry/virtualenvs/ameyam-saleor-app-C_ZSmnnp-py3.9/lib/python3.9/site-packages/strawberry/types/fields/resolver.py", line 203, in <genexpr>
    user_parameters = (p for p in parameters if p not in reserved_parameters)
  File<EMAIL_ADDRESS>line 2608, in __hash__
    return hash((self.name, self.kind, self.annotation, self.default))
TypeError: unhashable type: 'dict'

I have debugged a little, and it happens when I use an empty dictionary as default parameter for any of function params. (I know we are not supposed to use mutable values as default params, but these params were read only).

That leads to a new error:
GraphQL request:1:49
1 | query looks__app__0($channel:String!$first:Int){looks(channel:$channel first:$fi
  |                                                 ^
  | rst){edges{node{id name channelListings{channel{id}}products(first:11){edges{nod
Traceback (most recent call last):
  File "/Users/vamshiaruru/Library/Caches/pypoetry/virtualenvs/ameyam-saleor-app-C_ZSmnnp-py3.9/lib/python3.9/site-packages/graphql/execution/execute.py", line 528, in await_result
    return_type, field_nodes, info, path, await result
  File "/Users/vamshiaruru/Library/Caches/pypoetry/virtualenvs/ameyam-saleor-app-C_ZSmnnp-py3.9/lib/python3.9/site-packages/strawberry/extensions/tracing/opentelemetry.py", line 128, in resolve
    result = await result
  File "/Users/vamshiaruru/Library/Caches/pypoetry/virtualenvs/ameyam-saleor-app-C_ZSmnnp-py3.9/lib/python3.9/site-packages/strawberry/schema/schema_converter.py", line 500, in _async_resolver
    return await await_maybe(_get_result(_source, strawberry_info, **kwargs))
  File "/Users/vamshiaruru/Library/Caches/pypoetry/virtualenvs/ameyam-saleor-app-C_ZSmnnp-py3.9/lib/python3.9/site-packages/strawberry/schema/schema_converter.py", line 482, in _get_result
    field_args, field_kwargs = _get_arguments(
  File "/Users/vamshiaruru/Library/Caches/pypoetry/virtualenvs/ameyam-saleor-app-C_ZSmnnp-py3.9/lib/python3.9/site-packages/strawberry/schema/schema_converter.py", line 419, in _get_arguments
    kwargs = convert_arguments(
  File "/Users/vamshiaruru/Library/Caches/pypoetry/virtualenvs/ameyam-saleor-app-C_ZSmnnp-py3.9/lib/python3.9/site-packages/strawberry/arguments.py", line 195, in convert_arguments
    kwargs[argument.python_name] = convert_argument(
  File "/Users/vamshiaruru/Library/Caches/pypoetry/virtualenvs/ameyam-saleor-app-C_ZSmnnp-py3.9/lib/python3.9/site-packages/strawberry/arguments.py", line 160, in convert_argument
    if graphql_name in value:
TypeError: argument of type 'StrawberryField' is not iterable
Stack (most recent call last):
  File "/Users/vamshiaruru/Library/Caches/pypoetry/virtualenvs/ameyam-saleor-app-C_ZSmnnp-py3.9/lib/python3.9/site-packages/strawberry/fastapi/router.py", line 290, in execute
    return await self.schema.execute(
  File "/Users/vamshiaruru/Library/Caches/pypoetry/virtualenvs/ameyam-saleor-app-C_ZSmnnp-py3.9/lib/python3.9/site-packages/strawberry/schema/schema.py", line 210, in execute
    self.process_errors(result.errors, execution_context=execution_context)

This is how I am using it
    @strawberry.field
    @inject_session
    async def looks(
        self,
        info: Info,
        channel: str,
        session: AsyncSession,
        before: Optional[str] = None,
        after: Optional[str] = None,
        first: Optional[int] = None,
        last: Optional[int] = None,
        sortBy: LooksSorter = strawberry.field(default_factory=dict),
        filter: LooksFilter = strawberry.field(default_factory=dict),
    ) -> Connection[Look]:

Is there a better way of doing it? I want the Sorter/Filter field to be empty by default (in which case no filters will be applied). When I was passing {} as the default value, I imagine strawberry was internally doing something like LooksSorter(**{}) and that used to work.

@vamshiaruru-virgodesigns strawberry.field doesn't work on arguments, though using {} seems to work for me here: https://play.strawberry.rocks/?gist=5d30a0078aa6cd1a45c667bda214715e
are you able to share a minimal reproduction? also feel free to message me on discord too

Thanks Patrick, I'll ping you on discord. But just to help anyone who might stumble onto this, the unhashable type was my issue, not strawberry. I was modifying function params in a decorators, and that was messing things up :)


Moving this to general, can you create an issue @piotmag769 for this in cheatnet and mark it blocked & dependent on #543

          Moving this to `general`, can you create an issue @piotmag769 for this in cheatnet and mark it blocked & dependent on #543

Originally posted by @Arcticae in https://github.com/foundry-rs/starknet-foundry/issues/496#issuecomment-1697270759

Blocked by #543


Linux Shared Library File Missing

The linux shared library file, nl5_dll.so, is missing from the appropriate folder.s.

Closed by PR #6 #7