Greengrass SecureTunneling component crashes on start with software.amazon.awssdk.crt.mqtt.MqttException

Describe the bug
The Greengrass aws.greengrass.SecureTunneling component crashes on start with software.amazon.awssdk.crt.mqtt.MqttException: A query to dns failed to resolve.. if no internet connection is available and is marked as broken afterwards.
To Reproduce
Steps to reproduce the behavior:

Install Greengrass on a device of your choice
Create a deployment containing the SecureTunneling component. Deploy the deployment to your device.
Connect to your device via a secure tunnel to make sure that the component works
Disconnect or otherwise disrupt the internet connection to your device. Reboot your device.
Wait for a few minutes while the device boots and greengrass starts.
Reconnect to the internet.

Expected behavior
I expect that the secure tunneling component becomes available some time after reconnecting a greengrass device to the internet.
Actual behavior
The SecureTunneling component is marked as broken, as it does not handle the software.amazon.awssdk.crt.mqtt.MqttException exception, which is raised when no connection to IoT Core can be made. Connection to the device is not possible until a reboot occurs or the gg service is restarted via systemctl.
Logs
I have attached two logs for you: The output of the secure tunneling component and the contents of the greengrass.log. As they are quite long I'd like to highlight a few key events for you. My comments are marked with a #:
# The device is started without a connection to the internet
2022-10-21T07:21:02.059Z [INFO] (main) com.aws.greengrass.util.platforms.Platform: Getting platform instance com.aws.greengrass.util.platforms.unix.linux.LinuxPlatform.. {}
[...]
# The SecureTunneling component enters the running state
2022-10-21T07:21:16.609Z [INFO] (aws.greengrass.SecureTunneling-lifecycle) com.aws.greengrass.lifecyclemanager.GenericExternalService: service-set-state. {serviceName=aws.greengrass.SecureTunneling, currentState=STARTING, newState=RUNNING}
[...]
# The SecureTunneling component tries to subscribe to the tunnel topic and an exception is raised
2022-10-21T07:21:43.803Z [ERROR] (Thread-3) com.aws.greengrass.mqttclient.MqttClient: Error subscribing. {topic=$aws/things/GreengrassTestVM/tunnels/notify}
java.util.concurrent.CompletionException: software.amazon.awssdk.crt.mqtt.MqttException: A query to dns failed to resolve.
	at java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:331)
	at java.base/java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:346)
	at java.base/java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:870)
	at java.base/java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:837)
	at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:506)
	at java.base/java.util.concurrent.CompletableFuture.completeExceptionally(CompletableFuture.java:2088)
	at software.amazon.awssdk.crt.AsyncCallback$1.onFailure(AsyncCallback.java:32)
	at software.amazon.awssdk.crt.mqtt.MqttClientConnection.onConnectionComplete(MqttClientConnection.java:140)
Caused by: software.amazon.awssdk.crt.mqtt.MqttException: A query to dns failed to resolve.
	... 1 more
[... 3 addtional subscription attempts omitted ...]
# The component enters the broken state and is stuck there
2022-10-21T07:22:09.899Z [INFO] (aws.greengrass.SecureTunneling-lifecycle) com.aws.greengrass.lifecyclemanager.GenericExternalService: service-set-state. {serviceName=aws.greengrass.SecureTunneling, currentState=RUNNING, newState=BROKEN}

I've attached both the log files of the SecureTunneling component and the greengrass system. Both logs where created at the same device, when a device was booted without an internet connection available. Later, this connection was restored. Sometime later the service was restarted via systemctl restart greengrass after the SecureTunneling component did not recover. After that the connection via secure tunneling worked.
github-securetunneling.log
github-greengrass.log
Environment (please complete the following information):

OS: raspios_lite_arm64-2022-04-07
Version: Secure Tunneling Component 1.0.9
Architecture: arm64
JDK version:

java --version
openjdk 11.0.16 2022-07-19
OpenJDK Runtime Environment (build 11.0.16+8-post-Debian-1deb11u1)
OpenJDK 64-Bit Server VM (build 11.0.16+8-post-Debian-1deb11u1, mixed mode)

Nucleus version: 2.7.0

Additional context
I am running greengrass and the secure tunneling component on a mobile device which is connected to the internet via a LTE connection. This connection will always take some time to established and may be interrupted during operation, at least for a short while. The secure tunneling component must thus be able to handle periods with out internet connection, after which is must be able to resume sevice. F.e. the nucleues or the cloudwatch component seems to be able to reconnect after any amount of time, which is what I would expect from the SecureTunneling component.

Hey @Staff-d , thank you for reaching out to us with this issue. Please give us some time to review this issue and we will get back to you once we have more understanding about it.
Thanks,
Harsh Gandhi

Hello @Staff-d can you please update to newer version of Greengrass nucleus? It looks like us are using an older version(2.7.0).

Hello @HarshGandhi-AWS ,
To test if the issue still exists I created a new VM based on ubunut 22.04 LTS, installed the newest greengrass version
java -jar ./GreengrassInstaller/lib/Greengrass.jar --version
AWS Greengrass v2.9.2

and created a deployment with the newest version of the secure tunneling component which I deployed to the VM:
{
    "targetArn": "arn:aws:iot:eu-central-1:056026206238:thing/GreengrassTestVM",
    "deploymentName": "tunnelingtestdeployment",
    "components": {
        "aws.greengrass.SecureTunneling": {
            "componentVersion": "1.0.11"
        },
        "aws.greengrass.Cli": {
            "componentVersion": "2.9.2",
            "configurationUpdate": null
        }
    },
    "deploymentPolicies": {
        "failureHandlingPolicy": "ROLLBACK",
        "componentUpdatePolicy": {
            "action": "NOTIFY_COMPONENTS",
            "timeoutInSeconds": 60
        }
    }
}

I disconnected the VM from the internet and performed a reboot (as an alternative you can also restart the greengrass service using systemctl). The component shows the same behavior as with version 2.7.0: It tries to connect to IoT core  three times, enters the broken state when it fails to do so and does not recover even if the connection is restored.
2022-12-23T14:37:20.042Z [INFO] (Copier) aws.greengrass.SecureTunneling: stdout. [ERROR] 2022-12-23 15:37:20.014 [main] SecureTunnelingExecutor - Exception while running secure tunneling.. {scriptName=services.aws.greengrass.SecureTunneling.lifecycle.run.script, serviceName=aws.greengrass.SecureTunneling, currentState=RUNNING}
2022-12-23T14:37:20.043Z [INFO] (Copier) aws.greengrass.SecureTunneling: stdout. java.util.concurrent.ExecutionException: software.amazon.awssdk.aws.greengrass.model.ServiceError: Subscribe to topic $aws/things/GreengrassTestVM/tunnels/notify failed with error java.util.concurrent.ExecutionException: software.amazon.awssdk.crt.mqtt.MqttException: A query to dns failed to resolve.. {scriptName=services.aws.greengrass.SecureTunneling.lifecycle.run.script, serviceName=aws.greengrass.SecureTunneling, currentState=RUNNING}

sudo /greengrass/v2/bin/greengrass-cli component details -n aws.greengrass.SecureTunneling:
Dec 23, 2022 3:40:46 PM software.amazon.awssdk.eventstreamrpc.EventStreamRPCConnection$1 onConnectionSetup
INFO: Socket connection /greengrass/v2/ipc.socket:8033 to server result [AWS_ERROR_SUCCESS]
Dec 23, 2022 3:40:46 PM software.amazon.awssdk.eventstreamrpc.EventStreamRPCConnection$1 onProtocolMessage
INFO: Connection established with event stream RPC server
Component Name: aws.greengrass.SecureTunneling
    Version: 1.0.11
    State: BROKEN
    Configuration: {"accessControl":{"aws.greengrass.ipc.mqttproxy":{"aws.greengrass.SecureTunneling:mqttproxy:1":{"operations":["aws.greengrass#SubscribeToIoTCore"],"policyDescription":"Access to tunnel notification pubsub topic","resources":["$aws/things/+/tunnels/notify"]}}},"OS_DIST_INFO":"auto"}

The greengrass core software DOES recover and connects to the IoT core as soon as the internet connection comes back up (around the 15:38:38 CET/ 14:38:38 UTC mark):
2022-12-23T14:38:37.265Z [ERROR] (pool-2-thread-12) com.aws.greengrass.mqttclient.MqttClient: Error when publishing from spooler. {}
java.util.concurrent.ExecutionException: software.amazon.awssdk.crt.mqtt.MqttException: A query to dns failed to resolve.
	at java.base/java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:395)
	at java.base/java.util.concurrent.CompletableFuture.get(CompletableFuture.java:1999)
	at com.aws.greengrass.mqttclient.MqttClient.runSpooler(MqttClient.java:644)
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
	at java.base/java.lang.Thread.run(Thread.java:829)
Caused by: software.amazon.awssdk.crt.mqtt.MqttException: A query to dns failed to resolve.
	at software.amazon.awssdk.crt.mqtt.MqttClientConnection.onConnectionComplete(MqttClientConnection.java:140)

2022-12-23T14:38:47.934Z [INFO] (pool-2-thread-12) com.aws.greengrass.mqttclient.AwsIotMqttClient: Connecting to AWS IoT Core. {clientId=GreengrassTestVM}
2022-12-23T14:38:59.045Z [INFO] (Thread-6) com.aws.greengrass.mqttclient.AwsIotMqttClient: Connecting to AWS IoT Core. {clientId=GreengrassTestVM}
2022-12-23T14:38:59.046Z [INFO] (Thread-6) com.aws.greengrass.mqttclient.AwsIotMqttClient: Connection purposefully interrupted. {clientId=GreengrassTestVM}
2022-12-23T14:38:59.249Z [INFO] (Thread-6) com.aws.greengrass.mqttclient.AwsIotMqttClient: Successfully connected to AWS IoT Core. {clientId=GreengrassTestVM, sessionPresent=false}

Here are the greengrass and securetunneling log files for this experiment:
greengrass-log-v2.9.2.txt
securetunneling-log-v2.9.2.txt
I could also provide the qcow image of the virtual machine, should you need it.
Best regards and happy new year :slightly_smiling_face:
Sebastian

Hi Sebastian,
We have deployed the latest 1.0.12 release of the Green Grass Secure Tunneling Component and that should resolve this issue!
Thanks for your help
Shane


Generator: Add full auroLabs docs

Alaska Airlines Pull Request
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.
Fixes: https://github.com/AlaskaAirlines/WC-Generator/issues/74
Summary:
The scope of this update is to add more depth and understanding around the process of AuroLabs.
Demo of new content can be seen

https://auro-labs.surge.sh/aurolabs
https://auro-labs.surge.sh/webcorestylesheets/custom-element-css

Review expectation
This PR has multiple assigned reviews. This new content is about a new process to be rolled out across the org and I am very interested in your perspectives as to the process laid out and the content within.
Please feel free to reach out to me directly with feedback or add comments to this PR.
Type of change:
Please delete options that are not relevant.

[ ] New capability
[ ] Revision of an existing capability
[ ] Infrastructure change (automation, etc.)
[x] Content additions and updates

Checklist:

[x] My update follows the CONTRIBUTING guidelines of this project
[x] I have performed a self-review of my own update

By submitting this Pull Request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
Pull Requests will be evaluated by their quality of update and whether it is consistent with the goals and values of this project. Any submission is to be considered a conversation between the submitter and the maintainers of this project and may require changes to your submission.
Thank you for your submission!
-- Auro Design System Team

Removed list of reviews and moving forward with @geoffrich suggestions and other typos I discovered.

Changed PR target branch to master as the release of this content is not dependent on other Generator updates nor does it trigger a version release.

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Requesting a review of potential issues found in current develop branch code

Just read through a portion of the source code, as well as my code editors warnings/errors shown for the code in this repo, and the following has been observed by me. Not all of these are necessarily issues with this, just things that I was able to easily find and not personally able rule out as false positive issues.

https://github.com/openstreetmap/iD/blob/8e8d00ae8b4d43643db16af413406a3df0c6e5ad/modules/behavior/select.js#L338
& instead of && here might cause issues with short circuiting logic of boolean operations,

https://github.com/openstreetmap/iD/blob/8e8d00ae8b4d43643db16af413406a3df0c6e5ad/modules/modes/drag_node.js#L237
The whole if will always evaluate to false since both hasRelationConflict() and hasInvalidGeometry() called above can never return either of these values.
https://github.com/openstreetmap/iD/blob/8e8d00ae8b4d43643db16af413406a3df0c6e5ad/modules/modes/drag_node.js#L247
Same as above with this line, neither of these ever return line as a value.

https://github.com/openstreetmap/iD/blob/8e8d00ae8b4d43643db16af413406a3df0c6e5ad/modules/ui/tools/modes.js#L59
Passes mode variable to the enabled() function, but that function takes no args. This might be expecting a different return value from that function than is being used.
https://github.com/openstreetmap/iD/blob/8e8d00ae8b4d43643db16af413406a3df0c6e5ad/modules/ui/tools/modes.js#L102
Same as above with this line.
https://github.com/openstreetmap/iD/blob/8e8d00ae8b4d43643db16af413406a3df0c6e5ad/modules/ui/tools/modes.js#L140
Same as above with this line.
https://github.com/openstreetmap/iD/blob/8e8d00ae8b4d43643db16af413406a3df0c6e5ad/modules/ui/tools/modes.js#L141
Same as above with this line.

https://github.com/openstreetmap/iD/blob/8e8d00ae8b4d43643db16af413406a3df0c6e5ad/modules/ui/tools/notes.js#L38
Same as above with this line. (different file than above issue though)
https://github.com/openstreetmap/iD/blob/8e8d00ae8b4d43643db16af413406a3df0c6e5ad/modules/ui/tools/notes.js#L77
Same as above with this line.
https://github.com/openstreetmap/iD/blob/8e8d00ae8b4d43643db16af413406a3df0c6e5ad/modules/ui/tools/notes.js#L110
Same as above with this line.
https://github.com/openstreetmap/iD/blob/8e8d00ae8b4d43643db16af413406a3df0c6e5ad/modules/ui/tools/notes.js#L111
Same as above with this line.

https://github.com/openstreetmap/iD/blob/8e8d00ae8b4d43643db16af413406a3df0c6e5ad/modules/ui/tools/save.js#L67
Same as above with this line. (different file and function name than above issue though)

https://github.com/openstreetmap/iD/blob/8e8d00ae8b4d43643db16af413406a3df0c6e5ad/css/30_highways.css#L19
Duplicate selector, can be combined with one earlier in this file.
https://github.com/openstreetmap/iD/blob/8e8d00ae8b4d43643db16af413406a3df0c6e5ad/css/30_highways.css#L22
Same as above with this line.
https://github.com/openstreetmap/iD/blob/8e8d00ae8b4d43643db16af413406a3df0c6e5ad/css/30_highways.css#L430
Same as above with this line.
https://github.com/openstreetmap/iD/blob/8e8d00ae8b4d43643db16af413406a3df0c6e5ad/css/30_highways.css#L631
Same as above with this line.

https://github.com/openstreetmap/iD/blob/8e8d00ae8b4d43643db16af413406a3df0c6e5ad/css/35_aeroways.css#L42
Same as above with this line. (different file than above issue though)
https://github.com/openstreetmap/iD/blob/8e8d00ae8b4d43643db16af413406a3df0c6e5ad/css/35_aeroways.css#L46
Same as above with this line.

https://github.com/openstreetmap/iD/blob/8e8d00ae8b4d43643db16af413406a3df0c6e5ad/css/40_railways.css#L48
Same as above with this line. (different file than above issue though)
https://github.com/openstreetmap/iD/blob/8e8d00ae8b4d43643db16af413406a3df0c6e5ad/css/40_railways.css#L51
Same as above with this line.

https://github.com/openstreetmap/iD/blob/8e8d00ae8b4d43643db16af413406a3df0c6e5ad/css/50_misc.css#L81
Same as above with this line. (different file than above issue though)
https://github.com/openstreetmap/iD/blob/8e8d00ae8b4d43643db16af413406a3df0c6e5ad/css/50_misc.css#L247
Same as above with this line.

https://github.com/openstreetmap/iD/blob/8e8d00ae8b4d43643db16af413406a3df0c6e5ad/css/80_app.css#L3074
The display attribute here is duplicated, may lead to unexpected issues with rendering this element.

Will continue reviewing from there tomorrow, but its late for me and I'm going to bed.
Any further problems found will be raised in a separate GitHub issue.
(This was submitted as of commit # https://github.com/openstreetmap/iD/commit/8e8d00ae8b4d43643db16af413406a3df0c6e5ad)
Edit:
Removed un-needed parts added by the issue template and replace method terminology with function (am more used to using C# currently, not JS).

Hey. Thanks, I will take a look through these. :+1:

code editors warnings/errors shown for the code in this repo

Just out of curiosity: which code editor is this?

iD/modules/modes/drag_node.js
if (isInvalid === 'relation' || isInvalid === 'restriction') {
The whole if will always evaluate to false since both hasRelationConflict() and hasInvalidGeometry() called above can never return either of these values.
var errorID = isInvalid === 'line' ? 'lines' : 'areas';
Same as above with this line, neither of these ever return line as a value.

:thinking: I think these are false positives: restriction can be returned by hasRelationConflict (from here), while relation and line are returned by hasInvalidGeometry (here).

Hey. Thanks, I will take a look through these. 👍

code editors warnings/errors shown for the code in this repo

Just out of curiosity: which code editor is this?

No problem, thank you for taking a look at these!
Its just VS Code with some plugins, the one which produces most of the warnings I've looked through is SonarLint.

iD/modules/modes/drag_node.js
if (isInvalid === 'relation' || isInvalid === 'restriction') {
The whole if will always evaluate to false since both hasRelationConflict() and hasInvalidGeometry() called above can never return either of these values.
var errorID = isInvalid === 'line' ? 'lines' : 'areas';
Same as above with this line, neither of these ever return line as a value.

🤔 I think these are false positives: restriction can be returned by hasRelationConflict (from here), while relation and line are potentially returned by hasInvalidGeometry (here).

Ah, these two may be false positives.
I tried to rule out most the false positives myself, and only give the ones I couldn't personally rule out.


[doc]refactor documents

refactor fg documents

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

already


Looping crash when choosing generic PIP display.

I was fiddling around with options, and found that when switching the display to generic PIP, the game will crash, and then crash on subsequent startups. I'm using HDMI output to a 4K display.

Could you provide us with more log information?

We need a copy of the logs in your /logs folder to help further,. and can you read how to submit a bug/crash report so we have all the information/details to help you


Complete example for Pix2Pix link points to YOLO example

See "Here is a complete example": https://ml5js.org/docs/Pix2Pix

Nice catch, will update. thanks!

Fixed in https://github.com/ml5js/ml5-website/commit/f84f7bd765061645f318d533557f6b645c9d6a6a


Exclusion Report | Delete a draft |2|

Story:
As a BCeID user, I want to be able to delete a saved draft of an Exclusion Report so that I can delete draft reports that are no longer needed.
Scenario:
GIVEN that I am a BCeID user
AND I have the Compliance Reporting role
AND I am on the Compliance Reporting page
AND I have saved a draft of an Exclusion Report
AND I am viewing the saved draft Exclusion Report
WHEN I click on the Delete button
THEN I receive a confirmation alert asking me to confirm deletion (Card 1566)
AND confirming deletion deletes the draft Exclusion Report (i.e. archives)
AND I am returned to the Compliance Reporting section of TFRS (Card 1228)
AND a system alert appears informing me that the draft has been deleted (i.e. archived) (Card 1567)
AND the previously saved draft entry is no longer visible in the Compliance Reporting table
Note:
Best practice for data management dictates that we archive the draft and not actually delete it
https://trello.com/c/sdX9QLJn/1565-exclusion-report-delete-a-draft-2

 Exclusion Report | Delete a draft |2|

resolved in sprint vulcan


Add snyk tool into image

I just added small test to check presence of working snyk binary in the image


Creating a landing page

To create a landing page where there will be all the details about the project
Please assign me this issue under GSSOC'24 so that I can work on it

To create a landing page where there will be all the details about the project
Please assign me this issue under GSSOC'24 so that I can work on it

To create a landing page where there will be all the details about the project
Please assign me this issue under GSSOC'24 .

HEY @Sibam-Paul, Please assign this issue.


alt+shift+c = __fzf_cd_with_hidden: command not found...

Just installed with fisher, fish 2.7.
Getting __fzf_cd_with_hidden: command not found with alt+shift+c.

That should've fixed it, feel free to reopen if it doesn't!

Thanks, will test soon.


Fix the import typo in Python example

What changes were proposed in this pull request?
The Python example  in local matrix data type in MLlib needs to fix the import line:
import org.apache.spark.mllib.linalg.{Matrix, Matrices}
It seems it has been copied from Scala by mistake.
I couldn't find the source to apply the changes.
How was this patch tested?
It's a typo in the docs
(If this patch involves UI changes, please attach a screenshot; otherwise, remove this)

Can one of the admins verify this patch?

@sjjpo2002 please close this PR; if you actually meant to send a patch, you did something wrong when creating it.

Not sure what happened with this PR, but it's clearly in a bad state. Can you close it?

I'm closing this. I'm not sure how this caused build errors. I just referred to the typo in the documentation and didn't make any changes!

@sjjpo2002 not a problem with the change you tried to make, maybe, but your branching is incorrect.


🚧 Search API - Add built-in filter _geoBoundingBox

Summary

Add the _geoBoundingBox(({lat}, {lng), {lat}, {lng)) filter expression
Rewrites the original spec in a long-term format
Catch up on every missing variant introduced without the spec being kept up to date :rage1: :rage2: :rage3: :rage4: :feelsgood: for invalid_geo_field, invalid_sort and invalid_filter errors

Changes
N/A
Out Of Scope
N/A

Attention To Reviewers

Double-check the error variants.

Misc

[] Update OpenAPI specification file (if needed; Apply the OpenApi label)
[] Update telemetry datapoints (if needed; Apply the Telemetry label)

@irevoire I think we can start with a fresh new spec because that one is describing older changes that have happened since v1.0 (error description and variants description for geo related errors) WDYT?

Oops, yes, I thought this one was already merged

I'm on it!

Replace by https://github.com/meilisearch/specifications/pull/223


Order by hnsw, take 2

the idea is, perform all the expression searches within an sstable (soon: within each segment) or memtable, take the intersection, and then order+limit those with hnsw
then, union the results from each sstable + memtable, and then give those results to Zhao's VectorTopK code

Merged rebased version to cep-vsearch.


Cloudfare Verification Failure

Steps to reproduce

Go to webview on a site with cloudfare, like foxaholic.
Try to complete Cloudfare verification.
Loads for a while, then failure.
Tried with VPN on and off, tried clearing cookies from the app, and the cache of the app itself, doesn't work.
App doesn't seem to let you change user agent, not sure if it would even help.

Expected behavior
Enter webview
Complete Cloudfare verification
Success
Actual behavior
Enter webview
Complete Cloudfare verification
Failure
LNReader version
1.1.19
Android version
Android 13
Device
Samsung Galaxy A71
Other details
No response
Acknowledgements

[X] I have searched the existing issues and this is a new ticket, NOT a duplicate or related to another open or closed issue.
[X] I have written a short but informative title.
[X] If this is an issue with a source, I should be opening an issue in the sources repository.
[X] I have updated the app to version 1.1.19.
[X] I will fill out all of the requested information in this form.

Any source which uses captcha don't work anymore I believe. The userAgent currently in use by 1.1.19 is being rejected. Based on user reports, this has affected

lightnovelpub
lightnovelworld
foxaholic
novel updates (accessing chapter links with captcha)
I recommend moving over to beta if this is important to you since it has a userAgent switcher.

Do you know if the backup will save chapters not yet turned into epub?  Can't seem to find that location.


Pattern: Try-Catch-Finally

We're so eager to add your sample to this repository as soon as possible, but we need all samples follow the same structure.
To make sure we process it as soon as possible, make sure to follow these instructions.

Q
A

Bug fix?
no

New feature?
no

New sample?
yes

Related issues?
-

Solution Details

Q
A

Solution requires premium license
no

Which connectors are used?
none

Solution uses on-premises connectors?
no

Solution uses custom connectors?
no

What's in this Pull Request?
As simple sample showing how to create a Try-Catch-Finally structure in Flow using Scopes and Run After configuration.

Thank you @remyblok! Congratulations for being the first sample in this repo!


Consolidate all StatusBar logic

Make sure status bars behave consistently between different screens
Do not hide status bar in Android
Fix bugs with text/bg color

Automated message from Dropbox CLA bot
@borisyankov, it looks like you've already signed the Dropbox CLA. Thanks!

Coverage decreased (-0.4%) to 55.924% when pulling 65dacf8dd2d48b489c72ded40db537651e5b92f7 on borisyankov:statusbar into f4667b1b33cdb4928d10c310140a0e8da881c9f5 on zulip:master.

Coverage decreased (-0.4%) to 55.884% when pulling ad223f3e89e5f2731a6009e8b82250667b886854 on borisyankov:statusbar into f4667b1b33cdb4928d10c310140a0e8da881c9f5 on zulip:master.

Coverage decreased (-0.4%) to 55.924% when pulling d19683bde6c712c4042410b369445b3c42547cdc on borisyankov:statusbar into f4667b1b33cdb4928d10c310140a0e8da881c9f5 on zulip:master.


Add samples.

Codecov Report

Merging #71 (9aca268) into main (63718ab) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main      #71   +/-   ##
=======================================
  Coverage   92.47%   92.47%
=======================================
  Files          20       20
  Lines        1847     1847
  Branches      181      181
=======================================
  Hits         1708     1708
  Misses        139      139

Flag
Coverage Δ

unittests
92.47% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

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 63718ab...9aca268. Read the comment docs.


Text and font weight needs to be different for transactions in different state in Activity tab

@hboon can u provide more details what font weight do we need to use and in what case?

This one’s for me :) it’s quite simple but there’s something I wanted to check first.


Added skip audio and video, also ran a go fmt for accurate tab spacing

Needed to skip audio on one file and video on another

Hi,
Can you please merge this?
Thanks,
RohitG

Resolve merge conflicts please.

Seems good now..

Hi, can you please merge?
Thanks,
RohitG


STM32: Board conversion to DT clock configuration. STM32F4 part2

Following #34609, Board conversion to DT clock configuration. STM32L4 boards, part2.
Compilation OK. Not tested (I don't have the boards).

nucleo_f410rb
nucleo_f412zg
nucleo_f413zh
nucleo_f446re
segger_trb_stm32f407
adafruit_feather_stm32f405
steval_fcu001v1
stm32f4_disco
stm32f411e_disco
stm32f412g_disco
stm32f429i_disc1
stm32f469i_disco

CI failing due to:
tests/arch/arm/arm_no_multithreading/arch.arm.no_multithreading in segger_trb_stm32f407:tests/arch/arm/arm_no_multithreading/arch.arm


About the test code

Thanks for sharing your code~
but when I only run 'gen_run_jobs_1.sh' with your test data, the result is very strange, it look like this:
/home/yck/桌面/2019-07-21 22-27-33屏幕截图.png
I did't change any code, who can tell me where the problem?

Hi thanks for your interest in our work and pointing this error out. I believe this issue is introduced in this extra line of code (Line 127 of smpl_batch.py, now already commented out) incorrectly added some time ago:

Now the code should work again. Can you please give it a try? Thanks!

ok, thanks~

It works well !


Make the function to compute the prebuilt module cache path public

so it can be called by LLDB. (NFC).
rdar://76112632
(cherry picked from commit ab3da1625ec65cd19b6dcfb8f6ebf5f31e9c4952)

@swift-ci test


CORS-3191: Add Dockerfile to build etcd for openshift-installer

The installer team are currently migrating towards using Cluster API and envtest to run a temporary control plane as part of the installation procedure.
As part of this requirement, we need to include within the installer etcd binaries, suitable for the 4 architectures supported by the installer program (plus the specific arch for s390x/ppcle64 where appropriate, these are handled separately though).
To ensure that the installer can always support darwin/amd64, darwin/arm64, linux/amd64, linux/arm64, we need to have an intermediary image, built into the CI and ART pipelines, that the installer can source from.
This PR adds a dockerfile that will cross compile the 4 required architectures for etcd and then publish them into an image, I'm intending to call installer-etcd-artifacts.
The same was done for kube-apiserver as well to satisfy that dependency (https://github.com/openshift/kubernetes/pull/1872).

Looks great, an in-keeping with the KAS one as well
/lgtm

/assign @hasbro17

/retest-required

/approve


Don't allow global anymore, use static variables at package level instead

Describe the feature
From the documentation:

If the use of global is discouraged, then it is preferable to remove it completely from the language and use static variables at the package level.
Proposed Solution
Static variables at the package level are safer to use, plus they are declared in a package scope, so there is no collision with other symbols with similar names.
package main

static my_var := 1

fun main() {
    my_var += 1
}

Additional Information
No response

To reduce issues with globals, they already behave like static variables.
Keyword should indeed be changed to static and the docs be clarified.


Make proper use the gpu variable

The dashboard has a 'gpu' variable that's otherwise unused.
This change switches the variable from singe to multi-value, adds the 'all' option, and updates all expressions to match against the selected GPUs.

Moved to https://gitlab.com/nvidia/container-toolkit/gpu-monitoring-tools/-/merge_requests/31


Add SaveAreView to TabBar

Add SaveAreaView

this repo lives at https://github.com/react-native-community/react-native-tab-view, the repo here is just a temporary fork. please reopen on upstream


Cannot start GPU instances - Exception on: com.mysql.cj.jdbc.ClientPreparedStatement

ISSUE TYPE

Bug Report

COMPONENT NAME
CS core - GPU

CLOUDSTACK VERSION
<IP_ADDRESS>

CONFIGURATION
OS / ENVIRONMENT

XCP-ng 8.2.1 (platform_version: 3.2.1)
MySQL v8.4.2
Ubuntu 24.04 LTS

SUMMARY

STEPS TO REPRODUCE

1. Add a GPU-enabled host
2. Configure ServiceOffering using the GPU family and vGPU type as `passthrough`
3. Try to deploy an instance using the GPU offering

EXPECTED RESULTS

The instance should start.

ACTUAL RESULTS

The instance fails to start:
Exception on: com.mysql.cj.jdbc.ClientPreparedStatement:

SELECT host_gpu_groups.id, host_gpu_groups.group_name, host_gpu_groups.host_id
FROM host_gpu_groups INNER JOIN vgpu_types groupId
ON host_gpu_groups.id=groupId.gpu_group_id
WHERE host_gpu_groups.host_id = 20
  AND host_gpu_groups.group_name = x'<REDACTED>'
  AND (groupId.vgpu_type = x'<REDACTED>'
  AND groupId.remaining_capacity > 0 )
ORDER BY vgpu_types.remaining_capacity DESC ]

The ORDER_BY clause should reference the alias groupId but not vgpu_types.remaining_capacity

This is applicable to KVM hypervisor as well. Switching between the different Deployment planners did not make a difference.

Hi @Revellski can you please test the PR #9573?

fixed in #9573


Shaders included in build even if they are not used anywhere in the scenes

If possible try placing the shaders in some folder other than "Resources".
My mobile game project just uses one effect but the shaders of all other effects get included in the build thus increasing the size.
Other than that, great work. Love this project.
Unity 2019.4.0f1
4.0.0-Preview-9

@GoShikhar
Thank you for your reporting.
A shader variant collection or build pipeline might solve this problem.
I’ll try them later.

Sorry for my late reply.
UIEffect v5 is now released.
Please try it. :+1:
🔄 Upgrading from v4 to v5


Startup Logo and Sponsor Logos

We've got sponsor logos to show on badge startup. This applies to all gold and badge sponsors in the sponsorship sheet. @joenash can you let us know if there are any specific requirements around timing, prominence, etc?

No specific requirements around timing. Prominence wise, we don't currently have a sponsor above Gold, so they can all be equally placed. It might be nice to do two screens of logos, one for the Gold sponsors, and then one for the badge sponsors that says "badge sponsors" or something at the top. See https://emfcamp.org/sponsors for example.

Presumably this could now be closed, as no longer valid (for 2024 at least)?

I think it would probably be nice to still do this, now that images work, so let's keep it open


benchmark output meaning?

What version of Go are you using (go version)?

$ go version go1.9.4 linux/amd64

Does this issue reproduce with the latest release?
not sure
What operating system and processor architecture are you using (go env)?
go env Output
$ go env
GOARCH="amd64"
GOBIN=""
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/scliang/go:/home/scliang/iot"
GORACE=""
GOROOT="/usr/lib/golang"
GOTOOLDIR="/usr/lib/golang/pkg/tool/linux_amd64"
GCCGO="gccgo"
CC="gcc"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build640120252=/tmp/go-build -gno-record-gcc-switches"
CXX="g++"
CGO_ENABLED="1"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"

What did you do?

Run a benchmark case but the output time makes me feel puzzled.
proto: duplicate proto type registered: device.LoginRequest
proto: duplicate proto type registered: device.LoginReply
proto: duplicate proto type registered: device.LogoutRequest
proto: duplicate proto type registered: device.LogoutReply
proto: duplicate proto type registered: device.PushRequest
proto: duplicate proto type registered: device.PushReply
proto: duplicate proto type registered: device.UploadRequest
proto: duplicate proto type registered: device.UploadReply
proto: duplicate proto type registered: device.PostRequest
proto: duplicate proto type registered: device.PostReply
goos: linux
goarch: amd64
pkg: gitlab.xfyun.cn/XIoT/core/test/rpc
BenchmarkPropertyDownload-48    	       5	 252492668 ns/op
PASS
ok  	gitlab.xfyun.cn/XIoT/core/test/rpc	3.828s

This bench case need some extra init job so I reset the timer. Here is the partial code
func BenchmarkPropertyDownload(b *testing.B) {
	flag.Parse()
	dvclist := getDevices(*numOfDvc)
	URL := protocol + *domainName + "/api/v1/commands/obtain/properties"
	perTimes := *numOfTimes / len(dvclist)
	var wg sync.WaitGroup
	b.ResetTimer()
	for i := 0; i < b.N; i++ {
		for j := 0; j < len(dvclist); j++ {
			go quest(&wg, perTimes, dvclist[j], URL)
		}
	}
	wg.Wait()
}

"ok" time is 3.828 and the "Download" time is 252492668*5 ~= 1.7s. Obviously there is a big gap. What's the meaning of "ok" time? The whole time of this bench execution? Or the time after reset timer?
One possible reason of the difference in "ok" and "Download" I think may be due to wg.Wait()
.

### What did you expect to see?
May be you can give a link page explain the output meaning of test.bench. I can't find on https://golang.org/pkg/testing/

### What did you see instead?

The "ok" time is the total time it takes to run the test program.  The time reported for the benchmark is the approximate time it takes to run just that code.  The "ok" time is reported mainly for interest when running non-benchmark tests.  When only running benchmarks, you may as well ignore it.
I'm going to close this issue because there is nothing to do.  In general we don't use the issue tracker for questions, and you will get better answers on a forum.  See https://golang.org/wiki/Questions.


Not finding cells on clicking when a small window

I found that when the visible window was small the position of x-spreadsheet-selectors was being handled wrongly by chrome, firefox and safari.
I gave this a css attribute of position: absolute, but more importantly I fixed the height of the item.
(removing the freeze and setting to the height of the sheet.)
That resolved this issue.
function sheetFreeze() {
var selector = this.selector,
data = this.data,
editor = this.editor;
var _data$freeze = sheet_slicedToArray(data.freeze, 2),
ri = _data$freeze[0],
ci = _data$freeze[1];
var fwidth = data.freezeTotalWidth();
var fheight = data.freezeTotalHeight();

if (ri > 0 || ci > 0) {
editor.setFreezeLengths(fwidth, fheight);

}
var vRect = this.getRect();
var newHeight=vRect.height-fheight-25;
selector.el.offset({height: newHeight});
selector.resetAreaOffset();
}

function sheetFreeze() {
    var selector = this.selector,
        data = this.data,
        editor = this.editor;

    var _data$freeze = sheet_slicedToArray(data.freeze, 2),
        ri = _data$freeze[0],
        ci = _data$freeze[1];

    var fwidth = data.freezeTotalWidth();
    var fheight = data.freezeTotalHeight();

    if (ri > 0 || ci > 0) {
        editor.setFreezeLengths(fwidth, fheight);
    }

    var vRect = this.getRect();
    var newHeight = vRect.height - fheight - 25; // Adjust as needed

    // Assuming selector.el is the element you want to adjust the height of
    selector.el.style.height = newHeight + 'px';

    selector.resetAreaOffset();
}

function sheetFreeze() {
    var selector = this.selector,
        data = this.data,
        editor = this.editor;

    var _data$freeze = sheet_slicedToArray(data.freeze, 2),
        ri = _data$freeze[0],
        ci = _data$freeze[1];

    var fwidth = data.freezeTotalWidth();
    var fheight = data.freezeTotalHeight();

    if (ri > 0 || ci > 0) {
        editor.setFreezeLengths(fwidth, fheight);
    }

    var vRect = this.getRect();
    var newHeight = vRect.height - fheight - 25; // Adjust as needed

    // Assuming selector.el is the element you want to adjust the height of
    selector.el.style.height = newHeight + 'px';

    selector.resetAreaOffset();
}


add link export function

Allows bookmarks to be exported as a link and imported from a link.

Link bookmarks are loaded first. If they are not specified, local storage will be used instead.
Generated link is shown in a modal, which provides a quick copy to clipboard button

The UI design and code structure seems to need some work.
Can you switch your pull request to the newly created link-export branch instead?

The UI design and code structure needs some work.
I'll merge this into a separate branch to work on them.


NHost.io related, Predictable pricing and Multi Tenant

Hi,
Could I request a similar guide like below, to able to host dedicated server on NHost.io for every 1k customer etc.
Multi Tenant

Will do. ETA 4 days

Great, can slowly take your time.
It would be great comparison to serverless for huge traffic site...that people browse all day like YouTube, Reddit

https://github.com/hasura/graphql-engine/issues/2836
Which one of alternative [1,2,3] are you currently considering?
I do not have any experience with 1 and 2. 3 I do and could write a blog post about.
Maybe you could describe your use case a bit more. If you don't want to write here, write to me personally at<EMAIL_ADDRESS>

I think I am prefer 3 or 2.
Thanks for linking me to the #2836

Awesome. I made a blog post on how to approach the building of a multi-tenant application with Nhost and Hasura with the same backend (3):
https://blog.nhost.io/building-a-multi-tenant-application-with-nhost-and-hasura/
I published it right with the essential information. I'll be updating the post in the coming weeks.


[WelcomeUX] Overlay moved up in OSX insider

Testing #18091
My guess is that the custom title bar affects it. Placing it a little lower in the DOM might fix this.

@bgashler1 I'm fixing this by making the overlay smaller if there is a custom titlebar, that's easiest for now. We could change that to instead move all affected arrows and labels down, such that, the titlebar is blurred by the overlay too.


Remove almost never used Evented

Evented is obsolete and never used by Tether itself. So there is point having it in the main codebase.
It seems that the only place when Evented is used  is drop. It maybe also used in some other libs that extend/depend on Tether.
Evented has no usefull features, - it does not even provide things like  event.preventDefault() or event.stopPropagation.
The provided by Evented functionality can be easily implemented in using native CustomEvent on target
Using DOM as EventBus would provide a more advanced solution.
It seems reasonable to remove Evented from the codebase - if that is not possible because of some legacy code or libs depending on this functionality - I suggest replacing it with implementation based on CustomEvent ( polyfill may be included for legacy browser )

Evented is used a simple event handler and serves as a base for drop, tooltip, shepherd, and select. To say it has no useful features a bit unfair given how useful they are in these libraries. If you still think otherwise, you're welcome to start a pull request with a possible solution.


feat: remove enable_rtc from detection_area

Description
launcher PR for https://github.com/autowarefoundation/autoware.universe/pull/9802
How was this PR tested?
Notes for reviewers
None.
Effects on system behavior
None.

@rej55 @satoshi-ota @shmpwk
Please approve the PR.


Move the similar function merging pass into the LLVM repo

This makes it easier to experiment with function merging in clang.
This set of PRs just does pure code movement.
Depends on:
https://github.com/apple/swift-llvm/pull/123
https://github.com/apple/swift-clang/pull/231
rdar://45707083

apple/swift-llvm#123
apple/swift-clang#231
@swift-ci please smoke test

LGTM

apple/swift-llvm#123
apple/swift-clang#231
@swift-ci please smoke test

apple/swift-llvm#123
apple/swift-clang#231
@swift-ci please smoke test

@eeckstein @aschwaighofer thanks for the reviews!
Here's my plan for landing this:

Commit the llvm & clang parts to github/upstream-with-swift, then cherry-pick to swift-5.0-branch.
Wait until the changes are auto-merged into the swift-{llvm,clang}/stable branches. This can't be forced -- those branches are gated.
Merge this PR to delete swift's copy of the pass.

Does that sound right?

On second thought, it might be more difficult to maintain a copy of this pass in the upstream-with-swift branch, as it would require more effort to keep it in sync with llvm.org. Let's wait until we can really upstream this pass to do this.


Error Authenticating Channel

My API returns a different response than the one in the docs. It still returns the same items, they are just inside of a json array. Does authentication require the response to be exact? Or is there a way to change it so that it does not error

Even after being able to implement the backend correctly I am still receiving this error. I am unable to authenticate users right now

Can we please get some better error handling here? There are 4 instances of this in the code and now I dont know which one is the problem!
Error authorizing channel [presence-channel]: Optional("")

NM this was a setting on my end. I got it working now!


Add collection

Please add the FLUIDITY collection.
Thanks, Sir Gadfly

currently listed in /collections/glitched_gold @SirGadfly please comment. thank you

close pr. @SirGadfly you are welcome to reopen with a comment, see above. Thank you for your understanding.


No wandb cleanup inevitably leads to filled drive

Describe the bug
When running a validator that logs to wandb, a local cache is kept on drive that doesn't get cleaned out.
If the run goes long enough, this inevitably leads to the drive filling up and crashing the application.
To Reproduce
leave validator running and watch drive space get eaten up over time
Expected behavior
a periodic cleaning of these files should be implemented to prevent this from happening
Screenshots
No response
Environment
Linux Ubuntu, Bittensor 5.3.4
Additional context
No response

Seems like this has been an issue for many users. See here.
Workaround is manual cache clearing using the wandb api:
wandb sync --clean-old-hours N --no-include-online # N is number of hours
and/or
wandb artifact cache cleanup 10GB # clean everything over 10GB, 0GB to delete everything.


Tundra 2 mac fixes

Apart from the build/linker error fixes there are other things such as:

rewritten build-mac-deps.bash script for fetching and building most of the dependencies for Mac OS X;
workaround for drag-and-drop support similar to the mouse event propagation workaround (Application.cpp);
some workarounds in Math library for Frustum, Circle, Sphere and Quat (explained in issue #48), and
bundled application informations, scripts, icons and a background splash.

Seems that there are couple of Math lib changes there also. Jukka could you possibly copy the few lines over to that repo and we revert the commits that did that here? Or do you want a proper pull request directly there?

This is good to be merged. The old issue #48 needs to be reviewed when have time. Also the new issues in above commits were marked down as #317 and #318.

thanks


Not able to get JWT header in Istio custom AuthorizationPolicy passed via outputPayloadToHeader of RequestAuthentication

We have kubernetese cluster deployed on AWS EKS with Istio 1.11.4.
We are using JWT for authentication and passing it in the header x-jwt-assertion.
To validate the JWT we are using RequestAuthentication
Here is the definition
apiVersion: "security.istio.io/v1beta1"
kind: "RequestAuthentication"
metadata:
  name: "graphql-jwt"
  namespace: graphql
spec:
  selector:
    matchLabels:
      app: graphql
  jwtRules:
    - issuer: "https://login.<mycompany>.io/"
      jwksUri: "https://<mycompany>.us.auth0.com/.well-known/jwks.json"
      outputPayloadToHeader: "my-data"
      fromHeaders:
        - name: x-jwt-assertion
          prefix: "Bearer "

We have another service deployed in the cluster that determines based on the request headers and body whether the request should be forwarded or not. We are using Istio CUSTOM Authorization Policyfor this.
The definition for the AuthorizationPolicy is as following
apiVersion: security.istio.io/v1beta1
kind: AuthorizationPolicy
metadata:
  name: ext-auth-my
spec:
    selector:
      matchLabels:
        app: graphql
  action: CUSTOM
  provider:
    name: my-ext-auth
  rules:
    - { }

The configurations for this AuthorizationPolicy are defined in the istio configmap under the istio-system namespace. The configurations are specified below
apiVersion: v1
data:
  mesh: |-
    extensionProviders:
    - name: "my-ext-auth"
      envoyExtAuthzHttp:
        service: "my-api-svc.foo.svc.cluster.local"
        port: "8080"
        pathPrefix: "/hasaccess"
        includeRequestHeadersInCheck: ["my-date", "content-type"]
        includeRequestBodyInCheck:
          maxRequestBytes: 1000000

Now in my service (my-api-svc.foo.svc.cluster.local:8080/hasaccess) I am not getting the my-data header. If I change the value of includeRequestHeadersInCheck and remove content-type, my service throws an error of invalid mime type, and if I replace my-date with x-jwt-assertion the request doesn't make through to my service and I get Jwt issuer is not configured. So this validates that the headers are getting detected, its for some reason just not making through to my service.
The headers that make it to my service are
x-request-id
x-b3-parentspanid
x-b3-traceid
x-b3-spanid
x-forwarded-client-cert
x-b3-sampled
X-Forwarded-Proto
X-Forwarded-For
Host
Content-Length
Content-Type

I am not able to figure out why my-dateheader is not making its way to my api which is to Authorize the request. This header does reach the destination service for which the request was intended for, so it's not getting lost.

the CUSTOM action is evaluated before the JWT policy which means it does not have the my-data header when the external authorization is triggered. One possible way to workaround this is you could include the x-jwt-assertion in the includeRequestHeadersInCheck to check the token directly. And to make sure the token is valid, you apply both the request authN (you already have) and an extra local authorization policy to check the token is valid (https://istio.io/latest/docs/tasks/security/authentication/authn-policy/#require-a-valid-token)

I was able to resolve the issue by adding my JWT token in Authorization header instead of x-jwt-assertion and using the forwardOriginalToken property in my RequestAuthentication.
So now RequestAuthentication is
apiVersion: "security.istio.io/v1beta1"
kind: "RequestAuthentication"
metadata:
  name: "graphql-jwt"
  namespace: graphql
spec:
  selector:
    matchLabels:
      app: graphql
  jwtRules:
    - issuer: "https://login.<mycompany>.io/"
      jwksUri: "https://<mycompany>.us.auth0.com/.well-known/jwks.json"
      outputPayloadToHeader: "my-data"
      forwardOriginalToken: true
      fromHeaders:
        - name: Authorization
          prefix: "Bearer "

and my istio configmap is
apiVersion: v1
data:
  mesh: |-
    extensionProviders:
    - name: "my-ext-auth"
      envoyExtAuthzHttp:
        service: "my-api-svc.foo.svc.cluster.local"
        port: "8080"
        pathPrefix: "/hasaccess"
        includeRequestHeadersInCheck: ["Authorization", "content-type"]
        includeRequestBodyInCheck:
          maxRequestBytes: 1000000


Output destination for "$echo" directive doesn't work

For instance,
$echo 'hello', both

only outputs the text once (instead of once to stdout and once to stderr).
This is because we are interpreting the second string as an "id" and looking up the value of the variable named "both" ...

It would be kinda nice if the lookup order was:

lookup the text as enum value (ignore case)
lookup the text as a number
evaluate the expression
repeat steps 1 & 2
throw exception

I don't have the interface idea coded yet, and it may be overkill anyway, so I'm going to close this issue, and maybe make a new one (later?) for that refactoring.


Change Transaction/PendingTransaction behaviors

Description
Change the default behavior of Transaction.send() to throw an error if any errors are detected during processing. Additionally, we change isSuccess from Transaction and use status instead to indicate the transaction's current status. status can either be pending or rejected.
Also changes the tests and documentation.

@MartinMinkov should we maybe also change the https://github.com/o1-labs/o1js/blob/feat/safe-send/src/examples/zkapps/hello-world/run-live.ts in order to check txn status instead of pendingTx.hash !== undefined?

@MartinMinkov should we maybe also change the https://github.com/o1-labs/o1js/blob/feat/safe-send/src/examples/zkapps/hello-world/run-live.ts in order to check txn status instead of pendingTx.hash !== undefined?

Great callout! I'll run through all the examples for usage of .hash to change that. We'll need to change the zkapp-cli PR you made as well, if you don't mind!

Thank you, if you don't have time I can take care of that zkapp-cli PR once o1js released, no worries.


Template customizations

It seems like the locations for custom page templates moved during the last update. Is there some other way to customize them?

The template was moved here:
https://github.com/dm3ll3n/ShinyStudio-Image/tree/master/configs/shinyproxy
ShinyProxy expects the layout to be here, so you can either bind-mount the directory or copy it into the image using the Dockerfile.
/opt/shinyproxy/templates/grid-layout

Thank you!


When dead soldier switches from actor to ISM, death animation plays

https://user-images.githubusercontent.com/108254625/236117441-1c9ab1f9-f4fa-448a-8f85-f74a55bda1ba.mp4

Can't repro, closing