Synchronous execution under ReadAction

java.lang.Throwable: Synchronous execution under ReadAction: C:\Apps\cppcheck\cppcheck.exe -IC:/clion/mqtt/src/nodes --enable=all --suppress=noExplicitConstructor --suppress=unusedFunction --inline-suppr --language=c++ \"C:\Users\ostoeneb\AppData\Local\Temp\___endpoint.cpp\"
	at com.intellij.openapi.diagnostic.Logger.error(Logger.java:145)
	at com.intellij.execution.process.OSProcessHandler.checkEdtAndReadAction(OSProcessHandler.java:147)
	at com.intellij.execution.process.OSProcessHandler.waitFor(OSProcessHandler.java:85)
	at com.intellij.execution.process.CapturingProcessRunner.runProcess(CapturingProcessRunner.java:114)
	at com.intellij.execution.process.CapturingProcessRunner.runProcess(CapturingProcessRunner.java:73)
	at com.intellij.execution.process.CapturingProcessHandler.runProcessWithProgressIndicator(CapturingProcessHandler.java:83)
	at com.github.johnthagen.cppcheck.CppcheckInspection.executeCommandOnFile(CppcheckInspection.java:177)
	at com.github.johnthagen.cppcheck.CppcheckInspection.checkFile(CppcheckInspection.java:69)
	at com.intellij.codeInspection.LocalInspectionTool$1.visitFile(LocalInspectionTool.java:143)
	at com.jetbrains.cidr.lang.psi.impl.OCFileImpl.accept(OCFileImpl.java:448)
	at com.intellij.codeInspection.InspectionEngine.acceptElements(InspectionEngine.java:77)
	at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass.lambda$null$8(LocalInspectionsPass.java:323)
	at com.intellij.util.AstLoadingFilter.lambda$toComputable$2(AstLoadingFilter.java:167)
	at com.intellij.util.AstLoadingFilter.disallowTreeLoading(AstLoadingFilter.java:125)
	at com.intellij.util.AstLoadingFilter.disallowTreeLoading(AstLoadingFilter.java:114)
	at com.intellij.util.AstLoadingFilter.disallowTreeLoading(AstLoadingFilter.java:109)
	at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass.lambda$visitRestElementsAndCleanup$9(LocalInspectionsPass.java:322)
	at com.intellij.concurrency.ApplierCompleter.execAndForkSubTasks(ApplierCompleter.java:133)
	at com.intellij.concurrency.ApplierCompleter.tryToExecAllList(ApplierCompleter.java:231)
	at com.intellij.concurrency.ApplierCompleter.execAndForkSubTasks(ApplierCompleter.java:159)
	at com.intellij.concurrency.ApplierCompleter.tryToExecAllList(ApplierCompleter.java:231)
	at com.intellij.concurrency.ApplierCompleter.execAndForkSubTasks(ApplierCompleter.java:159)
	at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:988)
	at com.intellij.concurrency.ApplierCompleter.lambda$wrapInReadActionAndIndicator$1(ApplierCompleter.java:105)
	at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:592)
	at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:538)
	at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:59)
	at com.intellij.concurrency.ApplierCompleter.wrapInReadActionAndIndicator(ApplierCompleter.java:116)
	at com.intellij.concurrency.ApplierCompleter.lambda$compute$0(ApplierCompleter.java:96)
	at com.intellij.openapi.application.impl.ReadMostlyRWLock.executeByImpatientReader(ReadMostlyRWLock.java:167)
	at com.intellij.openapi.application.impl.ApplicationImpl.executeByImpatientReader(ApplicationImpl.java:160)
	at com.intellij.concurrency.ApplierCompleter.compute(ApplierCompleter.java:96)
	at java.base/java.util.concurrent.CountedCompleter.exec(CountedCompleter.java:746)
	at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:290)
	at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1020)
	at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1656)
	at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1594)
	at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:177)

Environment

Operating System: Windows 10
IDE Version: CLion 2019.3 EAP - happened with previous versions as well
Cppcheck plugin version: 1.2.0

Steps to reproduce the behaviour
I have no idea how to reproduce this, but it happens quite a bit while woring on a project.

@fastaturtle, any thoughts?

FYI This happens very frequently in one of my installations. In the other one I have never seen this at all. Both are running the same CLion, Cppcheck and plugin version.

Looking at the plugin there is no special handling for isOnTheFly i.e. on the fly editor highlighting. Just grazing over the interface and some other plugins in the intellij-community repo you probably need to implement it using LocalInspectionTool.buildVisitor() instead.

Just got a reply from a CLion developer about this:
The stack trace looks like it's an IntelliJ platform issue - I've seen it
somewhere else as well, will try to take a close look.

So it seems it is yet another upstream issue.

I haven't come across this issue in quite a while but it only happened in a installation I am no longer using. So I am gonna keep this open for now.

I am seeing this issue occur multiple times per day.
Briefly, I see the stack trace above, and I am using:

macOS Ventura 13.3.1(a)
CLion 2023.1.2, (installation managed by JetBrains Toolbox)
cppcheck 2.10.3 (installed via "brew" into /usr/local/bin)
cppcheck plugin for CLion version 1.6.2

Let me know if there is additional information I can provide.
Sorry, but I am exclusively a C++ developer so you probably wouldn't want any PR I could give you ;-)

Could you also please post your trace? Thanks.

BTW: in searching on terms related to this I see that nx-console-idea-plugin also had a bug with a similar stack trace along with a fix.
The Bug
The Fix
Is this what you need, or is there another "trace" you need from CLion?
java.lang.Throwable: Synchronous execution under ReadAction: /usr/local/bin/cppcheck -I/Users/jmonschke/git/splunk1/main/src/search/dispatch/sscqueryinfo --enable=warning,performance,portability,style --language=c++ --xml /private/var/folders/w5/ncq8q__95h97tc3vwl1zt1d40000gn/T/DeEBpW1J_BucketTypes.cpp, see com.intellij.execution.process.OSProcessHandler#checkEdtAndReadAction() Javadoc for resolutions
	at com.intellij.openapi.diagnostic.Logger.error(Logger.java:202)
	at com.intellij.execution.process.OSProcessHandler.checkEdtAndReadAction(OSProcessHandler.java:163)
	at com.intellij.execution.process.OSProcessHandler.waitFor(OSProcessHandler.java:94)
	at com.intellij.execution.process.CapturingProcessRunner.runProcess(CapturingProcessRunner.java:122)
	at com.intellij.execution.process.CapturingProcessRunner.runProcess(CapturingProcessRunner.java:81)
	at com.intellij.execution.process.CapturingProcessHandler.runProcessWithProgressIndicator(CapturingProcessHandler.java:72)
	at com.github.johnthagen.cppcheck.CppCheckInspectionImpl.executeCommandOnFile(CppCheckInspectionImpl.java:220)
	at com.github.johnthagen.cppcheck.CppcheckInspection.checkFile(CppcheckInspection.java:60)
	at com.intellij.codeInspection.LocalInspectionTool$1.visitFile(LocalInspectionTool.java:146)
	at com.jetbrains.cidr.lang.psi.impl.OCFileImpl.accept(OCFileImpl.java:428)
	at com.intellij.codeInsight.daemon.impl.InspectionRunner.lambda$processInOrder$10(InspectionRunner.java:323)
	at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1102)
	at com.intellij.codeInsight.daemon.impl.InspectionRunner.lambda$processInOrder$11(InspectionRunner.java:331)
	at com.intellij.openapi.application.impl.ReadMostlyRWLock.executeByImpatientReader(ReadMostlyRWLock.java:229)
	at com.intellij.openapi.application.impl.ApplicationImpl.executeByImpatientReader(ApplicationImpl.java:187)
	at com.intellij.codeInsight.daemon.impl.InspectionRunner.lambda$processInOrder$12(InspectionRunner.java:337)
	at com.intellij.util.AstLoadingFilter.forceAllowTreeLoading(AstLoadingFilter.java:159)
	at com.intellij.util.AstLoadingFilter.forceAllowTreeLoading(AstLoadingFilter.java:151)
	at com.intellij.codeInsight.daemon.impl.InspectionRunner.lambda$processInOrder$13(InspectionRunner.java:300)
	at com.intellij.util.AstLoadingFilter.disallowTreeLoading(AstLoadingFilter.java:130)
	at com.intellij.util.AstLoadingFilter.disallowTreeLoading(AstLoadingFilter.java:119)
	at com.intellij.codeInsight.daemon.impl.InspectionRunner.lambda$processInOrder$14(InspectionRunner.java:300)
	at com.intellij.concurrency.JobLauncherImpl$1MyProcessQueueTask.lambda$call$0(JobLauncherImpl.java:299)
	at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$executeProcessUnderProgress$13(CoreProgressManager.java:604)
	at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:679)
	at com.intellij.openapi.progress.impl.CoreProgressManager.computeUnderProgress(CoreProgressManager.java:635)
	at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:603)
	at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:60)
	at com.intellij.concurrency.JobLauncherImpl$1MyProcessQueueTask.call(JobLauncherImpl.java:284)
	at com.intellij.concurrency.JobLauncherImpl.processQueue(JobLauncherImpl.java:352)
	at com.intellij.codeInsight.daemon.impl.InspectionRunner.processInOrder(InspectionRunner.java:299)
	at com.intellij.codeInsight.daemon.impl.InspectionRunner.visitElements(InspectionRunner.java:274)
	at com.intellij.codeInsight.daemon.impl.InspectionRunner.lambda$inspect$4(InspectionRunner.java:138)
	at com.intellij.codeInspection.InspectionEngine.withSession(InspectionEngine.java:227)
	at com.intellij.codeInsight.daemon.impl.InspectionRunner.inspect(InspectionRunner.java:114)
	at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass.collectInformationWithProgress(LocalInspectionsPass.java:115)
	at com.intellij.codeInsight.daemon.impl.ProgressableTextEditorHighlightingPass.doCollectInformation(ProgressableTextEditorHighlightingPass.java:97)
	at com.intellij.codeHighlighting.TextEditorHighlightingPass.collectInformation(TextEditorHighlightingPass.java:57)
	at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$doRun$1(PassExecutorService.java:382)
	at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1102)
	at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$doRun$2(PassExecutorService.java:374)
	at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$executeProcessUnderProgress$13(CoreProgressManager.java:604)
	at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:679)
	at com.intellij.openapi.progress.impl.CoreProgressManager.computeUnderProgress(CoreProgressManager.java:635)
	at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:603)
	at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:60)
	at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.doRun(PassExecutorService.java:373)
	at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$run$0(PassExecutorService.java:349)
	at com.intellij.openapi.application.impl.ReadMostlyRWLock.executeByImpatientReader(ReadMostlyRWLock.java:229)
	at com.intellij.openapi.application.impl.ApplicationImpl.executeByImpatientReader(ApplicationImpl.java:187)
	at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.run(PassExecutorService.java:347)
	at com.intellij.concurrency.JobLauncherImpl$VoidForkJoinTask$1.exec(JobLauncherImpl.java:181)
	at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373)
	at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182)
	at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655)
	at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1622)
	at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165)

BTW: in searching on terms related to this I see that nx-console-idea-plugin also had a bug with a similar stack trace along with a fix.

Yeah, I was thinking that it might be "fixed" by simply making it asynchronous (actually pretty obvious as it complains about being "synchronous"). But that would "just" be getting of the error in our case and by the looks of it making the code more complex. The proper solution would probably be fixing #65. It is supposed to be "easy" but I am not going to look into that for quite a while (if ever).
Being able to debug the plugin might also help but I haven't been able to get that to work and I basically do "printf debugging". Make changes, build in IDEA, install in CLion, run it, check the notification, repeat, ... not very efficient. But without being able to reproduce it locally that would not be of much help.
It is quite baffling though that some installations have this error and some haven't. That isn't right and something is behaving differently upstream. Maybe some setting is different. I will take a look in a few days and see if I can figure something out.

@firewave I'm not sure if this is useful or not, but I found this link lately that talks about the best patterns for running external linting tools in an IntelliJ extension

https://intellij-support.jetbrains.com/hc/en-us/community/posts/11275128092690-What-is-the-suggested-pattern-for-implementing-a-plugin-that-runs-an-external-command-that-generates-inspections-

See also

https://github.com/koxudaxi/ruff-pycharm-plugin/issues/148


Module guide for workbox-build

This adds a module guide for workbox-build, patterned on the webpack plugin guide.
Fixes: https://github.com/GoogleChrome/workbox/issues/1201
Target Live Date: 2018-02-02

[ ] This has been reviewed and approved by (@gauntface)
[X] I have run gulp test locally and all tests pass.
[X] I have added the appropriate type-something label.
[X] I've staged the site and manually verified that my content displays correctly.

CC: @petele

:+1:

:+1:


PushPlugin - pending notifications : how?

is't possible to catch pending notification?

Yes there is, check out the Push Notification Docs in ngCordova.
But generally you want to listen for the notificationReceieved event like so:
$rootScope.$on('pushNotificationReceived', function(event, notification) {
...
});


Maven build for samples is broken

Thanks for stopping by to let us know something could be better!
PLEASE READ: If you have a support contract with Google, please create an issue in the support console instead of filing on GitHub. This will ensure a timely response.
Please run down the following list and make sure you've tried the usual "quick fixes":

Search the issues already opened: https://github.com/googleapis/java-spanner/issues
Check for answers on StackOverflow: http://stackoverflow.com/questions/tagged/google-cloud-platform

If you are still having issues, please include as much information as possible:
Environment details

Specify the API at the beginning of the title. For example, "BigQuery: ...").
General, Core, and Other are also allowed as types

java-spanner samples

OS type and version:

MacOS 13.4.1 arm64

Java version:

openjdk version "11.0.20" 2023-07-18 LTS
OpenJDK Runtime Environment SapMachine (build 11.0.20+8-LTS-sapmachine)
OpenJDK 64-Bit Server VM SapMachine (build 11.0.20+8-LTS-sapmachine, mixed mode)

version(s):

above v6.42.0
Steps to reproduce
cd samples
mvn clean package -DskipTests

fails for versions above v6.42.0
First bad commit found by using git bisect between v6.40.0 and main (6a3480de820cc13f8e00621635a4040fe5e945a6)
samples ((7af58f10...)|BISECTING)]$ git bisect bad
7af58f103f3d5ad047e192ebb39faa26d6219384 is the first bad commit
commit 7af58f103f3d5ad047e192ebb39faa26d6219384
Author: release-please[bot]<EMAIL_ADDRESS>Date:   Mon May 15 17:22:12 2023 +0000

Code example
n/a
Stack trace
n/a
External references such as API reference guides
Any additional information below
build errors found for bad versions:
1dc7cea7
7c23729b
12fb011f:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:testCompile (default-testCompile) on project spanner-install-without-bom: Compilation failure: Compilation failure:
[ERROR] /Users/d029788/src/git/java-spanner/samples/snippets/src/test/java/com/example/spanner/UpdateDatabaseSampleIT.java:[44,4] error: cannot find symbol
[ERROR]   symbol:   class DatabaseId
[ERROR]   location: class UpdateDatabaseSampleIT
[ERROR] /Users/d029788/src/git/java-spanner/samples/snippets/src/test/java/com/example/spanner/UpdateDatabaseSampleIT.java:[44,22] error: cannot find symbol
[ERROR]   symbol:   variable DatabaseId
[ERROR]   location: class UpdateDatabaseSampleIT
[ERROR] /Users/d029788/src/git/java-spanner/samples/snippets/src/test/java/com/example/spanner/UpdateDatabaseSampleIT.java:[50,4] error: cannot find symbol
[ERROR]   symbol:   class Database
[ERROR]   location: class UpdateDatabaseSampleIT
[ERROR] /Users/d029788/src/git/java-spanner/samples/snippets/src/test/java/com/example/spanner/UpdateDatabaseSampleIT.java:[52,20] error: cannot find symbol
[ERROR]   symbol:   class Database
[ERROR]   location: class UpdateDatabaseSampleIT
[ERROR] /Users/d029788/src/git/java-spanner/samples/snippets/src/test/java/com/example/spanner/UpdateDatabaseSampleIT.java:[54,4] error: cannot find symbol
[ERROR]   symbol:   class Database
[ERROR]   location: class UpdateDatabaseSampleIT

7af58f10:
[ERROR] Failed to execute goal on project spanner-snapshot: Could not resolve dependencies for project com.google.cloud:spanner-snapshot:jar:1.2.0: The following artifacts could not be resolved: com.google.cloud:google-cloud-spanner:jar:6.42.1-SNAPSHOT (absent): Could not find artifact com.google.cloud:google-cloud-spanner:jar:6.42.1-SNAPSHOT -> [Help 1]

Hi @msohn: Thanks for bringing this up. A fix has been done in PR, and will be released in the upcoming release.
CC: @arpan14

This should be fixed now with the latest release v.6.44.0. Closing.

Current main branch again doesn't build since in samples/snapshot/pom.xml the wrong version of
com.google.cloud:google-cloud-spanner is referenced (SNAPSHOT versions aren't available on Maven central)
and in samples/snippets/pom.xml the version is unspecified.
Here is a fix:
From 861a72c2e383863420b639708130a1776006f906 Mon Sep 17 00:00:00 2001
From: Matthias Sohn<EMAIL_ADDRESS>Date: Fri, 28 Jul 2023 09:02:59 +0200
Subject: [PATCH] Fix version of com.google.cloud:google-cloud-spanner
dependency
Otherwise the Maven build fails.
samples/snapshot/pom.xml | 2 +-
samples/snippets/pom.xml | 1 +
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/samples/snapshot/pom.xml b/samples/snapshot/pom.xml
index de0bc9f9..dae36cb9 100644
--- a/samples/snapshot/pom.xml
+++ b/samples/snapshot/pom.xml
@@ -31,7 +31,7 @@

com.google.cloud
google-cloud-spanner

 <version>6.44.1-SNAPSHOT</version>

 <version>6.44.0</version>

diff --git a/samples/snippets/pom.xml b/samples/snippets/pom.xml
index 10e1a295..4d46e340 100644
--- a/samples/snippets/pom.xml
+++ b/samples/snippets/pom.xml
@@ -44,6 +44,7 @@

com.google.cloud
google-cloud-spanner

 <version>6.44.0</version>

--
2.41.0


Count specificity properly for various pseudo classes with exceptional rules

Types of Changes
Prerequisites
Please make sure you can check the following two boxes:

[x] I have read the CONTRIBUTING document
[x] My code follows the code style of this project

Contribution Type
What types of changes does your code introduce? Put an x in all the boxes that apply:

[x] Bug fix (non-breaking change which fixes an issue, please reference the issue id)
[ ] New feature (non-breaking change which adds functionality, make sure to open an associated issue first)
[x] Breaking change (fix or feature that would cause existing functionality to change)
[ ] My change requires a change to the documentation
[ ] I have updated the documentation accordingly
[x] I have added tests to cover my changes
[x] All new and existing tests passed

NOTE: It's breaking in the sense that selector priorities change to fit the spec. If that's not considered breaking, then please consider it a bug fix.
Description
Specificity calculations are incomplete when using certain pseudo classes.

:has()
:matches()
:not()
:nth-child()
:nth-last-child()

They all incorrectly count as 1 CLASS in weight when they should actually contribute the weight of their most specific inner selector to the total specificity. Additionally, while the nth-child classes should count themselves as 1 CLASS in addition to the contained selector, the others should only count their contained selector.
Example: foo:matches(.bar, #bar)
Expected: 1 0 1 (one ID, one TAG)
AngleSharp: 0 1 1 (one CLASS, one TAG)
See the spec about specificity here: [spec]
Related to this, the following were missing entirely. I was unsure if it was okay to add them in the same PR, but it's easy enough to just cut them out if desired:

:is() (same as :matches() [spec] )
:where() (same as :matches() but with 0 contributed specificity)

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


Update README.md For Windows Install

Choco's latest version for cosign is 1.3.1. This isn't compatible with the current tenv build. Windows users should use go to install cosign instead

You have to replace choco install cosign, not brew install cosign

Updated based on the previous comments. Thanks!


Document stability policy

Until we get to 1.0:

cosign signatures should be interoperable between +/- one release. SIgnatures created with version X should be verifiable by versions X+1 and X-1, and vice versa.
Experimental is completely up in the air

After 1.0:

Signatures should always remain interoperable. We can add new formats if we want to, but old ones have to continue working and new versions of the tool need to support creating AND verifying old formats.

cosign signatures should be interoperable between +/- one release. SIgnatures created with version X should be verifiable by versions X+1 and X-1, and vice versa.

Since we know where cosign is being used right now, we're opting for a clean break for 0.4.0: sigs before and sigs after. This should be the last change made in such a way.

+1, we'd document/publish this policy as part of the 0.5.0 release

This is done!


properties-builder.sh

Issues:

MONGODB_HOST=echo $MONGO_PORT|sed 's;.*://\([^:]*\):\(.*\);\1;'

MONGODB_PORT=echo $MONGO_PORT|sed 's;.*://\([^:]*\):\(.*\);\2;'

This will result in db connection 27017:27017 which is therefore incorrect. Following the docker-compose file format it should be db:27017, therefore it needs to be changed to the following.

MONGODB_HOST=echo $MONGO_HOST|sed 's;.*://\([^:]*\):\(.*\);\1;'

MONGODB_PORT=echo $MONGO_PORT|sed 's;.*://\([^:]*\):\(.*\);\2;'

Also found multiple issues in regards to syntax & consistency, I see variables everywhere referencing MONGODB_HOST, then I'll see MONGO_HOST - this feels very redundant.
Also the lack of double quote to prevent globbing and word splitting, when referencing variables among other things.

@xUnholy Please submit a PR if you find a fix to this problem.

@xUnholy - the properties-build.sh files definitely need work. The pattern we want to move to is similar to this one: https://github.com/Hygieia/ExecDashboard/blob/master/exec-ui/docker-util/docker-entrypoint.sh so we don't need && in our CMD. That being said the example you gave for the MONGODB_HOST and MONGODB_PORT is actually correct. It's hard to read I know but if you look closely there are two capture groups in the regex. MONGODB_HOST becomes the first capture group and MONGODB_PORT becomes the second. We want to revamp all of this and would love to hear your thoughts and would be more than happy to work with you to improve this.

@matthewbeasley
I haven't had too much time to review the Hygieia - we did a product analysis and decided we would just stay with our current prometheus / grafana stack for monitoring, however I can see Hygieia being much better once there is some more maturity in the product.
I would suggest that the issue I've raised here is also perhaps not the best way to handle it, however if you want I can spend some time looking into some of these small things and raise a PR for you guys to decide on if you'd like?
I also raised another ticket the same day as this one which doesn't have any current comments as of yet.
Regards,
Michael.


Fixes

Fixed the dependency issues caused by the latest version of pytest-cov.
Added tests for load_csv.load when control_system=None, this boosted coverage of load_csv to 100%.

Changes Moved into new pull request (#85) and condensed into a less excessive number of commits.


Word (draft): Abstract using different text style (and now missing)

In the version from 20220619, the latest version, the Abstract has disappeared.

The Abstract in the immediate previous version had a list that used a different style.

Actually I found the Abstract in the latest version as a standalone clause. It should be placed at where the template puts it.

Has already been fixed.

@ronaldtse, how about you not lodge any tickets until I'm actually FINISHED implementing the gem.

The Word abstract is not using the same style (Arial 10) in the list it contains (the list is Times New Roman 10)...

Refusing to fix until this goes to IEEE, because that font would have to be set manually, as far as I can tell, and I don't want to be doing that without confirmation.

I'll do it, though this is manual formatting of fonts, and we should not be doing that.
Need html2doc gem addition of CSS style, to render lists, not to displace existing markup of style.

Verified. Thanks @opoudjis


Update monaco to 0.30

In v0.30, Monaco introduced a breaking change by renaming ITextModel.getModeId into ITextModel.getLanguageId.
This PR updates the required version of monaco to >= 30 and update the calls to getModeId to getLanguageId.
fix #131

Awesome! Could you resolve the following issues?

Update monaco-editor in the examples/demo/package.json.
Rebase onto main.
Regenerate the lockfile using<EMAIL_ADDRESS>or greater.

Also this is a breaking change, but I’d like to introduce some more breaking changes in the next major release. I think I’ll release this as the first pre-release version, meaning it would be stable for use with monaco-editor 0.30.0, but you’ll have to be careful when updating.

Awesome! Could you resolve the following issues?

Update monaco-editor in the examples/demo/package.json.
Rebase onto main.
Regenerate the lockfile using<EMAIL_ADDRESS>or greater.

Also this is a breaking change, but I’d like to introduce some more breaking changes in the next major release. I think I’ll release this as the first pre-release version, meaning it would be stable for use with monaco-editor 0.30.0, but you’ll have to be careful when updating.

I have tested it with the project I am working on it is working fine. I only noticed that the they changed KEY_S to KeyS which is a breaking change.

I only noticed that the they changed KEY_S to KeyS which is a breaking change.

This isn’t related to monaco-yaml though. :wink:

I only noticed that the they changed KEY_S to KeyS which is a breaking change.

This isn’t related to monaco-yaml though. 😉

Yes not related to Monaco-yaml. I didn't notice any breaking changes when I used this branch.

The breaking change is that is breaks compatibility with monaco-editor < 0.30.

@remcohaszing done!

I released this as 4.0.0-alpha.1. :rocket:
I expect to work a bit on making more breaking changes and documenting about my release plans tomorrow. I just wanted to get this published quickly so you could use it. :)

Thanks!


Precise if we insert the .p8 key value with or without the line breaks

On this section: Creating a Certificate for Notification Hubs - Option 2 - 8.
Can you please precise if we need to keep the line breaks from the .p8 <key_value>?
For example, if my p8 is something like this:
-----BEGIN PRIVATE KEY-----
abcdefgh123456
789ijklmnopq
-----END PRIVATE KEY-----

Should I insert abcdefgh123456789ijklmnopq (without line break) or abcdefgh123456 789ijklmnopq (with a line break, space represent the linebreak)

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

ID: 45afd17d-e909-ccd9-01c3-f746bdf406a2
Version Independent ID: d2c8cc69-5a37-4c73-d48b-9c058cf4595e
Content: Send push notifications to Xamarin using Azure Notification Hubs
Content Source: articles/notification-hubs/xamarin-notification-hubs-ios-push-notification-apns-get-started.md
Service: notification-hubs
GitHub Login: @sethmanheim
Microsoft Alias: sethm

Thanks for the ask  . At this time we are reviewing the ask and we will reply back as soon as we can .

Hi @ulyssetsd, apologies for the delay in response. The .p8 key value should work with a line break.
We will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply. We will gladly continue the discussion and we will reopen the issue.


returning NaN

Hello, thanks for the awesome tool!! I appreciate the effort you've put into it. I have an issue here where I am trying to console.log a random number, but it returns NaN. I get a success response from the API as well as a string.
code is:
let rn = new QRNG(); console.log(rn.getInteger(0, 2); //returns NaN

Thanks for the feedback! And my deepest apologies for the delayed response. This issue has been resolved.
It appears ANU moved their API to AWS at some point, and that broke this. The two updates on their end that needed addressing:

requests are no longer CORS enabled, meaning no cross-site requests
all requests require an API key (even if a free one)

To this end, I've (likely permanently) updated qrng.js to point at my personal API to basically act as a proxy to ANU's API. This brings two update notes:
qrng.js pointing at my personal API
I created an endpoint on my personal API: /qrng (you can find the full URL in the javascript if you're curious). My API has CORS enabled so that qrng.js can be implemented on any website without regard for cross-domain restriction. This is a slight bummer; I like having javascript stuffs that isn't dependent on me paying for a server in case I get hit by a car or something, but ah well here we are. With that in mind, the code for this endpoint is basically:
@route('/qrng')
def do_qrng():
    url = "https://api.quantumnumbers.anu.edu.au"
    key = "{{my API key}}"
    if request.query_string:
        # Tack on any query string parameters to our request to ANU
        url = f"{url}?{request.query_string}"

    print("QRNG: fetching", url)
    response = requests.get(f"{url}", headers={"x-api-key": key})
    print("QRNG: got", response.text)
    if response.ok:
        response_json = response.json()
        if response_json.get("success", False) is True:
            return _json_response(data=response_json.get("data"))
    return _json_response_error(
        "invalid response from ANU",
        data=response.text
    )

I'm completely revamping my personal API and will open source it in the next few months once I'm finished, that way both the frontend (qrng.js) and backend (the above endpoint) are freely available.
tokens
Right now my endpoint is making use of a paid token. Thankfully, requests are pretty cheap ($0.005/request), so I'm not toooo worried about the cost... but I don't completely like the idea of paying for everyone's requests lol or having it set up the "wrong" way, so at some point I'll change this to default to a free token (100 free requests per month) with the option of setting your own API key. That would look something like:
// NOTE: this code is demonstrative only and not yet implemented

const rng = QRNG(); // Use the default free token, limited to 100 requests per month shared across all users of qrng.js
const rngPaid = QRNG({"api-key": "ja9s8djfalskdjf9a8dsf9a8jdflk"}); // Use a personal API Key with unlimited API requests

Again, for now the above isn't implemented, and you have unlimited use of qrng.js through my personal paid token :) And who knows, when I do implement the option to use a personal API key, I might not set the default to the free 100 requests per month because that's just lame. I'm thinking I'll probably lean towards buying a 2nd API key and manually limit it to something like 10,000 requests per month so that people have a chance to use it before it runs out.


[Bug]: Inconsistent metricsstore metric namespace between all-in-one and production query setup

What happened?
Relevant metrics from metricsstore are being reported under the same namespace (jaeger_query_*) as spanstore when using the production setup.
jaeger_query_requests_total{operation="get_latencies",result="ok"} 0.
When deploying the all-in-one setup, these metrics are reported under jaeger_* e.g.
jaeger_requests_total{operation="get_latencies",result="ok"} 0.
This issue was identified while experimenting with adding additional tags on query metrics.
Steps to reproduce

Deploy a production Jaeger setup
Deploy an all-in-one Jaeger setup
Compare reported metrics

Expected behavior

No difference in metric names between different production setups
Report metricsstore metrics under a different namespace

Relevant log output
No response
Screenshot
No response
Additional context
cmd/query/main.go
metricsFactory is used for both metricsQueryService and spanReader initialization in cmd/query/main.go
https://github.com/jaegertracing/jaeger/blob/1d3bc1dc6334ce6b09546d9ddfadc5765820a5e2/cmd/query/main.go#L113
https://github.com/jaegertracing/jaeger/blob/1d3bc1dc6334ce6b09546d9ddfadc5765820a5e2/cmd/query/main.go#L119
metricsFactory is initialized with the namespace jaeger_query
https://github.com/jaegertracing/jaeger/blob/1d3bc1dc6334ce6b09546d9ddfadc5765820a5e2/cmd/query/main.go#L74-L75

cmd/all-in-one/main.go
In cmd/all-in-one/main.go, metricsFactory is only used to initialize metricsQueryService.
https://github.com/jaegertracing/jaeger/blob/1d3bc1dc6334ce6b09546d9ddfadc5765820a5e2/cmd/all-in-one/main.go#L274
https://github.com/jaegertracing/jaeger/blob/1d3bc1dc6334ce6b09546d9ddfadc5765820a5e2/cmd/all-in-one/main.go#L125
metricsFactory is also initialized with the namespace jaeger instead of jaeger_query
https://github.com/jaegertracing/jaeger/blob/1d3bc1dc6334ce6b09546d9ddfadc5765820a5e2/cmd/all-in-one/main.go#L100-L102
Jaeger backend version
No response
SDK
No response
Pipeline
No response
Stogage backend
No response
Operating system
No response
Deployment model
No response
Deployment configs
No response

Hey, @zjanc I would like to take this up. Just one thing, as you have mentioned the same namespace with metrics and metrics naming convention too. Can you tell me specifically what needs to be done?

No reply from reporter, going to close this out as stale.


In esp32,  Ethernet example (IDFGH-1482)

I use the ESP32 kit develop board, make and load the "ethernet" example. I only display some number information to locate the bug, but I don't discover any issue.
Brothers and sisters, will you help me to solve the problem?
I don't link the nINT/RETCLK, other pins I connected.
Oh, the main board is ESP-WROOM-32D  ESP32-DevKitC , and the PHY board is LAN8720.
So who answer and explain my prolbem? Thank you very much!!!
Environment

Development Kit:     [ESP32-DevKitC]
Kit version (DevKitC): [v1|v2|v3|v4] I don't know detial.
Module or chip used:  ESP32-WROOM-32D
IDF version (run git describe --tags to find it): v4.0-dev-771-gc9bf3a3
Build System:         [Make|CMake]
Compiler version (run xtensa-esp32-elf-gcc --version to find it):
xtensa-esp32-elf-gcc (crosstool-NG crosstool-ng-1.22.0-80-g6c4433a) 5.2.0
Operating System:     [Linux]
Power Supply:         [USB]

Problem Description
Expected Behavior
In the ethernet example Readme file displays as follow:
Example Output
bash
I (0) cpu_start: App cpu up.
I (265) heap_init: Initializing. RAM available for dynamic allocation:
I (272) heap_init: At 3FFAE6E0 len 00001920 (6 KiB): DRAM
I (278) heap_init: At 3FFB3FF0 len 0002C010 (176 KiB): DRAM
I (284) heap_init: At 3FFE0440 len 00003AE0 (14 KiB): D/IRAM
I (291) heap_init: At 3FFE4350 len 0001BCB0 (111 KiB): D/IRAM
I (297) heap_init: At 4008851C len 00017AE4 (94 KiB): IRAM
I (303) cpu_start: Pro cpu start user code
I (322) cpu_start: Starting scheduler on PRO CPU.
I (0) cpu_start: Starting scheduler on APP CPU.
I (325) system_api: Base MAC address is not set, read default base MAC address from BLK0 of EFUSE
I (325) emac: emac reset done
I (335) eth_example: Ethernet Started
I (4335) eth_example: Ethernet Link Up
I (6325) tcpip_adapter: eth ip: <IP_ADDRESS>, mask: <IP_ADDRESS>, gw: <IP_ADDRESS>
I (6325) eth_example: Ethernet Got IP Address
I (6325) eth_example: ~~~~~~~~~~~
I (6325) eth_example: ETHIP:<IP_ADDRESS>
I (6335) eth_example: ETHMASK:<IP_ADDRESS>
I (6335) eth_example: ETHGW:<IP_ADDRESS>
I (6345) eth_example: ~~~~~~~~~~~
Actual Behavior
After I configrate all platform, the "make monitor" displays as follows:
I (0) cpu_start: App cpu up.
I (268) heap_init: Initializing. RAM available for dynamic allocation:
I (275) heap_init: At 3FFAE6E0 len 00001920 (6 KiB): DRAM
I (281) heap_init: At 3FFB4048 len 0002BFB8 (175 KiB): DRAM
I (287) heap_init: At 3FFE0440 len 00003AE0 (14 KiB): D/IRAM
I (294) heap_init: At 3FFE4350 len 0001BCB0 (111 KiB): D/IRAM
I (300) heap_init: At 400887D0 len 00017830 (94 KiB): IRAM
I (306) cpu_start: Pro cpu start user code
I (324) cpu_start: Starting scheduler on PRO CPU.
I (0) cpu_start: Starting scheduler on APP CPU.
----------00----------
----------01----------
----------02----------
----------03----------
----------04----------
----------05----------
----------06----------
----------07----------
----------08----------
----------09----------
I (366) eth_example: Power On Ethernet PHY
I (376) system_api: Base MAC address is not set, read default base MAC address from BLK0 of EFUSE
----------10----------
----------11----------
----------12----------
I (396) emac: emac reset done
I (396) eth_example: Ethernet Started
----------13----------
I (4396) eth_example: Ethernet Link Up
Steps to repropduce
I want to display some information as follow:
I (6325) tcpip_adapter: eth ip: <IP_ADDRESS>, mask: <IP_ADDRESS>, gw: <IP_ADDRESS>
I (6325) eth_example: Ethernet Got IP Address
I (6325) eth_example: ~~~~~~~~~~~
I (6325) eth_example: ETHIP:<IP_ADDRESS>
I (6335) eth_example: ETHMASK:<IP_ADDRESS>
I (6335) eth_example: ETHGW:<IP_ADDRESS>
I (6345) eth_example: ~~~~~~~~~~~
I should call which function and modify which function? Please help me, Thank you
Code to reproduce this issue
void app_main()
{
    static tcpip_adapter_ip_info_t esp_ip[TCPIP_ADAPTER_IF_MAX];

    printf("----------00----------\n");
    tcpip_adapter_init();
    printf("----------01----------\n");

    IP4_ADDR(&esp_ip[TCPIP_ADAPTER_IF_AP].ip, 192, 168, 5, 5);
    IP4_ADDR(&esp_ip[TCPIP_ADAPTER_IF_AP].gw, 192, 168, 5, 1);
    IP4_ADDR(&esp_ip[TCPIP_ADAPTER_IF_AP].netmask, 255, 255, 255, 0);

    printf("----------02----------\n");

    ESP_ERROR_CHECK(esp_event_loop_create_default());

    printf("----------03----------\n");
    eth_config_t config = DEFAULT_ETHERNET_PHY_CONFIG;
    printf("----------04----------\n");
    config.phy_addr = CONFIG_PHY_ADDRESS;
    printf("----------05----------\n");
    config.gpio_config = eth_gpio_config_rmii;
    printf("----------06----------\n");
    config.tcpip_input = tcpip_adapter_eth_input;
    printf("----------07----------\n");
    config.clock_mode = CONFIG_PHY_CLOCK_MODE;
    printf("----------08----------\n");
\#ifdef CONFIG_PHY_USE_POWER_PIN
    /* Replace the default 'power enable' function with an example-specific one
     that toggles a power GPIO. */
    config.phy_power_enable = phy_device_power_enable_via_gpio;
    printf("----------09----------\n");
\#endif

    ESP_ERROR_CHECK(esp_eth_init(&config));
    printf("----------10----------\n");
    ESP_ERROR_CHECK(esp_event_handler_register(ETH_EVENT, ESP_EVENT_ANY_ID, &eth_event_handler, NULL));
    printf("----------11----------\n");
    ESP_ERROR_CHECK(esp_event_handler_register(IP_EVENT, IP_EVENT_ETH_GOT_IP, &got_ip_event_handler, NULL));
    printf("----------12----------\n");
    ESP_ERROR_CHECK(esp_eth_enable()) ;
    printf("----------13----------\n");
}

// If your code is longer than 30 lines, GIST is preferred.
Debug Logs

Other items if possible

https://github.com/espressif/esp-idf/issues/2059

#2059
#652

In lan8720 hardware board, I don't link the nINT/REFCLK, because the board already have 50 M crystal oscillator. I see some file know, don't use the nINT/REFCLK pin. And I connected the pin to ESP32 GPIO0, but the result is the same .

@zchaojian
This is the case that ESP32 should get RMII clock from external source (PHY or oscillator), so make sure connect the nINT/REFCLK to GPIO0, and in the menuconfig, select the right clock mode.
From your log, I guess there isn't a valid RMII clock (50MHz) input to ESP32 via GPIO0, can you take an oscilloscope to captue the signal on GPIO0?

I took an oscilloscope to capture the signal of GPIO0 which is a sine wave.
This issue already is resolved. The reason is ethernet example program which doesn't set a static IP of the PHY. So it doesn't appear those information about IP address. Because I used the network interchanger, and I started to use router the ESP32 is normal. I can ping IP address.
Another discover is set menuconfigeration  for GPIO17, and don't link the pin and nINT/REFCLK pin.
the network will work but the signal is unstable. Maybe lost many databases.
Thank you many brothers and sisters help me! Good luck to you all!

@

@suda-morris

@zchaojian Yes, the network must be unstable, because the RMII clock used for ESP32 and LAN8720 are not the same one. For ESP32, you've configured using the internal APLL to generate the RMII clock, but for LAN8720, you're using an oscillator. Although both clocks are 50MHz, but probably there will be difference between their phase.

Thank you very much!@sudo-morris


branch with koa-ready options

I change the signature to send a request with callback. I'm a promisse guy, don't let the ladies know...
before
const request = { type: 'convert', from: 'usd', to: 'eur', amount: 100 };

requester.send(request, (res) => {
    console.log(res);
});

Now
const request = { type: 'convert', from: 'usd', to: 'eur', amount: 100 };
const callback = (...res) => console.log(...res)
const hasCallback = true;
requester.send(request, callback, hasCallback);

What is the reasoning behind this change?

Hey @dashersw I`m not sure anymore. I strugle with a vision of passing the context of koa as the second argument of request responder.
About the obstacles, without asking if this is the right thing, im start to think that this is not.  When no callback is passed the cote, or axonadd the second argument aFunction: reply. And so in the end of the circle this function is used to reply`. If a pass the second argument, I was able to make this function be also added, but in some part of the circle it is removed.
But now, Im thinking that what I need is a middleware for koa, to understand the event guided arquiteture` of cote, so I don't need this context.


GoogleGeocoder sends null bounds

Geocoder plugin is sending null values for bounds which is useful to restrict the search. Besides that, the configuration should allow to set the region where you wanna search.

This is possible already see e.g. https://github.com/opengeo/sfpark.org/commit/2504d2493ae6a30cfee863ed9570090cc154f5c6


InputInt2, InputInt3, and InputInt4 definitions are getting generated incorrectly

The generator being used to convert the definitions into code is misinterpreting the integer array intended to be used into a single integer pointer.
From definitions.json:
"igInputInt2": [
  {
    "args": "(const char* label,int v[2],ImGuiInputTextFlags flags)",
  }
],
"igInputInt3": [
  {
    "args": "(const char* label,int v[3],ImGuiInputTextFlags flags)",
  }
],
"igInputInt4": [
  {
    "args": "(const char* label,int v[4],ImGuiInputTextFlags flags)",
  }
]

That results in function headers getting generated like the following in ImGui.gen.cs starting at line 15566:
public static bool InputInt2(string label, ref int v){}
public static bool InputInt2(ReadOnlySpan<char> label, ref int v, ImGuiInputTextFlags flags){}
public static bool InputInt2(string label, ref int v, ImGuiInputTextFlags flags){}

public static bool InputInt3(string label, ref int v){}
public static bool InputInt3(ReadOnlySpan<char> label, ref int v, ImGuiInputTextFlags flags){}
public static bool InputInt3(string label, ref int v, ImGuiInputTextFlags flags){}

public static bool InputInt4(string label, ref int v){}
public static bool InputInt4(ReadOnlySpan<char> label, ref int v, ImGuiInputTextFlags flags){}
public static bool InputInt4(string label, ref int v, ImGuiInputTextFlags flags){}

The problem likely lies in how the type information is being determined from argsT in ImguiDefinitions.cs. I don't view these as highly used inputs, which is my guess as to why no one has noticed it before.
InputFloat2, InputFloat3, and InputFloat4 don't suffer from this issue.

Hello, we tried to solve the issue.
This is what we did:
Modified the code to correctly handle integer array parameters for InputInt2, InputInt3, and InputInt4 functions. This ensures that the generated C# code uses the correct parameter types (int[] instead of ref int) for these functions.
You can review changes in this commit: https://github.com/wwqwq2313/ImGuiNET-ImGui.NET-504/commit/52a29318b05b3855ca5beccb59a236a14ce78972.

[!CAUTION]
Disclaimer: The concept of solution was created by AI and you should never copy paste this code before you check the correctness of generated code. Solution might not be complete, you should use this code as an inspiration only.

If you no longer want Latta AI to attempt solving issues on your repository, you can block this account.

The bindings are not incorrect; you can simply pass a reference to the first element of your contiguous buffer and it will work as expected. See https://github.com/ImGuiNET/ImGui.NET/issues/181.
(Ideally the bindings would use Span here, but this library was developed a long time before Span existed)

Thank you! I looked through the open issues and didn't think to look at the closed ones before posting 😅


Image/Text "Bot" with Modifiers

Similar to /r/kpop's Tzuyu Bot, as found here https://github.com/berkuhlee/Tzuyu-bot
Adding would consist of something similar to "!add %commandname% %url%" (url consisting of text, image URL, etc), and actual use of saved command similar to "!commandname".
As discussed on Nadeko Discord server.

I like this and i have an idea of how it will work, most likely getting implemented today.

its kinda weird, but at least for now you have to add spaces, i want to make use of permission system and command builder, they are too good.
I might move it in the future to the message received event so that we don't have to put the space in.


Compiler error: index out of bound (3,3) somewhere in Data/Vector/Generic/Mutable.hs

Quick Summary:
I stumbled upon this compiler error.
Compiling ...elm: ./Data/Vector/Generic/Mutable.hs:703 (modify): index out of bounds (3,3)
CallStack (from HasCallStack):
  error, called at ./Data/Vector/Internal/Check.hs:87:5 in vector-<IP_ADDRESS>-FaW0AndQgt0BzgPSs4kvRl:Data.Vector.Internal.Check

Complete compiler output
Compiling ...elm: ./Data/Vector/Generic/Mutable.hs:703 (modify): index out of bounds (3,3)
CallStack (from HasCallStack):
  error, called at ./Data/Vector/Internal/Check.hs:87:5 in vector-<IP_ADDRESS>-FaW0AndQgt0BzgPSs4kvRl:Data.Vector.Internal.Check

-- ERROR -----------------------------------------------------------------------

I ran into something that bypassed the normal error reporting process! I
extracted whatever information I could from the internal error:

>   thread blocked indefinitely in an MVar operation

These errors are usually pretty confusing, so start by asking around on one of
forums listed at https://elm-lang.org/community to see if anyone can get you
unstuck quickly.

-- REQUEST ---------------------------------------------------------------------

If you are feeling up to it, please try to get your code down to the smallest
version that still triggers this message. Ideally in a single Main.elm and
elm.json file.

From there open a NEW issue at https://github.com/elm/compiler/issues with your
reduced example pasted in directly. (Not a link to a repo or gist!) Do not worry
about if someone else saw something similar. More examples is better!

This kind of error is usually tied up in larger architectural choices that are
hard to change, so even when we have a couple good examples, it can take some
time to resolve in a solid way.elm: thread blocked indefinitely in an MVar operation

SSCCE
The simple reproducible example turned out to be pretty obfuscated.
module Main exposing (..)

import Html exposing (Html)

type alias A =
    { ap1 : String }

type alias B =
    { bp1 : String }

type alias Model =
    {}

type Msg
    = Noop

main : Html Msg
main =
    Html.div [] []

f1 : Model -> Model
f1 model =
    let
        ( a, b ) =
            List.foldr
                (\x ( a2, list ) ->
                    case x.d of
                        Nothing ->
                            ( a2, x :: list )

                        Just c ->
                            let
                                c2 =
                                    { c | p1 = c.p1 + 1 }

                                x2 =
                                    { x | c = Just c2 }

                                ( a3, x3 ) =
                                    f2 a2 x2
                            in
                            ( a3, x3 :: list )
                )
                ( model.a, [] )
                model.b
    in
    { model | a = a, b = b }

f2 : A -> B -> ( A, B )
f2 x y =
    ( x, y )

Elm: 0.19.1
Browser: Well, the error happens before the code can see the browser.
Operating System: macOS Catalina 10.15.7

Additional Details
I found a way around the error, in fact it seems to be caused by the wrong property name in the assignment expression.  I can't post the original code though, so although the provided example results in the same error it can't be fixed the same way.
In the original code I had something like { mything | prop = newProp }, where mything didn't have prop.
I realize that this report is super confusing, but atm I don't think I can make it any clearer 🙁.

I just ran into this issue.
https://github.com/parlez-vous/embed/blob/d5fa2ba889863bf648488ed8515fe283c5592acb/src/elm/ParlezVousEmbed.elm#L155
The second argument to Dict.union is invalid.
commentTree is a record of the following type:
type alias CommentTree =
    { comments : CommentMap
    , topLevelComments : List Cuid
    , siteVerified : Bool
    , postId : String
    }

Changing that line of code to be Dict.union subCommentTree.comments commentTree.comments eliminates the error.


Future-proof Options before 1.0

Hey! I was having a look at markdown, and noticed that the latest 1.0 alpha has Options that are structs.
I'm just coming to say, if you make it into a builder then it'll allow you to add options with minor releases, whereas with a struct like right now any option addition would require a full major release.
(This is also something I'd probably need: I'll probably soon-ish want to compile inline-only markdown to "markdown-html" (html that retains the markdown tags), and if I want any chance to upstream it I'll need the possibility of adding both parse and compile option. That said I'm not even using this crate yet, so this may totally never happen)
For the same reason you may want to make the Node enum non-exhaustive, though I'm less sure about this one. But the more stuff you can make non-exhaustive / made out of builder patterns with private members without hindering user experience, the less likely you'll need major updates in the future :sweat_smile:

As I understand, #[non_exhaustive] can solve all these issues, right? Forcing folks to spread the defaults in?
And a builder pattern is another, different, way to solve it, for options?
Re “inline only”, I’m not sure I think that’s a good feature to have. Depends…

For options (structs)
So I've seen #[non_exhaustive] used mostly on enums up to now. I guess non-exhaustive structs would require code like:
let mut options: Options = Default::default();
options.foo = true;
options.bar = true;
do_something(options);

which is less pleasant than (builder-pattern equivalent):
do_something(Options::builder()
    .foo(true)
    .bar(true)
    .build());

The builder pattern is basically adding methods to Options to enable the second syntax, whereas afaiu non-exhaustive structs can currently not be constructed even by completing them with ..Default::default().
(This being said, both options do avoid the issue that adding one field is a breaking change; it's just that one is easier to handle for the library user)
Note also that there are crates like https://crates.io/crates/derive_builder to reduce the boilerplate of writing builder patterns :)
For enums
Now, I also mentioned making the Node enum non-exhaustive; this is mostly to avoid that people do a match on it: without it, adding one variant to Node would be a breaking change.
(As for the inline-only, I'm not opening this issue to discuss it yet, we can chat about it if/when I actually get to it; it was just to showcase one possible example of a reason why being able to add options could be useful :))

All the examples in the docs use the spread syntax, e.g.: https://docs.rs/markdown/1.0.0-alpha.3/markdown/fn.to_html_with_options.html#examples.
So the case you show above, with spreading, would be:
let options = Options {
    foo: true,
    bar: true,
    ..Default::default()
}

I strongly prefer this because it does not force users to learn a new API. And it already prevents new fields from becoming a problem

Ah, so adding #[non_exhaustive] on a struct means you can’t use ..Default::default() anymore? That seems like a bad design.

Ah, so adding #[non_exhaustive] on a struct means you can’t use ..Default::default() anymore? That seems like a bad design.

Right, that's my understanding of this sentence:

Non-exhaustive variants (struct or enum variant) cannot be constructed with a StructExpression (including with functional update syntax).

from here at least.
I don't know why it is this way, but I guess the fact that the builder pattern is so prominent in the crate ecosystem means that it's just that non-exhaustive structs never received much love, as builder patterns allow for a more flexible mapping between options-exposed-to-the-user and the internal datastructure used by the library

I think https://github.com/rust-lang/rfcs/pull/2008#issuecomment-304142837 is a reference that the behavior I’m looking for here could be allowed, but it never was.
I don’t worry about Constructs, because it has so many fields, I don’t think anyone will write that out exhaustively.
ParseOptions and CompileOptions are probably also fine, as they have enough fields.
But Options likely has too few fields for people to spread defaults in.
On the other hand, it is unlikely that new fields will be added to Options.

[…] as builder patterns allow for a more flexible mapping between options-exposed-to-the-user and the internal datastructure used by the library

I don’t really see how a struct isn’t flexible enough. You can define the fields you want, spread different defaults (commonmark/gfm/etc) in, mutate it if you want to.
My experience, particularly from the JavaScript world, is that I strongly prefer no API (plain objects and arrays, raw access to data) over having to learn an API.

[…] it's just that non-exhaustive structs never received much love […]

Yeah… :'(

I'm more of a user, but working on my own library for something else and I probably have the same issue (struct api, prefer simple objects...)
As long as users do MyStruct { fields, ..Default::default() } there shouldn't be an issue, right? It looks like ..Default::default() is allowed even when all fields are specified, so with a note in the docs suggesting spread for compatibility it should be sufficient I feel like...

I understand your positions, and if I were writing javascript I'd follow the javascript conventions that are along the lines of using untyped objects to make the API ; but in rust conventions saying that users must use ..Default::default() is normally not considered as a good thing.
Basically, in Rust adding a field to an exhaustive struct should be considered the same as changing a rarely-used field name in a JavaScript struct. Which would go against semver guarantees, and make some debian people even more unhappy about rust being used in software for their stability-focused os :sweat_smile:
Also, whether you are using pub fields or a builder pattern, cargo doc should generate documentation that is just as good, though cargo doc is also optimized for readability of public functions rather than public struct fields.
Now I personally don't care that much as I'm expecting to -use Default::default(), so unless you have questions for me this will be my last message here, but I can only encourage you to go ask around  the rust community about how people feel on configuring a library using an exhaustive struct with pub fields, vs. a non-exhaustive struct with pub fields, vs. a builder :)

I’m open to a PR. Do you want to work on this Léo?

I just did what I could in #TODO :)
I didn't future-proof the pub structs in mdast.rs, because it didn't appear worthwhile to me. If you plan on often adding things to these structs you probably should consider it, but with very rare changes, just making a major release upon adding fields would probably fit the bill too.
Also, please remember that it is my first time interacting with markdown-rs, so it's very possible that I missed stuff that should be made future-proof. There are also builder-helper methods that might make sense that I didn't add (eg. an allow_dangerous that'd make both allow_dangerous_html and allow_dangerous_protocol might be useful in tests seeing how often I had to fix the two together), but I didn't check whether it also made sense outside of tests so I didn't add them in.

I'm working on #127 and was thinking of making the options passed to the to_markdown function also configurable using a builder I was thinking that once the user call build we would do error checks to know if the user provided a valid option instead of doing the check in the serialization step.
What do you think @wooorm ?

Seems sensical indeed, to check things, when using a builder pattern?
Perhaps I do not understand the exact effect your two alternatives have on the code :)

In the JS implementation check_strong is being called during serialization here : https://github.com/syntax-tree/mdast-util-to-markdown/blob/main/lib/handle/strong.js#L24
using the above method I believe we can check if the user provided the correct options at the build step

Oh. I would do such checks in strong probably?
In JS things are checked “dynamically”, because options can also be inserted dynamically.
For Rust, while this does not happen, if a manual Options object is supported, I do think that also has to be checked. If you only check in build, then it is still possible to pass invalid options?

If you only check in build, then it is still possible to pass invalid options?

The Options fields will not be pub that's the user will not be able to interact with Options without going through the builder, if none of the Options fields are pub a user can't construct Options.

Ah, hmm. Not sure about that. About only allowing “builder”. To be honest, I think it’s rather weird in Rust that you can’t use structs/objects for options.

The pattern guarantee a valid state for options, if you've worked with the reqwest crate before you can see they do the same, you can configure a Client using the ClientBuilder setter methods, this pattern is pretty much used heavily in the Java land with getters and setters too "I guess till now" my Java skills is a bit rusty these days.
In my PR I'm going to try not use the pattern for now.
Thank you !

If reqwest does it, that might be interesting. Java doesn’t do much for me ;) But I also learned, over the years, maintaining libraries for people, that it’s good to be as simple as possible. Plain objects over “instances” and the like. That’s my experience 🤷♂


modify facebook callback url

modify facebook callback url

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

@JohnBae93 Could you explain the changes? Thanks!

@MartinSchoeler
Callback url: <<website_url>>/_oauth/facebook  doesn`t work.
I should add '?close' at the end of the url

Closing this due lack of proper explanation on the pull request. Please Open a new pull request with updated code and detailed explanation. Thanks!


Pre-Trained Models

Dear @liorshk,
Thank you for your code. Do you have any pre-trained models? Would you please, release the weights of your pre-trained models?

Hi, have you found the pre-trained model or a good way to convert from the tensorflow model to pytorch?

@xiaoiker
You can use MMdnn or SphereFace.

@ahkarami
mmconvert -sf tensorflow -in model-20180402-114759.meta -iw model-20180402-114759.ckpt-275.index --dstNodeName MMdnn_Output -df pytorch -om model-20180402-114759.pth
Am I writing it wrong?

@xiaoiker
You can use MMdnn or SphereFace.

Dear @chungyau97,
Thank you for your effort. Really, I didn't do that (i.e., converting the model). You can send an Issue about it in the MMdnn GitHub repository.

@ahkarami
I'm curious about the SphereFace. Why do you recommend this?

It is just a suggestion. You can refer to its paper for more information.

@xiaoiker @chungyau97 there is a pytorch conversion of the two pretrained inception resnet v1 models (vggface and casia-web face) from davidsandberg/facenet here:
https://github.com/timesler/facenet-pytorch
Disclaimer: it is my repo.

@xiaoiker @chungyau97 there is a pytorch conversion of the two pretrained inception resnet v1 models (vggface and casia-web face) from davidsandberg/facenet here:
https://github.com/timesler/facenet-pytorch
Disclaimer: it is my repo.


启动报错 token __x64_blk_account_io_done: not found

failed start probe biolatency, err: link blk_account_io_done: creating perf_kprobe PMU (arch-specific fallback for "blk_account_io_done"): token __x64_blk_account_io_done: not found: no such file or directory
平台：Linux yang 6.5.0-35-generic #35~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Tue May  7 09:00:52 UTC 2 x86_64 x86_64 x86_64 GNU/Linux

It means your kernel does not expose __x64_blk_account_io_done symbol. __x64_blk_account_io_done was removed in newer kernel.
However, we will remove biolatency probe in next release version of kubeksoop, a new latency diagnostic feature will be introduced, incorporating the capabilities that these probes used to offer.

There are two similar errors as follows：
failed start probe kernellatency, err: kernellatency failed load bpf: link kfree_skb: creating perf_kprobe PMU (arch-specific fallback for "kfree_skb"): token __x64_kfree_skb: not found: no such file or directory
failed start probe biolatency, err: link blk_account_io_start: creating perf_kprobe PMU (arch-specific fallback for "blk_account_io_start"): token __x64_blk_account_io_start: not found: no such file or directory
Is there any temporary solution to fix it?

Try executing grep kfree_skb /proc/kallsyms to check if your kernel has exported the corresponding symbol. As far as I know, in newer kernel versions, kfree_skb is not exported, but __kfree_skb is still usable. I haven't looked closely to see if there is a replacement for blk_account_io_start.
For a workaround, you can replace kfree_skb in the code with __kfree_skb, or avoid loading these two probes (since they will be deprecated later anyway).

Thanks, your advice helps a lot


[REQUEST] DS_BUILD_UTILS no longer does anything

As far as I can tell, DS_BUILD_UTILS no longer appears in the DeepSpeed source code. There was one appearance as of v0.9.0, but it was removed sometime between that release and v0.10.0:
❯ git checkout v0.9.0
Previous HEAD position was 5fe9d610 Tensor parallelism for Mixture of Experts (#2074)
HEAD is now at 0b5252bb [CPU support] Optionally bind each rank to different cores on host (#2881)

❯ grep -nri "ds_build_utils" .
./op_builder/utils.py:10:    BUILD_VAR = "DS_BUILD_UTILS"
./docs/_tutorials/advanced-install.md:67:* `DS_BUILD_UTILS` builds various optimized utilities

❯ git checkout v0.10.0
Previous HEAD position was 0b5252bb [CPU support] Optionally bind each rank to different cores on host (#2881)
HEAD is now at f5c834a6 fix(cpu_accelerator): :bug: Convert LOCAL_SIZE to integer (#3971)

❯ grep -nri "ds_build_utils" .
./docs/_tutorials/advanced-install.md:67:* `DS_BUILD_UTILS` builds various optimized utilities

Can its mention be removed from https://www.deepspeed.ai/tutorials/advanced-install/#pre-install-deepspeed-ops etc. docs?

Hi @felker - good observation, it was removed in this commit.  So I believe we should also remove it from the docs.  It could be useful to folks using older DeepSpeed versions, but we've had a few versions since.  Thoughts, @jeffra?

thanks for the confirmation @loadams. I was going to open another somewhat related issue, but I thought it might be good to pass it by you first:
Is it advisable for users to ever build DeepSpeed from the unstable / nightly master branch, or is it best to stick to tagged releases? In particular, I have been having trouble pre-installing the ops for commits since 0.10.3.  I know that the devs recommend JITing most of the ops in general, but for our particular system's users, it is better for us to precompile.
Specifically, I need to disable Evoformer via DS_BUILD_EVOFORMER_ATTN=0 in order to build DeepSpeed from source on the latest master commits. Obviously the feature is very new, but I couldn't find any documentation nor relevant Issues or discussions on GitHub:

https://github.com/microsoft/DeepSpeed/issues?q=evoformer
https://github.com/microsoft/DeepSpeed/discussions?discussions_q=evoformer

Looking at your CI, it seems like the DS team also disables precompiling this feature for your builds:
https://github.com/microsoft/DeepSpeed/blob/master/.github/workflows/nv-pre-compile-ops.yml
Maybe this limitation can be documented somewhere?
Also, I believe that the recommended flags to speedup the build process, --global-option="build_ext" --global-option="-j8" can cause errors that do not occur when they are omitted (in our case, DS_BUILD_SPARSE_ATTN=0 DS_BUILD_OPS=1 DS_BUILD_AIO=1 pip install --verbose ., which works fine building 0.10.3 from source). This problem seems to be regardless of the value of -j parallel jobs on our system (32 core AMD Epyc):
 ERROR:  /soft/datascience/conda/2023-09-29/mconda3/compiler_compat/ld: build/temp.linux-x86_64-cpython-310/csrc/transformer/normalize_kernels.o: error adding symbols: no error

Hi @felker - thanks for the comments on that as well.  As for the newer build featuers, like evoformer, you're right we are still working on documenting those.  However, do you need to pre-compile ops in your case?  I think most users just use the JIT compilation or will just compile the features they need, only needing to turn things off if they need to pre-compile potentially all ops via DS_BUILD_OPS=1 and then disable those that their system does not support.  Is that your use case?  Just trying to see what we should put in the docs.
And I believe I've seen another issue as well that had issues with the other speedup flags, I'll investigate that as well and post those results here, too.
Thanks for the feedback and bug spotting!

Unfortunately we do need to pre-compile the ops.
But my real concern is this: should I avoid installing DeepSpeed from master and instead stick to official releases? Are unbuildable/un-JITable features regularly merged to master, such that one would need to manually disable them via appending flags to  DS_BUILD_OPS=1 DS_BUILD_SPARSE_ATTN=0  ... ?

Not a problem, we know that sometimes users do need to do this.  I would say we rarely add new un-JITable features, SPARSE_ATTN has known issues since torch 2 that we've still not had time to resolve, and EVOFORMER_ATTN was the most recent new feature I can think of.  I did link to the docs for how to install Evoformer and use this in the PR to cleanup the DS_BUILD_UTILS linked above.  The reason it isn't built in the pre-compile ops test is the time and space to install the requirements needed and that it is still somewhat under development.
But overall, if you don't need features/bugfixes that are introduced into master between releases, then you may be better off with just using the official releases.  It just depends on what features you are using/how stable they are/etc. if that makes sense?


Add support for optional modules and hooks

Resolves #17, adds a support for checking what hooks and modules are loaded without throwing exceptions. Allows for old behavior as well. Method Optional<T>.Get() behaves the way everything in binding behaved before - throws an exception if it's not present.

I have not tested any of this yet, has to be tested before merged.


Fix spec/integration/draft_substitution_spec.rb tests

@thomasleese Looks cool 👍  aside from my comment would you be able to squash the merge commits?


[NO-MERGE] Changes needed for successful build

Contains changes needed for successful pyk build given changes upstream.

~https://github.com/runtimeverification/pyk/pull/870~
https://github.com/runtimeverification/pyk/pull/878
https://github.com/runtimeverification/pyk/pull/875

All incorporated into: https://github.com/runtimeverification/evm-semantics/pull/2300


[Feature Request]Set random seed to each env

Recently, it appears that seeds can only be sequentially assigned to environments, i.e. the seed for the i-th environment is set as i+seed.
Is there any way to assign a completely random seed to each environment? Like input a list of random seed. Is there any solution？

Yes, but that requires changing the c++ code. I'll try to revive master ci this week and together implement this feature.


Enable nullable

This PR breaks net6 tests, as nullable attributes were not updated there. Won't do that now, maybe in the future.


Remove logic around finding config file inside directories

Fixes issue #4669

Hi @stsewd can you please review this?

@sriks123 any reason why you closed #4714?

@stsewd I closed #4714 due to some problems in that branch which I created

@stsewd thanks

@agjohnson can we merge this?

Looks good. 👍


Cannot Change Source

Hi - Thanks for building this. I'm eager for it to work because this is functionality I'd love to have from my stream deck.
I installed and now see the plugin in the Stream Deck configuration.
I added a button for "Change Source."
I set the Speaker IP (which I got from the mobile app).
I select the source I want from the dropdown.
When I press the button I get the error icon (yellow !).
The same happened when I created buttons for play/pause, next track, and volume up.
Sonos Amp
Sonos OS: S2
Version 14.8 (build 68329170)

I brought down my Sonos move, updated the IP, and tried the Play/Pause button on that.
No success.


Data store aliasing interface adjustments

Part of https://github.com/microsoft/FluidFramework/pull/7940
See https://github.com/microsoft/FluidFramework/issues/6465
Currently, in order to adopt the aliasing API, the client needs to use the ContainerRuntime class. This change adjusts the IContainerRuntimeBase to have the proper return type in order to get an IDataStore which can be aliased.

Good catch, @anthony-murphy. Some of the things in that test file are unnecessary with this change.


Compiler: fix closured instance variable not being considered as such

Hopefully fixes #5609, take 2

It doesn't, but the approach is a good start... to fix this I'll also have to fix #3093 . I'll see if I can do that this week.

Actually this is already pretty good and #3093 might not be necessary to go with this fix, though it is a small breaking change because in some cases the compiler won't realize that a closured var doesn't actually change, like before, but in cases where it previously (incorrectly) didn't.
I'll still try to think of a way to do #3093 but if I can't we should at least go with this fix because #5609 is pretty nasty (code compiles and runs, but runs incorrectly).

It worked!
I think we should merge this now, even though this is a small breaking change. In the compiler and std source code I had to change two places to make it work well.
Basically, previously the compiler would check whether a variable was closured and bind all assigned types to it regardless of if is_a?, type filters and location, but it didn't do that for variables used before the closured variable was detected. Now it works fine, but this means that in some cases the compiler will give a correct-ish error where it previously didn't. There's still the issue that the compiler should be smarted about immutable closured vars ( #3093 ), this change just makes this be triggered in more (correct) places.

The breaking change seems very counter-intuitive to me. The change in process.cr shouldn't be necessary, really. The stdio is only closured in other branches. There is no way it can be anything else than IO::FileDescriptor in a IO::FileDescriptor branch.
I'm not sure we should accept that unless #3093 is fixed as well.

Strange, it works fine in mac but not in linux... no idea why.

I guess nevermind, I don't know what's going on...

As a follow up, I'd really like to go with the three first commits. It's a breaking change, and some places will start failing to compile where previously they didn't, but I prefer that to a segfault or incorrect behavior at runtime. We can make sure no bad semantic is generated first, then we can worry about making it work for cases where it doesn't but should.
I won't do it, but feel free to do that for 0.33.0.

Could someone using linux try running the specs locally? They work fine in my mac, and linux CI is having issues lately so I'm not sure it's related to these changes.

@asterite the linux CI issues are https://github.com/crystal-lang/crystal/issues/7177

@RX14 thanks, but this PR was failing in linux before that started happening. That's why I'd like someone to run the entire spec suit (with a compiled compiler too) in Linux on their machine, not on CI.

Under WSL (not exactly supported target, but what i have.)
(this PR)
user@laptop:/mnt/d/Projects/crystal/crystal$ ./bin/crystal build --threads 1  --exclude-warnings spec/std --exclude-warnings spec/compiler -o .build/std_spec spec/std_spec.cr
Using compiled compiler at .build/crystal
user@laptop:/mnt/d/Projects/crystal/crystal$ .build/std_spec
.build/std_spec: relocation error: .build/std_spec: symbol __gmon_start__, version OPENSSL_1.0.1 not defined in file libssl.so.1.0.0 with link time reference

master branch:
user@laptop:/mnt/d/Projects/crystal/crystal$ .build/std_spec
.build/std_spec: relocation error: .build/std_spec: symbol __gmon_start__, version LIBXML2_2.4.30 not defined in file libxml2.so.2 with link time reference

release/0.32 branch:
works

Thanks! I'm still not sure if it's a problem with this branch or not... it's so strange that it works just fine in darwin.
Maybe someone with real linux and not WSL?

FWIW I've tried lld-8 as suggested in https://github.com/crystal-lang/crystal/issues/7177#issuecomment-567551692
Now master works and this PR shows
Using /usr/bin/llvm-config-8 [version=8.0.1]
./bin/crystal build  --exclude-warnings spec/std --exclude-warnings spec/compiler -o .build/std_spec spec/std_spec.cr
Using compiled compiler at .build/crystal
.build/std_spec
.Invalid memory access (signal 11) at address 0x7fae5e8c9f88
[0x11b1bd6] *CallStack::print_backtrace:Int32 +118
[0xbdf749] __crystal_sigfault_handler +249
[0x2a568d7] sigfault_handler +40
[0x7fae58f91390] ???
[0x7fae5e8c9f88] ???
Makefile:100: recipe for target 'std_spec' failed
make: *** [std_spec] Error 11

Thanks! Then yes, there's something wrong in linux. Unfortunately I won't be able to continue working on this to find our what's wrong, but if someone wants to debug it please go ahead.

@asterite the error happens when you exceed a total number of types (really, llvm modules) in the program. Any new PRs which add more generic instantiations or types can trigger this. The linker corrupts the object file and you'll get a runtime link error. It works in darwin because osx uses lld by default.

@RX14 but if you look at the last output provided a couple of comments above you'll see the specs start running, one passes and then it crashes. Do you think that's related to what you are saying?

Not the version compiled with lld, no, that's another bug. I was still talking about the CI failures.

This didn't work, so closing.


Setting a Constant Magnificataion Bias

When calculating a constant zero magnification bias across all redshifts and setting has_mag = True, ccl_get_lensing_mag_kernel in ccl_tracers.i returns a non-zero value. In my experience when setting a constant magnification bias, it acts as a prefactor to the kernel. Is there a different notation used in CCL, or is there an error in the integration of the code?
As an example,
   t_m = ccl.NumberCountsTracer(ccl_cosmo, has_rsd=False, dndz=(lens_z, lens_nz), bias=None, mag_bias=(lens_z, np.ones_like(lens_z)*0.0)) c_l = ccl.angular_cl(ccl_cosmo, t_m, t_m, ells_ggl)
Here, c_l will be non-zero. Thank you!

I think this will just be a difference in definition - the way it is defined in CCL it is additive to the usual number counts correlation function, see section 2.4 of https://arxiv.org/pdf/1812.05995.pdf

Looking at this a bit more:

I think that ccl_get_lensing_mag_kernel in ccl_tracers.i is returning non-zero because it is intended to return either the shear kernel (if magnification bias is 0) or the magnification kernel (if magnification bias is non-zero). You can see this in the function ccl_get_lensing_mag_kernel in src/ccl_tracers.c. So that part I think is behaving as expected.
However, I agree that I would not expect c_ell to be non-zero in the example you give. Can you post a plot of the c_ell you do get in that case?


missing HasOpenApi instance ?

when compiling my program I get a no instance error for:
instance (HasOpenApi (Headers '[Header  ResourceMetadata String] NoContent))

-- type ResourceMetadata = "jinko-resource-type"

Here are the versions:
(ins)➜ ghc-pkg list|grep openapi
    openapi3-3.1.0
    servant-openapi3-<IP_ADDRESS>

I've tried looking into the code but there seemed to be several abstractions and I gave up. Maybe with some guidance I could try again.

Hi @teto,
Are you sure you are using Headers correctly? It should be embedded in a Verb, like this:
type Api = Get '[] (Headers '[Header "jinko-resource-type" String] NoContent)

openApi = toOpenApi (Proxy :: Proxy Api)

For me this example generates the following openapi:
{
  "openapi": "3.0.0",
  "info": {
    "title": "",
    "version":""
  },
  "paths": {
    "/": {
      "get": {
        "responses": {
          "200": {
            "headers": {
              "jinko-resource-type": {"schema": {"type": "string"}}
            },
            "description":""
          }
        }
      }
    }
  },
  "components": {}
}

It seems like somehow UVerb ends up delegating to the top instance rather than the bottom one in this screenshot. This ends up enforcing the ToSchema constraint on Headers rather than the type inside it.

Can you show the precise error message generated with that code?
And why do you have "Set-Cookie" twice in Headers?

app/Main.hs:107:18: error:
    • No instance for (ToSchema
                         (Headers
                            '[Header "Set-Cookie" SetCookie, Header "Set-Cookie" SetCookie]
                            AuthResp))
        arising from a use of ‘toOpenApi’
    • In the expression: toOpenApi authApi
      In an equation for ‘authApiSwagger’:
          authApiSwagger = toOpenApi authApi
    |
107 | authApiSwagger = toOpenApi authApi

I assume it's because acceptLogin sets two cookies? Not sure was mostly following this example:
https://github.com/haskell-servant/servant/tree/master/servant-auth


Filter problem

Hi
I have this situation
public enum TipoAddetto
{
    Dipendente = 0,
    Consulente = 1,
}

public class Addetto
{
    public int Oid { get; set; }          // Key
    public string Acronimo { get; set; }
    public TipoAddetto TipoAddetto { get; set; }
    public string Codice { get; set; }
    public Sede SedePrincipale { get; set; }

    public Addetto()      {     }
}

 public class Rimborso
{
    public int Oid { set; get; }           // Key
    public DateTime Data { set; get; }
    public string Descrizione { set; get; }
    public decimal RimborsoKM { set; get; }
    public decimal IndennitaTrasferta { set; get; }
    public decimal RimborsoSpese { set; get; }
    public Addetto Addetto { set; get; }

    public Rimborso()    {      }
}

The query :
        var rimborsi = await client.For<Rimborso>()
                             .Expand(r=>r.Addetto)
                             .Filter(r=> r.Addetto.Oid == 3)
                             .FindEntriesAsync();

will produce this request :
GET request: http://localhost:60085/Si.JobTime.ODataService.svc/Rimborso(3)?$expand=Addetto
which is not correct !!!
I expect this request - the filter on Addetto.Oid
GET request: http://localhost:60085/Si.JobTime.ODataService.svc/Rimborso?$filter=Addetto%2FOid eq 3&$expand=Addetto
this is strange because this query
        var rimborsi = await client.For<Rimborso>()
                             .Expand(r=>r.Addetto)
                             .Filter(r => r.Addetto.Acronimo == "AG")
                             .FindEntriesAsync();

produce correct request
GET request: http://localhost:60085/Si.JobTime.ODataService.svc/Rimborso?$filter=Addetto%2FAcronimo eq 'AG'&$expand=Addetto

This is actually correct, because Oid is a key, so the filter Oid == 3 is converted to a key lookup Rimborso(3). Acronimo is not a key so its filter is converted into a Filter expression.

Hi,
thank you for quick replay.
But how can I filter by  .Addetto.Oid in this case? This is child property and I have no clue how to do it. Yes of course I can use this
.Filter(String.Format("Addetto/Oid eq {0}", adetto.Oid))
but I prefer LINQ way query

You can still use typed syntax in Filter, but for key fields it will be replaced in the generated URI with a key lookup. In other words, the library will build the URI according to the schema no matter if you use Key or Filter syntax. But you can't use greater or less in filters for key fields, only equality.

Hi, thank you for clarification !!!
In other words for Filter :  Rimborso.Oid  and Rimborso.Addetto.Oid always converted in  Rimborso.Oid in generated uri as I understand.

I should say that this
   var rimborsi = await client.For<Rimborso>()
                         .Expand(r=>r.Addetto)
                         .Filter(r => (r.Addetto.Oid == adetto.Oid) && (r.Data > someDate))
                         .FindEntriesAsync();

works as expected and fortunately I need this type of filter
than you

Good to know it worked for you!


where is the 'Bin merging program"

Hi
BASALT is a nice work. I have some questions about it.
My question is how to merge clustered contigs from potential redundant bins by using the "Bin merging program" in BASALT.
In the paper it said that "a Bin merging program is implemented to merge clustered contigs from potential redundant bins (identified by comprising same contigs) into a hybrid bin."  but I cannot find any information about it in the paper.
Could you tell me how to merge the clustered contigs?

Sorry for the confusion. We really found this function may cause some errors and removed it from the current version. During the review process, we merged the function into rOLC function, which is to fill gap inbetween different contigs.


Env-Var Cleanup (EPIC)

We need to get a better grasp on how and where environment variables are added, modified, defined for deployments. Currently, there are a lot of places that they come in.
### Tasks
- [ ] https://github.com/ITISFoundation/osparc-ops-environments/issues/268
- [ ] https://github.com/ITISFoundation/osparc-ops-environments/issues/224
- [ ] https://github.com/ITISFoundation/osparc-ops-environments/issues/244
- [ ] https://github.com/ITISFoundation/osparc-simcore/issues/3635
- [ ] https://github.com/ITISFoundation/osparc-ops-environments/issues/404
- [ ] https://github.com/ITISFoundation/osparc-ops-environments/issues/463

my tasks are done, reassigning to YH


Set location in tests.yml

1.Set location in tests.yml
2.Re-add blob sas uri

Thank you!

These PRs are for a branch we're working on to validate live tests in other clouds. These changes are not targeting the master branch.
We're using this branch to open issues relating to how our SDKs behave in live test scenarios against other clouds. Perhaps the target branch name should not have the feature/ prefix.


Remove deprecation warning during migrate about timestamps

This warning occurs when you tried to rake:db migrate in a rails 4.2
application. It's a deprecation warning for upcoming rails 5, a null
option need to be given :
DEPRECATION WARNING: #timestamp was called without specifying an
option for null. In Rails 5, this behavior will change to null: false. You should manually specify null: true to prevent the behavior
of your existing migrations from changing. (called from block in up at
db/migrate/20151104181305_create_activities.rb:12)

Sweet, thanks Julien!


Edition policy methods

I noticed the guard clauses on the policy-like methods on the Edition class, as their tests, were weird. I've rewritten the tests, fixed them and then ended up moving them to a EditionPolicy object.
app/views/editions/_actions.html.erb is weird too. The logic regarding which buttons to display is mixed between the model and the view. I'd like to tackle it later but stopping here to avoid doing too much at once.

👍


fix(TDI-45432): tBigQueryOutput fails when the checkbox "Create the table if it doesn't exist" is ticked

What is the current behavior? (You can also link to an open issue here)
https://jira.talendforge.org/browse/TDI-45432
What is the new behavior?
https://jira.talendforge.org/browse/TDI-45432
Please check if the PR fulfills these requirements

[x] The commit message follows Talend standard
[ ] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features) ?
[ ] The code coverage on new code >75%
[ ] The new code does not introduce new technical issues (sonar / eslint)

What kind of change does this PR introduce?

[x] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build / CI related changes
[ ] Other... Please describe:

Does this PR introduce a breaking change?

[ ] Yes
[x] No

Pull request test result: success :star:

Pull request test result: success :star:


Blog v2 search

Feel free to merge this into your branch @Tguntenaar
The tests does not run here, but you can see the test result in the PR from this same branch here: https://github.com/NEAR-DevHub/neardevhub-bos/pull/772
What is currently missing is to be able to configure search functionality on / off, but I will continue working on this.

@petersalomonsen Thank you for taking care of this work for me. I appreciate it

@petersalomonsen Thank you for taking care of this work for me. I appreciate it

Thanks @Tguntenaar . Just merged with your latest updates, so that this is up to date.


Add better validation for the "PREFERENCE" kind AppOptions

Given that the "PREFERENCE" kind is used e.g. to generate the preference-list for the Firefox PDF Viewer, those options need to be carefully validated.
With this patch we'll now check this unconditionally in development mode, during testing, and when creating the preferences in the gulpfile.

/botio-linux preview

/botio test

/botio unittest

/botio-linux preview

/botio test


DIP3 Activation Updates

This will not allow connections to older nodes and will ensure that the correct chain is followed.

This addresses:
#29
#28


Fix for #13

Replace all instances of display:none
Use visually-hidden, for accessibility

Hi @ramiy, any way I can help you out with getting this merged?

@jasondilworth56 I've already implemented this back in Dec 2020, https://github.com/ChartsCSS/charts.css/pull/39/commits/9436f15f3a53854468f5a10ff029f38f1e91b6ca but not merged into main repo.
Now that I merged v1.0-alpha commits (PR https://github.com/ChartsCSS/charts.css/pull/39) you can see them on GitHub.
Haven't released a new version yet...


JCenter EOL - Moving to another repo?

Since JCenter has been discontinued and will continue as a read-only repository indefinitely, wouldn't it make sense to migrate to another repository like Maven Central?

allprojects {
repositories {
maven { url "https://jitpack.io" }
maven { url 'https://jcenter.bintray.com'}
mavenCentral()
google()
}
}
build.gradle(app)
dependencies {
implementation 'org.lome:niceqr:0.1.0'
}
*the problem is //import java.awt beacuse this java version not function to mobile just desktop

Hi,
I've come up with a similar library, which is now available on Maven Central:
You can check it out here:
https://github.com/SimonScholz/qr-code-with-logo
Thanks at @lome for the inspiration.


Missing file in setup.py

Description of the bug
In setup.py the following file:
ProteinCartography/extract_input_protein_distances.py
is listed under scripts but is seemingly not in the repo anymore. When I attempted to pip install this package, there was an error. Not sure if it just on my machine, but I tested it on my laptop and on a local server and as far as I can tell this file has been removed? I don't think this is necessary to run the default snakemake workflow but is an issue for those who want to pip install the package (for example in a Docker image). Apologies if my assessment is incorrect! Thanks a lot for putting this out.
Command used and terminal output
pip install git+https://github.com/Arcadia-Science/ProteinCartography/

(same result with cloning and building via `pip install .`

Relevant files
No response
System information
No response

Hi there, thanks for trying out ProteinCartography! This tool is not actually a package – it's a collection of scripts meant to be run using the included Snakemake pipeline. Therefore, it's not currently designed to be pip installable (the inclusion of setup.py is an artifact from an earlier stage of the pipeline's development and should be removed).
Please follow the instructions in the Quickstart section to set things up.
If you'd like to run this within a Docker image, I'd recommend cloning the repo and then copying the source code into the image. I haven't tried this myself, but I think it should work.

Yes I understand. I didn't realize what your intent was with the package. Thanks for your comment.


Fixed conflicts reported by Jenkins 194

Fixed a refactored error classes that affected smartURI.
conflicts reported by Jenkins 194

I went ahead and added this to my pull request


⚠ Bofrost.at has degraded performance

In 0ba2a1a, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 948 ms

Resolved: Bofrost.at performance has improved in 344d2a6 after 6 minutes.


Somaticinteractions figure is not shown properly

I am trying to run somatic interaction on my data but  the plot I got is not aligned properly to gene name.
the below is the command I used
somaticInteractions(maf=cancer, top =25, pvalue =c(0.05,0.1))

Please help me troubleshoot the issue.
Thank you
Session info
R version 4.1.2 (2021-11-01)
Platform: x86_64-conda-linux-gnu (64-bit)
Running under: Ubuntu 20.04.5 LTS

Matrix products: default
BLAS/LAPACK: /data/apps/miniconda/envs/R4/lib/libopenblasp-r0.3.18.so

locale:
[1] C

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base

other attached packages:
[1] maftools_2.12.05

loaded via a namespace (and not attached):
 [1] lattice_0.20-45     ps_1.7.2            prettyunits_1.1.1
 [4] crayon_1.5.2        withr_2.5.0         rprojroot_2.0.3
 [7] grid_4.1.2          R6_2.5.1            cli_3.4.1
[10] curl_4.3.2          data.table_1.14.6   remotes_2.4.2
[13] callr_3.7.3         Matrix_1.5-3        splines_4.1.2
[16] desc_1.4.2          RColorBrewer_1.1-3  tools_4.1.2
[19] survival_3.4-0      compiler_4.1.2      processx_3.8.0
[22] pkgbuild_1.4.0      BiocManager_1.30.19 DNAcopy_1.68.0

I have had a similar issue, also using the default settings. It worked with another subset of my data, so doesn't always break, but for some reason only returns data for 10 comparisons on another subset.

If I pass in a gene list of those which didn't show up in the results, it tells me 'No meaningful interactions found'


Multi-Monitor Wallpaper Tool

Summary of the new feature/enhancement
Set wallpaper easily on multi-monitor (MM) setup

Setting wallpapers on MM is hell. It's possible to set it per monitor, but when you add new wallpaper (via Settings->Personalization->Background->Browse) with intention to set it for specific monitor Windows changes current wallpapers on all of the screens at the same time. So you need to set the wallpapers again as they were before. Going through each monitor one-by-one.
It's not possible to select a fit per monitor.
Proposed technical implementation details (optional)

Solution should allow to change wallpapers per screen and at the same time not to mess up current setup. It should be also possible to "Choose a fit" per screen

Something similar to DisplayFusion where you can span a wallpaper across multiple monitors, and then scale a specific monitor (because some monitors may be different resolutions)

This would be great as it's the only reason I am keeping DisplayFusion around, I never used many of it's features.. so would be nice to not need it (as much as I loved the wallpaper and desktop snapping it provided).
The ability to have different images and even slideshows on one monitor and fixed on others, then have solid colour on a virtual desktop (e.g. for development work), etc. It's an all or nothing situation with wIndows 11. If you have virtual desktops you can't set different images on individual monitors, and either way you can't mix the picture/colour/slideshow options on multi-monitors.

While we do agree it is a neat idea, no plans currently to implement this in the near future so closing this out.


No control for users who download from Office.com portal

Many enterprise users on BYOD devices download directly from Office.com after logging in with their work or school account. They are not always managed devices with Intune or Config Manager. This should have an option to disable in the admin portal under https://admin.microsoft.com/Adminportal/Home#/featureexplorer/apps/OfficeChannel -> Manage

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

ID: 77fb57a0-9af1-8ade-5846-4a44c6e1a702
Version Independent ID: 24c49cab-e850-df1f-5050-bac2c37c96bd
Content: Microsoft Search in Bing and Office 365 ProPlus
Content Source: DeployOffice/microsoft-search-bing.md
Service: o365-proplus-itpro
GitHub Login: @DHB-MSFT
Microsoft Alias: danbrown

Based on customer feedback, we're making some changes to the plan to roll out the extension for Microsoft Search in Bing. For information about the changes, read this announcement. This article will be updated when more details are available.


Auto indentation behavior

Hello, DBeaver team!
I'd like to ask for some adjust in the automatic indentation behavior in SQL Editor.
When I write SQL code with some indentation, by pressing Enter, the new line automatically adds the same indentation as the previous row. That's nice.

However, If I remove all the indentation of the new line and press Enter again, the new empty lines will be indented according to the indentation of the last not empty line. I'd like this behavior to be changed...

This is a questionable ticket.
Most of text editors (inluding Eclipse, notepad++, Intellij) keep last indentation even if you have empty lines after it.Maybe this should be configurable though..

Configurable is an excellent proposal, my friend. Thank you again!

This is a questionable ticket.
Most of text editors (inluding Eclipse, notepad++, Intellij) keep last indentation even if you have empty lines after it.Maybe this should be configurable though..

Hello. I recently started using DBeaver (after having tried many others) and I think it is a great tool. powerfull and configurable. Thanks a lot!!
I would also like this behaviour to be configurable.
As far as I can see, this is the default behaviour after empty lines in Notpad++ v7.6.6.

Please reopen


[bug] CA/Cert creation generates 2 SQL write queries instead of 1

This code:
https://github.com/openwisp/django-x509/blob/c5a5acda6ae7a247bb9bb965a2ea83fc9da0f46a/django_x509/base/models.py#L206-L217
Generates two queries for creating a certificate and a CA.
I figured this out while working on https://github.com/openwisp/openwisp-controller/pull/455.
I think this part could be optimized.

Hi Sir, I'm new to contributing to this project, but I'm eager to join your organization and excited to help out!
I've looked into the issue and believe the root cause is the redundant super().save calls in the save method. To optimize this, we can:

This defers the initial super().save call until after generating the certificate and private key.
Remove the second super().save call, as it's no longer necessary.

This will reduce database writes and ensure data consistency.
I'm going to dive into a PR to implement this change. Let me know if you have any suggestions.