ScopeDefine name = All not found

Please answer these questions before submitting your issue.

Why do you submit this issue?
[ *] Question or discussion
[ ] Bug
[ ] Requirement
[ ] Feature or performance improvement

Question
when i upgrade skywalking to 6.3 ,when I start oapserver I have this error
2019-08-13 20:24:33,086 - org.apache.curator.framework.state.ConnectionStateManager - 71 [main-EventThread] INFO  [] - State change: CONNECTED
2019-08-13 20:24:33,129 - org.apache.skywalking.oap.server.library.module.ModuleDefine - 71 [main] INFO  [] - Prepare the default provider in core module.
2019-08-13 20:24:33,371 - org.apache.skywalking.oap.server.starter.OAPServerStartUp - 71 [main] ERROR [] - ScopeDefine name = All not found.
org.apache.skywalking.oap.server.library.module.ModuleStartException: ScopeDefine name = All not found.
at org.apache.skywalking.oap.server.core.CoreModuleProvider.prepare(CoreModuleProvider.java:95) ~[server-core-6.3.0.jar:6.3.0]
at org.apache.skywalking.oap.server.library.module.ModuleDefine.prepare(ModuleDefine.java:94) ~[library-module-6.3.0.jar:6.3.0]
at org.apache.skywalking.oap.server.library.module.ModuleManager.init(ModuleManager.java:52) ~[library-module-6.3.0.jar:6.3.0]
at org.apache.skywalking.oap.server.starter.OAPServerStartUp.main(OAPServerStartUp.java:43) [server-starter-6.3.0.jar:6.3.0]
Caused by: org.apache.skywalking.oap.server.core.UnexpectedException: ScopeDefine name = All not found.
at org.apache.skywalking.oap.server.core.source.DefaultScopeDefine.valueOf(DefaultScopeDefine.java:127) ~[server-core-6.3.0.jar:6.3.0]
at org.apache.skywalking.oal.rt.parser.OALListener.enterSource(OALListener.java:52) ~[oal-rt-6.3.0.jar:6.3.0]
at org.apache.skywalking.oal.rt.grammar.OALParser$SourceContext.enterRule(OALParser.java:605) ~[oal-grammar-6.3.0.jar:6.3.0]
at org.antlr.v4.runtime.tree.ParseTreeWalker.enterRule(ParseTreeWalker.java:42) ~[antlr4-runtime-4.7.1.jar:4.7.1]
at org.antlr.v4.runtime.tree.ParseTreeWalker.walk(ParseTreeWalker.java:25) ~[antlr4-runtime-4.7.1.jar:4.7.1]
at org.antlr.v4.runtime.tree.ParseTreeWalker.walk(ParseTreeWalker.java:28) ~[antlr4-runtime-4.7.1.jar:4.7.1]
at org.antlr.v4.runtime.tree.ParseTreeWalker.walk(ParseTreeWalker.java:28) ~[antlr4-runtime-4.7.1.jar:4.7.1]
at org.antlr.v4.runtime.tree.ParseTreeWalker.walk(ParseTreeWalker.java:28) ~[antlr4-runtime-4.7.1.jar:4.7.1]
at org.apache.skywalking.oal.rt.parser.ScriptParser.parse(ScriptParser.java:61) ~[oal-rt-6.3.0.jar:6.3.0]
at org.apache.skywalking.oal.rt.OALRuntime.start(OALRuntime.java:159) ~[oal-rt-6.3.0.jar:6.3.0]
at org.apache.skywalking.oap.server.core.CoreModuleProvider.prepare(CoreModuleProvider.java:93) ~[server-core-6.3.0.jar:6.3.0]
... 3 more

Bug

Which version of SkyWalking, OS and JRE?

Which company or project?

What happen?
If possible, provide a way for reproducing the error. e.g. demo application, component version.

Requirement or improvement

Please describe about your requirements or improvement suggestions.

Not sure what is happening. The class w/ annotation is there.

Feedback, this is caused by JDK 11. We don't support that.

反馈，这是由JDK 11引起的。我们不支持这一点。

我也遇到同样的问题  那6.3版本需要什么版本的jdk

反馈，这是由JDK 11引起的。我们不支持这一点。

我也遇到同样的问题 那6.3版本需要什么版本的jdk

很奇怪，我在idc环境的jdk11下可以运行，但是阿里云环境的jdk下无法运行，同样报错

JDK8 也是一样的问题，不知道具体原因，求解

not only caused by JDK11, but also caused by JDK8, i try version 6.3 and 6.4, same error happened.

not only caused by JDK11, but also caused by JDK8, i try version 6.3 and 6.4, same error happened.

JDK8 is the recommended version for our OAP backend, and we run the e2e test in every PR and the tests results show that it works well in JDK8, did you really got the exactly same exception? Can you provide more details?

not only caused by JDK11, but also caused by JDK8, i try version 6.3 and 6.4, same error happened.

@hello-zhengzq JDK8 is the recommended version for our OAP backend, and we run the e2e test in every PR and the tests results show that it works well in JDK8, did you really got the exactly same exception? Can you provide more details?

hello, my environment：
macOS 10.12.6
java version "1.8.0_221"
i used refer to some urls like https://blog.csdn.net/zhangningkid/article/details/100517587

i installed elasticsearch6.5 in docker and visit http://localhost:9200/ to confirm it run well.
i configed the elasticsearch part in application.yml as follow:

storage:
  elasticsearch:
    nameSpace: ${SW_NAMESPACE:"docker-cluster"}
    clusterNodes: ${SW_STORAGE_ES_CLUSTER_NODES:localhost:9200}

then i ran startup.sh and got webapp startup well, but oapserver started failed, the error log as follow:

2019-10-07 11:25:13,626 - org.apache.skywalking.oap.server.library.module.ModuleDefine - 88 [main] INFO  [] - Prepare the elasticsearch provider in storage module.
2019-10-07 11:25:13,720 - org.apache.skywalking.oap.server.library.module.ModuleDefine - 88 [main] INFO  [] - Prepare the standalone provider in cluster module.
2019-10-07 11:25:13,721 - org.apache.skywalking.oap.server.library.module.ModuleDefine - 88 [main] INFO  [] - Prepare the default provider in core module.
2019-10-07 11:25:14,335 - org.apache.skywalking.oap.server.starter.OAPServerStartUp - 55 [main] ERROR [] - ScopeDefine name = All not found.
org.apache.skywalking.oap.server.library.module.ModuleStartException: ScopeDefine name = All not found.
	at org.apache.skywalking.oap.server.core.CoreModuleProvider.prepare(CoreModuleProvider.java:95) ~[server-core-6.3.0.jar:6.3.0]
	at org.apache.skywalking.oap.server.library.module.ModuleDefine.prepare(ModuleDefine.java:94) ~[library-module-6.3.0.jar:6.3.0]
	at org.apache.skywalking.oap.server.library.module.ModuleManager.init(ModuleManager.java:52) ~[library-module-6.3.0.jar:6.3.0]
	at org.apache.skywalking.oap.server.starter.OAPServerStartUp.main(OAPServerStartUp.java:43) [server-starter-6.3.0.jar:6.3.0]
Caused by: org.apache.skywalking.oap.server.core.UnexpectedException: ScopeDefine name = All not found.
	at org.apache.skywalking.oap.server.core.source.DefaultScopeDefine.valueOf(DefaultScopeDefine.java:127) ~[server-core-6.3.0.jar:6.3.0]
	at org.apache.skywalking.oal.rt.parser.OALListener.enterSource(OALListener.java:52) ~[oal-rt-6.3.0.jar:6.3.0]
	at org.apache.skywalking.oal.rt.grammar.OALParser$SourceContext.enterRule(OALParser.java:605) ~[oal-grammar-6.3.0.jar:6.3.0]
	at org.antlr.v4.runtime.tree.ParseTreeWalker.enterRule(ParseTreeWalker.java:42) ~[antlr4-runtime-4.7.1.jar:4.7.1]
	at org.antlr.v4.runtime.tree.ParseTreeWalker.walk(ParseTreeWalker.java:25) ~[antlr4-runtime-4.7.1.jar:4.7.1]
	at org.antlr.v4.runtime.tree.ParseTreeWalker.walk(ParseTreeWalker.java:28) ~[antlr4-runtime-4.7.1.jar:4.7.1]
	at org.antlr.v4.runtime.tree.ParseTreeWalker.walk(ParseTreeWalker.java:28) ~[antlr4-runtime-4.7.1.jar:4.7.1]
	at org.antlr.v4.runtime.tree.ParseTreeWalker.walk(ParseTreeWalker.java:28) ~[antlr4-runtime-4.7.1.jar:4.7.1]
	at org.apache.skywalking.oal.rt.parser.ScriptParser.parse(ScriptParser.java:61) ~[oal-rt-6.3.0.jar:6.3.0]
	at org.apache.skywalking.oal.rt.OALRuntime.start(OALRuntime.java:159) ~[oal-rt-6.3.0.jar:6.3.0]
	at org.apache.skywalking.oap.server.core.CoreModuleProvider.prepare(CoreModuleProvider.java:93) ~[server-core-6.3.0.jar:6.3.0]
	... 3 more

not only caused by JDK11, but also caused by JDK8, i try version 6.3 and 6.4, same error happened.

@hello-zhengzq JDK8 is the recommended version for our OAP backend, and we run the e2e test in every PR and the tests results show that it works well in JDK8, did you really got the exactly same exception? Can you provide more details?

hello, my environment：
macOS 10.12.6
java version "1.8.0_221"
i used skywalking refering to some urls like https://blog.csdn.net/zhangningkid/article/details/100517587

i installed elasticsearch6.5 in docker and visit http://localhost:9200/ to confirm it run well.
i configed the elasticsearch part in application.yml as follow:

storage:
  elasticsearch:
    nameSpace: ${SW_NAMESPACE:"docker-cluster"}
    clusterNodes: ${SW_STORAGE_ES_CLUSTER_NODES:localhost:9200}

then i ran startup.sh and got webapp startup well, but oapserver started failed, the error log as follow:

2019-10-07 11:25:13,626 - org.apache.skywalking.oap.server.library.module.ModuleDefine - 88 [main] INFO  [] - Prepare the elasticsearch provider in storage module.
2019-10-07 11:25:13,720 - org.apache.skywalking.oap.server.library.module.ModuleDefine - 88 [main] INFO  [] - Prepare the standalone provider in cluster module.
2019-10-07 11:25:13,721 - org.apache.skywalking.oap.server.library.module.ModuleDefine - 88 [main] INFO  [] - Prepare the default provider in core module.
2019-10-07 11:25:14,335 - org.apache.skywalking.oap.server.starter.OAPServerStartUp - 55 [main] ERROR [] - ScopeDefine name = All not found.
org.apache.skywalking.oap.server.library.module.ModuleStartException: ScopeDefine name = All not found.
	at org.apache.skywalking.oap.server.core.CoreModuleProvider.prepare(CoreModuleProvider.java:95) ~[server-core-6.3.0.jar:6.3.0]
	at org.apache.skywalking.oap.server.library.module.ModuleDefine.prepare(ModuleDefine.java:94) ~[library-module-6.3.0.jar:6.3.0]
	at org.apache.skywalking.oap.server.library.module.ModuleManager.init(ModuleManager.java:52) ~[library-module-6.3.0.jar:6.3.0]
	at org.apache.skywalking.oap.server.starter.OAPServerStartUp.main(OAPServerStartUp.java:43) [server-starter-6.3.0.jar:6.3.0]
Caused by: org.apache.skywalking.oap.server.core.UnexpectedException: ScopeDefine name = All not found.
	at org.apache.skywalking.oap.server.core.source.DefaultScopeDefine.valueOf(DefaultScopeDefine.java:127) ~[server-core-6.3.0.jar:6.3.0]
	at org.apache.skywalking.oal.rt.parser.OALListener.enterSource(OALListener.java:52) ~[oal-rt-6.3.0.jar:6.3.0]
	at org.apache.skywalking.oal.rt.grammar.OALParser$SourceContext.enterRule(OALParser.java:605) ~[oal-grammar-6.3.0.jar:6.3.0]
	at org.antlr.v4.runtime.tree.ParseTreeWalker.enterRule(ParseTreeWalker.java:42) ~[antlr4-runtime-4.7.1.jar:4.7.1]
	at org.antlr.v4.runtime.tree.ParseTreeWalker.walk(ParseTreeWalker.java:25) ~[antlr4-runtime-4.7.1.jar:4.7.1]
	at org.antlr.v4.runtime.tree.ParseTreeWalker.walk(ParseTreeWalker.java:28) ~[antlr4-runtime-4.7.1.jar:4.7.1]
	at org.antlr.v4.runtime.tree.ParseTreeWalker.walk(ParseTreeWalker.java:28) ~[antlr4-runtime-4.7.1.jar:4.7.1]
	at org.antlr.v4.runtime.tree.ParseTreeWalker.walk(ParseTreeWalker.java:28) ~[antlr4-runtime-4.7.1.jar:4.7.1]
	at org.apache.skywalking.oal.rt.parser.ScriptParser.parse(ScriptParser.java:61) ~[oal-rt-6.3.0.jar:6.3.0]
	at org.apache.skywalking.oal.rt.OALRuntime.start(OALRuntime.java:159) ~[oal-rt-6.3.0.jar:6.3.0]
	at org.apache.skywalking.oap.server.core.CoreModuleProvider.prepare(CoreModuleProvider.java:93) ~[server-core-6.3.0.jar:6.3.0]
	... 3 more

i first used version6.4.0 and got the same error, then i tried version6.3.0, it also not worked, so the above log is about the version6.3.0.

Can you try to upgrade the Guava version and try again? The current guava version should be under 23, you can download the 23-jre version (.jar) from mvnrepository.org and replace the existed guava.jar in oap-libs, I doubt that it's some bug in old guava version, please let me know whether it works or not, thanks

I think we never release skywalking under latest guava. @hello-zhengzq, you need to package the master branch by yourself.

Hi @Stephen-sen  @18965824402 @liangxp @hello-zhengzq , I think I found the reason, there're two reasons why it won't work:

JDK8: There're special characters in the full path of the OAP folder, may be Chinese character (I reproduce this)
JDK11: The compatibilities of Guava version, we have upgraded to 23-jre to solve this problem

@wu-sheng I think we should mention this (special characters in OAP is not allowed) in the doc

@kezhenxu94 Feel free to update this in the document.

not only caused by JDK11, but also caused by JDK8, i try version 6.3 and 6.4, same error happened.

@hello-zhengzq JDK8 is the recommended version for our OAP backend, and we run the e2e test in every PR and the tests results show that it works well in JDK8, did you really got the exactly same exception? Can you provide more details?

hello, my environment：
macOS 10.12.6
java version "1.8.0_221"
i used skywalking refering to some urls like https://blog.csdn.net/zhangningkid/article/details/100517587

i installed elasticsearch6.5 in docker and visit http://localhost:9200/ to confirm it run well.
i configed the elasticsearch part in application.yml as follow:

storage:
  elasticsearch:
    nameSpace: ${SW_NAMESPACE:"docker-cluster"}
    clusterNodes: ${SW_STORAGE_ES_CLUSTER_NODES:localhost:9200}

then i ran startup.sh and got webapp startup well, but oapserver started failed, the error log as follow:

2019-10-07 11:25:13,626 - org.apache.skywalking.oap.server.library.module.ModuleDefine - 88 [main] INFO  [] - Prepare the elasticsearch provider in storage module.
2019-10-07 11:25:13,720 - org.apache.skywalking.oap.server.library.module.ModuleDefine - 88 [main] INFO  [] - Prepare the standalone provider in cluster module.
2019-10-07 11:25:13,721 - org.apache.skywalking.oap.server.library.module.ModuleDefine - 88 [main] INFO  [] - Prepare the default provider in core module.
2019-10-07 11:25:14,335 - org.apache.skywalking.oap.server.starter.OAPServerStartUp - 55 [main] ERROR [] - ScopeDefine name = All not found.
org.apache.skywalking.oap.server.library.module.ModuleStartException: ScopeDefine name = All not found.
	at org.apache.skywalking.oap.server.core.CoreModuleProvider.prepare(CoreModuleProvider.java:95) ~[server-core-6.3.0.jar:6.3.0]
	at org.apache.skywalking.oap.server.library.module.ModuleDefine.prepare(ModuleDefine.java:94) ~[library-module-6.3.0.jar:6.3.0]
	at org.apache.skywalking.oap.server.library.module.ModuleManager.init(ModuleManager.java:52) ~[library-module-6.3.0.jar:6.3.0]
	at org.apache.skywalking.oap.server.starter.OAPServerStartUp.main(OAPServerStartUp.java:43) [server-starter-6.3.0.jar:6.3.0]
Caused by: org.apache.skywalking.oap.server.core.UnexpectedException: ScopeDefine name = All not found.
	at org.apache.skywalking.oap.server.core.source.DefaultScopeDefine.valueOf(DefaultScopeDefine.java:127) ~[server-core-6.3.0.jar:6.3.0]
	at org.apache.skywalking.oal.rt.parser.OALListener.enterSource(OALListener.java:52) ~[oal-rt-6.3.0.jar:6.3.0]
	at org.apache.skywalking.oal.rt.grammar.OALParser$SourceContext.enterRule(OALParser.java:605) ~[oal-grammar-6.3.0.jar:6.3.0]
	at org.antlr.v4.runtime.tree.ParseTreeWalker.enterRule(ParseTreeWalker.java:42) ~[antlr4-runtime-4.7.1.jar:4.7.1]
	at org.antlr.v4.runtime.tree.ParseTreeWalker.walk(ParseTreeWalker.java:25) ~[antlr4-runtime-4.7.1.jar:4.7.1]
	at org.antlr.v4.runtime.tree.ParseTreeWalker.walk(ParseTreeWalker.java:28) ~[antlr4-runtime-4.7.1.jar:4.7.1]
	at org.antlr.v4.runtime.tree.ParseTreeWalker.walk(ParseTreeWalker.java:28) ~[antlr4-runtime-4.7.1.jar:4.7.1]
	at org.antlr.v4.runtime.tree.ParseTreeWalker.walk(ParseTreeWalker.java:28) ~[antlr4-runtime-4.7.1.jar:4.7.1]
	at org.apache.skywalking.oal.rt.parser.ScriptParser.parse(ScriptParser.java:61) ~[oal-rt-6.3.0.jar:6.3.0]
	at org.apache.skywalking.oal.rt.OALRuntime.start(OALRuntime.java:159) ~[oal-rt-6.3.0.jar:6.3.0]
	at org.apache.skywalking.oap.server.core.CoreModuleProvider.prepare(CoreModuleProvider.java:93) ~[server-core-6.3.0.jar:6.3.0]
	... 3 more

i first used version6.4.0 and got the same error, then i tried version6.3.0, it also not worked, so the above log is about the version6.3.0.

Can you try to upgrade the Guava version and try again? The current guava version should be under 23, you can download the 23-jre version (.jar) from mvnrepository.org and replace the existed guava.jar in oap-libs, I doubt that it's some bug in old guava version, please let me know whether it works or not, thanks

i replace version6.3's guava-20.0.jar to guava-23.0.jar, i works, great!!

Hi @Stephen-sen @18965824402 @liangxp @hello-zhengzq , I think I found the reason, there're two reasons why it won't work:
* JDK8: There're special characters in the full path of the OAP folder, may be Chinese character (I reproduce this)

* JDK11: The compatibilities of Guava version, we have upgraded to 23-jre to solve this problem #3541

@wu-sheng I think we should mention this (special characters in OAP is not allowed) in the doc

it is indeed i place it in the full path which contains chinese character, i modify the path to a full english path and return to guava20, it works as well.

it is indeed i place it in the full path which contains chinese character, i modify the path to a full english path and return to guava20, it works as well.

Guava 23 is for JDK 11+


build: bump angular

@angular/cli       18.1.1 -> 18.1.2
@angular/core    18.1.1 -> 18.1.2
@angular/cdk     18.1.1 -> 18.1.2
PR Checklist

[ ] Unit Tests have been added for new changes
[ ] API tests have been updated if applicable
[ ] All commented code has been removed
[ ] If you've added a dependency, you've ensured license is compatible with Apache 2.0 and clearly outlined the added dependency.

What are you changing?

Anything the reviewer should know when reviewing this PR?
If the there are associated PRs in other repositories, please link them here (i.e. open-amt-cloud-toolkit/repo#365 )

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


about Disparity range

Hello,
Is there specific reason for setting the disparity range [2, 300] ?
Can SDFA-net be trained with disparity range [0,192] ?
Thank you!

Hi ksh11023,
We follow the existing work (FAL-Net) to set the disparity range [2, 300]. Of course, you could try to set different disparity ranges in your training (by modifying the yaml file). Please note that the min_disp should not be set as 0, as it would cause a numerical error during depth computing.

Thank you for the reply !


Indexed object support

SymPy provides support for indexed symbolic objects, i.e. vector or matrix variables. This is often useful when, say, taking partials with respect to different elements of some vector argument.
Are there plans for adding something like IndexedBase to symengine.py?

What use cases do you have for it? If it's just what you have mentioned above, then a vector of symbols should work.

Hi, sorry for taking so long to get back to this. Agreed; in the simplest case of a symbolic vector variable x, you can make a vector of symbols x[0], x[1], ..., which I am doing.
It is more complicated if you have references to elements (or constants) from a matrix or DataFrame, something like:
x[0] + x[1] + data[2,102]*x[2] + data[3,99]
In SymPy, you can handle this easily by declaring an IndexedBase like data = sympy.IndexedBase("data")
To work around this in symengine, I ended up creating a mapping from the DataFrame references data[i,j] to some new vector d[k], in order to use the same vector trick described earlier. But, this means you have to substitute data[i,j] -> d[k] in the equations, then take partials, then re-substitute to get the original matrix/DataFrame references. Maybe there is a more straightforward implementation that I missed.
The speed of symengine is really indispensable for computing huge Jacobians, so I'm glad to have been able to use it at all! IndexedBase support would make the SymPy-to-symengine conversion a bit easier in some cases.

Hi, sorry for taking so long to get back to this. Agreed; in the simplest case of a symbolic vector variable x, you can make a vector of symbols x[0], x[1], ..., which I am doing.
It is more complicated if you have references to elements (or constants) from a matrix or DataFrame, something like:
x[0] + x[1] + data[2,102]*x[2] + data[3,99]
In SymPy, you can handle this easily by declaring an IndexedBase like data = sympy.IndexedBase("data")
To work around this in symengine, I ended up creating a mapping from the DataFrame references data[i,j] to some new vector d[k], in order to use the same vector trick described earlier. But, this means you have to substitute data[i,j] -> d[k] in the equations, then take partials, then re-substitute to get the original matrix/DataFrame references. Maybe there is a more straightforward implementation that I missed.
The speed of symengine is really indispensable for computing huge Jacobians, so I'm glad to have been able to use it at all! IndexedBase support would make the SymPy-to-symengine conversion a bit easier in some cases.


Release 3.7.0

Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.
Type of change
Please choose appropriate options.

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

How Has This Been Tested?
Please describe the tests that you ran to verify your changes in the below checkboxes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration

[ ] Ran Test A
[ ] Ran Test B

Test Configuration:

Software versions: Java 11, scala-2.11, play-2.7.2
Hardware versions:

Checklist:

[ ] My code follows the style guidelines of this project
[ ] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[ ] Any dependent changes have been merged and published in downstream modules

merged Amit forked repo


Botkit adapter must send a sign-in card instead of an OAuth card

Background: There are customer requests to support ABS OAuth in the adapter so that Bots that use the adapter may leverage the OAuth support that channels provide.
Ben and I have been able to build a POC by copying over OAuth related functions into the Facebook adapter. The only change in botbuilder that was needed was in libraries/botbuilder-dialogs/src/prompts/oauthPrompt.ts:248 - a sign-in card must be sent in case of adapter. In the POC, we simply checked for the name of the adapter but perhaps there is a better way to do it.
This appears to be a trivial change and can unblock the OAuth support in adapter. I will submit a PR for this soon.

PR created - https://github.com/microsoft/botbuilder-js/pull/1812

Fix has been merged.


Split encoders in non-concurrent context with a max ops per encoder

Speeds up generation and slightly training, some benchmarks:
Benchmarks on an M2 Ultra
LLM generation
python -m mlx_lm.generate --model mlx-community/NeuralBeagle14-7B-4bit-mlx --prompt "Write a story about Albert Einstein" --temp 0.0 --max-tokens 256
Pre:
Prompt: 222.239 tokens-per-sec
Generation: 107.239 tokens-per-sec
Post:
Prompt: 223.145 tokens-per-sec
Generation: 108.463 tokens-per-sec
MNIST
Pre: Test accuracy 0.936, Time 0.632 (s)
Post: Test accuracy 0.927, Time 0.625 (s)
LeNet
Pre: Test accuracy 0.981, Time 2.797 (s)
Post: Test accuracy 0.975, Time 2.757 (s)
ResNet
Pre: Throughput: 6462.77 samples/second, Peak memory 1.663 (GB)
Post: Throughput: 6474.81 samples/second, Peak memory 1.663 (GB)
Transformer training:
python main.py --gpu
Pre: Iter 40: Train loss 7.864, It/sec 5.881, Peak memory 5.534 (GB)
Post: Iter 40: Train loss 7.814, It/sec 5.902, Peak memory 5.534 (GB)

The generation speed up is pretty nice. Running with a bigger command buffer (100 ops) gives even more speedup:
Generation: 114.676 tokens-per-sec
The main downside is introducing the additional dipatch* methods so that we can track dispatches on the command encoder. I'm not wedded to it..


Fix bug in date formatting

The short format was never used.

Thanks for catching this and fixing it!


Carthage not building

@jessesquires Using Carthage 0.7.5 when I do carthage update --platform iOS, it will download JSQCoreDataKit but never build it. I've tried on develop master and 1.1.0. Could you help me out?

Hey @adly-holler - please see https://github.com/Carthage/Carthage/issues/589


yolov5 downloaded an empty compressed package

https://github.com/Xilinx/Vitis-AI/blob/master/model_zoo/model-list/pt_yolov5-large_coco_640_640_109.6G_3.0/model.yaml

Hi @jia0511
Thanks for your feedback. For yolov5/v6 series model, we just provided a README document to share the accuracy and performance instead of the model itself due to limitations of the original model license.
If you want to get this model, please refer to the contact information in README and contact MKT for further support.

Thank you!


Displaying tooltips on a multilayer plot

Example of a single layer plot:
import pandas as pd
from lets_plot import *

LetsPlot.setup_html()

df = pd.read_csv("https://raw.githubusercontent.com/JetBrains/lets-plot-docs/master/data/gapminder.csv")
df = df[df.country.isin(["China", "United States"])]

p = (
    ggplot(df)
    + geom_line(aes('year', 'lifeExp', color='country'), tooltips=layer_tooltips().format("@year", "d"))
    + xlim(1950, 2011)
    + theme(legend_position='none')
    + scale_x_continuous(format='d')
)
p

Tooltips are displayed for both lines - by moving the cursor along the X:

A new layer appears (e.g., a text layer, just as decoration), and now only one tooltip is shown (for the object closest to the cursor):
p + geom_label(x=1980, y=74, label="US", size=9, color='#377eb8',label_size=0)  \
  + geom_label(x=1980, y=65, label="China", size=9, color='#e41a1c', label_size=0)

Currently this problem is fixed - by https://github.com/JetBrains/lets-plot/commit/e1fd4deee2e6d28090db2d9ef4daa1c7bff2364a
Included in LP v4.3.0


Assetic error since 1.1.2

Commit https://github.com/liip/LiipThemeBundle/commit/05e605e189938344cdb2b000808f8ada30a3b1b9 makes dumping assets in dev environment impossible:

Switching back to 1.1.1 and everything works again.

damn .. can you investigate them more?

I'm dumping the stack trace for future reference:
Exception trace:
 () at /vendor/symfony/symfony/src/Symfony/Component/Config/FileLocator.php:58
 Symfony\Component\Debug\ErrorHandler->handleError() at /vendor/symfony/symfony/src/Symfony/Component/Config/FileLocator.php:58
 Symfony\Component\Config\FileLocator->locate() at /vendor/liip/theme-bundle/Liip/ThemeBundle/Locator/FileLocator.php:148
 Liip\ThemeBundle\Locator\FileLocator->locate() at /vendor/liip/theme-bundle/Liip/ThemeBundle/Locator/TemplateLocator.php:86
 Liip\ThemeBundle\Locator\TemplateLocator->locate() at /vendor/symfony/symfony/src/Symfony/Bundle/FrameworkBundle/Templating/Loader/FilesystemLoader.php:44
 Symfony\Bundle\FrameworkBundle\Templating\Loader\FilesystemLoader->load() at /vendor/symfony/symfony/src/Symfony/Bundle/FrameworkBundle/Templating/Loader/FilesystemLoader.php:57
 Symfony\Bundle\FrameworkBundle\Templating\Loader\FilesystemLoader->isFresh() at /vendor/symfony/assetic-bundle/Factory/Resource/FileResource.php:49
 Symfony\Bundle\AsseticBundle\Factory\Resource\FileResource->isFresh() at /vendor/kriswallsmith/assetic/src/Assetic/Factory/Loader/CachedFormulaLoader.php:58
 Assetic\Factory\Loader\CachedFormulaLoader->load() at /vendor/kriswallsmith/assetic/src/Assetic/Factory/LazyAssetManager.php:160
 Assetic\Factory\LazyAssetManager->load() at /vendor/kriswallsmith/assetic/src/Assetic/Factory/LazyAssetManager.php:195
 Assetic\Factory\LazyAssetManager->getNames() at /vendor/symfony/assetic-bundle/Command/DumpCommand.php:116
 Symfony\Bundle\AsseticBundle\Command\DumpCommand->execute() at /vendor/symfony/symfony/src/Symfony/Component/Console/Command/Command.php:253
 Symfony\Component\Console\Command\Command->run() at /vendor/symfony/symfony/src/Symfony/Component/Console/Application.php:882
 Symfony\Component\Console\Application->doRunCommand() at /vendor/symfony/symfony/src/Symfony/Component/Console/Application.php:195
 Symfony\Component\Console\Application->doRun() at /vendor/symfony/symfony/src/Symfony/Bundle/FrameworkBundle/Console/Application.php:96
 Symfony\Bundle\FrameworkBundle\Console\Application->doRun() at /vendor/symfony/symfony/src/Symfony/Component/Console/Application.php:126
 Symfony\Component\Console\Application->run() at /app/console:64

$this->paths appears to be null instead of an array and Symfony\Component\Config\FileLocator tries to loop over the paths. Previously the property was set in Liip\ThemeBundle\Locator\FileLocator::setCurrentTheme.

I suppose this can be fixed by calling the original constructor.

ok .. in general the issue with assetic dumping is of course that we at most will dump one theme. best is I guess is to detect if we are in the CLI context and then do something else .. in newer Symfony versions we do have events also for the CLI but we can also just check the request service to be BC

ok .. please try that out .. I guess ideally we add a functional test for this ..

@lsmith77 See https://github.com/liip/LiipThemeBundle/pull/115


App reload require when adding new translation files

Describe the bug
I find it strange that i need to restart the app in order for i18next to load the new files or new fields within the existing files, that is quite hard to be doing and I think this is not supposed to happen
Occurs in next-i18next version
You must provide the npm module version, git tag, or even better the explict commit causing the issue.
Latest version
Steps to reproduce
You must provide a reproducible repository, or copy/paste blocks of code which are sufficient to reproduce the bug.
Simply use the official documentation example, I even tested with that and happens the same, I need to close the app and open again in order for the files to be resolved
Expected behaviour
Maybe not having to reload the app and next18n be able to load from fs while in development mode
Screenshots
If applicable, add screenshots or a GIF to help explain your problem.
OS (please complete the following information)

Device: [e.g. MBP 2018 13"]
Browser: [e.g. Chrome 70.0.3538.77]

Additional context
Add any other context about the problem here.

There have been several previous issues in regards to this, eg #796. This is easy to achieve with nodemon.

I'd be interesting to consider this as part of #869 TBH. Imagine <NextI18nextProvider> polling some dev-only API endpoint and updating the translation data without page reload, when it changes. The API endpoint, in turn, just tracks for the file changes.

@kachkaev Indeed, but behind the scenes, it only needs to listen to the given fs path, and in case the file differs, it invokes the reloading and this could also be provided as a prop to the Provider in order to allow the usage of fs watcher
As you can imagine this can be "annoying" when you are adding translations and instead of waiting for the app hot-reload, you have to reload the whole app (and in large apps, this takes up some minutes to boot)

This discussion seems insightful. https://github.com/vercel/next.js/discussions/11419

I got a pretty simple solution. I just added a few tricks on my page component only for next dev: 1. Add i18n.reloadResources() to getStaticProps, 2. Add timer to the client to reload the page component periodically.
import { GetStaticProps } from "next";
import { i18n } from "next-i18next";
import { serverSideTranslations } from "next-i18next/serverSideTranslations";
import { useRouter } from "next/dist/client/router";
import { useEffect } from "react";
import Home from "../components/home";

export const getStaticProps: GetStaticProps = async ({ locale }) => {
  if (process.env.NODE_ENV === "development") {
    await i18n?.reloadResources();
  }
  return {
    props: {
      ...(await serverSideTranslations(locale!, ["common"])),
    },
  };
};

const Index = () => {
  if (process.env.NODE_ENV === "development") {
    const router = useRouter();
    useEffect(() => {
      const timer = setInterval(() => {
        router.replace(router.asPath);
      }, 5000);
      return () => clearTimeout(timer);
    });
  }
  return <Home />;
};

export default Index;

With this code, the client application try to reload the page component every 5 seconds but most of the time it's almost noop because the prop is the same. When the translation files are updated, the prop returns different content so that React just re-render the components required to update. This is much faster than full app reload like nodemon or full page reload like next-remote-watch.

@isaachinman It seems that calling i18n.reloadResources in getStaticProps successfully solves the issue of not seeing translation updates on page refresh. Which leads me to wonder what if i18n.reloadResources was called in serversideTranslations? Given that serverSideTranslations is only called in getStaticProps, it really wouldn't affect app performance.
Perhaps during development on larger projects, calling reloadResources may slow loading each page. But I think for the majority of developers, it would be better. I really wouldn't see harm in adding this functionality to serverSideTranslations, perhaps as optional via a config option.

The serverSideTranslations function can be called both in getStaticProps and getServerSideProps.
A config option may be OK, if the logic is simple enough. Feel free to have a go at it if you want, and I can review the PR.


fix: solhint solidity code style settings

Purpose for this PR
Although Solhint is not the best static analyser for security / quality analysis, it can provide code style enforcement.
By setting the checks to error, the process fails, with the husky hooks that'll be checked (enforced) on commit, but more importantly the CI job will fail and PR status will also fail (preventing a PR merge).
The reasoning for which settings are errors and which are off, basically come down to my personal preference ....so please, chime in, discussion for a better standard is always welcome!

Once the settings are approved, I'll document them with an additional section in the readme  https://github.com/windranger-io/windranger-solidity-template/issues/63), I'm reluctant to begin the write-up before the style is chosen/agreed.

Need to change the solidity example to the Box (as it passes the code style, while BitDAO.sol does not).


cluster: add ResizeContainerTTY to cluster

Codecov Report

Merging #45 into master will decrease coverage by 0.09%.
The diff coverage is 60%.

@@            Coverage Diff            @@
##           master      #45     +/-   ##
=========================================
- Coverage   84.28%   84.19%   -0.1%
=========================================
  Files           9        9
  Lines        1311     1316      +5
=========================================
+ Hits         1105     1108      +3
- Misses        137      138      +1
- Partials       69       70      +1

Impacted Files
Coverage Δ

cluster/container.go
86.16% <60%> (-0.53%)
:arrow_down:

Continue to review full report at Codecov.

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


Write some actual documentation

Write some useful documentation covering how to clone this project, how to configure it, and how to build your Shopify App on top of this framework.

This is in progress - https://github.com/devondragon/SpringShopifyAppFramework/wiki


Bluetooth: Host: Unable to easily determine if the GATT MTU has been exchanged

Is your enhancement proposal related to a problem? Please describe.
An application is currently not able to easily determine if the GATT MTU has been exchanged or not.
In the case that the support maximum supported MTU on any of the devices is 23, then bt_gatt_get_mtu will always return 23 (BT_ATT_DEFAULT_LE_MTU), so that cannot be used.
The bt_gatt_cb.att_mtu_updated callback is called on connection via bt_att_connected as well, so just checking if that callback has been won't work either.
It looks like the only way to determine if the MTU has been exchanged is by checking if bt_gatt_cb.att_mtu_updated has been called twice.
This makes it's a bit tricky for the application to know whether it should attempt to update the MTU (if it's a GATT client).
Describe the solution you'd like
Either modify or add a new callback to more easily determine if the MTU has been exchanged, or add something like bool bt_gatt_mtu_is_exchanged(struct bt_conn *conn) (which would just check the BT_CONN_ATT_MTU_EXCHANGED flag).
Describe alternatives you've considered
N/A
Additional context
N/A

Some follow-up points on the use of att_mtu_updated and bt_gatt_exchange_mtu:
- API applicability based on GATT role: att_mtu_updated gets called both as GATT Server as well as GATT Client; whereas, bt_gatt_exchange_mtu only corresponds to being used as a GATT Client, from which the MTU exchange is initiated.
- MTU Exchange Result: bt_gatt_exchange_mtu does include the err-code that comes from the ATT request, whereas att_mtu_updated is called as a result of a successful MTU exchange.
- One-MTU-exchange-per-connection rule: Per the BT spec, there should be only one MTU exchange per connection, which corresponds to the bt_gatt_exchange_mtu implementation returning -EALREADY when the exchange has been requested (even if it’s in progress). That being the case, there wouldn't be a change on the handling of bt_gatt_exchange_mtu() return-codes, as only one MTU exchange request should be applicable.
As a result:

If the MTU exchange is successful, both att_mtu_updated and handler provided through bt_gatt_exchange_mtu will be notified with the resulting MTU size.
If the MTU exchange is unsuccessful (ATT_EXCHANGE_MTU_REQ is replied with ATT_ERROR_RSP), bt_gatt_exchange_mtu will contain the resulting err, whereas att_mtu_updated is not triggered.

Based on this information: do we want to provide means on att_mtu_updated to inform listeners that a MTU exchange took place and failed?
CC: @carlescufi @jori-nordic.

Add a note to the migration document documenting the change in behavior to att_mtu_updated

Count I get a pointer where the migration document is? I'm not familiarized with it :smiling_face_with_tear:

Based on this information: do we want to provide means on att_mtu_updated to inform listeners that a MTU exchange took place and failed?

Hmm, this is a good point. If there are multiple applications on a device, then if the MTU exchange fails, then only the caller will be aware of it, and since the core spec states

This request shall only be sent once during a connection by the client.

Then it cannot be retried. That will of course become obvious if they try, where the have the return value

I would OK with closing it. We don't really have any use case for it, as https://github.com/zephyrproject-rtos/zephyr/issues/68070 better fits what LE Audio needs (as of today).


Fix #16100 - Add Git: Pull From action

CC: @joaomoreno as assignee to #16100

Hi @Krzysztof-Cieslak, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!
You've already signed the contribution license agreement. Thanks!
The agreement was validated by Microsoft and real humans are currently evaluating your PR.
TTYL, MSBOT;

Delaying this due to the upcoming SCM feature.

@Krzysztof-Cieslak So sorry to let you know that I'll have to close this since the old Git world is deprecated.
I'd happily accept a PR on the new git extension. Or I can also implement it, I just don't want to step on your toes. Let me know what you want to do. 👍

@joaomoreno, I guess I should be able to add it again ;) Will try to do it later this week.

@Krzysztof-Cieslak Thanks man!


Documentation changes for Kingbird release

Update Kingbird release notes.
Add priority flag to _in and POST calls.
Fix errors in GetNextChunk documentation.

I think the right term we should use for describing the query parameters is query and not call. I think we should revert the changes from query to call.


Add dist i18n js for es-MX

This pull request includes a

[ ] Bug fix
[ ] New feature
[x] Translation

The following changes were made

Add es-MX js file

Is there any difference compared to https://github.com/select2/select2/blob/master/src/js/select2/i18n/es.js? I wasn't able to find any.

This appears to be the same as es.js, which is what will be used if es-MX is specified as the language. Select2 will build a fallback chain, and that is the second one (out of three) in the chain.

I think that approach is not the correct one, I mean, we have the same languague 'spanish' but we have different idioms, so maybe you should add those different files for each spanish languaue country

@simi on this case we use the same words, but maybe on Colombia they don't, so we should include all of those files

That's ok to add new translation, but I wasn't able to find any difference between current es.js and your submited es-MX.js. It is useless to have same file twice in repository and thanks to fallbacks, es-MX language will use es.js translation file.

I started looking into an issue inside spree admin, http://localhost:3000/javascripts/select2_locale_es-MX.js and at the end it took me here on select2, and that's because you're matching any es- locale to :es and on this case is wrong because es-MX is the correct locale, not :es


[Bug] ChainStreamPoller doesn't handle reorgs

Component
provider, pubsub
What version of Alloy are you on?
No response
Operating System
None
Describe the bug
ChainStreamPoller doesn't seem to account for reorgs at all, e.g. here it always expects the chain to be continuous.
And to fix that we probably need to compare block tip against next_yield here, and if block_number < next_yield, we should do some kind of search for the last non-diverging block (so probably we need to poll not only for block number, but rather for block header to use root hashes for comparison).
See this comment for more context.

I think I know how to fix this issue and will try to do it this week.

Can we close this?

Not really; the linked PR only implemented the Heartbeat part of reorg handling, while this ticket is about ChainStreamPoller.
But with said PR merged, I'm unblocked to work on it, and hope to do it this week.


Revert "New release workflow (#8127)" and fixes

Should we bump beta.7 in the same MR or separate?


Move ExpressionHash logic to the driver

We have this logic exposed from the sql/core.go level:
// ExpressionHash is a SHA-1 checksum
type ExpressionHash []byte

// NewExpressionHash returns a new SHA1 hash for given Expression instance.
// SHA1 checksum will be calculated based on ex.String().
func NewExpressionHash(ex Expression) ExpressionHash {
	h := sha1.Sum([]byte(ex.String()))
	return ExpressionHash(h[:])
}

// DecodeExpressionHash  decodes a hexadecimal string to ExpressionHash
func DecodeExpressionHash(hexstr string) (ExpressionHash, error) {
	h, err := hex.DecodeString(hexstr)
	if err != nil {
		return nil, err
	}
	return ExpressionHash(h), nil
}

// EncodeExpressionHash encodes an ExpressionHash to hexadecimal string
func EncodeExpressionHash(h ExpressionHash) string {
	return hex.EncodeToString(h)
}

And we are offering a way to deal with ExpressionHashes directly from the Index interface through the method ExpressionHashes:
// Index is the basic representation of an index. It can be extended with
// more functionality by implementing more specific interfaces.
type Index interface {
	// Get returns an IndexLookup for the given key in the index.
	Get(key ...interface{}) (IndexLookup, error)
	// Has checks if the given key is present in the index.
	Has(key ...interface{}) (bool, error)
	// ID returns the identifier of the index.
	ID() string
	// Database returns the database name this index belongs to.
	Database() string
	// Table returns the table name this index belongs to.
	Table() string
	// Expressions returns the indexed expressions. If the result is more than
	// one expression, it means the index has multiple columns indexed. If it's
	// just one, it means it may be an expression or a column.
	ExpressionHashes() []ExpressionHash
	// Driver ID of the index.
	Driver() string
}

The thing is that all this is a specific detail of the pilosa driver implementation so we can move all this logic to there and don't exposed it as part of the API.
Instead, we can have a method Expressions which returns the expressions indexed by an index as the string representation of an Expression:
// Index is the basic representation of an index. It can be extended with
// more functionality by implementing more specific interfaces.
type Index interface {
	// Get returns an IndexLookup for the given key in the index.
	Get(key ...interface{}) (IndexLookup, error)
	// Has checks if the given key is present in the index.
	Has(key ...interface{}) (bool, error)
	// ID returns the identifier of the index.
	ID() string
	// Database returns the database name this index belongs to.
	Database() string
	// Table returns the table name this index belongs to.
	Table() string
    // Expressions returns the indexed expressions as the string representation of a expression.
    //If the result is more than one expression, it means the // index has multiple columns indexed. If it's just one, it
    // means it may be an expression or a column.
	Expressions() []string
	// Driver ID of the index.
	Driver() string
}

IndexDriver interface will need to change its API:
NOW
---
// IndexDriver manages the coordination between the indexes and their
// representation on disk.
type IndexDriver interface {
	// ID returns the unique name of the driver.
	ID() string
	// Create a new index. If exprs is more than one expression, it means the
	// index has multiple columns indexed. If it's just one, it means it may
	// be an expression or a column.
	Create(db, table, id string, expressionHashes []ExpressionHash, config map[string]string) (Index, error)
	// LoadAll loads all indexes for given db and table
	LoadAll(db, table string) ([]Index, error)
	// Save the given index
	Save(ctx *Context, index Index, iter IndexKeyValueIter) error
	// Delete the given index.
	Delete(index Index) error
}

AFTER (Create method signature changed)
-----
// IndexDriver manages the coordination between the indexes and their
// representation on disk.
type IndexDriver interface {
	// ID returns the unique name of the driver.
	ID() string
	// Create a new index. If exprs is more than one expression, it means the
	// index has multiple columns indexed. If it's just one, it means it may
	// be an expression or a column.
	Create(db, table, id string, expressions []string, config map[string]string) (Index, error)
	// LoadAll loads all indexes for given db and table
	LoadAll(db, table string) ([]Index, error)
	// Save the given index
	Save(ctx *Context, index Index, iter IndexKeyValueIter) error
	// Delete the given index.
	Delete(index Index) error
}

------
(MAYBE
    Create(db, table, id string, expressions []sql.Expression, config map[string]string) (Index, error)

AND RELY ON THE DRIVER TO DO THE STRING CONVERSION?)
------

Doing this we can get all the expressions indexed. One of the case of use for this is the show indexes implementation. For the moment is not showing all the needed information because there's no way to get all the indexed expressions.
If we need build an Expression instance I guess we could parse the string. Anyway, parsing this is not something we need for the moment. Outside the driver implementation we are using ExpressionHash to compare expressions.
ExpressionHash is the hash of the string representation of an Expression so we can compare directly the strings.
To be able to use Expressions() []string from the current pilosa index/driver implementation, we need to store these expressions as plain text in the index's config.yml file.
Right now we are storing the expressions' hashes in the config file, but if we store the expressions' strings too, maybe it's not necessary store the hashes.
We can calculate the hashes from the string on the fly when creating or loading an index. So the specific pilosa index implementation will keep the hashes internally for its own purposes and will keep the string expressions to expose them through the Index interface methods.
WDYT @src-d/data-retrieval ?

..to make a long story short. I would totally get rid of expression hashes and stick to expressions []string (if we really can make a expressions as strings). Actually it's how it worked at the beginning (internally I called expr.String()). The only problem back then when I came across is deserialisation. We cannot deserialise expressions from strings. To recap. if we can guarantee that e.g.: ex1 = "LANGUAGE(file_content)" is equal ex2 = language(files.file_content) then it's fine. and we do not need any ExpressionHash logic anywhere.

Sounds good to me. All expressions implement fmt.Stringer, so we should be able to stringify any expression.


License Issue with GPL

I found some GPL'ed code in the Repository which is needed to compile the project (in the files src/ev3_demo.cpp, src/ev3_demo.h, ev3dev.h and ev3dev.cpp). However, the whole project is licensed under the MIT license. This is against the terms of the GPL, as pointed out here:  https://www.gnu.org/licenses/gpl-faq.html#IfLibraryIsGPL. It is strictly necessary that the whole project is licensed under the (A)GPL.
This can only be resolved by the copyright holder of the repo, which is @srmanikandasriram.

Thanks for bringing this to my notice. I have changed the license to GPL v2.


doc updates for kustomize changes

This PR includes a handful of doc updates to the changes made in #168.

There are some more Makefile updates I need to make since the operator is deployed to the k8ssandra-operator namespace instead of default now.


chore(storybook): group stories with type

Thanks!

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Making Instructions mutable and structured

Initially we stored instructions as pure strings.  I've now converted all (or perhaps nearly all) instructions to be members of the Instruction class.  Currently this is a string-subclass (hence immutable) as that aided with backwards compatibility with older code that expected instructions to be strings.  However, much of that code has now been consolidated (e.g., most Instructions are now created in  ins_append and Instructions are used again in relatively few places.  So this opens the door to converting Instruction to a mutable class, which can easily generate a string form of the instruction on demand, but actually stores the Instruction's content in a more generally useful structured format.
Making Instructions mutable allows for other entities to be able to create pointers to Instructions and trust that those pointers won't be broken by any old substitution into the Instruction (which forces wholesale replacement of immutables).  Some forms of optimization, esp. ones that remove or replace Instructions, may still break such links though, but we'll cross that bridge when we come to it.
Making instructions structured will help a lot with operations involving the instructions, like substitutions for function arguments, or tracking variable types for vectorization.  Currently, we do all this by seeking out relevant substrings like "{variable_name}" but that becomes tedious, e.g. if we're going to be asking multiple times which variables are involved in an instruction, and what type (if any) those variables are known to be, as we'll need to for vectorization.  There are also limits to what we can do with {}-format substitution, e.g., it'll run into problems if we use [v_x, v_y] notation to store known vectors, which was one fairly attractive way of trying to cram information about vectorhood into a string.  In many ways it'd be better to just store this information in a readily useful format, rather than needing to keep cramming and extracting it into/from a string.
One question that'll arise here is the extent to which we'll want to keep a 1:1 correspondence between Instructions and final lines of code.  We've already broken this somewhat, since destination labels are stored as Instructions but don't appear as final lines of code, and inline function bodies are stored as instructions (in the Function, not in the _main body) that don't appear in the final code except where morphed copies of them are spliced inline.   Vectorized operations will likely end up being stored as single instructions that get converted into paired lines of code only at the very last opportunity, to provide time to ascertain the types of all operands first.
But there are ways we could depart even further from this 1:1 correspondence.  E.g., a while loop could be stored as a single Instruction, containing multiple further Instructions within its .body.  (This is pretty much what I already did with defs, except I didn't construe the whole Function-object as a single Instruction.)  To a large extent, this would end up mirroring the AST syntax tree within an Instruction-tree, except that the Instruction-tree would be composed of nodes that map much more neatly to mlog elements, and the Instruction-tree would be much more amenable for purposes like type-detection and optimization.

Note that my Instruction is not a str subclass.
I am not sure how benefitial it would be to store a tree of mlog instructions. Pattern matching in Python isn't very pleasing to do. A sequence of instructions seems easier to analyze.

Note that my Instruction is not a str subclass.
I am not sure how benefitial it would be to store a tree of mlog instructions. Pattern matching in Python isn't very pleasing to do. A sequence of instructions seems easier to analyze.

After a lot of work, I'm mostly done replacing Instruction strings with structured instructions, complete with type-hints for all the operands.  This turned out to be a bigger project than I'd hoped since it required rewriting each of our Instruction-creating commands, changing it from cramming all the operands together into a near-compiled string to instead creating a particular subclass of instruction with the operands stored separately as (various subclasses of) Atom objects.  This will make argument substitution (e.g., for name-mangling, in-lining, and vectorization) more straightforward, and it provides an efficient way to keep track of the various instances of a variable so that each one's context may provide type-clues that will carry over to the other instances.
I've written this all in a way that would make it quite easy to build up the instructions in a tree-like structure if we wanted to (e.g. embedding loop bodies within loop instructions, and then-clauses and else-clauses within if instructions), though at the moment this machinery is still used only to compile function-bodies separately from the main body.

After a lot of work, I'm mostly done replacing Instruction strings with structured instructions, complete with type-hints for all the operands.  This turned out to be a bigger project than I'd hoped since it required rewriting each of our Instruction-creating commands, changing it from cramming all the operands together into a near-compiled string to instead creating a particular subclass of instruction with the operands stored separately as (various subclasses of) Atom objects.  This will make argument substitution (e.g., for name-mangling, in-lining, and vectorization) more straightforward, and it provides an efficient way to keep track of the various instances of a variable so that each one's context may provide type-clues that will carry over to the other instances.
I've written this all in a way that would make it quite easy to build up the instructions in a tree-like structure if we wanted to (e.g. embedding loop bodies within loop instructions, and then-clauses and else-clauses within if instructions), though at the moment this machinery is still used only to compile function-bodies separately from the main body.

So I've run into an instance where it could be useful to have stored the Instructions in a tree.  I've been working on the "second hurdle" for vectorization: determining when to use sensor commands to read up-to-date @x and @y for a block/unit and when to save instructions/cycles and just work with the most recently stored _x and _y.  This should be done for only blocks/units, so we can't do this until a relatively late pass, after the classes of all variables have been determined.  Intuitively, you'd want to scan what might have happened between the last sensor reading and this vectorized op, and if worrisome things happened that might have taken a lot of time or changed the referent of the variable in question, then you should reread the sensors to be safe.  One worrisome sign is a destination label in the interim, as that could be an opportunity for flow of execution to come in without a recent sensor reading.  However, not all destination labels are equally worrisome.  E.g., if there's just a quick if-statement between the last sensor reading and this use, that shouldn't force a sensor re-reading, even though it does have an endif label.  You might be inclined to ignore endif labels, but if the "last" sensor reading occurred within, say, an else clause, then the endif label should be worrisome afterall as flow might have jumped to it and bypassed doing this sensor reading.  To assess which "endif" labels should be worrisome, and which shouldn't, it'd help a lot to have the tree structure: sensor readings embedded deeper in the tree offer no assurance that our stored reading is up-to-date (except perhaps if sensor readings would have been performed on both horns of an if-else dilemma), whereas intervening if-statements at the same level or higher as the operation in question aren't so worrisome, unless they exceed a threshold length.
(It's possible that I'm overthinking this though.  I am offering manual handles to force sensor re-reading, or to cache a reading if you want to be sure not to waste instructions re-reading.  So maybe I shouldn't worry about an optimization that at best will save a couple cycles here and there, cycles that a savvy user could have saved another way.)

So I've run into an instance where it could be useful to have stored the Instructions in a tree.  I've been working on the "second hurdle" for vectorization: determining when to use sensor commands to read up-to-date @x and @y for a block/unit and when to save instructions/cycles and just work with the most recently stored _x and _y.  This should be done for only blocks/units, so we can't do this until a relatively late pass, after the classes of all variables have been determined.  Intuitively, you'd want to scan what might have happened between the last sensor reading and this vectorized op, and if worrisome things happened that might have taken a lot of time or changed the referent of the variable in question, then you should reread the sensors to be safe.  One worrisome sign is a destination label in the interim, as that could be an opportunity for flow of execution to come in without a recent sensor reading.  However, not all destination labels are equally worrisome.  E.g., if there's just a quick if-statement between the last sensor reading and this use, that shouldn't force a sensor re-reading, even though it does have an endif label.  You might be inclined to ignore endif labels, but if the "last" sensor reading occurred within, say, an else clause, then the endif label should be worrisome afterall as flow might have jumped to it and bypassed doing this sensor reading.  To assess which "endif" labels should be worrisome, and which shouldn't, it'd help a lot to have the tree structure: sensor readings embedded deeper in the tree offer no assurance that our stored reading is up-to-date (except perhaps if sensor readings would have been performed on both horns of an if-else dilemma), whereas intervening if-statements at the same level or higher as the operation in question aren't so worrisome, unless they exceed a threshold length.
(It's possible that I'm overthinking this though.  I am offering manual handles to force sensor re-reading, or to cache a reading if you want to be sure not to waste instructions re-reading.  So maybe I shouldn't worry about an optimization that at best will save a couple cycles here and there, cycles that a savvy user could have saved another way.)

Another instance where keeping track of tree structure could help:  if decide to support break and continue commands in nested for/while loops, a tree structure would help determine which nested loop's ending/beginning point to jump to.
(For this, what really matters is keeping some tree/stack of nested levels, which you could implement without actually writing the instructions into this data-structure, but implementing this would get you a step closer to storing the instructions in a tree structure.)

Another instance where keeping track of tree structure could help:  if decide to support break and continue commands in nested for/while loops, a tree structure would help determine which nested loop's ending/beginning point to jump to.
(For this, what really matters is keeping some tree/stack of nested levels, which you could implement without actually writing the instructions into this data-structure, but implementing this would get you a step closer to storing the instructions in a tree structure.)

Something cool that would be great to have to benefit from this Structural Pattern Matching. Too bad the PEP is only a draft.

Damn, PEP was accepted 2 days ago on 8th of February. Cool.


I18N: translations for screens and gui status (DYNPRO, CUAD)

Can work on this
Current idea:

CUA: re-call RS_CUA_INTERNAL_FETCH/WRITE for each language OR directly update rsmptextsi
DYNP: haven't study yet, but RPY_DYNPRO_ seems to miss language param ... so helpful ideas appreciated ;)
Save to I18N_TPOOL with additional keys

Related #2385, #2202, #1886
As noted in #2385 I suggest we move towards using the translation functions (LXE_*) for handling translations of objects, as this will(?) give full flexibility.
Also, I think #1886 is important, not sure how to do it, but if we build something new, then somehow make it possible to separate translations.

First step would be to look into how the LXE stuff works.
Perhaps it is possible to handle all translateable object types generically, or perhaps add addtional methods to ZIF_ABAPGIT_OBJECT.

Hi all, sorry to bump this, but I found this through DDG search when looking for my error. I moved a screen from one system from one system to another using ABAPGit and translations were lost. This is the known issue here, right?
Would highly appreciate a solution if you find one :)

pull requests are welcome, I've created https://github.com/abapGit-tests/Dynpro_Translation for an example which can reproduce the issue

I was doing some experiments last year - e.g. https://github.com/sbcgua/abapgit-translation-poc/blob/0c093cf5304659aebb52ddf7da384243b3b0fe9a/src/ztest_lang.prog.abap#L43 - but didn't finish. Though the goal was a bit higher. I'm sure some pieces of code can be reused to implement the translations in a simple way (like it is done now). But I have no time for this in the near future. Fill free to PR.

Hi @sbcgua , @larshp ,
I gave it a try now to implement Dynpro Text serialization using  (small part of the) the LXE approach from your big PoC @sbcgua .
Serialization works, but I cannot get deserialization (i.e. Text writing using LXE) to work.
Please see here for my current version of class zcl_abapgit_object_prog:
fork
I found FM LXE_OBJ_TEXT_PAIR_WRITE from the PoC, but I cannot get it to work. Any experience with this? It seems like some buffers are not filled...
Gruß,
Sebastian

no idea 😄 I've not looked into the function modules, but I'm sure it works somehow

It was some time ago... :)
If I remember correctly i found that:

it is not possible to write texts in master lang (which is kind of logical)
in order to write you have to read first to fill that buffer (global vars inside fm)

It should be possible in that POC. But may need to uncomment things in lxe class

Are the translations for DYNP and CUAD covered by LXE? Close this?

Not that it solved ... because the default language management does not support DYNP/ CUAD translation. However, the solutiont would be a part of LXE translation approach improvement. So maybe this separate issue does not make sense anymore

Just stumbled across the issue of missing CUA translations and got here. Is this something which should work?

I haven't tried but if I understand it right, LXE picks up all sub-objects so it should work @christianguenter2 :
https://github.com/abapGit/abapGit/blob/2645e2208b830c188a54235737aa6cb23beff43d/src/objects/texts/zcl_abapgit_lxe_texts.clas.abap#L465


Window not ending

How to implement:
Markdown file consist some long code. This block increasing width of window.

Might be the same issue here https://github.com/hackjutsu/Lepton/issues/126

pretty much sure i fixed this issue in new design release

Thanks @DNLHC ：）
@rubinchyk Please check out 1.4.0 and have a try. Hope this issue is resolved.


Firefox driver throwing exception with BrowserMobProxyServer

I have tried the below code as per latest BrowserMobProxy
import java.io.File;
import java.io.IOException;
import net.lightbody.bmp.BrowserMobProxy;
import net.lightbody.bmp.BrowserMobProxyServer;
import net.lightbody.bmp.client.ClientUtil;
import net.lightbody.bmp.core.har.Har;
import org.openqa.selenium.Proxy;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.remote.CapabilityType;
import org.openqa.selenium.remote.DesiredCapabilities;
public class SampleTestSuite2 {
public static void main(String args[]) throws IOException {

	// start the proxy
	BrowserMobProxy server = new BrowserMobProxyServer();
	server.start(0);

	int port = server.getPort();
	System.out.println(port);

	// get the Selenium proxy object
	Proxy proxy =ClientUtil.createSeleniumProxy(server);

	// configure it as a desired capability
	DesiredCapabilities capabilities = new DesiredCapabilities();
	capabilities.setCapability(CapabilityType.PROXY, proxy);

	// start the browser up
	FirefoxDriver driver = new FirefoxDriver(capabilities);

	// create a new HAR with the label "yahoo.com"
        server.newHar("yahoo");

	// open yahoo.com
	driver.get("https://in.yahoo.com");

	// get the HAR data
	Har har = server.getHar();

	// Write the HAR Data in a File
	File harFile = new File("D:\\psstg1.har");
	har.writeTo(harFile);

	// Stop the BrowserMob Proxy Server
	server.stop();

	// Close the browser
	driver.quit();
}

}
But it is not working. It is launching the browser but not doing anything after.
In debug mode I have found that it is going to the following finally block of RemoteWebDriver class
} finally {
Thread.currentThread().setName(currentName); // line number 601
}
and then it is going to Thread.dispatchUncaughtException(Throwable).
So the browser launch was unsuccessful.
I have used following dependencies:

net.lightbody.bmp
browsermob-core-littleproxy
2.1.0-beta-2
test

org.seleniumhq.selenium
selenium-java
2.46.0

OS: Windows 7 64 bit
Please let me know if I am doing anything wrong.

What version of Firefox are you using? Firefox 39 (the latest) isn't supported by Selenium yet. Try Firefox 38.

it's not official yet, but selenium 2.46 + FF 39 working well for me
2015-07-29 10:38 GMT+03:00 Jason Hoetger<EMAIL_ADDRESS>
What version of Firefox are you using? Firefox 39 (the latest) isn't
supported by Selenium yet. Try Firefox 38.
—
Reply to this email directly or view it on GitHub
https://github.com/lightbody/browsermob-proxy/issues/289#issuecomment-125870700
.

Yes other functional tests are running properly with selenium 2.46 + FF 39.
I have tried another approach. Instead of adding the Jar by maven dependency as above, I added the  'browsermob-dist-2.1.0-beta-2.jar' in the build path of the project. This time its working fine and hitting the URL properly.
But server.getHar(); returning null value.

@ayanmodak - are you still having issues with this? The BrowserTest test class passes for me using the latest Selenium and FF.

I haven't seen an update to this issue, so I'll go ahead and close it. Please feel free to reopen if it occurs again.


#include  #include   bool is_prime(int N) {     if (N <= 1) // If N is less than or equal to 1, it's not a prime number.        return false;      if (N <= 3) // If N is less than or equal to 3, it's a prime number.        return true;      if (N % 2 == 0 || N % 3 == 0) // If N is divisible by 2 or 3, it's not a prime number.        return false;      // Now, we can safely start from i = 5, incrementing by 6 every iteration, as we've already checked for divisibility by 2 and 3.     for (int i = 5; i * i <= N; i += 6)         if (N % i == 0 || N % (i + 2) == 0)             return false;      return true; }  int main() {     int N;     std::cout << "Enter a number: ";     std::cin >> N;      if (is_prime(N))         std::cout << N << " is a prime number." << std::endl;     else         std::cout << N << " is not a prime number." << std::endl;      return 0; }

Environment (please complete the following information):

OS (e.g., Windows 10):
Extension version (e.g., 1.2.3):

Describe the bug:

Repro steps:

Expected behavior:

Additional context:

#include
#include
bool is_prime(int N)
{
if (N <= 1) // If N is less than or equal to 1, it's not a prime number.
return false;
if (N <= 3) // If N is less than or equal to 3, it's a prime number.
   return true;

if (N % 2 == 0 || N % 3 == 0) // If N is divisible by 2 or 3, it's not a prime number.
   return false;

// Now, we can safely start from i = 5, incrementing by 6 every iteration, as we've already checked for divisibility by 2 and 3.
for (int i = 5; i * i <= N; i += 6)
    if (N % i == 0 || N % (i + 2) == 0)
        return false;

return true;

}
int main()
{
int N;
std::cout << "Enter a number: ";
std::cin >> N;
if (is_prime(N))
    std::cout << N << " is a prime number." << std::endl;
else
    std::cout << N << " is not a prime number." << std::endl;

return 0;

}


@sweir27 => Leave out pageview data on auction artworks

There's some stitch/React weirdness going on here, so just a quick 'fix' for now.

👍 thank you! merge on green

Fixed in https://github.com/artsy/force/pull/3114


Modern texts need a separate character listing page

The requirement is:

Every modern text should be accompanied by a file named [modern-text-id]_characters.xml. This is essentially a critical paratext that may include any amount of prose, but will also, somewhere, include a processing instruction that will trigger the import of a well-rendered version of the characters listPerson from the modern text.
When the character list is rendered into that file at (say) originalXml build time, the ids of the characters will be morphed to match the host file id, and those ids will become HTML ids in the output.
A new prefixDef role: will be created, which can be used to point from anywhere in an edition to the xml:id of a character in a modern text character list. Diagnostics will check that such links point accurately, and only within an edition.
That prefixDef link will be converted at originalXml time into a pointer to the file + id of the character in the _characters.xml file.
At standalone time, those links will be used to trigger import of all characters pointed at from a page in the edition into that page, where they will be part of the appendix and function as popups in the normal way in the HTML output.

@JanelleJenstad @LEMDO-PM We already have 15 files with the name/id format "..._Characters.xml" (not lower-case c, as specified on the ticket). None of these have any processing-instruction yet. So am I right to assume:

The original specification above is wrong, and the key filename has an upper-case C?
These are the files which are going to include this processing instruction?
The _Characters file must have the same publication status as the source modern edition that it's going to be populated from?
There needs to be some way for the processing instruction to point to a specific modern edition, in the case where there may be more than one?
Any file which includes a role: link, and has a published status, should trigger an error if the two sources (the modern edition and the _Characters file) do not also match that status?

This does seem to me to be a bit tortuous, especially when we already have an HTML rendering of each character in the modern edition itself. Would it not be better just to allow links like this:
<ref target="role:emdH5_FM#emdH5_FM_KingHenry>Henry V</ref>
and have that link trigger the import of that character's info into the appendix of the document containing the link, so it would become a popup in the normal way?

@LEMDO-PM @JanelleJenstad Is this one dying a peaceful natural death?

The PI might be moribund but the ticket is not.

@JanelleJenstad @LEMDO-PM We already have 15 files with the name/id format "..._Characters.xml" (not lower-case c, as specified on the ticket). None of these have any processing-instruction yet. So am I right to assume:

The original specification above is wrong, and the key filename has an upper-case C?
Any files with an uppercase C are unremediated IML files. I will do an svn rename of those files.

These are the files which are going to include this processing instruction?
Yes.
The _Characters file must have the same publication status as the source modern edition that it's going to be populated from?
Yes.
There needs to be some way for the processing instruction to point to a specific modern edition, in the case where there may be more than one?
Yes. For example, H5 includes a modern Q and a modern F text, each with its own character list. So we will need two files for the two character lists, each pulling in the <listPerson> from a particular modern text.

Any file which includes a role: link, and has a published status, should trigger an error if the two sources (the modern edition and the _Characters file) do not also match that status?
I'm not sure what you are asking here. Will pop into the lab to clarify.

This does seem to me to be a bit tortuous, especially when we already have an HTML rendering of each character in the modern edition itself. Would it not be better just to allow links like this:
<ref target="role:emdH5_FM#emdH5_FM_KingHenry>Henry V</ref>
and have that link trigger the import of that character's info into the appendix of the document containing the link, so it would become a popup in the normal way?

Not better (although that would be a cool feature!) because the point of this ticket is to have a page that users can bookmark, keep open, and link to when they use the edition. Also (as with collations and annotations), a lot of work goes into character lists, and we'd like to be able to display it in the edition.

@JanelleJenstad What's the timeline for this, and which anthologies need it to be implemented before they can be published? How much additional build time are you willing to add to make this happen? Is it more or less important than getting the annotation/collation processing rewritten?

@martindholmes
If we have to choose, let's prioritize annotation and collation processing.
QME is supposed to release at the end of September and should have character lists. But we can release without the character lists for QME.
DRE is supposed to release at the end of November (fingers crossed) and it will definitely need character lists.

Sounds good. I have a proof of concept for the annotation/collation work and I'm hoping to put a couple of days into it during pro-d. It's an approach that will work for other things.

@JanelleJenstad We still have the following files with upper-case C:
./JC/crit/emdJC_Characters.xml
./Tmp/crit/emdTmp_Characters.xml
./Lr/crit/emdLr_Q1M_Characters.xml
./Lr/crit/emdLr_FM_Characters.xml
./FBFB/crit/emdFBFB_Characters.xml
./Oth/crit/emdOth_Characters.xml
./1H4/crit/emd1H4_Characters.xml
./HW/crit/emdHW_Characters.xml
./FV/crit/emdFV_Characters.xml
./Rom/crit/emdRom_Characters.xml
./Tro/crit/emdTro_Characters.xml
./AYL/crit/emdAYL_Characters.xml
./Leir/crit/emdLeir_Characters.xml
./Cym/crit/emdCym_Characters.xml
Since some of these are part of the QME release that just happened, I think it will be problematic for future releases to change their case now, so I would suggest that we revise the plan to settle on the upper-case C.

They can still be renamed. They weren't included in the editions.

Done. They should all be lower case _characters now.

See comment on issue #209.

Since two files whose filenames differ only in case will confuse a lot of people and systems, I suggest we use another format for these files. How about emdH5_FM_roleList.xml?

@LEMDO-PM @JanelleJenstad Any comment on the above?

Since two files whose filenames differ only in case will confuse a lot of people and systems, I suggest we use another format for these files. How about emdH5_FM_roleList.xml?

_roleList is an excellent filename pattern. Let's go with it.

As of rev 20187, original XML pages are being created from candidate cast lists. Right now they're just being copied to the output but in the body of the text; we'll have to see whether anything usable results from that, or whether we'll need to transform them into some other form to get a usable output.

As of rev 20190, a valid generated file is being created at least for emdH5_FM.

As of rev 20196, the original XML generated is now valid.

As of rev 20199, the roleList pages are now being rendered just like the popup character list.
What remains to be done is the insertion of a link to the character listing into the edition page.

As of rev 20208, the edition file should now contain the appropriate links. Waiting to see if the build succeeds, and if so, this ticket is complete.

Works well, looks OK, closing this ticket.


Munki Manifest Selector hangs when running from Imagr script, works in terminal.

From user wegotoeleven on slack:
So, I can invoke MMS via an inline script in my imagr-config.plist file. MMS appears, and then beach balls.
If I invoke MMS via a root terminal, it doesn’t.

Fixed in this commit: https://github.com/NBICreator/NBICreator/commit/8232ec86617f19cdccc3e819b00e8efac2c091ee. Will be in next release.


F# arrays - element access syntax

https://docs.microsoft.com/en-us/dotnet/fsharp/language-reference/arrays#access-elements
For this section, the text should be updated to match the code, maybe something like:

You can access array elements by using brackets ([ and ]). The original dot syntax (.[index]) is still supported but no longer recommended as of F# 6.0.

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

ID: 6cda87e0-998a-086f-f5ed-2290d7a97966
Version Independent ID: 45152c64-0643-3c5a-93cb-a2f689170887
Content: Arrays in F#
Content Source: docs/fsharp/language-reference/arrays.md
Product: dotnet-fsharp
GitHub Login: @cartermp
Microsoft Alias: dotnetcontent

Thanks for noting this @jcmrva
I've added this to our backlog, and added the "up for grabs" label for any community members interested in submitting a PR.

@BillWagner
This issue should be closed by PR #27520 because that PR is the one that fixed the F# array element access syntax.

Fixed in #29468


Add name of wallet which one you are logged in with

We should probably add the name of the account so users know under which name they are logged in.
@exezbcz will drop some ideas:)

👋

hi! I think @fabiogatti intended to take this, as we addressed it in issue #4428.

heyyy, designs here.

the code/query for assets, you can find them at
https://beta.kodadot.xyz/bsx/assets/
https://github.com/kodadot/nft-gallery/blob/main/components/bsx/Asset/AssetList.vue

Hey @Jarsen136, mind picking this up?
There was some work being done in

#4428

Plus designs are here
https://github.com/kodadot/nft-gallery/issues/4302#issuecomment-1332603449

👋🏻


Fold OpDot

Adding three rules to fold OpDot (implemented as two).

When an OpDot has two constants, then fold to the resulting const.

When one of the inputs is the 0 vector, then fold to zero.

When one of the inputs is a single 1 with 0s, then rewrite to an
OpCompositeExtract of the appropriate element.  This will help find
even more folding opportunities.

Contributes to #709.

Bot failures: /home/travis/build/KhronosGroup/SPIRV-Tools/source/opt/const_folding_rules.cpp:317:71: error: declaration of ‘const_mgr’ shadows a previous local [-Werror=shadow]
analysis::ConstantManager* const_mgr) -> const analysis::Constant* {


is it possible to sync this thing with chrome?... or google account I should say.

well, the title says it all... is this possible or will it be at some point? thanks

I don't really know why exactly but it's not only about google account, it's the same problem with a lot of "website accounts" like gmail (ofc) or facebook. I know it can seems a bit stupid, i assume the main idea is to see your work result of keep a documentation opened during your work, but if this integrated webbrowser could let us get a pane open on facebook or gmail it could be nice to improve productivity (i need both all day when i work so i can't use atom in fullscreen so far... :') )

not sure what you mean..You should be able to login into your gmail/facebook and keep yourself logged in even after your close and reopen atom...I don't think sync with chrome is a possibilty..

Hum, pretty strange. You was right i can "connect" and reach the main facebook page, but the content of the page itself refuse to load (that's why i thought it was the same problem...). I just checked about google accounts and yes it works (idon't know why i didn't last time... i assume it was a bug from atom itself).
Below the console output (after being autentificated successfully into facebook) :
qTOnSmrXUMu.js:32 Uncaught ReferenceError: __d is not defined
2module.js:330 Uncaught Error: Cannot find module 'ServerJSDefine'
(index):14 Uncaught ReferenceError: requireLazy is not defined
(index):16 Uncaught ReferenceError: requireLazy is not defined
module.js:330 Uncaught Error: Cannot find module 'ServerJSDefine'
module.js:330 Uncaught Error: Cannot find module 'BigPipe'
(index):22 Uncaught TypeError: Cannot read property 'beforePageletArrive' of undefined
module.js:330 Uncaught Error: Cannot find module 'TimeSlice'
(index):26 Uncaught TypeError: Cannot read property 'beforePageletArrive' of undefined
module.js:330 Uncaught Error: Cannot find module 'TimeSlice'
(index):30 Uncaught TypeError: Cannot read property 'beforePageletArrive' of undefined
module.js:330 Uncaught Error: Cannot find module 'TimeSlice'
(index):34 Uncaught TypeError: Cannot read property 'beforePageletArrive' of undefined
module.js:330 Uncaught Error: Cannot find module 'TimeSlice'
(index):38 Uncaught TypeError: Cannot read property 'beforePageletArrive' of undefined
module.js:330 Uncaught Error: Cannot find module 'TimeSlice'
(index):42 Uncaught TypeError: Cannot read property 'beforePageletArrive' of undefined
module.js:330 Uncaught Error: Cannot find module 'TimeSlice'
(index):46 Uncaught TypeError: Cannot read property 'beforePageletArrive' of undefined
module.js:330 Uncaught Error: Cannot find module 'TimeSlice'
(index):50 Uncaught TypeError: Cannot read property 'beforePageletArrive' of undefined
module.js:330 Uncaught Error: Cannot find module 'TimeSlice'
(index):54 Uncaught TypeError: Cannot read property 'beforePageletArrive' of undefined
module.js:330 Uncaught Error: Cannot find module 'TimeSlice'
(index):57 Uncaught TypeError: Cannot read property 'beforePageletArrive' of undefined
module.js:330 Uncaught Error: Cannot find module 'TimeSlice'
(index):60 Uncaught TypeError: Cannot read property 'beforePageletArrive' of undefined
module.js:330 Uncaught Error: Cannot find module 'TimeSlice'
(index):64 Uncaught TypeError: Cannot read property 'beforePageletArrive' of undefined
module.js:330 Uncaught Error: Cannot find module 'TimeSlice'
(index):70 Uncaught TypeError: Cannot read property 'beforePageletArrive' of undefined
module.js:330 Uncaught Error: Cannot find module 'TimeSlice'
(index):74 Uncaught TypeError: Cannot read property 'beforePageletArrive' of undefined
module.js:330 Uncaught Error: Cannot find module 'TimeSlice'
(index):78 Uncaught TypeError: Cannot read property 'beforePageletArrive' of undefined
module.js:330 Uncaught Error: Cannot find module 'TimeSlice'
(index):82 Uncaught TypeError: Cannot read property 'beforePageletArrive' of undefined
module.js:330 Uncaught Error: Cannot find module 'TimeSlice'
(index):86 Uncaught TypeError: Cannot read property 'beforePageletArrive' of undefined
module.js:330 Uncaught Error: Cannot find module 'TimeSlice'
(index):90 Uncaught TypeError: Cannot read property 'beforePageletArrive' of undefined
module.js:330 Uncaught Error: Cannot find module 'TimeSlice'
(index):94 Uncaught TypeError: Cannot read property 'beforePageletArrive' of undefined
module.js:330 Uncaught Error: Cannot find module 'TimeSlice'
(index):97 Uncaught TypeError: Cannot read property 'beforePageletArrive' of undefined
module.js:330 Uncaught Error: Cannot find module 'TimeSlice'
(index):101 Uncaught TypeError: Cannot read property 'beforePageletArrive' of undefined
module.js:330 Uncaught Error: Cannot find module 'TimeSlice'
(index):107 Uncaught TypeError: Cannot read property 'beforePageletArrive' of undefined
module.js:330 Uncaught Error: Cannot find module 'TimeSlice'
(index):108 Uncaught TypeError: Cannot read property 'beforePageletArrive' of undefined
module.js:330 Uncaught Error: Cannot find module 'TimeSlice'

there is a issue with require module/amd style...which need to be addressed..https://github.com/skandasoft/browser-plus/issues/18

That's this gj ! Sorry to have missed the right tread to post.
Good luck !

How about syncing cookies, bookmarks, ... (locally, not using google) ?


Allow class names in object detection list (Todo: Unit Tests for YoloX)

Outstanding Task: Write unit tests for YoloX.
Update: encountered torch RuntimeError on M1 Mac, possible PyTorch and torchvision conflict. See error log attached. Will continue to work on this to find a solution.
M1_Mac_torch_error_log.txt

Finally got node-v1.2 branch (along with YoloX) to run on M1 Mac MacOS Big Sur by doing the following:

Create new conda env with Python 3.8
Follow the instructions to install Peeking Duck on M1 Mac
Install pytorch and torchvision
a. conda install pytorch-cpu
b. Download torchvision source: git clone https://github.com/pytorch/vision.git
c. Compile source: MACOSX_DEPLOYMENT_TARGET=11.6 CC=clang CXX=clang++ python setup.py install
d. Modify installed torch package: edit
/opt/homebrew/Caskroom/miniforge/base/envs/pkd/lib/python3.8/site-packages/torch/ao/quantization/__init__.py
and add after last line
from .stubs import *

Now PKD node-v1.2 will run with YoloX.
NB: Without 3(d) above, one will encounter the following error:
2021-12-16 22:07:36 root  ERROR:  ImportError: cannot import name 'QuantStub' from 'torch.ao.quantization' (/opt/homebrew/Caskroom/miniforge/base/envs/pkd/lib/python3.8/site-packages/torch/ao/quantization/__init__.py)

Update: To generate M1 Mac pytorch and torchvision pip wheels and/or conda packages

Host internally for users to download

This has been included in the recent 1.2.0 release.


Add Norton Knatchbull School

Add the Norton Knatchbull School (nks.kent.sch.uk)

@meeplabsdev First stage of verification passed, official domain is nks.kent.sch.uk as far as I verified. This is just an informational note. Pull request is still in the review. I appreciate your patience while waiting for the final decision.

@meeplabsdev Thank you for your patience while waiting for a review and processing your request. Pull request merged.


Create a TodayViewWidget for showing the balance and the menu at a glance

https://littlebitesofcocoa.com/36-today-view-widgets

This is done on master and will soon be deployed.

Will close this when the app is actually released.


Project size

Verify that external dependencies share webgme dependencies (and don't each pull in their own).

They share dependencies


Add support for Hive/Impala

It would be really nice for Caravel to have support for Hive/Impala. There is a nice package called Impyla that provides a SQLAlchemy interface to Hive and Impala.
I am testing it out with Caravel, seems to be working so far with Hive. I can connect to my Hive database, there is a problem where SQLAlchemy tries to run a select version() as the first query, as this is not a valid Hive function, it causes an immediate failure. Once I resolve this I will open a pull request.

Very nice! Thanks!

Found the problem with Impyla, raised ticket https://github.com/cloudera/impyla/issues/190

+1

Raised a pull request to fix this issue with Impala here: https://github.com/cloudera/impyla/pull/191
I have tested the Impyla fix, and verified that I now have a working Hive/Impala connection in Caravel. Once the Implya fix is in, I will make a pull request against Caravel to add it.

Quick update:
I am still waiting for pull request review on Impyla: https://github.com/cloudera/impyla/pull/191

Pull request to fix Impyla SQLAlchemy was merged: https://github.com/cloudera/impyla/pull/191
I will make a patch for Caravel to use the library with the next few days and update here.

We don't bring external database dependencies into Caravel, it's for people to set those up in their environment since not everyone needs every db. People should just pip install impyla --upgrade and they are good to go.

@mistercrunch Sounds good! In this case, users just have to install impyla and they are good to go.
The version with the fix is impyla 0.13.7.

I try to setup connection from caravel to Spark Thrift Server
Connection String is  presto://localhost:10001/hive/default
But was not successful.
2016-07-11 11:10:16,057:INFO:pyhive.presto:SHOW TABLES
2016-07-11 11:10:16,057:DEBUG:pyhive.presto:Headers: {u'X-Presto-Source': u'pyhive', u'X-Presto-User': 'giaosudau', u'X-Presto-Catalog': u'hive', u'X-Presto-Schema': u'default'}
2016-07-11 11:10:16,066:INFO:requests.packages.urllib3.connectionpool:Starting new HTTP connection (1): localhost

Spark Thrift Server
16/07/11 11:10:16 ERROR TThreadPoolServer: Error occurred during processing of message.
java.lang.RuntimeException: org.apache.thrift.transport.TTransportException: Invalid status 80
	at org.apache.thrift.transport.TSaslServerTransport$Factory.getTransport(TSaslServerTransport.java:219)
	at org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:268)
	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)
Caused by: org.apache.thrift.transport.TTransportException: Invalid status 80
	at org.apache.thrift.transport.TSaslTransport.sendAndThrowMessage(TSaslTransport.java:232)
	at org.apache.thrift.transport.TSaslTransport.receiveSaslMessage(TSaslTransport.java:184)
	at org.apache.thrift.transport.TSaslServerTransport.handleSaslStartMessage(TSaslServerTransport.java:125)
	at org.apache.thrift.transport.TSaslTransport.open(TSaslTransport.java:271)
	at org.apache.thrift.transport.TSaslServerTransport.open(TSaslServerTransport.java:41)
	at org.apache.thrift.transport.TSaslServerTransport$Factory.getTransport(TSaslServerTransport.java:216)
	... 4 more

impala can't resolve username
impala://xxx:xxxx@192.x.x.x:21050/default
File "/usr/local/lib/python2.7/site-packages/sqlalchemy/engine/strategies.py", line 97, in connect
return dialect.connect(*cargs, **cparams)
File "/usr/local/lib/python2.7/site-packages/sqlalchemy/engine/default.py", line 385, in connect
return self.dbapi.connect(*cargs, **cparams)
TypeError: connect() got an unexpected keyword argument 'username'

I added an extra in the Superset "create database connection" for passing some connection arguments:
{
"metadata_params": {},
"engine_params": {
"connect_args": {
"auth_mechanism": "GSSAPI",
"user" : "put_your_user_here",
"password" : "None" }
}
}
So I introduced a connection URL as following one:
impala://impala_host:21050/impala_database
And it worked
Note: I had run a kinit before to connect.

@joshwalters do you know how to config socks5 param with impyla

@evinhas I am getting the below error, when trying to use your way to connect. Any ideas on this? To me it looks like it trying to look for the kerberos cache for the user 'root'.
But I can successfully connect from the shell from the user '212562234'.

have you requested a kerberos' ticket? I had run a kinit before to connect, for getting the kerberos ticket. I can see in your error log the following message
No kerberos credentials are availble
So it sounds like your user doesn't have any kerberos ticket
Try to run a kinit in the computer running the command is below (adapted to your user/environment):
kinit<EMAIL_ADDRESS>

Yes, I had the keytab file and done kinit as well. But the problem was I using the user 'root' to do the installation and start the server. Once I did with a user who was able to authenticate itself against Kerberos, I could connect to hive.
https://github.com/apache/incubator-superset/issues/4951


Unable to exec

Hi @william89731
Issue Description
Unfortunately I am not able to send a simple command to a SSH server.
When triggering the flow Node-RED is crashing with the following exception:
16 Oct 18:49:11 - [red] Uncaught Exception:
16 Oct 18:49:11 - [error] Error: Unable to exec
    at Array.<anonymous> (/home/x/.node-red/node_modules/ssh2/lib/client.js:1836:39)
    at onCHANNEL_CLOSE (/home/x/.node-red/node_modules/ssh2/lib/utils.js:76:21)
    at ChannelManager.cleanup (/home/x/.node-red/node_modules/ssh2/lib/utils.js:200:7)
    at Socket.<anonymous> (/home/x/.node-red/node_modules/ssh2/lib/client.js:831:21)
    at Socket.emit (node:events:514:28)
    at TCP.<anonymous> (node:net:337:12)

My flow (Abstract, details see bottom):
Inject node with msg.payload="?"
-> ssh-v3 node with a ssh-conf using host, username and password only
-> debug node

My environment:
16 Oct 18:48:50 - [info] Node-RED version: v3.1.0
16 Oct 18:48:50 - [info] Node.js  version: v20.8.0
16 Oct 18:48:50 - [info] Linux 6.5.7-arch1-1 x64 LE

node-red-contrib-ssh-v3   Version 2.0.3

Full Flow Details:

Full Flow Details
[
    {
        "id": "8d15f12f4eba6ad8",
        "type": "ssh-v3",
        "z": "41a8895c5f113b68",
        "name": "",
        "conf": "8f1af3d39004ee55",
        "debug": false,
        "x": 630,
        "y": 1420,
        "wires": [
            [
                "dc76167f81801ffc"
            ]
        ]
    },
    {
        "id": "75e0b9a0802a1433",
        "type": "inject",
        "z": "41a8895c5f113b68",
        "name": "",
        "props": [
            {
                "p": "payload"
            },
            {
                "p": "topic",
                "vt": "str"
            }
        ],
        "repeat": "",
        "crontab": "",
        "once": false,
        "onceDelay": 0.1,
        "topic": "",
        "payload": "?",
        "payloadType": "str",
        "x": 510,
        "y": 1420,
        "wires": [
            [
                "8d15f12f4eba6ad8"
            ]
        ]
    },
    {
        "id": "dc76167f81801ffc",
        "type": "debug",
        "z": "41a8895c5f113b68",
        "name": "debug ssh",
        "active": true,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "true",
        "targetType": "full",
        "statusVal": "",
        "statusType": "auto",
        "x": 770,
        "y": 1420,
        "wires": []
    },
    {
        "id": "8f1af3d39004ee55",
        "type": "ssh-conf",
        "ssh": "",
        "name": "target",
        "userlabel": "target"
    }
]

You've already opened issue #11