LDAP authentication for multiple domains

What can be multiple domains set in the LDAP authentication?
（If the domain name is different.）

This is, imho, an infrastructural question. Are those domains handled by one LDAP system or several systems?
a) Since all information is stored in one LDAP system you just have to provide the correct ldap query string
b) You want to have a virtual directory / meta-directory that maps your LDAP systems. Once you implemented your VDS option a applies

Those domains are handled by several LDAP systems.
I would like to set up multiple LDAP servers GitBucket.

+1
We have several LDAP systems too, even with different queries (not just connection parameters).
Another alternative might be if GitBucket would have support for OAuth, thus letting the OAuth server to handle the different connection types.

Well, to be honest, in my opinion this "feature" will cause more problems than it will solve.
Just imagine you authenticate using several LDAP systems, and an account is found twice/several times: Which account should be used for authentication?
I don't want to be rude, but if you have several LDAP systems within your company, and your accounts are scattered among these systems, you have an architectural problem in your system-landscape.
If you are some kind of provider and want to give access to a single application using several authentication systems, combine them to a single source - This is why solutions like Meta Directories or Virtual Directories exist.
I think you should embrace those solutions if you are in the struggle of authenticating users against several systems.
regards, ghmer

Well, to be honest, in my opinion this "feature" will cause more problems rather than solve them.
Just imagine you authenticate using several LDAP systems, and an account is found twice/several times: Which account should be used for authentication?

The first one that succeeds, authenticates. This is a common scenario in most companies.
Of course, OAuth could make things more transparent.

I don't want to be rude, but if you have several LDAP systems within your company, and your accounts are scattered among these systems, you have an architectural problem in your system-landscape.

Nope :). That's typical for most companies that consist of "independent" branches.

I think you should embrace those solutions if you are in the struggle of authenticating users against several systems.

I'm in no position to dictate such things: I can only try to convince them to use GitBucket for their own good :).

The first one that succeeds, authenticates. This is a common scenario in most companies.
Of course, OAuth could make things more transparent.

No, it isn't, and if it was, I would be ashamed of my profession.  I'm also in no position to decide whether or not this feature request will be implemented, but implementing it this way is wrong. Period!
Using an admin account with access to password attributes (that accounts, by the way, do exist very rarely in the companies I am working for. A GIT service should not need such a technical account) is also a bad idea.

Nope :). That's typical for most companies that consist of "independent" branches.

You still don't get my point. That's exactly why you would use a Virtual Directory service!
Again, I have no influence on this project, but I think I made my points.

In our company, members are divided into 2 OU folders on our single LDAP system. Since GitBucket can hold a non-recursive LDAP setting, we can't authenticate all of our members. Although this issue originally aims to support multiple systems, this function is useful for our condition.

P.S. See also Redmine's LDAP configuration. It can hold multiple LDAP settings with priority.

FYI I need this to use gitbucket within my company as well.  We use Active Directory and have separate domains for each region globally, but right now I can't configure gitbucket to search all of them, and I also can't configure recursive search on the forest.
I think this is a common use case especially at large companies.  It also seems a lot of software supports this, for example Jenkins:


FixFix CAS competition failure leading to message publishing failure.

What problem does this PR solve?
tryPublish returns false in case of CAS competition failure or when the queue is full. Therefore, we need to first check if there is enough capacity and then use the publish method for serial publishing.
Release note
None
Check List (For Author)

Test

[ ] Regression test
[ ] Unit Test
[ ] Manual test (add detailed scripts or steps below)
[ ] No need to test or manual test. Explain why:

[ ] This is a refactor/code format and no logic has been changed.
[ ] Previous test can cover this change.
[ ] No code files have been changed.
[ ] Other reason

Behavior changed:

[ ] No.
[ ] Yes.

Does this need documentation?

[ ] No.
[ ] Yes.

Check List (For Reviewer who merge this PR)

[ ] Confirm the release note
[ ] Confirm test cases
[ ] Confirm document
[ ] Add branch pick label

run buildall

run buildall

run feut

run buildall

run buildall


Update request-host-quota-azure-vmware-solution.md

change doc for new problem type

@jjaygbay1
Can you review the proposed changes?
Important: When the changes are ready for publication, adding a #sign-off comment is the best way to signal that the PR is ready for the review team to merge.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team


[WFCORE-7049] Remove MaxMetaspaceSize settings

https://issues.redhat.com/browse/WFCORE-7049

Core -> Full Integration Build 14027 outcome was FAILURE using a merge of fc2940fe019db38c6412d7d177b8f4687b65a3ba
Summary: Tests failed: 1 (1 new), passed: 3972, ignored: 63 Build time: 03:16:20
Failed tests
org.jboss.as.test.clustering.cluster.ejb.stateful.StatefulTimeoutTestCase.timeout: java.lang.AssertionError: expected:<3> but was:<0>
	at org.jboss.as.test.clustering.cluster.ejb.stateful.StatefulTimeoutTestCase.timeout(StatefulTimeoutTestCase.java:87)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
------- Stdout: -------
 [0m05:14:21,568 INFO  [org.jboss.modules] (main) JBoss Modules version 2.1.5.Final
 [0m [0m05:14:22,682 INFO  [org.jboss.msc] (main) JBoss MSC version 1.5.5.Final
 [0m [0m05:14:22,696 INFO  [org.jboss.threads] (main) JBoss Threads version 2.4.0.Final
 [0m [0m05:14:22,873 INFO  [org.jboss.as] (MSC service thread 1-1) WFLYSRV0049: WildFly 35.0.0.Beta1-SNAPSHOT (WildFly Core 27.0.0.Beta3-SNAPSHOT) starting
 [0m [0m05:14:25,192 INFO  [org.wildfly.security] (Controller Boot Thread) ELY00001: WildFly Elytron version 2.6.0.Final
 [0m [0m05:14:26,886 INFO  [org.jboss.as.server] (Controller Boot Thread) WFLYSRV0039: Creating http management service using socket-binding (management-http)
 [0m [0m05:14:26,951 INFO  [org.xnio] (MSC service thread 1-6) XNIO version 3.8.16.Final
 [0m [0m05:14:27,024 INFO  [org.xnio.nio] (MSC service thread 1-6) XNIO NIO Implementation Version 3.8.16.Final
 [0m [0m05:14:27,077 INFO  [org.jboss.as.clustering.infinispan] (ServerService Thread Pool -- 40) WFLYCLINF0001: Activating Infinispan subsystem.
 [0m [0m05:14:27,155 INFO  [org.jboss.as.connector.subsystems.datasources] (ServerService Thread Pool -- 32) WFLYJCA0004: Deploying JDBC-compliant driver class org.h2.Driver (version 2.2)
 [0m [0m05:14:27,165 INFO  [org.wildfly.extension.io] (ServerService Thread Pool -- 41) WFLYIO001: Worker 'default' has auto-configured to 8 IO threads with 64 max task threads based on your 4 available processors
 [0m [0m05:14:27,172 INFO  [org.jboss.as.jaxrs] (ServerService Thread Pool -- 42) WFLYRS0016: RESTEasy version 6.2.11.Final
 [0m [0m05:14:27,218 INFO  [org.jboss.as.naming] (ServerService Thread Pool -- 48) WFLYNAM0001: Activating Naming Subsystem
 [0m [33m05:14:27,230 WARN  [org.jboss.as.txn] (ServerService Thread Pool -- 53) WFLYTX0013: The node-identifier attribute on the /subsystem=transactions is set to the default value. This is a danger for environments running multiple servers. Please make sure the attribute value is unique.
 [0m [0m05:14:27,258 INFO  [org.jboss.as.clustering.jgroups] (ServerService Thread Pool -- 44) WFLYCLJG0001: Activating JGroups subsystem. JGroups version 5.2.29
 [0m [0m05:14:27,299 INFO  [org.jboss.as.connector.deployers.jdbc] (MSC service thread 1-8) WFLYJCA0018: Started Driver service with driver-name = h2
 [0m [0m05:14:27,420 INFO  [org.jboss.as.connector] (MSC service thread 1-1) WFLYJCA0009: Starting Jakarta Connectors Subsystem (WildFly/IronJacamar 3.0.10.Final)
 [0m [0m05:14:27,869 INFO  [org.jboss.remoting] (MSC service thread 1-6) JBoss Remoting version 5.0.30.Final
 [0m [0m05:14:27,927 INFO  [org.jboss.as.naming] (MSC service thread 1-7) WFLYNAM0003: Starting Naming Service
 [0m [33m05:14:27,956 WARN  [org.wildfly.extension.elytron] (MSC service thread 1-3) WFLYELY00023: KeyStore file '/opt/buildAgent/work/e8e0dd9c7c4ba60/full/testsuite/integration/clustering/target/wildfly-clustering-ejb-1/standalone/configuration/application.keystore' does not exist. Used blank.
 [0m [0m05:14:28,003 INFO  [org.wildfly.extension.undertow] (MSC service thread 1-5) WFLYUT0003: Undertow 2.3.18.Final starting
 [0m [33m05:14:28,079 WARN  [org.wildfly.extension.elytron] (MSC service thread 1-6) WFLYELY01084: KeyStore /opt/buildAgent/work/e8e0dd9c7c4ba60/full/testsuite/integration/clustering/target/wildfly-clustering-ejb-1/standalone/configuration/application.keystore not found, it will be auto-generated on first use with a self-signed certificate for host localhost
 [0m [0m05:14:28,517 INFO  [org.wildfly.extension.undertow] (MSC service thread 1-1) WFLYUT0012: Started server default-server.
 [0m [0m05:14:28,519 INFO  [org.jboss.as.ejb3] (MSC service thread 1-8) WFLYEJB0481: Strict pool slsb-strict-max-pool is using a max instance size of 64 (per class), which is derived from thread worker pool sizing.
 [0m [0m05:14:28,518 INFO  [org.jboss.as.ejb3] (MSC service thread 1-6) WFLYEJB0482: Strict pool mdb-strict-max-pool is using a max instance size of 16 (per class), which is derived from the number of CPUs on this host.
 [0m [0m05:14:28,521 INFO  [org.wildfly.extension.undertow] (MSC service thread 1-8) Queuing requests.
 [0m [0m05:14:28,522 INFO  [org.wildfly.extension.undertow] (MSC service thread 1-8) WFLYUT0018: Host default-host starting
 [0m [33m05:14:28,622 WARN  [org.jboss.as.domain.http.api.undertow] (MSC service thread 1-7) WFLYDMHTTP0003: Unable to load console module for slot main, disabling console
 [0m [0m05:14:28,749 INFO  [org.wildfly.extension.undertow] (MSC service thread 1-4) WFLYUT0006: Undertow HTTP listener default listening on [::1]:8080
 [0m [0m05:14:28,937 INFO  [org.jboss.as.ejb3] (MSC service thread 1-5) WFLYEJB0493: Jakarta Enterprise Beans subsystem suspension complete
 [0mnode-1 2024-11-14 05:14:29,188 INFO  [org.jboss.as.connector.subsystems.datasources] (MSC service thread 1-5) WFLYJCA0001: Bound data source [java:jboss/datasources/ExampleDS]
node-1 2024-11-14 05:14:29,195 INFO  [org.jboss.as.server.deployment.scanner] (MSC service thread 1-7) WFLYDS0013: Started FileSystemDeploymentService for directory /opt/buildAgent/work/e8e0dd9c7c4ba60/full/testsuite/integration/clustering/target/wildfly-clustering-ejb-1/standalone/deployments
node-1 2024-11-14 05:14:29,609 INFO  [org.jboss.as.server] (Controller Boot Thread) WFLYSRV0212: Resuming server
node-1 2024-11-14 05:14:29,648 INFO  [org.jboss.as] (Controller Boot Thread) WFLYSRV0060: Http management interface listening on http://[::1]:9990/management
node-1 2024-11-14 05:14:29,648 INFO  [org.jboss.as] (Controller Boot Thread) WFLYSRV0054: Admin console is not enabled
node-1 2024-11-14 05:14:29,650 INFO  [org.jboss.as] (Controller Boot Thread) WFLYSRV0025: WildFly 35.0.0.Beta1-SNAPSHOT (WildFly Core 27.0.0.Beta3-SNAPSHOT) started in 9111ms - Started 287 of 661 services (449 services are lazy, passive or on-demand) - Server configuration file in use: standalone-full-ha.xml - Minimum feature stability level: community

Thanks @bstansberry


What's the best method for a C100P?

C100P is p. useless with just ChromeOS, but it's not a C720. Best steps to follow for ez linux?

Follow the instructions on the main page.


Expose snowflakeProxyRunning bool

It would be nice in Orbot to be able to ask IPtProxy if the snowflake proxy is running or not.
if (IPtProxy.isSnowflakeProxyRunning()) { /* ... */ }
else {}

Sorry and nevermind, I actually don't think this is needed


Make CMake module libs STATIC

This pull request is ready to be merged.
Feature or improvement description
This PR changes the CMakeLists.txt files in each module so that the module libraries are built as STATIC even if -DBUILD_SHARED=ON. Interface libraries (C-Bindings) and openfastlib are always built as shared libraries so this change will not affect downstream users.
Impacted areas of the software
CMakeLists.txt files of all modules
Additional supporting information
This change arose from a problem installing WEIS which built OpenFAST with -DBUILD_SHARED=ON. At one point, the only way to build openfastlib as a shared library was to set -DBUILD_SHARED=ON. This library is currently always built as shared but many users still set BUILD_SHARED=ON which causes all module libraries to be created as shared libraries so they are dynamically loaded at run time. This commit changes the CMakeLists.txt files to build all module libs as STATIC regardless of how BUILD_SHARED is set. As a result, all module libraries will be statically linked into openfast, openfastlib and FAST.Farm which should improve performance and reduce complexity. This also prevents a problem with building the Simulink MEX file which wouldn't work if BUILD_SHARED=ON.

@andrew-platt , BUILD_SHARED_LIBS is a CMake option, https://cmake.org/cmake/help/latest/variable/BUILD_SHARED_LIBS.html, which it looks like is duplicated in the main CMakeLists.txt file. So it could still be set even if it was removed. In this PR all the libraries except openfastcpplib are set to SHARED or STATIC. I wasn't sure which way that library should be built, though I expect it needs to be SHARED for the downstream applications. I'm open to removing it and seeing if it causes any issues. Let me know what you think.

I've decided to leave this PR as is and revisit removing the BUILD_SHARED_LIBS option from the main CMakeLists.txt file in the future.


Efficient Ragged Tensor support on TFlite

System information

TensorFlow version (you are using): 2.5.0.dev20201106
Are you willing to contribute it (Yes/No): No

Describe the feature and the current behavior/state.

While tf.RaggedTensor use int64 tensor as its row_splilts, TFLite does not support int64 indexing or slicing.
Therefore the model using RaggedTensor as input is converted like the figure above, using unnecessary flexStridedSlices.
Further, I don't understand why RaggedTensor operation should be converted into whole lot of StridedSlices.
It should be fused into single operation for efficiency.
So I argue that RaggedTensor support on TFLite should be revised.
Will this change the current api? How?
No
Who will benefit with this feature?
The one who use RaggedTensor for their TFLite model. For example, the one who are developing natural language processing models.
Any Other info.

Can you share an example how RaggedTensor is used in your case?
There's no concept of RaggedTensor in execution graph, they are represented as a tensor of values and a tensor with indices.
We have made some effort to make a good support on NLP models when using ragged tensors, but may not be enough.
It would be good to collect more use cases to have a better understanding on what should be covered.
Meanwhile, you can use flex delegate to make it run just like in tensorflow, when complete tflite support is missing.

Hi, I want implement GNN and convert it into TFLite for quantization.
The reason why I chose raggedtensor is that it is useful to represent adjacency lists.
And my implementation requires some raggedtensor indexing, which I think it is quite different with conventional NLP models.

I use some ragged tensor indexing and slicing
because each layer in my model only require subset of hidden features from the previous layer

@jdduke,
The TensorFlow Lite builtin operator library only supports a limited number of TensorFlow operators, not every model is convertible. Please refer to the operator compatibility.
To allow conversion, users can enable the usage of certain TensorFlow ops in their TensorFlow Lite model. However, running TensorFlow Lite models with TensorFlow ops requires pulling in the core TensorFlow runtime, which increases the TensorFlow Lite interpreter binary size. For Android, you can avoid this by selectively building only required Tensorflow ops. For the details, refer to reduce binary size. Please take a look at the official doc link for the reference.
Also as mentioned you can use flex delegate to make it run just like in tensorflow, when complete tflite support is missing. Thank you!


[RFC] Revise leanpkg build

Currently, leanpkg build will call lean --make with the directory configured as path in the leanpkg.toml file. By default, this is ".", the project root itself, which brings some problems with it:

test/ is compiled as well. With our current test setup, that means that tests are also run on build.
All the dependencies in _target/ are compiled as well (including their test/ directories!). With larger dependencies like mathlib, this may compile significantly more code than you actually use in your project.

I would therefore suggest to enforce using src/, just like we're already hard-coding test/. We can start by setting it as a default for leanpkg new/init and printing a warning when leanpkg sees any different or missing path.

I ran into a problem I reported in #1848 due to the default use of ..

I have a Lean project containing some problems for students, and these lean files are (intentionally) full of sorrys. Although I don't synch scratch files on github, in practice when I compile my library there are also a bunch of scratch files around which typically don't even compile. It would be nice if the default behaviour of leanpkg build was to compile all the parts of my project which should compile, without having to deal with all these warnings and errors; this way I could check much more easily to see if recent changes in Lean broke my code.

It would be nice if the default behaviour of leanpkg build was to compile all the parts of my project which should compile

I'm really not sure what you mean by that.
If you use a src/ directory, you can put scratch files in another folder scratch/ so that won't be compiled by leanpkg build, but can still import the project files. Does that help?

In which case I'm not using the full functionality of leanpkg build, and my comment becomes "where are the docs that explain how to do what I want to do"? I want to make olean files in some cases (e.g. always mathlib, sometimes my lean files), and not in other cases. That's my sole use case of leanpkg build.
If I move everything to src then either I change all my imports to src. or I edit leanpkg.path [and my understanding from a recent conversation we had was that leanpkg.path is generated by leanpkg and should not be edited by the end user, which is why there is no explanation of the syntax]. Perhaps what you can take from my comments is simply that I am a Lean user who is failing to use leanpkg correctly and wants to learn how to use it better without bothering the devs. It sounds like I would also want to use this test directory functionality -- where can I read about that? All I see is "leanpkg test -- ] : download dependencies, build *.olean files, and run test files". Is a test file equal to a file in a directory called test?
Should I submit a PR on README.md, removing all mention of library_dev, adding some (possibly incorrect) ideas about how an end user like me might want to use leanpkg build (and other leanpkg commands -- like some unix man page), and then leave someone else to fix it up? Or should I just wait for someone who knows exactly what they're talking about to do this?

@kbuzzard: I share some of your concerns, but I just wanted to share with you what I do, in case it might help.
My leanpkg.toml looks like this:
[package]
name = "alpha"
version = "0.0.1"
path = "src"

[dependencies]
mathlib = {git = "https://github.com/leanprover/mathlib.git", rev = "03074f197cb6f832eade66220f49ed999deec768"}

Every .lean file in src or a recursive subdirectory thereof is built by leanpkg. Any .lean file not in this hierarchy is not built by leanpkg.
To be able to have leanpkg run lean on files that I do not want to commit to my git repository, I added a line to my .gitignore:
# Ignore any sandbox file: these are for experiments.
sandbox*.lean


Consistent spatial references given Icicle default

Doc update to align with what appears to be a relatively new default flame graph orientation.

Doc update to align with what appears to be a relatively new default flame graph orientation.

You'd think that, but nah - I'm pretty sure we've been using icicle orientation by default since our very first release, and this has been wrong forever 😅
Thanks for catching this! I'm going to go for a more extensive fix than you proposed, though. I've updated the first section to avoid absolute spatial references entirely, and only make references relative to the location of the root. Then, I've yanked up the section about flame graphs vs icicle graphs to right below that section, explaining the flame vs icicle distinction earlier, explaining that the root could appear in either of two positions, and making it clear that memray flamegraph produces icicle graphs by default despite its name. And I've updated the prose for the first of the two simple examples to make it clear that it's a flame graph as opposed to an icicle graph. I didn't bother for the second, since I think it's fair to assume anyone trying to read and interpret the second example flame graph will have already understood the first example.
Since I've made such extensive changes to your small original patch, I'm going to leave this for someone else to review my work.
https://godlygeek.github.io/memray/flamegraph.html shows this page with my proposed changes.


Custom loss hyperopt

fit(...) enables users to have a custom loss.
This is not the case for FitGenetic(...). Would be a nice enhancement.

Implemented in #148 :tada:


eval-syntax

Expose an eval syntax. Similar to new Function() (used by AlpineJS) or eval() but doesn't expose global variable and Web API. Also no new variable creation a.k.a let or const. No declaration, no statement, no loop. It just an expression. However, it may have ternary operation and range/slice bound.
Some ideas:

Typyst math syntax
CortexJS Compute Engine and MathJSON
Nerdamer
MathJS
small math-expression-evaluator

Operator that exclusive for string, list/array, and vector/matrix are denoted in [ops]. There's some ops-syntax borrowed from other lang.
concat (inspired by Lua)
<span ~ #text="
  ret:sepByComma<~`(scale3d[..][0,0,0])
">…

same as
span.textContent = sepByComma(
  scale3d.concat([0, 0, 0])
)

scalar add on vector
<span ~ #text="
  ret:sepByComma<~`(scale3d[+]5)
">…

same as
span.textContent = sepByComma(
  scale3d.map(it => it + 5)
)

addition between vector
<span ~ #text="
  ret:sepByComma<~`(scale3d[+]pos2d)
">…

roughly same as
span.textContent = sepByComma(
  Array.from(
    { length: Math.max(scale3d.length, pos2d.length) },
    (_, i) => (scale3d[i] ?? null) + (pos2d[i] ?? null),
  )
)

Note that to enter eval-syntax, the expression should be wrapped in `()

Not related to eval-syntax but from the example seems I got a design issues in the implementation detail of rust (and potentially other) binding.
use libnusa::{number, List, Null};

#[no_mangle]
fn sepByComma(
  list: List<Null<number::f32>> // okay so where to store this temporary value? which memory? which offset?
) {}


installation guide required

it took me two days to figure out how to install it: git submodules and api usages. Maybe a guide for newcomers is a good idea?

I added a short guide to the README, feel free to contribute.


NoSuchMethod exception on SonarQube 8.2

When running with SonarQube 8.2 the mvn sonar:sonar call breaks with this exception:
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.sonarsource.scanner.maven:sonar-maven-plugin:<IP_ADDRESS>6:sonar (default-cli) on project acs-aem-commons-bundle: Execution default-cli of goal org.sonarsource.scanner.maven:sonar-maven-plugin:<IP_ADDRESS>6:sonar failed: An API incompatibility was encountered while executing org.sonarsource.scanner.maven:sonar-maven-plugin:<IP_ADDRESS>6:sonar: java.lang.NoSuchMethodError: 'org.sonar.plugins.java.api.tree.ListTree org.sonar.plugins.java.api.tree.TryStatementTree.resources()'
-----------------------------------------------------
realm =    plugin>org.codehaus.mojo:sonar-maven-plugin:<IP_ADDRESS>6
strategy = org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy
urls[0] = file:/home/joerg/.m2/repository/org/sonarsource/scanner/maven/sonar-maven-plugin/<IP_ADDRESS>6/sonar-maven-plugin-<IP_ADDRESS>6.jar
urls[1] = file:/home/joerg/.m2/repository/org/sonatype/plexus/plexus-sec-dispatcher/1.4/plexus-sec-dispatcher-1.4.jar
urls[2] = file:/home/joerg/.m2/repository/org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4.jar
urls[3] = file:/home/joerg/.m2/repository/org/codehaus/plexus/plexus-utils/3.2.1/plexus-utils-3.2.1.jar
urls[4] = file:/home/joerg/.m2/repository/org/sonarsource/scanner/api/sonar-scanner-api/<IP_ADDRESS>2/sonar-scanner-api-<IP_ADDRESS>2.jar
urls[5] = file:/home/joerg/.m2/repository/commons-lang/commons-lang/2.6/commons-lang-2.6.jar
Number of foreign imports: 1
import: Entry[import  from realm ClassRealm[project>com.adobe.acs:acs-aem-commons-bundle:4.5.1-SNAPSHOT, parent: ClassRealm[maven.api, parent: null]]]
...
Caused by: java.lang.NoSuchMethodError: 'org.sonar.plugins.java.api.tree.ListTree org.sonar.plugins.java.api.tree.TryStatementTree.resources()'
at com.cognifide.aemrules.java.checks.resourceresolver.close.ResourceResolverTryWithResourcesCheck.visitTryStatement (ResourceResolverTryWithResourcesCheck.java:91)
at org.sonar.java.model.statement.TryStatementTreeImpl.accept (TryStatementTreeImpl.java:192)

I am using the sonar-aemrules-plugin-1.0.jar with the current master branch of ACS AEM Commons. It worked some weeks back, so probably the code path is running for the first time.

Hi @joerghoh,
we discovered this issue last week - Issue 180. It is related to new release of Sonar Java Plugin 6.2, which is default version for Sonarqube 8.2 and Sonarqube forces update.
Support for 6.2 will be added in AEM Rules 1.1 which we are already testing. Process for releasing new version in Sonarqube Marketplace will start this week.
You could use pre-release artifact sonar-aemrules-plugin-1.1-RC1.jar

hi @jplucinski , thanks for your fast response on a Sunday afternoon! Using the RC version made the check going again.


Add documentation for XFCE

Motivation for this change
Adressing https://github.com/NixOS/nixpkgs/issues/13340

I don't know how to test-build the docs. Please tell me.
@garbas pinging you as creator of #13340.

To build the docs:
nix-build -A manual.x86_64-linux nixpkgs/nixos/release.nix

Does not build for me, but I don't know what the problem is.

diff --git a/nixos/doc/manual/configuration/xfce.xml b/nixos/doc/manual/configuration/xfce.xml
index d406616bae..ac9b784824 100644
--- a/nixos/doc/manual/configuration/xfce.xml
+++ b/nixos/doc/manual/configuration/xfce.xml
@@ -34,7 +34,7 @@
         XFCE programs are not installed automatically.
         To install them manually (system wide), put them into your
         <literal>environment.systemPackages</literal>-
-    <para>
+       </para>

     <para>
         NixOS’s default <emphasis>display manager</emphasis> (the

Applied, thanks.
Tell me if I should rebase and fixup.

I merged a slightly modified version in the meantime.

Okay, thanks!

It seemed nice.  We can improve later, possibly.


⚠ Samsung has degraded performance

In a5f9569, Samsung (https://samsung.com) experienced degraded performance:

HTTP code: 200
Response time: 2669 ms

Resolved: Samsung performance has improved in 55647d6.


Portieris container not signed with DCT

What commit ID of Portieris did you experience the problem with?
Master (0.5.2)
What went wrong?
I tried to pull the Docker Content Trust image locally on my machine and there is no valid trust data for it
Error: remote trust data does not exist for docker.io/ibmcom/portieris: notary.docker.io does not have trust data for docker.io/ibmcom/portieris

What should have happened differently?
It should have valid trust data
How can it be reproduced?
docker pull docker.io/ibmcom/portieris:0.5.2
Any other relevant information

@zparnold make sure that whitelist portieris to run in the cluster with the following policy.
`# Policies off the bat
apiVersion: securityenforcement.admission.cloud.ibm.com/v1beta1
kind: ImagePolicy
metadata:
name: portieris-default-image-policy
namespace: kube-system
spec:
repositories:
# This policy prevents Portieris from blocking itself
- name: "docker.io/ibmcom/portieris:0.5.2"
policy:`

Ok thanks. Shouldn't the thing that's enforcing DCT also be signed via DCT though?

It's a catch 22 problem. Although it can be signed, the code to verify resides within the image. So basically to verify we need that portieris image to run as whitelisted.
The admission control tries to find the code and if doesn't find it fails closed.

Although not signed with DCT, which we expect will be deprecated n favour of Notary 2, it is now signed with a RedHat style simple signature. Would completion of #205  satisfy this issue?

Feel free to re-open if you feel DCT is still needed.

Feel free to re-open if you feel DCT is still needed.


Min Height Compensation

In efforts to combat CLS performance problems we need a way to quickly and easily add and remove min-height to our integrations. The DomTargeter is responsible for injecting Snap components into the DOM targets on the page. We should leverage this to remove any inline styles on the targets (eg. min-height).

Released in v0.59.0.


Fix osx travis

These fixes are meant for master, 1.0.2 and 1.0.1

Ping @mattcaswell

Ok, I might need some help here...  MacOSX says this:
+tar -n -s '/^/_srcdist\//' -cvf - @_srcdist.tar.list
+gzip --best
tar: Invalid replacement flag /

So it seems it doesn't do \ escaping...  In that case, how do I get in a / as part of the replacement???

Does the tar command do -s @foo@bar@ ?

That's a good question.  The manual (https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man1/tar.1.html) specifies slashes as separators and doesn't say anything about the possibility of using other characters.  Otherwise, I would have gone got the same | that we have in Makefile.org...

I just tried Rich's suggestion and it does seem to work. I think there is another problem though:
find: -xtype: unknown primary or operator

Thanks for the reminder, I changed it to use -type instead.  We'll have to make sure never to follow symlinks...

It seems this PR is finally doing it right.  @richsalz , @mattcaswell , check it out please?

+1

Thanks.  Pushed.


[Editor] Add support for input filter

Sometimes we want to limit the user input to a set of valid characters.
For example if would forbid users to enter a line break we would create a single line editor

An example of the editor that only accepts digits as user input:
BrEditor new
   look: BrGlamorousRegularEditorLook + BrGlamorousEditorSpacingLook;
   inputFilter: BrTextEditorDigitInputFilter new;
   vFitContent;
   text: 'Only digits are allowed'


Global decorators cause Storyshots to fail

Surfacing this again from #877.
When I add a global decorator to .storybook/config.js it cuases my Storyshot tests to fail with:
src/components/__test__/Storyshots.test.js
  ● Test suite failed to run

    Global decorators added after loading stories will not be applied

      at ClientApi.addDecorator (node_modules/@storybook/react/dist/client/preview/client_api.js:55:15)
      at evalmachine.<anonymous>:13:25
      at runWithRequireContext (node_modules/@storybook/addon-storyshots/dist/require_context.js:102:3)
      at testStorySnapshots (node_modules/@storybook/addon-storyshots/dist/index.js:100:35)
      at Object.<anonymous> (src/components/__test__/Storyshots.test.js:3:31)
          at <anonymous>
      at process._tickCallback (internal/process/next_tick.js:188:7)

Here is a simple workaround which mocking addDecorator as an emptyFunction for my project.
// Storyshots.test.js
const sbReact = require('@storybook/react')
sbReact.addDecorator = () => {}

initStoryshots()


[AutoRelease] t2-networkanalytics-2024-01-25-90606(can only be merged by SDK owner)

https://github.com/Azure/sdk-release-request/issues/4915
Live test fail, detailed info is in pipeline log(search keyword FAILED)!!!
https://dev.azure.com/azure-sdk/internal/_build?definitionId=6550

issue link:https://github.com/Azure/sdk-release-request/issues/4915


Fixed the room dependency to build and run the project on mac m1

Fixed room dependency to build and run the project on MAC M1.
Closes #409

 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.

Thank you for submitting this issue and PR.  I'm closing this since we are migrating to 2.4.2 directly in https://github.com/dropbox/Store/pull/411


Car addons route

Changed Loan route to return only Loan data and not the car and carbuyer.
Changed Addons route to return only a list of addosn and not the car.
Removed Extract Car Id as it was of no use.
Removed Package entity use case.
Removed tests for extract car id and package entitiy use case.

I don't really agree with removing PackageEntityUseCase. We're still using that functionality, but now you've just distributed it over multiple different methods. Also, we're kind of skipping layers in a way; I don't think the AddOn and Loan routes (which are controllers) should be directly handling the Attributization and Packaging of the entities.


Use New CI Workflows

PR Type

[ ] Breaking change
[ ] Feature
[x] Patch

Brief Description
Updating the CI workflows to use the new ones in .github.
Not In Scope
PR Checklist

[x] Is documented
[x] Is tested
[x] Adheres to applicable organization standards

🚀 [bumpr] Bumped! New version:v0.1.17 Changes:v0.1.16...v0.1.17


(docs): fix v1.30.0 migration guide

Description of the change:

Fixes the v1.30.0 release migration guide. Looks like the migration template accidentally got committed and resulted in an improper migration guide being produced.

Motivation for the change:

fixes #6480

Checklist
If the pull request includes user-facing changes, extra documentation is required:

[ ] Add a new changelog fragment in changelog/fragments (see changelog/fragments/00-template.yaml)
[x] Add or update relevant sections of the docs website in website/content/en/docs

sanity failing because there is no docs dir in v0.19.x branch? (https://github.com/operator-framework/operator-sdk/tree/v0.19.x/doc)

sanity failing because there is no docs dir in v0.19.x branch? (https://github.com/operator-framework/operator-sdk/tree/v0.19.x/doc)

Ah, this looks to be because we had to drop anything > n-12 branches from the Netlify builds since we ran out of branch builds...


Type-defined SBTs do not use blocks for inner types

Description
Consider the following, where we have a Point type that contains an ST specifying how to serialize Point and i32 values.
const Point = struct {
    x: i32,
    y: i32,

    pub const @"getty.sbt" = .{ point_sbt, i32_sbt };
};

const point_sbt = struct {
    pub fn is(comptime T: type) bool {
        return T == Point;
    }

    pub fn serialize(value: anytype, serializer: anytype) !@TypeOf(serializer).Ok {
        var s = try serializer.serializeSeq(2);
        const seq = s.seq();

        inline for (std.meta.fields(Point)) |field| {
            try seq.serializeElement(@field(value, field.name));
        }

        return try seq.end();
    }
};

const i32_sbt = struct {
    pub fn is(comptime T: type) bool {
        return T == i32;
    }

    pub fn serialize(value: anytype, serializer: anytype) !@TypeOf(serializer).Ok {
        return try serializer.serializeBool(value > 0);
    }
};

Getty correctly uses point_sbt to serialize Point values. However, it doesn't use i32_sbt to serialize the fields of Point values, resulting in the following, incorrect serialization:
$ zig build run
[0,1]

How to Reproduce the Bug
const std = @import("std");
const getty = @import("getty");
const json = @import("json");

const allocator = std.heap.page_allocator;

const Point = struct {
    x: i32,
    y: i32,

    pub const @"getty.sbt" = .{ point_sbt, i32_sbt };
};

const point_sbt = struct {
    pub fn is(comptime T: type) bool {
        return T == Point;
    }

    pub fn serialize(value: anytype, serializer: anytype) !@TypeOf(serializer).Ok {
        var s = try serializer.serializeSeq(2);
        const seq = s.seq();

        inline for (std.meta.fields(Point)) |field| {
            try seq.serializeElement(@field(value, field.name));
        }

        return try seq.end();
    }
};

const i32_sbt = struct {
    pub fn is(comptime T: type) bool {
        return T == i32;
    }

    pub fn serialize(value: anytype, serializer: anytype) !@TypeOf(serializer).Ok {
        return try serializer.serializeBool(value > 0);
    }
};

pub fn main() !void {
    const point = Point{ .x = 0, .y = 1 };
    const s = try json.toSliceWith(allocator, point, .{});
    defer allocator.free(s);

    std.debug.print("{s}\n", .{s});
}

Additional Context
No response

Okay, I'm gonna label this "not a bug".
First, type-defined blocks specify the serialization logic for the type that defined them. They don't specify serialization logic for types within the type that defined them, or for any other type. Only the type that defined them. So, including something like an i32_block within @"getty.sbt" would be incorrect. The only type @"getty.sbt" should be defining things for is Point.
Second, type-defined serialization tuples don't make sense. Tuples are for grouping serialization blocks for multiple types, but the whole point of type-defined serialization blocks is that they apply only to the type that defined them. As such, there's never any reason to have more than one serialization block defined within a type. You only ever need one.
This issue has brought up some problems with type-defined blocks though. So we'll need to fix those.


zsh-edit: init at unstable-2022-05-05

Description of changes
Add zsh-edit zsh plugin (zle extensions - https://github.com/marlonrichert/zsh-edit).

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[x] x86_64-darwin
[ ] aarch64-darwin

[x] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[x] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
23.05 Release Notes (or backporting 22.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-ready-for-review/3032/1498


Issue #85: Use less specific credential type to account for Metadata credentials.

See #85: For GoogleRobotMetadataCredentials, a ComputeCredential is generated here. For GoogleRobotPrivateKeyCredentials, a GoogleCredential is generated here. Since the super class of both of these types, Credential, has getAccessToken(), this doesn't need to be as specific.

Thanks for this PR!


it there a method to locate a sibling element of div?

Firstly, I locate the span element  using span(:room_card,:class="room-category")
and use room_card_element.parent.parent to retrieve div element.
now i want to locate  element, how can i do?
i try to use div.element(:xpath, './following-sibling::*'), but it occurs an error:

It is not a bug. div.element points to wrapped watir element. It is not a function for searching elements.
Try using div.elements(xpath, 'your-xpath').first

If you have the div you can locate the element using div.label_element or locate the spans using div.span_elements.  You can also use a locator.  For example `div.label_element(class: 'room-card').  Reopen if you need more help.


Need feasibility to connect to different database in a single test.

As our application touches 2-3 databases while writing e2e tests, currently the feasibility does not exists for this plugin. Please enable a connect/disconnect method which will be useful in connecting  and disconnecting the databases whenever required.

I'm not sure when is this going to be properly supported, but there is a workaround for it already.
You can override env variables on the it level (also on context or describe levels):
it('Change env variables on the fly', {env: {mongodb: { uri: 'mongodb://localhost:12345', collection: 'xxx', database: 'xxx'}}}, () => {
// your test on database localhost:12345
});
it('Default env', () => {
// your test on database defined in cypress.config.js
});

Hi @Zaista , But I have the need to use 2 different databases in a single test.
Let me try if I can find a solution for it with the above given options.

Hi @Zaista , I tried in both describe and it level, but the database is not getting connected.

It might be related to this problem: https://github.com/Zaista/cypress-mongodb/issues/35
Just a long shot though, I'll take some time this week to investigate this issues

@nivedhamanoharan any news from your side perhaps and was it related the the issue above?
I just tested it again with mongodb v6 and cypress v12.13.0, had no problems at all.
Regarding the different databases within the same it block, unfortunately impossible with current implementation, I'll see that I rework it in a future release


AmazonSQSClient.SendMessageAsync throws TaskCanceledException after messaged was published

Description
AmazonSQSClient.SendMessageAsync throws TaskCanceledException even though the message was published.
Reproduction Steps
Reliable reproduction is not possible at this time. We only observed this issue during a load test. We noticed it on more than 1 occassion during the load test though.
System.Threading.Tasks.TaskCanceledException: A task was canceled.
    at Amazon.Runtime.Internal.RetryHandler.InvokeAsync[T](IExecutionContext executionContext)
    at Amazon.Runtime.Internal.CallbackHandler.InvokeAsync[T](IExecutionContext executionContext)
    at Amazon.Runtime.Internal.CallbackHandler.InvokeAsync[T](IExecutionContext executionContext)
    at Amazon.Runtime.Internal.ErrorCallbackHandler.InvokeAsync[T](IExecutionContext executionContext)
    at Amazon.Runtime.Internal.MetricsHandler.InvokeAsync[T](IExecutionContext executionContext)
    at UW.Data.Platform.Inbound.Messaging.JobPublisher.Publish(Job job, CancellationToken cancellationToken, IWorkScope work) in /src/core/Inbound.Lib/Messaging/JobPublisher.cs:line 150
    at UW.Data.Platform.Inbound.API.Services.Processors.BaseProcessor`1.Process(ProcessRequest`1 pr, CancellationToken cancellationToken) in /src/api/API/Services/Processors/BaseProcessor.cs:line 74
    at UW.Data.Platform.Inbound.API.Services.Processors.BaseProcessor`1.Process(ProcessRequest`1 pr, CancellationToken cancellationToken) in /src/api/API/Services/Processors/BaseProcessor.cs:line 74
    at UW.Data.Platform.Inbound.API.AccountingJournalEndpoints.PostAccountingJournal.HandleAsync(PostAccountingJournalRequest request, CancellationToken cancellationToken) in /src/api/API/AccountingJournalEndpoints/PostAccountingJournal.cs:line 75
    at lambda_method35(Closure , Object )
    at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.AwaitableObjectResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)
    at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeActionMethodAsync>g__Awaited|12_0(ControllerActionInvoker invoker, ValueTask`1 actionResultValueTask)
    at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeNextActionFilterAsync>g__Awaited|10_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)

Happy to provide message details in private if necessary.
Logs
We have no logs with more information than the stack trace above.
Environment

SDK Version: AWSSDK.Core v3.7.7
Package Version: AWSSDK.SQS v<IP_ADDRESS>
OS Info: Debian 11 via mcr.microsoft.com/dotnet/aspnet:6.0-bullseye-slim
Build Environment ubuntu:18.04
Targeted .NET Platform:  net6

Resolution

[ ] :wave: I can/would-like-to implement a fix for this problem myself

Seems to me if a message was successfully published, than any subsequent calls should not propagate exceptions to the caller.

This is a :bug: bug-report

Hi @cspital,
Good afternoon.
Please share the application details and sample code to troubleshoot the issue. Also, are you running the code in Docker (per OS Info above).
Thanks,
Ashish

Hi, of course and thank you.
This is an ASP.NET Core application, it is serving a REST API for handling writes to the enterprise's underlying source of truth. We save the materials to s3 and send a message to a worker to march the submission through it's paces in the underlying system. What happened was the API fired a message but rolledback at the database and so the workers have been erroring on those (there were 8 instances of this happening during our load test).
We are running this application in AWS ECS Fargate instances.
I'm happy to share more details if this isn't enough, like I said this is the first time we've noticed this and it only happened at our peak tested load.
Controller Handler
public override async Task<ActionResult<PostAccountingJournalResponse>> HandleAsync([FromBody] PostAccountingJournalRequest request, CancellationToken cancellationToken = default)
{
    var authorized = Authorize(request);
    if (!authorized)
    {
        return StatusCode(403, new ForbiddenResult(authorized));
    }

    var validated = AccountingJournalFactory.From(new WebAccountingJournalCandidateProvider(request));
    if (!validated)
    {
        foreach (var err in validated.Errors)
        {
            ModelState.AddModelError(err.Field, err.ToString());
            return ValidationProblem(ModelState);
        }
    }

    var pr = GetProcessRequest(request, validated.Item);

    var context = await _processor.Process(pr, cancellationToken); // thrown from here

    return Created(Url.Link("GetContext", new { uuid = context.Uuid.ToString() })!, new PostAccountingJournalResponse
    {
        Context = GetContextResponse.From(context)
    });
}

Processor
public async Task<Context> Process(ProcessRequest<T> pr, CancellationToken cancellationToken = default)
{
    var publisher = _publisherFactory.GetPublisher(Resource);
    await _work.BeginTransaction(cancellationToken);

    try
    {
        var context = await CreateContext(pr.Payload, _work, cancellationToken);
        await EnrichContext(pr, context, cancellationToken);
        await publisher.Publish(GetJob(context), cancellationToken, _work); // thrown from here
        await _work.Commit(cancellationToken); // we've changed this to CancellationToken.None already
        return context;
    }
    catch
    {
        await Cleanup(); // rollback
        throw;
    }
}

Publisher
public async Task Publish(Job job, CancellationToken cancellationToken = default, IWorkScope? work = null)
{
    try
    {
        _logger.LogInformation("Publishing {@job}", new { job.ContextId, job.ContextUuid, job.State, job.ContentLength, job.Resource, job.PlatformVersion });

        var payload = new JobPayload
        {
            ContextId = job.ContextId,
            ContextUuid = job.ContextUuid.ToString(),
            State = job.State.ToString(),
            ContentLength = job.ContentLength,
            Resource = job.Resource,
            PlatformVersion = job.PlatformVersion
        };

        await _queue.SendMessage<JobPayload>(payload, new SendParams
        {
            QueueUrl = _subbing.QueueUrl,
            Delay = TimeSpan.FromSeconds(0)
        }, cancellationToken); // thrown from here

        await _tracer.Write(new ContextEvent
        {
            ContextId = job.ContextId,
            EventType = EventType.Pushed,
            Success = true,
            ContainerId = _hosting.ContainerId,
            Detail = ContextEvent.GetDetailObject("PushedJobData", new
            {
                Sent = DateTime.UtcNow,
                Receives = job.Metadata.Receives,
                Received = job.Metadata.Received,
                Expires = job.Metadata.Expires
            })
        }, cancellationToken, work);
    }
    catch (Exception e) when (e.IsNotCancelled())
    {
        _logger.LogError(e, "Error publishing {@job}", new { job.ContextId, job.State });
        await _tracer.Write(new ContextEvent
        {
            ContextId = job.ContextId,
            EventType = EventType.Pushed,
            Success = false,
            ContainerId = _hosting.ContainerId,
            Detail = ContextEvent.GetDetailObject("PushedJobData", new
            {
                Sent = DateTime.UtcNow,
                Receives = job.Metadata.Receives,
                Received = job.Metadata.Received,
                Expires = job.Metadata.Expires
            })
        }, cancellationToken, work);
        throw;
    }
}

Queue
public class SqsQueue : IQueueTTLReader, IQueueTTLWriter, IQueueWriter, IQueueReader, IMessageLifetimeWriter
{
    static readonly DateTime epoch = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);

    readonly IAmazonSQS _sqs;
    readonly JsonSerializerSettings _settings;

    public SqsQueue(
        IAmazonSQS amazonSQS)
    {
        _sqs = amazonSQS ?? throw new ArgumentNullException(nameof(amazonSQS));
        _settings = JsonSettings.Default;
    }

    // ...elided...

    public Task SendMessage<T>(T obj, SendParams @params, CancellationToken cancellationToken = default)
        where T : class
    {
        var body = JsonConvert.SerializeObject(obj, _settings);

        return _sqs.SendMessageAsync(new SendMessageRequest
        {
            QueueUrl = @params.QueueUrl,
            DelaySeconds =<EMAIL_ADDRESS>            MessageBody = body
        }, cancellationToken);
    }
}

Was there any determination as to what this issue was? We are getting these randomly as well and our setup seems to be the same: ASP.Net 6, AWSSDK.Core: <IP_ADDRESS>, AWSSDK.S3 <IP_ADDRESS>
{"message":"ProcessMessage failed: messageId=6e4a14d5-fb4c-453e-ad41-1b28fcb6618e error=\u0027A task was canceled.\u0027","level":"fail","logName":"OURCOMPANY.Distributed.Aws.SqsWorker.SqsWorkerService","eventId":0,"utcDateTime":"2022-09-07T20:37:13.6483638Z","exception":"System.Threading.Tasks.TaskCanceledException: A task was canceled.\n   at System.Net.Http.HttpConnectionPool.GetHttpConnectionAsync(HttpRequestMessage request, CancellationToken cancellationToken)\n   at System.Net.Http.HttpConnectionPool.SendWithRetryAsync(HttpRequestMessage request, Boolean doRequestAuth, CancellationToken cancellationToken)\n   at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)\n   at System.Net.Http.HttpClient.FinishSendAsyncUnbuffered(Task\u00601 sendTask, HttpRequestMessage request, CancellationTokenSource cts, Boolean disposeCts)\n   at Amazon.Runtime.HttpWebRequestMessage.GetResponseAsync(CancellationToken cancellationToken)\n   at Amazon.Runtime.Internal.HttpHandler\u00601.InvokeAsync[T](IExecutionContext executionContext)\n   at Amazon.Runtime.Internal.Unmarshaller.InvokeAsync[T](IExecutionContext executionContext)\n   at Amazon.SQS.Internal.ValidationResponseHandler.InvokeAsync[T](IExecutionContext executionContext)\n   at Amazon.Runtime.Internal.ErrorHandler.InvokeAsync[T](IExecutionContext executionContext)\n   at Amazon.Runtime.Internal.ErrorHandler.InvokeAsync[T](IExecutionContext executionContext)\n   at Amazon.Runtime.Internal.CallbackHandler.InvokeAsync[T](IExecutionContext executionContext)\n   at Amazon.Runtime.Internal.EndpointDiscoveryHandler.InvokeAsync[T](IExecutionContext executionContext)\n   at Amazon.Runtime.Internal.EndpointDiscoveryHandler.InvokeAsync[T](IExecutionContext executionContext)\n   at Amazon.Runtime.Internal.CredentialsRetriever.InvokeAsync[T](IExecutionContext executionContext)\n   at Amazon.Runtime.Internal.RetryHandler.InvokeAsync[T](IExecutionContext executionContext)\n   at Amazon.Runtime.Internal.RetryHandler.InvokeAsync[T](IExecutionContext executionContext)\n   at Amazon.Runtime.Internal.CallbackHandler.InvokeAsync[T](IExecutionContext executionContext)\n   at Amazon.Runtime.Internal.CallbackHandler.InvokeAsync[T](IExecutionContext executionContext)\n   at Amazon.Runtime.Internal.ErrorCallbackHandler.InvokeAsync[T](IExecutionContext executionContext)\n   at Amazon.Runtime.Internal.MetricsHandler.InvokeAsync[T](IExecutionContext executionContext)\n   at OURCOMPANY.Distributed.Aws.SqsWorker.QueueConsumer.DeleteMessageAsync(QueueMessage message, CancellationToken cancellationToken)\n   at OURCOMPANY.Distributed.Aws.SqsWorker.SqsWorkerServiceBase.ProcessMessage(QueueMessage message, CancellationToken stoppingToken)"}


The limit of a subArc must be greater than the limit of the previous subArc.

Hi, good work with the fork
Can you remove this error and allow a setup which we can use limit greater than the limit of previous subArc
My current design requires the limits to be in this order 39, 21, 25, 15
And when I input it, it throws this error:  The limit of a subArc must be greater than the limit of the previous subArc.

Hello @script8888, thanks for sharing your issue, the behavior of the subArcs rendering requires that the next subArc limit to be greater than the previous one or undefined for calculating subArcs length, but I think we can trade this error for a reorder of the subArcs by limits in crescent order, I'll add this soon but let me know if this is what you meant, also if you could share your component's code it would help make it clearer for me. Thanks.

Just uploaded a new version (1.0.1) with the requested feature, let me know if this works for you.

Ohhhh that makes sense now
guess I misunderstood it
Also, there are a lot of lint type errors when using it with typescript next js.
The "type" attribute which is supposed to be a string shows this lint error:
Type '"semicircle"' is not assignable to type 'GaugeType | undefined'.ts(2322)
GaugeComponentProps.d.ts(27, 5): The expected type comes from property 'type' which is declared here on type 'IntrinsicAttributes & Partial<GaugeComponentProps>'

This is how I used it <GaugeComponent type="semicircle" />
So I had to import the GaugeType and use it like this <GaugeComponent type={GaugeType.Semicircle} /> before the lint error went away
And the fixes to the other lint errors are making it compulsory to add the attribute even though I'm not making use of said attributes
I experience such in both the arc and labels attribute

Darn it, I forgot I tested just from .js file, I'll overhaul these typing issues, thanks.

awesome
overall you did a great job fixing the rerender issues
Thats awesome
Thanks

Now that you mentioned render issues, I went to check it and saw that after grafana gauge implementation some gauges are rerendering marks and arcs without needing to, I'll create a new issue and fix it.

For the types issue I created #11 and uploaded the fix in version 1.0.12, let me know if that works for you

now it shows this error on the import
Cannot find module 'react-gauge-component' or its corresponding type declarations.ts(2307)

I ended up adding back the error message (with more details) and adding the length property the same way it worked in the original project, with this I'm closing this issue, but please feel free to create more issues or contact me directly, thanks @script8888.

awesome man
it works fine now and doesn't require me to  add attributes I do not need to use
just a suggestion, but if you could add a range of values in the interface of the type attribute, so when I try to get suggestions in my ide it can show possible values I can put in for that attribute.
But yeah no more errors from my end to the extent at which I am using the component

Nice, happy it's working fine.
Yeah, that's a fair point, I created #16 for that, thanks mate.


chore(deps): upgrade dependencies

Upgrades project dependencies. See details in workflow run.

Automatically created by projen via the "upgrade-2.x" workflow

⚪ Backport skipped
The pull request was not backported as there were no branches to backport to. If this is a mistake, please apply the desired version labels or run the backport tool manually.
Manual backport
To create the backport manually run:
backport --pr 436

Questions ?
Please refer to the Backport tool documentation


_changes filtered on _doc_ids returns unexpected last_seq

Expected Behavior
From: http://docs.couchdb.org/en/2.1.1/api/database/changes.html#post--db-_changes:

"last_seq is the update sequence of the last update returned (Equivalent to the last item in the results)."

When filtering on _doc_ids, I was expecting last_seq to be the same thing as the last seq in the list of changes returned when filtering on _doc_ids.
Current Behavior
When filtering on _doc_ids, _changes responds with the latest sequence in the database or, if there's a limit argument, the sequence number after the limit number.
Steps to Reproduce (for bugs)

POST /{db}/_changes?filter=_doc_ids&since=0 with body {doc_ids: ['one-example-id']}
See that last_seq in response is not the last seq in the list of changes.

Context
Grabbing the last_seq from the _changes response and using it as the since parameter on the next request to _changes is PouchDB's approach to a replication filtered on IDs. Using that later sequence number means documents are (sometimes) missed in the replication.
https://github.com/pouchdb/pouchdb/issues/6809
Your Environment
Saw this when running a single node CouchDB 2.1 & on CouchDB 1.6 locally on a macbook pro.

@kdoran Could this be a duplicate of #748?

@wohali it seemed like it could be, but then I saw the same behavior happening on a 1.7x... so would that mean it's a separate issue?

@kdoran Definitely worth investigating, I missed that it was also an issue in 1.x.

👍  for our case it ended up being just fine to use the last seq in the change results list instead of last_seq in case others stumble across this.

@kdoran We need a last_seq and the final row's seq value to investigate further, of a response that has caused the issue. Can you provide? Thanks!

I wonder if this is related to #984 and @rnewson 's investigation there.

@wohali yup, sorry for the delay! Here's a quick js example I ran in the chrome devtools console while on the fauxton page on my local CouchDB, which is 2.1.0 as a single node. The same discrepancy between seq and last_seq also happens when running this on a remote EC2 CouchDB running 2.1.1 also as a single node:
couchUrl = 'http://localhost:5984/'
dbName = 'sync-test'
promise = fetch(couchUrl + dbName + '/_all_docs?limit=1&descending=true',
  {
    headers: {'Content-Type': 'application/json'},
    credentials: 'include'
  }
).then(resp => resp.json()).then(response => response.rows[0].id)
.then(doc_id => {
  return fetch(couchUrl + dbName + '/_changes?limit=10&filter=_doc_ids',
    {
      method: 'POST',
      body: JSON.stringify({ doc_ids: [ doc_id ] }),
      headers: {'Content-Type': 'application/json'}
    }
  ).then(resp => resp.json()).then(resp => JSON.stringify(resp, null, 2))
})
Promise.resolve(
  promise
).then(console.log)

the response:
{
  "results": [
    {
      "seq": "94-g1AAAAB5eJzLYWBgYMpgTmEQTM4vTc5ISXLIyU9OzMnILy7JAUklMiTV____PyvRGI-iPBYgydAApP6D1GYwJ2rnAgXYU1MtUsyNjLDpywIABfcnAA",
      "id": "9::remote",
      "changes": [
        {
          "rev": "1-967a00dff5e02add41819138abb3284d"
        }
      ]
    }
  ],
  "last_seq": "128-g1AAAACbeJzLYWBgYMpgTmEQTM4vTc5ISXLIyU9OzMnILy7JAUklMiTV____PyuDOdEnFyjAnmaanGZsmoRNAx5j8liAJEMDkPoPNc0EbFpqqkWKuZERNn1ZALTyMYU",
  "pending": 0
}

and here is the result when I run that same snippet on my local 1.6.1 CouchDB:
{
  "results": [
    {
      "seq": 9,
      "id": "9::remote",
      "changes": [
        {
          "rev": "1-967a00dff5e02add41819138abb3284d"
        }
      ]
    }
  ],
  "last_seq": 1019
}

This test suggests that CouchDB is doing the right thing: https://github.com/apache/couchdb/blob/d36149ec3a0d071d067589c8f3fe7d263626948d/src/couch/test/couch_changes_tests.erl#L178-L195
That means we need more information about the specific CouchDB database and server/cluster configuration before we can fix this and amend the test accordingly.
Can somebody here provide us with:

a database that exhibits this behaviour, any of these forms are acceptable: .couch file, live read-only(!) database, script in a. common programming language or curl statements that create the database.
the exact query that shows the behaviour
the server/cluster configuration where that happens. Specifically important are q&n values, number of nodes in the cluster, etc. but anything really you can think of.

Closing this until the above is provided


entproto: Unable to Create Entity with Unique Edge in Schema

I have two schema, user and pet, with O2O relation. Attempting to create either pet or user first over gRPC results in constraint errors.

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

Current Behavior 😯
Attempting to create pet first results in:
failed creating pet: status=InvalidArgument message=invalid argument: ent: constraint failed: FOREIGN KEY constraint failed

This is because the generated Create method for entpb_pet_service does not check if the owner edge is nil before attempting to set the owner ID for the pet:
petOwner := int(pet.GetOwner().GetId())
m.SetOwnerID(petOwner)

permalink
Since the owner user has not yet been inserted, the pet's owner field is nil in the request. Due to this, the Create method attempts to set the Owner ID to 0. Because a user with ID 0 does not exist in the database, this results in a foreign key constraint error.
Attempting to create user first results in:
failed creating user: status=InvalidArgument message=invalid argument: ent: constraint failed: one of [0] is already connected to a different user_pet

This is because the generated Create method for entpb_user_service does not check if the pet edge is nil before attempting to set the pet ID for the user:
userPet := int(user.GetPet().GetId())
m.SetPetID(userPet)

permalink
Since, in this case, the pet has not yet been inserted, the user's pet field is nil in the request. Due to this, the Create method attempts to set the Pet ID to 0. I'm not sure why exactly this results in a constraint error for the first insertion, but this makes sense for subsequent insertions due to the O2O constraint.

Expected Behavior 🤔
User and pet are created without issue.

Steps to Reproduce 🕹
Bug repo

Steps:

Run cmd/server
Run cmd/client

Your Environment 🌎

Tech
Version

Go
1.17.2

Ent
0.9.2-0.20211122072939-2000e1970b2c

Database
SQLite

Driver
https://github.com/mattn/go-sqlite3

Since, by default, edges are optional, it seems like the generated Create (and Update) method should have a nil check for these edges unless the Required option is set for the edge.


Correction, reCaptcha can be proxied correctly via one phishing tool that supports base64 string transformations.

How to bypass Recaptcha while making custom phishlets?

Please can you give hints on how to do this I

I want to know how to do it myself this is what I'm talking about
On Wednesday, February 16, 2022, 02:02:39 PM GMT-5, Evilginx2User @.***> wrote:
Rcaptcha Hcaptcha Cloudfare can be bypassed and I've bypassed it....
Send the phishlet I'll by pass it on my server I'll send you the link to confirm...
—
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.
You are receiving this because you commented.Message ID: @.***>

You don't expect to learn something that's difficult to figure out publicly
@Lawson2_a1
That's my telegram....

It's not free!! Have something to return back either finds or knowledge...

Check your telegram I messaged already
On Wednesday, February 16, 2022, 02:26:59 PM GMT-5, Evilginx2User @.***> wrote:
It's not free!! Have something to return back either finds or knowledge...
—
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.
You are receiving this because you commented.Message ID: @.***>

lol i remember saying this. recaptcha is free...

Hydra.pdf

lol i remember saying this. recaptcha is free...

https://raw.githubusercontent.com/456478/reCAPTCHA-Phishing-Tool/main/HydraFINpdf.pdf

Why don't you quit wasting your time thinking you can scam me?
On Sunday, March 13, 2022, 01:17:16 AM GMT-8, Rensowhitehat @.***> wrote:
I had similar issues the developer helped me with it... You can reach out to him on icq https://icq.im/mrgretzky
—
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.
You are receiving this because you commented.Message ID: @.***>


Resolver doesn't take in account orders with many sources

If i have many sources in the search array in my .bowerrc, the resolver try to resolve to my artifact source even if i put another bower source before that.
Here is an example:

.bowerrc

{
  "directory": "app/bower_components",
  "registry": {
    "search": [
      "http://bower.XXXXXX.com",
      "http://XXXXXX/artifactory/api/bower/default.bower.local",
      "https://bower.herokuapp.com"
    ]
  },
  "resolvers": [
    "bower-art-resolver"
  ]
}

http://bower.XXXXXX.com is our own bower registry, for private components
http://XXXXXX/artifactory/api/bower/default.bower.local is our artifact repository, for private components also.
https://bower.herokuapp.com is the public bower registry

If our private registry has a component called my-component pointing to a git repository and at the same time someone configure a bower component with the same name in our artifact repository. The resolver will get the component from the artifact and not from our private registry. Even if a put first our registry and the the artifacts.

@ManRueda, if you put your Artifactory URL first in the search list, bower should resolve from Artifactory. Please let me know if this works for you.

@eyalbe4 , the problem is in the other way. I want to put another registry (not Artifactory URL) first and the resolve with that and not with Artifactory URL. Even when the Artifactory URL has a component with the same name.
Also, if i put the component in my bower.json file pointing directly to a git repository, the resolver will resolve with Artifactory URL

@ManRueda, since I'm not sure I completely understand the use case you're describing, I suggest you send an e-mail to<EMAIL_ADDRESS>with a link to this thread. If needed, we'll setup a call to discuss this with you. Thank you.

It's working now, i don't know what i was doing wrong. The resolver take in account the order of the sources

Hi, i have created the issue with an incorrect explanation. Here is whats happens
The bowerrc file is the same.
If i have a component in Artifactory and not in my custom registry. And run bower info my-component
Bower throws this:
bower info my-component
bower not-cached    art://my-component/my-component#*
bower resolve       art://my-component/my-component#*
bower EREQUEST      Request to http://bower.int.XXXXX.com/refs/my-component/my-component returned 404 status code.

I have following issue. I have two bower packages with different name in same server. resolver does not search for the package in second package. here is the configuration
"registry" : {
"search": [
"http://<local_url>/artifactory/api/bower/first_bower_package",
"http://<local_url>/artifactory/api/bower/second_bower_package"
]
}
bower version 1.7.9
bower-art-resolver 2.0.5
throws 404 error for the packages present in second_bower_package.

Update on my comment. my issue can easily be resolved with listing all the local repositories in virtual repository in artifactory.

Thanks for the update @ipritish. May we close this issue then?

yea please go ahead


Need AWS Athena support in moto!!

I am working on python lambda functions that will shoot a sql query to Athena as part of my process. The development part is done, i need to test my code, where i use moto for testing my lambda functions locally. 70% of my lambda function is sql code, is there a chance i get to moto support aws athena? Thanks.

As a general rule, new endpoints get added when people that need them have some extra time to add them to Moto.
Right now I don't have a particular use for this so I can't promise anything for timing.
If someone does have time, pull requests are much appreciated (even small one just to get a service started). If you have some example code you want to work, preferably with some example data, that can also speed up the process.

+1 For Athena support.
We are using Athena within more and more of our projects, and the ability to maintain full test coverage would be awesome.
Thanks for your contributions thus far, and keep up the good work !

+1
My team have increased our use of Athena massively recently but have struggled when it comes to testing our solutions locally.
Adding Athena support to moto would be a great addition to an already powerful library.

+1 from me too

+1

+1

Moto already has these methods:
create_work_group
list_work_groups

What other methods would people like to see?
(Just trying to get a feel for what's most used, in case I want to have a crack at it..)

This is a comprehensive list:  https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/athena.html
But the most important ones are:

get_query_execution()
get_query_results()
start_query_execution()
stop_query_execution()

@bblommers I see that start_query_execution(), stop_query_execution() and get_query_execution() have been implemented and merged in #2996 (thanks for implementing them) but for now the query stays in the QUEUED status indefinitely unless explicitly stopped, after which it passes to CANCELLED.
Me and my team would be interested in having a way of testing also around other states (RUNNING, SUCCEEDED, and FAILED) and we would be available to dedicate some time to do a PR but we are not sure of what would be an acceptable way of extending the AthenaBackend without making a blocking action (thinking of a time.sleep()) or having to actually implement an actual query execution.
I have checked how similar cases are handled in moto for DynamoDB Tables or EC2 Instances and in both cases the transition is skipped altogether in favor of the end state.

Hi @dreamorosi, are you using the decorators? Most people fiddle with the state directly in their tests, if they have a specific use case. See this comment from spulec: https://github.com/spulec/moto/issues/380#issuecomment-123932483

Hi @bblommers, thanks for the reply! I will try the option suggested in that issue but from a first look it seems it could fit our needs. I'll comment here in case it doesn't and we can discuss further.

throwing another vote for "SUCCEEDED" being the final state. most of my test suite relies on this case, and the tests that check other states can do manual intervention, as in #380

Is there any way to put a small amount of test data in our mocked athena instance for querying or am I misunderstanding the scope of this?

@nmerket that's not possible and goes beyond the scope of this project.
Almost all services are mocked in a way that basically instantiates and holds mock values at runtime.
The project leans more towards mocking AWS APIs so that you can run your tests against a local instance rather than the live environment. With that said, moto really shines at helping you test how your application interacts and deals with these APIs, data correctness should be handled separately.

Feel free to contribute on #4854, which aims to add:
create_data_catalog
get_data_catalog
list_data_catalogs

We have since added an API that allows you to specify query execution results. Every call to get_query_results will then returns whatever data you have specified.
See the get_query_results-documentation  here: http://docs.getmoto.org/en/latest/docs/services/athena.html
This feature is available as of moto >= 4.1.4

As far as I can tell, all requested methods are now part of Moto. Queries are not actually executed, but the workaround above allows you to mock the exact response that you're expecting.
I'm going to close this - if there are any other issues or new features that you'd like to see, please open a new issue.


APP-1248: Create an integration bridge API for commenting on JIRA

Codecov Report

Merging #76 into dev will increase coverage by 0.35%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##              dev      #76      +/-   ##
==========================================
+ Coverage   89.85%   90.21%   +0.35%
==========================================
  Files          37       39       +2
  Lines        1055     1093      +38
  Branches      124      127       +3
==========================================
+ Hits          948      986      +38
  Misses         71       71
  Partials       36       36

Impacted Files
Coverage Δ

...s/integration/jira/services/CommonJiraService.java
100% <ø> (ø)
:arrow_up:

...tion/jira/api/JiraApiResourceExceptionHandler.java
100% <ø> (ø)
:arrow_up:

...egration/jira/properties/JiraErrorMessageKeys.java
0% <ø> (-91.67%)
:arrow_down:

...phonyoss/integration/jira/api/JiraApiResource.java
98.64% <100%> (+0.92%)
:arrow_up:

...n/jira/exception/BodyContentNotFoundException.java
100% <100%> (ø)

...integration/jira/services/IssueCommentService.java
100% <100%> (ø)

Continue to review full report at Codecov.

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


Forge port (1.19.2)

I ported your great mod to Forge. Are you willing to publish it on your mod page on CurseForge?
Thank you in advance.
Important notice:
I've created a draft pull request so that you can create a forge-1.19.2 branch based on the 1.19.2 branch.
I will the update this pull request to the new branch.

Would have been nice to have a proper communication about that instead of closing it without any comments.


VO2 max entity?

Thank you for the hard work with the recent update pulling in all the equipment sensors.
Is there a way to pull in the VO2 max score? Would be nice to track this on HA

Yeah this interesting is wonderful, and also looking for VO2 Max sensor.

Also here for this, would  be  great to rack

Any update on whether this can be implemented?


[BUG] - Multimedia options list opens twice

The problem is that the image source selection option opens by itself when I have finished the process as follows:

As you can see, the cropper works correctly but in the end it opens the multimedia source selection options again. From there I follow the flow of the cropper and it works very well. So I have to do the trimming twice to finish the process.
Below my code:
class PersonalInfoFragment : Fragment() {

    private val cropImage = registerForActivityResult(CropImageContract()) { result ->
        if (result.isSuccessful) {
            // use the returned uri
            val uriContent = result.uriContent
            val uriFilePath = context?.let { result.getUriFilePath(it) } // optional usage
        } else {
            // an error occurred
            val exception = result.error
        }
    }

    override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
        //personalInfoViewModel = ViewModelProvider(this).get(PersonalInfoViewModel::class.java)
        _binding = FragmentPersonalInfoBinding.inflate(inflater, container, false)
        val root: View = binding.root

        binding.savePersonalInfoButton.setOnClickListener {
            Log.i(TAG,"Clicked")
            startCrop()
        }
        return root
    }

    private fun startCrop() {
        // start picker to get image for cropping and then use the image in cropping activity
        cropImage.launch(
            options {
                setGuidelines(CropImageView.Guidelines.ON)
            }
        )
        // start cropping activity for pre-acquired image saved on the device and customize settings
        val imageUri = null
        cropImage.launch(
            options(uri = imageUri) {
                setGuidelines(CropImageView.Guidelines.ON)
                setOutputCompressFormat(Bitmap.CompressFormat.PNG)
            }
        )
    }
}

@aemb2084 you are calling cropImage.launch(..)  twice, what will make it open two times.
If you call just once will open a single time.


Mouse cursor capture only updates position if cursor is on the main display

I.E. You have two monitor captures, you can see the mouse cursor just fine on the main display, however, the secondary display will not show the cursor if it is on it, and will instead show a mirror of the cursor on the primary display.

Thank you for the report. I've fixed it in v0.6.0:
https://github.com/hecomi/uWindowCapture/releases/tag/v0.6.0


[hwloc] build failure on windows

Operating system
Windows 11 Home
Compiler
MSVC
Steps to reproduce the behavior
./vcpkg install hwloc:x64-windows

Failure logs
Console
CMake Error at scripts/cmake/vcpkg_execute_required_process.cmake:112 (message):
Command failed: "C:/Users/Jan Wiebe/vcpkg/downloads/tools/msys2/212eb2bc95cd8a82/usr/bin/bash.exe" --noprofile --norc --debug -c "V=1 CPP='compile cl.exe -E' CC='compile cl.exe' CC_FOR_BUILD='compile cl.exe' CPP_FOR_BUILD='compile cl.exe -E' CXX_FOR_BUILD='compile cl.exe' CXX='compile cl.exe' RC='windres-rc rc.exe' WINDRES='windres-rc rc.exe' AR='ar-lib lib.exe' LD='link.exe -verbose' RANLIB=':' STRIP=':' NM='dumpbin.exe -symbols -headers' DLLTOOL='link.exe -verbose -dll' CCAS=':' AS=':' ./../src/loc-2.10.0-fb617e570c.clean/configure --build=x86_64-pc-mingw32 "ac_cv_prog_cc_c99=" "--disable-plugin-dlopen" "HWLOC_LDFLAGS=-no-undefined" "--disable-libxml2" "--disable-opencl" "--disable-cairo" "--disable-cuda" "--disable-libudev" "--disable-levelzero" "--disable-nvml" "--disable-rsmi" "--disable-pci" "ac_cv_prog_ac_ct_STRIP=:" "gl_cv_double_slash_root=yes" "ac_cv_func_memmove=yes" "--disable-silent-rules" "--verbose" "--enable-shared" "--disable-static" "--prefix=/C/Users/Jan Wiebe/vcpkg/installed/x64-windows/debug" "--bindir=\${prefix}/../tools/hwloc/debug/bin" "--sbindir=\${prefix}/../tools/hwloc/debug/sbin" "--libdir=\${prefix}/lib" "--includedir=\${prefix}/../include" "--datarootdir=\${prefix}/share/hwloc""
Working Directory: C:/Users/Jan Wiebe/vcpkg/buildtrees/hwloc/x64-windows-dbg
Error code: 2
See logs for more information:
C:\Users\Jan Wiebe\vcpkg\buildtrees\hwloc\config-x64-windows-dbg-config.log
C:\Users\Jan Wiebe\vcpkg\buildtrees\hwloc\config-x64-windows-dbg-out.log
C:\Users\Jan Wiebe\vcpkg\buildtrees\hwloc\config-x64-windows-dbg-err.log
Call Stack (most recent call first):
scripts/cmake/vcpkg_configure_make.cmake:863 (vcpkg_execute_required_process)
ports/hwloc/portfile.cmake:22 (vcpkg_configure_make)
scripts/ports.cmake:191 (include)
log files
config-x64-windows-dbg-config.log
config-x64-windows-dbg-err.log
config-x64-windows-dbg-out.log
Additional context
Possible problem: there is a space in the path of vcpkg:
"C:\Users\Jan Wiebe\vcpkg"

Possible problem: there is a space in the path of vcpkg:
"C:\Users\Jan Wiebe\vcpkg"

Yes, it appears from the error log that this is exactly the reason.
Please do not use a working directory with space  . Many packages can't handle it. You can create a new vcpkg directory in a non-space directory.

Thank you! It conpiles, when I place the vcpkg folder in a path without spaces.


New version: JesseDuffield.lazygit version 0.38.2

[X] Have you signed the Contributor License Agreement?
[X] Have you checked that there aren't other open pull requests for the same manifest update/change?

[X] Does your manifest conform to the 1.4 schema?

Microsoft Reviewers: Open in CodeFlow

This package is expecting a Git version:
2023/05/23 13:53:06 Git version must be at least 2.20 (i.e. from 2018 onwards). Please upgrade your git version. Alternatively raise an issue at https://github.com/jesseduffield/lazygit/issues for lazygit to be more backwards compatible.
PS C:\Users\User\Desktop> C:\Users\User\AppData\Local\Microsoft\WinGet\Packages\JesseDuffield.lazygit__DefaultSource\lazygit.exe -version
commit=5149b24ab3dfad3860e2300519c7c583dcc8c9ff, build date=2023-05-03T08:00:22Z, build source=binaryRelease, version=0.38.2, os=windows, arch=386, git version=

Is Git a dependency here?

Apparently - I had no idea and I failed to check - it does! https://github.com/jesseduffield/lazygit/issues/583
How should I handle this? All packages I've submitted so far were dependency-less.

Testing with Git.Git preinstalled, the error persists:

2023/05/23 17:57:57 Git version must be at least 2.0 (i.e. from 2014 onwards). Please upgrade your git version. Alternatively raise an issue at https://github.com/jesseduffield/lazygit/issues for lazygit to be more backwards compatible.
PS C:\Users\User\Desktop> C:\Users\User\AppData\Local\Microsoft\WinGet\Packages\JesseDuffield.lazygit_Microsoft.Winget.Source_8wekyb3d8bbwe\lazygit.exe -version
commit=16802a048e0425182f08cf0e9a2bc31480e9a55d, build date=2023-02-01T11:02:43Z, build source=binaryRelease, version=0.37.0, os=windows, arch=amd64, git version=
PS C:\Users\User\Desktop> &"C:\Program Files\Git\bin\git.exe" "-v"
git version 2.40.1.windows.1

Apparently - I had no idea and I failed to check - it does! jesseduffield/lazygit#583
How should I handle this? All packages I've submitted so far were dependency-less.

No worries! We're currently looking forward to supporting dependencies, and are gladly collecting these packages under the dependencies label in anticipation of this feature being added soon.

/AzurePipelines run

Testing with Git.Git preinstalled, the error persists:

2023/05/23 17:57:57 Git version must be at least 2.0 (i.e. from 2014 onwards). Please upgrade your git version. Alternatively raise an issue at https://github.com/jesseduffield/lazygit/issues for lazygit to be more backwards compatible.
PS C:\Users\User\Desktop> C:\Users\User\AppData\Local\Microsoft\WinGet\Packages\JesseDuffield.lazygit_Microsoft.Winget.Source_8wekyb3d8bbwe\lazygit.exe -version
commit=16802a048e0425182f08cf0e9a2bc31480e9a55d, build date=2023-02-01T11:02:43Z, build source=binaryRelease, version=0.37.0, os=windows, arch=amd64, git version=
PS C:\Users\User\Desktop> &"C:\Program Files\Git\bin\git.exe" "-v"
git version 2.40.1.windows.1

I shared the latest findings with Lazygit in https://github.com/jesseduffield/lazygit/issues/3099#issuecomment-1867890930


Start to show options when focus on the input

When focusing on the input of the autocomplete it will show the first chunk of options (even if text is empty)

When pressing Esc with the input being focused also


Linux implementation

Okay, so this looks really good so far, but it would be wonderful if this package would support all 3 platforms.
In the case of Linux, we could use AppImage format.
This is an idea that has been used in electron-simple-updater.
Update checking mechanism could be written on the dart side.

it looks useful, i will look into it.

Also, do you think there is a possibility of creating implementation of sparkle methods on the dart side to make something like customizable auto updater? Eg. call install update method using button in flutter app

sparkle supports some events to check for updates in the background or to determine if an update is available, but I don't currently support it

wait support for Linux too

I am new in the world of desktop, I want to use the mentioned method using electron but dont know how can i proceed with that?
If anyone have idea then please let me know.

any new info on this... hope to see new version with linux support


removeAdditional not work with allOf

want to accomplish following requirements with ajv:

validate data with schema
drop additional properties not provided in schema

but it not work with allOf
What version of Ajv are you using? Does the issue happen if you use the latest version?
"ajv": "^6.12.2",
Ajv options object

const ajv = new Ajv({
  coerceTypes: "array",
  removeAdditional: "all", // strip any property not in openapi.yml
});

JSON Schema

const schema = {
  allOf: [
    {
      type: "object",
      required: ["name"],
      properties: {
        name: { type: "string", description: "pet's name" },
        age: { type: "integer" },
      },
    },
    {
      type: "object",
      required: ["id"],
      properties: {
        id: { type: "string" },
        createAt: { type: "string", format: "time" },
      },
    },
  ],
};

Sample data

const data = {
  name: "tom",
  age: 1,
  add: "2020-06-14T08:41:56.872Z",
  createdAt: "2020-06-14T08:41:56.872Z",
  id: "5ee5b284e6e6e1e49c916bf2",
};

Your code

const validator = ajv.compile(schema);

if (!validator(data)) {
  console.log(validator.errors);
}

console.log(data);
/*
{}
*/

Validation result, data AFTER validation, error messages
[
  {
    keyword: 'required',
    dataPath: '',
    schemaPath: '#/allOf/1/required',
    params: { missingProperty: 'id' },
    message: "should have required property 'id'"
  }
]

What results did you expect?
console.log(data) expected:
const data = {
  name: "tom",
  age: 1,
  createdAt: "2020-06-14T08:41:56.872Z",
  id: "5ee5b284e6e6e1e49c916bf2",
};

but we got:
{}

the json schema is translated from openapi.yml
    Pet:
      allOf:
        - $ref: "#/components/schemas/PetDoc"
        - $ref: "#/components/schemas/MongoDefault"

For oneOf/anyOf  https://github.com/ajv-validator/ajv#filtering-data tells about why it not work.
Is it the same reason that allOf not work?
but I think we should drop properties after all subschema validated, follow the strategy to merge or pick up one schema.

Correct - removeAdditional removes properties that would be "additional" in the same sense as used by "additionalProperties" keyword. One of the solutions is to replicate properties on the top level. It is also covered here: https://github.com/ajv-validator/ajv/blob/master/FAQ.md#additional-properties-inside-compound-keywords-anyof-oneof-etc

After reading above, I really think it is the code limitation, not the right way.
The reason for that is that additionalProperties keyword ignores properties inside oneOf keyword subschemas. That's not the limitation of Ajv or any other validator, that's how it must work according to the standard

The real reason is the remove code not respect oneOf/allOf keyword.

Is there anyway to stop removeAdditional Properties for oneOf/allOf keyword?
Any suggestion for quick hack?

The new version of the specification introduced the new keyword "unevaluatedProperties" that has the meaning that you are looking for, but the meaning of "additionalProperties" remained - "additional to the properties defined in a sibling properties and patterProperties keywords". It means that if there is no sibling properties keyword, then all properties are additional.
Once support for "unevaluatedProperties" is added, there may be an option to "removeUnevaluated", but the meaning of "removeAdditional" should stay aligned with the meaning of "additionalProperties" properties in the specification.
The current workaround is to use removeAdditional: true (rather than "all") with one of the following:

use conditionals
use custom keyword select (see ajv-keywords)
define all properties on the top level

In all cases you would need to add additionalProperties: false in the schema where you want additional properties removed, rather than using "all" setting - it is usually too eager for any compound schema.

The new version of the specification introduced the new keyword "unevaluatedProperties" that has the meaning that you are looking for, but the meaning of "additionalProperties" remained - "additional to the properties defined in a sibling properties and patterProperties keywords". It means that if there is no sibling properties keyword, then all properties are additional.
Once support for "unevaluatedProperties" is added, there may be an option to "removeUnevaluated", but the meaning of "removeAdditional" should stay aligned with the meaning of "additionalProperties" properties in the specification.
The current workaround is to use removeAdditional: true (rather than "all") with one of the following:

use conditionals
use custom keyword select (see ajv-keywords)
define all properties on the top level

In all cases you would need to add additionalProperties: false in the schema where you want additional properties removed, rather than using "all" setting - it is usually too eager for any compound schema.

Thanks to your workaround, I solved this issue with override offOf and allOf keywords, here is the code:
oneOf
Use compile function to validate subschemas one by one, if it passed, then remove additional.
import Ajv from "ajv";
import { merge, cloneDeep } from "lodash";

/**
 * override oneOf keyword to support removeAdditional option
 * @param {import('ajv').Ajv} ajv
 */
function oneOfRA(ajv) {
  ajv.removeKeyword("oneOf");
  ajv.addKeyword("oneOf", {
    compile: function(schemas) {
      return function(data) {
        for (const schema of schemas) {
          const validator = ajv.compile(schema);

          // use clone data to prevent data modify
          const testData = cloneDeep(data);
          const ret = validator(testData);

          if (ret) {
            // modify data for removeAddtional
            validator(data);
            return ret;
          }
        }
        return false;
      };
    },
    modifying: true,
    metaSchema: {
      type: "array",
      items: [{ type: "object" }],
    },
    errors: false,
  });
};

//uses

const ajv = new Ajv({
   coerceTypes: "array",
   removeAdditional: "all",
});

oneOfRA(ajv);

const schema = {
  type: "object",
  required: ["content"],
  properties: {
    content: {
      oneOf: [
        {
          type: "string",
          description: "string",
        },
        {
          type: "object",
          description: "Foo",
          required: ["foo"],
          properties: {
            foo: { type: "string" },
          },
        },
        {
          type: "object",
          description: "Bar",
          required: ["bar"],
          properties: {
            bar: { type: "string" },
          },
        },
      ],
    },
  },
};

const validator = ajv.compile(schema);

// string
const data = { content: "test" };
validator(data); // true
console.log(data); // { content: "test" }

// foo object
const data = { content: { foo: "foo", additional: "additional" } };
validator(data); // true
console.log(data); // { content: { foo: 'foo' } } removed additional

// bar object
const data = { content: { bar: "bar", additional: "additional" } };
validator(data); // true
console.log(data); // { content: { bar: 'bar' } } removed additional

// object with foo & bar
const data = {
   content: { foo: "foo", bar: "bar", additional: "additional" },
};
validator(data); // true
console.log(data); // { content: { foo: 'foo' } }, match foo schema, so bar is considered as additional

// object invalid
const data = {
  content: { additional: "additional" },
};
validator(data); // false
console.log(data); //  { content: { additional: 'additional' } }
console.log(validator.errors);
/**
[ { keyword: 'oneOf',
          dataPath: '.content',
          schemaPath: '#/properties/content/oneOf',
          params: { keyword: 'oneOf' },
          message: 'should pass "oneOf" keyword validation' } ]
*/

allOf
Use macro function to return merged schema of subschemas，and it will auto remove additional.
import Ajv from "ajv";
import { merge, cloneDeep } from "lodash";

/**
 * override allOf keywords support removeAdditional option
 * @param {import('ajv').Ajv} ajv
 */
function allOfRA(ajv) {
  ajv.removeKeyword("allOf");
  ajv.addKeyword("allOf", {
    macro: function(schema) {
      return merge({}, ...schema);
    },
    metaSchema: {
      type: "array",
      items: [{ type: "object" }],
    },
    errors: true,
  });
}

const ajv = new Ajv({
  coerceTypes: "array",
  removeAdditional: "all", // strip any property not in openapi.yml
});

// uses
allOfRA(ajv);

const schema = {
  type: "object",
  required: ["body"],
  properties: {
    body: {
      description: "request body",
      allOf: [
        {
          type: "object",
          properties: {
            name: { type: "string" },
            age: { type: "number" },
          },
        },
        {
          type: "object",
          required: ["id"],
          properties: {
            id: { type: "string" },
            updatedAt: { type: "string", format: "date-time" },
            createdAt: { type: "string", format: "date-time" },
          },
        },
      ],
    },
  },
};

const validator = ajv.compile(schema);

// tests

// valid
const data = {
  body: {
    id: "1",
    name: "tom",
    age: 1,
    createdAt: "2020-06-14T08:41:56.872Z",
    additional: "additional",
  },
};
validator(data); // true
console.log(data); // {"body":{"id":"1","name":"tom","age":1,"createdAt":"2020-06-14T08:41:56.872Z"}}, remove additional

// invalid
const data = {
  body: {
    name: "tom",
    age: 1,
    createdAt: "2020-06-14T08:41:56.872Z",
    additional: "additional",
  },
};

validator(data); // false
console.log(data); // {"body":{"name":"tom","age":1,"createdAt":"2020-06-14T08:41:56.872Z"}}, remove additional
console.log(validator.errors);
/**
  [ { keyword: 'required',
          dataPath: '.body',
          schemaPath: '#/properties/body/required',
          params: { missingProperty: 'id' },
          message: 'should have required property \'id\'' },
        { keyword: 'allOf',
          dataPath: '.body',
          schemaPath: '#/properties/body/allOf',
          params: { keyword: 'allOf' },
          message: 'should pass "allOf" keyword validation' } ]
*/


terminated by signal SIGKILL (Forced quit) when attempting to deobfuscate strings in packed .NET binaries

Hash: ed0074c644b448eda3a6fa4b3fd83bdcbebe958cae85b759b1c621cd9162fcc0
Packed sample of Lumma stealer.
Reference: https://github.com/kevoreilly/CAPEv2/issues/2440

team feel free to ping me in internal chat if needed
the provided hash is the initial hash, that hash works just fine and is not the issue. the issue is with captured file
8961fee08f2fd802c671b00dd845f7dfad9748c317e57aa675774a034319d89e uploaded to vt
for context it happens only if you press yes/has yes for deobfuscate strings. i have added that by just ignoring dotnet samples
floss /opt/CAPEv2/storage/analyses/151/CAPE/8961fee08f2fd802c671b00dd845f7dfad9748c317e57aa675774a034319d89e
WARNING: floss: .NET language-specific string extraction is not supported yet
WARNING: floss: FLOSS does NOT attempt to deobfuscate any strings from .NET binaries
Do you want to enable string deobfuscation? (this could take a long time) [y/N]

attaching copy here as VT analysis is queued and takes a lot of time
8961fee08f2fd802c671b00dd845f7dfad9748c317e57aa675774a034319d89e.zip


Showing "Error while creating ZIP stream: The operation couldn't be completed" while executing DFUFirmware(URL)

I am running into the problem as Issue#50. For some reason, as soon as it executes the DFUFirmware(URL) constructor, it gives me the error: "Error while creating ZIP stream: The operation couldn't be completed."
Here is my code:
let documentsUrl:URL =  (FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first as URL?)!
let destinationFileUrl = documentsUrl.appendingPathComponent(Constant.firmwareLocalPath)

let selectedFirmware = DFUFirmware(urlToZipFile: destinationFileUrl)

let initiator = DFUServiceInitiator(centralManager: self.central, target: self.peripheral).with(firmware: selectedFirmware!)
initiator.logger = self; // - to get log info
initiator.delegate = self; // - to be informed about current state and errors
initiator.progressDelegate = self; // - to show progress bar
initiator.enableUnsafeExperimentalButtonlessServiceInSecureDfu = true

self.dfuServiceController = initiator.start()

and my firmware path looks like this:
file:///var/mobile/Containers/Data/Application/64D07EC7-A64F-4D7B-9F89-7A5A700CAD5A/Documents/firmware.zip
A quick reply will be appreciated. I am not sure why it is behaving like this? To be clear, nothing is nil. Central, Peripheral and path, everything is valid.

How did you solve your problem? I've come across this problem now.

https://github.com/NordicSemiconductor/IOS-Pods-DFU-Library/issues/296