Finalize Redis scaleout design and implementation

@davidfowl @mikaelm12 @moozzyk @BrennanConroy we'll need a design meeting.

The current redis design is optimized for to have a single connection per server and a minimal number of connections per subscription. This means that we have:

A subscription per connection
A subscription per user id
A subscription per hub
A subscription per group

A few things that are implemented but need to be solidified:

Today we use JSON serialization (with type name handling) as the internal format to pass data between servers. Should we pick something more efficient?
We don't support reconnecting to redis. Do we queue if the connection dies and data is sent or should we fail?
We need to support adding connections to groups for connection that don't exist on the local server.
Today we always publish through redis even if the connection is on the local machine, we don't need to do this any more since we require stickiness.

since we require stickiness.

Do you mean that the client connection is required to be sticky (e.g. when load balancing several front end servers)? @davidfowl

Just watched the NDC London video, i now understand what you mean with stickiness @davidfowl

We plan to do https://github.com/aspnet/SignalR/issues/584 in alpha.

I was all set to go "WHAT? STICKINESS?" but then I checked whether you can do that running in a Docker Swarm with the Traefik LB/proxy, and it turns out you absolutely can, so OK, as you were.

@markrendle - try long polling.

A few things that are implemented but need to be solidified:

Today we use JSON serialization (with type name handling) as the internal format to pass data between servers. Should we pick something more efficient?
We don't support reconnecting to redis. Do we queue if the connection dies and data is sent or should we fail?
We need to support adding connections to groups for connection that don't exist on the local server.
Today we always publish through redis even if the connection is on the local machine, we don't need to do this any more since we require stickiness.

Reconnecting is enabled by default now, we don't do anything special so if you lose connection and try to publish then it will throw from your invocation. And when you reconnect publishes work again.
Adding connections to groups for connections that don't exist on the local server is supported, and waits for an ACK before completing.
We have to publish through redis in all scenarios except when invoking on a specific connection that is on the local server and when adding or removing a local connection from a group, we handle those scenarios.

Today we use JSON serialization (with type name handling) as the internal format to pass data between servers. Should we pick something more efficient?

I think this is the last thing we need to look over before closing this issue. Everything else looks good.

Closing per triage. This is done.


Adding patch to allow for 500k baud rate with screen.

This patch is left over from a patch submitted to GNU Screen screen-devel list back in 2011. Somehow it never made it into screen... but I can't find information on why it hasn't been included. This is the original mailing list post:
https://lists.gnu.org/archive/html/screen-devel/2011-11/msg00012.html
There are a few situations where a 500k baud rate is pretty useful. If nothing else, a fairly large number of modern car's OBDII ports run at 500k baud. Without this patch, screen is unable to keep up with the OBDII port in logging situations.

Sure, I'll look into it.
From what I remember from reading through the threads and documentation related to this file, the Screen developers were leaving this section of tty.sh (which compiles to tty.c) open to the "end user" so that they could implement their own baud rates if needed. Really, in this case, "end user" means "the person that compiles this code themselves". That's GNU for ya...
But some of the world has moved on to marginally faster baud rates and the Screen developers haven't kept up with those changes. This is probably because it's a rather slippery slope to add every baud rate ever to their source code, and that they haven't figured out a better way to customize the baud rate to "non-standard" speeds.
I'll reach out to them directly and see what their point of view is.

Have you heard back from the Screen developers?

Ping.

Closing due to lack of response.


cant proceed with installation step : "$ source bin/activate"

Expected Behavior
Succesfull installation
Actual Behavior
cant complete installation
Steps to Reproduce
latest steps in installation:
$ cd download-directory
$ pip install PyYAML-3.11-cp27-cp27m-win32.whl
// if you needed to download the 64-bit version)
// (replace PyYAML-3.11-cp27-cp27m-win32.whl with PyYAML-3.11-cp27-cp27m-win_amd64.whl
After this, just do:
$ git clone -b master https://github.com/PokemonGoF/PokemonGo-Bot
$ cd PokemonGo-Bot
$ virtualenv .
$ source bin/activate
i`m in the folder where the pokemon go bot is installed but when i enter "source bin/activate" it says source is not recognized as an command. what am i doing wrong?
thanks in advance!
Other Information
OS: windows 10
Git Commit: (run 'git log -n 1 --pretty=format:"%H"' and paste it here)

You are under windows 10, follow the steps for windows
https://github.com/PokemonGoF/PokemonGo-Bot/wiki/Installation#installation-windows

thank you!!

In window use $ Scripts\activate.bat instead of $ source bin/activate

Close this issue. Issue resolved.


WFCORE-2929: Added missing default values in management model for Elytron ldap-key-store

Default values were already being correctly used in LdapKeyStore. The only advantage I can see setting default values on LdapKeyStoreDefinition is LdapKeyStoreService will end up with those defaults instead of nulls, and any class using the service will get the "real" defaults, so I created this PR instead of solving the issue directly.
Jira issues:
https://issues.jboss.org/browse/WFCORE-2929
https://issues.jboss.org/browse/JBEAP-7487

Core - Full Integration Build 5181 outcome was FAILURE using a merge of 6586f2f95f04084fda1f725d781818ef87cb83c0
Summary: Tests failed: 1 (1 new), passed: 4024, ignored: 130 Build time: 00:57:11
Failed tests
org.jboss.as.test.integration.domain.suites.DeploymentManagementTestCase.testUnmanagedArchiveUndeploy: java.io.IOException: Stream closed.
	at java.net.AbstractPlainSocketImpl.available(AbstractPlainSocketImpl.java:470)
	at java.net.SocketInputStream.available(SocketInputStream.java:259)
	at java.io.BufferedInputStream.read(BufferedInputStream.java:353)
	at sun.net.www.MeteredStream.read(MeteredStream.java:134)
	at java.io.FilterInputStream.read(FilterInputStream.java:133)
	at sun.net.www.protocol.http.HttpURLConnection$HttpInputStream.read(HttpURLConnection.java:3375)
	at java.io.BufferedInputStream.fill(BufferedInputStream.java:246)
	at java.io.BufferedInputStream.read(BufferedInputStream.java:265)
	at org.jboss.as.test.integration.domain.suites.DeploymentManagementTestCase.performHttpCall(DeploymentManagementTestCase.java:917)
	at org.jboss.as.test.integration.domain.suites.DeploymentManagementTestCase.performHttpCall(DeploymentManagementTestCase.java:905)
	at org.jboss.as.test.integration.domain.suites.DeploymentManagementTestCase.testUnmanagedArchiveDeployment(DeploymentManagementTestCase.java:313)
	at org.jboss.as.test.integration.domain.suites.DeploymentManagementTestCase.testUnmanagedArchiveUndeploy(DeploymentManagementTestCase.java:340)
------- Stdout: -------
[Server:other-two] 02:22:45,193 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-5) WFLYSRV0027: Starting deployment of "test.war" (runtime-name: "test.war")
[Server:other-two] 02:22:45,244 INFO  [org.wildfly.extension.undertow] (ServerService Thread Pool -- 26) WFLYUT0021: Registered web context: '/test' for server 'default-server'
[Server:other-two] 02:22:45,264 INFO  [org.jboss.as.server] (ServerService Thread Pool -- 24) WFLYSRV0010: Deployed "test.war" (runtime-name : "test.war")
[Server:other-two] 02:22:45,602 INFO  [org.wildfly.extension.undertow] (ServerService Thread Pool -- 26) WFLYUT0022: Unregistered web context: '/test' from server 'default-server'
[Server:other-two] 02:22:45,605 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-6) WFLYSRV0028: Stopped deployment test.war (runtime-name: test.war) in 3ms
[Server:other-two] 02:22:45,622 INFO  [org.jboss.as.server] (ServerService Thread Pool -- 24) WFLYSRV0009: Undeployed "test.war" (runtime-name: "test.war")

Core - Full Integration Build 5216 outcome was FAILURE using a merge of f10bfe3a7599e780568856f0d2ea1dc6d661f516
Summary: Execution timeout (new); tests passed: 3862, ignored: 113 Build time: 01:25:14

Full integration - Windows Build 3622 outcome was FAILURE using a merge of f10bfe3a7599e780568856f0d2ea1dc6d661f516
Summary: Execution timeout (new); tests passed: 4064, ignored: 115 Build time: 02:02:01

retest this please
@darranl please approve

@bstansberry / @kabir approved

@yersan This needs a rebase now. Ping me when it's rebased and I'll merge it once CI passes since it's been approved.

Hi @bstansberry , the branch has just been rebased

Full integration - Windows Build 3711 outcome was FAILURE using a merge of 3baa2d9cb044927c1195ac94c6b3efabd59101d2
Summary: Execution timeout (new); tests passed: 4049, ignored: 119 Build time: 02:01:41

I don't thinks this one is affected but we need to double check the schema following the previous model changes - as we have default values we need to ensure they are not on an optional element unless they all require another attribute on that element.

@darranl shouldn't optional values be the values that are likely to be configured with defaults? Probably I'm misunderstanding what defaults mean in this context, for me was, if an element doesn't have a value, then it gets the default.
The problem here is the test expects the same xml after marshalling the configuration, but since we have defatult values at model level, default values are not written to config file, then the test will fail comparing the configuration files if you include default values in your configuration.
in general, is that behaviour correct? I guess yes, so maybe we have just to adap the failed ldap.xml file removing defaults values from the configuration or, maybe, the test should be adapted to work in those cases.

Looking at the latest version of the schema this does appear to still be Ok.

The I have chosen the simplest way (I hope is the correct in this case), I have removed the default values from ldap.xml test file to avoid a test failure comparing the configuration after marshalling.

Core - Full Integration Build 5312 outcome was FAILURE using a merge of f7e2f9bba5addb34c74826aadb33d35ccb2cd60a
Summary: Tests failed: 1 (1 new), passed: 4067, ignored: 117 Build time: 01:10:06
Failed tests
org.jboss.as.test.integration.jca.capacitypolicies.ResourceAdapterCapacityPoliciesTestCase.testNonDefaultDecrementerAndIncrementer: java.lang.AssertionError: Pool hasn't been filled with expected connections within specified timeout
	at org.jboss.as.test.integration.jca.capacitypolicies.ResourceAdapterCapacityPoliciesTestCase.waitForPool(ResourceAdapterCapacityPoliciesTestCase.java:225)
	at org.jboss.as.test.integration.jca.capacitypolicies.ResourceAdapterCapacityPoliciesTestCase.testNonDefaultDecrementerAndIncrementer(ResourceAdapterCapacityPoliciesTestCase.java:170)
	at org.jboss.as.arquillian.service.ArquillianService$ExtendedJMXTestRunner.doRunTestMethod(ArquillianService.java:200)
	at org.jboss.as.arquillian.service.ArquillianService$ExtendedJMXTestRunner.runTestMethod(ArquillianService.java:176)
	at com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:112)
	at com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:46)
	at com.sun.jmx.mbeanserver.MBeanIntrospector.invokeM(MBeanIntrospector.java:237)
	at com.sun.jmx.mbeanserver.PerInterface.invoke(PerInterface.java:138)
	at com.sun.jmx.mbeanserver.MBeanSupport.invoke(MBeanSupport.java:252)
	at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819)
	at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801)
	at org.jboss.as.jmx.PluggableMBeanServerImpl$TcclMBeanServer.invoke(PluggableMBeanServerImpl.java:1475)
	at org.jboss.as.jmx.PluggableMBeanServerImpl.invoke(PluggableMBeanServerImpl.java:724)
	at org.jboss.as.jmx.BlockingNotificationMBeanServer.invoke(BlockingNotificationMBeanServer.java:168)
	at org.jboss.as.jmx.AuthorizingMBeanServer.invoke(AuthorizingMBeanServer.java:258)
	at org.jboss.remotingjmx.protocol.v2.ServerProxy$InvokeHandler.handle(ServerProxy.java:950)
	at org.jboss.remotingjmx.protocol.v2.ServerCommon$MessageReciever$1$1.run(ServerCommon.java:153)
	at org.jboss.as.jmx.ServerInterceptorFactory$Interceptor$1.run(ServerInterceptorFactory.java:71)
	at org.jboss.as.jmx.ServerInterceptorFactory$Interceptor$1.run(ServerInterceptorFactory.java:66)
	at org.wildfly.security.auth.server.SecurityIdentity.runAs(SecurityIdentity.java:287)
	at org.wildfly.security.auth.server.SecurityIdentity.runAs(SecurityIdentity.java:244)
	at org.jboss.as.controller.AccessAuditContext.doAs(AccessAuditContext.java:254)
	at org.jboss.as.controller.AccessAuditContext.doAs(AccessAuditContext.java:225)
	at org.jboss.as.jmx.ServerInterceptorFactory$Interceptor.handleEvent(ServerInterceptorFactory.java:66)
	at org.jboss.remotingjmx.protocol.v2.ServerCommon$MessageReciever$1.run(ServerCommon.java:149)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)
------- Stdout: -------
 [0m06:14:53,542 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-6) WFLYSRV0028: Stopped deployment jca-capacity-test.jar (runtime-name: jca-capacity-test.jar) in 1ms
 [0m [0m06:14:53,546 INFO  [org.jboss.as.repository] (management-handler-thread - 4) WFLYDR0002: Content removed from location /store/work/tc-work/5768cf3a0bee5b47/full/testsuite/integration/basic/target/jbossas/standalone/data/content/25/254879c9928a1d395a1716431d2dcf2878f687/content
 [0m [0m06:14:53,546 INFO  [org.jboss.as.server] (management-handler-thread - 4) WFLYSRV0009: Undeployed "jca-capacity-test.jar" (runtime-name: "jca-capacity-test.jar")
 [0m [0m06:14:53,559 INFO  [org.jboss.as.connector.subsystems.datasources] (MSC service thread 1-1) WFLYJCA0010: Unbound data source [java:jboss/datasources/ExampleDS]
 [0m [0m06:14:53,559 INFO  [org.jboss.as.connector.subsystems.datasources] (MSC service thread 1-1) WFLYJCA0010: Unbound data source [java:jboss/datasources/TestDatasource]
 [0m [0m06:14:53,560 INFO  [org.wildfly.extension.undertow] (MSC service thread 1-4) WFLYUT0019: Host default-host stopping
 [0m [0m06:14:53,562 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-6) WFLYSRV0028: Stopped deployment arquillian-service (runtime-name: arquillian-service) in 9ms
 [0m [0m06:14:53,563 INFO  [org.wildfly.extension.undertow] (MSC service thread 1-5) WFLYUT0008: Undertow HTTPS listener https suspending
 [0m [0m06:14:53,564 INFO  [org.wildfly.extension.undertow] (MSC service thread 1-5) WFLYUT0007: Undertow HTTPS listener https stopped, was bound to [::1]:8443
 [0m [0m06:14:53,564 INFO  [org.wildfly.extension.undertow] (MSC service thread 1-8) WFLYUT0008: Undertow HTTP listener default suspending
 [0m [0m06:14:53,565 INFO  [org.wildfly.extension.undertow] (MSC service thread 1-8) WFLYUT0007: Undertow HTTP listener default stopped, was bound to [::1]:8080
 [0m [0m06:14:53,565 INFO  [org.wildfly.extension.undertow] (MSC service thread 1-5) WFLYUT0004: Undertow 1.4.16.Final stopping
 [0m [0m06:14:53,569 INFO  [org.jboss.as.connector.deployers.jdbc] (MSC service thread 1-4) WFLYJCA0019: Stopped Driver service with driver-name = h2
 [0m [0m06:14:53,573 INFO  [org.jboss.as.mail.extension] (MSC service thread 1-3) WFLYMAIL0002: Unbound mail session [java:jboss/mail/Default]
 [0m [0m06:14:53,575 INFO  [org.jboss.as] (MSC service thread 1-5) WFLYSRV0050: WildFly Full 11.0.0.Beta1-SNAPSHOT (WildFly Core 3.0.0.Beta27-SNAPSHOT) stopped in 22ms
 [0m [0m06:14:53,575 INFO  [org.jboss.as] (MSC service thread 1-5) WFLYSRV0049: WildFly Full 11.0.0.Beta1-SNAPSHOT (WildFly Core 3.0.0.Beta27-SNAPSHOT) starting
 [0m [0m06:14:53,599 INFO  [org.jboss.as.controller.management-deprecated] (Controller Boot Thread) WFLYCTL0028: Attribute 'security-realm' in the resource at address '/core-service=management/management-interface=http-interface' is deprecated, and may be removed in future version. See the attribute description in the output of the read-resource-description operation to learn more about the deprecation.
 [0m [0m06:14:53,610 INFO  [org.jboss.as.controller.management-deprecated] (ServerService Thread Pool -- 29) WFLYCTL0028: Attribute 'security-realm' in the resource at address '/subsystem=undertow/server=default-server/https-listener=https' is deprecated, and may be removed in future version. See the attribute description in the output of the read-resource-description operation to learn more about the deprecation.
 [0m [0m06:14:53,619 INFO  [org.jboss.as.server] (Controller Boot Thread) WFLYSRV0039: Creating http management service using socket-binding (management-http)
 [0m [0m06:14:53,624 INFO  [org.jboss.as.connector.subsystems.datasources] (ServerService Thread Pool -- 36) WFLYJCA0004: Deploying JDBC-compliant driver class org.h2.Driver (version 1.4)
 [0m [0m06:14:53,633 INFO  [org.wildfly.extension.io] (ServerService Thread Pool -- 40) WFLYIO001: Worker 'default' has auto-configured to 8 core threads with 64 task threads based on your 4 available processors

Retest this please

retest this please

Full integration - Windows Build 3718 outcome was FAILURE using a merge of f7e2f9bba5addb34c74826aadb33d35ccb2cd60a
Summary: Tests passed: 4064, ignored: 119; swabra cleanup failed (new) Build time: 01:57:20

@yersan if you had to remove default values from the config file to prevent failures, we have a bug that must be fixed.
Looks like https://github.com/wildfly/wildfly-core/pull/2352 needs to be resurrected.

fix for that could also be
https://github.com/wildfly/wildfly-core/blob/master/elytron/src/main/java/org/wildfly/extension/elytron/RealmParser.java#L88
 .setMarshallDefaultValues(true|false)

@bstansberry @ctomc Thanks that was the trick here, since #2352 is still dead, I used .setMarshallDefaultValues(true) at TLS ldap-key-store parser level. It worked smoothly.


InlangSdkConfigError: sdk property missing

While trying to setup inlang in my SvelteKit project, I encounter this error:
InlangSdkConfigError: The `sdk` property is missing in your `inlang.config.js` file.`. Make sure to use the `sdkPlugin` in your `inlang.config.js` file.

Steps that led to this error

Using @inlang/cli to configure inlang ➜ manually created the file because of this open issue
Create the inlang.config.js pasting the example in the Getting Started page
Head over to SDK for SvelteKit, add the @inlang/sdk-js dependency and import the plugin into my vite.config.ts
Run pnpm dev and get an error telling that inlang can't find the specified languages folder (which I didn't create yet)
Create the language folder in ./src/locales/{language}.json and replace the path in the config file
Run pnpm dev again and get this SDK error

Can you provide the inlang.config.js file that you used?

I see our docs are misleading. The correct config for the sveltekit SDK can be found here.
You are not using the sdkPlugin for SvelteKit. Here is a working config:
export async function defineConfig(env) {
	const { default: pluginJson } = await env.$import(
<EMAIL_ADDRESS>	);

	const { default: sdkPlugin } = await env.$import(
		"https://cdn.jsdelivr.net/npm/<EMAIL_ADDRESS>	)

	return {
		referenceLanguage: "en",
		plugins: [
			pluginJson({
				pathPattern: "./src/locales/{language}.json"
			}),
                        sdkPlugin({
				languageNegotiation: {
					strategies: [
						{ type: "localStorage" }
					],
				},
			}),
		]
	};
}

@NiklasBuchfink seems like we should not only split the landing page by app but also the docs.

Ok, it fixed the issue, however now the vite plugin inlangPlugin() leads to a lot of errors and fails my project to build, related to stuff it's trying to add in the wrong places in my code.
I may also suggest updating the URL of the sdk-js import to 0.2.0 (which didn't solve the issue with your inlangPlugin()), which is the latest version which is installed from npm. Couldn't we just import the dependency directly? Why install it and import it in 2 different ways?

Couldn't we just import the dependency directly? Why install it and import it in 2 different ways?

Everything in the inlang.config.js, including (inlang) pugins, runs in the browser too. A dependency on NPM becomes a nightmare in the browser. We have a lengthy discussion about the problem over at https://github.com/inlang/inlang/discussions/669#discussioncomment-5838556.
The two version/import is problematic though. I proposed a solution in 669 that uses a "shell" package that auto downloads the correct version.

inlangPlugin() leads to a lot of errors and fails my project to build, related to stuff it's trying to add in the wrong places in my code.

What errors are you getting?

Hmm, I see yeah... How do the other Svelte(Kit) i18n packages - sveltekit-i18n, typesafe-i18n - handle the situation?
Inlang looks really promising but I feel like the way it's built is a bit "hacky" and in an early stage though.
Anyway, my problem is not #679, it's a problem with this line:
{#if $language}

trying to put itself on top of my +layout.svelte. The problem is that I'm using a:
<svelte:window bind:... />

binding on top of my +layout.svelte and this leads to an error stating that this binding cannot be wrapped into a statement (which makes sense).

Hmm, I see yeah... I guess that's one of the reasons why inlang.config.ts is not a thing?

Correct. Using .ts would require a transpilation step in the browser. Ivan just opened an issue on how to achieve typesafety without .ts files https://github.com/inlang/inlang/issues/689.

How do the other Svelte(Kit) i18n packages - sveltekit-i18n, typesafe-i18n - handle the situation?

We have to separate packages. One for inlang (plugin) and one for vite (sveltekit). The inlang plugin has strict browser compatible requirements. The vite plugin can work like any svelte plugin. We are separating both "plugins" to make this separating clear and decrease the potential for bugs, see https://github.com/inlang/inlang/pull/690.

Inlang looks really promising but I feel like the way it's built is a bit "hacky" and in an early stage though.

The SvelteKit SDK is early. The web editor is mature and can be used with any i18n library as long as a plugin exists (or you write your own). What makes inlang look promising to you?

Thanks for those details! I'm not really into inlang's internals so I don't really get the reasons of all your problems but I can understand it's tough to deal with all that.
What makes it promising:

its really nice web UI (not the core of the thing but it counts a lot)
(future) ci integration
web editor & auto git integration
(future) support for more frameworks

So yeah that's a lot of things I've never seen elsewhere (at least for Svelte) and your team seem ambitious from what I can see

I just forwarded your message to Nils and Niklas who are designing and engineering the editor. They will surely be delighted to hear that you appreciate the UI!
And, you totally got the value prop of inlang! Localization deeply integrated into git and software engineering workflows like CI/CD.
I'll close this issue because the issue is unrelated to the plugin-json. But, feel free to keep the conversation about inlang going or join our discord https://discord.gg/gdMPPWy57R

As I've seen, Inlang is the replacement for typesafe-i18n isn't it? How old is the project?
From an external POV, here are some points I may suggest to you:

Improve the docs. The onboarding process is not clear and straightforward enough, I had to randomly browse the other doc pages to figure out what to do after getting my inlang.config.js up.
Also maybe move the https://github.com/inlang/ecosystem repo to a simple doc page of the website, exiting the docs and being redirected to an external link which is a GitHub repo with a single README file doesn't seem to be a good choice IMO.
Finally, I could see here and there some mismatching examples between the environment repo and the Getting Started page, gathering all that can be once again a solution to avoid multiple sources of info, and a good tip would be to try integrating some code check in your CI pipeline. That's what Rich did for the Svelte docs and I think it's a fantastic idea to make sure the doc is always up to date and tested on the current codebase to avoid misinformation and too much open issues because of typos.
To sum up: some cleanup, page refactoring/reordering & potentially CI/CD from https://github.com/inlang/inlang
Clearly mark unimplemented features as unimplemented. From the landing page it seems that everything is up and ready, and that's also what I could understand from your Svelte Summit presentation last Saturday (where I heard of you the first time), but it's not the case. Put some Upcoming badges on the docs pages that are, and clearly make it clear from the landing page that those features are not here yet.
Ease/explain the installation steps. Maybe explain why some steps are mandatory, used for, and look duplicate (typically for the duplicate between manual import in the config file and installation of the npm package). As for my personal experience, I found your doc really complex. I just wanted to get 2 things from a SvelteKit i18n: easy installation and setup & optional manual overriding of the browser language. Inlang offers this and everything I already mentioned, but I found myself getting information all over the place, SDK config, different parsing plugins, 2-3 doc steps for installation... To sum up: not easy to follow and overly complicated when you know what you're looking for but you can't easily find it.
Move all inlang-related repos to the inlang org. Pretty straightforward and avoids confusion and separated code.
Rename your npm package. Not a big thing but I don't get why your named it @inlang/sdk-js: if it's on npm, it can't be something else than JS!

Sorry I was already writing when you closed the issue haha, I'll probably join your Discord and maybe even contribute if I manage to find some time but for now it's complicated!

As I've seen, Inlang is the replacement for typesafe-i18n isn't it?

No, inlang itself is not a typesafe-i18n replacement. But, the sdk-js is a typesafe-i18n replacement.
Inlang is an ecosystem of applications and plugins to streamline localization/i18n. The main apps consist of a web editor, ide extension, CLI (for CI/CD), and now an SDK. All apps can be used independently of each other, or in combination.

How old is the project?

Nearing the two-year mark with a full year of only R&D and prototyping. The first prototype was shared on Svelte's Reddit https://www.reddit.com/r/sveltejs/comments/p4h6bg/proof_of_concept_internationalize_a_svelte_app_in/.
Getting started

The onboarding process is not clear and straightforward enough, I had to randomly browse the other doc pages to figure out what to do after getting my inlang.config.js up.

One struggle we are having is that inlang is multiple apps that have a common denominator, namely the inlang.config.js file but the configs (slightly) differ per app. A pull request is ongoing, see https://github.com/inlang/inlang/pull/676.
Your feedback there on getting started is highly appreciated!

Also maybe move the https://github.com/inlang/ecosystem repo to a simple doc page of the website, exiting the docs and being redirected to an external link which is a GitHub repo with a single README file doesn't seem to be a good choice IMO.

The idea was a CI/CD pipeline to test the ecosystem similar to the way Vite handles their ecosystem and make it easier for external developers to open pull requests. But, this is not established yet and the UX of reading about the ecosystem on the docs is better in any way. Thus, yes, we should move the ecosystem to the docs. I opened an issue https://github.com/inlang/inlang/issues/698.

integrating some code check in your CI pipeline. That's what Rich did for the Svelte docs and I think it's a fantastic idea to make sure the doc is always up to date and tested on the current codebase to avoid misinformation and too much open issues because of typos.

Can you point me to the way Svelte does code checks for docs?

Move all inlang-related repos to the inlang org. Pretty straightforward and avoids confusion and separated code.

Planning on doing that. The plugin-json was not supposed to become a major plugin :D I will move it to the inlang repo if JSDelivr doesn't get hiccups.

Rename your npm package. Not a big thing but I don't get why your named it @inlang/sdk-js: if it's on npm, it can't be something else than JS!

Because a sdk-flutter, sdk-ios, etc. will follow. We need to separate the directories of those sdk's in the source code and referring to the sdk-js in the docs instead of SDK should clear things up.

https://github.com/inlang/inlang/issues/700

No, inlang itself is not a typesafe-i18n replacement. But, the sdk-js is a typesafe-i18n replacement.

Yes okay makes sense (pretty much what I had on my mind but I said it wrong)

One struggle we are having is that inlang is multiple apps that have a common denominator, namely the inlang.config.js file but the configs (slightly) differ per app. A pull request is ongoing, see inlang/inlang#676.

Yeah, I feel you. However, you could simply link all possible ways to continue setting up your environment depending on your framework from the bottom of the Getting Started. This way the user is guided and nothing is duplicated.

Your feedback there on getting started is highly appreciated!

No problem! I enjoy helping you get better.

The idea was a CI/CD pipeline to test the ecosystem similar to the way Vite handles their ecosystem and make it easier for external developers to open pull requests.

AFAIK your website is the documentation folder of https://github.com/inlang/inlang isn't it? Then why is CI/CD a problem?

Can you point me to the way Svelte does code checks for docs?

I heard this from a conference he gave at Vercel not so long ago, I could try digging through https://github.com/sveltejs/svelte to find out exactly how he did that.

Because a sdk-flutter, sdk-ios, etc. will follow. We need to separate the directories of those sdk's in the source code and referring to the sdk-js in the docs instead of SDK should clear things up.

I agree, however, GitHub repo name and NPM package name are two different things; can't you name your package NPM @inlang/sdk and keep the repo named sdk-js? If you can't, my bad, I wasn't aware of this.

I agree, however, GitHub repo name and NPM package name are two different things; can't you name your package NPM @inlang/sdk and keep the repo named sdk-js? If you can't, my bad, I wasn't aware of this.

Renaming packages on NPM is not possible. Besides, I would find that confusing. sdk-js is explicitly referring to the js SDK, @inlang/sdk could refer to any SDK if read out of context [of npm packages].

Yeah, I feel you. However, you could simply link all possible ways to continue setting up your environment depending on your framework from the bottom of Getting Started. This way the user is guided and nothing is duplicated.

Good point. @NiklasBuchfink plans a new landing page and eventually docs (?) that targets frameworks more specifically.

The idea was a CI/CD pipeline to test the ecosystem similar to the way Vite handles their ecosystem and make it easier for external developers to open pull requests.

AFAIK your website is the documentation folder of https://github.com/inlang/inlang isn't it? Then why is CI/CD a problem?

Yeah, premature optimization. I mentioned in https://github.com/inlang/inlang/issues/698 that moving ecosystem into the main repo seems to make sense.

Last suggestion before closing this for good:
Integrate every possible example (Svelte & SvelteKit with every different config basically) in your CI/CD to check if they build successfully with your latest code. I've opened 3 issues so far with a (quite simple) SvelteKit project and I still can't make it work 😅

Forwarded your idea to the test issue in #523.

Last suggestion before closing this for good:

Keep it coming! :)

I don't have anymore idea yet but I'll surely have some once I got it finally working! :D

Integrate every possible example (Svelte & SvelteKit with every different config basically) in your CI/CD to check if they build successfully with your latest code

That is the plan. But we haven't had time to do it until now. We did a speedrun when implementing the basics for the SvelteSummit Talk and to make the things work we show in the video the last commit was done a few hours before the event started 😅


intial files and folder dependencies

Initial files and folder

[ ] App with Create react app
[ ] respective linters
[ ] react router dom
[ ] loders
[ ] redux toolkit installed

happy coding

Hi @PowerLevel9000  ,
Your project is complete!  There is nothing else to say other than... it's time to merge it :shipit:
Congratulations! 🎉

Highlights
✅ Correct use of Gitflow
✅ No linter error
✅ initial files and folder dependencies are sited as expected
Optional suggestions
Every comment with the [OPTIONAL] prefix won't stop the approval of this PR. However, I strongly recommend you to take them into account as they can make your code better. Some of them were simply missed by the previous reviewer and addressing them will really improve your application.
Cheers and Happy coding!👏👏👏
Feel free to leave any questions or comments in the PR thread if something is not 100% clear.
Please, remember to tag me in your question so I can receive the notification.

As described in the Code reviews limits policy  you have a limited number of reviews per project (check the exact number in your Dashboard). If you think that the code review was not fair, you can request a second opinion using this form.

#thanks
@Habtamu210  thanks for the review mate


CLI changes when specifying the distribution when creating percentiles/probabilities from the mean and variance

Related to: #1008
Description
Changes to CLI to specify the distribution and shape parameters when applying the EMOS coefficients.
The contents of this PR is (not including changes from #1008 ):

Add a compulsory distribution argument and an optional shape_parameter argument to the apply-emos-coefficients CLI. Passes these arguments through to the GeneratePercentilesFromMeanAndVariance and GenerateProbabilitiesFromMeanAndVariance plugin.
Update CLI tests with the added arguments.

Testing:

[x] Ran tests and they passed OK

 Here is an overview of what got changed by this pull request:

Issues
======
+ Solved 3
- Added 10

Complexity increasing per file
==============================
- lib/improver/tests/ensemble_copula_coupling/ensemble_copula_coupling/test_FromMeanAndVariance.py  2
- lib/improver/cli/apply_emos_coefficients.py  3

Clones added
============
- lib/improver/tests/ensemble_copula_coupling/ensemble_copula_coupling/test_GeneratePercentilesFromMeanAndVariance.py  7

See the complete overview on Codacy

 Here is an overview of what got changed by this pull request:

Issues
======
+ Solved 3
- Added 10

Complexity increasing per file
==============================
- lib/improver/tests/ensemble_copula_coupling/ensemble_copula_coupling/test_FromMeanAndVariance.py  2
- lib/improver/cli/apply_emos_coefficients.py  3

Clones added
============
- lib/improver/tests/ensemble_copula_coupling/ensemble_copula_coupling/test_GeneratePercentilesFromMeanAndVariance.py  7

See the complete overview on Codacy

 Here is an overview of what got changed by this pull request:

Issues
======
- Added 2

Complexity increasing per file
==============================
- lib/improver/cli/apply_emos_coefficients.py  3

See the complete overview on Codacy


Google cloud datastore slow. >1 sec / query

We've been getting consistent greater than 1 second on average calls from gcds. Not sure why its ridiculously slow.
We are using it from python version : google-cloud-datastore==1.2.0
from google.cloud import datastore

client = datastore.Client('foo', 'bar')
client.query(
  kind='Blah',
  filters=(
      ('name', '=', 'yolo'),
  ),
  order=('timestamp',)
)

print(list(query.fetch()))

Very simple call but consistently very slow.

@nojvek Two potential explanations immediately come to mind for me:

Your internet connection is slow
list(query.fetch()) is making MANY requests. query.fetch() will return an iterator and will continue paging through results (i.e. making one API request per page) until all results matching the query have been found

Do either of these seem reasonable?

@dmcgrath Hi Dan, I saw your answer in #4925.  May I ask if you have any insights on this issue?
Thanks.

@nojvek Your example doesn't show it, but is it possible you are doing the reads in the context of a transaction?   The "one per second" response time sounds like one of the limits mentioned in the Datastore API docs:

Maximum rate of transactions reading from or writing to an entity group | 1 per sec

That row links to the Transactions and Entity Groups concept doc:

There is a write throughput limit of about one transaction per second within a single entity group. This limitation exists because Cloud Datastore performs masterless, synchronous replication of each entity group over a wide geographic area to provide high reliability and fault tolerance.

@pcostell Can you suggest any other explanation?

I'm going to take the initiative and close this.  This thread is old, and generally latency issues benefit from working with Google Cloud support engineers who have more access to information than the client team would.  Please reopen if there's no smoking gun from the service side.


Fix broken link

On Avoid overwriting GOV.UK Design System code the automated conversion generates a - between GOV and UK which is missing from a reference

Thanks Alex :)

Thanks Alex :)

You can preview this change here:
Built with commit 9800f28e166e7de7ae2053a8f76353f1432c00fd
https://deploy-preview-832--govuk-design-system-preview.netlify.com


Update zio-json to 0.3.0-RC11

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

Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "dev.zio", artifactId = "zio-json" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "@monthly" },
  dependency = { groupId = "dev.zio", artifactId = "zio-json" }
}]

labels: library-update, early-semver-pre-release, semver-spec-pre-release, commit-count:1

Superseded by #127.


Criteria for Tag Adoption

What do you all think about creating criteria for tag adoption? For example, what if we said a tag is not accepted into the namespace until it is committed/supported by at least one podcast hosting company and one podcast player? This may help us focus on the new tags that are most important?

Yes, there needs to be a better, clearer explanation of the adoption process. It’s my fault for leaving some of that unsaid.
I mean to do that on Friday’s show.  But, I’ll write something up here as a starting point that can be refined.

This may make it easier for your original timeline proposal. Rather than having a date when multiple tags all will be adopted, we could just say tags are adopted as they put into practice by the industry 🤷♂

My wording was confusing.  I stated that "whatever tags are still in phase 1 at that point will be officially formalized."  What was left unsaid was that I don't expect there to be much left in phase 1 to adopt.  The phase 1 closing date was just meant to let us go ahead and get a few important tags defined and out in the wild.  The ones that had been discussed for years, or were already in practice "like transcripts".  The rest of the phase 1 stuff was just proposals/ideas that I've always expected to be pushed back.  Things like "newFeedUrl" and "images" are meant as discussion points to see if any agreement forms around them.

Added more clarity here:  https://github.com/Podcastindex-org/podcast-namespace#current-roadmap

I think we should refer to version numbers, instead of phases. That can be a lot more easily iterative, too. 1.1 could simply add a couple formalized tags, but "phase 2" sounds like it has to be a lot bigger.

That wouldn't work because there may be some periods of work where nothing actually gets formalized.  We'll figure it out and make a change to the process as we go if we see this way is cumbersome.  No biggie.


Create a custom formatter for tables

The formatter class should be representable as XML element tree. It should be able to do the following:

allow to transpose the resulting data frame
reorder and delete columns that are not necessary (this can be done in one step by keeping a list of the necessary columns)
allow to rename the axes. The names must pass the tex-conversion.
allow to format the precision for individual columns.

This becomes relevant as rubberband should be improved.

I would not expect that this is happening soon. Rough formatting is already available through format strings.

As a preliminary step it would then also be nice to have formatstrings for the individual compare columns and the aggregations.

Aggregations (should) use the same formatting that the corresponding columns use. The Evaluation itself has an attribute comparecolformat that you can use for compare columns.

Okay, that seems to be broken then. Can you tell me where the formatting is happening?

I'll fix it


⚠ GitLab Server has degraded performance

In d42eecf, GitLab Server (https://gitlab01.its-telekom.eu) experienced degraded performance:

HTTP code: 200
Response time: 9319 ms

Resolved: GitLab Server performance has improved in 1947302.


always waiting for image

I have yolo running on a server and the robot publishing a usb camera topic /usb_cam/image_raw - i am able to see the image in rviz, but I get a continuous "waiting for image" message from the darknet_ros package after i configure the ros.yml file to subscribe to the same topic. I tried running all the launch files with no success.
Im not using a GPU, yet - I was just testing with a CPU but it cant seem to subscribe to the image topic.
Thanks for your help.

I am facing the same issue. Did you find any fix to the problem?

If you are running on multiple machines pay attention they are working on the same network

Go to ros.yaml and change enable_opencv to false it will show detect objects % in the console.
Now I am trying to figure it out how to make it to display rectangle around detected images.

I can see the topic /camera/image_raw in rostopic list and I also checked rostopic echo /camera/image_raw. I also changed ros.yaml to subscribe to /camera/image_raw. The darknet_ros is still "Waiting for image". I am using Ubuntu bash on windows.

I got around this by using cv_camera instead of darknet_ros's default node. I installed and ran cv_camera, then changed the camera topic in darknet_ros's ros.yaml to "topic: /cv_camera/image_raw". After that I launched darket_ros's yolo node and everything worked fine.

Hi, we share the same issue. Should we change the codes below in src/YoloObjectDetector.cpp ?
nodeHandle.param("subscribers/camera_reading/topic", cameraTopicName,
std::string("/camera/image_raw"));
nodeHandle_.param("subscribers/camera_reading/queue_size", cameraQueueSize, 1);
nodeHandle_.param("publishers/object_detector/topic", objectDetectorTopicName,
std::string("found_object"));
nodeHandle_.param("publishers/object_detector/queue_size", objectDetectorQueueSize, 1);
nodeHandle_.param("publishers/object_detector/latch", objectDetectorLatch, false);
nodeHandle_.param("publishers/bounding_boxes/topic", boundingBoxesTopicName,
std::string("bounding_boxes"));
nodeHandle_.param("publishers/bounding_boxes/queue_size", boundingBoxesQueueSize, 1);
nodeHandle_.param("publishers/bounding_boxes/latch", boundingBoxesLatch, false);
nodeHandle_.param("publishers/detection_image/topic", detectionImageTopicName,
std::string("detection_image"));
nodeHandle_.param("publishers/detection_image/queue_size", detectionImageQueueSize, 1);
nodeHandle_.param("publishers/detection_image/latch", detectionImageLatch, true);
imageSubscriber_ = imageTransport_.subscribe(cameraTopicName, cameraQueueSize,
&YoloObjectDetector::cameraCallback, this);_
And , hi, @CDRE-LXIV  could you explain more about the cv_camera?
Looking forward to your help. THANKS

I installed the ROS package cv_camera (link: http://wiki.ros.org/cv_camera), which I run using "rosrun cv_camera cv_camera_node". That publishes several topics, the one we want is: "/cv_camera/image_raw".
I edited two files in darknet_ros:
1.) In the launch folder, open darket_ros.launch: comment out the existing camera topic:

?>
and insert:
.
2.) In the config folder, open ros.yaml: change the camera reading topic to:
topic: /cv_camera/image_raw
Now if you launch darknet_ros using darket_ros.launch it should look for the image topic created by the cv_camera package instead. Good luck!

THANKS @CDRE-LXIV
I'm gonna try.

Hello, I encountered the same problem, I use the csi camera on jetsonnano, but it keeps showing waiting for image

I installed the ROS package cv_camera (link: http://wiki.ros.org/cv_camera), which I run using "rosrun cv_camera cv_camera_node". That publishes several topics, the one we want is: "/cv_camera/image_raw".
I edited two files in darknet_ros:
1.) In the launch folder, open darket_ros.launch: change the existing camera topic:
arg name="image" default="/camera/rgb/image_raw" /
to
arg name="image" default="/cv_camera/image_raw" /
2.) In the config folder, open ros.yaml: change the camera reading topic to:
topic: /cv_camera/image_raw
Now if you launch darknet_ros using darket_ros.launch it should look for the image topic created by the cv_camera package instead. Good luck!

This works with usb_cam also. Running,  roslaunch usb_cam usb_cam-test.launch and then it tells  me image location to be /usb_cam/image_raw  and updated same in arg name in darknet_ros.launch and
camera_reading:
topic: /usb_cam/image_raw #/camera/rgb/image_raw in ros.yaml in darknet_ros/darknet_ros/config/ folder.
Then roslaunch darknet_ros darknet_ros.launch and works perfetctly. Its slow on cpu though!

@rcpilotp51 hey I am very new to this. Can please help me how do you view images in rviz?
Also I tried updating the camera reading topic but I still face the same problem

I installed the ROS package cv_camera (link: http://wiki.ros.org/cv_camera), which I run using "rosrun cv_camera cv_camera_node". That publishes several topics, the one we want is: "/cv_camera/image_raw".
I edited two files in darknet_ros:
1.) In the launch folder, open darket_ros.launch: change the existing camera topic:
arg name="image" default="/camera/rgb/image_raw" /
to
arg name="image" default="/cv_camera/image_raw" /
2.) In the config folder, open ros.yaml: change the camera reading topic to:
topic: /cv_camera/image_raw
Now if you launch darknet_ros using darket_ros.launch it should look for the image topic created by the cv_camera package instead. Good luck!

This works with usb_cam also. Running, roslaunch usb_cam usb_cam-test.launch and then it tells me image location to be /usb_cam/image_raw and updated same in arg name in darknet_ros.launch and camera_reading: topic: /usb_cam/image_raw #/camera/rgb/image_raw in ros.yaml in darknet_ros/darknet_ros/config/ folder. Then roslaunch darknet_ros darknet_ros.launch and works perfetctly. Its slow on cpu though!

I tried to use cv_camera or usb_cam bag, and i fixed the code as instructions, but the error still occured which is "waiting for image" and nothing shows.Is there any other ideas to slove it? thanks!

(1) How I solved the issue is, I installed the usb_cam module and updated my ros.yaml file as below
(2) Also update your darknet_ros.launch file with  topic: /usb_cam/image_raw
`subscribers:
camera_reading:
topic: /usb_cam/image_raw
queue_size: 1
actions:
camera_reading:
name: /darknet_ros/check_for_objects
publishers:
object_detector:
topic: /darknet_ros/found_object
queue_size: 1
latch: false
bounding_boxes:
topic: /darknet_ros/bounding_boxes
queue_size: 1
latch: false
detection_image:
topic: /darknet_ros/detection_image
queue_size: 1
latch: true
image_view:
enable_opencv: true
wait_key_delay: 1
enable_console_output: true`

I installed the ROS package cv_camera (link: http://wiki.ros.org/cv_camera), which I run using "rosrun cv_camera cv_camera_node". That publishes several topics, the one we want is: "/cv_camera/image_raw".
I edited two files in darknet_ros:
1.) In the launch folder, open darket_ros.launch: change the existing camera topic:
arg name="image" default="/camera/rgb/image_raw" /
to
arg name="image" default="/cv_camera/image_raw" /
2.) In the config folder, open ros.yaml: change the camera reading topic to:
topic: /cv_camera/image_raw
Now if you launch darknet_ros using darket_ros.launch it should look for the image topic created by the cv_camera package instead. Good luck!

This works with usb_cam also. Running, roslaunch usb_cam usb_cam-test.launch and then it tells me image location to be /usb_cam/image_raw and updated same in arg name in darknet_ros.launch and camera_reading: topic: /usb_cam/image_raw #/camera/rgb/image_raw in ros.yaml in darknet_ros/darknet_ros/config/ folder. Then roslaunch darknet_ros darknet_ros.launch and works perfetctly. Its slow on cpu though!

I tried to use cv_camera or usb_cam bag, and i fixed the code as instructions, but the error still occured which is "waiting for image" and nothing shows.Is there any other ideas to slove it? thanks!

I have same issue. What should I do ? Thanks.

I installed the ROS package cv_camera (link: http://wiki.ros.org/cv_camera), which I run using "rosrun cv_camera cv_camera_node". That publishes several topics, the one we want is: "/cv_camera/image_raw".
I edited two files in darknet_ros:
1.) In the launch folder, open darket_ros.launch: change the existing camera topic:
arg name="image" default="/camera/rgb/image_raw" /
to
arg name="image" default="/cv_camera/image_raw" /
2.) In the config folder, open ros.yaml: change the camera reading topic to:
topic: /cv_camera/image_raw
Now if you launch darknet_ros using darket_ros.launch it should look for the image topic created by the cv_camera package instead. Good luck!

This works with usb_cam also. Running, roslaunch usb_cam usb_cam-test.launch and then it tells me image location to be /usb_cam/image_raw and updated same in arg name in darknet_ros.launch and camera_reading: topic: /usb_cam/image_raw #/camera/rgb/image_raw in ros.yaml in darknet_ros/darknet_ros/config/ folder. Then roslaunch darknet_ros darknet_ros.launch and works perfetctly. Its slow on cpu though!

I tried to use cv_camera or usb_cam bag, and i fixed the code as instructions, but the error still occured which is "waiting for image" and nothing shows.Is there any other ideas to slove it? thanks!

I have same issue. What should I do ? Thanks.

Hi. I solved my problem. I am using realsense D435i camera. I changed topic : "/camera/color/image_raw/". It worked


feat: image tokens

TODO:

[ ] Upload token asset
[ ] Persist token on server

After some more research I rather wanna use sha256 for hashing using window.crypto.subtle and https://github.com/dchest/fast-sha256-js as a fallback.


licensecheck: more Scan adjustments, add MIT variants

A CL like "more adjustments" is not sufficiently explanatory.

I'm sure I'm just not using GitHub "correctly". The individual commits spell out the actual changes.
(See the Commits tab: https://github.com/google/licensecheck/pull/29/commits).
Reproducing the descriptions here:
commit 85e9b24f3c91c2205cfffde4ac5fd9b39fc23dae (rsc/master)
Author:     Russ Cox<EMAIL_ADDRESS>AuthorDate: Sun Aug 2 09:30:43 2020 -0400
Commit:     Russ Cox<EMAIL_ADDRESS>CommitDate: Mon Aug 3 17:03:41 2020 -0400

    licenses: add MIT variants: MIT-0, MITNFA, JSON [LRE]

commit 514a1c1b14b767831b459bcd696788ec3cfbc57b
Author:     Russ Cox<EMAIL_ADDRESS>AuthorDate: Sun Aug 2 09:55:10 2020 -0400
Commit:     Russ Cox<EMAIL_ADDRESS>CommitDate: Mon Aug 3 16:20:13 2020 -0400

    internal/match: refactor re.compile1 into reCompile struct

    Using a reCompile struct is clearer and avoids the possibility
    of forgetting to save the result of an append to the prog.
    It also makes it easier to add new compilation state.

commit e258efa7815b4258f108a9d897001eacb5dcdc9f
Author:     Russ Cox<EMAIL_ADDRESS>AuthorDate: Fri Jul 31 16:28:24 2020 -0400
Commit:     Russ Cox<EMAIL_ADDRESS>CommitDate: Mon Aug 3 16:20:13 2020 -0400

    internal/match: reject licenses with short or wildcard leading phrases

    1-word leading phrases or 2-word phrases containing wildcards
    were silently dropped before the DFAs were all merged together.
    Now they bloat the DFA but are still unreachable because of the
    phrase search optimization during the main scan.
    Reject them instead.

commit 7e34d343a8bb1a2cf354bc61578771533c0771f7
Author:     Russ Cox<EMAIL_ADDRESS>AuthorDate: Mon Aug 3 15:15:29 2020 -0400
Commit:     Russ Cox<EMAIL_ADDRESS>CommitDate: Mon Aug 3 16:20:13 2020 -0400

    internal/match: recognize notice(s) as notices

    This construct happens in many licenses.
    Recognize it as one word and let the spell-checker
    deal with the singular/plural distinction.

commit d0c4dae03dff8aca1812f07b7ef6d98b8a907536
Author:     Russ Cox<EMAIL_ADDRESS>AuthorDate: Sun Aug 2 09:49:39 2020 -0400
Commit:     Russ Cox<EMAIL_ADDRESS>CommitDate: Mon Aug 3 16:03:33 2020 -0400

    licensecheck: initialize scanner lazily

    The DFA compilation can take a significant amount of time.
    Initializing it lazily makes that work appear in testing profiles
    (generated by -test.cpuprofile, which doesn't cover init-time work).

commit 30c85b6b5da6824bbd93359d271c5c0ab9fc5c13
Author:     Russ Cox<EMAIL_ADDRESS>AuthorDate: Sun Aug 2 09:35:51 2020 -0400
Commit:     Russ Cox<EMAIL_ADDRESS>CommitDate: Sun Aug 2 09:36:25 2020 -0400

    internal/match: change TraceDFA from bool to int

    This gives more control over how chatty we want the traces to be.


Add inputs and outputs based on tx emulating returns

When doing a transaction, the user sometimes will need to add variable outputs in cases where the script creates a new output or contract inputs  in cases were the scripts interact with multiple contracts.
To make it easier, we should implement an exhausting iteration, where it's possible to emulate a transaction, parse the errors, and change the tx by, in this case adding new variable outputs or contract inputs until the tx stop failing.
To achieve this, we also need to make sure the fuel node returns the proper errors when a variable or contract input is missing and what values it expects.

@digorithm Does the rust sdk have contract we can resuse to test against this?

@digorithm Does the rust sdk have contract we can resuse to test against this?

Not really, at least not yet, we're also on working on something like this on the Rust side!

https://github.com/FuelLabs/fuel-specs/pull/409

https://github.com/FuelLabs/fuels-rs/issues/596 this one will help on the variable outputs estimation

PR open for contract id: https://github.com/FuelLabs/fuel-tx/pull/195

Just to confirm this is for simulate() calls, not dryRun aka .call()

Just to confirm this is for .simulate() calls, not dryRun aka .call()

I think we should incorporate the dryRun we run right before doing the transaction to get the gasUsed and add some flags to disable and also pass the max number of iterations.

Moved this out of blocked


Recognize underscores as commit tree characters

Currently, any line in a commit tree representation with an underscore
will not be highlighted correctly.  The solution is to add the
underscore to the list of commit tree characters.
Fixes #766.

Thanks will check it out 👍

This request looks good to me. I suggest that it be merged.

Hi!  Friendly ping @ryanoasis :smile:
I just re-verified that it's easy to reproduce #766 by pasting the sample text into a new vim buffer, and running :setfiletype vundlelog.  In the line with the underscore, everything after that character is highlighted incorrectly.
It's probably just as easy to verify the fix, by following the same procedure after patching in the branch, although I don't presently plan to re-test this unless requested.
For confidence, note that I was the original author of the files I'm modifying, in #633.  So, it's very likely that the 2016 version of me knew what he was doing. :slightly_smiling_face:
For motivation, note that merging this pull request will take care of two outstanding items on Milestone 0.10.3: one for the PR, one for the issue it resolves.  This will take you from 3/8 to 5/8 progress---you'll be over the halfway mark!
Let me know if there's anything you need me to do.


Not able to decompress large strings

I am getting this error while decompressing large strings.
2022-02-06 14:10:06.835149+0530 Test[3704:1771835] Swift/Integers.swift:3447: Fatal error: Not enough bits to represent the passed value
The code I have tries is
let newString = decompressFromUTF16(input: myString)
myString is very large LZ string from server which is sized around 1-2 MB.

@mtakagi @gitter-badger Please review my PR which focuses on fixing this issue.
https://github.com/takagi-denki/lzstring-swift/pull/12
Your feedback is welcome.


fix indentation and casing of Source Link bullet

To match the dialog:

@Mikejo5000 this looks good to me. Can you double check? @adamralph thanks for fixing the indentation and capitalization!


Add TF-TRT Python integration tests in dynamic shape mode

This PR updates TF-TRT Python unit test to run both implicit batch and dynamic shape tests.
Some of the test have to be adjusted because the conversion rate is different in dynamic shape mode. Comments that explain the difference are added to the tests.
Apart from updating the test, this PR also removes the requirement to run build mode in dynamic shape mode. The necessary changes in trt_engine_op were implemented already in dynamic shape phase 3, but the Python side error message was not removed at that time.
Tagging @bixia1 for review. Tracker #45481

I see these test failure

@tfeher  Can you please check @bixia1's comments and keep us posted ? Thanks!

@bixia1 I have fixed the failing tests. Sorry for the delay.


[BUG] Report errors using provided dataset

I used the streamspot wget dataset, but the dimensionality of the node features after running data parsing does not match the model you provided. For example, the dimension of streamspot is 20, but your model requires 5

Can you run the other dataset successfully? Leave a contact information to communicate?

I used the streamspot wget dataset, but the dimensionality of the node features after running data parsing does not match the model you provided. For example, the dimension of streamspot is 20, but your model requires 5

Can you run the other dataset successfully? Leave a contact information to communicate?

I have encountered some problems. You can contact me on QQ<PHONE_NUMBER>.
------------------ 原始邮件 ------------------
发件人: "Chen @.>;
发送时间: 2023年12月27日(星期三) 下午3:17
收件人: @.>;
抄送: @.>; @.>;
主题: Re: [FDUDSDE/MAGIC] [BUG] Report errors using provided dataset (Issue #2)
I used the streamspot wget dataset, but the dimensionality of the node features after running data parsing does not match the model you provided. For example, the dimension of streamspot is 20, but your model requires 5
Can you run the other dataset successfully? Leave a contact information to communicate?
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.Message ID: @.***>

Please check your email, I send some information to you.

I used the streamspot wget dataset, but the dimensionality of the node features after running data parsing does not match the model you provided. For example, the dimension of streamspot is 20, but your model requires 5

Can you run the other dataset successfully? Leave a contact information to communicate?

Please check your email, I send some information to you.

Confirmed that the streamspot checkpoint is bugged. We will update a correct one in a day.

I have retrained and uploaded a new streamspot checkpoint. Please check if it works at your convenience. @Suiji1999

I have retrained and uploaded a new streamspot checkpoint. Please check if it works at your convenience. @Suiji1999

Would you like to leave your contact information?

You may contact me via<EMAIL_ADDRESS>


Notifications

Question, new user to the app, is there notifications?
Cheers

+1

+1

777

There are not. The next release (0.2.0) will have the notification center but not push notifications.

Cool, thanks


Add Extra Docker Registry URLs (custom post-provision action)

What does this PR do?
This is another example playbook added to the custom-actions directory and documented in the provisioning READMe.
How should this be manually tested?

Run the provisioning.
Connect to an arbitrary host in your cluster (except for dns) and display the content of the /etc/containers/registries.conf file. Optionally, add a line with registries: something or a list of random items.
Run the add-docker-registry.yml playbook like so:

ansible-playbook -i <inventory> openshift-ansible-contrib/playbooks/provisioning/openstack/custom-actions/add-docker-registry.yml  --extra-vars '{"registries": "reg1", "insecure_registries": ["ins_reg1","ins_reg2"]}'

Check that the playbook was run successfully and it omitted adding anything to the dns VM as it's not running docker (it only has ok=1 in the output).
Connect to an arbitrary host in your cluster (except for dns) and display the content of the /etc/containers/registries.conf file again. Check that it includes the newly added registries as well as the old ones (if there were any).

TODO:

is there a way to check it using the docker command?
why is there a non-YAML list syntax ( [1, 2...])?

Is there a relevant Issue open for this?
Provide a link to any open issues that describe the problem you are solving.
Who would you like to review this?
cc: @tomassedovic @bogdando @tzumainn PTAL

@Tlacenka to answer your questions in the pull request:

Run docker info -- it will print out the current registries towards the end
[1, 2, 3] is a valid YAML syntax and it's equivalent to:

- 1
- 2
- 3

I recommend skimming the YAML's wikipedia page:
https://en.wikipedia.org/wiki/YAML
it's quite a complex format. Reading the full spec is only for the brave of heart :-)


Enhance the type of createDirective

Thanks for the tip in #20 , I played with it a bit, it's really handy, I suggest to improve the type of createDirective to make it more typeify, here is my code, it provides name and opts type

Oh definitely, thanks for the suggestion 👍

Implemented, I'll make the v0.45 release as soon as I'm done with some other things. Thank you.


Create own login page

I'd like to create my own html form page for login. The problem is that this works as expected. As soon as I am authenticated I am getting redirected to /error with 404.
But when switching back to the standard login form I realized that there is a second page that asks for my consent. When manipulating the loginpage do I also need to implement the following page?

I know that there is a Stackoverflow over here https://stackoverflow.com/questions/71214613/spring-authorization-server-with-custom-login . But nobody has an answer for customizing the login page and the page mentioned above. So I would be glad if you could offer the ability to customize the process.

No you don’t need to implement the consent page. All the custom login page should do is replace spring default login page. Spring should handle the form submission and will automatically redirect the user to the consent page. You can post your login page and your security config code for me to look at and offer more assistance.

This is my login page:
import {PublicBackground} from "./components/PublicBackground";

export const Login = ()=>{
    return <PublicBackground>

Login

            <form method="post" action="http://localhost:9000/login" className="col-span-2 font-serif">

                    Username
                    <input id="input-username" name="username" type="text" required className="form-control block w-full p-1 font-normal text-gray-700 bg-white bg-clip-padding border border-solid border-gray-300 rounded transition ease-in-out m-0 focus:text-gray-700 focus:bg-white focus:border-blue-600 focus:outline-none"/>
                    Password
                    <input type="password" name="password" id="password" required className="form-control block w-full p-1 font-normal text-gray-700 bg-white bg-clip-padding border border-solid border-gray-300 rounded transition ease-in-out m-0 focus:text-gray-700 focus:bg-white focus:border-blue-600 focus:outline-none"/>

                    <input type="submit" value="Login" alt="Login" title="Submit button" className=" text-xl w-3/4 inline-block px-7 py-3 bg-blue-600 text-white font-medium text-sm leading-snug uppercase rounded shadow-md hover:bg-blue-700 hover:shadow-lg focus:bg-blue-700 focus:shadow-lg focus:outline-none focus:ring-0 active:bg-blue-800 active:shadow-lg transition duration-150 ease-in-out"/>

                    No account? nbsp; Register here .

            </form>
        </PublicBackground>
}

It is built using eirslett frontend plugin and then copied to the root of the public folder. When someone navigates to /ui/login the index.html of the React application is forwarded to the user. When the submit button is pressed the data is POSTed to the /login endpoint of spring security.
This is my security configuration:
@Configuration
public class DefaultSecurityConfig {

	@Bean
	@Order(1)
	public SecurityFilterChain authorizationServerSecurityFilterChain(HttpSecurity http)
			throws Exception {

		OAuth2AuthorizationServerConfiguration.applyDefaultSecurity(http);
		http.getConfigurer(OAuth2AuthorizationServerConfigurer.class)
		    .oidc(Customizer.withDefaults());    // Enable OpenID Connect 1.0
		http.exceptionHandling((exceptions) -> exceptions
				    .authenticationEntryPoint(
						    new LoginUrlAuthenticationEntryPoint("/login"))
		    )
				// Accept access tokens for User Info and/or Client Registration
				.oauth2ResourceServer(OAuth2ResourceServerConfigurer::jwt);

		return http.build();
	}

	@Bean
	@Order(2)
	public SecurityFilterChain defaultSecurityFilterChain(HttpSecurity http)
			throws Exception {
		http.csrf().disable()
				.authorizeHttpRequests((authorize) -> {
					try {
						authorize.requestMatchers(
								         "/ui/**",
								         "/index.html",
								         "/api/public/**",
								         "/assets/**",
								         "/*.svg",
								         "/static/**", "*.css",
								         "/*.js", "/*.json",
								         "/*.ico")
						         .permitAll()
						         .requestMatchers(HttpMethod.POST, "/api/v1/public/**").permitAll()
						         .anyRequest()
						         .authenticated()
						         .and()
						         .formLogin()
						         .loginPage("/ui/login")
						         .loginProcessingUrl("/login");
					}
					catch (Exception e) {
						throw new RuntimeException(e);
					}
				});

		return http.build();
	}

	@Bean
	public JwtDecoder jwtDecoder(JWKSource<SecurityContext> jwkSource) {
		return OAuth2AuthorizationServerConfiguration.jwtDecoder(jwkSource);
	}
}

Thanks for your help. I spent 20+ hours on this problem and can't solve it.

And these are the logs:
2022-11-28T10:04:42.013+01:00  INFO 9560 --- [nio-9000-exec-1] o.s.web.servlet.DispatcherServlet        : Completed initialization in 1 ms
2022-11-28T10:04:42.026+01:00 DEBUG 9560 --- [nio-9000-exec-1] o.s.security.web.FilterChainProxy        : Securing POST /login
2022-11-28T10:04:42.033+01:00 DEBUG 9560 --- [nio-9000-exec-1] o.s.w.s.handler.SimpleUrlHandlerMapping  : Mapped to ResourceHttpRequestHandler [classpath [META-INF/resources/], classpath [resources/], classpath [static/], classpath [public/], ServletContext [/]]
2022-11-28T10:04:52.522+01:00  INFO 9560 --- [nio-9000-exec-1] d.s.saar.security.UserDetailServiceImpl  : Logging in<EMAIL_ADDRESS>2022-11-28T10:04:52.584+01:00 DEBUG 9560 --- [nio-9000-exec-1] o.s.s.a.dao.DaoAuthenticationProvider    : Authenticated user
2022-11-28T10:04:52.603+01:00 DEBUG 9560 --- [nio-9000-exec-1] w.c.HttpSessionSecurityContextRepository : Created HttpSession as SecurityContext is non-default
2022-11-28T10:04:52.603+01:00 DEBUG 9560 --- [nio-9000-exec-1] w.c.HttpSessionSecurityContextRepository : Stored SecurityContextImpl [Authentication=UsernamePasswordAuthenticationToken [Principal=org.springframework.security.core.userdetails.User<EMAIL_ADDRESS>Password=[PROTECTED], Enabled=true, AccountNonExpired=true, credentialsNonExpired=true, AccountNonLocked=true, Granted Authorities=[ROLE_GUEST]], Credentials=[PROTECTED], Authenticated=true, Details=WebAuthenticationDetails [RemoteIpAddress=0:0:0:0:0:0:0:1, SessionId=null], Granted Authorities=[ROLE_GUEST]]] to HttpSession [org.apache.catalina.session.StandardSessionFacade@37f8384f]
2022-11-28T10:04:52.604+01:00 DEBUG 9560 --- [nio-9000-exec-1] w.a.UsernamePasswordAuthenticationFilter : Set SecurityContextHolder to UsernamePasswordAuthenticationToken [Principal=org.springframework.security.core.userdetails.User<EMAIL_ADDRESS>Password=[PROTECTED], Enabled=true, AccountNonExpired=true, credentialsNonExpired=true, AccountNonLocked=true, Granted Authorities=[ROLE_GUEST]], Credentials=[PROTECTED], Authenticated=true, Details=WebAuthenticationDetails [RemoteIpAddress=0:0:0:0:0:0:0:1, SessionId=null], Granted Authorities=[ROLE_GUEST]]
2022-11-28T10:04:52.604+01:00 DEBUG 9560 --- [nio-9000-exec-1] o.s.s.web.DefaultRedirectStrategy        : Redirecting to /
2022-11-28T10:04:52.608+01:00 DEBUG 9560 --- [nio-9000-exec-2] o.s.security.web.FilterChainProxy        : Securing GET /
2022-11-28T10:04:52.611+01:00 DEBUG 9560 --- [nio-9000-exec-2] o.s.s.w.a.AnonymousAuthenticationFilter  : Set SecurityContextHolder to anonymous SecurityContext
2022-11-28T10:04:52.613+01:00 DEBUG 9560 --- [nio-9000-exec-2] o.s.s.web.DefaultRedirectStrategy        : Redirecting to http://localhost:5173/ui/login

In my React application I get a 404 error.

Going to look at it now, but any specific reason why you need to use React?

Great. It is because I have multiple pages like a Register form which uses the same styling or a clients page that serves as a public oauth2 client. That is also the app that I use to test the authorization.

If you don't find the error right away I can also send you the full project.

If you don't find the error right away I can also send you the full project.

Yes please share the project

Great. It is because I have multiple pages like a Register form which uses the same styling or a clients page that serves as a public oauth2 client. That is also the app that I use to test the authorization.

I believe adding React is a bit of overkill to be honest, you can use Thymeleaf fragment to achieve the same. Also you can use Postman to test by using OAuth 2.0 as the authorization method

Yes but that is currently also not working. I can't manage to get a token. I also tested against Keycloak so I don't have something wrong in my postman config. This doesn't work with the spring form and the React form. I might switch but the thyme leaf form essentially does the same as to post to /login with username and password. If you have a working Spring Boot 3 sample app with Thymeleaf login that would be also great as a starting point.

Can I share a sample version using Spring boot version 3.0.0 and OAuth server version 1.0.0?

Yes. So I could start from there and find the point where I get the error.

Yes. So I could start from there and find the point where I get the error.

Demo Auth Server

Thanks for creating the example. I just did a test run and everything worked as expected. I will get back to you when I am done with integrating your example.

My project now also works. But the big question is why I always get redirected to /login with my bearer token. I use the same collection as you. My app runs on port 9000.

How can I add other authenticated endpoints? If I add another endpoint in your application I get the HTML login page as a response?

Meaning a next page or REST endpoint?

I want to provide REST endpoints to retrieve the users.

Retrieve users or the user info?

The REST endpoint part is clear. So in your example you could also create a REST endpoint that simply returns "test" or something. I just can't get through spring security. The userinfo endpoint works. Any other endpoint doesn't work.

You don’t normally add endpoint on your Auth Server unless it’s for a specific use-case but I can add a sample and share

You would build your resource server separately and protect it using the access token issued by the oauth server.

Thanks. Keycloak as one of the biggest OIDC projects also contains a REST API (https://www.keycloak.org/docs-api/15.0/rest-api/index.html).

https://stackoverflow.com/questions/72474476/spring-auth-server-code-grant-returns-401-unauthorized-for-endpoint-oauth2-auth Could this be the solution?

Please see commit

Thanks. That worked at first try. Now I get how that filterChain works. Thanks for your help adapting to Sprint Boot v3 with Spring Security v6 :D .

Closed because issue resolved.


Add TER metric

How do we go about contributing new metrics to SacreBLEU?
There's the implementation of TER on https://gist.github.com/alvations/989dacca76c820c48ef18c4637515b39

Hi,
I have PR request  #88 which isolates the metrics into their own classes. If that passes, we can add TER, METEOR and potentially CIDEr and ROUGE from COCO metrics if @mjpost agrees to extend this project something like a sacreval rather than sacreBLEU. This will potentially benefit also from upcoming statistical significance testing for all these metrics. If not, I (we) may also create another project which aggregates all these stuff.

I think this is a nice idea, and love the name sacreval. I wonder if it's best to create a new repo / tool that uses sacrebleu as a package for the BLEU implementation. I'd be happy to be involved but in a limited capacity.
I would also recommend that you create reference implementations, that implement an established variant. This helps adoption of your tool and is consistent with sacrebleu's goal of ensuring numbers across papers are comparable.

I wonder if it's best to create a new repo / tool that uses sacrebleu as a package for the BLEU implementation

I am afraid that it would still mean a lot of code duplication. Currently a lot of logic is implemented directly in main(). For example the handling of --origlang and -t accepting a comma-separated list of test sets is not supported by the API, it is only available from the command line.
Also, the signature is difficult to get via the API and the sacreval signatures would probably need to contain both the version of sacrebleu and of sacreval itself.
What about implementing the additional metrics in this repo and one of the following:

Don't introduce the sacreval name at all. I like the sacreval name as well*, but it sacrebleu has already gained some popularity. It seems everyone understands that it can compute chrF, so they should not be surprised with sacrebleu -m TER.
Keep mjpost/sacrebleu as the repo name and sacrebleu as thy PyPI package, but add sacreval as an alias for sacrebleu binary.
Rename the repo and the PyPI package to sacreval and make sacrebleu a legacy alias for the sacreval binary. Promote the transition to the new name. We could keep the sacrebleu PyPI package, but implement it as an wrapper around sacreval.

My preferences are 1, 2, 3, in this order,
sacreval as a new repo may be also an option, but only after further sacreBLEU refactoring to prevent code duplication. Such refactoring may be a good idea anyway*.
*) I implemented a tool called t2t-sacreval, which works as t2t-bleu (it generates files for TensorBoard with BLEU learning curves) but using sacreBLEU instead of the T2T's BLEU implementation. I have not published this tool because it supports only a subset of sacrebleu's options and the implementation is ugly, just for my needs.

sacreval was just a suggestion, not so important at this point :) Here are
some random/unorganized thoughts:
We could however factorize and modularize the codebase to automatically
provide per-metric scripts i.e. sacre-bleu, sacre-chrf, sacre-meteor etc.
A holistic sacrebleu(or sacreval) can still exist and aggregate
functionalities (subparser from argparse can potentially do this) from the
available/installed modules.
If one particular submodule is not available because of missing
dependencies etc. we can be graceful and disable metrics at runtime.
I don't know if the aforementioned TER implementation relies on the
reference Java implementation or not. If so, interfacing Java and offering
TER JAR (and potentially Meteor JARs) should also be discussed.
In short, if we can factorize everything out and let the metrics provide a
unified API, new metrics will easily be pluggable without bottering the
core functionalities. sacrebleu can go on as it is, to provide chrf and
bleu (mostly for backward compatibility) along with new script(s) extending
the metric inventory.


release to pypi

The package has already been released to test-pypi but not pypi. The job keeps failing because the release to pypyi comes first and nowalways fails because version already exist. Skip it and trigger the release to pypi on this branch
Description

Remaining Tasks

Related PRs in other projects (PASQAL developers only)

Additional merge criteria

Breaking changes

Checklist

[ ] The title of the PR follows the right format: [{Label}] {Short Message}. Label examples: IMPROVEMENT, FIX, REFACTORING... Short message is about what your PR changes.

Versioning (PASQAL developers only)

[ ] Update the version of pasqal-cloud in _version.py following the changes in your PR and by using semantic versioning.

Documentation

[ ] Update CHANGELOG.md with a description explaining briefly the changes to the users.

Tests

[ ] Unit tests have been added or adjusted.
[ ] Tests were run locally.

Internal tests pipeline (PASQAL developers only)

[ ] Update and run the internal tests while targeting the branch of this PR.
If your PR hasn't changed any functionality, it still needs to be validated against internal tests.

After updating the version (PASQAL developers only)

[ ] Open a PR on the internal tests that updates the version used for the pasqal-cloud backward compatibility tests.

Package has been released properly. Closing this PR.


[Feature] Performance improvements for mobile

Dash. has poor performance according to pagespeed. Some optimization would be appreciated, especially if it is being used as an integration for other services (e.g. Homarr)

I managed to get about half the loading time. I think a modern smartphone will now work very well with dashdot.
On mobile:

On desktop:

:tada: This issue has been resolved in version 4.7.0
Please check the changelog for more details.


[ActorPoolProject] UDFs initialized with the ActorPoolProject do not respect custom init_args/batch_size

Describe the bug
We have a TODO in our code to correctly initialize our stateful UDFs with init args and any user-configured batch sizes.
https://github.com/Eventual-Inc/Daft/blob/main/daft/runners/pyrunner.py#L141-L144
We need to make the initialized actors respect these arguments!

Resolved in #2956


Function not work

universe_types_type

You aren't giving it a type_id to lookup.  Look at the parameter hints.


Chocolatey package

Hello, there
FYI, I started to maintain dbeaver package on Chocolatey and it is automatic so it will always follow your release (the scheduler runs daily).
You can install it on Windows (and in near future on Linux/Unix too) with: cinst dbeaver.
I could also create non-JRE version that grabs dependency via chocolatey resolution if you are interested.

That's great, thanks!
I'm not sure about JRE-less version. Currently installer version is most stable AND the smallest (because of super Java archiver which is not available in zip archive).
But if you see any reasons to add it - I'm ok with that.

I noticed that the size difference and was confused.
The only reason now to use dependency would be because of the security updates of the JRE itself once the dbeaver is not updated on frequent basis....

Most of security updates are related to server-side or web-based Java solutions. DBeaver is a desktop application so security isn't an issue in most cases.
Anyhow sometimes having more recent version of Java makes sense. And Chocolatey is a sort of installer already. So, probably it is reasonable for some people.

I noticed now that you have JRE option in installer. I can automate installation so this can excluded during unattended, something like:
cinst dbeaver /params 'nojre'

In that case dbeaver would use system's JRE which would not reduce the download size but would reduce installation size by 20MB or so and allow DBeaver to use global JRE settings etc. So this variant would still use Java archiver.

Actually, not 20MB, JRE is ~ 100MB.

FYI i split packages into dbeaver and dbeaver-ee


 So they actually do something weird - the last package that gets activated is the one that basically gets to define the snippet, in case of conflicting snippets keys.
But that's the problem: package activation is async - meaning that the order is not guaranteed. So the way the package decides if an user-installed package will have the snippet, is to sort packages by their directory - if a package contains node_modules on their path, it'll be considered a "core" package and it'll be sorted lower (I wish I was making this up, but unfortunately, I am not).
Which brings us to the worst problem so far: when language-javascript was not inside the packages directory, things were working just fine. Now... well, they are not - so Pulsar, on the CI, checks that language-javascript is inside the packages directory, and it uses that path instead of the one that's inside node_modules (why? Again, no idea - it shouldn't do that, honestly).
So this PR fixes this issue by patching the package to have a different directory.

I had thought that this was only a problem when I was developing locally — I ran into this whenever I had packages pinned in dev mode. I had not noticed that it ever happened on CI, so I didn't think it needed fixing.
But, yes, if this is affecting CI, then it needs to be fixed. This PR is fine, but eventually we'll need a better heuristic for testing if a package is core or not.

we'll need a better heuristic for testing if a package is core or not.

If we update the packageDependencies section of package.json to be fully up to date, we can read the list from there. Pretty sure that's what that's for.

@DeeDeeG the problem is that package.json is inside Pulsar, inside the ASAR file, when packaged; this package is trying to read this info in user-space (package space?).
We might need an API to solve this

We might need an API to solve this

It should know the exact names of builtin packages, and should work even when it's not explicitly loading from the expected locations on disk. If I do ppm link to point language-javascript to a different location on disk, I still want it to be treated like a built-in package for nearly all purposes, including snippet evaluation order.


what type for device_.firstrs2::wheel_odometer();

there is a wheel odometry code example  in unit test .
            CAPTURE(dev);
            REQUIRE(dev.is<rs2::tm2>());
            auto wheel_odom_snr = dev.first<rs2::wheel_odometer>();
            CAPTURE(wheel_odom_snr);
            REQUIRE(wheel_odom_snr);

            WHEN("Sequence - idle.")
            {
                THEN("Load wheel odometry calibration")
                {
                    std::ifstream calibrationFile("calibration_odometry.json");
                    if (calibrationFile)
                    {
                        const std::string json_str((std::istreambuf_iterator<char>(calibrationFile)),
                            std::istreambuf_iterator<char>());
                        const std::vector<uint8_t> wo_calib(json_str.begin(), json_str.end());
                        bool b;
                        REQUIRE_NOTHROW(b = wheel_odom_snr.load_wheel_odometery_config(wo_calib));
                        REQUIRE(b);
                    }
                }
            }

If we want use this sensor type to our tracking logic, need a type, from the examples of whole rep this is only one type :auto
what the exact type for device_.firstrs2::wheel_odometer();

rs2::wheel_odometer

but when building  after given this type, meet two errors not have load_wheel_odometery_config  and send_wheel_odometry method .


Invalid memory address or nil pointer dereference on main.go:22

Using the latest relase (v0.1.7) I got the following error:
panic: runtime error: invalid memory address or nil pointer dereference
[signal 0xb code=0x1 addr=0x1 pc=0x8048cba]

goroutine 1 [running]:
main.main()
   /Users/ikent/dev/src/github.com/mailhog/mhsendmail/main.go:22 +0xba

goroutine 2 [runnable]:
runtime.forcegchelper()
   /usr/local/Cellar/go/1.4/libexec/src/runtime/proc.go:90
runtime.goexit()
   /usr/local/Cellar/go/1.4/libexec/src/runtime/asm_386.s:2287 +0x1

goroutine 3 [runnable]:
runtime.bgsweep()
   /usr/local/Cellar/go/1.4/libexec/src/runtime/mgc0.go:82
runtime.goexit()
   /usr/local/Cellar/go/1.4/libexec/src/runtime/asm_386.s:2287 +0x1

goroutine 4 [runnable]:
runtime.runfinq()
   /usr/local/Cellar/go/1.4/libexec/src/runtime/malloc.go:712
runtime.goexit()
   /usr/local/Cellar/go/1.4/libexec/src/runtime/asm_386.s:2287 +0x1

Now, I'm not a go expert, but I think user != nil need to be used instead of user == nil on line 22 in main.go :
if err != nil && user == nil && len(user.Username) > 0 {
	username = user.Username
}

Sorry, that if statement couldn't have been much further from what I intended! Hopefully thats fixed it! I'll upload a new binary release now.

This happens for the normal mailhog too, 0.1.7 is broken due to this. Care to release it too?


refactor(@schematics/angular): Import dasherize from core

Seems like this dasherize is the same function exported on @angular-devkit/core/src/utils/strings.ts: https://github.com/angular/devkit/blob/master/packages/angular_devkit/core/src/utils/strings.ts#L46

Closing this one. Will open from my personal account.


PLAT-321 short looping fixes

- What I did

fix for short-loop messing up AcquireForThisStep, added check for sync dependencies after each short-loop
added exclusion for non-migrate states for short-loop
fixed unnecessary looping behavior in conveyor

we probably need more tests around this short_looping, and we are not rushing immediate optimizations.


ConnectionStateChange DISCONNECTED

I have a view with a bottomNavigationBar, when I move between each tab, the Pusher connection changes to: DISCONNECTED. I only execute the action of "pusher.connect" in the initState of the view

Are you disconnecting at all? You may want to cache the pusher objects you receive somewhere outside of the UI layer so you are not constantly connecting and disconnecting.

i face same issue connection state is keep changing frequently after connecting pusher
i made singleton class for connection and i trigger connect inside initState,
`Pusher.PusherAuth pusherAuth = Pusher.PusherAuth(
PusherUrls.kAuthEndpoint,
headers: {
PusherVariables.kChatApiHeaderKey: PusherVariables.kChatApiKey,
},
);
Pusher.PusherOptions pusherOptions = new Pusher.PusherOptions(
cluster: PusherVariables.kCluster,
auth: pusherAuth,
activityTimeout: 3000,
);
log.info('IN PUSHER INIT${pusherOptions.auth.endpoint}');
  Pusher.Pusher.init(
    PusherVariables.kPusherApiKey,
    pusherOptions,
    enableLogging: true,
  ).then((value) {
    this.isPusherAuthenticated = true;
    connectPusher();
  }).catchError((err) {
    log.info('ERROR IN PUSHER INIT');
    log.info(err.toString());
    throw err;
  });`


issue #426 fix for pipeline derby jdbc test error

The fixes:
(1) To speed up sequence fetch, add a derby config to pre-create 1000 sequence numbers instead of the default 100.
(2) Made changes to make sure committing the transaction after the processing of each example, then old codes commit only once after all the test examples are processed.

Executed re-run checks.


Integration Test - Release - 2019/06/20 23:07:50

Auto create for integration test. IssueCommandFlow

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

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


HTTP CODE 500 SERVOR ERROR - JUPYTER NOTEBOOK

Expected behavior
Running a machine learning algorithm on my localhost.
Actual behavior
I get an HTTP code 500 servor error when trying to run this command : docker-compose.up
Information about the Issue
https://github.com/searchVIU/Labs/blob/master/readme.md
Steps to reproduce the behavior
After downloading : https://github.com/searchVIU/Labs/blob/master/readme.md :
bash-3.2$ cd Labs
bash-3.2$ docker-compose up
Building jupyter
Step 1/3 : FROM jupyter/tensorflow-notebook
ERROR: Service 'jupyter' failed to build: Get https://registry-1.docker.io/v2/jupyter/tensorflow-notebook/manifests/latest: unauthorized: incorrect username or password
bash-3.2$
I do not understand why it is not working.
Thank you
Alice

Please try to login using your Docker ID (hub username) instead of your email. This should fix the issue.


[BEAM-1805] a new option asInnerJoin for CoGroupByKey

INNER_JOIN is available with Join. However it's limited to two PCollections, it's helpful to add it to CoGroupByKey for the case with multiple PCollection joined.

Coverage decreased (-0.04%) to 70.085% when pulling 6f087a085094bd2520094ca0c5c540ae74b31542 on XuMingmin:BEAM-1805 into ced1e5c3a1ee1e90ffe5843f7b4e8daf2cb3d46e on apache:master.

R: @davorbonaci

Coverage decreased (-0.02%) to 70.105% when pulling a95e0a3cbc1f4311af2e3f49070e13cab6cd2e87 on XuMingmin:BEAM-1805 into ced1e5c3a1ee1e90ffe5843f7b4e8daf2cb3d46e on apache:master.

@robertwb, any thoughts perhaps?

Would it be preferable instead to augment the join library to handle more than two PCollections. I'm wary of a huge number of features being added to CoGroupByKey (especially as it it set to become the grouping primitive in lieu of "ordinary" GroupByKey).
An alternative would be to expose this FilterFn that a user could apply immediately following a CoGBK. (One could also imagine options that require at most (or even exactly) one element per iterable, and unwrap them.)

Coverage increased (+0.8%) to 70.619% when pulling a95e0a3cbc1f4311af2e3f49070e13cab6cd2e87 on XuMingmin:BEAM-1805 into 810db7f990a9e39179f3613347ab5cde7e7c650c on apache:master.

Good point @robertwb
Agree to separate the filter options from core code of CoGroupByKey, let me move it to a separate class like CoGbkResultFilterFn, can add outer_join later.
The ideal way is to update join-library. It's more complex as join-library uses KV in the implementation which is fixed with two sources, would see how to handle it in another task.

Coverage decreased (-0.04%) to 70.622% when pulling 695148b1b308d2f486c0623e5234667d85dc379f on XuMingmin:BEAM-1805 into 8302783c3239ddcf8b5259b4aff8ee33673d02cd on apache:master.

create BEAM-1987 to support multiple sources in join-library as well.

Coverage decreased (-0.6%) to 70.018% when pulling d5e66673213e302255e1a302f14f2a419a757779 on XuMingmin:BEAM-1805 into 8302783c3239ddcf8b5259b4aff8ee33673d02cd on apache:master.

close this PR, and move to fix in BEAM 1987


Naive Arbitrage Strategy Implementation: Arbitrage Opportunity Execution

The auction arbitrage bot should be configurable via flags and environment variables to execute trades on the user's behalf in addition to identifying arbitrage opportunities. In addition, users should be able to simulate execution of trades, with live feedback provided via an HTTP API. Example routes may include:

GET /trades - Returns a JSON array of completed trades:

[
  {
    "profit": 1234,
    "profit_denom": "ibc/xyz",
    "timestamp_completed": 1234,
    "route": [
      {
        {
          "osmosis": {
            // See pool_file format in README.md
          },
          "neutron_astroport": {
            // See README.md
          }
        }
      }
    ]
  }
]

GET /routes - Returns a JSON array of known routes

[
  [
    "osmosis": {
      // See README.md
    },
    "neutron_astroport": {
      // See README.md
    }
  ]
]

GET /status - Returns a JSON object representing current stats for the bot

{
  "completed_trades": 1234,
  "profit": 1234,
  "profit_denom": "ibc/xyz"
}

@dowlandaiello can this be closed ? I don't see any open PR linked to it ..


Make ServiceAccount optional for APM

Deployment will fail if managedServiceAccount = false and serviceAccount = "" (default) is provided.

UseCase: Cluster run in RBAC mode and no ClusterRoles are allowed to be created by users.

[ ] Chart version not bumped (the versions are all bumped and released at the same time)
[ ] README.md updated with any new values or changes
[ ] Updated template tests in ${CHART}/tests/*.py
[ ] Updated integration tests in ${CHART}/examples/*/test/goss.yaml

Since this is a community submitted pull request, a Jenkins build has not been kicked off automatically. Can an Elastic organization member please verify the contents of this patch and then kick off a build manually?


Div element getting interchanged in Safari browser(works in all other browsers)

Sign-In form consists of two input fields inside a div element one with email and one with password, which is customed fields. When we try to enter something in either of this, whole element is getting interchanged.

[x] The issue is present in the latest release.
[x] I have searched the issues of this repository and believe that this is not a duplicate.

Current Behavior 😯
When I try to enter anything inside input field the element position is getting interchanged.
Expected Behavior 🤔
Element position should not be interchanged.
Your Environment 🌎
Works in Chrome and firefox browser except for Safari(12.0.3 and 12.1.1).

Tech
Version

Material-UI
v4.3.1

React
16.8.6

Browser
Safari

Please provide a reproduction. (Codesandbox)


"Segmentation fault" error while running on Windows 10

Environment

IOHook Version: 0.9.3
Environment: NodeJS v14.15.5
Operating System: Windows 10 64bit

Expected Behavior
I'm trying to console.log the 'keypress' event using the code below:
const ioHook = require('iohook');

ioHook.on('keypress', event => console.log(event));
ioHook.start();

Current Behavior
Here is the output from running node app.js:
refresh_locale_list [476]: GetKeyboardLayoutList(0, NULL) found 2 layouts.
refresh_locale_list [493]: Received 2 locales.
load_input_helper [866]: refresh_locale_list() found 2 locale(s).
Segmentation fault

Additional Information

The 'require' statement instantly throws the error.
NPM found 1 high severity vulnerability and here is the full log from npm audit:

                       === npm audit security report ===

                                 Manual Review
             Some vulnerabilities require your attention to resolve

          Visit https://go.npm.me/audit-guide for additional guidance

  High            Regular Expression Denial of Service

  Package         trim-newlines

  Patched in      >=3.0.1 <4.0.0 || >=4.0.1

  Dependency of   iohook

  Path            iohook > nugget > pretty-bytes > meow > trim-newlines

  More info       https://npmjs.com/advisories/1753

found 1 high severity vulnerability in 146 scanned packages
  1 vulnerability requires manual review. See the full report for details.

Looks liek a duplicate of #319.


cloudflare_device_settings_policy.auto_connect is in seconds

This fixes a bug in documentation. Specifically, the documentation states that cloudflare_device_settings_policy.auto_connect is in minutes. In reality though, that field is in seconds. This commit adjusts the documentation accordingly.

thanks for the PR! unfortunately, the file you've edited is a generated artifact of the documentation process. to see how to make changes to the documentation, you're best to check out https://github.com/cloudflare/terraform-provider-cloudflare/blob/master/contributing/registry-documentation.md

@TylerStanish could you confirm the change here is correct?

That is correct, it should be seconds

thanks for confirming @TylerStanish 👏


Update static-ip.md

Hi, I tried to create a static IP for my cluster load balancer and encountered errors when the cluster was trying to obtain an IP address. Changing the target resource group (to node rg) for creating the static IP resource fixed the issue.
If it is not supposed to work like this, please confirm that the static IP resource should be in the AKS resource group and not in the generated node resource group.

@asudbring

Can you review this PR?
IMPORTANT: When this content is ready to merge, you must add #sign-off in a comment or the approval may get overlooked.

#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

Hey @rahfar, thank you for pointing this out and creating the PR. I believe this was fixed in another PR here. I'll close this one for now but please feel free to ping me if you feel there is more to change here!

Hi, @chasewilson, I don't have access to view the PR, but I've verified that the new version is correct on the website. Thanks!


Can I use it on my windows11?

There was an issue in the Windows environment, but it should work without any problems now.


Steps for largest right pyramid that can be inscribed in a sphere

Please assign this to me

I want to work on this issue. I am a LGM-SOC participant. Please assign to me.

Go ahead
Deadline 15 june,2021

@sairish2001 Please give me time till 21st June as I am having my university exams going on.. I will surely complete by that time.

Deadline extended 21 June,2021

@sairish2001 Sir, please assign this issue to me.