Unresolved reference: storageAccessCallback

i following on documentation but i dunno why its unresolved ?

all callback is unresolved did u know why ? like on storageHelper.filePickerCallback
for example
lateinit var storageHelper: SimpleStorageHelper

onCreate... {
storageHelper = SimpleStorageHelper(this)
....
...
..
}
private fun setupFilePickerCallback() {
        storageHelper.filePickerCallback = // all instance of the SimpleStorageHelper always unresolved for example all callback

I have tested it with v1.1.0 on 3 different projects, no compile error happened:

Please check your project configurations again. Usually, the wrong config happens in the following files:

gradle.properties
build.gradle
gradle-wrapper.properties

gradle.properties

# Project-wide Gradle settings.
# IDE (e.g. Android Studio) users:
# Gradle settings configured through the IDE *will override*
# any settings specified in this file.
# For more details on how to configure your build environment visit
# http://www.gradle.org/docs/current/userguide/build_environment.html
# Specifies the JVM arguments used for the daemon process.
# The setting is particularly useful for tweaking memory settings.
org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8
# When configured, Gradle will run in incubating parallel mode.
# This option should only be used with decoupled projects. More details, visit
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
# org.gradle.parallel=true
# AndroidX package structure to make it clearer which packages are bundled with the
# Android operating system, and which are packaged with your app"s APK
# https://developer.android.com/topic/libraries/support-library/androidx-rn
android.useAndroidX=true
# Automatically convert third-party libraries to use AndroidX
android.enableJetifier=true
# Kotlin code style for this project: "official" or "obsolete":
kotlin.code.style=official

build.gradle

    // storage
    implementation "com.anggrayudi:storage:1.1.0"
    implementation 'com.afollestad.material-dialogs:core:3.3.0'

gradle-wrapper.properties

#Sat Oct 16 08:02:31 WITA 2021
distributionBase=GRADLE_USER_HOME
distributionUrl=https\://services.gradle.org/distributions/gradle-7.0.2-bin.zip
distributionPath=wrapper/dists
zipStorePath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME

The callbacks are not interface. They are Kotlin lambda. Remember that SimpleStorageHelper wraps SimpleStoreage class. They are not the same class. Please read this documentation: https://github.com/anggrayudi/SimpleStorage#simplestoragehelper


Install ember-truth-helpers for demo app

I would like to see... 🙋♀🙋♂
When I first designed the demo app, I wrote custom logic helpers and, eq, and or as they became needed. In hindsight, I should have installed ember-truth-helpers instead.
Why and how 💬
A core idea behind Ember is shared solutions. Rather than reinventing the wheel, let's install a time-proven addon to maintain the demo app. This will also help the demo app better match the environment under which an addon user might be developing their own app.
After installing the addon, please remove the custom helpers and rendering tests (if there are any).
Additional context ➕
Please follow the Installation instructions and check that package.json lists ember-truth-helpers in devDependencies.

General notes: To allow more people to participate in Hacktoberfest, please claim only 1 issue (unless there are no others who can help). 🙂

I would like to work on this card, could you please assign to me?
Thanks!

Hi, @vvkpd . Thanks for your interest in helping out with ember-container-query. Let me know if you have questions!

Hi, @vvkpd. I want to make a release shortly after October ends. I'll be accepting @esbanarango's pull request.


Update cats-effect to 3.3.6

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

Files still referring to the old version number
The following files still refer to the old version number (3.3.5).
You might want to review and update them manually.
README.md

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.typelevel", artifactId = "cats-effect" } ]

labels: library-update, early-semver-patch, semver-spec-patch, old-version-remains, commit-count:1

Superseded by #49.


std.exitif exits without a message on windows.

stdout is disabled, so it needs to be an infobox.

Not sure how to fix this. Make a custom th.exitif? Ship a patched version of std.um?

Does it happen in a custom tophat build? Otherwise, why is the stdout disabled?

Normally, errors in tophat are reported through system dialogs so they are visible to users not running from terminal, but that's not the case for exitif. I think that's what ske means.

Can we close the issue?
  f, err := std.fopen("test.test", "rb")
  std.exitif(err)

Yep


Add support for tty. Fix path_open

Add support for tty. Fix path_open
This is needed for running openssl in the browsers

@syrusakbary Let me know when this is good to go, I can do a final review and merge 😄


Elasticsearch Config as bundle config instead of one array parameter

Description
Using an array parameter has huge disadvantages:

Parameters in Symfony are one-dimensional, so it is impossible to e.g. just adjust the number of replicas without copying the whole parameter.
The parameter array is not validate whereas with a bundle configuration it would be which would result in an error quite early, e.g during cache clear with warmup command.
This means also that defining the parameter manually allows one to basically set an empty array as parameter which means all configuration is gone.

Using bundle configuration like you do for the framework etc. would make more sense and solve all these issues.

its since a month as symfony config


panic: proto: duplicate extension registered: descriptor.MethodOptions 72295728

Jaegertracing and Istio.io dependencies have some problem to work together.
https://github.com/istio/istio/issues/35277
I couldn't find a good workaround to avoid this problem, that can be easily reproduce with this example:
https://github.com/lucasponce/lucas-demos/blob/main/go.mod
So, I'm opening both issues in jaegertracing and istio projects as I think that consumer of both clients, like the Kiali project, are affected by this.
What would be the ideal ? To have a jaeger client that can be consumed by go programs to have minimal dependencies to use the api_v2 and query.proto APIs.
Something like this minor PoC:
https://github.com/lucasponce/jaeger-backend-client
But ensuring that it has not incompability with other clients (kubernetes, istio) that are also using grpc clients.

Sorry, I don't follow what the problem is and what you're trying to do. If you need to access Jaeger data via gRPC/proto, then we publish the proto files in jaeger-idl and you can do whatever you want with them, it does not create any dependency on jaeger/go.mod.

@yurishkuro the api_v2 has dependencies with the jaegertracing/jaeger/model package, so you can't recreate them without cloning the main jaeger project.
https://github.com/kiali/kiali/blob/master/jaeger/client.go#L15
Perhaps if there is a way to perform that queries without those dependencies using grpc (api_v2, I saw changes in api_v3) I'm willing to refactor the Kiali codebase.

the api_v2 has dependencies with the jaegertracing/jaeger/model package

Only if you're importing internal packages of Jaeger backend. We do not mark them internal/ explicitly, but that is the intention. By importing them you will always run the risk of incompatibilities.  Proto is the API, not the internal model/ package.

Proto is the API, not the internal model/ package.

I think that for the api_v2, the TraceID are still pulling the model package, also to manipulate them:
https://github.com/jaegertracing/jaeger-idl/blob/master/proto/api_v2/query.proto#L54
https://github.com/jaegertracing/jaeger-idl/blob/master/proto/api_v2/model.proto
Kiali only performs a fetch all traces, fetch trace with ID using grpc:
https://github.com/kiali/kiali/blob/master/jaeger/client.go#L167
But for those grpc queries in api_v2, I don't see how we can bypass the model/ package.
Trying to clone the minimal dependencies and only rely with the .proto creates some kind of binary conflicts as well.

@yurishkuro is there any example of similar queries that can be run against Jaeger without the need to pull the model dependency ?
If I'm failing in some aspect of the API I'd like to simplify that logic.

Well, think about how you would query Jaeger if your system was all in Java. You would not have any code dependency on Jaeger backend, you would only depend on the proto API, and would generate your own classes / gRPC client. So my suggestion is that even if your system happened to be in Go, you don't build dependencies on Jaeger code, only on the proto API.

@yurishkuro I see your point, and that's should be the goal, to only depend of an auto-generated .proto.
But I think the jaeger api_v2 is not yet there, it has some dependencies with the TraceID model and the way those ids are marshalled into grpc.
Not a blocker, with some adjustments in the .proto a user may have a working example with no dependencies with the jaeger code.
https://github.com/lucasponce/jaeger-proto-client
I'd ask to see if the api_v2 could also be improved in that way, but in any case, with the workaround of the example I guess I can perform those changes in kiali code base, we'll remove the jaeger dependencies and rely mostly on the .proto (with the exception to some manipulation with the custom Ids).

What trace-id dependencies are you referring to? Our internal domain model uses a custom type for ids but it does not affect how they are represented in proto - array of bytes. You may need to remove gogo annotations from proto.

What trace-id dependencies are you referring to? Our internal domain model uses a custom type for ids but it does not affect how they are represented in proto - array of bytes. You may need to remove gogo annotations from proto.

That's what I did in the example, but if you look the code, some dependency on the model is necessary:
https://github.com/lucasponce/jaeger-proto-client/blob/main/jaeger-client.go#L35
In short, the proto is not enough to access to the API, and the client needs to recreate - at least - the helpers to manipulate the ids.

Do you mean this call to model.TraceIDFromString?
	sTraceId := "2400171a1ac3b1cffde1fd36fd401ad0"
	traceId, err := model.TraceIDFromString(sTraceId)

I wouldn't consider it as a necessary dependency - all this function is doing is converting hex string to bytes.

but if really desired, I wouldn't mind having this conversion in jaeger-lib

Thanks, I'm still working on it. When I have tested the scenario I can add a list of potential helper that would be nice to have them in jaeger-lib.

Please feel free to contribute @lucasponce if it makes sense, closing this off for now due to age.


material.js doesn't load in zipped templates

<script src="../dist/js/materialize.js"></script>

Doesn't work because dist/ is not include in zip file.
Changing it to <script src="js/materialize.js"></script> in the zip will fix this.

Fixed in 0e8955b


Google Analytics Devices Showing in Not Set

Hi,
I am facing problem in Mac build of unity.
I am using the code snippet below:
I am using the basic LogScreen() method but when i see my account after run the mac build, what i m see is,
In Real Time Category , one desktop is online but when i go for further details like "Session By Operating System", then it will show (not set) along with number of sessions.
I checked all session after two days also but i am getting the same issue. I am not able to figure out this problem for last two days. Please share your thoughts, what i am doing wrong.
I want to hearing from you. I hope you will help me.
Thanks in advance.
Thanks & Regards,
Rajan Walia (Unity Developer).

I too am having this issue.
After googling for long periods of time I cannot figure out how to manually send the operating system or version to analytics.
It is not set automatically, and after digging through all public documentation for the measurement protocol and other analytics APIs I'm forced to conclude that this is not something Google wants us to call manually.
This is a serious problem for multiplatform unity applications that have platform dependent analytics.

I believe these are probably sent by the unity player. Remove analytic support for standalone playback, does that fix ?


Can we use git git submodules for locales?

The devise-i18n gem has all the locales files we need. So if we use git submodules for the locales you can centralize them in one place and no need to update them in two different places anymore.

Please @hisea can we make this? Do you want me make a pull request?

sure, please go ahead if you want to do a PR.


ENH: Isolate MPI code in Image Driver

@tbohn recently asked if it is possible to compile and run the VIC image driver without MPI.  This is currently not possible but sand-boxing the MPI code should be possible.

Yes agreed - although for any larger scale applications the use of MPI would be a must-have, since "poor man's parallelization" a la vic_classic is no longer possible. Keep in mind that you can run with mpi on a single processor, so this seems to be mostly a compilation issue and using MPI is not that onerous on most systems (not sure about windows),
So I would leave this as a low priority for now (someday as a milestone seems about right).

This is fine with me too as I was simply asking to find out what my options were - at the time, my machine didn't have mpi.

Actually - maybe we leave this as-is and instead focus on getting VIC to compile within a container architecture. That would require users to install Docker or something like it, but it would take away the need for compilation on different systems.
So my vote for now would be to mark this as "won't fix" and instead focus on issue #350.

Okay, closing then for now.  We can reopen if someone is interested in the future.


WSS Example throw an exception when i use netcat  to check whether port in the listening state

Repeat steps:
1, start SSLServerExample
2, start SSLClientExample
At this point, the client and the server can be normal interaction.
3, use netcat check WSS port is ok
#nc - vw 2 - z <IP_ADDRESS> 8887
#[<IP_ADDRESS>] 8887 (?)The open
Test results is normal, but SSLServerExample throw the following exception:
Java. IO. IOException: connection closed unexpectedly by peer
The at org. Java_websocket. SSLSocketChannel2. ProcessHandshake (SSLSocketChannel2. Java: 118)
The at org. Java_websocket. SSLSocketChannel2. < init > (SSLSocketChannel2. Java: 75)
The at org. Java_websocket. Server. DefaultSSLWebSocketServerFactory. WrapChannel (39) DefaultSSLWebSocketServerFactory. Java:
The at org. Java_websocket. Server. WebSocketServer. Run (WebSocketServer. Java: 317)
The at Java. Lang. Thread. The run (Thread. Java: 745)
Java. Lang. NullPointerException
The at org. Java_websocket. SocketChannelIOHelper. Read (SocketChannelIOHelper. Java: 12)
The at org. Java_websocket. Server. WebSocketServer. Run (WebSocketServer. Java: 327)
The at Java. Lang. Thread. The run (Thread. Java: 745)
When I check the port again, output is like following:
#[<IP_ADDRESS>] 8887 (?): connection refused
When I check the WebSocketServer.java source, found that when catch exceptions
catch (IOException ex) {
if (key! = null)
key. The cancel ();
handleIOException (key, conn, ex);
}
Th key variables associated with SocketServerChannle, after cancel and close the channel, the server will no longer receive new connection requests.
Please forgive my poor English. Thanks

From what I see, WebSocketServer. Java: 327 is empty and WebSocketServer. Java: 327 cannot NPE, conn is not null (it's used before).
Which version are you using?
Also, would you mind pasting the real stack trace?

Thank you for your prompt reply.
I use java_websocket 1.3.0, so it may be different from the current call stack. My call stack is:
java.io.IOException: connection closed unexpectedly by peer
Connection closed because ofjava.io.IOException: connection closed unexpectedly by peer
	at org.java_websocket.SSLSocketChannel2.processHandshake(SSLSocketChannel2.java:118)
	at org.java_websocket.SSLSocketChannel2.<init>(SSLSocketChannel2.java:75)
	at org.java_websocket.server.DefaultSSLWebSocketServerFactory.wrapChannel(DefaultSSLWebSocketServerFactory.java:39)
	at org.java_websocket.server.WebSocketServer.run(WebSocketServer.java:317)  -- now is line 312
	at java.lang.Thread.run(Thread.java:745)

Sorry, my operation error.

oh, took me a while to realize your stacktraces are reversed, the IOException happened at org.java_websocket.SSLSocketChannel2.processHandshake(SSLSocketChannel2.java:118) and the NPE at org.java_websocket.SocketChannelIOHelper.read(SocketChannelIOHelper.java:12).
Could you try and compile master to see if it hasn't been fixed by a recent commit and so it's easier to see which line correspond to which in your stacktraces?

I download the latest master code, and run SSLServerExample and SSLClientExample, everything seems to be very good, but when I use netcat(nc -vw 2 -z <IP_ADDRESS> 8887) to check whthere the server is ok, the server side called the exception as follows:
java. lang. NullPointerException
the at org. Java_websocket. SocketChannelIOHelper. Read (SocketChannelIOHelper. Java: 14)
the at org. Java_websocket. Server. WebSocketServer. Run (WebSocketServer. Java: 322)
the at Java. Lang. Thread. The run (Thread. Java: 745)

The client output:
Disconnected

Thanks

Hm, I suppose netcat doesn't implement the websocket protocol. That'd explain the error in the handshake.
We might want to consolidate the error handling in case of erroneous protocol, but I don't think it prevents you from using the lib with a real client.

Thank you for your reply.
WebSocket client and server can normally interaction, but if the server become unavailable when someone just check whethere the server port can connect, scanning is not available on the server, this may seems a bit fragile.

Does this crash the server or just print a stacktrace?

Yes, after the port scan, the server is not receiving the new request.

The stacktraces look different, but the symptoms are the same as #326.

My god you guys are pussies...
the bugs aren't in TooTallNate's code,  their in yours or those of your
clients' monoliths.
if you wanna expand on TTN's work then start a new, OPEN SOURCE
project....  who cares what your boss thinks.
On Sat, Aug 22, 2015 at 8:04 PM, Henry Dwyer<EMAIL_ADDRESS>wrote:

The stacktraces look different, but the symptoms are the same as #326
https://github.com/TooTallNate/Java-WebSocket/issues/326.
—
Reply to this email directly or view it on GitHub
https://github.com/TooTallNate/Java-WebSocket/issues/337#issuecomment-133736303
.


[Bug]: No error for invalid usage of cloneReadOnly when the CET is a union

Description
$title.
Steps to Reproduce
import ballerina/io;

type Employee record {|
    string[] name;
    int id;
|};

public function main() {
    json j = {};

    // Employee _ = j.cloneReadOnly(); // error as expected: incompatible types: expected 'Employee', found 'json & readonly'
    Employee|error e = j.cloneReadOnly();

    io:println(e is error); // false
    io:println(e is Employee); // true

    if e is Employee {
        _ = e.name[0]; // crashes: NPE
    }
}

Affected Version(s)
2201.3.1
OS, DB, other environment details and versions
No response
Related area
-> Compilation
Related issue(s) (optional)
No response
Suggested label(s) (optional)
No response
Suggested assignee(s) (optional)
No response

Same for anydata also.


Migrate lccs fetch chart data

This PR adds some basic stores to fetch timeseries data used for the chart component.

 LCCS: Add data fetching and transformation

@clhenrick I added chroma-js. Not sure how to resolve the conflict in package-lock.json

@mukhtyar try doing a rm package-lock.json && npm i. Doing a reinstall should fix it.

@clhenrick still see the message from gihtub about a conflict. Is that because I added a new dependency to chroma.js?

@clhenrick still see the message from gihtub about a conflict. Is that because I added a new dependency to chroma.js?

@mukhtyar I'm not sure, but I don't think that would be the issue.
Q: If you do
git checkout main
git pull origin main
git checkout migrate-lccs-fetch-chart-data
git merge main

and then inspect the conflict in the package-lock.json file, what do you see?

@clhenrick should I check against the develop branch or main?

@clhenrick should I check against the develop branch or main?

@mukhtyar my bad, try develop

@clhenrick some of the @babel/helper references are out of sync


Camera Rotation Skips & Inverts for 20 Degrees

Background & Specs:
I'm using Pimax headset w/SteamVR Plugin Beta on 2020.1 (both on latest as of today). I tested on 2019.4.3f1 and this does not happen there. This was always happening on 2020.1 since I started using it about two weeks ago. I can't say whether it happened on 2019 in the past, as I had previously only used Unity's XR and didn't have the issue there, but again 2019 is fine now and 2020.1 not so.
Issue:
When physically rotating in playspace, at about the 128 degree mark on the Y axis (as listed on the Transform's Rotation reading for the VRCamera object on the Player rig), the view snaps to -50 degrees (almost inverting perspective). It'll keep rotating in that range until about -70 degrees, at which point it snaps back to about 108 degrees. Again, all of this is on Y axis.
I'm not really sure what files or data could help, but please do let me know and I'd be happy to oblige.

Can anyone from Valve comment or make any suggestions? I just tried again on 2020.2.0f1 and it's still happening.

BTW in case it's unclear, the issue happens when physically rotating the headset in real life. This has nothing to do with code and is as simple as getting the project setup with SteamVR, dropping a Player rig, and hitting play.

One more update in case it helps any potential investigation: The brand new OpenXR plugin works just fine with the Pimax, so this is definitely a Pimax->SteamVR bug that only manifests in 2020+.

Just posting here that I'm experiencing an identical issue on Valve Index using 2019.3 during an attempt to convert from pure SteamVR Unity plugin 2.6.1 (legacy OpenVR) to a hybrid UnityXR with SteamVR input on PC.

Just posting here that I'm experiencing an identical issue on Valve Index using 2019.3 during an attempt to convert from pure SteamVR Unity plugin 2.6.1 (legacy OpenVR) to a hybrid UnityXR with SteamVR input on PC.

Hey,
I'm seeing the exact same issue.
I'm using a Pimax 8K X for reference. I've noticed this problem in the ValheimVR mod and in Blade & Sorcery 9.2.
B&S had moved away from the unity XR plugin in 9.3 which resolved the problem for me in this game.
More than happy to provide any log/file necessary.

So there's been a lot of chatter on this in the Pimax community, as I predicated back in 2020. I wanted to add some newer details I've discovered.
So I've since switched to using an interaction framework called HurricaneVR, which is also affected by this bug. However, I discovered when changing the Tracked Pose Driver (which I believe is a UnityXR component it leverages) “Pose Source” field from the default “Center Eye - HMD Reference” to "Head" should alleviate the issue with Pimax. However, that's obviously with a different SDK than SteamVR, which by the sounds of it still suffers from this issue. I just hope that workaround might be a hint as to where the problem lies.

Same problem over here upgraded to Unity 2020+ and this is happening. Just even clean steam vr nothing at all + UnityXR. cant find any solution maybe someone will look at this.


specs: general improvements on readbility

Besides the readability improvements, new tests were added and other
moved as js unit tests.
Signed-off-by: Vítor Avelino<EMAIL_ADDRESS>

Thanks :clap:


Layout not centered

Looks like this got past us when I removed the fixed footer and added a flex to the layout. I forgot to add align-items: center and didn't notice on my smaller screen.

@marcellmueller this was fixed with #476, right?

Yes this is fixed, closing.


 I don't think these are actually useful, and we should find a way to stop them.
There is a suggestion presented here: https://stackoverflow.com/a/39801321 -- it basically monkey-patches the Django migrations to ignore these fields. I'm not in love with this solution, but I also think we should find a way to fix this, as it causes a lot of issues with new contributors.

I'd say I'm -1 on this probably. What about a CI check that does something similar to:
./manage.py makemigrations --check --dry-run

(We don't have a django version that supports this yet)
Similar: https://gist.github.com/nealtodd/a8f87b0d95e73eb482c5
A simple test case could error out when a migration is required.

Thats good and all, but it still leaves a tangled mess of migration filenames and PR's.

I'd be against of hacking the makemigrations command because we could be breaking things without noticing them immediately but, reading the answer from Andrew here (https://code.djangoproject.com/ticket/21498#comment:6) and the whole discussion, it seems that it could affect some weird usages of those fields so I think we will be safe on ignoring those fields.
I'd say that we want to have both things:

a check in the CI
do not generate migrations files for non-db fields

Since it seems there is not a better solution for this, I'd go over the monkey patch one which we could improve later if we find a better one.

I think this is 2 phase. Fix the current errors, then use CI to ensure that any new changes that should incur a migration make a corresponding migration. The fact that we have missing migrations now is a secondary issue to this -- the main issue is that users don't know they need to create these when making changes, linting, etc.

I understand the annoyance when changing content of text but some of these are from different types which are worth to fix imho.

This is going stale, so we should either accept or close it probably. I'm -1 on monkeypatching, as i think it will give us different problems or inconsistencies. I hesitate getting too creative with anything that touches out db at such a low level.
We can easily add the missing migrations, but to automate for future consistency, i think a simple CI check to fail PRs without necessary migraitons solves the problem we have.

+1 on CI check

We have this migrations to apply before we can do something, the migrations for integrations are the trickiest
Migrations for 'builds':
  readthedocs/builds/migrations/0005_auto_20181025_1710.py
    - Alter field error on build
    - Alter field output on build
    - Alter field state on build
    - Alter field type on build
    - Alter field privacy_level on version
    - Alter field slug on version
    - Alter field type on version
    - Alter field from_slug on versionalias
    - Alter field to_slug on versionalias
Migrations for 'gold':
  readthedocs/gold/migrations/0003_auto_20181025_1710.py
    - Alter field level on golduser
Migrations for 'integrations':
  readthedocs/integrations/migrations/0003_auto_20181025_1710.py
    - Create proxy model BitbucketWebhook
    - Create proxy model GenericAPIWebhook
    - Create proxy model GitHubWebhook
    - Create proxy model GitLabWebhook
    - Alter field integration_type on integration
Migrations for 'oauth':
  readthedocs/oauth/migrations/0009_auto_20181025_1710.py
    - Alter field clone_url on remoterepository
    - Alter field ssh_url on remoterepository
    - Alter field vcs on remoterepository
Migrations for 'projects':
  readthedocs/projects/migrations/0028_auto_20181025_1710.py
    - Alter field https on domain
    - Alter field comment_moderation on project
    - Alter field documentation_type on project
    - Alter field language on project
    - Alter field privacy_level on project
    - Alter field python_interpreter on project
    - Alter field version_privacy_level on project
Migrations for 'redirects':
  readthedocs/redirects/migrations/0002_auto_20181025_1710.py
    - Alter field redirect_type on redirect
    - Alter field to_url on redirect

@stsewd what is tricky about the integrations? Looks like it's just adding options?

@ericholscher the integrations app is creating models

Just proxy models, no?

Yeah, looks like so


fix(ripple): Trigger on key events

Fixes #41.
Re-implement the isSurfaceActive() adapter method to check for active state directly on the ripple surface element, instead of creating and updating an isActivated state variable.
Wire up the appropriate event handlers to call deactivate(e) in the foundation.

Codecov Report

Merging #72 into master will decrease coverage by 0.3%.
The diff coverage is 92.85%.

@@            Coverage Diff             @@
##           master      #72      +/-   ##
==========================================
- Coverage   99.17%   98.86%   -0.31%
==========================================
  Files          18       18
  Lines         607      618      +11
  Branches       49       49
==========================================
+ Hits          602      611       +9
- Misses          5        7       +2

Impacted Files
Coverage Δ

packages/ripple/index.js
96.29% <92.85%> (-2.28%)
:arrow_down:

Continue to review full report at Codecov.

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

The enter key typically does not cause :active to be applied. Only space does. Test it with a native button: https://codepen.io/kfranqueiro/pen/KRjGZO
This should ostensibly already be handled by the MDC Web ripple foundation, so I'm not sure why it needs to be reimplmented in React... https://github.com/material-components/material-components-web/blob/v0.35.2/packages/mdc-ripple/foundation.js#L340

Gotcha...I thought space and enter keys were supposed to do the same with buttons, etc.
RE Events: It is handled by the foundation, but we chose to not use the native html events, but instead use React synthetic events. The result of this is having to setup those event in the React Component.


Is ROCm-Debugger/GDB Deprecated? Any alternatives?

I was recently looking at how I might easily disassemble a GPU kernel created by a HC Program I have been working on. I found that the view ISA function in CodeXL doesn't support gfx906 yet and then found ROCm-Debugger which seems to be able to do this.
However it hasn't been updated since 2017.
It's instructions state that:

Note that both rocm-gpudebugsdk and rocm-gdb debian packages are included as part of the ROCm repo install.

But this is no longer the case, others users have discovered this already but their issue has not received any attention.
The current ROCM documentation states:

ROCm-GDB
The ROCm-GDB is being revised to work with the ROCr Debug Agent to support debugging GPU kernels on Radeon Open Compute platforms (ROCm) and will be available in an upcoming release.

This seems unlikely given that development stopped two years ago and had been regular before that.
Are there plans to resurrect ROCm-GDB? Any other ways to extract and disassemble a kernel from a HC Program? I will try using the rocr_debug_agent but it looks like a step backwards in usability and functionality compared to ROCM-gdb which looked to have had similar usage to gdb.
Also, I think that all the ROCm and GPUOpen repos could use a spring clean more generally, because there seem to be loads of other dead/zombie repos similar to rocm-gdb, where development stopped a while ago or moved elsewhere. However google still ranks these repos high up in search results (which is how I found them).
It would be useful if outdated repos were marked as Deprecated so that nobody is confused by why the instructions in them don't work or conflict with the main documentation.

You can ask the HCC compiler to emit assembly code by setting the environment variable  KMDUMPISA=1 You can control other compile-time mechanisms using similar environment variables. For example, KMDUMPDIR lets you configure where these files are saved to.
Set the environment variables before compiling your HCC or HIP kernels.
If you are running OpenCL, you can pass related flags in at kernel compilation time, or you can set them in the environment variable AMD_OCL_BUILD_OPTIONS_APPEND:

-save-temps will save ISA files for your kernels into the current working directory. You can set -save-temps=foo to append "foo" to all of the files that are dumped out.
You can also set -g to turn enable debug symbols.

You may want to match assembly lines back to source code lines. Our debug agent shows how you can use our included llvm-objdump to perform this.
To get your GPUs' graphics generation numbers, you can run:
`rocminfo | grep "Name:\ \+gfx" | awk {'print $2'}`

Then, to get an ISA file annotated with line numbers:

For OpenCL, run the following command on the .so file generated by -save-temps

/opt/rocm/opencl/bin/x86_64/llvm-objdump -mcpu=${GFX_NUM} -source -line-numbers _temp_${N}_${GFX_NUM}.so

Make sure you pass in -g when building the kernel. See the above note about AMD_OCL_BUILD_OPTIONS_APPEND for an easy way to do that.
${N} will change depending on how many OpenCL strings were passed into clBuildProgram.
You should change ${GFX_NUM} depending on the GPU graphics generation number of your target device.

For HIP and HCC, run this on the .isabin file generated by KMDUMPISA

/opt/rocm/hcc/bin/llvm-objdump -mcpu=${GFX_NUM} -source -line-numbers dump-${GFX_NUM}.isabin

You should build your kernel with -gline-tables-only passed in to the HCC compiler.
You should change ${GFX_NUM} depending on the GPU graphics generation number of your target device.

Thank you very much for all that info. Those environment variables should be added to the HCC wiki as I never knew anything like that was possible to do so easily. I will definitely be using llvm-objdump. I had naively tried something similar but only found references to 'Kalmar' in the assembly presumably this has something to do with how the ISA is stored in the ELF binary.
I'm guessing then that ROCm gdb has been replaced with rocr_debug_agent for now?

@jlgreathouse Thanks for the information, that was helpful for me too.
There seems to be a lot of functionality in the environmental-variables of HCC. For example, I've found HCC Profile Mode to be quite helpful for my personal uses (HCC_PROFILE=2: https://scchan.github.io/hcc/md__home_scchan_code_hcc_doc_markdown_hcc_profile.html)
But there doesn't seem to be a centralized location that describes all of these useful environmental variables. Can I suggest that maybe a document be put together that unifies all of these environmental flags to HCC?

Hi @JMadgwick
For the moment, the ROCr debug agent is our mechanism for accessing such debug information on GPUs within the ROCm stack. We are still in the process of making a new GDB port that uses the ROCr debug agent as its underlying mechanism. While the documentation hasn't been updated recently, rest assured we have engineers hard at work getting a new version of GDB built on this more robust underlying debug layer.
To help avoid confusion, we are going through the process of updating old repos that contain deprecated software, archiving them, and moving them to ROCmArchive. This should help avoid some problems in the future where folks find old, no-longer-maintained repos and use them even if they've been replaced or no longer maintained.
I'll also note that you can get the code objects run by your application using the ROCr debug agent. If you use this mechanism, you no longer need to set any HCC environment variables at compile time. You can instead save off the files at runtime and then run objdump on them later.

@JMadgwick and @dragontamer
If you have recommendations for documentation or wiki updates for HCC, please feel free to submit them (as either PRs or issues) in the HCC repo. I suspect that the HCC developers may not see such requests in this main repo. :)


prepare for move to puppet-community

During the Gent contributors summit, the future of puppetlabs-mcollective was called into questions. Admitting that Puppet Labs has a lot of modules to maintain and with PE, we're not the primary users of open-source MCollective, it makes more sense for the puppet-community to own the mcollective module. This will enable more community members who run FOSS MCollective in production to contribute to the management module for it.
Decided on by ryanycoleman with acknowledgment by @mhaskel & @nibalizer.
This PR alone will not get the job done. The work to transfer this module includes.

[x] Replace README with warning on transfer
[x] Update metadata.json with information on the new author
[ ] Transfer the GitHub repository to the puppet-community organization
[ ] Publish the 99.99.99 version from the puppet-community GitHub organization to the 'puppet' Forge namespace

Do not merge unless you are going to coordinate the logistics of the final two actions in addition to hitting merge.

I can coordinate from the puppet-community side when we're ready to do this.

Whats our status on this one?

Publish the 99.99.99 version from the puppet-community GitHub organization to the 'puppet' Forge namespace

Shouldn't this version be published from the puppetlabs GitHub organization to the 'puppetlabs' forge namespace? Then the puppet-community org and the puppet namespace can continue with versioning as normal. I can help coordinate on that end.

Agree with @cmurphy

Closed via #197, will make the release and transfer on Tuesday March 24.


Make symbolize.cc thread safe even on shared fds

ReadFromOffset in symbolize.cc used to call lseek() + read() to read
data from fd. However, the fd may be reused for multiple symbolize
requests from multiple threads, and causes a race around the fd read
offset.
This updates it to use pread() to resolve the race.

JFYI @hajimehoshi


Code lookup actually toggling

Hello again!
Code lookup is fantastic, but right now the shortcut Ctrl+Alt+C is not actually toggling it as the tooltip suggests, instead it just turns it on (then ESC to turn off).
Found the line, so GImGuiDemoMarker_IsActive = !GImGuiDemoMarker_IsActive; would be my choice ;)
Thanks again!!

Thanks, this is fixed in https://github.com/pthom/imgui_manual/commit/11180865461f658548f7805c3ef2941361b3ec3a


Source code not PEP-8

Large parts of the code do not follow the PEP-8 conventions.

Fixed in 5cee2e164afd1caa972368fdbcf727e115950cd9.


Mask /proc/keys to protect information leak about keys on host

Signed-off-by: Daniel J Walsh<EMAIL_ADDRESS>

LGTM

@umohnani8 @TomSweeneyRedHat @baude @wking PTAL

@rh-atomic-bot r+


Add VOMS server retirement instructions (SOFTWARE-3219)

Long overdue

LGTM. Feel free to merge once the checks pass


Configurable serialization

As of now, the default method for communication between agents is through pickle serialization. This makes feeding data through outside Python a difficult task. Use of picke should be optional. Add raw message passing?

This should be configurable through global/environment variable, per-agent and per-socket as well.
Options: pickle (default), raw/none.

JSON, MessagePack, ...?


README claims compatibility with python 3.8+, but TypeAlias was added in python 3.10

https://github.com/lljbash/clangd-tidy/blob/4cbc11f85a2b07317181709f9c1cae6da60c683b/diagnostic_formatter.py#L4

Thanks for catching that!
You're right, TypeAlias is a Python 3.10 feature. I'll update the code to work with Python 3.8. Fix coming soon!


Resource Case-Sensitivity in URLs

Something worthwhile to reiterate in this documentation may be that when switching from App Services, IIS, etc. to Blob Storage Static Websites, one should be aware that blob storage is case-sensitive, which will result in 404s for resources that are not requested in the proper case. That's a good smoking gun to check when encountering 404s.

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

ID: dcd3f99a-f522-6edb-6d39-eac1bb917956
Version Independent ID: 69e9c1e5-8deb-8092-46f4-6646d076fbe4
Content: Static website hosting in Azure Storage (Preview)
Content Source: articles/storage/blobs/storage-blob-static-website.md
Service: storage
GitHub Login: @MichaelHauss
Microsoft Alias: mihauss

@simonua Thanks for the feedback! I have assigned the issue to the content author to evaluate and update as appropriate.

Added as an FAQ and created a PR


Validations for API and values.yaml

This package is for validating fields in the API and in values.yaml.
Not all fields are currently covered since API is still WIP, but basic functionality is there.

General comment, is there functionality from k8s that we can repurpose, e.g. something from here?

Thanks for pointing that out - there may indeed be some validations that can be reused from there, like percentage and IP address.


bugfix(DEV-20497) [Chat] Lower case image attachment type before evaluating

PR Author Checklist

[x] PR title adheres to Conventional Commits
[x] I have finished reviewing the contents of this PR for accuracy
[ ] If needed, I have included a Changeset and it follows Semantic Versioning principles
[ ] I have completed all of the above and have enabled auto-merge for this PR

Warnings

:warning:
Please assign someone to merge this PR, and optionally include people who should review.

  Generated by :no_entry_sign: dangerJS against 8f5ccecc9f37a9ce3874490023a7ba941fe2209b

I added the changeset commit to generate the version of cascara to this bugfix

@andresaraujo Please update this branch with the most recent version of develop


Do not renew contracts in english version 'V1.0-pre2-en'

hara88

I changed the code in the contract script so that the bot won't renew them. I have zero knowledge about scripting so sadly this is my maximum effort. I hope others can come in, test the bot and fix any issues found. Thanks for the amazing project!

First of all, I think it does not work because I lost original screenshots for "Match/AcceptNewContract*". That's why you try to imagine what kind of picture to capture. But you would have been really lucky guy to have the good ones ! :smile:
I will try to explain the code to help you to debug on your own PS4.
Each "script.MatchTemplate()" means macro is waiting for a new screen before to do next action.
I will explain code step by step for method OnMatched in file "AcceptNewContract.cs". If, this is not clear, ask me.
        public override void OnMatched(ScriptBase script)
        {
            bool manager = script.MatchTemplate(extensionManagerFocusHeader, 98);

The method OnMatched() is called for 2 reasons : renew player or renew manager.
This line of code sets "manager" to "true" if the screen is similar to manager'screenshot and 'false' if not (which means for me : renew player).
manager will be use later.
            Log.LogMessage(Name, "Start");
            // List of player to renew
            script.Press(new DualShockState() { DPad_Right = false });
            script.Press(new DualShockState() { Circle = true });
            Log.LogMessage(Name, "Accept to renew players/Manager");

First screen to renew contracts : The game ask me to renew contracts. So I have to select "YES" by pressing "Right on digital PAD" and then press button "Confirm" (Circle in english, but Cross in french).
            // Cost and kind of money
            while (!script.MatchTemplate(script.CaptureFrame(), extension2Focus, 98))
            {
                Thread.Sleep(1000);
                Log.LogMessage(Name, "Waiting for 'Pay with GP money'");
            }

Then, I wait for the second screen "extension2Focus". So, this screen is a focus on the screen what appears after pressing "YES". Make the screenshot and take the good focus. Take the coordinates of french version to find where focus. Then update the "RectMap extension2Focus".
            script.Press(new DualShockState() { Circle = true });
            Log.LogMessage(Name, "Pay with GP money");

Second screen to renew contracts : The game show me cost to renew and ask me for the kind of money to use (in-game or real-one). So I choose "GP Money" (=in-game) to renew my players. In french version, I just have to press Cross button.
In english, it could be Circle, but maybe you have to move with Right/Left DPAD.
            // Confirmation
            while (!script.MatchTemplate(script.CaptureFrame(), extension3Focus, 98))
            {
                Thread.Sleep(1000);
                Log.LogMessage(Name, "Waiting for 'Confirm'");
            }

Then, I wait for the third screen "extension3Focus". So, this screen is a focus on the screen what appears after pressing "GP Money". Make the screenshot and take the good focus. Take the coordinates of french version to find where focus. Then update the "RectMap extension3Focus".
            script.Press(new DualShockState() { DPad_Right = true });
            script.Press(new DualShockState() { Circle = true });
            Log.LogMessage(Name, "Confirm");

Third screen to renew contracts : The game ask me to confirm to buy. In french version, I just have to go to right and Confirm.
            // Transaction'status
            while (!script.MatchTemplate(script.CaptureFrame(), extension4Focus, 98))
            {
                Thread.Sleep(1000);
                Log.LogMessage(Name, "Waiting for 'Skip transaction status'");
            }

Then, I wait for the fourth screen "extension4Focus". Bla bla bla ... Make the screenshot and take the good focus ... :sleeping:
            script.Press(new DualShockState() { Circle = true });
            Log.LogMessage(Name, "Skip transaction'status");

Fourth screen to renew contracts : The game show me that previous transaction is OK. I just have to skip this screen.
            /* Only for manager */
            if (manager)
            {
                // Transaction'status 2
                while (!script.MatchTemplate(script.CaptureFrame(), extension5Focus, 98))
                {
                    Thread.Sleep(1000);
                    Log.LogMessage(Name, "Waiting for 'Skip transaction status2'");
                }
                // TODO : CAPTURE THE PICTURE !!
                Thread.Sleep(5000);
                script.Press(new DualShockState() { Circle = true });
                Log.LogMessage(Name, "Skip transaction'status2");
            }
            Log.LogMessage(Name, "End");
        }

This last part is only used, when you have to renew contract of manager ! Every 25 matchs ! (remember the variable manager at beginning).
I tried to capture this screen "extension5Focus", but it was never similar and stops my macro. So I decide to wait 5 seconds instead ( with code Thread.Sleep(5000);). So I commented the "while" loop.
But if you have a good screenshot and if it works well, you can remove the sleep and uncomment the while loop.
Then I just press Cross in french to skip the screen.
I hope it helps you to understand the code and fix it.

But what's wrong ?
To understand this, put "true" to your XML file "settings.xml" in the directory of "PS4Macro.exe". It will open a kind of DOS windows with lot of logs. But when time of renew players is coming (like the winter :cold_sweat:), it will show you information to find why the macro do not renew players !
When renew players works well, this sequence of logs will appears with my comments as [bla bla bla] :
    * Match : Accept New Contract Player/Manager : Start
    * Match : Accept New Contract Player/Manager : Accept to renew players/Manager
    * Match : Accept New Contract Player/Manager : Waiting for 'Pay with GP money'
[... could be repeated ...]
    * Match : Accept New Contract Player/Manager : Waiting for 'Pay with GP money'
    * Match : Accept New Contract Player/Manager : Pay with GP money
    * Match : Accept New Contract Player/Manager : Waiting for 'Confirm'
[... could be repeated ...]
    * Match : Accept New Contract Player/Manager : Waiting for 'Confirm'
    * Match : Accept New Contract Player/Manager : Confirm
    * Match : Accept New Contract Player/Manager : Waiting for 'Skip transaction status'
[... could be repeated ...]
    * Match : Accept New Contract Player/Manager : Waiting for 'Skip transaction status'
    * Match : Accept New Contract Player/Manager : Skip transaction'status
[ "Skip transaction'status2" is only when renew manager, it is optionnal ! ]
    * Match : Accept New Contract Player/Manager : Skip transaction'status2 [optionnal !]
    * Match : Accept New Contract Player/Manager : End

With your logs, you can compare to this perfect treatment and deduce where something is wrong. Then, you can share it here, and I can help you to fix it.

Leguims, I'm very sorry to cause you this confusion. I don't have any issues regarding contract renewal for players and managers. Using the screenshots that I have taken, the bot can do the contract renewals without any trouble, both for the player and manager.
Log.LogMessage(Name, "Start");
// List of player to renew
script.Press(new DualShockState() { DPad_Right = false });
script.Press(new DualShockState() { Circle = true });
Log.LogMessage(Name, "Accept to renew players/Manager");
I deliberately changed the DPad_Right to false because I don't want to pay for the contracts for white/bronze players. If I change it back to true the bot will renew the contracts no problem. I do this because I don't want to pay about 4000 GP for the contracts, I just spin new players from the free scouts. And by releasing the players after 10 games I get about 2000 GP so there is about 6000 GP difference there.
Again, I'm sorry for the trouble caused by the misunderstanding. There is no issue regarding automatic contract renewal. I actually used the automatic contract renewals for the first 2 days of the macro and then I changed the farming method to not buy the contracts.

"I changed the code in the contract script so that the bot won't renew them. I have zero knowledge about scripting so sadly this is my maximum effort. I hope others can come in, test the bot and fix any issues found."
Did you need something you can not do ?

What I meant by this is that the macro works good for me and it can perform all the functions required. But I can only say for myself that's why I think we need feedback from other users to perfect the macro 😀

Ok. I understand. I have to change the code to enable the renew.

If you want to disable "Renwals of contract", you can comment the line above in the file "script.cs" :
new Match.AcceptNewContract(), /* First of all, because 'SkipEndGame()' can be triggered instead of this. */
to
/*new Match.AcceptNewContract(),*/ /* First of all, because 'SkipEndGame()' can be triggered instead of this. */

I change the code to enable renewals. Thanks for all you did.
There is a V1.0-en tag for PES EN ! Good Job !


Add homu webhook.

@bors-servo r+

@bors-servo r+

:pushpin: Commit 3f201e4 has been approved by jdm

:hourglass: Testing commit 3f201e4729753ca4da8a3aba9b8a58ef17cf9734 with merge 1630a3b97cb68eb6b22c464f32180795f6a84df9...

:sunny: Test successful - checks-travis
Approved by: jdm
Pushing 1630a3b97cb68eb6b22c464f32180795f6a84df9 to master...


[WIP] Add implement of Mini Batch KMeans

What do these changes do?
Add implement of Mini Batch K-Means algorithm with MiniBatchUpdate and MiniBatchReassignCluster operand.

Related issue number
proposal in #2245.

Tests should be added.

Any update?


how to pack the preload resource

when use the electron browserWindow Object to create a window with preload option
if use npm run dev is right  but if use npm run build  there will have a error "unable to load preload script"
i think the reason is the preload not pack to the app.asar, but how can i do it ?

@ljyf5593 There isn't a super easy solution for this, but here's some direction on how to accomplish this.
You would need to treat your preload script as a Static Asset and provide a path to it with the preload option. The current setup of electron-vue doesn't provide much help for getting an absolute path to the static assets folder, but in the next upcoming release this will be much easier to accomplish with a new __static variable. This setup is currently available using the dev branch (#171 for more info).
Reffering to https://simulatedgreg.gitbooks.io/electron-vue/content/en/main-process.html#on-the-subject-of-using-dirname--filename , you can place your preload script in app/dist and use path.join(__dirname, '/preloadScript.js') in production. This path would need to be adjusted to something like path.join(__dirname, '../../dist/preloadScript.js') in development.

Related: #239


can I set default values before camera starting programically?

For example, If I need to set default camera is front before camera start, can I do that?
(I impossible to change layout xml attributes, because user can change default camera in settings, I stored it in SharedPreferences instance).

Please take a look at the README:
cameraView.setFacing(CameraKit.Constants.FACING_FRONT);

@dphans Take a look at all public methods inside CameraView object.

@mbernr @luongvo I see. But when call startCamera method after setFacing, camera facing not correct update.
I've fixed temporary by this way (set default in layout file):

In layout file: add 2 CameraView elements, one CameraView setup it default front-facing, one for back-facing.
In activity: get user settings and select one in 2 CameraView to show on screen.

I think this is temporary fixed for company project, but can close this issue. Many thanks.


Remove extra borders from FCMs on some page types

The Featured Content Module component has provided its own border for a long time. We apparently haven't noticed that it gets doubled up on Browse, Browse Filterable, and Newsroom Pages, probably because FCMs are rarely used on those pages types. This commit removes the class in the markup for those page type templates that adds the extra border.
Removals

block__border class that was on the wrapper for FCMs on the Browse, Browse Filterable, and Newsroom templates

Screenshots
Before

After

Checklist

[ ] PR has an informative and human-readable title
[ ] Changes are limited to a single goal (no scope creep)
[ ] Code can be automatically merged (no conflicts)
[ ] Code follows the standards laid out in the CFPB development guidelines
[ ] Passes all existing automated tests
[ ] Any change in functionality is tested
[ ] New functions are documented (with a description, list of inputs, and expected output)
[ ] Placeholder code is flagged / future todos are captured in comments
[ ] Visually tested in supported browsers and devices (see checklist below :point_down:)
[ ] Project documentation has been updated
[ ] Reviewers requested with the Reviewers tool :arrow_right:

Testing checklist
Browsers

[ ] Chrome on desktop
[ ] Firefox
[ ] Safari on macOS
[ ] Edge
[ ] Internet Explorer 9, 10, and 11
[ ] Safari on iOS
[ ] Chrome on Android

Should these templates be pulling in a fcm template of some sort? Why the redundancy?

It looks like that same extra block__border deal is also going on in:
https://github.com/cfpb/cfgov-refresh/blob/96f80bec517fa56d685ff6f84fb7620af697e221/cfgov/paying_for_college/jinja2/paying-for-college/choose-a-student-loan.html#L19-L28
I'm not sure what that template is used for, though, so I can't find a page to test to see for sure if we need to remove the block__border class there, too.

Should these templates be pulling in a fcm template of some sort? Why the redundancy?

They do pull in the FCM template, whose Less includes the border, but they do that inside a div.block.block__border.

It looks like that same extra block__border deal is also going on in:
https://github.com/cfpb/cfgov-refresh/blob/96f80bec517fa56d685ff6f84fb7620af697e221/cfgov/paying_for_college/jinja2/paying-for-college/choose-a-student-loan.html#L19-L28
I'm not sure what that template is used for, though, so I can't find a page to test to see for sure if we need to remove the block__border class there, too.

Good catch, @niqjohnson! I don't believe this template is in use yet, and it's meant to replace the currently legacy Choose a Student Loan page. I will remove that one, as well.


Allow undeclared read of VM bitness system properties

These two properties are used by plugins and libraries to infer the bitness of the current VM.
This was found in the wild in the protobuf gradle plugin and in the kotlin-android gradle plugin.

@bot-gradle test this

OK, I've already triggered ReadyForMerge build for you.

@bot-gradle test this

OK, I've already triggered ReadyForMerge build for you.

I don't think we should make this change, at least not the way it's implemented. We should either allow undeclared access only to standard system properties (the current behaviour) or we should allow access to all default system properties provided by the current JVM (which is where this PR is heading). Providing access to some hardcoded subset of some default but non-standard system properties of some JVMs does not really seem to make sense. If we want to go with the second option, then we should look at implementing it by querying the default set of system properties for the current JVM, instead of collecting some of the default system properties from some of the JVMs in a hard coded list.

Thanks for the comment Adam. I agree these changes are very ad-hoc. I think we should do something because it appears to be quite frequent.
I don't know of a way of "querying the default set of system properties for the current JVM". Do you?

I would look at using the JVM probe infrastructure to do this.

Good idea, thanks!
Closing as superseded by https://github.com/gradle/gradle/issues/13676


ZTP | Remove workaround for ArgoCD projects starting from OCP 4.16

Related to https://github.com/openshift-kni/eco-validation/pull/133, following the same trend.
I'll launch a separate test in a different PR we're managing for a partner
Test-Hints: no-check

recheck

The tasks are now skipped for 4.16 and the spoke deployment starts correctly, then there are other issues that makes the deployment to fail, but not related to this change. This can be merged.


Test screen: add a 'custom' value when enter is pressed

In the 'Test' screen, when I enter a custom value and press enter, the value is removed, which doesn't seem intuitive. Instead I have to manually pick 'Custom' from the drop down.

How do you reproduce it? Pressing Enter works for me ("Custom" is selected by default). It only resets if I click outside.


Frozen video stream on Chrome Android

Hey guys. The plug-in has worked pretty good except for Chrome Android. Once the stream starts (after clicking the device button), it's supposed to show a live streaming of what the camera is capturing.
The issue here is that, for Chrome Android, this live streaming is extremely slow, basically showing snapshots of the stream with seconds in between. Nevertheless, once you start recording this issue disappears, as the recording streaming shows very fluently (as it's supposed to do).
In fact, you can reproduce this using the video-audio demo (https://collab-project.github.io/videojs-record/examples/audio-video.html) while using Chrome Android.
Might be related to #146 though as I understand, it's a different issue.
Any ideas on why is this happening?
Issue was reproduced in Android 5.1 using Chrome v 58.0.3029.83. Happens 100% of the time.
On Firefox it works flawlessly.

After many hours I figured out what the problem is.
At the end of onDeviceReady callback, the stream is being loaded into the video element and immediately being played. The thing is, Chrome seems to take a moment to load such stream. As a result, the stream is not actually being played. To solve this, right after loading the stream to the video element, a loadedmetadata callback must be configured so that we can play the stream at the right time. Like this:
`           // setup preview
if (this.getRecordType() !== this.AUDIO_ONLY)
{
// show live preview
this.mediaElement = this.player().el().firstChild;
this.mediaElement.controls = false;
            // mute incoming audio for feedback loops
            this.mediaElement.muted = true;

            // hide the volume bar while it's muted
            this.displayVolumeControl(false);

            // save stream
            if (this.streamURL !== undefined)
            {
                URL.revokeObjectURL(this.streamURL);
            }
            this.streamURL = URL.createObjectURL(this.stream);
            // start stream
            this.load(this.streamURL);
            var self = this;
            this.player().one('loadedmetadata', function() {
                self.mediaElement.play();
                // forward to listeners
                self.player().trigger('deviceReady');
            });
        } else {
            // forward to listeners
            this.player().trigger('deviceReady');
        }`

And by the way, when loadedmetadata callback is invoked, that is the right time to trigger the deviceReady callback, because of the reason already explained.
While we're at it, the same logic applies while starting the recording. The start function makes use of startVideoPreview function, which also loads the stream on the video element. This loading sometimes takes time, and recording should be started only after the stream has been successfully loaded into the video element.
I've made these changes and works great. Hope this can help anybody having the same issues.
Cheers!

Thanks for the details, can you make a pull request?

Sure thing. I'm swamped with work atm but I'll try to do it tomorrow.


Looking Glass Window Not Positioned Properly on Portrait

Tried the demo on my LKG portrait and doesn't look like it's working out of the box. I tried quickly searching through device indexes to see if for some reason it wasn't on index 0, but no luck on any of them.
The debug output from these looks like they come directly from an SDK call with the device index so I'm surprised to see them fail, but I was unable to try to build/debug per https://github.com/CaptainProton42/GodotHoloPlayNative/issues/1
Steps to Reproduce:

Setup/attach/verify that a looking glass portrait is connected to the computer
Clone the GodotHoloPlayDemo repo
Open the project in Godot
Run the default scene

Expected Results:
Cube appears on the Looking Glass Portrait
Actual Results:
Window appears in the top right of the main computer display. Debug output looks like it cannot get the device properties correctly:
Godot Engine v3.3.2.stable.official - https://godotengine.org
OpenGL ES 3.0 Renderer: NVIDIA GeForce RTX 2070 with Max-Q Design/PCIe/SSE2
OpenGL ES Batching: ON

Updated device properties:
win_x: 0
win_y:0
screen_w:0
screen_h:0
aspect:-1.#IND
inv_view:0
red_index:0
blue_index:2
lent_pitch:-1.#IND
lent_offset:0
lent_tilt:-1.#IND
fringe:0
subpixel:1.#INF

Thank you so much for testing this! You have impeccable timing as well as my own Portrait just arrived today so I've finally been able to take a look at this myself and actually fix it. (Turns out I forgot to properly initialise the "app" with the service.)
I've updated all three repositories with a version that seems to at least work on my Portrait. Give it a try if you want! (I'm especially interested in performance since I'm seeing different results when rendering to the actual Portrait.)

Should be fixed as of 28536ea.

Awesome timing!
Verified that after pulling the latest HEAD that the demo now works out of the box.
Ran into #2 but can easily WA by disabling DPI scaling for now.


Fixed #26112 -- Error when trying to compute aggregates of GIS aggregates.

The proposed solution sets the output_field_class on the Area GIS model lookup function to FloatField.

There are failures on both Spatialite and MySQL GIS. It looks like Area expects it default output_field to be an AreaField.

I updated the pull request with a better solution. The main idea is to set output_field_class = AreaField and then adopt the AreaField. The field should accept None for the area_att attribute (basically the unit of the area) and then return a float if the unit is not set, so it behaves like a float field in that case.

Apart from minor comment, looks good!

Added dots and corrected typo.

Thanks, pushed in a08d2463d2


Workaround for "Invalid Calling Object" error in IE when using Hot Loader

Hey there,
This is a small patch that fixes the above error in IE/Edge, see the below PR on another repo for reference.
https://github.com/facebook/fixed-data-table/pull/195/files

Thank you for the pull request. However, I will not be accepting it under the philosophy that D3 is not a compatibility layer: I seek to minimize the number of browser-specific bug workarounds baked into the library, and rely on browsers to implement published standards.
If you need a patch for a browser bug, I suggest you apply that patch separately before loading this library. For example, something like this:
if (typeof navigator === "object" && /Edge\/1[0-4]\./.test(navigator.userAgent)) {
  window.requestAnimationFrame = window.requestAnimationFrame.bind(window);
}

Even better if you can devise a more specific test that a browser exhibits the bug in question rather than relying on the reported User-Agent.


fix(cli): do not display stack trace on env list

Fixes: #4970
Description of changes: Provide empty stack with UndeterminedEnvironmentError to show only error message.

Fixed conflicts and rewrote the test in TypeScript. Could I get a review? cc @edwardfoyle @yuth @attilah

Thank you for your review @edwardfoyle. Let me cc the team again to take a step forward @yuth @attilah @mauerbac

Thank you


XChaCha20 support

It seems that it is possible to provide XChaCha20 support if the crypto library has ChaCha20 and HChaCha20. I think libsodium 1.0.11 has them both.
https://tools.ietf.org/html/draft-arciszewski-xchacha-00#section-2.3.1
xchacha20_encrypt(key, nonce, plaintext):
           subkey = hchacha20(key, nonce[0:15])
           return chacha20_encrypt(subkey, nonce[16:23], plaintext)

https://tools.ietf.org/html/draft-arciszewski-xchacha-00#section-2.3
XChaCha20 can be constructed from an existing ChaCha20 implementation
and HChaCha20.  All one needs to do is:

   1.  Pass the key and the first 16 bytes of the 24-byte nonce to
       HChaCha20 to obtain the subkey.

   2.  Use the subkey and remaining 8 byte nonce with ChaCha20 as normal
       (prefixed by 4 NUL bytes, since [RFC7539] specifies a 12-byte
       nonce).

I found this while reading through Rust implementation source.

Solved in 0.3.0 by switching to a more up-to-date libsodium binding that has the XChaCha20 variant.
Better late than never, I guess :)


v(v0, v1, v2) - observables as args

Initializer now is only a function, not much use but ok.
Multiargs patterns seems very handy, but not very convenient for creation.
Extending initializer to be an observable would enable calcs - very useful!
It should not support all possible observable cases - just symbol.observable, possibly old observable.
Basically same as sube.
let v0 = v(0), v1 = v(1), v2 = v(v0, v1).map((v0, v1) => v0 + v1)

Then you don't necessarily need strui/from.

Done


Add sections() method to LuigiTomlParser class (fix #3182)

This addresses the issue described in #3182
EDIT: Referenced the wrong issue number, d'oh!

Closing this, it is superseded by #3185 which fixes the same issue by making the LuigiTomlParser class inherit from ConfigParser in the same way that LuigiConfigParser does


Change absolute links to relative links in release notes

@bot-gradle test and merge

OK, I've already triggered a build for you.


Add setModel on steps after reset + UI refactoring

Add setModel on steps after Wizard Instance resetForm
Fix step icon centering
Decrease the top padding of icons (useful if you must insert into another component like modals)
Footer Ui refactor and button labels translations
Errors alert below header

Thank you for your contribution.


Some help on a custom CSS please.

Any pointers for those that don't know anything about it please?
Any samples?
For instance how to change number of columns on the screen or widen the whole usable area.
Much appreciated!

Custom CSS

I used this example - Change number of columns of Appilcation Grid and reduce page spacing
The app starts to use the whole screen as needed, but number of visible columns remains the same i.e. 4
It seems the columns width increases too and clicking on the far right of an item (which looks like an empty screen) invokes the that app. That suggest the app/bookmark "button" is extended all the way to the right.
Maybe something else needs to be included in that CSS example for it to work.

The app starts to use the whole screen as needed, but number of visible columns remains the same i.e. 4

Weird. I used the same code from wiki and it works:
https://user-images.githubusercontent.com/24780509/123396447-9c14ec80-d5a1-11eb-8472-363d3106a61d.mp4

The app starts to use the whole screen as needed, but number of visible columns remains the same i.e. 4

Weird. I used the same code and it works:
https://user-images.githubusercontent.com/24780509/123405856-8a841280-d5aa-11eb-94a8-9343a8d947f2.mp4

OK, I know what the problem is. Does your CSS snippet works for Apps only and not to bookmarks (bookmarks requiring another CSS code?)?
I have turned Apps OFF and have everything under Bookmarks (because there are no Categories for Apps and I want my links grouped anyway).
Apparently the CSS does not apply to Bookmarks-only section or it's a bug.

Yes, that code was for AppGrid only. For categories you would probably go with:
.BookmarkGrid_BookmarkGrid__26LlR {
  grid-template-columns: repeat(6, 1fr) !important;
}

Right, that works; thank you.


When error occurred in webfonts-generator, script is broken.

When I only generate one svg image to icon-font. The error occurred as below:
$ icon-font-generator src/assets/icons/*.svg -o icon-dist
Generating font kit from 1 SVG icons
(node:34523) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'red' of undefined
    at fail (/Users/XXX/XX/XXXXX/node_modules/icon-font-generator/bin/icon-font-generator:88:31)
    at fontGenerator.generate.catch.err (/Users/XXX/XX/XXXXX/node_modules/icon-font-generator/bin/icon-font-generator:77:79)
    at <anonymous>
    at process._tickCallback (internal/process/next_tick.js:188:7)
(node:34523) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:34523) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
✨  Done in 0.41s.

I debug the code and find webfonts-generator will return a error " Fail! Checksum error in glyf".
This error is a string, so "err.message.red" will return this error, and script will be broken.
function fail(err) {
  if (typeof err === 'string' || err instanceof errors.ValidationError) {
    console.error(err.message.red)
    process.exit()
  }

  if (err instanceof Error) { throw err }
}

I ran into the same issue.

Thanks for reporting - upgrading to 2.1.8 should fix (https://github.com/Workshape/icon-font-generator/pull/37) - please re-open it the issue persists.

Yes, it will generate a better error message but the problem will still persist. The issue lays in one of the dependencies. Take a look at this thread

As long as the error outputting is solved here I'll keep this closed - thanks


gradle: fix update-deps.sh to use Nix bash

Description of changes
Fixes two issues I had with the gradle refactor and my external Ghidra plugins.
Things done

I only checked that this works for my specific use case. I didn't update all Gradle packages to see if this change somehow breaks something.

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Nit is addressed :) Thanks for the review

Result of nixpkgs-review pr 329272 run on x86_64-linux 1

1 package failed to build:

ghidra-extensions.gnudisassembler

2 packages built:

ghidra-extensions.machinelearning
ghidra-extensions.sleighdevtools

Result of nixpkgs-review pr 329272 run on x86_64-linux 1

1 package failed to build:

ghidra-extensions.gnudisassembler

2 packages built:

ghidra-extensions.machinelearning
ghidra-extensions.sleighdevtools

nixpkgs-review pr 329272 is passing again

Result of nixpkgs-review pr 329272 run on aarch64-linux 1

3 packages built:

ghidra-extensions.gnudisassembler
ghidra-extensions.machinelearning
ghidra-extensions.sleighdevtools


fix: pass **kwargs to the type's get_queryset when defined

Fix #294

Codecov Report
Patch coverage: 100.00% and no project coverage change.

Comparison is base (cbe04d3) 87.43% compared to head (0a71f00) 87.43%.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #295   +/-   ##
=======================================
  Coverage   87.43%   87.43%
=======================================
  Files          32       32
  Lines        2857     2857
=======================================
  Hits         2498     2498
  Misses        359      359

Impacted Files
Coverage Δ

strawberry_django/fields/field.py
96.98% <100.00%> (ø)

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Investigate: Is there something up with Rectangle.resizeBy?

Anecdotally, I've tried using this new method a couple of times and have had problems, but this may be circumstantial?

Seems fine. :shrug:


Fix duplicated examples on label and legend headings page

This is to fix an error made in #1201
The Making labels and legends headings page is currently showing duplicated examples:

I've removed the second example in each:

Before #1201, the examples included both a l and xl size. However, I think since we're changing our default heading size to l now, I think showing the xl example here again could be confusing and inconsistent with our other guidance. Happy to add back in if others feel strongly about keeping it though.

You can preview this change here:
Built with commit ad681ef861d538efcc6e1e7a0fbe9778b22a26a4
https://deploy-preview-1262--govuk-design-system-preview.netlify.app


Make compatible with Node.js 12

Please make this compatible with Node.js >= 12 at least since much of the community is still on this version.

Hi,
thank you very much for your request and the update is already done.
You can use version 1.0.1.
P.S.: the current implementation supports Node.js >= 10.

Hi,
thank you very much for your request and the update is already done.
You can use version 1.0.1.
P.S.: the current implementation supports Node.js >= 10.


Help with migrating from Sparkjava

Describe your question
I currently use Sparkjava for one of my projects but now consider to migrate it to Javalin.
Unfortunately could I not find a tutorial on the docs on what you need to look out for and what could be key-differences between Sparkjava and Javalin.
Is there actually a page covering this and I was just not able to find it?
If not, here's the currently used code with Sparkjava that I want to switch over to Javalin. Is this possible?
https://github.com/purrbot-site/ImageAPI/blob/master/src/main/java/site/purrbot/api/ImageAPI.java#L47-L121
Key issues I found so far that make me struggle are:

No way of a generic exception-handling? Like I have to define each exception? Or do I use the Exception class?

Unfortunately could I not find a tutorial on the docs on what you need to look out for and what could be key-differences between Sparkjava and Javalin.

This document outlines some of the differences between the two projects: https://javalin.io/comparisons/sparkjava. It's not really meant as migration guide, but it should help.

No way of a generic exception-handling? Like I have to define each exception? Or do I use the Exception class?

Correct, you can use the Exception class if you want a catchall.

If not, here's the currently used code with Sparkjava that I want to switch over to Javalin. Is this possible?

Looks possible.

Unfortunately could I not find a tutorial on the docs on what you need to look out for and what could be key-differences between Sparkjava and Javalin.

This document outlines some of the differences between the two projects: https://javalin.io/comparisons/sparkjava. It's not really meant as migration guide, but it should help.

No way of a generic exception-handling? Like I have to define each exception? Or do I use the Exception class?

Correct, you can use the Exception class if you want a catchall.

If not, here's the currently used code with Sparkjava that I want to switch over to Javalin. Is this possible?

Looks possible.

Thanks for the answers...
Still struggling a bit with the system, mainly with how I would configure Javalin to return a raw Image, generated by my ImageUtil class.
I have also some minor struggles in understanding the routes and path system used here, as they seem to use anonymous lambdas in Java?
Like some methods seem to suddently change in structure (i.e. before now is String, Filer... instead of String, Handler) which makes it harder for me to understand or find out, how I could achieve a similar structure like I had in Sparkjava.

Thanks for the answers...
Still struggling a bit with the system, mainly with how I would configure Javalin to return a raw Image, generated by my ImageUtil class.
I have also some minor struggles in understanding the routes and path system used here, as they seem to use anonymous lambdas in Java?
Like some methods seem to suddently change in structure (i.e. before now is String, Filer... instead of String, Handler) which makes it harder for me to understand or find out, how I could achieve a similar structure like I had in Sparkjava.

I think I got a somewhat working version to use.
Code doesn't look that pretty, but it works and that is my Nr. 1 priority.

I think I got a somewhat working version to use.
Code doesn't look that pretty, but it works and that is my Nr. 1 priority.

Still struggling a bit with the system, mainly with how I would configure Javalin to return a raw Image, generated by my ImageUtil class.

If you can get the image as an InputStream, all you have to do is  ctx.result(stream).

I have also some minor struggles in understanding the routes and path system used here, as they seem to use anonymous lambdas in Java?

In Javalin, you use app.routes() to "activate" the static API (calls to ApiBuilder.get/post/etc inside routes will be added to the instance you called routes on). The path method should work similarly to how it works in Spark.

Code doesn't look that pretty, but it works and that is my Nr. 1 priority.

Link me, and I'll have a look. Code should in general look nicer compared to Spark.

Still struggling a bit with the system, mainly with how I would configure Javalin to return a raw Image, generated by my ImageUtil class.

If you can get the image as an InputStream, all you have to do is  ctx.result(stream).

I have also some minor struggles in understanding the routes and path system used here, as they seem to use anonymous lambdas in Java?

In Javalin, you use app.routes() to "activate" the static API (calls to ApiBuilder.get/post/etc inside routes will be added to the instance you called routes on). The path method should work similarly to how it works in Spark.

Code doesn't look that pretty, but it works and that is my Nr. 1 priority.

Link me, and I'll have a look. Code should in general look nicer compared to Spark.


CORS issue on flutter web

is there a way to fix CORS issue on flutter web?
Access to XMLHttpRequest at 'https://pub.dev/' from origin 'https://example.com' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.

Unfortunately I don't think there is a way around it, it's a browser security feature. I was also bitten by this and it seems the only way to deal with this is to add some proxy. I have trouble seeing how being able to fetch stuff using XMLHttpRequest is an issue but fetching stuff from the HTML itself is not. I guess it might be because one could use browsers to DoS any arbritrary site when used in a script while when in static HTML the effect is much more contained, but it is a very very annoying limitation indeed.

Use a proxy for Cross Site requests (for flutter web)

Use a proxy for Cross Site requests (for flutter web)

if you are using chrome use this extension for enable CORS
https://chrome.google.com/webstore/detail/allow-cors-access-control/lhobafahddgcelffkeicbaginigeejlf?hl=en


Release Prep for 8.0.0

Checklist

[X] I've checked that all new and existing tests pass
[X] I've updated the documentation if necessary

Description
Release Preparation for Swift 5.0
Motivation and Context

Bumped version to 8.0.0.
Updated CHANGELOG.md with release version.
Updated example projects to use 8.0.0 pod.
Updated both examples projects using Xcode 10.2 to silence all warnings.
Pod lib lint passing:

Thats a good question @AliSoftware .  I think it probably depends on what happens with older versions of cocoa pods when you add that parameter to a pod file.  Will it require users to update Cocoapods or not?

@jeffctown Wait a minute I might have approved that a bit quickly: the API of the lib didn't change, in fact there was no change need to sort Swift 5… so should we really make this version a "breaking change" by bumping to 8.0.0 already?

@AliSoftware uh oh!  My apologies, I thought that was expected since that was what we did for supporting Swift 4 too.  What do you think is the right action to take now?

Well since you already did the release and pushed it to trunk, I guess it's too late now 😉
Don't worry, that's not such a big deal. It's just that people might be more reluctant to migrate to a major version bump (as according to semantic versioning that is supposed to mean "the API changed and some old methods don't exist anymore so if you upgrade you'll need to modify your calling code in your app", as opposed to minor version bump meaning "there are new methods exposed in the API but the old ones are still present so existing code will still work, it's just additive" and patch bump meaning "the API didn't change at all we just fixed some bugs in the implementations").
So people might fear that migrating to 8.0.0 will require some work and refactoring in their calling code to OHHTTPStubs while it actually doesn't require any change... but it's less problematic than if we made the mistake in the other direction 😜


CB-17476 Collect more hostHealth info from CM APIs

Created new model to extract maintenanceMode status and hostCommission status from CM
HOST, SERVICES and CERTIFICATE health will be inferred from CM API response

See detailed description in the commit message.

@aakashshankar  thank you for answering my questions, let me go through the change once again, but I think this will be ok

and one more thing, which is required, unit tests for new service logic

Covered changes with unit tests

@horadla23 @sidseth any suggestions on the nomenclature used for the new classes? Trying to avoid vague naming

Sorry for coming in late. Thought some additional changes were going to be made here.

Rename away from Detailed* names - to avoid confusion with Extended* names.
Potentially moving the entire implementation into the CM layer - with only methods in DetailedHostStatuses exposed as an interface in the cluster-api module (none of the methods can refer to any of the new Detailed* classes).

Think it is at least worth adding additional JavaDoc - to indicate the purpose of these classes for now, and discourage usage outside of scaling usage, until that turns into a bigger effort.


About the accuracy and credibility of the elastic tensor obtained in the atomate2 elastic flow tutorial.

Dear J. George,
In the atomate2 elastic workflow example, you obtained the following elastic tensor:

You can then access the elastic tensor in different output formats:
print(result["output"]["elastic_tensor"]["ieee_format"])

[[1964044.7930349563, 80.13000784632267, 80.13003478218025, -3.983617891299374e-06, -7.274317331366699e-06, 3.4037173399407686e-05], [80.13000784632264, 1964042.4957294029, 80.12998791559116, -5.617618620915702e-06, -5.158386258075467e-06, 0.5916081580179327], [80.13003478218025, 80.12998791559117, 1964043.8244994986, -0.09764127632641656, -0.12643575730690002, 2.414301115201581e-05], [-3.983617891322431e-06, -5.6176186209065425e-06, -0.09764127632641659, 16.434144813096356, 4.956572730741239e-06, -1.0579531677767372e-06], [-7.274317331391944e-06, -5.158386258084771e-06, -0.12643575730690004, 4.956572730741188e-06, 16.434154427743533, -8.170161332630009e-07], [3.403717339939713e-05, 0.5916081580179325, 2.414301115202968e-05, -1.0579531677767368e-06, -8.170161332629465e-07, 16.434149038558008]]

But the above result is very different from the one reported on the materials project website:

I would appreciate any comments/hints/explanations on this discrepancy.
Regards,
Zhao

@hongyi-zhao can you rerun the test with the current CHGNet and atomate2 implementation and compare again? There were some bugs in the stress tensors of CHGNet when I first set up the tutorial.
This is a tutorial on how to run such workflows. Accurate results are not exactly expected.

See below:
In [1]: from pymatgen.core import Structure
   ...: from pymatgen.symmetry.analyzer import SpacegroupAnalyzer
   ...:
   ...: from atomate2.forcefields.flows.elastic import ElasticMaker
   ...: from atomate2.forcefields.jobs import M3GNetRelaxMaker
   ...:
   ...: structure = Structure(
   ...:     lattice=[[0, 2.73, 2.73], [2.73, 0, 2.73], [2.73, 2.73, 0]],
   ...:     species=["Si", "Si"],
   ...:     coords=[[0, 0, 0], [0.25, 0.25, 0.25]],
   ...: )
   ...:
   ...: structure= SpacegroupAnalyzer(structure).get_primitive_standard_structur
   ...: e()
   ...:
   ...: elastic_flow = ElasticMaker(
   ...:     bulk_relax_maker=M3GNetRelaxMaker(
   ...:         relax_cell=True, relax_kwargs={"fmax": 0.00001}
   ...:     ),
   ...:     elastic_relax_maker=M3GNetRelaxMaker(
   ...:         relax_cell=False, relax_kwargs={"fmax": 0.00001}
   ...:     ),
   ...: ).make(structure)
<string>:16: FutureWarning: M3GNetRelaxMaker is deprecated, and will be removed on 2025-01-01
Use ForceFieldRelaxMaker in atomate2.forcefields.jobs instead.
To use M3GNet, set `force_field_name = 'M3GNet'` in ForceFieldRelaxMaker.

In [2]: elastic_flow.draw_graph().show()
<Figure size 1200x800 with 1 Axes>

In [3]: %%capture
   ...: from jobflow import run_locally
   ...:
   ...: responses = run_locally(elastic_flow,  create_folders=True)
   ...:
   ...:

In [4]: from jobflow import SETTINGS
   ...:
   ...: store = SETTINGS.JOB_STORE
   ...: store.connect()
   ...:
   ...: result = store.query_one(
   ...:     {"name": "fit_elastic_tensor"},
   ...:     properties=[
   ...:         "output.elastic_tensor",
   ...:         "output.derived_properties",
   ...:     ],
   ...:     load=True,
   ...:     sort={"completed_at": -1} # to get the latest computation
   ...: )

In [5]: print(result["output"]["elastic_tensor"]["ieee_format"])
[[302.2908167567443,<PHONE_NUMBER>3337332,<PHONE_NUMBER>3337332, 1.3616068225089398e-14, 2.0845481499522187e-14, -2.0845481499522115e-14], [222.36726923337332,<PHONE_NUMBER>567443,<PHONE_NUMBER>3337332, 2.0845481499522197e-14, 1.3616068225089398e-14, -1.8509974057639365e-14], [222.36726923337332,<PHONE_NUMBER>3337332,<PHONE_NUMBER>567443, 1.850997405763929e-14, 1.8509974057639305e-14, -1.3616068225089394e-14], [1.3616068225089398e-14, 2.0845481499522193e-14, 1.850997405763929e-14, 59.032639283964215, -3.614706637216345e-15, 3.614706637216347e-15], [2.0845481499522187e-14, 1.3616068225089398e-14, 1.8509974057639308e-14, -3.614706637216344e-15, 59.03263928396418, 3.614706637216348e-15], [-2.0845481499522115e-14, -1.8509974057639365e-14, -1.3616068225089392e-14, 3.614706637216347e-15, 3.614706637216348e-15, 59.03263928396415]]

Can you try CHGNet? Latest version?

I am still struggling with setting up the ML-based venv. The compatibility issues among these numerous dependencies are fragile and difficult to resolve.

I would set up a new environment, install atomate2[strict] and then install one of the force fields (and repeat this for each of them). In this way, you should not have any conflicts.

See below:
In [4]: from pymatgen.core import Structure
   ...: from pymatgen.symmetry.analyzer import SpacegroupAnalyzer
   ...:
   ...: from atomate2.forcefields.flows.elastic import ElasticMaker
   ...: from atomate2.forcefields.jobs import ForceFieldRelaxMaker
   ...:
   ...: # 创建硅结构
   ...: structure = Structure(
   ...:     lattice=[[0, 2.73, 2.73], [2.73, 0, 2.73], [2.73, 2.73, 0]],
   ...:     species=["Si", "Si"],
   ...:     coords=[[0, 0, 0], [0.25, 0.25, 0.25]],
   ...: )
   ...:
   ...: # 获取原胞标准结构
   ...: structure = SpacegroupAnalyzer(structure).get_primitive_standard_structure()
   ...:
   ...: # 创建弹性流程
   ...: elastic_flow = ElasticMaker(
   ...:     bulk_relax_maker=ForceFieldRelaxMaker(
   ...:         force_field_name="MLFF.CHGNet",
   ...:         relax_cell=True,
   ...:         relax_kwargs={"fmax": 0.00001}  # 移除了 steps 参数
   ...:     ),
   ...:     elastic_relax_maker=ForceFieldRelaxMaker(
   ...:         force_field_name="MLFF.CHGNet",
   ...:         relax_cell=False,
   ...:         relax_kwargs={"fmax": 0.00001}  # 移除了 steps 参数
   ...:     ),
   ...: ).make(structure)

In [5]: from jobflow import run_locally
   ...: responses = run_locally(elastic_flow, create_folders=True)
2024-11-04 15:49:57,958 INFO Started executing jobs locally
2024-11-04 15:49:57,963 INFO Starting job - Force field relax (58d0096c-e378-40e8-af2d-769024f0cd81)
CHGNet v0.3.0 initialized with 412,525 parameters
CHGNet will run on cuda
2024-11-04 15:50:00,763 INFO Finished job - Force field relax (58d0096c-e378-40e8-af2d-769024f0cd81)
2024-11-04 15:50:00,764 INFO Starting job - generate_elastic_deformations (6d46997e-1409-4513-b788-c54f5401b0db)
2024-11-04 15:50:01,426 INFO Finished job - generate_elastic_deformations (6d46997e-1409-4513-b788-c54f5401b0db)
2024-11-04 15:50:01,427 INFO Starting job - run_elastic_deformations (23a2d960-d55e-46b7-b7ea-90d39ad16a24)
2024-11-04 15:50:01,751 INFO Finished job - run_elastic_deformations (23a2d960-d55e-46b7-b7ea-90d39ad16a24)
2024-11-04 15:50:01,757 INFO Starting job - Force field relax 1/6 (79cac271-a6ce-4fcd-bf1d-1cbd6ac836ab)
CHGNet v0.3.0 initialized with 412,525 parameters
CHGNet will run on cuda
2024-11-04 15:50:01,877 INFO Finished job - Force field relax 1/6 (79cac271-a6ce-4fcd-bf1d-1cbd6ac836ab)
2024-11-04 15:50:01,877 INFO Starting job - Force field relax 2/6 (a536fe98-6e47-43d8-bfb3-e21180b958d7)
CHGNet v0.3.0 initialized with 412,525 parameters
CHGNet will run on cuda
2024-11-04 15:50:01,992 INFO Finished job - Force field relax 2/6 (a536fe98-6e47-43d8-bfb3-e21180b958d7)
2024-11-04 15:50:01,992 INFO Starting job - Force field relax 3/6 (dc908aa9-e63a-4651-9371-72c7cf174b18)
CHGNet v0.3.0 initialized with 412,525 parameters
CHGNet will run on cuda
2024-11-04 15:50:02,104 INFO Finished job - Force field relax 3/6 (dc908aa9-e63a-4651-9371-72c7cf174b18)
2024-11-04 15:50:02,105 INFO Starting job - Force field relax 4/6 (aa41ab19-95fc-44ac-a4fc-514a0200ac41)
CHGNet v0.3.0 initialized with 412,525 parameters
CHGNet will run on cuda
2024-11-04 15:50:02,217 INFO Finished job - Force field relax 4/6 (aa41ab19-95fc-44ac-a4fc-514a0200ac41)
2024-11-04 15:50:02,218 INFO Starting job - Force field relax 5/6 (019b66b1-bcef-4bd8-abe6-344bee0afc5a)
CHGNet v0.3.0 initialized with 412,525 parameters
CHGNet will run on cuda
2024-11-04 15:50:04,996 INFO Finished job - Force field relax 5/6 (019b66b1-bcef-4bd8-abe6-344bee0afc5a)
2024-11-04 15:50:04,997 INFO Starting job - Force field relax 6/6 (67d073bf-0f4c-45b3-9dbc-ab02279732a1)
CHGNet v0.3.0 initialized with 412,525 parameters
CHGNet will run on cuda
2024-11-04 15:50:08,446 INFO Finished job - Force field relax 6/6 (67d073bf-0f4c-45b3-9dbc-ab02279732a1)
2024-11-04 15:50:08,447 INFO Starting job - store_inputs (23a2d960-d55e-46b7-b7ea-90d39ad16a24, 2)
2024-11-04 15:50:08,453 INFO Finished job - store_inputs (23a2d960-d55e-46b7-b7ea-90d39ad16a24, 2)
2024-11-04 15:50:08,453 INFO Starting job - fit_elastic_tensor (0bb38f4f-a03b-4794-95a1-ba9fec0a9ebc)
2024-11-04 15:50:09,277 INFO Finished job - fit_elastic_tensor (0bb38f4f-a03b-4794-95a1-ba9fec0a9ebc)
2024-11-04 15:50:09,277 INFO Finished executing jobs locally

In [6]: from jobflow import SETTINGS
   ...:
   ...: store = SETTINGS.JOB_STORE
   ...: store.connect()
   ...:
   ...: result = store.query_one(
   ...:     {"name": "fit_elastic_tensor"},
   ...:     properties=[
   ...:         "output.elastic_tensor",
   ...:         "output.derived_properties",
   ...:     ],
   ...:     load=True,
   ...:     sort={"completed_at": -1} # to get the latest computation
   ...: )

In [7]: print(result["output"]["elastic_tensor"]["ieee_format"])
[[-781180.5611814158, 42.3661985838698, 42.36619966534969, 1.3717295493690843e-08, 1.0745810272884785e-05, -8.195410030175173e-06], [42.366198583869796, -781180.5533330136, 42.366199458599866, 3.946137772063904e-08, 3.735723101280794e-06, 0.05253426378783514], [42.3661996653497, 42.366199458599866, -781180.5933090379, -0.000252938764139201, -0.06888213788314379, -2.849142253946572e-06], [1.3717295530698292e-08, 3.946137764661518e-08, -0.00025293876413931196, 39.7497555815369, -2.673186832998676e-06, 3.5050130072621344e-06], [1.0745810272892539e-05, 3.735723100910717e-06, -0.06888213788314373, -2.673186832998676e-06, 39.74975577514322, 1.28701006866679e-08], [-8.19541003026003e-06, 0.05253426378783507, -2.8491422539091313e-06, 3.505013007262137e-06, 1.2870100686667891e-08, 39.749754760610074]]