raspberry pi - unable to start service

./bin/setup

bundle install
+ bundle install
Using rake 13.0.1
Using pcaprub 0.13.1
Using packetfu 1.1.13
Using arp_standin 0.1.0 from source at `.` and installing its executables
Using bundler 2.4.8
Bundle complete! 2 Gemfile dependencies, 5 gems now installed.
Use `bundle info [gemname]` to see where a bundled gem is installed.

bundle exec rake install

arp_standin 0.1.0 built to pkg/arp_standin-0.1.0.gem.
arp_standin (0.1.0) installed.

# Create systemd service
sudo cp arp-standin.example.service /etc/systemd/system/arp-standin.service
sudo nano /etc/systemd/system/arp-standin.service
# Be sure to set the three configuration environment variables:
# STANDIN_MAC_ADDR: The MAC address of the machine to answer on behalf of.
# STANDIN_IP_ADDR: The IP address of the machine to answer on behalf of.
# NETWORK_INTERFACE: The network interface to send/receive on.

# ✅ done

sudo systemctl daemon-reload
sudo systemctl enable arp-standin.service
sudo systemctl start arp-standin.service
systemctl status arp-standin.service # 👈 error see below

arp-standin.service - ARP Stand-in
     Loaded: loaded (/etc/systemd/system/arp-standin.service; enabled; vendor preset: enabled)
     Active: failed (Result: exit-code) since Sun 2023-04-23 17:21:36 PDT; 4s ago
    Process: 8173 ExecStart=/usr/local/bin/arp_standin (code=exited, status=203/EXEC)
   Main PID: 8173 (code=exited, status=203/EXEC)
        CPU: 33ms

Apr 23 17:21:36 torrentpi systemd[1]: Started ARP Stand-in.
Apr 23 17:21:36 torrentpi systemd[8173]: arp-standin.service: Failed to locate executable /usr/local/bin/arp_standin: No such file or di>
Apr 23 17:21:36 torrentpi systemd[8173]: arp-standin.service: Failed at step EXEC spawning /usr/local/bin/arp_standin: No such file or d>
Apr 23 17:21:36 torrentpi systemd[1]: arp-standin.service: Main process exited, code=exited, status=203/EXEC
lines 1-11...skipping...
● arp-standin.service - ARP Stand-in
● arp-standin.service - ARP Stand-in
     Loaded: loaded (/etc/systemd/system/arp-standin.service; enabled; vendor preset: enabled)
     Active: failed (Result: exit-code) since Sun 2023-04-23 17:21:36 PDT; 4s ago
    Process: 8173 ExecStart=/usr/local/bin/arp_standin (code=exited, status=203/EXEC)
   Main PID: 8173 (code=exited, status=203/EXEC)
        CPU: 33ms

Apr 23 17:21:36 torrentpi systemd[1]: Started ARP Stand-in.
Apr 23 17:21:36 torrentpi systemd[8173]: arp-standin.service: Failed to locate executable /usr/local/bin/arp_standin: No such file or di>
Apr 23 17:21:36 torrentpi systemd[8173]: arp-standin.service: Failed at step EXEC spawning /usr/local/bin/arp_standin: No such file or d>
Apr 23 17:21:36 torrentpi systemd[1]: arp-standin.service: Main process exited, code=exited, status=203/EXEC
Apr 23 17:21:36 torrentpi systemd[1]: arp-standin.service: Failed with result 'exit-code'.

ruby -v

ruby 3.2.2 (2023-03-30 revision e51014f9c0) [armv7l-linux-eabihf]

Hello,
Looks like you are getting an error where the executable is not found. Can you confirm that arp_standin does exist in /usr/local/bin/?

@AgentSonji

looks like I can just make a symlink 🤷♂

restarted the pi today, re-started the services and now it's failing. I'm still pointing to the symlink
➜  ~ sudo systemctl daemon-reload
sudo systemctl enable arp-standin.service
sudo systemctl start arp-standin.service
➜  ~ systemctl status arp-standin.service

● arp-standin.service - ARP Stand-in
     Loaded: loaded (/etc/systemd/system/arp-standin.service; enabled; vendor preset: enabled)
     Active: failed (Result: exit-code) since Mon 2023-04-24 20:41:27 PDT; 7s ago
    Process: 4214 ExecStart=/usr/local/bin/arp_standin (code=exited, status=1/FAILURE)
   Main PID: 4214 (code=exited, status=1/FAILURE)
        CPU: 370ms

Apr 24 20:41:27 torrentpi systemd[1]: Started ARP Stand-in.
Apr 24 20:41:27 torrentpi arp_standin[4214]: /usr/lib/ruby/vendor_ruby/rubygems/core_ext/kernel_require.rb:85:in `require': cannot load such file -- pcaprub >
Apr 24 20:41:27 torrentpi arp_standin[4214]:         from /usr/lib/ruby/vendor_ruby/rubygems/core_ext/kernel_require.rb:85:in `require'
Apr 24 20:41:27 torrentpi arp_standin[4214]:         from /home/pi/Dev/arp_standin/lib/arp_standin.rb:4:in `<top (required)>'
Apr 24 20:41:27 torrentpi arp_standin[4214]:         from /usr/local/bin/arp_standin:3:in `require_relative'
Apr 24 20:41:27 torrentpi arp_standin[4214]:         from /usr/local/bin/arp_standin:3:in `<main>'
Apr 24 20:41:27 torrentpi systemd[1]: arp-standin.service: Main process exited, code=exited, status=1/FAILURE
Apr 24 20:41:27 torrentpi systemd[1]: arp-standin.service: Failed with result 'exit-code'.

Force a restart of the service then run:
journalctl _PID=(whatever PID the service had)
(Journalctl allows you to interact and view multiple system log files at once and merges them). See if that yields any new information

Hey @marclundgren 👋
It looks like the issue here is that the script can't find the pcaprub gem:
Apr 24 20:41:27 torrentpi arp_standin[4214]: /usr/lib/ruby/vendor_ruby/rubygems/core_ext/kernel_require.rb:85:in `require': cannot load such file -- pcaprub >

You could try running sudo gem install pcaprub to install it globally, though there is probably a better way to do it without using sudo.
It would be great to have a Docker image to help avoid installation quirks like this. If anybody is interested to submit a PR for one, that would be a big help.


[feature]: Support cancellation

Thanks for the lib ❤
Support cancellation. Maybe with AbortSignal. It's available in the browser and from Node.js 15+: https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal#browser_compatibility
import { isAbortError } from 'abort-controller-x';
import { HOST_EXTENSION, RequestType } from 'vscode-messenger-common';
import { Messenger } from 'vscode-messenger-webview';

(async () => {
    try {
        const messenger: Messenger = undefined;
        type Params = Record<string, string>;
        const requestType: RequestType<Params, readonly unknown[]> = { method: 'long-running' };
        const myParams: Params = { foo: 'bar' };
        const abortController = new AbortController();
        const { signal } = abortController;
        const result = await messenger.sendRequest(requestType, HOST_EXTENSION, myParams, { signal });
        return result;
    } catch (err) {
        if (isAbortError(err)) {
            return [];
        }
        throw err;
    }
})();

@dankeboy36
Thanks for nice feature request!
To make it clear: you just want to cancel/reject the pending request and not the handler that is running on extension side?

@dankeboy36
Just sending {signal} with a request will not work, we need a separate communication channel with a built-in NotificationType to cancel the running handler on the "other" side.
I will draft an API for that next days, stay tuned.

@dankeboy36
Request  handler now has an additional parameter cancelIndicator: CancelIndicator
export type RequestHandler<P, R> =
    (params: P, sender: MessageParticipant, cancelIndicator: CancelIndicator) => HandlerResult<R>;

CancelIndicator can be asked for the cancelation state or one can set the callback function onCancel
export interface CancelIndicator {
    isCanceled(): boolean;
    onCancel: ((reason: string) => void) | undefined;
}

On the sender side sendRequest method now allows to pass a Cancelable instance which allows to call cancel(reason: string) . Calling cancel will then activate the CancelIndicator. The internal pending request will be rejected.
Simple timeout example:
const cancelable = new vscode_messenger_common.Cancelable();
setTimeout(() => cancelable.cancel('Timeout: 1 sec'), 1000);
const colors = await messenger.sendRequest(
    { method: 'availableColor' },
    { type: 'extension' },
    '',
    cancelable
);

The code is currently on a branch dhuebner/canelPendingRequest-16, do you have a possibility to try it out locally?

Absolutely, I have been monitoring your changes. Very nice, thank you!
Is there a reason this lib invents its own Cancelable type instead of AbortSignal?


Flutter Run --verbose opens empty chrome window

Flutter Run --verbose opens empty chrome window.
Steps to Reproduce

Close all chrome windows
Flutter Run --verbose

Logs

Logs
PS C:\Users\kgcar\Desktop\test\test_proj> flutter run --verbose
[  +79 ms] executing: [C:\src\flutter/] git -c log.showSignature=false log -n 1 --pretty=format:%H
[  +65 ms] Exit code 0 from: git -c log.showSignature=false log -n 1 --pretty=format:%H
[        ] 8962f6dc68ec8e2206ac2fa874da4a453856c7d3
[   +1 ms] executing: [C:\src\flutter/] git tag --points-at 8962f6dc68ec8e2206ac2fa874da4a453856c7d3
[  +53 ms] Exit code 0 from: git tag --points-at 8962f6dc68ec8e2206ac2fa874da4a453856c7d3
[   +1 ms] 2.0.2
[  +39 ms] executing: [C:\src\flutter/] git rev-parse --abbrev-ref --symbolic @{u}
[  +39 ms] Exit code 0 from: git rev-parse --abbrev-ref --symbolic @{u}
[        ] origin/beta
[        ] executing: [C:\src\flutter/] git ls-remote --get-url origin
[  +33 ms] Exit code 0 from: git ls-remote --get-url origin
[        ] https://github.com/flutter/flutter.git
[  +62 ms] executing: [C:\src\flutter/] git rev-parse --abbrev-ref HEAD
[  +33 ms] Exit code 0 from: git rev-parse --abbrev-ref HEAD
[        ] beta
[  +80 ms] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update.
[   +1 ms] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[   +1 ms] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[   +1 ms] Artifact Instance of 'FlutterWebSdk' is not required, skipping update.
[   +3 ms] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[   +1 ms] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[  +59 ms] executing: C:\Users\kgcar\AppData\Local\Android\sdk\platform-tools\adb.exe devices -l
[  +41 ms] List of devices attached
[   +4 ms] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[   +2 ms] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[  +83 ms] Multiple devices found:
[  +20 ms] Chrome (web) • chrome • web-javascript • Google Chrome 89.0.4389.90
[   +2 ms] Edge (web)   • edge   • web-javascript • Microsoft Edge 89.0.774.54
[   +1 ms] [1]: Chrome (chrome)
[        ] [2]: Edge (edge)
[   +2 ms] Please choose one (To quit, press "q/Q")
[        ] :
[+1160 ms] 1
[  +13 ms] Skipping pub get: version match.
[ +108 ms] Generating C:\Users\kgcar\Desktop\test\test_proj\android\app\src\main\java\io\flutter\plugins\GeneratedPluginRegistrant.java
[  +81 ms] Launching lib\main.dart on Chrome in debug mode...
[ +103 ms] Updating assets
[  +70 ms] Waiting for connection from debug service on Chrome...
[  +80 ms] <- reset
[   +6 ms] C:\src\flutter\bin\cache\dart-sdk\bin\dart.exe --disable-dart-dev
C:\src\flutter\bin\cache\artifacts\engine\windows-x64\frontend_server.dart.snapshot --sdk-root C:\src\flutter\bin\cache\flutter_web_sdk/ --incremental
--target=dartdevc --debugger-module-names --experimental-emit-debug-metadata -DFLUTTER_WEB_AUTO_DETECT=true --output-dill
C:\Users\kgcar\AppData\Local\Temp\flutter_tools.50dd4595\flutter_tool.e21419eb\app.dill --libraries-spec
file:///C:/src/flutter/bin/cache/flutter_web_sdk/libraries.json --packages C:\Users\kgcar\Desktop\test\test_proj\.dart_tool\package_config.json
-Ddart.vm.profile=false -Ddart.vm.product=false --enable-asserts --track-widget-creation --filesystem-root
C:\Users\kgcar\AppData\Local\Temp\flutter_tools.50dd4595\flutter_tools.fe66a666 --filesystem-scheme org-dartlang-app --initialize-from-dill
build\c7922d95bf4a2462b75c84a97c312edb.cache.dill.track.dill --platform file:///C:/src/flutter/bin/cache/flutter_web_sdk/kernel/flutter_ddc_sdk.dill
--no-sound-null-safety
[  +13 ms] <- compile org-dartlang-app:/web_entrypoint.dart
[+14010 ms] Waiting for connection from debug service on Chrome... (completed in 14.1s)
[   +2 ms] Synced 29.1MB.
[   +1 ms] <- accept
[        ] Caching compiled dill

[√] Flutter (Channel beta, 2.0.2, on Microsoft Windows [Version 10.0.19042.867], locale en-GB)
    • Flutter version 2.0.2 at C:\src\flutter
    • Framework revision 8962f6dc68 (9 days ago), 2021-03-11 13:22:20 -0800
    • Engine revision 5d8bf811b3
    • Dart version 2.12.1

[√] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
    • Android SDK at C:\Users\kgcar\AppData\Local\Android\sdk
    • Platform android-30, build-tools 30.0.2
    • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)
    • All Android licenses accepted.

[√] Chrome - develop for the web
    • Chrome at C:\Program Files\Google\Chrome\Application\chrome.exe

[√] Android Studio (version 4.1.0)
    • Android Studio at C:\Program Files\Android\Android Studio
    • Flutter plugin can be installed from:
       https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
       https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)

[√] VS Code (version 1.54.3)
    • VS Code at C:\Users\kgcar\AppData\Local\Programs\Microsoft VS Code
    • Flutter extension version 3.20.0

[√] Connected device (2 available)
    • Chrome (web) • chrome • web-javascript • Google Chrome 89.0.4389.90
    • Edge (web)   • edge   • web-javascript • Microsoft Edge 89.0.774.54

• No issues found!

running Flutter Run --verbose with an open Chrome window will open another empty window, before launching another window containing the app.

@ConcenTech
Tried your steps to replicate on latest master, but didn't observe the issue you mentioned. It directly opened the chrome window with app UI.

Can you provide more details around it ?

I'm using PowerShell on Windows 10 19042.867, also tried with cmd.
With flutter run a chrome window launches and shortly after the app ui loads.
With flutter run --verbose a chrome window launches but nothing loads, it's not pointing to a url.

I've tried leaving it for 5 minutes but nothing happens, the log output stops at [            ] Caching compiled dill
Tried using edge also, this does the same thing.
Is there any other info I can collect that would help?

@ConcenTech
Thanks for the details. Tried the same on Windows 10 machine using powershell and command prompt, but didn't see the issue you mentioned. The chrome window opens properly with data, instead of blank.

With flutter run:

With flutter run --verbose:

From powershell:

Without additional information, we are unfortunately not sure how to resolve this issue.
We are therefore reluctantly going to close this bug for now.
Please don't hesitate to comment on the bug if you have any more information for us; we will reopen it right away!
Thanks for your contribution.
Could everyone who still has this problem please file a new issue with the exact description of what happens, logs, and the output of flutter doctor -v.
All system setups can be slightly different, so it's always better to open new issues and reference related issues.


Excludes json-smart transitive dependency from json-path

Excludes the transitive dependency on net.minidev:json-smart from json-path as DGS configures in Jackson as the default JSON provider (graphql-dgs-client and graphql-dgs) and json-smart is not needed.
Before these changes:
IT-USA-B00159:graphql-dgs cbono$ ../gradlew dependencyInsight --configuration compileClasspath --dependency json-smart

> Task :graphql-dgs:dependencyInsight
net.minidev:json-smart:2.3 (by constraint)
   variant "compile" [
      org.gradle.status                  = release (not requested)
      org.gradle.usage                   = java-api
      org.gradle.libraryelements         = jar (compatible with: classes)
      org.gradle.category                = library

      Requested attributes not found in the selected variant:
         org.gradle.dependency.bundling     = external
         org.jetbrains.kotlin.platform.type = jvm
         org.gradle.jvm.version             = 8
   ]

net.minidev:json-smart:2.3
+--- com.jayway.jsonpath:json-path:2.5.0
|    +--- compileClasspath (requested com.jayway.jsonpath:json-path:2.+)
|    \--- org.springframework.boot:spring-boot-dependencies:2.3.8.RELEASE (requested com.jayway.jsonpath:json-path:2.4.0)
|         \--- compileClasspath
\--- org.springframework.boot:spring-boot-dependencies:2.3.8.RELEASE (*)

After these changes:
IT-USA-B00159:graphql-dgs cbono$ ../gradlew dependencyInsight --configuration compileClasspath --dependency json-smart
```java
> Task :graphql-dgs:dependencyInsight
No dependencies matching given input were found in configuration ':graphql-dgs:compileClasspath'

Same result in graphql-dgs-client module.
Fixes gh-58

Testing this today.

@bono007 Have you tried this with running an application? I'm getting a ClassNotFoundException when running the example project (graphql-dgs-example-java).
I'm not quite sure why this doesn't happen while running the tests.
Caused by: java.lang.NoClassDefFoundError: net/minidev/json/writer/JsonReader
	at com.jayway.jsonpath.spi.mapper.JsonSmartMappingProvider.<clinit>(JsonSmartMappingProvider.java:32) ~[json-path-2.5.0.jar:2.5.0]
	at com.jayway.jsonpath.internal.DefaultsImpl.<init>(DefaultsImpl.java:17) ~[json-path-2.5.0.jar:2.5.0]
	at com.jayway.jsonpath.internal.DefaultsImpl.<clinit>(DefaultsImpl.java:15) ~[json-path-2.5.0.jar:2.5.0]
	at com.jayway.jsonpath.Configuration.getEffectiveDefaults(Configuration.java:43) ~[json-path-2.5.0.jar:2.5.0]
	at com.jayway.jsonpath.Configuration.defaultConfiguration(Configuration.java:168) ~[json-path-2.5.0.jar:2.5.0]
	at com.netflix.graphql.dgs.internal.DefaultDgsQueryExecutor.<init>(DefaultDgsQueryExecutor.kt:61) ~[main/:na]
	at com.netflix.graphql.dgs.autoconfig.DgsAutoConfiguration.dgsQueryExecutor(DgsAutoConfiguration.kt:75) ~[main/:na]
	at com.netflix.graphql.dgs.autoconfig.DgsAutoConfiguration$$EnhancerBySpringCGLIB$$63ca2924.CGLIB$dgsQueryExecutor$0(<generated>) ~[main/:na]
	at com.netflix.graphql.dgs.autoconfig.DgsAutoConfiguration$$EnhancerBySpringCGLIB$$63ca2924$$FastClassBySpringCGLIB$$fcaa0a75.invoke(<generated>) ~[main/:na]
	at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:244) ~[spring-core-5.2.12.RELEASE.jar:5.2.12.RELEASE]
	at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:331) ~[spring-context-5.2.12.RELEASE.jar:5.2.12.RELEASE]
	at com.netflix.graphql.dgs.autoconfig.DgsAutoConfiguration$$EnhancerBySpringCGLIB$$63ca2924.dgsQueryExecutor(<generated>) ~[main/:na]
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na]
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:na]
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na]
	at java.base/java.lang.reflect.Method.invoke(Method.java:566) ~[na:na]
	at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154) ~[spring-beans-5.2.12.RELEASE.jar:5.2.12.RELEASE]
	... 21 common frames omitted
Caused by: java.lang.ClassNotFoundException: net.minidev.json.writer.JsonReader
	at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581) ~[na:na]
	at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178) ~[na:na]
	at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522) ~[na:na]
	... 38 common frames omitted

@bono007 I might have a fix for the problem above though. It looks like it was caused by creating defaultConfiguration. With this change the application does start correctly.

Yeh @paulbakker - everywhere that JsonPath is used it has to be switched to using Jackson as the "defaultProvider". Thx for the update. You all had the bases covered in graphql-dgs and graphaql-dgs-client and I did not notice the usage in the examples.
[RANT]:  JsonSmart is a terrible default for JsonPath to use - I want to submit a PR to that project to change that.

@paulbakker
So my initial PR was going to attack it from the Spring Boot starter level - but that would not have covered the client.
@Configuration
@ImportAutoConfiguration(classes = [JacksonAutoConfiguration::class, JsonPathConfiguration::class])
open class DgsAutoConfiguration {

and then add this:
/**
 * {@link EnableAutoConfiguration Auto-configuration} for JsonPath.
 */
@Configuration
open class JsonPathConfiguration {

	@Bean
	@ConditionalOnMissingBean
	open fun jsonPathJacksonProviderConfigDefaults(objectMapper: ObjectMapper) = object : com.jayway.jsonpath.Configuration.Defaults {

		private val jsonProvider: JsonProvider = JacksonJsonProvider(objectMapper)
		private val mappingProvider: MappingProvider = JacksonMappingProvider(objectMapper)

		override fun jsonProvider(): JsonProvider {
			return jsonProvider
		}

		override fun mappingProvider(): MappingProvider {
			return mappingProvider
		}

		override fun options(): Set<Option> {
			return EnumSet.noneOf(Option::class.java)
		}
	}

	@Configuration
	open class JsonPathDefaultsSetter {

		var jsonPathConfigDefaults : com.jayway.jsonpath.Configuration.Defaults

		constructor(jsonPathConfigDefaults : com.jayway.jsonpath.Configuration.Defaults) {
			this.jsonPathConfigDefaults = jsonPathConfigDefaults
		}

		@PostConstruct
		open fun init() {
			com.jayway.jsonpath.Configuration.setDefaults(jsonPathConfigDefaults)
		}
	}
}

This would have allowed consumers that want to use something besides Jackson just create a @Bean -> com.jayway.jsonpath.Configuration.Defaults and it would set it across the VM via the com.jayway.jsonpath.Configuration.setDefaults call.
Not suggesting we use this, just sharing that info around setDefaults which switches it "Globally".

Have you tried this with running an application?

I did not. I was hoping a test would flush that out. :)

I'm not quite sure why this doesn't happen while running the tests.

Yeh it would be amazing to add a lightweight integration test that forces this. I may do that later this evening.

when running the example project (graphql-dgs-example-java).

Nice! I did  not notice the example app. I will use that to verify from now on.

I did some additional testing and I think it's looking good. Going to merge.
Thanks for looking into this @bono007!


Removes absolete warning in android

I am closing the PR as a part of an effort to cleanup and revive the project. If this issue persists after v1.0.0, you are more than welcome to reintroduce the PR.
Thanks for your contribution.


boto3 1.20.24

Update boto3 to 1.20.24
Changelog: https://github.com/boto/boto3/blob/1.20.24/CHANGELOG.rst
License: https://github.com/boto/boto3/blob/1.20.24/LICENSE
Upstream setup file: https://github.com/boto/boto3/blob/1.20.24/setup.py
Actions:

Fix python in host and test/requires

conda.exceptions.ResolvePackageNotFound:
  - botocore[version='>=1.23.24,<1.24.0']

We need to update botocore to 1.23.24 https://github.com/AnacondaRecipes/botocore-feedstock/pull/33


[Request For External] table 7317 "Warehouse Receipt Line" - GetLocation

Can you change procedure GetLocation to global in table 7317 "Warehouse Receipt Line", and return the location record?

Do you really need this? You already have Location Code in the record and can easily get Location record any time?

Do you really need this? You already have Location Code in the record and can easily get Location record any time?

To make the code more optimized, and to avoid duplication of code, it would be great to have this available.
That way location is only retrieved once from the database if our code and Microsoft code try to get the same location.
I know this is a very tiny improvement, but as Business Central is not the fastest system, I would like to improve everything that is possible to improve.


General Updates 20

Make it colourful again!

I think we don't need contributors section as GitHub already displays.

I think we don't need contributors section as GitHub already displays.

Sure. FYI this PR has more changes than the README I just haven't pushed yet

Oh shoot I accidentally rebased and merged

@0x5bfa can you rename the repository description to A stylish yet powerful GitHub client for Windows?
The current description is grammatically incorrect.

It is not completed.

Lmao looks like some people are excited

@sourcery-ai review

https://github.com/sourcery-ai review

@sourcery-ai review

Let's remove the beta section.

Nooooo........

@0x5bfa could you request CodeFactor 'fix this' on the PR?
https://github.com/0x5bfa/FluentHub/runs/30819465253

Youch when I used to use emoji in commits 😬
Looks so ugly...

Alright. Let's get this merged.


Fix incorrect lookup for shape-transform-* config

Documentation states that you can provide transform config json files using the argument "--shape-transform-". The code actually looks for "--transform-". Change fixes this to match the documented behaviour.

Coverage remained the same at 79.703% when pulling c049b06a6d4b312a6a3c4bcc012085fe142f81b3 on witchert:bugfix/shape-transform into a06f19a0c6a4e6f0f706c2b4cb51e7493402d4c4 on jkphl:master.

Thansk for reporting @middric! I'm not entirely sure if this fix is correct — there used to be one top-level transform property (this is probably what the code still refers to), but in the meantime there are two of them (shape-transform and svg-transform). Did you try passing in JSON file for configuring e.g. SVGO? Did it work? Then it's probably the correct transform property you picked ... Thanks for feedback.

Yep I tried it for shape-transform and svgo. Worked correctly! The block assigns the values from the json file to "config.shape.transform"

Awesome, thanks for confirming. I merged the PR, will be part of the next release! Thanks again.


Relationship between Bin and the structure of Data can be ambiguous for binary packets

Describe the bug
Related to #275, if socketioxide is fixed to support complex binary data formats, the handler API as-is becomes ambiguous and difficult to work with.
The handler presents the JSON structure as Data, and the binary payloads as Bin, essentially an array of payloads. Right now the API works fine in the supported cases, where the payload is a single-level array with some elements as binary, or a simple object where the root object itself is a single binary payload.  That is, it's relatively unambiguous what parts of the data payload the binary bits correspond to.  However, consider a more complex payload like this (currently unsupported by socketioxide, but I would like to fix that):
{
  "foo": 42,
  "bar": {
      "baz": "quux",
      "biff": { "_placeholder": "num": 0 }
  },
  "zip": { "_placeholder": "num": 1 }
}

From this structure, it might be obvious that the first payload in Bin is "biff", and the second is "zip", but that's only clear to someone who knows the protocol: a user of, say, the JavaScript socketio client is just passing around JSON objects with binary blobs in them.  They don't know that the client is going to assign "biff" to the first payload and "zip" to the second.  In fact, I'm not sure there's any requirement it do so; it might decide to do a "breadth-first" search for binary bits, and assign "zip" as the first payload and "biff" as the second.
To Reproduce
(There's no reproduction, as socketio doesn't currently handle data structures like this at all.)
Expected behavior
socketioxide should support some sort of "combined" view of the data by default.  For example, I should be able to define some Rust structs for the above payload like so:
struct Bar {
    baz: String,
    biff: Vec<u8>,
}

struct Payload {
    foo: i32,
    bar: Bar,
    zip: Vec<u8>,
}

And then I should be able to create a socketioxide message handler that can convert a binary packet into a Payload struct.  I shouldn't need to deal with separate Data and Bin arguments, and try to figure out how the elements of Bin match up with the structure of `Data.
Versions (please complete the following information):

Socketioxide version: all?  at least 0.8.0
Http lib: n/a
Socket.io client version: n/a

Additional context
I don't believe it's possible to implement this myself today, using FromMessage or FromMessageParts, as Packet.incoming() intentionally discards the information needed to do this.

After digging this issue a bit, the best solution would be to implement something based on serde directly. The following are possible ideas that need to be explored:

Have a socketioxide serializer/deserializer which would handle the replacement of binary payloads with placeholders and vice versa and defer the rest of the serde process to serde_json.

Create a custom derive macro (like serde::{Serialize,Deserialize}) that would handle the replacement of binary payloads when serializing the data.

For the moment the first idea seems the best (if there are no blocking points) because with the second one, it would require to have a socketioxide-proc-macros lib created.

That makes sense to me.  I feel like the first idea does seem possible, and I agree it would be better.  My first thought of how to handle this might be:

Deserialize the incoming payload into serde_json::Value, and leave it as is.  The packet type will let us know if it's binary, and how many attachments there are (currently it looks like the attachments count is ignored).
As binary attachments are received, decode them, and then walk the payload, finding the _placeholder with the correct num.  Replace that _placeholder object with a Value::Array(), filled with the binary data as a Vec<Value> (where each element of the vec is a Value::Number.
When all attachments have been received, pass the final Value object to serde, to deserialize it into whatever the user-provided type in the handler is.

But there's one potentially-large downside of this: converting a Vec<u8> coming from the wire into a Vec<Value> seems pretty wasteful, and for larger binary sizes it may be pretty slow to convert between the two.  An alternative that I kinda like is for for socketioxide to have its own (private) wrapper enum:
enum PayloadValue {
    Null,
    Bool(bool),
    Number(serde_json::value::Number),
    String(String),
    Array(Vec<PayloadValue>),
    Object(serde_json::Map<String, PayloadValue>),
    PendingBinary(u32),  // u32 is the 'num' field
    Binary(Vec<u8>),  // once the binary payload is received, PendingBinary gets replaced with Binary
}

It's of course annoying to duplicate serde_json::Value like that, but maybe it's worth it to do so.  I think #[derive(Serialize, Deserialize)] will even almost work on that struct, if we provide a custom #[serde(with = "...")] for the PendingBinary and Object variants.
How does this sound to you?  I'm happy to start work on it if you think it's a good approach.
Also curious as to what you think about backward compatibility.  I'm not sure how tricky it will be to preserve the existing behavior for the cases that are supported (single-level array that can contain one or more binary blobs, single-level object that just holds a binary blob).

Some more regarding back-compat: I didn't realize that BinaryPacket::incoming() was public, as are its .data and .bin members.  With the new way of doing things, .bin is no longer needed (or possible, really, without making data copies), and .data is now the private PayloadValue type.
A few options:

Maybe PayloadValue should actually be public?  Then the types of ::incoming() and .data change.  I'm not feeling too great about this, though.
PayloadValue stays private, and:

BinaryPacket::incoming() keeps its type signature, and converts the passed Value to a PayloadValue (and internally, we can use a new, private, BinaryPacket::incoming_payload_value() to avoid an extra data type conversion).
BinaryPacket::data becomes private, but there's a new BinaryPacket::data() method that converts the internal PayloadValue into a serde_json::Value.
BinaryPacket::bin becomes private, but there's a new BinaryPacket::bin() method that returns a Vec<&Vec<u8>> by walking the PayloadValue and pulling out the PayloadValue::Binary bits.

Back-compat is maintained: .data and .bin are retained, and are populated as best as possible, copying the data if needed.  The PayloadValue version of .data is a new private member.

I think I like the second option the best: it retains the previous functionality if crate users need it, even if they will have to update their code.  The first option would require users to make bigger changes (and would expose what, to me, is an internal implementation detail).  The third option would allow users to upgrade without making any changes, but would mean more work and higher memory usage per binary packet, for usage of the library that would hopefully turn into the minority usage.
Also, as an aside, I guess this means we have to figure out the outgoing binary packet story too.

There is no problem to break backward compatibility. The library is in its beta state and it is explicitely stated in the readme that API will change over the time.
Appart from that, in fact incoming and outgoing should be private.
Your approach with this might be really good:
enum PayloadValue {
    Null,
    Bool(bool),
    Number(serde_json::value::Number),
    String(String),
    Array(Vec<PayloadValue>),
    Object(serde_json::Map<String, PayloadValue>),
    PendingBinary(u32),  // u32 is the 'num' field
    Binary(Vec<u8>),  // once the binary payload is received, PendingBinary gets replaced with Binary
}

If I understand want you want to do. After getting this PayloadValue, a custom Deserializer implementation will convert the PayloadValue to the user provided struct?

Sure ! Don't hesitate to add benchmarks and unit tests to check how it behaves compare to the current packet deserialization.

Now looking at ack.rs, I see instances of serde_json::Value there exposed publicly, like in AckInnerStream, which according to docs needs to be public for people who implement Adapter.
So I'm feeling more and more like making PayloadValue public is the simplest way forward.

My next thought was to just get rid of the idea of an intermediate representation, and have it pass a T: Deserialize into those trait methods. The problem there is that I'm not sure how to actually store those message handlers in Client.

It is impossible to store a per-handler generic T, or to erase it (because of the necessity to have it to Deserialize it).
However I don't understand why you can't simply replace the serde_json::Value that is passed to the type erased handler by your custom Value enum? And then call from_socketio::<T>(Value) in the data extractor (the same way than currently).

Now looking at ack.rs, I see instances of serde_json::Value there exposed publicly, like in AckInnerStream, which according to docs needs to be public for people who implement Adapter.

Indeed ack.rs is published but it is only because it is required to implement an adapter. And this use case is really rare.
For me directly passing your custom Value type to the handler would break the current design with extractors (because it would be more complex for the user to manage it's incoming data).
Btw, don't hesitate to publish a draft PR so that I can check the code and that we can discuss implementation on it rather than on the issue :).

However I don't understand why you can't simply replace the serde_json::Value that is passed to the type erased handler by your custom Value enum?

Yes, can do that, but then that would make my custom Value enum public, since FromMessageParts/FromMessage/MessageHandler are public.  If we think that's ok after all (as I'm starting to think), then there's no problem.

Btw, don't hesitate to publish a draft PR so that I can check the code and that we can discuss implementation on it rather than on the issue :).

Will do!  Gonna see if I can at least get things compiling, but either way I'll push something later today.

Yes, can do that, but then that would make my custom Value enum public, since FromMessageParts/FromMessage/MessageHandler are public. If we think that's ok after all (as I'm starting to think), then there's no problem.

Yes it is not a problem, because even if it is public it is not meant to be used by the user. We can even make it #[doc(hidden)].

Hm one thing -- the public methods on Packet currently accept a serde_json::Value.  When I was thinking the new PayloadValue would be private, I changed those to take a T: Serialize instead.
Now that we're making PayloadValue public (though "semi-hidden"), I'm realizing T: Serialize doesn't work so well in some situations, and things would be simpler if I could just accept a PayloadValue, in place of the current serde_json::Value they currently take.
But that would make PayloadValue more prominent in the API.  Is that ok?

When will this issue be resolved?


Add request id policy

Need to add the x-ms-client-request-id into headers.
Items

Add new policy
Add policy to clients
Add tests for policy

@RickWinter do you know of an example policy in other languages that takes care of this?

I think the addition to clients will have to be done by autorest, @jhendrixMSFT is there another way to do this? I'm willing to learn enough autorest to make that change if you're willing to sit down with me for a bit.


The results of validating a model which training with tridentnet_r101v2c4_c5_multiscale_addminival_3x_fp16.py are bad.

Describe the bug
Thanks for your excellent work！
I trained my own dataset using tridentnet. I converted my dataset to coco and ran create_coco_roidb.py , then changed gpus, num_class,log_frequency to 50,loader_worker to 4 in tridentnet_r101v2c4_c5_multiscale_addminival_3x_fp16.py. Do I need to change another parameters? I trained 10 epochs and used detection_test.py to validate. The results are bad.
Average Precision  (AP) @[ IoU=0.50:0.95 | area=   all | maxDets=100 ] = 0.000
Average Precision  (AP) @[ IoU=0.50      | area=   all | maxDets=100 ] = 0.001
Average Precision  (AP) @[ IoU=0.75      | area=   all | maxDets=100 ] = 0.000
Average Precision  (AP) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.000
Average Precision  (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.000
Average Precision  (AP) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.001
Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets=  1 ] = 0.028
Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets= 10 ] = 0.075
Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets=100 ] = 0.087
Average Recall     (AR) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.033
Average Recall     (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.072
Average Recall     (AR) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.092
    I recorded RpnL1,RcnnL1 and Lr during the training. Could you help me, thank you!

Software info
driver, CUDA, cuDNN versions
OS verison
My Software info is Ubantu 16.04,CUDA 10.0,cuDNN 7.4.2
How did you set up your MXNet for SimpleDet
Additional context
Add any other context about the problem here.

How many images do you have?

50 thousands for training and 5 thousands for test

Thanks, and how many labels are in your training dataset?

90 thousands labels for 18 classes.

Could you please kindly share a part of your annotation and the prediction
json files?
On Wed, Jun 17, 2020 at 10:15 AM zhayanli<EMAIL_ADDRESS>wrote:

90 thousands labels for 18 classes.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/TuSimple/simpledet/issues/327#issuecomment-645105527,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABGODH3BPON6DG4EACAEQ5LRXARK7ANCNFSM4NFV442Q
.


Option to not display unread items badge

It would be great if the badge could be hidden. People might want to hide the badge to be less distracted and less "forced" to open the app because of something new to read.

There’s a setting in preferences for this. 🙂

OMG... it's true (of course)... thanks!
I swear that I have looked for it more than once! Has it been added recently? Just curious :)

5.0.1, as I recall. So…a little while ago 😁

🤦♂

It looks like this feature isn't present on the iOS version. Is it planned for later?

If you have NetNewsWire 5.0.3 for Mac, you should see an option for this in the Preferences.

@brentsimmons I'm looking for this feature in the iOS version, not the macOS version. :-)

Ah! Got it. You should be able to turn this off in system settings. In notifications for NetNewsWire, you can turn off Badges.

@brentsimmons Gotcha. I was kind of hoping I wouldn't have to do that, in case the notification badges are used for other types of notifications (like how I can get notifications about new articles from certain feeds). But if that's not the case, then I might as well turn badges off at the system level.
Thank you!


Branch 3.0   operation shell script   ERROR

run  ./stop-dfs.sh
text:
Stopping namenodes on [<IP_ADDRESS> <IP_ADDRESS> <IP_ADDRESS>]
ERROR: Both HADOOP_WORKERS and HADOOP_WORKER_NAMES were defined. Aborting.
Stopping datanodes
<IP_ADDRESS>: WARNING: HADOOP_DATANODE_OPTS has been replaced by HDFS_DATANODE_OPTS. Using value of HADOOP_DATANODE_OPTS.
<IP_ADDRESS>: WARNING: HADOOP_DATANODE_OPTS has been replaced by HDFS_DATANODE_OPTS. Using value of HADOOP_DATANODE_OPTS.
<IP_ADDRESS>: WARNING: HADOOP_DATANODE_OPTS has been replaced by HDFS_DATANODE_OPTS. Using value of HADOOP_DATANODE_OPTS.
<IP_ADDRESS>: WARNING: HADOOP_DATANODE_OPTS has been replaced by HDFS_DATANODE_OPTS. Using value of HADOOP_DATANODE_OPTS.
<IP_ADDRESS>: WARNING: HADOOP_DATANODE_OPTS has been replaced by HDFS_DATANODE_OPTS. Using value of HADOOP_DATANODE_OPTS.
<IP_ADDRESS>: WARNING: HADOOP_DATANODE_OPTS has been replaced by HDFS_DATANODE_OPTS. Using value of HADOOP_DATANODE_OPTS.
<IP_ADDRESS>: WARNING: HADOOP_DATANODE_OPTS has been replaced by HDFS_DATANODE_OPTS. Using value of HADOOP_DATANODE_OPTS.
<IP_ADDRESS>: WARNING: HADOOP_DATANODE_OPTS has been replaced by HDFS_DATANODE_OPTS. Using value of HADOOP_DATANODE_OPTS.
<IP_ADDRESS>: WARNING: HADOOP_DATANODE_OPTS has been replaced by HDFS_DATANODE_OPTS. Using value of HADOOP_DATANODE_OPTS.
<IP_ADDRESS>: WARNING: HADOOP_DATANODE_OPTS has been replaced by HDFS_DATANODE_OPTS. Using value of HADOOP_DATANODE_OPTS.
Stopping journal nodes [<IP_ADDRESS> <IP_ADDRESS> <IP_ADDRESS>]
ERROR: Both HADOOP_WORKERS and HADOOP_WORKER_NAMES were defined. Aborting.
Stopping ZK Failover Controllers on NN hosts [<IP_ADDRESS> <IP_ADDRESS> <IP_ADDRESS>]
ERROR: Both HADOOP_WORKERS and HADOOP_WORKER_NAMES were defined. Aborting.

There is no need to merge commits into trunk from branch-3.0. Closing.


twython.exceptions.TwythonError: Twitter API returned a 404 (Not Found), Sorry, that page does not exist.

from twython import Twython
import json

APP_KEY = '5vhmaMcjy0PVWZppqKf1jeb2Y'
APP_SECRET = 'uXQwo0JKUsXEPgeynFY1wgAq7NMWDpcNzt10fdqK9tTUqEMxLo'
twitter = Twython(APP_KEY, APP_SECRET, '35310311-iNGjozo6xvPmSuhG842jTgnERX33UjtLFbH5ZeGKO', 'bsiCzHhT4bmqVV9XCYMePZzOGGubw0CeZ248zoj9Bxe4V')

results = twitter.cursor(twitter.get_user_timeline, screen_name="jeremy_olander", count=200)
for i in results:
	print(i)
	break

returns:
twython.exceptions.TwythonError: Twitter API returned a 404 (Not Found), Sorry, that page does not exist.
In Python 3.3

I am getting the same error. The equivalent method works in the twitter API sandbox.

@computersarecool I redacted your keys and secrets so others can't use them. Please don't post that type of personal info in public forums.
Is there anyway you can print the full stack trace and not just the exception? Thanks!

I get a very similar error in the show user API with a no-more existing account.
Altough I surrounded my call to the twython API:
try:
    result = twython_instance.show_user(
        timeout=120,  # Max Timeout 2 minutes
        **params
    )

except TwythonRateLimitError as tre:
    # Code to pause until the reaching of the next release time
except TwythonError as te:
    # Code to threat the generic twython exception without exiting

I get a TwythonError, that exits the program
The complete traceback is the following (I'm running python3.6 with twython==3.6.0)
Traceback (most recent call last):
  File "/usr/lib/python3.6/code.py", line 91, in runcode
    exec(code, self.locals)
  File "<input>", line 1, in <module>
  File "/usr/local/lib/python3.6/dist-packages/twython/endpoints.py", line 569, in show_user
    return self.get('users/show', params=params)
  File "/usr/local/lib/python3.6/dist-packages/twython/api.py", line 264, in get
    return self.request(endpoint, params=params, version=version)
  File "/usr/local/lib/python3.6/dist-packages/twython/api.py", line 258, in request
    api_call=url)
  File "/usr/local/lib/python3.6/dist-packages/twython/api.py", line 194, in _request
    retry_after=response.headers.get('X-Rate-Limit-Reset'))
twython.exceptions.TwythonError: Twitter API returned a 404 (Not Found), User not found.

The problem seems to occur in the instantiation of the exception itself.


Added China region links

*Issue #36
*Description of changes: Added China region links to doc
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/do-e2e-tests


Get a Free Account on SAP BTP Trial - Consider removing the "free" word from title to avoid confusion

Tutorials: https://developers.sap.com/tutorials/hcp-create-trial-account.html
I would suggest removing the "free" word from the title of this tutorial. The suggested title would be: "Get an account on SAP BTP Trial".
Why?
No one ever gets charged for their usage in the SAP BTP Trial environment and including the  "free" word confuses users looking to adopt the SAP BTP Free Tier.
Also, it will be beneficial to include a brief explanation of what the BTP trial environment is and clearly state that this is not a landscape intended for productive usage.

Totally agree, not sure where this tutorial came from originally, but it needs addressing for sure.

Done.


AL2 Kernel 5.10 x86_64 and arm64 Support

Summary
Add new x86_64 and arm64 packer recipes for AL2 kernel 5.10.
Implementation details

Create al2kernel5dot10.pkr.hcl and al2kernel5dot10arm.pkr.hcl
Modify al2.pkr.hcl build sources to include al2kernel5dot10 and al2kernel5dot10arm
Add new targets al2kernel5dot10 and al2kernel5dot10arm to Makefile and README.md
Create scripts/al2/install-kernel5dot10.sh and have it run when AMI_TYPE is al2kernel5dot10 or al2kernel5dot10arm
Define source AMIs for the new AMI recipes in generate-release-vars.sh, release.auto.pkrvars.hcl, and variables.pkr.hcl
Whitespace changes in release.auto.pkrvars.hcl generated by ./packer fmt

Testing

Manual testing:
Run the following commands and ensure successfully creation of private AMIs across a diverse subset of regions:

REGION=us-west-2 make al2kernel5dot10
REGION=us-west-2 make al2kernel5dot10arm
REGION=us-east-1 make al2kernel5dot10
REGION=us-east-1 make al2kernel5dot10arm
REGION=ap-east-1 make al2kernel5dot10
REGION=ap-east-1 make al2kernel5dot10arm
REGION=cn-north-1 make al2kernel5dot10
REGION=cn-north-1 make al2kernel5dot10arm
REGION=us-gov-west-1 make al2kernel5dot10
REGION=us-gov-west-1 make al2kernel5dot10arm

Partial outputs (us-west-2):
==> Builds finished. The artifacts of successful builds are:
--> amazon-ebs.al2kernel5dot10: AMIs were created:
us-west-2: ami-08374bf917e3d5744

==> Builds finished. The artifacts of successful builds are:
--> amazon-ebs.al2kernel5dot10arm: AMIs were created:
us-west-2: ami-0c683bad2074ae725

Launch EC2 instance using private AMIs from above step and run uname -r to confirm Linux kernel version is 5.10.
Partial outputs (us-west-2):
5.10.149-133.644.amzn2.x86_64
5.10.149-133.644.amzn2.aarch64
Functional testing:
Run below commands to execute current Amazon Linux 2 x86_64 and arm64 functional tests against private AMIs from manual testing steps above and ensure all tests pass:

./bin/run-test -domain desktop -realm us-west-2 -platform al2 -imageId ami-08374bf917e3d5744

PASS

./bin/run-test -domain desktop -realm us-west-2 -platform arm -imageId ami-0c683bad2074ae725

PASS

New tests cover the changes: no
Description for the changelog
AL2 Kernel 5.10 x86_64 and arm64 Support
Licensing
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Wonder if there will be minor version updates to Kernel?
In that case, can we have al2kernel5dot10.pkr.hcl renamed  to  al2kernel5_x.pkr.hcl(or something similar)?


Unable to install resourcepacks!

Trying to install resourcepack (any):
System.IO.FileNotFoundException: Could not find file 'C:\their.Games\GooseMC\.minecraft\resourcepacks\BlockPixel-JavaEdition-112-Weapons.zip'.
File name: 'C:\their.Games\GooseMC\.minecraft\resourcepacks\BlockPixel-JavaEdition-112-Weapons.zip'
   at System.IO.FileStream.ValidateFileHandle(SafeFileHandle fileHandle)
   at System.IO.FileStream.CreateFileOpenHandle(FileMode mode, FileShare share, FileOptions options)
   at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options)
   at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, Boolean useAsync)
   at System.IO.Compression.ZipFile.Open(String archiveFileName, ZipArchiveMode mode, Encoding entryNameEncoding)
   at System.IO.Compression.ZipFile.OpenRead(String archiveFileName)
   at GBCLV3.Services.Auxiliary.ResourcePackService.LoadZip(String path, String[] enabledPackIDs)
   at GBCLV3.Services.Auxiliary.ResourcePackService.<MoveLoadAllAsync>b__5_0(String path)
   at System.Linq.Enumerable.SelectArrayIterator`2.MoveNext()
   at System.Linq.Enumerable.WhereEnumerableIterator`1.ToArray()
   at System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source)
   at GBCLV3.Services.Auxiliary.ResourcePackService.MoveLoadAllAsync(IEnumerable`1 paths)
   at GBCLV3.ViewModels.Tabs.ResourcePackViewModel.AddNew()
   at System.Threading.Tasks.Task.<>c.<ThrowAsync>b__139_0(Object state)
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
   at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
[Launcher Version: <IP_ADDRESS>]

A bug caused by my carelessness 😝. I forgot to create the resourcepacks directory before moving the pack files.
It will be fixed in next release.

Now I first load the resourcepack zip file in-place the source directory, only if it is a valid resourcepack will I move it into the resourcepacks directory.

Now I first load the resourcepack zip file in-place the source directory, only if it is a valid resourcepack will I move it into the resourcepacks directory. This should work.

And how soon to wait for the update 🥺? I look forward to it! 😤


improvementImprove show column stats performance.

Use table id to query statistics table while show all columns stats for the table. Before, we were using id, which will execute one sql for each column. Now, we use table id to fetch result of all columns with one sql.

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall


dont allow multiple of the same account to connect without a commandline arg

probably should've done this earlier, unsure if changes much in practice really but probably just good to do

Clang-format errors :trollface:

Actually, it's just cause that branch is based on an older commit. Merging main into it should fix clang-format errors ^^


Expose en_email_list variable and update VLs

Description
Expose en_email_list variable and update VLs
Release required?

[ ] No release
[ ] Patch release (x.x.X)
[x] Minor release (x.X.x)
[ ] Major release (X.x.x)

Release notes content

Run the pipeline
If the CI pipeline doesn't run when you create the PR, the PR requires a user with GitHub collaborators access to run the pipeline.
Run the CI pipeline when the PR is ready for review and you expect tests to pass. Add a comment to the PR with the following text:
/run pipeline

Checklist for reviewers

[ ] If relevant, a test for the change is included or updated with this PR.
[ ] If relevant, documentation for the change is included or updated with this PR.

For mergers

Use a conventional commit message to set the release level. Follow the guidelines.
Include information that users need to know about the PR in the commit message. The commit message becomes part of the GitHub release notes.
Use the Squash and merge option.

/run pipeline

/run pipeline

Error:      	Received unexpected error:
        	            	Get "https://projects.api.cloud.ibm.com/v1/projects/68e234d4-593c-47e7-9528-8626608c5d98/configs/2a6fbe5d-31ab-4fde-adf5-134ddeafe1cf": read tcp <IP_ADDRESS>:52806-><IP_ADDRESS>:443: read: connection reset by peer

Unrelated to changes in this PR, so re-running

/run pipeline

/run pipeline

Pipeline failed with:
 2024/06/19 20:10:59 Terraform apply |     "Result": {
 2024/06/19 20:10:59 Terraform apply |         "details": "{\"operation\":\"Provision\",\"description\":\"Sysdig provision request return code: 400 response: {\\\"errors\\\":[{\\\"reason\\\":\\\"Bad Request\\\",\\\"message\\\":\\\"The existing customerId 113063 is already connected.\\\"}]}\",\"dashboard_url\":\"https://cloud.ibm.com/workload-protection/0a1363b1-e059-4038-a9c2-ab37a0b7a164/overview\",\"default_consumer_instance\":false,\"public_service_endpoint_enabled\":false,\"api_token_auth_disabled\":false,\"extensions\":{\"external_dashboard\":\"https://us-south.security-compliance-secure.cloud.ibm.com/api/oauth/openid/IBM/abac0df06b644a9cabc6e44f55b3880e/0a1363b1-e059-4038-a9c2-ab37a0b7a164?serviceName=SYSDIG_SECURE\u0026product=SDS\"}}",
 2024/06/19 20:10:59 Terraform apply |         "error_code": "RC-ServiceBrokerErrorResponse",
 2024/06/19 20:10:59 Terraform apply |         "message": "Please contact the Service Provider for this error. [400, Bad Request] Sysdig provision request return code: 400 response: {\"errors\":[{\"reason\":\"Bad Request\",\"message\":\"The existing customerId 113063 is already connected.\"}]}",
 2024/06/19 20:10:59 Terraform apply |         "status_code": 422,
 2024/06/19 20:10:59 Terraform apply |         "transaction_id": "bss-35919462eb7dab2f"
 2024/06/19 20:10:59 Terraform apply |     },
 2024/06/19 20:10:59 Terraform apply |     "RawResult": null
 2024/06/19 20:10:59 Terraform apply | }

Reported to service team. Going to retry..

/run pipeline

:tada: This PR is included in version 0.5.0 :tada:
The release is available on:

GitHub release
v0.5.0

Your semantic-release bot :package::rocket:


Custom error message when gradle-plugin is applied to an Android project

I've just started to play around with the new alpha and just bumped the version number which yielded the following exception:

Caused by: org.gradle.api.UnknownDomainObjectException: SourceSet with name 'main' not found.

The underlying cause is https://github.com/square/sqldelight/blob/7d824b741a001c47a44359dc44997bee820efdba/sqldelight-gradle/plugin/src/main/kotlin/com/squareup/sqldelight/gradle/SqlDelightPlugin.kt#L36
Should we throw a custom exception saying that this plugin won't work with android and hence the android-gradle-plugin  has to be used?
At least once 1.0.0 is ready it should be put into a migration guide.

yea i think that makes sense.


feat: add documentation to run a development OpenSearch Dashboards

Signed-off-by: closingin<EMAIL_ADDRESS>Description
As discussed in this forum thread, we need to add documentation about the required configuration changes when running a development OpenSearch Dashboards on a dockerized OpenSearch, this PR adds it! :slightly_smiling_face:
Issues Resolved
N/A
Check List

[x] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Should we put this into https://github.com/opensearch-project/OpenSearch-Dashboards/blob/main/DEVELOPER_GUIDE.md instead?

I actually thought about it, but I feel like the developer guide is more about coding style than setting up your environment. I also instinctively went to the documentation when I was searching for this information, so I ended up writing it there.
Tell me :slightly_smiling_face:

I guess I could port the changes to the developer guides, and maybe add a link to it in the "External links" section of the documentation ? Like just "Developer Guide".

I guess I could port the changes to the developer guides, and maybe add a link to it in the "External links" section of the documentation ? Like just "Developer Guide".

That sounds good!

Hello @dblock, I opened the PR in OSD's repo. I'll wait for it to be accepted before making changes to this PR :slightly_smiling_face:

Hey there. As #710 has been merged, I updated this PR to just link to the developer guide, instead of putting its content directly in the docs!

You're definitely right @aetter , I didn't even think about it! Thanks for the merge.


[Autocomplete] Prevent closing on no-option text click

Description
Implement fix for click on no-option text when AutoComplete component is opened based on the suggestion of
Closes #24781

[X] I have followed (at least) the PR section of the contributing guide.

Thanks for the update!

@silver-snoopy We try to mention why prevent defaults are used as it's quite intrusive. Regarding the testing side of this change. AFAIK, we would need to have a more end-to-end solution, as it's about reproducing a complete click-like interaction.  It's more in the realm of Playwright or https://testing-library.com/docs/ecosystem-user-event/ than what we current have setup for writing tests.


Unable to update Salesforce CLI, SHA1 Mismatch

Summary
Short summary of what is going on or to provide context.
Steps To Reproduce:
sfdx update
sfdx-cli: Updating CLI from 7.61.0-af69066d0d to 7.62.1-309fe6da17... !
(node:3964) [EPERM] Error: EPERM: operation not permitted, lstat 'C:\Users\pranay.jaiswal\AppData\Local\sfdx\client\7.62.1-309fe6da17.partial.57922\sfdx-cli
-v7.62.1-309fe6da17-windows-x64\node_modules\prettier\parser-glimmer.js'
Error: SHA mismatch: expected d3d52ffb826c808f103015975239c9327073127bfae3fb822aec86cc2190adb3 to be c6919430fd21ddebcdb1b371774eddbf9b956eaee3d725717c641b8
065469413
    at IncomingMessage.stream.on (C:/Users/pranay.jaiswal/AppData/Local/sfdx/node_modules/@oclif/plugin-update/lib/tar.js:32:32)

Repository to reproduce: dreamhouse-lwc
NOTE: If your issue is not reproducable by dreamhouse-lwc, i.e. requires specific metadata or files, we require a link to a simple Salesforce project repository with a script to setup a scratch org that reproduces your problem.

This is step 1.
This is step 2. All steps should start with '1.'

Expected result
Describe what should have happened.
Actual result
Describe what actually happened instead.
Additional information
Feel free to attach a screenshot.
SFDX CLI Version(to find the version of the CLI engine run sfdx --version):
SFDX plugin Version(to find the version of the CLI plugin run sfdx plugins --core)
OS and version:

@pranayjswl007 Does this still happen for you?


Bumped to latest rascal release

Note, this depends on a release of usethesource/salix-core before this can be completed. This means it needs https://github.com/usethesource/salix-core/pull/8 to get merged, and after then a new maven release.

This is a good and complex test for binary dependency with the latest Compiler

So, yes, it breaks in VS Code (still working on an bug report) the dependency if both projects are open. and it revealed one new error in the typechecker: https://github.com/usethesource/rascal/issues/2026


feat(server): Store information about available checkers to the database

This patch contains the back-end developments and solutions to collecting the information needed for #4049.
Summary
In #4049, it was deemed important that losing the information about which checkers executed during analysis is confusing to developers who have access only to the web-based interface without anything from the analyze command (such as CI logs). The confusion stems from checkers that were enabled but did not produce any reports not showing up anywhere on the interface. This is exasperated by the fact that the "analysis command" that is currently shown on the Web UI often contains references to random temporary files created by CI systems without seeing their contents.
The goal of this initiative is to deterministically show the knowledge gathered from the metadata.jsons (if applicable) about which analysers' which checkers executed. Having this list at hand is useful from an auditing point of view, as well, to ensure that it can be seen whether the executed analysers contained a particular checker or not. Thus, we move from the following distinction:

"checker that produced a report"
"checker that did not produce a report"

over to a more descriptive one:

"checker that was disabled"
"checker that was enabled" (and produced a report)
"checker that was enabled" (but did not produce a report)

Description
This patch implements the back-end changes required to support this new feature. No front-end changes available, yet.

First, a new table, checkers is created, which deterministically stores a unique ID (per database) for each (analyser_name, checker_name) pair. The uniqueness of IDs to, henceforth, checkers is enforced on the database level with a compound UNIQUE KEY.
checkers is filled with the names of all checkers identified during a run's store in a transactionally separated way, preceding the actual Report storage process. This ensures that during a (potentially concurrent) storage process, constraint violations do not tear down the progress of an entire run's contents. (A generously timed retry logic is implemented to ease this process, but it is not guaranteed to be infallible.)
analysis_info, which previously stored only the analyze command-line is extended to JOIN onto the checkers table and stores a single BOOL to say whether the joined checker was enabled in the joined analysis_info.
As there is a unique analysis_info for all run_histories, this list will trivially work in the same way as retrieving the analyze command-line for a past snapshot of a Run currently work.

During incremental schema migration, this information is NOT retroactively conjured. This is because there is currently no way of telling which checkers were "enabled" in an analysis, as potentially deleted reports of existing Runs might skew these results. It's safer (or at least less misleading) just to say "No information." for runs that were stored prior to the upgrade.

The AnalysisInfo type on the Thrift API is extended to contain the information (map<analyser_name: string, map<checker_name: string, enabled: bool>>) now stored in the database as of point 3..
Several checker-related aspects that were previously stored for every Report instance individually, most importantly the Severity, are moved into checkers instead. This simplifies the storage and server-start clean-up logic somewhat while complicating matters elsewhere during querying. The following columns are removed (essentially, uniqued out) from Reports: checker_id (string, "name"), analyzer_name, severity.

During incremental schema migration, the data from reports is pre-collected and dumped to checkers, with the new FOREIGN KEYs appropriately established as well. This means that for a product with a diverse set of checkers that all produced warnings, the vast majority of the "potential checker ID universe" will practically be allocated during the schema upgrade.
During schema downgrades, there is a clean way of doing this in the opposite direction, and the contents of these Report columns are restored appropriately.

The checker_cat(-egory, string) and bug_type (string) columns of Reports is dropped irrevocably, and not restored during a downgrade. It was never clear whether these values were uniquely the same for a particular checker, so moving these to the checkers table might not be a feasible solution. However, as these columns contained generic data that was never exposed over the API, the storage of them is deemed unnecessary. The semantics for whatever was available in these columns were never actually defined and were very analyser-specific or specific to how the report-converter dealt with the raw output of an analyser.

Miscellaneous
This patch also contains the following quality improvements that are not directly related to the feature implementation but were designed and developed in parallel to this feature's development.

This patch changed some of the code related to how a product database is connected during schema migration. There were two connections here, one for the product database (under migration), and around that, to the config database (to get the connection string for the product). This is to ensure that a long migration (such as the one present due to this patch) will not cause nasty time-outs on the config connection. If that happens, the resulting exception (of no meaningful value, because the config database is only read, and only once per product under migration) previously escaped and killed the entire server, which is not nice for potential overnight migrations. The new version guards that such exceptions will not escape, the server stays alive, and even if the migration of one product fails, the subsequent product migrations are still attempted by the same server execution, so there is no need for any restarts or auto-restart services.
Change from the deprecated Binary type to LargeBinary consistently over the database schema. This means that this patch supersedes #3736. To answer @vodorok's question added to #3736, SQLAlchemy's source code shows the established inheritance relationship: _Binary ${<:}$ LargeBinary ${<:}$ Binary, and Binary.__init__() only delegates LargeBinary.__init__(). Thus, it is clear that the two types behave the exact same across all database dialects, and the changes of both #3736 and this patch are safe without additional schema migration commands.
Added the possibility of logging output during schema migrations. This was necessitated by the complexity of the steps of the migration script c3dad71f8e6b_... of this patch. We will be updating multiple millions of rows in chunks, in multiple passes (one read, one collate, one write), so the accountability of where the migration is going benefits a lot from these improvements.
The in-memory data structures that represent parsed metadata.jsons previously stored the checkers "list" in a hard-to-understand and unwieldy-to-use data structure: checkers: Dict[checker_name: str, _: Union[enabled_checkers: List[name: str] | _: Dict[name: str, enabled: bool]]]. This made accessing actual data from this troublesome, as every client code (including new things I was writing for this patch) had to branch on whether the actual available data was "old-style" (only the list of enabled checkers) or "new-style" (the list of all found checkers, marked with its enabledness bit). What's more, the tests were conflating what it means to be a v1 metadata.json. The original implementation, up to 7254d05a8b7262e4979ac613f32d6c3e0aa0d3cc in September 2017, contained the former List[str] grouped by the analyser. In March 2020, bd775d60950d48884b8f1dc83d8b82653b83cfa3 introduced v2 files, but at this point, v1 was already doing Dict[str, bool]s. In between the two points, in December 2019, 0cd28acac7d31e4a0260c147b8e803b7a36908f0 changed the format without the concept of "format versions", turning the list into Dict[str, bool]. Nevertheless, several test files that do not indicate the version still test whether the "real" v1 is understood by the system. I fixed all these issues by transitioning to the current v2 format in memory as soon as possible, creating an appropriate checkers: Dict[str, Dict[str, bool]] data structure irrespective of the format of the metadata.json in the input.

During database migration, the server gets trapped in a cyclic restart with the following error:

@vodorok I have identified the cause of the problem for that behaviour and fixed it. Turns out I made the bogus assumption that analysis_info.analyzer_command would be NON NULL in every case. The fix was trivial (if ... is None: continue :smirk:), I will update the patch soon.
Unfortunately, I encountered some pretty weird behaviour that I need to track down before this patch is touched...

Please do a measurement of the store time of Xerxes-C analyzed with --enable-all.

@vodorok Thanks for the mention of the potential issue. Indeed, there were problems with the added flush() call. Here are some comparative measurements, with the original report directory created with a 6.23 release at 2.8 GiB. Without this patch, the store (as logged by the timing of massStoreRun()) took 1140.93 s, when using --verbose debug on both server and clientside.
With this patch, this had gone up to 1731.29 s. However, undoing the flush() calls and changing the logic around it slightly to remove the original need they were introduced for only lessened this to 1644.56 s.
So I've gone around and changed a few more things, because it turns out doing a SELECT id FROM checkers WHERE column1 = <string> AND column2 = <string> is not a good idea... :yum: With the upcoming changes to the patch, we will be down to 956 s. (At first this was indeed strange for me, so I reproduced it three more times each time flushing and re-filling (to almost the brink) the system RAM to evade/prevent OS-level caching and spawning new database containers as well), and this reproduces within 2-3 s of error.

If the store time hit is not severe (under 5%), the patch can be merged.

Unfortunately, it looks like this is a 16.2% reduction in time required on this test. I hope that's not a problem. :smirk:


Allow only elm 0.19 operators

I took a stab at issue #3.

It looks complete to me.
https://github.com/search?p=1&q=infix+user%3Aelm+user%3Aevancz+user%3Aelm-explorations&type=Code&utf8=✓

I did the same lookup @andys8 posted and a manual review of all the packages that are allowed to have infix operators (elm & elm-explorations)

Thanks :)


Add a check on the use of dangerous pins

gowin_pack terminates if it detects the use of dangerous pins as GPIOs.
There is no command line key that allows the use: it is assumed that in
case of emergency one can make changes in gowin_pack, being
fully aware of the consequences.
Signed-off-by: YRabbit<EMAIL_ADDRESS>

haha editing the code seems maybe a bit drastic. Given that some boards just use them as normal IOs it's definitely something we should consider supporting better in the future. In the vendor IDE they are just checkboxes you can enable, so having them as command line flags seems appropriate.
Since @uis246 used the mode pin without bricking the FPGA it's at least not completely broken...
Maybe I should refresh my memory on what their functions and dangers are and how to recover from them, do some testing, and then just support these pins?

Makes sense, I based it on your experience:)
In the current state, the MODE pins are no different from the normal pins. We can leave them that way.
To this simple fix I have no special attachment:)


ui: Switch to using a new toast component

This PR addresses the problem of error messages from the API disappearing too fast, by switching to a new toast component which has a specific button to close the error toast.
Please see the individual commits for details.

Do you think it would make sense to use toaster instead of sonner as the file name? I think this is more descriptive and would keep the import the same as before the change. It could also be clearer to re-export toast from sonner from somewhere to have that as an "internal api".


Redesign plane resource types

Description
This change splits the plane resource type into multiple types for maintainability as reviewed in radius-project/design-notes#42. See the design document for the motivation and dicussion of the specific design details. In summary, previously we had one resource type for all planes, and now we have a few separate ones.
This is a technically a breaking change but the impact on users is very low because it's mainly UCP itself that interacts with the planes.
The majority of the code changes are due to:

Simplifying the resource group client API
Updating and adding examples

Type of change

This pull request adds or changes features of Radius and has an approved issue (issue link required).

Fixes: #issue_number

This is a large PR due to the number of changes required when we introduce new APIs. This change is introducing 3 new APIs! I'd recommend starting with the typespec and then looking at the routes for the the new APIs.

@youngbupark @ytimocin can you take a look when you have a chance? I need to figure out my one failing test, but that is likely a swagger update I missed.

@ytimocin - updated

Thanks @ytimocin !


Restore world from snapshot

In rapier.js, you can take snapshots of the world and later restore it:
https://github.com/dimforge/rapier.js/blob/3b7484fb91ce00f44d9224943293e0b1728b8758/testbed3d/src/Testbed.ts#L136
How can I achieve this in react rapier?

+1. This feature is a requirement for a multiplayer game I'm working on. Without it, I have to use rapier directly instead of via react-rapier.

https://github.com/pmndrs/react-three-rapier/pull/563
I was looking for this feature as well and made one in my fork, demo is in the pull request.

This should now be possible in 1.2.0!
See https://github.com/pmndrs/react-three-rapier#snapshots
The implementation might be rudimentary, however. Let me know.
Thanks to @kayden1940 for the initial implementation of this.


babel-plugin-transform-builtin-classes breaks some of my classes.

Bug report

Skate version: 62c62126b991c83db818633b9237081c8fd04cdf
Affected browsers (and versions): N/A

Current behaviour
My pull request #1510 (and probably related pull requests) seem to have broken after rebasing on master.
What happens now is that in some classes, I have to catch constructor return values otherwise context gets lost, and I'm using a custom class system. This is what I mean:
Class('Foo').extends(withUpdate(class{}), ({ Super }) => {
  constructor() {
    const _this = Super(this).constructor()
    // use _this, not this
  },
}))

As you may recall, I'm using withUpdate on non-HTMLElement classes, which is working great!
But it seems the recent changes now require me to catch the constructor return value, otherwise this is a different object.
I'm not sure why this is yet.
Expected behaviour
Before I rebased my pull requests on master, I was writing code more like this:
Class('Foo').extends(withUpdate(class{}), ({ Super }) => {
  constructor() {
    Super(this).constructor()
    // use this like normal
  },
}))

In fact, this is how I was testing to make sure my pull requests worked, and they were working! Then I rebased, and I had to make those changes to get things working again.
Any ideas? Did any build dependencies change?

Oh! I know what it is!
I now recall the recent use of @WebReflection's babel-plugin-transform-builtin-classes.
This added some new code which is now returning a new this instead of using mine.
Hmmmm....

(added a confirmed label to make it easier to track which bugs are actually confirmed or reproduced)

Babel 7 is supposed to ship with equivalent of babel-plugin-transform-builtin-classes, so it may be worth see if using Babel 7 without babel-plugin-transform-builtin-classes fixes things.

For now I'll catch the constructor return value until we iron this one out.

Babel 7 is supposed to ship with equivalent of babel-plugin-transform-builtin-classes, so it may be worth see if using Babel 7 without babel-plugin-transform-builtin-classes fixes things.

+1 to that.

(added a confirmed label to make it easier to track which bugs are actually confirmed or reproduced)

Do we need that label? If we can't reproduce a bug it should probably be closed.

For now I'll catch the constructor return value until we iron this one out.

Sounds like we can close this? Will do for now. Re-open if it's not.


feat: change images

Inspecting the images reveals they are very big in terms of file size:

525kb
229kb
58kb

I guess we could get away with using half the resolution of the current files (desk, lap) . Also, please run those through an image optimizer.


Disable all dates up to a given date

Is your feature request related to a problem? Please describe.
I often need to disable all past dates. As I can find the disabled dates prop is only a list of dates so to achieve this I would need a list of all dates dating back to when ever the calendar starts. generating that list would be annoying and unnecessary.
If this function already exists better docs for this would be nice
Describe the solution you'd like
I would like to be able to disable all dates that are before a given date or at least a prop like disable-past-dates: boolean
Describe alternatives you've considered
Update the prop to be like this?
disabled-dates: {
	to: Date,
	from: Date,
        dates: Date[]
}

Or to avoid breaking changes it is possible to add another prop like disable-dates-to

@Gilgard You can just set min-date prop


simplify the controller functions

I simplified the controller functions and the codes using them. However, I didn't simplify GradesAggregation(flag string) in grades.go because it has additional arguments. Please let me know if there's anything I have to fix or I really need to simplify GradesAggregation(flag string).
Thank you.

Hey @mikehquan19, thanks for working on this! It should be straightforward to also simplify GradesAggregation(flag string), but I will do that for you when this is merged since it is a quick change. Thanks for working on this!


[Network] Fixed --endpoint-status in TrafficManager.

Fixes #6502.

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

[X] The PR has modified HISTORY.rst describing any customer-facing, functional changes. Note that this does not include changes only to help content. (see Modifying change log).

[X] I adhere to the Command Guidelines.

Codecov Report

Merging #6517 into dev will not change coverage.
The diff coverage is n/a.

@@         Coverage Diff         @@
##           dev   #6517   +/-   ##
===================================
  Coverage    0%      0%
===================================
  Files       11      11
  Lines      133     133
  Branches     9       9
===================================
  Misses     133     133

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update e155a3c...e898b12. Read the comment docs.


ISPN-6599 PutMapCommand partially applied during topology changes

https://issues.jboss.org/browse/ISPN-6599
The actual fix is the handling of CacheNotFoundResponse in JGroupsTransport, the rest is to fix the tests.

Updated to revert the changes in ClusterTopologyManagerImpl.CacheTopologyFilterReuser.

testing

@gustavonalle Your latest log shows a NPE delivering a message, and I think it's coming from CacheTopologyFilterReuser:
2016-05-13 14:24:21,379 ERROR [org.jgroups.protocols.UNICAST3] (OOB-10,server2) JGRP000039: server2: failed to deliver OOB message [dst: server2, src: server0 (4 headers), size=151 bytes, flags=OOB|DONT_BUNDLE|NO_TOTAL_ORDER]: java.lang.NullPointerException

I've added some logging in JGroupsResponseFilterAdapter to collect a stack trace, could you run the test again?

@danberindei compilation failure

looking

pulling

Integrated to master,  thanks @danberindei !


Sidebar not selected for current cluster area

Description
Cluster navigation does not highlight the current location in the sidebar.

Unit tests are sufficient. moving to done


Return string representation of Asset

Fix compatibility with third-party packages (e.g. Nova Settings)
This will work around the following error and allow the asset to be JsonSerialized properly.
Oneduo/NovaFileManager\Support\Asset could not be converted to string

Hi @miagg
Thank you for your contribution, I have a added a comment. Once changes are applied, I will gladly merge this.
Cheers!

You are right. Although it works because Asset is implementing JsonSerializable and json_encode is implicitly using it, it should be explicit for clarity.

Thank you for your contribution.


foldmethod is not always set as expected after restoring a session

Describe the bug
Sometimes, I have a buffer which is folded thanks to fold options ('fdm', 'fde', 'fdt') set from a filetype plugin.

But for some reason, they are not correctly set again if the buffer has been restored after sourcing a session file created by :mksession.
To Reproduce
Run these shell commands:
$ cat <<'EOF' >/tmp/a.txt
fold one title {{{1
some text
fold two title {{{1
some other text
EOF

$ vim -Nu NONE +'e /tmp/a.txt|setl fdm=marker|sp b.txt|mksession! /tmp/s.vim|qa!'

$ vim -Nu NONE -S /tmp/s.vim +'b a.txt'

The file a.txt is not folded in the top window.
Expected behavior
The file a.txt is folded in the top window, just like it is folded in the bottom window, because:

a.txt is already displayed in the bottom window
a.txt is folded in the latter
when editing a buffer that has been edited before, the options from the window that was last closed are used again (see :h local-options)
closing the window is not a requirement anymore since https://github.com/vim/vim/commit/25782a7ff4755daf16c2e1cb5e5f826b13b672ce ; i.e. Vim can now copy window-local options from another window where the same buffer is currently displayed if such a window exists

Screenshots

Environment

Vim version: 8.1  Included patches: 1-2099
OS: Ubuntu 16.04.6 LTS
Terminal: XTerm(322)

Additional context
I think the issue applies to any window-local option, which is why I can also reproduce after replacing fdm=marker with cc=12:
$ vim -Nu NONE +'e /tmp/a.txt|setl cc=12|sp b.txt|mksession! /tmp/s.vim|qa!'
$ vim -Nu NONE -S /tmp/s.vim +'b a.txt'

I bisected the session file s.vim to find out which line(s) exactly triggers the issue; it appears to be:
badd +0 /tmp/a.txt

The issue is triggered only if :badd /tmp/a.txt is run while the current buffer is not /tmp/a.txt.
So this works as expected – i.e. the file is folded in both windows – because :badd is run in the a.txt buffer:
$ vim -Nu NONE +'e /tmp/a.txt|setl fdm=marker|badd /tmp/a.txt|new|b a.txt'

But this does not work as expected – i.e. the file is only folded in the bottom window – because :badd is run in the b.txt buffer:
$ vim -Nu NONE +'e /tmp/a.txt|setl fdm=marker|new|badd /tmp/a.txt|b a.txt'

I could be wrong, but I think this is a bug because I don't understand why a :badd command would affect how a window-local option is set. :badd doesn't even load a buffer, it just adds a file name to the buffer list.

The issue can also be reproduced with:
$ vim -Nu NONE +'setl fdm=marker|sp b.txt|mksession! /tmp/s.vim|qa!' /tmp/a.txt
$ vim -Nu NONE -S /tmp/s.vim +'b a.txt'

This time, commenting out :badd +0 /tmp/a.txt from the session file is not enough.
You also need to comment out $argadd /tmp/a.txt.
I guess that :argadd can also trigger the issue, like :badd.

Fixed by 8.2.1902 and 8.2.1904.

This todo item is no longer relevant:
https://github.com/vim/vim/blob/e1be11864d1f4383171e3af3eb77e61d41140c4e/runtime/doc/todo.txt#L458


TypeError: run() got an unexpected keyword argument 'visactmap'

Hi, I'm new to this model. It's very interesting.
But I got an error. I changed like below in im_top_bdnet_train_market1501.yaml.
model:
name: 'resnet50'
pretrained: True
data:
type: 'image'
sources: ['market1501']
targets: ['market1501']
height: 384
width: 128
combineall: False
transforms: ['random_flip', 'random_crop', 'random_erase']
save_dir: 'log/top_bdnet_neck_botdropfeat_doubot_market1501_softmax_topdrop_0'
cuhk03:
labeled_images: True
sampler:
train_sampler: 'RandomIdentitySampler'
loss:
name: 'softmax'
softmax:
label_smooth: True
triplet:
weight_t: 1.0
weight_x: 1.0
dropbatch:
weight_db_t: 1.0
weight_db_x: 1.0
weight_b_db_t: 1.0
weight_b_db_x: 1.0
top_drop_epoch: 0
train:
optim: 'adam'
lr: 1.
max_epoch: 400
batch_size: 64
fixbase_epoch: 0
open_layers: ['bottleneck_global', 'bottleneck_db', 'reduction_global', 'reduction_db','classifier_global', 'classifier_db', 'batch_drop', 'bottleneck_drop_bottleneck_features', 'classifier_drop_bottleneck']
lr_scheduler: 'single_step'
stepsize: [50, 200, 300]
test:
batch_size: 300
dist_metric: 'euclidean'
normalize_feature: False
evaluate: False
eval_freq: 30
rerank: True
visactmap: False
And I put 'python main.py --config-file configs/im_top_bdnet_train_market1501.yaml --root reid-data'  in cmd at deep-person-reid.

This is a weird error and should not happen, did you make sure that your im_top_bdnet_train_market1501.yaml is correctly indented?
For instance
test:
  batch_size: 300
  visactmap: False

and not
test:
batch_size: 300
visactmap: False

Yes, it's correctly indented.
So far I've been trying to sort this out by changing loss name 'softmax' to 'triplet_dropbatch_dropbotfeatures'.
But still, I made an another problem that says AttributeError: module 'torchreid.engine' has no attribute 'ImageTripletDropBatchDropBotFeaturesEngine'

I changed im_top_bdnet_train_market1501.yaml file to origin. But I got an error that says
'Unknown model: {}. Must be one of {}'.format(name, avai_models)
KeyError: "Unknown model: top_bdnet_neck_botdropfeat_doubot.  The file loading the models is here
https://www.github.com/RQuispeC/top-dropblock/tree/master/torchreid%2Fmodels%2F__init__.py
And I can see that the model is available there

I am trying from first step now.
I downloaded the zip and I had an error again.
It says
top-dropblock-master\torchreid\metrics\rank.py:17: UserWarning: Cython evaluation (very fast so highly recommended) is unavailable, now use python evaluation.
'Cython evaluation (very fast so highly recommended) is '
Traceback (most recent call last):
File "setup.py", line 39, in
version=find_version(),
File "setup.py", line 17, in find_version
return locals()['version']
KeyError: 'version'

I think I know the reason of the error.
You mentioned that you downloaded the zip so I guess you're not using git clone, so you should have the latest version of the code.
You don't need to run python setup.py (this should not be on the README), after downloading the code and setting up the dependencies/data directories, you can start training or testing. I updated the README fixing this error.

Thank you for helping meso much.
I used git clone this time but I got an error like below.
Traceback (most recent call last):
File "main.py", line 189, in
main()
File "main.py", line 153, in main
print('** System info **\n{}\n'.format(collect_env_info()))
File "C:\Users###\Documents\top-dropblock\torchreid\utils\tools.py", line 126, in collect_env_info
env_str = get_pretty_env_info()
File "C:\Users###\anaconda3\envs\topdropblock\lib\site-packages\torch\utils\collect_env.py", line 376, in get_pretty_env_info
return pretty_str(get_env_info())
File "C:\Users###\anaconda3\envs\topdropblock\lib\site-packages\torch\utils\collect_env.py", line 267, in get_env_info
cuda_runtime_version=get_running_cuda_version(run_lambda),
File "C:\Users###\anaconda3\envs\topdropblock\lib\site-packages\torch\utils\collect_env.py", line 115, in get_running_cuda_version
return run_and_parse_first_match(run_lambda, 'nvcc --version', r'V(.*)$')
File "C:\Users###\anaconda3\envs\topdropblock\lib\site-packages\torch\utils\collect_env.py", line 60, in run_and_parse_first_match
rc, out, _ = run_lambda(command)
File "C:\Users###\anaconda3\envs\topdropblock\lib\site-packages\torch\utils\collect_env.py", line 46, in run
err = err.decode("utf-8")
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x82 in position 7: invalid start byte

which command did you run to get that error? this seems to be an issue related with conda and not directly the repo code

I'm sorry, I ran wrong command.
I ran it with test yaml file before training.
python main.py --config-file configs/im_top_bdnet_train_market1501.yaml torchreid/data/datasets/image/market1501
This is the command I am trying now.
But  I still have an error..
top-dropblock\torchreid\metrics\rank.py:17: UserWarning: Cython evaluation (very fast so highly recommended) is unavailable, now use python evaluation.
'Cython evaluation (very fast so highly recommended) is '
Traceback (most recent call last):
File "main.py", line 189, in
main()
File "main.py", line 140, in main
cfg.merge_from_list(args.opts)
File "C:\Users###\anaconda3\envs\topdropblock\lib\site-packages\yacs\config.py", line 226, in merge_from_list
cfg_list
File "C:\Users###\anaconda3\envs\topdropblock\lib\site-packages\yacs\config.py", line 545, in _assert_with_logging
assert cond, msg
AssertionError: Override list has odd length: ['torchreid/data/datasets/image/market1501']; it must be a list of pairs

python main.py --config-file configs/im_top_bdnet_train_market1501.yaml --root torchreid\data\datasets\image\market1501
This is the command I ran.

error shows this:
File "C:\Users###\anaconda3\envs\topdropblock\lib\site-packages\torch\utils\collect_env.py", line 115, in get_running_cuda_version
return run_and_parse_first_match(run_lambda, 'nvcc --version', r'V(.*)$')

do you have a GPU on your machine? if not, during the first steps make sure you don't install cuda, instead of doing this
conda install pytorch torchvision cudatoolkit=9.0 -c pytorch

do this
conda install pytorch torchvision

If you have  a GPU, do you have cuda installed? check if you can run nvcc --version. This seems to be a problem related with your setup but not the code itself, if it is easier for you can also try to use a docker image like https://github.com/ufoym/deepo I had some problems using GPU and cuda on windows so not sure how this is going to work for you.
I run this code on WLS

I unstalled pytorch with cudatoolkit and installed none cuda pytorch.
I ran this command python main.py --config-file configs/im_top_bdnet_train_market1501.yaml --root torchreid\data\datasets\image\market1501.
I got the same error.
I have a GPU but my computer doesn't have cuda.That's why I installed none cuda pytorch.

This is a problem with the setup of your system, can you doublecheck that you are using python 3 when installing the dependencies and running the command? some systems need to use pip3 install -r requeriments.txt instead of pip install -r requeriments.txt and also run the code with python3 main.py ... instead of python main.py ..., you may also check running on linux or WLS, sometimes some sys paths or dependencies can get broken with windows (I tested on WSL and works fine, not tested on native windows as you are doing).
If none of those work I would suggest to take a look to deep-person-reid, this repo is based on it so maybe someone else had a same issue there and can help you to solve this issue.

First, I ran the command with python3 ,but when I ran it , it couldn't import torch.
So, I ran it with python main.py~~.
Do you know the way to import torch with command starting with python3?

You may want to run
pip3 install -r requirements.txt
pip3 install torch torchvision

pip3 should install everything for python3
Check also is which version of python:
python - - version
python3 - - version


Add plugin example to README.md

Further to issue #5, an example of adding plugins

Big thanks @J-T-McC 🙏 your first example helped a treat. Couldn't get the second one to work, it seems it needs plugin: [plugin] to be set. As promised, PR to add example to the readme for future devs.

Thanks for the help


Sort "Install and delete all CIAs"

When using the option "Install and delete all CIAs" would be more effective order by size (smallest to largest) instead of ordering by name.
For example, I put five .cia games in SD Card and the available space is 1GB.
Within the SD Card I have the following .cia games:
Game A - 1GB
Game B - 2GB
Game C - 1GB
Game D - 1GB
Game E - 1GB
If I install in order of size (from lowest to highest) will be able to install all games up to 1GB. In alphabetical order would fail to install the Game B on, because there will be no space available.
Order by Name:
Game A - 1GB (Installation OK)
Game B - 2GB (Fail, no space available)
Game C - 1GB (Fail, due to Game B)
Game D - 1GB (Fail, due to Game B)
Game E - 1GB (Fail, due to Game B)
Order by Size:
Game A - 1GB (Installation OK)
Game C - 1GB (Installation OK)
Game D - 1GB (Installation OK)
Game E - 1GB (Installation OK)
Game B - 2GB (Fail, no space available)
Another solution would be to continue installing other .cias, even if there is a fail on the way.

CIAs already continue to install despite one failing.


unify parallel 2D tree/p4est mesh rhs!

See https://github.com/trixi-framework/Trixi.jl/pull/1104#discussion_r841579158

Isn't that what I did here - use the ParallelTreeMesh{2} version, removing the implementation for the ParallelP4estMesh{2}?

Isn't that what I did here - using the ParallelTreeMesh{2} version, removing the implementation for the ParallelP4estMesh{2}?

You're right, my bad. Was only looking at line numbers, not filenames. Shouldn't review on the phone 😬


installation error

Hi, when I install pyGeo, the following error appeared. Could you give me some advice? Thank you!
checking for MPI compile and link ...
/home/haizhou/anaconda3/bin/mpicc -pthread -B /home/haizhou/anaconda3/compiler_compat -DNDEBUG -fwrapv -O2 -Wall -fPIC -O2 -isystem /home/haizhou/anaconda3/include -fPIC -O2 -isystem /home/haizhou/anaconda3/include -fPIC -I/home/haizhou/anaconda3/include/python3.11 -c _configtest.c -o _configtest.o
/home/haizhou/anaconda3/bin/mpicc: line 330: x86_64-conda-linux-gnu-cc: command not found
failure.
removing: _configtest.c _configtest.o
error: Cannot compile MPI programs. Check your configuration!!!
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for mpi4py
Successfully built pygeo
Failed to build mpi4py
ERROR: Could not build wheels for mpi4py, which is required to install pyproject.toml-based projects

It looks like you do not have either MPI or mpi4py installed, check the documentation for MACH-Aero package dependencies here


Modular Application Loading Preinitialized Containers

I believe there are likely other requests for this.  Modular application loading is becoming more desirable with preinitialized containers.
The use case is as follows.  I recently moved preinitialized containers into production.  One of the apps hasn't been used for a while, and it appears to be choking on production data.  This wasn't discovered until the preinitialized containers launched.  There isn't any way to disable it without stopping restarting all apps, it just sits there launching and failing, until the dev that wrote it gets back from vacation.
In general, many apps make it difficult to update the server.

Hi, as I understand what you are requesting is the capability to update a single app without restarting the ShinyProxy server?
For various reasons, this is something we prefer to not implement directly in ShinyProxy. However, we do have plans to make it possible to seamlessly update the ShinyProxy configuration without downtime, even when using a plain docker  host. The approach is similar to the shinyproxy-operator for Kubernetes (https://github.com/openanalytics/shinyproxy-operator), but in this case specific for Docker/Docker swarm (and probably also AWS ECS).
If this is something you are interested it and want to know more about or test, don't hesitate us to contact us. (Of course it will be open-sourced when it's ready).


Pre-trained Models Download problems

Hi, can you please upload your model via Chinese cloud server?
I cannot downit properly from models https://zenodo.org
Thank you

Thanks for your suggestions. The download link on baidu netdisk is updated in the readme. Hope you enjoy this repo.
Haohe

gets stuck at Downloading the main structure of voicefixer

Same as @hazarek


Reformat code and extract repeated code to callable methods

Reformat code and extract repeated code to callable methods to improve readability

Fixed in #9


Update es_ES.lang

 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.