feat(warehouse): artifact discovery and manual Freight creation

TL;DR
This pull request addresses the majority of the backend part of #761, by reflecting the last 20 discovered artifacts for each subscription of a Warehouse in its Status, allowing the UI to present the user with options to pick from to "mix-and-match" their selection of artifacts to create Freight for.
Combined with these changes, a "manual" and "automatic" Freight creation mode has been introduced to the Warehouse, in addition to changes to the reconciliation model, and further optimizations to the logic that gathers information about upstream artifacts.
API changes
.status.discoveredArtifacts
For each subscription of a Warehouse, Kargo will discover the 20 latest artifacts based on the selection strategy and reflect them in .status.discoveredArtifacts field of the object. The UI can use this information to provide the user with the option to "mix and match" artifacts for which to create Freight.
An example:
discoveredArtifacts:
  charts:
    - repoURL: oci://ghcr.io/akuity/kargo-charts/kargo
      versions:
        - 0.6.0
        - 0.6.0-rc.2
        - 0.6.0-rc.1
        # ...omitted for brevity
  git:
    - repoURL: https://github.com/akuity/kargo.git
      commits:
        - author: Remington Breeze<EMAIL_ADDRESS>          branch: main
          createdAt: "2024-05-15T18:58:00Z"
          id: c5c74d42069b41461763bc3c21de02b579ada1dc
          subject: 'fix(ui): Promotion confirmation message overflowed freight box (#2015)'
        - author: Remington Breeze<EMAIL_ADDRESS>          branch: main
          createdAt: "2024-05-15T18:55:00Z"
          id: f65a27fcb5bc48861d10768313bb5e4201a8cb86
          subject: 'feat(ui): Ability to abort verification from UI (#2013)'
        # ...omitted for brevity
  images:
    - repoURL: ghcr.io/akuity/kargo
      references:
        - digest: sha256:eae672841a1756683a967b7c25eab31d694ac66ecd09b35191664ec166530f1a
          tag: v0.6.0
        - digest: sha256:79103eb0596ac4c6e12f2eedd8e9066d8557ff86ba58b9a4037d5bdbd74c1ac0
          tag: v0.6.0-rc.2
        - digest: sha256:0ee72b9e8955a7bf4f4b78667ebe9612983e3d0d184eab14f75b1b87c3de31d9
          tag: v0.6.0-rc.1
        # ...omitted for brevity

Note: Not all fields for images and commits are shown above, as the availability of data (e.g. a Git tag, or the creation timestamp of a container image) depends on the chosen selection strategy. Please refer to the in-code changes for further details on all fields.
.spec.freightCreationPolicy
This newly introduced field configures if Freight is automatically created for newly discovered artifacts. It can be set to Automatic (the default) to discover artifacts and automatically create Freight for the latest discovered version(s), or to Manual to discover artifacts without creating Freight.
Behavioral changes

Warehouse reconciler will first discover the latest artifacts for each subscription, and then (optionally) automatically create Freight for it.
The discovery of Git artifacts required having access to tree or repository history in many cases. Because of this, and to continue to keep things performant, the cloning process has changed from using a "shallow clone" (--depth=1) to the newer "partial clone" (--filter) option. To read more about this, please refer to this excellent article.
Git metadata of tags and commits is now gathered using git for-each-ref and git log with specifically designed custom formatters. Instead of performing FS-heavy git checkout, etc. operations.
Instead of looking at the diff for all commits between the current Freight and HEAD to determine if it contains changes to included and/or excluded paths. Every individual commit is inspected until 20 matching commits are found (or no commits remain).

Other notable changes

For commits, we do now take note of the author and committer.

Potential follow-ups

Allow the configuration of the requeue interval, e.g. by adding something like:
spec:
  discovery:
    interval: 10m0s

The reason for putting this in a nested struct, is because this would potentially also allow a configurable limit (i.e. .discovery.limit: 50.

Figure out how to do "on-demand deepening". For example, to allow the user to request metadata about an image outside the subscription's selector. This is a challenging task, as the observed artifacts are continuously overwritten and we would likely need to keep state about a previous request(s) (or requests from two different users).

I notice the ! in the PR title, but I cannot spot what this breaks. I'm missing something.

I notice the ! in the PR title, but I cannot spot what this breaks. I'm missing something.

I had to think again about why I thought this was breaking, and initially thought it wasn't, but then recalled the tiny difference.
At present, include and exclude paths for Git subscriptions look at the full diff between $previousCommit and HEAD. If this contains changes to included paths, the current HEAD is greenlighted to create Freight of.
With this pull request, this behavior changes, as we look at every individual commit to see if it contains changes that make it eligible to be used as an artifact for Freight. As the current HEAD may not contain an included path, this means that the newest discovered artifact can change compared to the latest Freight we created (before upgrading), causing the Warehouse to create new Freight with the exact commit that contained these changes (instead of HEAD).

causing the Warehouse to create new Freight with the exact commit that contained these changes

Ah. That makes sense. I doubt many people will notice this very slight behavior change and if anyone does, I think they're likely to find the new behavior make more intuitive sense.
Fine with me if you want to put the ! back in the title so we don't forget about this when reviewing commits to produce v0.7.0 release notes. It may prove to not be worth calling attention to, but at least we won't forget about it.


[cast-optimizer] Bail out on a conditional downcast to a subclass of a bridged ObjC class

This is very conservative fix for rdar://problem/32316838.

Explanation: The compiler should not turn conditional casts into non-conditional casts if a cast can fail.
Scope: Without this fix, the programs may crash at runtime of they e.g. use a downcast of  swift type to a subclass of their bridged ObjC class
Issue: rdar://problem/32316838
Risk: Low, because it disables the optimization in certain cases.
Testing: Swift CI

@swift-ci please test

@jckarter Do you mind reviewing it for swift-4.0-branch?
There is also #9822, but it is more aggressive and tries to actually create a conditional cast if required.  But the current PR is probably a safer bet for the swift-4.0-branch. WDYT?


Fix #3497. Make internalsdkutils trim compatible

Description

Since the ApplyValues method accepts a generic object, we cannot use the DynamicallyAccessedMembersAttributes on the target parameter. This is because the attribute can only be used on method return values or method parameters whose type is Type or String.
We could refactor this method to accept a Type, and then instead of calling target.GetType we would just use target... but that would mean we would have to change the calling code everywhere and that isn't possible since this is a public method that customers can call (breaking change).The only viable solution is to add the attribute to the class.
Motivation and Context

Fixes #3497
Testing

Created a console app and set <PublishTrimmed>true</PublishTrimmed> to true. I was able to reproduce the warning with the following code
Car myCar = new Car()
{
    Make = "Toyota",
    Model = "Corolla",
    Year = 1999
};
var propertyValues = new Dictionary<string, object>
{
    {"RandomClass", new RandomClass(){RandomProperty = "Random" } }
};
InternalSDKUtils.ApplyValues(myCar,propertyValues);
Console.ReadLine();

After running dotnet publish --sc -f net8.0 with the fix, the warning went away.
Full dry run passes
Screenshots (if appropriate)
Types of changes

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist

[ ] My code follows the code style of this project
[ ] My change requires a change to the documentation
[ ] I have updated the documentation accordingly
[ ] I have read the README document
[ ] I have added tests to cover my changes
[x] All new and existing tests passed

License

[x] I confirm that this pull request can be released under the Apache 2 license

I don't really understand. Why does this attribute helps with the trimming? Per my understanding, this attribute instructs the compiler not to trim members of InternalSDKUtils. Why does it help to preserve ApplyValues argument members?...

I suggest to make this method generic instead. It allows to add DynamicallyAccessedMembers, and there it is invoked in the same way as previous non-generic one.
public static void ApplyValues
    <[DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicProperties)] T>
    (T target, IDictionary<string, object> propertyValues)

I suggest to make this method generic instead. It allows to add DynamicallyAccessedMembers, and there it is invoked in the same way as previous non-generic one.
public static void ApplyValues
    <[DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicProperties)] T>
    (T target, IDictionary<string, object> propertyValues)

I don't really understand. Why does this attribute helps with the trimming? Per my understanding, this attribute instructs the compiler not to trim members of InternalSDKUtils. Why does it help to preserve ApplyValues argument members?...

Thanks for taking a look. That understanding is correct, I must've been looking at a subsequent build that had no warnings because upon recompilation the warning pops up again.. I did try your suggestion though and I get the same warning. I tried a lot of different things as well, but the warning is persistent. Given that this is a static class and the parameter is not a member of the class i don't think there's a way to guarantee that the object passed into the method will have its public properties un-trimmed. I'm starting to wonder if we should just annotate this method with RequiresUnreferencedCode.

closing for now to reinvestigate

That's strange, adding an attribute to a type parameter solved the issue for me.
What runtime version do you use? dotnet 8/9?
Adding RequiresUnreferencedCode will make S3 client non-AOT compatible, not great.

@Dreamescaper I'm using dotnet 8. do you mind pasting your csproj here? maybe we have different settings. And do you mind pasting the output from your terminal as well?

Here's my project zip:
ConsoleApp1.zip
dotnet publish

Restore complete (1,4s)
You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy
  ConsoleApp1 succeeded (18,0s) → bin\Release\net8.0\win-x64\publish\

Build succeeded in 19,9s

For comparision - here's same when non-generic version is used:
dotnet publish

Restore complete (0,6s)
You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy
  ConsoleApp1 succeeded with 1 warning(s) (8,6s) → bin\Release\net8.0\win-x64\publish\
    C:\Users\liakh\source\repos\aws-sdk-net\sdk\src\ConsoleApp1\InternalSDKUtils.cs(39): Trim analysis warning IL2075: Amazon.Util.Internal.InternalSDKUtils.ApplyValues(Object,IDictionary`2<String,Object>): 'this' argument does not satisfy 'DynamicallyAccessedMemberTypes.PublicProperties' in call to 'System.Type.GetProperty(String)'. The return value of method 'System.Object.GetType()' does not have matching annotations. The source value must declare at least the same requirements as those declared on the target location it is assigned to.

Build succeeded with 1 warning(s) in 9,7s

Oh, I probably know. In addition to using generic version, I've replaced target.GetType() with typeof(T). That's probably why the warning went away.

Oh, I probably know. In addition to using generic version, I've replaced target.GetType() with typeof(T). That's probably why the warning went away.

Ah that was the difference, and the warning went away. Thank you for the suggestion and for catching that the warning was still there! I must've looked at the second cached build which didn't output warnings.  Going to run this through our system to make sure the change is safe.


Adoption

Read: https://k1ss.org/style
Read: https://k1ss.org/guidestones

Existing package

[x] I am the maintainer of this package.

You also need extra-cmake-modules.


Is Superset have any limitation on total roles, total users and total databases

Hi All
I am working on superset as our visualization tool, we are keeping dashboards category and product wise, we have a more than a 500 categories and 5 products and data will be in duckdb as a separate file for each category and product combination,
So database connection will be more than a 2000
Dashboard will be more than 2000
charts will be more than 2000 to 4000
user will have a roles based access, for each category and a product, so roles will be more than a 2000
these number are rough estimate, these can increase over a period.
My question:
Is, superset have any restriction on a database numbers?
Is, superset have any restriction on a dashboard numbers?
Is, superset have any restriction on a dataset numbers?
Is, superset have any restriction on a user numbers?
Is, superset have any restriction on a role numbers?
If any limits are exist, please let us know
we are using superset 2.1.0
Thanks
Nagaraj M M

No, I don't think Superset has any limits like this.  It's used heavily at large companies like AirBNB which I believe have many more dashboards and charts than this.
That said, if you do run into issues with performance, please do report them back to the project and this issue.  I'm not sure how common it is to have 2000+ database connections...

Hi Sfirke
Thanks for the confirmation.
As I said, our data is separated by Category and Product, so each Category and Product combination data will be in each duckdb file,
As you know, need to create one database connection for one duckdb file, so as much as duckdb file we have, that much database connection we need to access data in superset.
Thanks
Nagaraj M M


designing of frontend  landing page

i would like to create a landing page which will be used to display the given features

Yes, you can do that.
On Fri, 4 Oct, 2024, 9:21 pm Debasmita Sarkar, @.***>
wrote:

i would like to create a landing page which will be used to display the
given features
—
Reply to this email directly, view it on GitHub
https://github.com/suryanshsk/Python-Voice-Assistant-Suryanshsk/issues/18,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AVBBZFO7VSYI5FLFSLHLDLLZZ22OPAVCNFSM6AAAAABPMEYRAWVHI2DSMVQWIX3LMV43ASLTON2WKOZSGU3DMNRYGE4DOMI
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

assign this task to me @suryanshsk


Statically link legacy provider to evp_extra_test [master]

Like in #17345, evp_extra_test links libcrypto statically, but also has a dynamic/shared load via the legacy provider, which leads to ambiguous behavior in evp_extra_test on some platforms, usually a crash (SIGSEGV) on exit via the atexit handlers.  Statically link the legacy provider to avoid this.
Fixes #22819
Helped-by: Neil Horman<EMAIL_ADDRESS>Helped-by: Tomas Mraz<EMAIL_ADDRESS>

This is related to PR #22904 but applies to master.

This pull request is ready to merge

This actually needs another approval as @nhorman is the original author of the commit.

As this was already approved and waiting for long time I am going to assume there is no need to redo the 24h wait again.

@tom-cosgrove-arm could you please look also at the backport of this for older branches in #22904?

Merged to the master and 3.2 branches. Thank you.


Export context consumer/provider pair to enable unit testing

Is there any reason this change wasn't adopted before the migration to v1.0.0?
https://github.com/optimizely/fullstack-labs/pull/42/files
We are pretty much blocked on unit testing any component that contains a render component from the Optimizely React SDK. It would also be really helpful if there was some brief documentation on how to integrate unit testing with the React SDK.

cc: @jamesopti

@colinhemphill - Thanks for pinging me on this!
The reason pull #42 (in the labs repo) wasn't merged was because I couldn't get the context approach working correctly. I believe that the context option in Enzyme is meant to support the legacy context api.
In our own FE codebase, we ended up going with the wrappingComponent approach, where getClientInstance() is an instantiated instance of the SDK (using a mock datafile).
import { OptimizelyProvider } from '@optimizely/react-sdk';
...
mount(<MyComponent />, {
  wrappingComponent: OptimizelyProvider,
  wrappingComponentProps: {
    optimizely: mockOptimizelyInstance,
  },
})

I threw up a branch where this is running & passing: https://github.com/optimizely/react-sdk/blob/james/mock_context_provider_example/src/Feature.spec.tsx#L95-L123
Let me know if this works for you!


Could not build sqlite3, undefined symbol: utimes

Reproduce steps:

wget https://www.sqlite.org/2023/sqlite-amalgamation-3420000.zip
unzip sqlite-amalgamation-3420000.zip
cd sqlite-amalgamation-3420000
wasicc shell.c sqlite3.c -lpthread -ldl -lm -o sqlite3

[root@localhost sqlite-amalgamation-3420000]# gcc shell.c sqlite3.c -lpthread -ldl -lm -o sqlite3
[root@localhost sqlite-amalgamation-3420000]# ll
total 11464
drwxrwxr-x 2 root root      90 Jun  2 12:30 .
drwxr-xr-x 4 root root     148 Jun  2 12:28 ..
-rw-rw-r-- 1 root root  867373 May 16 21:45 shell.c
-rwxr-xr-x 1 root root 1450288 Jun  2 12:30 sqlite3
-rw-rw-r-- 1 root root 8745220 May 16 21:45 sqlite3.c
-rw-rw-r-- 1 root root   37660 May 16 21:45 sqlite3ext.h
-rw-rw-r-- 1 root root  625519 May 16 21:45 sqlite3.h
[root@localhost sqlite-amalgamation-3420000]# ./sqlite3
SQLite version 3.42.0 2023-05-16 12:36:15
Enter ".help" for usage hints.
Connected to a transient in-memory database.
Use ".open FILENAME" to reopen on a persistent database.
sqlite> .exit
[root@localhost sqlite-amalgamation-3420000]#
[root@localhost sqlite-amalgamation-3420000]# wasicc shell.c sqlite3.c -lpthread -ldl -lm -o sqlite3
In file included from <built-in>:1:
/root/.local/lib/python3.11/site-packages/wasienv/stubs/preamble.h:30:9: warning: 'ESHUTDOWN' macro redefined [-Wmacro-redefined]
#define ESHUTDOWN 0
        ^
/root/.local/lib/python3.11/site-packages/wasienv/stubs/preamble.h:28:9: note: previous definition is here
#define ESHUTDOWN 1
        ^
/root/.local/lib/python3.11/site-packages/wasienv/stubs/preamble.h:116:62: warning: declaration of 'struct sigaction' will not be visible outside of this function [-Wvisibility]
__attribute__((weak)) int sigaction(int signum, const struct sigaction *act,
                                                             ^
/root/.local/lib/python3.11/site-packages/wasienv/stubs/preamble.h:125:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
/root/.local/lib/python3.11/site-packages/wasienv/stubs/preamble.h:134:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
/root/.local/lib/python3.11/site-packages/wasienv/stubs/preamble.h:138:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
shell.c:6246:9: warning: implicit declaration of function 'utimes' is invalid in C99 [-Wimplicit-function-declaration]
    if( utimes(zFile, times) ){
        ^
shell.c:27340:18: warning: incompatible pointer to integer conversion passing 'void (int)' to parameter of type 'int' [-Wint-conversion]
  signal(SIGINT, interrupt_handler);
                 ^~~~~~~~~~~~~~~~~
/root/.local/lib/python3.11/site-packages/wasienv/stubs/preamble.h:114:50: note: passing argument to parameter 'handler' here
__attribute__((weak)) int signal(int signum, int handler) { return 0; }
                                                 ^
7 warnings generated.
In file included from <built-in>:1:
/root/.local/lib/python3.11/site-packages/wasienv/stubs/preamble.h:30:9: warning: 'ESHUTDOWN' macro redefined [-Wmacro-redefined]
#define ESHUTDOWN 0
        ^
/root/.local/lib/python3.11/site-packages/wasienv/stubs/preamble.h:28:9: note: previous definition is here
#define ESHUTDOWN 1
        ^
/root/.local/lib/python3.11/site-packages/wasienv/stubs/preamble.h:116:62: warning: declaration of 'struct sigaction' will not be visible outside of this function [-Wvisibility]
__attribute__((weak)) int sigaction(int signum, const struct sigaction *act,
                                                             ^
/root/.local/lib/python3.11/site-packages/wasienv/stubs/preamble.h:125:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
/root/.local/lib/python3.11/site-packages/wasienv/stubs/preamble.h:134:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
/root/.local/lib/python3.11/site-packages/wasienv/stubs/preamble.h:138:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
sqlite3.c:39512:5: warning: implicit declaration of function 'utimes' is invalid in C99 [-Wimplicit-function-declaration]
    utimes(zLockFile, NULL);
    ^
6 warnings generated.
wasm-ld: error: /tmp/shell-7a1ba9.o: undefined symbol: utimes
wasm-ld: error: /tmp/shell-7a1ba9.o: undefined symbol: system
wasm-ld: error: /tmp/shell-7a1ba9.o: undefined symbol: system
wasm-ld: error: /tmp/shell-7a1ba9.o: undefined symbol: system
wasm-ld: error: /tmp/shell-7a1ba9.o: undefined symbol: utimes
clang-9: error: linker command failed with exit code 1 (use -v to see invocation)
[root@localhost sqlite-amalgamation-3420000]#

The error seems like the wasi runtime does not have utimes, system symbol. So, I added an empty implementation of the two functions and it worked.
[root@localhost sqlite-amalgamation-3420000]# cat > sqlite3_wasi_patch.c
#include <sys/time.h>
#include <stdlib.h>
int utimes(const char *filename, const struct timeval times[2]) { return 0; }
int system(const char *command) { return 0; }

[root@localhost sqlite-amalgamation-3420000]# gcc shell.c sqlite3.c sqlite3_wasi_patch.c -lpthread -ldl -lm -o sqlite3
[root@localhost sqlite-amalgamation-3420000]# gcc shell.c sqlite3.c sqlite3_wasi_patch.c -lpthread -ldl -lm -o sqlite3
[root@localhost sqlite-amalgamation-3420000]# wasicc shell.c sqlite3.c sqlite3_wasi_patch.c -lpthread -ldl -lm -o sqlite3
In file included from <built-in>:1:
/root/.local/lib/python3.11/site-packages/wasienv/stubs/preamble.h:30:9: warning: 'ESHUTDOWN' macro redefined [-Wmacro-redefined]
#define ESHUTDOWN 0
        ^
/root/.local/lib/python3.11/site-packages/wasienv/stubs/preamble.h:28:9: note: previous definition is here
#define ESHUTDOWN 1
        ^
/root/.local/lib/python3.11/site-packages/wasienv/stubs/preamble.h:116:62: warning: declaration of 'struct sigaction' will not be visible outside of this function [-Wvisibility]
__attribute__((weak)) int sigaction(int signum, const struct sigaction *act,
                                                             ^
/root/.local/lib/python3.11/site-packages/wasienv/stubs/preamble.h:125:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
/root/.local/lib/python3.11/site-packages/wasienv/stubs/preamble.h:134:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
/root/.local/lib/python3.11/site-packages/wasienv/stubs/preamble.h:138:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
shell.c:6246:9: warning: implicit declaration of function 'utimes' is invalid in C99 [-Wimplicit-function-declaration]
    if( utimes(zFile, times) ){
        ^
shell.c:27340:18: warning: incompatible pointer to integer conversion passing 'void (int)' to parameter of type 'int' [-Wint-conversion]
  signal(SIGINT, interrupt_handler);
                 ^~~~~~~~~~~~~~~~~
/root/.local/lib/python3.11/site-packages/wasienv/stubs/preamble.h:114:50: note: passing argument to parameter 'handler' here
__attribute__((weak)) int signal(int signum, int handler) { return 0; }
                                                 ^
7 warnings generated.
In file included from <built-in>:1:
/root/.local/lib/python3.11/site-packages/wasienv/stubs/preamble.h:30:9: warning: 'ESHUTDOWN' macro redefined [-Wmacro-redefined]
#define ESHUTDOWN 0
        ^
/root/.local/lib/python3.11/site-packages/wasienv/stubs/preamble.h:28:9: note: previous definition is here
#define ESHUTDOWN 1
        ^
/root/.local/lib/python3.11/site-packages/wasienv/stubs/preamble.h:116:62: warning: declaration of 'struct sigaction' will not be visible outside of this function [-Wvisibility]
__attribute__((weak)) int sigaction(int signum, const struct sigaction *act,
                                                             ^
/root/.local/lib/python3.11/site-packages/wasienv/stubs/preamble.h:125:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
/root/.local/lib/python3.11/site-packages/wasienv/stubs/preamble.h:134:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
/root/.local/lib/python3.11/site-packages/wasienv/stubs/preamble.h:138:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
sqlite3.c:39512:5: warning: implicit declaration of function 'utimes' is invalid in C99 [-Wimplicit-function-declaration]
    utimes(zLockFile, NULL);
    ^
6 warnings generated.
In file included from <built-in>:1:
/root/.local/lib/python3.11/site-packages/wasienv/stubs/preamble.h:30:9: warning: 'ESHUTDOWN' macro redefined [-Wmacro-redefined]
#define ESHUTDOWN 0
        ^
/root/.local/lib/python3.11/site-packages/wasienv/stubs/preamble.h:28:9: note: previous definition is here
#define ESHUTDOWN 1
        ^
/root/.local/lib/python3.11/site-packages/wasienv/stubs/preamble.h:116:62: warning: declaration of 'struct sigaction' will not be visible outside of this function [-Wvisibility]
__attribute__((weak)) int sigaction(int signum, const struct sigaction *act,
                                                             ^
/root/.local/lib/python3.11/site-packages/wasienv/stubs/preamble.h:125:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
/root/.local/lib/python3.11/site-packages/wasienv/stubs/preamble.h:134:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
/root/.local/lib/python3.11/site-packages/wasienv/stubs/preamble.h:138:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
5 warnings generated.
[root@localhost sqlite-amalgamation-3420000]# ll
total 12720
drwxrwxr-x 2 root root     138 Jun  2 14:11 .
drwxr-xr-x 4 root root     148 Jun  2 12:28 ..
-rw-rw-r-- 1 root root  867373 May 16 21:45 shell.c
-rwxr-xr-x 1 root root      85 Jun  2 14:11 sqlite3
-rw-rw-r-- 1 root root 8745220 May 16 21:45 sqlite3.c
-rw-rw-r-- 1 root root   37660 May 16 21:45 sqlite3ext.h
-rw-rw-r-- 1 root root  625519 May 16 21:45 sqlite3.h
-rw-r--r-- 1 root root     167 Jun  2 14:11 sqlite3_wasi_patch.c
-rwxr-xr-x 1 root root 2728419 Jun  2 14:11 sqlite3.wasm
[root@localhost sqlite-amalgamation-3420000]# wasmer sqlite3.wasm
-- warning: cannot find home directory; cannot read ~/.sqliterc
SQLite version 3.42.0 2023-05-16 12:36:15
Enter ".help" for usage hints.
Connected to a transient in-memory database.
Use ".open FILENAME" to reopen on a persistent database.
sqlite> .exit
[root@localhost sqlite-amalgamation-3420000]# ./sqlite3
-- warning: cannot find home directory; cannot read ~/.sqliterc
SQLite version 3.42.0 2023-05-16 12:36:15
Enter ".help" for usage hints.
Connected to a transient in-memory database.
Use ".open FILENAME" to reopen on a persistent database.
sqlite> .exit
[root@localhost sqlite-amalgamation-3420000]#


Incorrect handling of optional fields may cause rejection of valid reports

Similar to [Valid reports with status OK will always be rejected](https://www.notion.so/Valid-reports-with-status-OK-will-always-be-rejected-443a5219898a414984e02fdb6ae9478a?pvs=21), the buildJSON() function does not correctly handle optional fields that may or may not be present under certain conditions. This may cause valid reports to be rejected. Below are a few examples according to the [Intel Attestation Service API Documentation](https://api.trustedservices.intel.com/documents/sgx-attestation-api-spec.pdf). Note that _verifyReportContents() only allows reports with status OK or SW_HARDENING_NEEDED, so we only discuss the examples with relation to those two statuses.

epidPseudonym is always present in the reconstructed JSON, but it is only present in the actual JSON if the isvEnclaveQuoteBody has the SIGNATURE_TYPE bit set to 1 (linkable EPID signature).

Lines in buildJSON() where epidPseudonym is unconditionally included
function buildJSON(Values memory values) public pure returns (string memory json) {
    json = string(
        abi.encodePacked(
            '{"id":"',
            values.id,
            '","timestamp":"',
            values.timestamp,
            '","version":',
            values.version,
            ',"epidPseudonym":"',
            values.epidPseudonym
        )
    );

pseManifestStatus and pseManifestHash are optional fields that will be present in the actual report if the original attestation evidence payload has a pseManifest field. In particular, pseManifestStatus will only be included if isvEnclaveQuoteStatus is also set to OK or SW_HARDENING_NEEDED. However, buildJSON() does not include these fields if they exist.

platformInfoBlob is an optional field that may be included if pseManifestStatus is set to OUT_OF_DATE, REVOKED, or RL_VERSION_MISMATCH.

nonce is an optional field that will be present in the actual report if and only if the original attestation evidence payload also provides a nonce.

Impact
The reconstructed report will be different from the actual report due to the extra optional fields. Thus, the signature verification will almost certainly fail as the SHA-256 digest of the reconstructed report will be different from that of the actual report.
Recommendation
The developers should extend buildJSON() to handle the above cases, and they should carefully read the Intel Attestation Service API documentation to ensure that all fields that may be present in a report whose status is accepted by RAVe (OK and SW_HARDENING_NEEDED) are correctly handled.

Added an if statement to check for this. JSON schema also validates this now.


bug: files in bin/ are filtered out of @-mention in chat

Version
main 2a00da01
Describe the bug
When I typed @, my open file bin\\main.dart was already in the results, but as I started typing bin it vanished.
https://github.com/sourcegraph/cody/assets/1078012/9a997f6e-42d3-4904-b564-8b05f35e2fb3
Expected behavior
Files that exist and match my query should not be filtered out.
Additional context
No response

This turned out to be very specific... The default exclude list includes bin/:
https://github.com/sourcegraph/cody/blob/9d48eeb94c3674807c4815151510181943026364/vscode/src/editor/utils/editor-context.ts#L16
This is something I've hit before... When I did .NET, I would have bin/ in by global gitignore (because in .NET it's compiled binaries). It's quite common in Dart to use bin/ for the entry points of packages:
https://dart.dev/tools/pub/package-layout#:~:text=make_lunch.dart
  bin/-,enchilada,-doc/
    api/ ***
    getting_started
@toolmantim any thoughts on this (since you picked the original defaults)? I'm not familiar with how many languages use bin/.. For .NET, probably explicitly including bin/Debug/ and bin/Release/ would filter out the garbage, although perhaps the real fix here is to use gitignore/etc.

Best to ask @abeatrix when she’s back, or @beyang — unsure how that initial exclude list was chosen.

We can just remove the keyword from the exclude list if the keyword is included in the exclude list, or just remove the exclude list in general from the @ search if you want. I was just using the same exclude list I used for the generate unit test to filter out uncommon files for unit tests and thought the same list could be used, no other particular reasons.

I'd recommend keeping it and remove it only if the keyword is included because those files will always show up on top of the list from those folder compared to the actual ones with the same names

It may look odd if the user is typing @bin/main.dart if it's missing from the list until they've typed @bin/?
I wonder if it should be included (not in the exclude list) but penalised in the ranking unless the query starts with it?
That way if your project is small, it won't be obvious bin/main.dart is missing, but it may be further down the list until you've typed bin/?

The fuzzysort ranking algo is easy to tweak, I like the idea of just downscoring it.

If we do keep the exclude list, we should probably make it less invisible and hard-coded into the source by moving it to a user setting with the default value. With a cog icon in the popover, similar to the chat window, that opens the settings filtered to this feature.

Maybe we should switch it to using the ignore file (https://github.com/sourcegraph/cody/pull/1382)? Seems pointless showing the user something in the dropdown to then filter it out later.
For now, I'll remove bin from the hard-coded ignore list and reduce the relevance.

https://github.com/sourcegraph/cody/assets/1078012/2ad0ef3b-b2f9-45bd-bfc0-54fd77811511


Mouse View Issue?

I'm having a problem. I don't really know if this is because i accidentally pressed something before, but if i control my view with a mouse, the view often slides away by itself. It occurs both using mouse and trackpad.
This happens on the latest update (v<IP_ADDRESS>). The problem persists even after deleting the MCEdit folder in Documents (i am running Fixed Mode).
Here is a zip file containing a screen recording.
1_11_1 FireRace - RACE_level.dat - Unified ~ Unified v<IP_ADDRESS> for Minecraft 1.8-1.11 _ PE 0.11 1_6_2017 23_23_45_1.zip
If you see the video, you should see the view slides away (in a constant speed) sometimes after i move my mouse. My mouse is perfectly still when it slides. Maybe i need to do something? Maybe i triggered something accidentally?

Hard to say what happens.
Mouse control depends the operating system and its version, and the code we use.
It can also be related to your hardware and/or drivers you use.
So let us know which Linux/Mac/Windows you use; this will be a starting point :smile:

I am so, so, sorry for not responding too long.
I have resolved the problem.
It appears that DPI scaling was the source of the problem.
I have DPI scaling enabled in my system in order to (of course) scale my display.
After I went to the compatibility settings and ticked "disable DPI scaling", the view is not sliding away like I've described. Problem solved!
Should I close this issue? Or do you want to research this issue further?

Nice to read you could figure what was happening an solve the issue :smile:


how to use appium to control UAC(user account control)

Can someone help me to solve this problem?
One button of my App will call up UAC.
And I don't know how to control this?
I want to click YES. Then my APP will go on running the following test steps.
Thanks.

Hi @cookyzhang ,
This is by design. As a work around, you can try turning off UAC, or by running your application as an administrator.
Thanks

hi @hassanuz
Thank you for your help.
After I click YES on the UAC, the code will continue to run.
But it's inconvenient  that I have to click the UAC manually during the auto running.
For example, if I want to run the code on 100 machines, first I have to wait to see which machine will pop up the UAC, then I need to click the UAC. It will take a long time for me to finish 100 machines.

I am also having the same issue.

There's a registry setting you can programmatically set to turn off UAC if you don't have the option to run the program as an admin. This is a huge security risk, so only do it if you absolutely cannot run the application as an admin.
https://docs.microsoft.com/en-us/windows-hardware/customize/desktop/unattend/microsoft-windows-lua-settings-enablelua


Regular trades now contain e-mail confirmations

Valve added e-mail confirmations to regular trades as well now. Trade ends with new status 6. It should be possible to disable this via settings. I will be looking into this later today.

Detecting completed trades became a lot more harder now. Basically as long as at least one person has the email confirmations enabled, the trade finishes with status code 6. After that moment, the trade might or might not happen.

Well, in the basic all trades are now converted into tradeoffers, right? I know its not that simple or maybe complete wrong but is there maybe a way to get a tradeoffer id out of it?

The new status is still 6 with Email Confirmation enabled.

@hnkent Yes indeed because the other person has email confirmations enabled. From what I have been able to gather:

no one has email confirmations enabled - everything works as usual; trade end with the usual status
at least one user has email confirmations enabled - trade ends with trade status 6; trade session is terminated and now you can just wait

I've tested with both parties having emails off and it still turns it into a trade offer.  Not sure about the status of it.  Haven't used bots with manual trades in forever.

@Jessecar96 Yes, indeed. It's converted into trade offer and this trade offer is then instantly accepted. Also the "sender" is the person who initiated the trade.

I'm getting status 2 a lot more often now. It's random but it's happening. Trade ends with status 2 and items are still exchanged.

It also allows the bot to automatically add/remove the correct amount to the trade, without requiring a third-party website.

Another thing I have noticed. Sometimes my bot receives status 6 even though we both have the e-mail confirmations disabled. On the other hand, the items are exchanged immediately.

In a use case where you must ensure items were received, and check what items were received, you can simply take the tradeofferid emitted from the trade ending and then check it with the corresponding trade offer.

Indeed you can. The response looks like this:
{"tradeid":"123416616","trade_status":6,"success":true}
where tradeid is the trade offer ID. What I don't like, is the fact that successful trades offers can be marked as: "Items Now Unavailable For Trade". How to decide in this case? Check inventory history?

Well surely if you receive the tradeid, the offer will be "Items Now Unavailable For Trade" if the trade was successful, or awaiting email confirmation if it is in actual fact awaiting email confirmation. Though this could be exploited by trading away items from an offer awaiting email confirmation. Though I doubt this could happen fast enough.

I'm confused.  If there's no way to verify trade offers reliably, how are people's bots still up?  You can't simply check the user's inventory, or sites that accept non-steam items (like dispenser.tf or scrap.tf, which accept real money and/or bitcoins) could easily be scammed...

Well there is, the case where trade offers pend an email verification is pretty simple. In the case of a "Items Now Unavailable For Trade" trade offer but the trade still going through you can take the classid and assetid of each item in the trade offer, which I believe uniquely identifies each item, and doesn't change when traded. You can then check the bot's inventory for these values. If they exist you can be sure you received the items.

That is not a reliable method, as I mentioned above.  It opens your bot for all sorts of timing exploits, because by the time you check their inventory they might have already traded it away, and because it's possible for two users to open trade offers with the same item.

You are checking your own, to see if the items actually landed in your own inventory.

Yes, I understand that.  That method is easily exploitable if you deal with any sort of currency outside of Steam-trades.  And possibly even if you don't.

Not quite sure if I understand where you are coming from, could you please elaborate?

@pmk010

Well surely if you receive the tradeid, the offer will be "Items Now Unavailable For Trade" if the trade was successful

I would surely expect the trade to show as "accepted" rather than this message which makes little to no sense. Trades fail from time to time even after being accepted so this is not very reliable.

Well I agree that it should show as accepted or not generate a trade offer at all. But it's what valve has given us, we just have to put up with it.
And there is a way of distinguishing:

Upon the trade ending with status 6 take the tradeofferid
Get the offer with the corresponding tradeofferid
Check trade offer state, if active you an assume it is pending email, if invalid items you assume the actual trade went through and items were exchanged
To be sure, you can take the items you would have received and their respective classid's and instanceid's
Then these values can be compared to the bot's inventory, if they turn up you can be sure items have been received

@pmk010 Yes, that is the solution we've been discussing this entire thread.  It is not a good solution.  It is rife with race-conditions which allow the bot to be exploited.
I'm not going to publically detail the exploits for obvious reasons, but I spoke privately with @sholtzm and he agrees it is a problem.
Unfortunately, for now I don't think we have a reliable and non-exploitable method of determining if a trade has completed successfully...

Could you not just create an array that stores the original ID for the items(s) the bot trades away, after trade check to see if the item is still in the bots inventory. If the item is no longer in the bots inventory  then the trade was successful and if its still in the bot sinventory and trade status is 6 the bot could store that ID in another array called reserved for three minutes.
After the three minutes the bot could cancel the trade offer if its still pending and then remove the ID from the reserved array

@MetalSquare In the event that two trade offers are sent with the same items, or one with a subset of items from the other?

@pmk010 I have not thought about that as the idea i had would only possibly work for regular trades and not trades offers. I will try and think about trade offers

@MetalSquare normal trades are ported to trade offers, with both parties having confirmations disabled or not. That's the issue we are discussing.

It seems Valve have made changes. Trades with both parties having confirmations disabled, in the case that a trade is successful a trade offer listed as accepted is created.

I just tested this and the trade is marked as "Items Now Unavailable For Trade". On the other hand, older trades are all showing as accepted.

I tested it about 30 times, twice it showed as accepted almost immediately after.

The test I did yesterday is still showing as unavailable. This is clearly not very reliable. :smile:

For now I guess I'll just have to be prepared to handle it being showed as accepted and as unavailable, for the seemingly rare cases it shows as being accepted.

I hope there will be an solution soon.

Any updates on how this is going so far?

Trade status 6 handling needs to be added, that's about it.

So, I guess, it's fixed now ?

#746 is still open because no one has reviewed it.

Okay, well, but this mean, the bot is not usefull anymore ?
I mean, you can't intercept when the user accept or not the trade (am I wrong ?) --> no way to do things after trade sucessfull or not.

i coded something simple to access the email and confirme the trade automatically
;D

Any ETA of this issue ??

#746 was merged, can this be closed now?


Extra inferred generics causes never path on types

Hello! Thanks for your work 😄 My types don't propagate through the xstate() call because of the extra inferred generics _A, _B, and _C. What's the story behind those? When I copy the code from lib/xstate.ts and just deleted those and the three extra anys in the M extends StateMachine line, it works like a charm.
https://github.com/biowaffeln/zustand-middleware-xstate/blob/master/lib/xstate.ts#L10-L12

Hey man! What version of xstate are you using? I think I made these changes so that the types were compatible with v4.30.0, perhaps they've changed the type signature since then?

Ah yeah that must be it, thanks! 4.15.4. I'll try an upgrade!


12 merge sv candidates

Merge similar SV candidates.

Tested CNV calling using Truvari with ONT long reads for alignment-based calls (see #11) and Illumina short reads from SNP-based CNV predictions. Data is Illumina WGS 2x150bp 300X per individual from GIAB HG002.
Recall is unchanged, but precision is slightly affected for both deletions and duplications. SV merging should improve this.

Duplications:
"TP-base": 53,
"TP-call": 53,
"FP": 31462,
"FN": 4,
"precision": 0.0016817388545137236,
"recall": 0.9298245614035088,
"f1": 0.0033574052958317492,

Deletions:
"TP-base": 82,
"TP-call": 82,
"FP": 14435,
"FN": 0,
"precision": 0.005648549975890336,
"recall": 1.0,
"f1": 0.011233646140146587,

Results with different DBScan parameters. Sample minimum is set to 2, and I test with epsilon values from 1-99 (step size=1) and from 100-1000 (step size=10):

After running benchmarking only in high-confidence intervals:
[NORMAL] Generating agglomerative clustering results
Input file path: agglo_tests/Agglo_Dth_100to1000.out
SV Type: DEL
Maximum Recall: 1.0
Maximum Precision at Maximum Recall: 0.010328756770374103
FP Count at Maximum Recall: 7857
FN Count at Maximum Recall: 0
Number of DELs in Callset: 8016
Number of DELs in Benchmark: 82
SV Type: DUP
Maximum Recall: 0.9298245614035088
Maximum Precision at Maximum Recall: 0.0037679510877292764
FP Count at Maximum Recall: 14013
FN Count at Maximum Recall: 4
Number of DUPs in Callset: 14069
Number of DUPs in Benchmark: 57
[HIGH-CONF] Generating agglomerative clustering results
Input file path: agglo_tests/Agglo_Dth_100to1000_HighConf.out
SV Type: DEL
Maximum Recall: 1.0
Maximum Precision at Maximum Recall: 0.01566265060240964
FP Count at Maximum Recall: 4085
FN Count at Maximum Recall: 0
Number of DELs in Callset: 4150
Number of DELs in Benchmark: 65
SV Type: DUP
Maximum Recall: 0.9736842105263158
Maximum Precision at Maximum Recall: 0.00378632828489562
FP Count at Maximum Recall: 9735
FN Count at Maximum Recall: 1
Number of DUPs in Callset: 9772
Number of DUPs in Benchmark: 38
[NORMAL] Generating DBSCAN clustering results
Input file path: dbscan_tests/E1toE100toE1000_M2.out
SV Type: DEL
Maximum Recall: 0.9878048780487805
Maximum Precision at Maximum Recall: 0.14111498257839722
FP Count at Maximum Recall: 493
FN Count at Maximum Recall: 1
Number of DELs in Callset: 580
Number of DELs in Benchmark: 82
SV Type: DUP
Maximum Recall: 0.8771929824561403
Maximum Precision at Maximum Recall: 0.030432136335970784
FP Count at Maximum Recall: 1593
FN Count at Maximum Recall: 7
Number of DUPs in Callset: 1643
Number of DUPs in Benchmark: 57
[HIGH-CONF] Generating DBSCAN clustering results
Input file path: dbscan_tests/E1toE100toE1000_M2_HighConf.out
SV Type: DEL
Maximum Recall: 0.9846153846153847
Maximum Precision at Maximum Recall: 0.48484848484848486
FP Count at Maximum Recall: 68
FN Count at Maximum Recall: 1
Number of DELs in Callset: 132
Number of DELs in Benchmark: 65
SV Type: DUP
Maximum Recall: 0.9210526315789473
Maximum Precision at Maximum Recall: 0.10144927536231885
FP Count at Maximum Recall: 310
FN Count at Maximum Recall: 3
Number of DUPs in Callset: 345
Number of DUPs in Benchmark: 38

Precision is significantly improved for DELs using DBSCAN, could also test increasing the distance threshold for agglo. clustering:

After initial work on duplication classification prior to merging:

Duplications:
"TP-base": 37,
"TP-call": 37,
"FP": 17669,
"FN": 1,
"precision": 0.0020896871117135436,
"recall": 0.9736842105263158,
"f1": 0.004170423805229938,

Deletions:
"TP-base": 65,
"TP-call": 65,
"FP": 7932,
"FN": 0,
"precision": 0.008128048018006753,
"recall": 1.0,
"f1": 0.01612503100967502,

After testing with CNV data, it is clear that gaps in split reads provide evidence for both deletions and duplications, and that supplementary alignment overlaps are rare (probably more associated with secondary alignments). Below are the improved results using split-read gap evidence only, showing reduced FP rate:

Duplications:
"TP-base": 37,
"TP-call": 37,
"FP": 16387,
"FN": 1,
"precision": 0.0022528007793472964,
"recall": 0.9736842105263158,
"f1": 0.004495201069128902,

Deletions:
"TP-base": 65,
"TP-call": 65,
"FP": 7929,
"FN": 0,
"precision": 0.008131098323742807,
"recall": 1.0,
"f1": 0.016131033627000867,

By calculating sequence identity both upstream and downstream of the insertion, recall is doubled but with increased false positives:

Insertions {'comp': 16424, 'base': 74}

"TP-base": 71,
"TP-call": 71,
"FP": 16353,
"FN": 3,
"precision": 0.004322942036044813,
"recall": 0.9594594594594594,
"f1": 0.008607103891380774,

Duplications {'base': 38, 'comp': 38}
"TP-base": 14,
"TP-call": 14,
"FP": 24,
"FN": 24,
"precision": 0.3684210526315789,
"recall": 0.3684210526315789,
"f1": 0.3684210526315789,

Deletions {'comp': 7994, 'base': 65}
"TP-base": 65,
"TP-call": 65,
"FP": 7929,
"FN": 0,
"precision": 0.008131098323742807,
"recall": 1.0,
"f1": 0.016131033627000867,

Sequence identity is calculated using a sliding window around the insertion (+/- length). This leads to a significant increase in recall for duplications (55%), with insertion and deletion results unchanged:

Insertions {'comp': 16424, 'base': 74}

"TP-base": 71,
"TP-call": 71,
"FP": 16353,
"FN": 3,
"precision": 0.004322942036044813,
"recall": 0.9594594594594594,
"f1": 0.008607103891380774,

Duplications {'comp': 116, 'base': 38}

"TP-base": 21,
"TP-call": 21,
"FP": 95,
"FN": 17,
"precision": 0.1810344827586207,
"recall": 0.5526315789473685,
"f1": 0.27272727272727276,

Deletions {'comp': 7994, 'base': 65}

"TP-base": 65,
"TP-call": 65,
"FP": 7929,
"FN": 0,
"precision": 0.008131098323742807,
"recall": 1.0,
"f1": 0.016131033627000867,

I updated from gnomAD v2 to v3 for the SNP population frequency data and results are unchanged. Since the GIAB SV v0.6 benchmark dataset is hg19 only, I cannot benchmark with gnomAD v4 (hg38).

Here are results after testing with DBSCAN epsilon values of 30-50, maximizing the F1 score:
Input file path: dbscan_tests/240110_E30toE50.out

SV Type: DEL
Maximum F1: 0.6597938144329897
Precision at F1: 0.49612403100775193
Recall at F1: 0.9846153846153847
Parameter value : 34.0
FP Count: 65
FN Count: 1
Number of DELs in Callset: 129
Number of DELs in Benchmark: 65
SV Type: DUP
Maximum F1: 0.2127659574468085
Precision at F1: 0.5555555555555556
Recall at F1: 0.13157894736842105
Parameter value : 30.0
FP Count: 4
FN Count: 33
Number of DUPs in Callset: 9
Number of DUPs in Benchmark: 38
SV Type: INS
Maximum F1: 0.33890214797136037
Precision at F1: 0.20579710144927535
Recall at F1: 0.9594594594594594
Parameter value : 39.0
FP Count: 274
FN Count: 3
Number of INSs in Callset: 345
Number of INSs in Benchmark: 74
Done!
Exiting.

Log2 ratio calculation is improved by avoiding many calls to samtools, and instead using one call and parsing the outputs. Results were tested using the 5 CNV dataset.

Whole-genome results for cuteSV and Sniffles2 on ONT Kit14 and PacBio:

Dataset
SV Caller
SV Type
F1
Precision
Recall
TP
FP
FN
SV Count
Base Count

PacBio
Sniffles2
DUP
0.006734
0.5454
0.0033879
6
5
1765
11
1771

PacBio
Sniffles2
INS
0.7499
0.6126359
0.9667665
3549
2244
122
5793
3671

PacBio
Sniffles2
DEL
0.962337
0.948427
0.97666
4101
223
98
4324
4199

PacBio
cuteSV
DUP
0.005599
0.333333
0.002823
5
10
1766
15
1771

PacBio
cuteSV
INS
0.72357
0.613895
0.880958867
3234
2034
437
5867
3671

PacBio
cuteSV
DEL
0.9511667
0.96087
0.94165277
3954
161
245
4327
4199

ONT
Sniffles2
DUP
0.003378
0.6
0.001693958
3
2
1768
5
1771

ONT
Sniffles2
INS
0.761884
0.6276239
0.969218
3558
2111
113
5669
3671

ONT
Sniffles2
DEL
0.960554
0.94721
0.97427959
4091
228
108
4319
4199

ONT
cuteSV
DUP
0.004329
0.051948
0.0022586
4
73
1767
77
1771

ONT
cuteSV
INS
0.7678954
0.632927
0.97602833
3583
2078
88
6189
3671

ONT
cuteSV
DEL
0.956481374
0.932775
0.981424149
4121
297
78
4812
4199

Whole-genome results for cuteSV and Sniffles2 on PacBio GIAB CCS 15kb GRCh37 BAM file downloaded from AWS (HG002.Sequel.15kb.pbmm2.hs37d5.whatshap.haplotag.RTG.10x.trio.bam). In summary, PBSV performs significantly better for DUPs (F1=0.57) and also a sizeable improvement for INS.

Dataset
SV Caller
SV Type
F1
Precision
Recall
TP
FP
FN
SV Count
Base Count

PacBio
Sniffles2
DUP
0
0
0
0
2
1771
2
1771

PacBio
Sniffles2
INS
0.73681968
0.60493
0.94225
3459
2259
212
5718
3671

PacBio
Sniffles2
DEL
0.94312455
0.9504232
0.9359371
3930
205
269
4135
4199

PacBio
cuteSV
DUP
0
0
0
0
17
1771
17
1771

PacBio
cuteSV
INS
0.698811858
0.6060424
0.82511577
3029
1969
642
5540
3671

PacBio
cuteSV
DEL
0.903087
0.9632928
0.849964
3569
136
630
3905
4199

PacBio
PBSV
DUP
0.567991981
0.695581
0.4799548
850
372
921
1433
1771

PacBio
PBSV
INS
0.817061382
0.73420195
0.92100245
3381
1224
290
4997
3671

PacBio
PBSV
DEL
0.935137094
0.9487745
0.92188616
3871
209
328
4314
4199

Whole-genome results for PBSV on ONT Kit14 aligned to GRCh37 (same as https://github.com/WGLab/ContextSV/pull/14#issuecomment-1906527150), with read group IDs added and hard clips removed from the bam file so that it works in PBSV (HG002.GRCh37.RG.noHardClip.bam). Tested that cuteSV and Sniffles2 benchmarking results on the original file (HG002.GRCh37.sorted.bam) are the same as shown in https://github.com/WGLab/ContextSV/pull/14#issuecomment-1906527150. In summary, the below results with ONT data are similar to the previous PacBio results: PBSV performs significantly better for DUPs (F1=0.56) and also a sizeable improvement for INS (~+0.1 F1).

Dataset
SV Caller
SV Type
F1
Precision
Recall
TP
FP
FN
SV Count
Base Count

ONT
PBSV
DUP
0.558171
0.70517
0.461886
818
342
953
1293
1771

ONT
PBSV
INS
0.833049
0.752804
0.932443
3423
1124
248
4838
3671

ONT
PBSV
DEL
0.96163
0.962318
0.960943
4035
158
164
4454
4199

Tested updates with 5 CNVs

Whole-genome results for ContextSV on ONT Kit14 aligned to GRCh37  (HG002.GRCh37.sorted.bam). First set  is results from ContextSV without the merging step. Second set is merging using DBSCAN with ε=34. In summary, ContextSV achieves higher recall than PBSV in the unmerged callset for DELs and DUPs, and lower recall and precision for INS. Merging reduces this advantage, and thus it is important to identify the optimal DBSCAN parameters. DELs have a high FP rate which can be improved with the scoring model. INS recall can also be improved by lowering the sequence identity threshold: PBSV uses 80% while I currently use 90%.

Dataset
SV Caller
SV Type
F1
Precision
Recall
TP
FP
FN
SV Count
Base Count
Total SV Count

ONT
ContextSV Unmerged SVs
DUP
0.086295
0.046702
0.56691
1004
20494
767
21498
1771

ONT
ContextSV Unmerged SVs
INS
0.024991
0.012686
0.832471
3056
237837
615
240893
3671

ONT
ContextSV Unmerged SVs
DEL
0.027927
0.014164
0.986187
4141
288220
58
292386
4199

ONT
ContextSV Merged SVs
DUP
0.43715
0.414474
0.462451
819
1157
952
1976
1771

ONT
ContextSV Merged SVs
INS
0.466988
0.328988
0.804413
2953
6023
718
8976
3671

ONT
ContextSV Merged SVs
DEL
0.679113
0.530222
0.944272
3965
3513
234
7478
4199

After reducing percent similarity threshold from 0.9 to 0.8, FP rate for DUPs increases, thus the threshold is too low:
Unmerged

Dataset
SV Caller
SV Type
F1
Precision
Recall
TP
FP
FN
SV Count
Base Count
Total SV Count
Total Base Count

ONT
Unmerged SVs
DUP
0.072562
0.038236
0.709768
1257
31618
514
32875
1771
1563939
12745

ONT
Unmerged SVs
INS
0.026185
0.013302
0.831654
3053
226463
618
229516
3671

Merged

Dataset
SV Caller
SV Type
F1
Precision
Recall
TP
FP
FN
SV Count
Base Count
Total SV Count
Total Base Count

ONT
Merged SVs
DUP
0.44317
0.355245
0.588933
1043
1893
728
2936
1771
105943
12745

ONT
Merged SVs
INS
0.496278
0.361776
0.789975
2900
5116
771
8016
3671

Completed whole-genome sequencing after threading bug fixes and with CNV data disabled for improved performance. Here are some metrics with 250G memory and 40 threads, cores:

Cores per node: 40
CPU Utilized: 2-10:18:32
CPU Efficiency: 36.92% of 6-13:56:00 core-walltime
Job Wall-clock time: 03:56:54
Memory Utilized: 31.34 GB
Memory Efficiency: 12.53% of 250.00 GB

Although wall clock time is ~4 hours, CPU time is much higher at ~6.5 days, thus it would take a long time without high multi-threading.

Benchmark results using Truvari v3.5.0 with defaults, refdist=1000

Data: ONT Kit14 R10.4.1 at 60-fold coverage
Benchmark: GIAB SV v0.6 in high-confidence regions (9705 SVs)

4261 deletions, 3673 insertions, 1771 duplications (only 6 > 50kb)

SV   Caller
F1
Precision
Recall
TP
FP
FN
SV   Caller SV Count

contextSV
0.66
0.51
0.965
9306
9093*
340
18399

Sniffles2
0.954
0.944
0.963
9290
547
356
9837

cuteSV
0.946
0.918
0.976
9419
839
227
11081

PBSV
0.942
0.928
0.956
9217
711
429
10582


Update Firefox desktop pages post GitHub migration

It might be best not to mention gecko-dev at all; it's effectively an implementation detail that the mozilla-central contents are read via that git repo.

It might be best not to mention gecko-dev at all; it's effectively an implementation detail that the mozilla-central contents are read via that git repo.

I think it needs to be called out, because it has some implications (delay, automation getting stuck). Most important, it's still very unclear when the move to git will happen.


Bottom commanding controller

Platforms Impacted

[x] iOS
[ ] macOS

Description of changes
This PR adds a persistent bottom commanding surface. The controller takes in collections of CommandingItems, which internally get bound to their view representations.
The commanding surface style differs depending on the horizontal size class. .regular gets the bottom bar, and .compact + .unspecified get the sheet.
Both representations get a <5-item hero command stack that's always visible. There's a also an additional list of commands, which are placed differently depending on the surface type.
In bottom bar the command list is shown in a popover. In bottom sheet the same list is located below the hero command stack, visible when the sheet is expanded.
The CommandingItem is the only entry point for clients to modify the state of the displayed views. All the properties are mutable and changes to them are automatically reflected in their representing views. Internally, the changes are handled by mutating the views in place if possible (all cell properties, only isEnabled and isOn for hero buttons), with a fallback to a full view refresh if an in-place edit isn't possible.
Known work for future PRs:

Hiding
Dimming
Integrate table view cells with switches
Dynamic expanded offset sizing
Better handling of bottom safe area insets - might need to make expanded content transparent when collapsed, because specs show more padding in collapsed state than we can do without showing some of the expanded area.
CommandingItem API iteration - clients will likely need more props

https://user-images.githubusercontent.com/3610850/117049465-0065af00-acc9-11eb-8218-cd0b96990e8a.mov
Verification

Device
Light
Dark

iPhone

iPad

Pull request checklist
This PR has considered:

[x] Light and Dark appearances
[x] VoiceOver and Keyboard Accessibility
[ ] Internationalization and Right to Left layouts
[ ] Different resolutions (1x, 2x, 3x)
[x] Size classes and window sizes (iPhone vs iPad, notched devices, multitasking, different window sizes, etc)

Microsoft Reviewers: Open in CodeFlow

is it just me or do I observe that after you rotate the bottomcommandingcontroller the text(title label) is no longer center aligned compared to the icons in the hero commands

is it just me or do I observe that after you rotate the bottomcommandingcontroller the text(title label) is no longer center aligned compared to the icons in the hero commands

I noticed this today as well. I'll look into it. Might be a TabBarItemView bug.


Exponent calculation for quaternions appears to be missing

When interpreting a quaternion as a relative rotation (and not an orientation), you could e.g. want to apply only half or only 30% of a rotation. The computation of this appears to be commonly notated with q as base and e.g. 0.5 or 0.3 as exponent: q ** 0.3 (as described here: https://math.stackexchange.com/questions/162863/how-to-get-a-part-of-a-quaternion-e-g-get-half-of-the-rotation-of-a-quaternion/162892#162892 )
However, this concept of an exponentiation of a quaternion (with the quaternion as a base and a float as an exponent) seems to be missing from Quaternion.js. There is an exp function, but it doesn't have any parameter for the exponent as I would have expected it.
Is there any chance this could be added?
EDIT: sorry, I missed the pow function. Closing this ticket, my mistake :smile:

Ups, seems I missed to add it to the readme.

Fixed, sorry for that.


Remove unused add host dialog from HostListActivity.

sigh... @kruton any idea what's up with the linter here? I just removed some code...

I'm not kruton but I guess it's dia_add_host (unused)

In fact all the warning starting with a '+' so :
R.string.button_add (and all translations)
R.string.button_cancel (and all translations)
...

Yes, there's just a lot more you can remove since you removed all the
references to them :)


Upgrade go to 1.16.2

go supports macOS with arm64 architecture only from 1.16.
upgrade this to create build for that distribution.
This is already added by goreleaser.
Hence, update only the workflow files to use 1.16.2.
Issue #, if available:
#71
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

https://github.com/opendistro-for-elasticsearch/odfe-cli#build-from-source should be updated? Any other doc updates need?

Good catch! i updated the README page.


LaneArrows facelift and refactor

Old Subtool renamed to LegacySubTool.
New TrafficManagerSubTool class added which does not have IMGUI features.
Dual tool support in TrafficManagerTool

Testing and debugging at the moment.
Funny enough, having tool window for Lane Arrows as a child of TMPE Main Menu creates rubber banding drag effect on the tool window while dragging the main menu.

This is looking awesome! Do you think we can get this in to the 11.1.1 release?

Also, can we add a reset button?

Important
This needs to be tested at 4k resolution and possibly we need a formula to reduce the scaling a bit, so it is not very large compared to the rest of the game UI.

The UI momentarily appears small in middle of screen then pops in to position at chosen user scaling. See attached vid:
bandicam 2020-03-31 22-28-14-496.zip
Maybe have the UI hidden until it's possitioning/sizing is finalised?

With a segment selected, it feels a bit clunky selecting a different segment. Could we make it so I can just click any other junction-entering segment to select it (even if another segment is already selected). Right-click should still de-select current segment as it currently does.

The UI still feels a bit big to me, is it possible to allow the scale slider in mod options to go down to 50%? (Currently it's min value is 65%)

The tooltip is making the floating panel unnecessarily large when there's less than 3 lanes:

Could it word wrap? Or maybe an option to toggle it's display (once I know the shortcut I don't really want to be seeing it every time)?

The positioning seems to get offset when screen res is changed in-game. For example, on 1920x1080 (everything above was tested at this res), the panel is shown in centre of junction like so:

When I change to 2560x1440 it gets offset like this:

Note: everything above was using 65% UI scaling in mod options. I just did a quick test at 100% and the same issues occur.

This now looks like its scaling correctly, and positioning correctly too.

I'm getting exception when I right click with arrows tool enabled
NullReferenceException: Object reference not set to an instance of an object
  at TrafficManager.UI.SubTools.LaneArrows.LaneArrowTool.OnToolRightClick () [0x00000] in <filename unknown>:0
  at TrafficManager.UI.TrafficManagerTool.OnToolUpdate () [0x00000] in <filename unknown>:0
  at ToolBase.Update () [0x00000] in <filename unknown>:0

to be precise it breaks at this line:
Log._Debug(string.Format("LaneArrow right click state={0}, new={1}", state, this.fsm_.State));

It's allowing seemingly non-valid arrows to be selected:

I would expect the left turn button there to be disabled.

Text doesn't seem to be scaling with the UI?

Other than those two very minor details it's working great!
Lane-arrows-window hopping on creation fixed.
Clicking other segments was showing old Lane-arrows-window, now fixed, the state is correctly exited and re-entered and the window is updated now too.

As for extra rendering of direction arcs and disabling the buttons, i am not sure the old UI had this feature either.

Trying new error propagation rules using Result<ErrorEnum> and guide popups while lane connectors are enabled, the guide should pop up.

@kvakvs you can leave it there.
I think we will push both your PR's and Kian's (i have to test it) as one update to the Labs

Setting DONOTMERGE, as the next PR will come into this branch, and when all is good, they both can be merged.


[issue] Dedicated Server Crash

Version: 1.1.3
Mods: See RPT
Environment: MP dedi
.rpt attatched? YES
have you edited the missionfile?: No
Issue:
Dedicated server crashed twice in one day after different lengths of time. Server RPT shows error which might be related to ACE Frag module (File z\ace\addons\frag\functions\fnc_doSpall.sqf, line 49). Both crashes also happened when CSAT was attacking a NATO outpost (in a different location on the map), but that might just have been a coincidence. On restarting the mission, in both occasions, we were forced to restart from the beginning (maybe savegame was corrupted).
I attach:

RPT of the server for the second crash (the first log file that was generated is over 6 GB large)
RPT of my client for the second crash
RPTServerClient.zip
Minidump generated for both crashes (https://drive.google.com/file/d/1rVNFx7KMKRF_jAQ6XPbWmDhRGWvmx9F8/view?usp=sharing and https://drive.google.com/file/d/1pYa1LjORcZY8tnzA3gYhNH2GEYmurj_R/view?usp=sharing)

By the way, our server has been used multiple times to host very large games (120+ players) with no issues

Hi, this is an ACE error, not Antistasi. You should report there.

having the same issue now and we are not using ACE at all


[Sept Sprint] Cars Assemble

This is part of our September Spring to get the Go Track in shape. Please read the Overview issue for more details. This exercise is unclaimed. To claim it, please comment below.

Cars Assemble

[ ] Add arithmetic-operators as an official concept

Intro should have a table with the standard operators +,-,*,/,%,
Intro should explain what happens for integer division (e.g. 5 / 2 = 2)
Intro should introduce shorthand assignments += etc.
Add arithmetic-operators to the concepts property of cars-assembly entry in the config.json file
Add an entry to the concepts array for the arithmetic-operators concept
Create a concepts/arithmetic-operators directory with its required files

[ ] https://github.com/exercism/go/issues/1542
[ ] https://github.com/exercism/go/issues/1576
[ ] https://github.com/exercism/go/issues/1575
[ ] https://github.com/exercism/go/issues/1644

Claiming this one since it looks like low-hanging fruit.

Great. There's a question about whether this should also teach comparison. @junedev/@erikschierboom are discussing and will follow up on that on Tues :)

@jmrunkle https://github.com/exercism/go/issues/1675 Has been added to the list of tasks.

Since the comparison concept was previously planned to one of the exercises I was looking into, I already started making it and can take care of that task.

Perfect!

@jmrunkle That was a copy and paste error. I will fix it.
The comparison concept introduces >, ==, etc which needed in this exercise. That is why introducing it in black jack would be "too late" in the concept tree so Erik indeed meant for it to be added to cars assemble.


Make NameLayer compile without obscure/overcomplicated civ project setup process

Per Discord:

legit if it doesn't compile immediately I'm going to break it and PR it

there is a lot of anger in this commit

Yeah, ik the spaces argument is a waste of time (spaces are still better!!) and I won't go out of my way to change or ignore the project standard (still better) but that still won't stop me from giving someone hecc for it (because they're better).
As far as reflection obscuring calls, while I don't entirely disagree (one reason I use the overly-verbose-hard-to-read naming scheme I do for reflective accessors (ex. m_CraftHumanEntity_getHandle), because I know even I'm not going to remember what the hell each is for), I use it because in practice as a way of accessing NMS (ie not including programmer error/bugs/etc.), it's less maintenance in the long run as for the most part Paper obfuscation mappings don't change that much, generally leading to less need to rewrite parts of the plugin (as simple as they may be) as a requirement for using a different version of Minecraft or, in the case of a few individuals I've seen that have tried to use civ plugins on non-civ servers, allowing them greater flexibility on the Minecraft versions they use without having to learn how to go through said obscure/overcomplicated civ dev project setup and "code-it-yourself" or figure out which specific version of any given NMS-using plugin is compatible with their target game version (and potentially which dependent plugin versions are compatible with that plugin version), adding to the already tedious prospect of just setting up a civplugin compatible server. Ex. of this was that DevHell was stuck on early 1.16 versions for a while because the plugin compatibility wasn't there for 1.16.4/5 and updating NMS plugins takes time that could be spent "just" dropping in a new paper jar and working on other actual issues or new features, instead of cloning the latest paper repo and waiting for it to compile just to update a few compiler-bound references to NMS code. Also, while it is partially true that "shifting to non-NMS won't make any of this objectively easier, as end of the day you'll need to decompile Minecraft to figure out which NMS method you need to call via Reflection," it is still only partially true and on the whole is not: yes that will be a requirement if you want to write or work on NMS code, but it's less of a requirement than needing to do it (and then wait for the server to compile) for every single game version whether you want to work on said NMS code or not.
""TL;DR"" - yes, it's still a pain point, and honestly I partially blame Mojang for that, but beyond just "moving the pain point and obscuring it a but", it's also limiting who will need to endure that pain to "anyone that wants to work on the NMS bits" instead of "anyone and everyone that touches the repo". The point of plugins is that they're supposed to be something you can just drop into a server and it """just work""" after initial configuration, and likewise the point of having a cloneable repo to start dev work from is that you clone it and it """just works""" without having to already have an in-depth knowledge of the [civ] ecosystem (beyond just "it's a bukkit plugin") or the connections to other [civ] devs, ex. Orinnari who has the "just clone this and run this script" civdev setup repo, which is also cumbersome to someone who just wants to use or work on one plugin and not wait for the entire civ suite to download and [maybe or maybe not] compile.

You make some excellent points, although I'd strongly disagree that the
existence of a Git repo to clone is any kind of indication it should be
easy to use. That's more of a modern dev-culture thing then anything, and
while noble, has rarely if ever been entirely true in my experience.
Only other counterpoint I'd make, and perhaps I misread you so please
ignore if I did, is that the NMS portions in NameLayer have not
historically been remapped by Spigot, so they were very unstable, and the
method signature changed every major release and protocol-R subrelease.
Hence my perspective that this approach is a greater liability since it
obscures this. If paper has moved the profile bits into their managed
remap, then that objection is significantly reduced!
Thanks for taking the time to share your perspective!
On Wed, Mar 31, 2021, 20:58 Shadowtrot @.***> wrote:

Yeah, ik the spaces argument is a waste of time (spaces are still
better!!) and I won't go out of my way to change or ignore the project
standard (still better) but that still won't stop me from giving someone
hecc for it (because they're better).
As far as reflection obscuring calls, while I don't entirely disagree (one
reason I use the overly-verbose-hard-to-read naming scheme I do for
reflective accessors (ex. m_CraftHumanEntity_getHandle), because I know
even I'm not going to remember what the hell each is for), I use it because
in practice as a way of accessing NMS (ie not including programmer
error/bugs/etc.), it's less maintenance in the long run as for the most
part Paper obfuscation mappings don't change that much, generally leading
to less need to rewrite parts of the plugin (as simple as they may be) as a
requirement for using a different version of Minecraft or, in the case
of a few individuals I've seen that have tried to use civ plugins on
non-civ servers, allowing them greater flexibility on the Minecraft
versions they use without having to learn how to go through said
obscure/overcomplicated civ dev project setup and "code-it-yourself" or
figure out which specific version of any given NMS-using plugin is
compatible with their target game version (and potentially which dependent
plugin versions are compatible with that plugin version), adding to the
already tedious prospect of just setting up a civplugin compatible server.
Ex. of this was that DevHell was stuck on early 1.16 versions for a while
because the plugin compatibility wasn't there for 1.16.4/5 and updating NMS
plugins takes time that could be spent "just" dropping in a new paper jar
and working on other actual issues or new features, instead of cloning the
latest paper repo and waiting for it to compile just to update a few
compiler-bound references to NMS code. Also, while it is partially true
that "shifting to non-NMS won't make any of this objectively easier, as end
of the day you'll need to decompile Minecraft to figure out which NMS
method you need to call via Reflection," it is still only partially true
and on the whole is not: yes that will be a requirement if you want to
write or work on NMS code, but it's less of a requirement than needing to
do it (and then wait for the server to compile) for every single game
version whether you want to work on said NMS code or not.
""TL;DR"" - yes, it's still a pain point, and honestly I partially blame
Mojang for that, but beyond just "moving the pain point and obscuring it a
but", it's also limiting who will need to endure that pain to "anyone that
wants to work on the NMS bits" instead of "anyone and everyone that touches
the repo". The point of plugins is that they're supposed to be something
you can just drop into a server and it """just work""" after initial
configuration, and likewise the point of having a cloneable repo to start
dev work from is that you clone it and it """just works""" without having
to already have an in-depth knowledge of the [civ] ecosystem (beyond just
"it's a bukkit plugin") or the connections to other [civ] devs, ex.
Orinnari who has the "just clone this and run this script" civdev setup
repo, which is also cumbersome to someone who just wants to use or work on
one plugin and not wait for the entire civ suite to download and [maybe or
maybe not] compile.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/CivClassic/NameLayer/pull/37#issuecomment-811562742,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AADD5DUUYZIMGDC5LQ7OES3TGPAMLANCNFSM4Z223Y7Q
.

Sorry but no


Evaluation does not work

Hello! I am trying to reproduce your results, but command
python scripts/evaluate.py --model_path <model_path>

fails with error
TypeError: The classmethod `CrystGNN_Supervise.load_from_checkpoint` cannot be called on an instance. Please call it on the class type and make sure the return value is used.

Any advice would be much appreciated!

Hi RomanovIgnat!
It appears that you might use the property prediction model in prop_models directly for structure prediction. To resolve this issue, you should first train the CSP model by running the following command:
python diffcsp/run.py data=<dataset> expname=<expname>

After training the CSP model, you should be able to evaluate it without encountering the TypeError.
Hope this could help you!

Thanks a lot! But I still get an error
[2023-11-23 19:57:34,780][hydra.utils][INFO] - Instantiating <diffcsp.pl_modules.diffusion.CSPDiffusion>
[2023-11-23 19:57:35,421][torch.distributed.nn.jit.instantiator][INFO] - Created a temporary directory at /tmp/tmprttu07pg
[2023-11-23 19:57:35,423][torch.distributed.nn.jit.instantiator][INFO] - Writing /tmp/tmprttu07pg/_remote_module_non_scriptable.py
Error executing job with overrides: ['data=perov_5', 'expname=test_exp']
Error in call to target 'diffcsp.pl_modules.diffusion.CSPDiffusion':
InstantiationException("Error locating target 'diffcsp.pl_modules.cspnet.CSPNet', set env var HYDRA_FULL_ERROR=1 to see chained exception.\nfull_key: decoder")
full_key: model

I must be doing something wrong again?

Sorry we haven't encountered this error before. To get a clearer understanding of the error, you can set the environment variable HYDRA_FULL_ERROR=1 to see the full traceback and more detailed information. You can set the environment variable by adding the following line to your .env file or executing it in your terminal before running the script:
export HYDRA_FULL_ERROR=1

After setting the environment variable, run your script again. This time, you should see more detailed error information, which will help us diagnose the issue further. If you're still having trouble, please share the additional error details, and we'll be happy to help you resolve the problem.

Okay, I completely reinstalled all the dependencies and did exactly the same setup and now I get
pytorch_lightning.utilities.exceptions.MisconfigurationException: You requested GPUs: [0]
But your machine only has: []

So the question is, is it possible to use, for example, some kind of checkpoint to run on a local machine? If so, I would be very grateful!

Hi, it appears that your local machine doesn't have a GPU, which is causing the MisconfigurationException. To address your question about using checkpoints: we provide pre-trained checkpoints for inference, which you can find here. However, please note that running on a CPU, rather than a GPU, can result in significantly longer inference times.

Thank you very much!


PLANNER-2794 Enable ecosystem CI

JIRA
https://issues.redhat.com/browse/PLANNER-2794

Referenced pull requests
https://github.com/quarkusio/quarkus-ecosystem-ci/pull/103

How to retest this PR or trigger a specific build:

for pull request checks
Please add comment: Jenkins retest this

for a specific pull request check
please add comment: Jenkins (re)run [optaplanner-quickstarts] tests

for a full downstream build
please add the label run_fdb

for quarkus branch checks
Run checks against Quarkus current used branch
Please add comment: Jenkins run quarkus-branch

for a quarkus branch specific check
Run checks against Quarkus current used branch
Please add comment: Jenkins (re)run [optaplanner-quickstarts] quarkus-branch

for quarkus main checks
Run checks against Quarkus main branch
Please add comment: Jenkins run quarkus-main

for a specific quarkus main check
Run checks against Quarkus main branch
Please add comment: Jenkins (re)run [optaplanner-quickstarts] quarkus-branch

for native checks
Run native checks
Please add comment: Jenkins run native

for a specific native check
Run native checks
Please add comment: Jenkins (re)run [optaplanner-quickstarts] native

for mandrel checks
Run native checks against Mandrel image
Please add comment: Jenkins run mandrel

for a specific mandrel check
Run native checks against Mandrel image
Please add comment: Jenkins (re)run [optaplanner-quickstarts] mandrel

Won't we need the Jandex patch here, too? It won't be part of the OP build that makes it down here.

In theory, we won't. Here, we depend on OptaPlanner snapshots and Jandex 3.0 should be fully backward compatible on the bytecode level. The incompatibility is on the source level.

The Gradle failure looks like a network issue; not related to this PR.


where is the pc software for greatfet

hi  dominicgs
i have made one greatfet myself but i can not find the pc software in
github，in greatfet repository  or this repository。 i tried  usb goodfet PC python software whrited by  goodsman。but it seems not work。PC can not comincation with greatfet。 can you tell me where i can download the pc python software for greatfet。

There's some experimental code in this repository: https://github.com/dominicgs/GreatFET-experimental/tree/master/host


TaskCanceledException at System.Reactive, .Net Framework

Hello all,
I'm facing some issue using the latest pre-release version of the .Net library (at the time of this writing 1.0.0-preview-0085200001). It appears to be specific to .Net Framework (using version 4.7.1) as I'm unable to reproduce it with the same code in .Net Core 2.1.
I'm using the .Net Generic Host  instead of the ASP.NET Core Host (not sure if it is relevant). Here's my code.
I'm basically printing a single value taken from the an AzureAppConfiguration service. If I enable the polling with the Watch method, after a few seconds I see the following exception:
System.Threading.Tasks.TaskCanceledException: 'A task was canceled.'

Stack trace:
   at System.Reactive.PlatformServices.ExceptionServicesImpl.Rethrow(Exception exception)
   at System.Reactive.Stubs.<>c.<.cctor>b__2_1(Exception ex)
   at System.Reactive.AnonymousSafeObserver`1.OnError(Exception error)
   at System.Reactive.Linq.ObservableImpl.SelectMany`2.ObservableSelector._.InnerObserver.OnError(Exception error)
   at System.Reactive.Linq.ObservableImpl.Select`2.Selector._.OnError(Exception error)
   at System.Reactive.Linq.ObservableImpl.Where`1.Predicate._.OnError(Exception error)
   at System.Reactive.Linq.ObservableImpl.Concat`1._.OnError(Exception error)
   at System.Reactive.Linq.ObservableImpl.Delay`1.Base`1.L.DrainQueue(ICancelable cancel)
   at System.Reactive.Concurrency.Scheduler.<>c.<ScheduleLongRunning>b__73_0(Action`1 a, ICancelable c)
   at System.Reactive.Concurrency.DefaultScheduler.LongRunning.<>c__DisplayClass1_0`1.<ScheduleLongRunning>b__0(Object arg)
   at System.Reactive.Concurrency.ConcurrencyAbstractionLayerImpl.<>c__DisplayClass7_0.<StartThread>b__0()
   at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading.ThreadHelper.ThreadStart()

Same here, we started getting this error this morning, and still happening.
Seems some service side issue?
Unhandled Exception: System.Net.Http.HttpRequestException: The operation was canceled. ---> System.Threading.Tasks.TaskCanceledException: The operation was canceled.
at System.Net.Http.ConnectHelper.ConnectAsync(String host, Int32 port, CancellationToken cancellationToken)
--- End of inner exception stack trace ---
at System.Net.Http.ConnectHelper.ConnectAsync(String host, Int32 port, CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.CreateConnectionAsync(HttpRequestMessage request, CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.WaitForCreatedConnectionAsync(ValueTask1 creationTask)    at System.Net.Http.HttpConnectionPool.SendWithRetryAsync(HttpRequestMessage request, Boolean doRequestAuth, CancellationToken cancellationToken)    at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)    at System.Net.Http.DiagnosticsHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)    at Microsoft.Azure.AppConfiguration.Azconfig.AzconfigHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)    at Microsoft.Azure.AppConfiguration.Azconfig.AzconfigMessageInvoker.SendAsync(Func1 requester, CancellationToken cancellationToken)
at Microsoft.Azure.AppConfiguration.Azconfig.AzconfigClient.GetCurrentKeyValue(IKeyValue keyValue, CancellationToken cancellationToken)
at System.Reactive.PlatformServices.ExceptionServicesImpl.Rethrow(Exception exception) in D:\a\1\s\Rx.NET\Source\src\System.Reactive\Internal\ExceptionServicesImpl.cs:line 16
at System.Reactive.Stubs.<>c.<.cctor>b__2_1(Exception ex) in D:\a\1\s\Rx.NET\Source\src\System.Reactive\Internal\Stubs.cs:line 16

Hello @Iscgx and @dawwa. This is currently a known issue with our provider that we are seeking to address. The watch capability does not retry at an adequate level when presented with transient network errors. Unfortunately, this causes the polling to stop when an exception like this occurs. Currently, there is no work around, the entire configuration object would have to be created again to keep polling. We are looking to get a new version out soon that will prevent this from occurring.
Also worth mentioning here is we do plan on reworking the polling mechanism a bit so that the polling does not occur "magically" under the hood with no control mechanism available in code. Rather, the trigger for refreshing will be accessible. This will allow everyone to refresh the configuration as they desire, whether per request, on a timer, or any desired criteria. We will of course provide integration points to make it easy to hook this up where possible.

This should be fixed in our latest release. We updated the observable to not enter a detached state if there are transient network errors.
Package: https://www.nuget.org/packages/Microsoft.Extensions.Configuration.AzureAppConfiguration/1.0.0-preview-008920001-990
Release Notes: https://github.com/Azure/AppConfiguration/blob/master/releaseNotes/MicrosoftExtensionsConfigurationAzureAppConfiguration.md


Update error wording to reflect actual cause

Problem
Error message thrown in case of wrong account ownership is too restrictive, and can mislead the developer.
Example: an Account<'info, MyData> in an endpoint's derive(Accounts) struct is validated to be owned by program Z (#[account( owner = Z::ID )]), but when a client call provides instead an account owned by Y, the validation fails (good) with the confusing error message The given account is not owned by the executing program (bad).
Summary of Changes
Move to suggested error enum name and error message:
#[msg("The given account is owned by a different program than expected")]
AccountOwnedByWrongProgram,

Fixes #1100

@losman0s pls sign the commits in this pr and force push

@losman0s pls sign the commits in this pr and force push

@paul-schaaf Done

Problem
Error message thrown in case of wrong account ownership is too restrictive, and can mislead the developer.
Example: an Account<'info, MyData> in an endpoint's derive(Accounts) struct is validated to be owned by program Z (#[account( owner = Z::ID )]), but when a client call provides instead an account owned by Y, the validation fails (good) with the confusing error message The given account is not owned by the executing program (bad).
Summary of Changes
Move to suggested error enum name and error message:
#[msg("The given account is owned by a different program than expected")]
AccountOwnedByWrongProgram,

Fixes #1100

this is not correct btw. this error is not thrown when an owner check fails (which would be the ConstraintOwner error)

https://github.com/project-serum/anchor/pull/1154#issuecomment-996647707
because this is wrong, the changelog isnt quite accurate either. this change does not affect the owner validation macro. It's the Account<'a, T> owner validation that fails

@paul-schaaf Does the updated PR description and changelog fit better now?

@losman0s yes


New version: BEAST v1.2.0

Registering package: BEAST
Repository: https://github.com/krcools/BEAST.jl
Created by: @krcools
Version: v1.2.0
Commit: 10be2e4efa2d3a92e2450be47a39369380b3e9e0
Git reference: master
Release notes:

Better support for systems of time domain integral equations
3D FEM Assembly with scalar and vector elements

working on it...


Update hemisphere slicing

Before submitting a pull request (PR), please read the contributing guide.
Please fill out as much of this template as you can, but if you have any problems or questions, just leave a comment and we will help out :)
Description
What is this PR

[x] Bug fix
[ ] Addition of a new feature
[ ] Other

Why is this PR needed?
See the discussion in https://github.com/brainglobe/brainglobe-atlasapi/issues/330
What does this PR do?
If the atlas is marked as symmetrical in the metadata the midpoint is now calculated by taking the mean of the root mesh bounds for each axis. If the atlas isn't marked as symmetrical the previous behaviour is maintained.
References
https://github.com/brainglobe/brainglobe-atlasapi/issues/330
How has this PR been tested?
Tested locally by visual inspection.
For an asymmetric atlas:
scene = Scene(atlas_name="mpin_zfish_1um")
scene.add_brain_region("hindbrain", hemisphere="right")
scene.add_brain_region("forebrain", hemisphere="left")
scene.render()

For symmetric atlases:
scene = Scene(atlas_name="allen_cord_20um")
scene.add_brain_region("WM", hemisphere="left")
scene.render()

scene = Scene(atlas_name="allen_mouse_25um")
scene.add_brain_region("CTX", hemisphere="left")
scene.render()

Is this a breaking change?
No
Checklist:

[x] The code has been tested locally
[x] The code has been formatted with pre-commit

I unmarked it because this approach fails with the new axolotl atlas, so I was going to do some more investigating!

This fix works appropriately if the axolotl and other asymmetric atlases have the correct metadata tag. I've opened https://github.com/brainglobe/brainglobe-atlasapi/issues/359 to track this issue. However, I believe this PR is ready to go in.


Added descriptions for the commands in the Dockerfile & Changed the format of passing arguments to an Array in action.yml file

Pull Request Description:
Change 1:
Changed the actions.yml file's arguments section, converted it to an array type:
args: ['--skip-git', ${{ inputs.to-scan }}]
Change 2:
Added descriptions to the Dockerfile commands to make it more understandable.

These commands are self-explanatory, we should not add comments for obvious things as it makes the code less readable.


change some links from http to https

Change some links from http to https, more security.

eeehh, sure. Thanks!

out in 1.5.15, thanks!


Fix ui issues

Closes https://github.com/jupytercad/JupyterCAD/issues/546
Closes https://github.com/jupytercad/JupyterCAD/issues/547

Bot please update snapshots


Account for modifier acceptance in engine movers

Closes #794 for all OPS classes
However, a new issue should be opened to discuss a refactor of EngineMover to take this and the other bias options described in this comment into account for OPS 2.0.
Custom implementations of both EngineMover and SnapshotModifier should tyake care to implement this correctly on their end.
Big assumption (that might break API): A key that starts with "bias" should not be present in run_details if it is not intended to be used for the bias calculation of a sample
todo:

[x] add functionality
[x]  add tests
[x]  update docstrings
[x]  make touched files pep8 compliant
[x]  remove nose from touched tests (partial #756)

commit descriptions:
4f017dd adds probability_ratio to snapshot modifiers
ad7fad0 allows the usage of this probability ratio to be used as a bias in EngineMovers
0e42bb9 reverts an oversight in my thought pattern about the acceptance bias of velocities that are directly sampled from the correct boltzman distribution
ad33488 and b351417 add tests for the added functionality
abf0d99 alters the docstrings that were already present
276e3b3 fixes pep8 complaints from my env
f591ca7 drops nose from the tests
8a6057e Fixes an py2.7 issue in the tests where you can't initiate a class without overwriting all abstract methods
[Edit]: added a link to the mentioned comment

@dwhswenson This is ready for a review, all tests pass.
Codecov issues are in code that was only altered to deal with pep8 (276e3b3). Do you have any tips on what kinds of tests should be added for that, or should I just revert the changes?
I would advice to have a look at the diff between abf0d99 and master and then the changes of 276e3b3 (should only be style, no altered code/functionality) and f591ca (only changes the tests)
Also, we should add an API 2.0 issue to at least align the init call of AbstractTwoWayShootingMover with EngineMover but preferably also refactor EngineMover to introduce the proposed stages with their associated bias calculations


[BUG]

Error isntallation on windows 11 with flutter 3.16. here the log

and when i rey to use fvm with anything, its just say
Cannot find file at '..\lib\fvm\bin\fvm.exe' (C:\ProgramData\chocolatey\lib\fvm\bin\fvm.exe). This usually indicates a missing or moved file.
please help guys. Thank you.

I have the same bug, tried downgrading flutter and dart since I thought it was because fvm is not up to date with the latest dart sdk or something but still got this issue.

For now i downloaded fvm from the github repo's releases, but does fvm have an updater feature? If not, getting it via chocolatey is more convenient because i can check for updates and install them.
Hope this gets looked into.

@congfandi can you try installing the beta version from Chocolatey and see if the issue persists?

@congfandi can you try installing the beta version from Chocolatey and see if the issue persists?

is there any link or tutorial can read about the beca version @leoafarias ? iam new with windows env

Closing this as it seems it has been resolved based on the comments


Getting "No application found" when signing transaction

I'm trying to sign and complete a transaction via Trust Wallet from my react-native app, but I get this error after clicking the "sign" button on the transaction confirmation page. Can you tell me what the source of the issue might be?
I am using version 0.0.6 of the react-native-trust-sdk.

My react-native code:
`
ToAddress = '0x3408a7c8B4104B2ee03F70a15d705256fDF97605';
amount = '1000000000000000';
appScheme = 'com.myapp://';
wallet = new TrustWallet(appScheme);
payload = new TransactionPayload(toAddress, amount, 'test payment');

wallet.signTransaction(payload)
.then((result) => {
  console.log('Transaction Signed', result);
})
.catch((error) => {
  console.log('Error', error);
});

}`

we re-implemented rn sdk with multi coin support, close old issue now


Permission REQUEST_INSTALL_PACKAGES

Hello, Why is this plugin adding REQUEST_INSTALL_PACKAGES to the app's manifest file?
Thanks

Hi, I had a use case to install an app by sending an intent so that required this permission. That is the only use case that needs it so feel free to fork and delete if this is giving your users concerns

Oh ok, it's makes sense. Has anyone reported issues  raised by Google when submitting apps?
Thanks @darryncampbell

No, nobody has reported any issues but the play store requirements are always subject to update. Are you seeing issues raised?

@darryncampbell We had a couple of issues using cordova-plugin-app-update and I was updating one of our apps and saw the permissions list and was curious. If I have any problems in the future I'll let you know

Ok, thanks for making me aware, I'll also keep an eye out for play store policy changes


Migrate memfd constants to libc

This will fail because rust-lang/libc#836 is not merged yet, but just getting it staged for when it is.

@asomers So it looks like some of the memfd constants aren't on musl targets, so when I filed rust-lang/libc#836 I left it off those platforms. But I'd think that even if it isn't offered by musl, it should be available on all linux platforms as it's a kernel interface, but I'm not certain if that's correct. I've pinged the libc people about it so we'll see what they say.

bors r+


Add array protocol to transforms.Affine

Description

This allows us to treat our Affine transforms like normal arrays, which gives us a lot of convenient functionality, such as composing two Affine transforms by @-multiplying them. After repeatedly falling into the trap of trying layer1.affine @ my_affine_matrix and having it blow up in my face, I thought this would be a nice addition to the API. =)
Type of change

[x] New feature (non-breaking change which adds functionality)

References

How has this been tested?

[ ] example: the test suite for my feature covers cases x, y, and z
[ ] example: all tests pass with my change

Final checklist:

[x] My PR is the minimum possible work for the desired functionality
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have added tests that prove my fix is effective or that my feature works

LGTM! looks like there are some flake8/ black errors. I'd be happy to merge after that! thanks for adding test :-)

LGTM! looks like there are some flake8/ black errors. I'd be happy to merge after that! thanks for adding test :-)

Oops, I wonder why my dev environment was broken. 😕 I'll push a fix in the morning.

Oops, I wonder why my dev environment was broken. 😕 I'll push a fix in the morning.


add missing context manager release, fix memory leak

Signed-off-by: Viktor Stanchev<EMAIL_ADDRESS>

Please sign your commits following these rules:
https://github.com/docker/docker/blob/master/CONTRIBUTING.md#sign-your-work
The easiest way to do this is to amend the last commit:
$ git clone -b "fix-missing-ctx-release" git@github.com:vikstrous/distribution.git somewhere
$ cd somewhere
$ git rebase -i HEAD~842354129064
editor opens
change each 'pick' to 'edit'
save the file and quit
$ git commit --amend -s --no-edit
$ git rebase --continue # and repeat the amend for each commit
$ git push -f

Amending updates the existing PR. You DO NOT need to open a new one.