⚠ Redirection from Contact Us page is broken

Bug Description :
I've encountered a bug in the current implementation of our routing system. When you visit the 'Contact Us' page and then attempt to access other tabs, such as "About," "Team," or others, the expected behavior is not being achieved. This issue stems from a discrepancy in the URL within the navbar.
Details:
The issue becomes evident when you access the 'Contact Us' page. The URL in the navbar doesn't update as expected when you navigate to other tabs. This results in unintended behavior, as the routing system fails to recognize the change in the selected tab.
Reproduction Steps:

Visit the 'Contact Us' page.
Observe the URL in the navbar.
Attempt to navigate to other tabs, such as "About" or "Team."

Expected Behavior:
The URL in the navbar should dynamically update when switching between different tabs within the page, ensuring that the navigation system functions as intended.
Happy Hacking 🚀

Dear Maintainers,
If no one takes this up In a week I would like to be assigned to this one. 😅

Did fix it this morning, forgot to deploy :p


Style the new item types

Choose colors and icons, potentially create templates and enrich the detail panels for
Pathways, Proteins, Entities,

Partially done for the node visualizations. Needs more love in the detail panels.

specifically the masymos nodes don't have any styling


It's not supported in latest version of Defold (1.9.3)

I have 2 dependencies for my software that are not working in the new version of Defold!
one of them is clipboard and other is defos (which I reported before)
/clipboard/ext.manifest
An error occurred while building Native Extensions, but the server provided no information.

I'm able to build this extension with Defold 1.9.3.
Which version of Defold are you using? Have you for some reason changed the URL to the build server? The Build Server url in editor preferences should be either https://build.defold.com or left blank.
https://defold.com/manuals/editor-preferences/#extensions
What does the editor log say?
https://defold.com/manuals/editor/#editor-logs
And the build server log?
https://defold.com/manuals/extensions/#build-server-logs

Thank you for this complete explanation.
The Build Server URL in editor preferences has not been changed.
I attached the editor log file by this message.
For Build server logs, I didn't use any native extensions.
My program is this:
https://github.com/bdshahab/iap_defold
editor2.2024-09-26.log

I didn't use any native extensions.

Yes you do. Both defold-clipboard and DefOS are native extensions and they need to be compiled and linked with the engine.
Are you able to reach https://build.defold.com/ from a browser? If not, then perhaps the URL is blocked in your firewall or something?

Oh! So those libraries are native extensions!
I cannot go to that URL! It's banned!🤦♂
Error: Forbidden
Your client does not have permission to get URL /actuator/health from this server.

I cannot go to that URL! It's banned!🤦♂
Error: Forbidden Your client does not have permission to get URL /actuator/health from this server.

That explains it. We recently switched from AWS to GCP which may be the reason why it is no longer working for?
https://forum.defold.com/t/big-build-server-improvements/78244

Unfortunately, Google is the enemy of Iran! They banned Google Cloud Platform (GCP) for Iranian!
I cannot go to their URL either! (https://cloud.google.com)


subEntityId is not getting passed to Tab when encoded

We are sending the deep link to tab as part of Action.OpenUrl's url property in an adaptive card. Here is the Url - https://teams.microsoft.com/l/entity/{appid}/personalTab?label=ThinkAndor&context={"subEntityId"%3A"schedules"}
But subEntityId is coming as empty when consuming the msteamscontext in the tab. As a workaround, I passed the Url without encoding (but just replacing the " with [html quot;]) in an hyperlink as below as a text message instead of adaptive card buttons.
Test
And also the subEntityId is coming good in the tab if I just place the below Url in the browser.
https://teams.microsoft.com/l/entity/{appid}/personalTab?label=ThinkAndor&context={\"subEntityId\":\"schedules\"}
But we want to show the link with adaptive card button. Please advise.

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

ID: 45541337-ecd7-5cf6-cbe4-3f0d2f39aa79
Version Independent ID: 6b4203f0-2844-06c9-eaa3-9cc03e6f76c0
Content: Create deep links - Teams
Content Source: msteams-platform/concepts/build-and-test/deep-links.md
Product: msteams
GitHub Login: @laujan
Microsoft Alias: lajanuar

You need to add the subentity id while you are generating deeplink. Could you please check this docs?. You can add deeplink to adaptivecard button by encoding the context value while generating the deeplink. After generating a deeplink you can get subentity id inside the tab context. Also You can deeplink to personal tab by using Link to a static tab itself deeplink format. Could you please try link to static tab deeplink format?


Token Info Provider

Feature Description
Hi is there any inbuild method or functions to get the total tokens set, tokens remaining, token speed
so can you implement a small method to get all the the above info that would be great
The Solution
in some scenarios it would be great if we get all these info
Considered Alternatives
If its time consuming to implement from your side can you please help me. according to existing implementation how can i able to get these info.
Additional Context
No response
Related Features to This Feature Request

[ ] Metal support
[X] CUDA support
[ ] Grammar

Are you willing to resolve this issue by submitting a Pull Request?
Yes, I have the time, and I know how to start.

I'm not sure I understand what you're asking for.
To get the token utilization of the current context window you can get the index of the next token cell by accessing contextSequence.nextTokenIndex and the total tokens that can be fitted in the context window are context.contextSize.
You can calculate the speed of generation by using the onToken option and checking how fast it generates new tokens.
You can use contextSequence.tokenMeter.usedOutputTokens to get the total generated tokens (not only the ones that are user-facing); this is useful for more precise speed calculations.

Thanks for the help, i guess the above info will do, once the updated documentation put, will get all the api's right. waiting for the updated documentation. thanks


Postgres support

Description
I saw a PR on walletd adding postgres support - https://github.com/SiaFoundation/walletd/pull/57
it would be nice to also have it in renterd as some of users may prefer it over mysql/sqlite
Version
v1.0.6
What operating system are you running (e.g. Ubuntu 22.04, macOS, Windows 11)?
Ubuntu 22.04, kubernetes
Anything else?
No response

We are adding Postgres support in walletd because it doesn't have support for MySQL yet. We are considering adding support for Postgres to renterd as well but it probably won't happen short term.

I'm interested in pushing forward on renterd.
I am attempting to get postgresql working by reading the mysql bits and translating to postgresql fu.
If you have a better codebase, love to look, and if I my code gets scrapped for better upstream down the road, fine.
But sqlite is not useful for pushing renterd hard in the slightest.
You can see my (botched?) wip attempt at ttf-renterd fwiw.

You are obviously free to open a PR to add Postgres support but it wouldn't be wise to get started now since our database code is currently being migrated away from GORM. Meaning it's in a mixed state that is still under a lot of development.
If you want I can ping you here once the codebase is ready to get started on Postgres support.

We don't have any official instructions but you should be able to find existing tools and instructions which can help with that. I haven't used it yet but pgloader seems to be one of these tools.
Consensus will remain in BoltDB but any metadata and metrics would be stored in Postgres


Add submenu for different kinds of layouts

Adding a new submenu to allow the user to select which layout they want to use

We already had done something in Moose browsers: https://github.com/moosetechnology/MooseIDE/issues/872
Isn't it a duplication ?


[CI] Escape the backport-pr GHA body template to avoid template injection

What does this PR do?
This PR fixes a security vulnerability in the "Backport PR" GitHub Actions workflow by properly escaping the pull request body in the EJS template used by the tibdex/backport action (using <%- instead of <%=). This prevents the execution of malicious code that could be injected through untrusted PR bodies.
Motivation
The use of unsanitized, user-controlled inputs in EJS templates within the tibdex/backport action allows for arbitrary code execution, leading to potential leakage of secrets and other malicious activities.
Describe how to test/QA your changes
Possible Drawbacks / Trade-offs
Additional Notes

/merge


fix: Finnish grammar

Updates https://github.com/lnbits/lnbits/pull/2228

Unfor test fails and fixing it is above my skill level. on my machine make checkbundle passes

You were not on the latest dev (your dev was older than our dev).
I rebased on top of our dev and pushed to your branch.

I was close to solve the issue myself (https://github.com/tlindi/lnbits/tree/fix-Finnish) - maybe next time ;-)
Thank you 🙏


Enhancement Add http interface authentication

Proposed changes
Issue Number: close #15658
Problem summary

Organize http documents
Add http interface authentication for FE
Support https interface for FE
Provide authentication interface
Add http interface authentication for BE
Support https interface for BE

Checklist(Required)

Does it affect the original behavior:

[x] Yes
[ ] No
[ ] I don't know

Has unit tests been added:

[ ] Yes
[ ] No
[x] No Need

Has document been added or modified:

[ ] Yes
[ ] No
[x] No Need

Does it need to update dependencies:

[ ] Yes
[x] No

Are there any changes that cannot be rolled back:

[ ] Yes (If Yes, please explain WHY)
[x] No

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 36.6 seconds
stream load tsv:          477 seconds loaded<PHONE_NUMBER>9 Bytes, about 149 MB/s
stream load json:         38 seconds loaded<PHONE_NUMBER> Bytes, about 59 MB/s
stream load orc:          69 seconds loaded<PHONE_NUMBER> Bytes, about 15 MB/s
https://doris-community-test-1308700295.cos.ap-hongkong.myqcloud.com/tmp/20230209141421_clickbench_pr_93153.html

maybe add some test case is more better.

After supporting authentication and https, can the internal access to these ports in doris still work normally?

maybe add some test case is more better.

Currently, there are no unit tests for http interface, I'll add one later.

run compile

run buildall


Android Screenshots: "Check certificates for validity before a trip" wrong OS

Where to find the issue
https://www.coronawarn.app/en/screenshots/#android_check_validity_certificate "Check certificates for validity before a trip"
https://www.coronawarn.app/de/screenshots/#android_check_validity_certificate "Zertifikate vor einer Reise auf Gültigkeit prüfen"
First reported for CWA version: 2.8
Reviewed as not yet fixed for CWA version: 2.23 screenshots
Describe the issue
The Android screenshots for "Check certificates for validity before a trip" are unlike the screens actually presented on Android.
They are screenshots from iOS.
Steps to reproduce

View https://www.coronawarn.app/en/screenshots/#android_check_validity_certificate
View https://www.coronawarn.app/de/screenshots/#android_check_validity_certificate
Note that the English and German language screenshots for Android are from iOS. This is for instance recognizable because "Check Validity" is shown in mixed case. On a real Android device the button label appears in upper case as "CHECK VALIDITY".

Suggested change
Replace the screen shots by ones from Android.

Internal Tracking ID: EXPOSUREAPP-8503

The Android section is using iOS screenshots.
https://github.com/corona-warn-app/cwa-website/blob/b9237487273a8f0d84df47007d3e0a9212706d02/src/data/screenshots.json#L171-L178
There don't appear to be appropriate screen shots available in https://github.com/corona-warn-app/cwa-website/tree/master/src/assets/screenshots/2-6/en/android.

A correct screenshot taken from CWA Android 2.6 is

Compare to the posted screenshot (which is from iOS, not from Android):

@MikeMcC399 Internal Tracking ID: EXPOSUREAPP-8503

Would it be possible to adjust the GitHub workflow to detect such things? That is, "android-screnshots" ([sic]) may only refer to screenshots under /android and "ios-screnshots" may only refer to screenshots under /ios.
Similarly it might make sense to verify that the German screenshot JSONs only refer to /de and the English ones only to /en (though it appears there is no issue with this at the moment).

@Marcono1234 Sometimes we replace broke/outdated/wrong screenshots from one os with a screenshot from another os, so this workflow should give a warning but not block the merge or similar.

Btw do you want to address the typo "screnshots"?

Btw do you want to address the typo "screnshots"?

Created #1661 for this.

@Marcono1234 Sometimes we replace broke/outdated/wrong screenshots from one os with a screenshot from another os, so this workflow should give a warning but not block the merge or similar.

Maybe this could be implemented as combination of annotations and a generated comment on a pull request (annotations on their own are easy to miss, they don't appear on the pull request). Though this might be somewhat tricky to implement.

To return to the original problem: the Android screenshots are missing.
I looked at the Android app, and theses screenshots are not being generated automatically, so the Android app needs to be enhanced to generate them.
I would expect to find a module ValidationStartFragmentTest.kt to produce screenshots from ValidationStartFragment.kt. I would also expect to find screenshots which start with the filename Validation.
Is there any dev feedback to

Internal Tracking ID: EXPOSUREAPP-8503

so far?

@MikeMcC399 Has not been assigned to any dev currently.

Still a valid issue, however, there are multiple places where iOS screenshots are used in the Android section and the way around.
I wonder how screenshots are provided for each release, see https://github.com/corona-warn-app/cwa-website/issues/1760#issuecomment-1100198898.

The screenshots Check Certificates for Validity Before a Trip for Android 2.23 are completely wrong.
There is no "Check validity" button under the QR code, instead the button is located under the tile which shows "Currently used certificate".
The other screenshots bear almost no resemblance to the current UI. If no better screenshots are available then I suggest to remove this section completely, also for the upcoming 2.24 release.

The screenshots Check Certificates for Validity Before a Trip for Android 2.24 published yesterday are also completely wrong.
There is no "Check validity" button under the QR code, instead the button "Check Validity for Travel" is located under the tile which shows "Currently used certificate".
It looks like PR #2985 was intended to correct this, however it now contains conflicts which would need to be resolved.


Add link in Readme to IBM PowerVC website

Backported to morphy in commit b3a81677a4379be54c006bc1ffb0eb2e2de7f2b6.
commit b3a81677a4379be54c006bc1ffb0eb2e2de7f2b6
Author: Isgandar Valizada<EMAIL_ADDRESS>Date:   Fri Apr 30 19:25:47 2021 +0200

    Merge pull request #8 from chessbyte/add_link_in_readme

    Add link in Readme to IBM PowerVC website

    (cherry picked from commit c8eab277c72e3e661c4d34af00f0ac98c0fe6744)


[HELP] pull requests

i have seen multiple pull resuests i wanna add into my osiris so how do i do that?

I'm completely new to this I used git and got osiris now in visual studio what do I do now?

go to commits, and copy paste all changes.

Or download the raw code and just copy and replace the files from your osiris directory and compile.

if you make your own branch you can probably use git merge.

can someone make me a quick totorial on how ?


[proposition] Make /page/foo.js behave the same way as /page/foo/index.js

It'd greatly help keep a clean folder structure:
/pages
--/feature1/index.js
--/feature1/create.js
--/feature1/details.js

--/feature2/index.js
...

@gahissy I think it works that way now. Can you specify more the desired behavior?

@impronunciable
My mistake. Yes it works. The issue was on my side.


Installation Trouble

I tried deploying with a brand new AWS account.
I do have multiple AWS account credentials on my laptop so I used the correct profile (passing the --profile) tag
Pre requisites
USER@xxx-MacBook-Pro MineCloud-1.1.0 % node --version
v18.4.0
USER@xxx-MacBook-Pro MineCloud-1.1.0 % aws --version
aws-cli/2.7.9 Python/3.9.13 Darwin/20.5.0 source/x86_64 prompt/off

Terminal Log
xxx@xxx-MacBook-Pro MineCloud-1.1.0 % npx cdk deploy --profile minecraft-discord
Bundling asset MineCloud/MineCloud_discord_commands_register_lambda/Code/Stage...

  cdk.out/bundling-temp-4e685f68940a765a4ed4847d4d773ddf7e2d7dfb3afa6065170b3443da43b77d/index.js  370.3kb

⚡ Done in 22ms
Bundling asset MineCloud/MineCloud_discord_interactions_endpoint_construct/MineCloud_discord_interactions_endpoint_lambda/Code/Stage...

  cdk.out/bundling-temp-6626f17e65c370d5c0f9f5f0aac55e2ce76f0fb27a8fa4ff20c2220cf3e6ca2c/index.js  18.7mb ⚠

⚡ Done in 152ms
Bundling asset MineCloud/MineCloud_discord_interactions_endpoint_construct/MineCloud_discord_command_processor_lambda/Code/Stage...

  cdk.out/bundling-temp-a4eb7f2edfaee3b0511d1ca7be7999344e11db9698f37ce9f2759340055524ce/index.js  19.0mb ⚠

⚡ Done in 199ms

✨  Synthesis time: 7.45s

MineCloud: building assets...

[0%] start: Building 97817db928c43d4646fed3437ff70ca3fe8d1ca5d5538e80726641d669c244fd:<AWS_ACC_ID>-ap-south-1
[0%] start: Building 0e22f72895a5bd555e2ce81d5dc6b7d01ac1835cd925dd80276ba2dad75c13fb:<AWS_ACC_ID>-ap-south-1
[0%] start: Building 903be65b9594a9f17d7120273620367e7830b6d087fc9591f31dc5a080049e46:<AWS_ACC_ID>-ap-south-1
[0%] start: Building 2b36d5d4dcb60993ddf36ecf68feed35ecbc70c3b92dcd77638a2c876866ad88:<AWS_ACC_ID>-ap-south-1
[0%] start: Building 85bb78ae8c7c9ad2d7d8a193f0ee234de6d82fdfba52da88120ea46ad54feea4:<AWS_ACC_ID>-ap-south-1
[0%] start: Building e30e6151fa91fad623f41b3e17ed2885697fde9fd59c95edbad26c7ec837a58a:<AWS_ACC_ID>-ap-south-1
[16%] success: Built 97817db928c43d4646fed3437ff70ca3fe8d1ca5d5538e80726641d669c244fd:<AWS_ACC_ID>-ap-south-1
[33%] success: Built 0e22f72895a5bd555e2ce81d5dc6b7d01ac1835cd925dd80276ba2dad75c13fb:<AWS_ACC_ID>-ap-south-1
[50%] success: Built 903be65b9594a9f17d7120273620367e7830b6d087fc9591f31dc5a080049e46:<AWS_ACC_ID>-ap-south-1
[66%] success: Built 2b36d5d4dcb60993ddf36ecf68feed35ecbc70c3b92dcd77638a2c876866ad88:<AWS_ACC_ID>-ap-south-1
[83%] success: Built 85bb78ae8c7c9ad2d7d8a193f0ee234de6d82fdfba52da88120ea46ad54feea4:<AWS_ACC_ID>-ap-south-1
[100%] success: Built e30e6151fa91fad623f41b3e17ed2885697fde9fd59c95edbad26c7ec837a58a:<AWS_ACC_ID>-ap-south-1

MineCloud: assets built

MineCloud: deploying... [1/1]
[0%] start: Publishing 97817db928c43d4646fed3437ff70ca3fe8d1ca5d5538e80726641d669c244fd:<AWS_ACC_ID>-ap-south-1
[0%] start: Publishing 0e22f72895a5bd555e2ce81d5dc6b7d01ac1835cd925dd80276ba2dad75c13fb:<AWS_ACC_ID>-ap-south-1
[0%] start: Publishing 903be65b9594a9f17d7120273620367e7830b6d087fc9591f31dc5a080049e46:<AWS_ACC_ID>-ap-south-1
[0%] start: Publishing 2b36d5d4dcb60993ddf36ecf68feed35ecbc70c3b92dcd77638a2c876866ad88:<AWS_ACC_ID>-ap-south-1
[0%] start: Publishing 85bb78ae8c7c9ad2d7d8a193f0ee234de6d82fdfba52da88120ea46ad54feea4:<AWS_ACC_ID>-ap-south-1
[0%] start: Publishing e30e6151fa91fad623f41b3e17ed2885697fde9fd59c95edbad26c7ec837a58a:<AWS_ACC_ID>-ap-south-1
[16%] success: Published 85bb78ae8c7c9ad2d7d8a193f0ee234de6d82fdfba52da88120ea46ad54feea4:<AWS_ACC_ID>-ap-south-1
[33%] success: Published 2b36d5d4dcb60993ddf36ecf68feed35ecbc70c3b92dcd77638a2c876866ad88:<AWS_ACC_ID>-ap-south-1
[50%] success: Published 97817db928c43d4646fed3437ff70ca3fe8d1ca5d5538e80726641d669c244fd:<AWS_ACC_ID>-ap-south-1
[66%] success: Published 0e22f72895a5bd555e2ce81d5dc6b7d01ac1835cd925dd80276ba2dad75c13fb:<AWS_ACC_ID>-ap-south-1
[83%] success: Published 903be65b9594a9f17d7120273620367e7830b6d087fc9591f31dc5a080049e46:<AWS_ACC_ID>-ap-south-1
[100%] success: Published e30e6151fa91fad623f41b3e17ed2885697fde9fd59c95edbad26c7ec837a58a:<AWS_ACC_ID>-ap-south-1
MineCloud: creating CloudFormation changeset...
4:08:05 PM | CREATE_FAILED        | AWS::CloudFormation::CustomResource | MineClouddiscordcommandsregisterresource
Received response status [FAILED] from custom resource. Message returned: Error: 2023-05-07T10:38:04.485Z c0c2fd89-6da0-4857-a322-43bba04d23b8 Task timed out after 3.01 seconds

Logs: /aws/lambda/MineCloud-MineClouddiscordcommandsregisterlambda95-n8pTPd6Hw3t2

at invokeUserFunction (/var/task/framework.js:2:6)
at processTicksAndRejections (internal/process/task_queues.js:95:5)
at async onEvent (/var/task/framework.js:1:369)
at async Runtime.handler (/var/task/cfn-response.js:1:1573) (RequestId: cad00625-ab3f-4c88-b864-ee8ec4fd5dc5)

 ❌  MineCloud failed: Error: The stack named MineCloud failed creation, it may need to be manually deleted from the AWS console: ROLLBACK_COMPLETE: Received response status [FAILED] from custom resource. Message returned: Error: 2023-05-07T10:38:04.485Z c0c2fd89-6da0-4857-a322-43bba04d23b8 Task timed out after 3.01 seconds

Logs: /aws/lambda/MineCloud-MineClouddiscordcommandsregisterlambda95-n8pTPd6Hw3t2

    at invokeUserFunction (/var/task/framework.js:2:6)
    at processTicksAndRejections (internal/process/task_queues.js:95:5)
    at async onEvent (/var/task/framework.js:1:369)
    at async Runtime.handler (/var/task/cfn-response.js:1:1573) (RequestId: cad00625-ab3f-4c88-b864-ee8ec4fd5dc5)
    at FullCloudFormationDeployment.monitorDeployment (/Users/USER/Downloads/MineCloud-1.1.0/node_modules/aws-cdk/lib/index.js:380:10236)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async deployStack2 (/Users/USER/Downloads/MineCloud-1.1.0/node_modules/aws-cdk/lib/index.js:383:145458)
    at async /Users/USER/Downloads/MineCloud-1.1.0/node_modules/aws-cdk/lib/index.js:383:128776
    at async run (/Users/USER/Downloads/MineCloud-1.1.0/node_modules/aws-cdk/lib/index.js:383:126782)

 ❌ Deployment failed: Error: Stack Deployments Failed: Error: The stack named MineCloud failed creation, it may need to be manually deleted from the AWS console: ROLLBACK_COMPLETE: Received response status [FAILED] from custom resource. Message returned: Error: 2023-05-07T10:38:04.485Z c0c2fd89-6da0-4857-a322-43bba04d23b8 Task timed out after 3.01 seconds

Logs: /aws/lambda/MineCloud-MineClouddiscordcommandsregisterlambda95-n8pTPd6Hw3t2

    at invokeUserFunction (/var/task/framework.js:2:6)
    at processTicksAndRejections (internal/process/task_queues.js:95:5)
    at async onEvent (/var/task/framework.js:1:369)
    at async Runtime.handler (/var/task/cfn-response.js:1:1573) (RequestId: cad00625-ab3f-4c88-b864-ee8ec4fd5dc5)
    at deployStacks (/Users/USER/Downloads/MineCloud-1.1.0/node_modules/aws-cdk/lib/index.js:383:129083)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async CdkToolkit.deploy (/Users/USER/Downloads/MineCloud-1.1.0/node_modules/aws-cdk/lib/index.js:383:147507)
    at async exec4 (/Users/USER/Downloads/MineCloud-1.1.0/node_modules/aws-cdk/lib/index.js:438:51799)

Stack Deployments Failed: Error: The stack named MineCloud failed creation, it may need to be manually deleted from the AWS console: ROLLBACK_COMPLETE: Received response status [FAILED] from custom resource. Message returned: Error: 2023-05-07T10:38:04.485Z c0c2fd89-6da0-4857-a322-43bba04d23b8 Task timed out after 3.01 seconds

Logs: /aws/lambda/MineCloud-MineClouddiscordcommandsregisterlambda95-n8pTPd6Hw3t2

    at invokeUserFunction (/var/task/framework.js:2:6)
    at processTicksAndRejections (internal/process/task_queues.js:95:5)
    at async onEvent (/var/task/framework.js:1:369)
    at async Runtime.handler (/var/task/cfn-response.js:1:1573) (RequestId: cad00625-ab3f-4c88-b864-ee8ec4fd5dc5)
$ %

AWS CloudFormation

Timestamp
Logical ID
Status
Status reason

2023-05-07 16:08:06 UTC+0530
MineCloud
ROLLBACK_IN_PROGRESS
The following resource(s) failed to create [MineClouddiscordcommandsregisterresource, MineCloudec2instanceInstanceProfile7C956219]. Rollback requested by user.

2023-05-07 16:08:06 UTC+0530
MineCloudec2instanceInstanceProfile7C956219
CREATE_FAILED
Resource creation cancelled

2023-05-07 16:08:05 UTC+0530
MineClouddiscordcommandsregisterresource
CREATE_FAILED
Received response status [FAILED] from custom resource. Message returned: Error: 2023-05-07T10:38:04.485Z c0c2fd89-6da0-4857-a322-43bba04d23b8 Task timed out after 3.01 seconds Logs: /aws/lambda/MineCloud-MineClouddiscordcommandsregisterlambda95-n8pTPd6Hw3t2 at invokeUserFunction (/var/task/framework.js:2:6) at processTicksAndRejections (internal/process/task_queues.js:95:5) at async onEvent (/var/task/framework.js:1:369) at async Runtime.handler (/var/task/cfn-response.js:1:1573) (RequestId: cad00625-ab3f-4c88-b864-ee8ec4fd5dc5)

Hi avidant,
It looks like the Discord commands register lambda failed - which could be caused by invalid Discord App ID or Discord BOT token.
What did the Discord commands registration lambda's error log said?

The lambda's error log simply says that it timed out. Below is the error log in case I missed something
timestamp,message
1683455881272,"INIT_START Runtime Version: nodejs:18.v6	Runtime Version ARN: arn:aws:lambda:ap-south-1::runtime:a19cefba18c0aa228bfe71e81d95cc5aab18e4570e899b3cfd9f759f022c7f8c
"
1683455881480,"START RequestId: c0c2fd89-6da0-4857-a322-??? Version: $LATEST
"
1683455881503,"2023-05-07T10:38:01.503Z	c0c2fd89-6da0-4857-a322-???	INFO	register request:  {
  method: 'post',
  url: 'https://discord.com/api/v10/applications/xxx/commands',
  headers: {
    Authorization: 'Bot xxx'
  },
  data: { name: 'mc_start', type: 1, description: 'Start the server' }
}
"
1683455882904,"2023-05-07T10:38:02.904Z	c0c2fd89-6da0-4857-a322-???	INFO	register response:  {
  id: 'xxx',
  application_id: 'xxx',
  version: 'xxx',
  default_member_permissions: null,
  type: 1,
  name: 'mc_start',
  name_localizations: null,
  description: 'Start the server',
  description_localizations: null,
  dm_permission: true,
  contexts: null,
  nsfw: false
}
"
1683455882905,"2023-05-07T10:38:02.905Z	c0c2fd89-6da0-4857-a322-???	INFO	register request:  {
  method: 'post',
  url: 'https://discord.com/api/v10/applications/xxx/commands',
  headers: {
    Authorization: 'Bot xxx'
  },
  data: { name: 'mc_stop', type: 1, description: 'Stop the server' }
}
"
1683455883388,"2023-05-07T10:38:03.388Z	c0c2fd89-6da0-4857-a322-???	INFO	register response:  {
  id: 'xxx',
  application_id: 'xxx',
  version: 'xxx',
  default_member_permissions: null,
  type: 1,
  name: 'mc_stop',
  name_localizations: null,
  description: 'Stop the server',
  description_localizations: null,
  dm_permission: true,
  contexts: null,
  nsfw: false
}
"
1683455883388,"2023-05-07T10:38:03.388Z	c0c2fd89-6da0-4857-a322-???	INFO	register request:  {
  method: 'post',
  url: 'https://discord.com/api/v10/applications/xxx/commands',
  headers: {
    Authorization: 'Bot xxx'
  },
  data: {
    name: 'mc_restart',
    type: 1,
    description: 'Restart the server system service'
  }
}
"
1683455883846,"2023-05-07T10:38:03.846Z	c0c2fd89-6da0-4857-a322-???	INFO	register response:  {
  id: 'xxx',
  application_id: 'xxx',
  version: 'xxx',
  default_member_permissions: null,
  type: 1,
  name: 'mc_restart',
  name_localizations: null,
  description: 'Restart the server system service',
  description_localizations: null,
  dm_permission: true,
  contexts: null,
  nsfw: false
}
"
1683455883846,"2023-05-07T10:38:03.846Z	c0c2fd89-6da0-4857-a322-???	INFO	register request:  {
  method: 'post',
  url: 'https://discord.com/api/v10/applications/xxx/commands',
  headers: {
    Authorization: 'Bot xxx'
  },
  data: {
    name: 'mc_backup',
    type: 1,
    description: 'Stop the server and make a backup'
  }
}
"
1683455884323,"2023-05-07T10:38:04.323Z	c0c2fd89-6da0-4857-a322-???	INFO	register response:  {
  id: 'xxx',
  application_id: 'xxx',
  version: 'xxx',
  default_member_permissions: null,
  type: 1,
  name: 'mc_backup',
  name_localizations: null,
  description: 'Stop the server and make a backup',
  description_localizations: null,
  dm_permission: true,
  contexts: null,
  nsfw: false
}
"
1683455884324,"2023-05-07T10:38:04.324Z	c0c2fd89-6da0-4857-a322-???	INFO	register request:  {
  method: 'post',
  url: 'https://discord.com/api/v10/applications/xxx/commands',
  headers: {
    Authorization: 'Bot xxx'
  },
  data: {
    name: 'mc_backup_download',
    type: 1,
    description: 'Get the latest backup'
  }
}
"
1683455884486,"2023-05-07T10:38:04.485Z c0c2fd89-6da0-4857-a322-??? Task timed out after 3.01 seconds

"
1683455884486,"END RequestId: c0c2fd89-6da0-4857-a322-???
"
1683455884486,"REPORT RequestId: c0c2fd89-6da0-4857-a322-???	Duration: 3005.90 ms	Billed Duration: 3000 ms	Memory Size: 128 MB	Max Memory Used: 82 MB	Init Duration: 207.39 ms
"
1683455884567,"INIT_START Runtime Version: nodejs:18.v6	Runtime Version ARN: arn:aws:lambda:ap-south-1::runtime:a19cefba18c0aa228bfe71e81d95cc5aab18e4570e899b3cfd9f759f022c7f8c
"

This could be it simply timeout:

With cold start + all the API invocation time, I won't be surprised if it exceeds 3 seconds.
I also noticed the latest request, mc_backup_download, doesn't have a response.

Can you try to increase the lambda timeout time and try again?

Could you let me know how to do that? I have no experience with CloudFormation

Just update he timeout from the lambda settings.
Don't need to re-deploy I think.

The function seems to have gotten deleted in the rollback

Oh... then we will need to re-deploy it.
Can you add timeout: Duration.seconds(30) to here, run npx cdk list to confirm the build still pass and re-deploy again?
It should looks like this after adding it:
    const lambda = new NodejsFunction(
      this,
      `${STACK_PREFIX}_discord_commands_register_lambda`,
      {
        runtime: Runtime.NODEJS_18_X,
        handler: 'index.handler',
        entry: path.join(
          __dirname,
          '/../lambda/discord_commands_register/index.ts'
        ),
        environment: {
          APP_ID: DISCORD_APP_ID,
          BOT_TOKEN: DISCORD_BOT_TOKEN
        },
        timeout: Duration.seconds(30)
      }
    );

Update:
Discord register lambda time-out duration has been increased to 30 seconds in the 1.2.0 release.

Closing issue as this is likely resolved, but please don't hesitate let me know if there's any update!


Correct documented node version requirement to 6+

Super tiny fix - @alisondavis17 just spotted that the docs on this aren't up to date.
Change-Type: patch

Merging this one manually - seems like an unnecessary release for the tiniest possible docs change.


[$1000] Attachment is being displayed as the last message on LHN instead of the actual last message

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Go to any chat
Click on +
Click on Add attachment
Choose any attachment
Click Send
Before the attachment gets uploaded, send any text

Expected Result:
The text sent after attachment should be displayed on LHN
Actual Result:
Attachment is being displayed as the last message on LHN
Workaround:
Can the user still use Expensify without this being fixed? Have you informed them of the workaround?
Platforms:

Which of our officially supported platforms is this issue occurring on?

[x] Android / native
[x] Android / Chrome
[x] iOS / native
[x] iOS / Safari
[x] MacOS / Chrome / Safari
[x] MacOS / Desktop

Version Number: 1.2.89-0
Reproducible in staging?: y
Reproducible in production?: y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos:
Expensify/Expensify Issue URL:
Issue reported by: @adeel0202
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1679851671259879
View all open jobs on GitHub
https://user-images.githubusercontent.com/43996225/227813226-3f3d17d0-aabb-4c6e-9a54-c5935b9f7ad0.mp4
https://user-images.githubusercontent.com/43996225/227813231-6b7ab2de-539c-4fa2-ab38-700aa2779b47.mov
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~016f332cd8af2af20b
Upwork Job ID:<PHONE_NUMBER>037559296
Last Price Increase: 2023-03-27

Triggered auto assignment to @dylanexpensify (Bug), see https://stackoverflow.com/c/expensify/questions/14418 for more details.

Bug0 Triage Checklist (Main S/O)

[ ] This "bug" occurs on a supported platform (ensure Platforms in OP are ✅)
[ ] This bug is not a duplicate report (check E/App issues and #expensify-bugs)

If it is, comment with a link to the original report, close the issue and add any novel details to the original issue instead

[ ] This bug is reproducible using the reproduction steps in the OP. S/O

If the reproduction steps are clear and you're unable to reproduce the bug, check with the reporter and QA first, then close the issue.
If the reproduction steps aren't clear and you determine the correct steps, please update the OP.

[ ] This issue is filled out as thoroughly and clearly as possible

Pay special attention to the title, results, platforms where the bug occurs, and if the bug happens on staging/production.

[ ] I have reviewed and subscribed to the linked Slack conversation to ensure Slack/Github stay in sync

Job added to Upwork: https://www.upwork.com/jobs/~016f332cd8af2af20b

Current assignee @dylanexpensify is eligible for the External assigner, not assigning anyone new.

Triggered auto assignment to Contributor-plus team member for initial proposal review - @s77rt (External)

Triggered auto assignment to @pecanoro (External), see https://stackoverflow.com/c/expensify/questions/7972 for more details.

Proposal
Please re-state the problem that we are trying to solve in this issue.
If we send an attachment, then immediately send a text message, LHN will preview the attachment instead of the newest text.
What is the root cause of that problem?
Let's look at the current flow of the situation
Send attachment -> Submit to API -> Send text -> Receive text pusher notification -> Receive attachment pusher notification.
Notice that the pusher notification from the latter text is received first. This is reasonable since uploading and processing an  attachment should take much longer than sending a simple text. Since the pusher notification contains lastMessageText information, this cause Onyx to use the latter [Attachment] value for  lastMessageText. Therefore, because OptionRowLHN use this value to render the preview message, it will render the [Attachment] text instead.
What changes do you think we should make in order to solve the problem?

We should have a logic to check if the information coming from Onyx is the latest message. We will not update the report data rendered by OptionRowLHN if there has been a previous message that is more recent.
In SidebarUtils.js, we can have some check like this
+            // only update if the updated onyx data is the most recent
+            if (!chatReports[key] || chatReports[key].lastVisibleActionCreated < report.lastVisibleActionCreated)
                chatReports[key] = report;

What alternative solutions did you explore? (Optional)
We can apply the same check, but with some other indicative fields such as lastReadTimestamp, lastReadTime, lastReadTime, maxSequenceNumber.
Alternatively, we could apply the check in the Onyx update function. If the new data is not more recent, we will not update it in Onyx in the first place. However, I don't think this will be as clean as the change mentioned above.
Result
Working well after the fix
https://user-images.githubusercontent.com/113963320/227860233-5a609182-2ade-4228-b5e3-aaaeb3b81eeb.mov

I think the issue will be fixed once we stop send Pusher event back to the client from which the event originated. https://expensify.slack.com/archives/C01GTK53T8Q/p1678131839265059?thread_ts=1678029220.184279&cid=C01GTK53T8Q
cc @roryabraham

@pecanoro Let's wait for @roryabraham input here.

Proposal
Please re-state the problem that we are trying to solve in this issue.
When we send an attachment and then a message before this attachment is uploaded, the last message in the slide bar displays attachment instead of the message
What is the root cause of that problem?
When we call Api.Write to add the attachment to the server it takes a long time to upload the file.  During that time we call Api.Write to add the text message.
Since this call is faster, the report in Onyx is updated in the wrong order and so the field lastMessageText is wrong.
What changes do you think we should make in order to solve the problem?
Since we can't make sure that the lastMessageText that we upload  is going to enter in Onyx in the right order.
I propose that we stop using this field and instead when we want to use lastMessageText we can call a method that retrieves the last message using the date and time of the comments.
What alternative solutions did you explore? (Optional)

Yes, I can confirm this is an instance of the "replay effect", which @neil-marcellini has been implementing here. Putting this on HOLD

Still on HOLD!

Still on Hold it seems!

Hmm, looks like it wasn't fixed by the replay effect solution. We'll have to investigate more.
https://github.com/Expensify/App/assets/26260477/5756bf3d-727d-4e07-bb29-e0d6861f525a

@tienifr Thanks for the proposal. I don't think your RCA is correct or at least it's outdated. We no longer get pusher notifications. The requests are sequential and the onyx data arrives in order (checked till SaveResponseInOnyx).

@hellohublot Thanks for the proposal. I don't think that your proposal is complete. I have a question:

But when we are waiting for the response of SequentialQueue.getCurrenTrequest, and the response of AddAttachment is later than AddEmojiReaction, so the order of these two messages changed, and we finally updated to {reactions: []},

The API responses are actually in order but the promise resolve of getCurrenTrequest is not. Why is that? Do we have a bug in SequentialQueue or are we in some kind of a race condition?

Checking again looks we are still experiencing a part of the replay-effect.
@neil-marcellini Can you please double check
https://github.com/Expensify/App/assets/16493223/d93e46c7-1614-4c63-b2de-38ed5bf0ab86

@pecanoro Please switch to Daily and add Help Wanted label.

I see we have 2 subscription to Pusher
https://github.com/Expensify/App/blob/811c0f36fba4953af008e6643349d95c949627e4/src/libs/actions/User.js#L578-L601
and we are still getting the pusher update from the deprecated one

@s77rt  Thanks for your feedback, we have several similar issues, due to the comments and soon to be deprecated, maybe we can hold for multipleEvents
https://github.com/Expensify/App/blob/811c0f36fba4953af008e6643349d95c949627e4/src/libs/actions/User.js#L587-L593

Thank you @bernhardoj & @hellohublot! I think it makes sense to hold but I find it weird/unexpected that we are still getting pusher events. Wasn't that supposed to be fixed by now (cc @neil-marcellini above comment when you get time please)

Yes we need to confirm from logging / debugging whether we are actually getting Pusher events or not. Pusher events should not be sent to the requesting client because we send the Pusher socket_id to the back end and use it to tell Pusher to not send events to that socket.
If we are still getting Pusher events, then we need to fix it on the backend. From a quick glance there it seems fine. Since there's not problem displaying the chats I wonder if the bug actually has to do with the SideBar not updating properly.

The only difference I see in events (staging vs production api) is the onyxApiUpdate event which is only present on production. But on staging we are still getting other events such as reportComment.
BTW, the bug is not always reproducible.

@neil-marcellini mind informing next steps here?

Ah nice! @pecanoro let us know rough eta on when you can have that done! 🙇♂

I am looking at this right now. It's pretty weird as I can't find any pusher events being sent after the comment, so I am still trying to figure out where the update for the LHN is coming from.

Thanks for investigating! https://github.com/Expensify/App/issues/18102 might have the same root cause and Maria found something interesting here. If you think the issues have the same root we could close one of them.

I'm heading OOO tomorrow for about a week so adding another BZ member while I'm away to help keep the train moving! 🚂 Thanks @conorpendergrast!!

I am going to keep looking at the back-end tomorrow but I can't see anything wrong, everything is sent in order and push events as correct as well, so I am wondering if it's actually a bug with the promise resolve as @s77rt mentioned.

I am going to bump the price of this one anyways to get more eyes.

I think @hellohublot provided a good RCA. We get the onyx updates in order (from API response) but the promises do not resolve in order.
https://github.com/Expensify/App/blob/5296b4ea608317100a432ba1dcfd6765e635c8a1/src/libs/actions/User.js#L611-L619
@hellohublot proposed a solution that works but it's "incorrect": we will make onyx updateA when requestB is resolved (and onyx updateB when requestA is resolved).

I'm not sure if the order is always in reverse or just a coincidence as based on my testing sending a sequence of messages 1,2,3,4 the promises always appear to resolve as 4,3,2,1.

There is also the possibility that SequentialQueue.getCurrentRequest is returning the wrong requests :thinking:? I doubt it but just bringing it to the table.

Overall this deserves more investigation... :mag:

@MariaHCD Do you think we should close one of the issues?

FYI https://github.com/Expensify/App/issues/12775#issuecomment-1561499567

@rojiphil Thanks for the proposal. I don't think your RCA is correct. The API responses are in order. We make one request at a time and wait for it before making a new one, no matter how long the attachment upload takes we will wait for it and then make another API call to add the comment.
If it may help please check the previous comments.

Even if we replace QueuedOnyxUpdates.queueOnyxUpdates with Onyx.update the issue would still be reproducible.

@s77rt  Yes. You are right. Even if we replace QueuedOnyxUpdates.queueOnyxUpdates with Onyx.update, the issue would still be reproducible.  However, please note that the problem is when we pass an array of updates into the Onyx.update. Instead, if we call Onyx.update for individual updates and wait for it to return before calling the next one, the data would be stored correctly.

The onyx update part in our case seems to be handled by
App/src/libs/actions/User.js
Lines 611 to 619 in 5296b4e

I do not understand how, in our case, the onyx update part comes to this. Can you please share more details on this?
What I observed was that once QueuedOnyxUpdates.queueOnyxUpdates is called, the data stored in indexedDB was incorrect even though the API responses were in order. This resulted in lastMessageText data being incorrect when the contents of LHN row were fetched.
Meanwhile, I also tested this out and it seems to solve the issue. I have updated the proposal  with a test video too. Kindly check.

What is the root cause of that problem?
The root cause of the problem lies in this line
When an array of objects are passed into Onyx.update(), the updates are not guaranteed to happen in the same order of array items as Onyx.update implementation does not guarantee that.

@rojiphil It's not clear to me if this is the actual root cause, or if there is some other more simple explanation. Let's wait to retest this until we deploy a backend fix to properly avoid sending Push events to the requesting client. I'll provide updates about that on the replay effect tracking issue. https://github.com/Expensify/App/issues/12775
That being said, I agree that the updates are not guaranteed to happen in order. I did an investigation on that here. Please feel free to check that out and comment there, DM me on NewDot, or create an issue in react-native-onyx. If we decide it needs to be fixed than we should fix it in Onyx.

@pecanoro or @neil-marcellini Can we put this on hold again for https://github.com/Expensify/App/issues/12775?

Back to on hold 😄 I have hope it will get resolved this time 🤞

Making this Weekly to match the cadence of https://github.com/Expensify/App/issues/12775

No change this week; still held on https://github.com/Expensify/App/issues/12775

Still on hold? @neil-marcellini

Yes unfortunately, but it should be off hold soon. See the update here.

I will do so tomorrow!

Alright, so, this is no longer reproducible on staging! I vote we pay the bug reporter (@adeel0202) and close this out. Any disagreement? Unless I hear otherwise, I'll do that tomorrow

Ok, I'm now paying @adeel0202 and then closing this out

Contract sent to @adeel0202 via Upwork

And paid. All done, closing out. Thanks!

@adeel0202 Upwork wouldn't let me do it on Friday, and that's done now!


changed version of testContainers to 1.5.1 to support Docker Desktop

Version 1.5.1 of testcontainers allow build&run tests in Docker Desktop out of the box on Windows

testContainer 1.5.0 caused ./gradle build to fail. Version 1.5.2 fixed the issue.
Caused by: com.github.dockerjava.api.exception.NotFoundException: Status 404: {"message":"No such image: testcontainers/ryuk:0.3.0"}


Hashtable - tr1/unordered_map not found error

Got this error following the documentation for Developer Guide https://hyperledger.github.io/composer/tutorials/developer-guide.html
my-network npm install hashtable
npm WARN deprecated<EMAIL_ADDRESS>Use uuid module instead

><EMAIL_ADDRESS>install /Users/michaelcai/Desktop/GiveBack/my-network/node_modules/hashtable
> node-gyp configure build

  CXX(target) Release/obj.target/native/src/hashtable.o
In file included from ../src/hashtable.cpp:1:
../src/hashtable.h:7:10: fatal error: 'tr1/unordered_map' file not found
#include <tr1/unordered_map>
         ^
1 error generated.
make: *** [Release/obj.target/native/src/hashtable.o] Error 1
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:258:23)
gyp ERR! stack     at emitTwo (events.js:125:13)
gyp ERR! stack     at ChildProcess.emit (events.js:213:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12)
gyp ERR! System Darwin 16.7.0
gyp ERR! command "/usr/local/Cellar/node/8.4.0/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "configure" "build"
gyp ERR! cwd /Users/michaelcai/Desktop/GiveBack/my-network/node_modules/hashtable
gyp ERR! node -v v8.4.0
gyp ERR! node-gyp -v v3.6.2
gyp ERR! not ok
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>install: `node-gyp configure build`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR!      /Users/michaelcai/.npm/_logs/2017-09-13T19_18_13_771Z-debug.log

If anyone has seen this error just run
npm install "https://github.com/fabrice102/node-hashtable.git"
And then run
npm install  on the directory

+1
Thanks for the help!
But following the official dev tutorial step by step should just work!

Thanks man! Helped loads!

thank you！


Number of Records affected

Using a ExecuteWithoutResultsAsync how can I know if nodes was created, or updated?

Hullo,
The rest api doesn't give this information back so the only way to find out is to make a call after to find out.
:-(

Is this a Neo4J's or driver's limitation?
Can we implement this?

Neo4js, the endpoint doesn't give that info back

=/
Ok!
Thanks for your help!!


Upload to YouTube fails with java.io.IOException: insufficient data written, but video still appears on YouTube

From<EMAIL_ADDRESS>on April 25, 2013 07:43:30
Version of google-api-java-client (e.g. 1.5.0-beta)? 1.13.2-beta Java environment (e.g. Java 6, Android 2.3, App Engine)? Java 6 (Linux) Describe the problem. Occasionally when uploading videos to YouTube using API v3, the call to insert(...).execute() will fail with an IOException claiming that not all of the data was written, but the video still appears on YouTube as if it was uploaded successfully. Most of the time the same code works as expected with no exception.
The call being made is as follows:
youTube.videos().insert(
"snippet,status",
video,
new InputStreamContent(
mimeType,
inputStream)
.setLength(fileSize))
.execute(); How would you expect it to be fixed? The call should not except.
Original issue: http://code.google.com/p/google-api-java-client/issues/detail?id=774

http://stackoverflow.com/a/30796105/4576135


Test

Be sure to do all of the following checklist to help us incorporate
your contribution quickly and easily:

[ ] Any interfaces changed?

[ ] Any backward compatibility impacted?

[ ] Document update required?

[ ] Testing done
Please provide details on
- Whether new unit test cases have been added or why no new tests are required?
- How it is tested? Please attach test report.
- Is it a performance related change? Please attach the performance test report.
- Any additional information to help reviewers in testing this change.

[ ] For large changes, please consider breaking it into sub-tasks under an umbrella JIRA.

Build Success with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder2.1/1890/

Build Success with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/2099/

Build Failed  with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder2.1/1891/

Build Failed  with Spark 2.3.2, Please check CI http://<IP_ADDRESS>:8080/job/carbondataprbuilder2.3/10146/

Build Failed with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/2100/

Build Failed  with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder2.1/1959/

Build Failed  with Spark 2.3.2, Please check CI http://<IP_ADDRESS>:8080/job/carbondataprbuilder2.3/10211/

Build Failed  with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder2.1/2084/

Build Failed with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/2289/

Build Failed  with Spark 2.3.2, Please check CI http://<IP_ADDRESS>:8080/job/carbondataprbuilder2.3/10338/


Proper test reporting.

There should be some way to capture tap and other gesture events in either TestSummary.plist file or in some other reporting tool. Current implementation limits the use of SwiftMonkey to development machines if there is no reporting, then its hard to go back and see what happened during failure.

Hey @singh88! If I understood you correctly, you would like to record all the actions that resulted in an app crash / unexpected behavior and then be able to read them from a file (just like you pointed)?
The challenge I see here is how to make such information useful. A list of actions with associated positions might be difficult to use in finding a bug. However knowing exactly what button was hit before the app crashes would for sure guide you directly to the problem source (or a possible source).
I find your idea very interesting and I'll try to dig around to see what information can be gathered during the testing.

@wojciechczerski Yeah you are right!! It would be great to get the test result after SwiftMonkey execution just like the usual test reporting. I have tried playing around with Fastlane integration with this tool, but Fastlane parses TestSummary.plist file, not the console output. Also, I have tried using Fastlane snapshot mechanism to take a screenshot on every tap, but I got an error that snapshot works in the mainthread.

I was thinking to take a screenshot and log some meaningful statement, which would get logged in the TestSummary.plist file, and then use snapshot just before the Dispatch.semaphore call.
This is how the snapshot of Fastlane works https://github.com/fastlane/fastlane/tree/master/snapshot#how-does-it-work. Which is pretty straightforward.
What would this give us?
This will enable us to logs the test steps as well as take exact screenshots for the test steps, instead of a developer looking into all the screenshot that XCTest takes by default and figure out what was the root cause.

@singh88 I was thinking about the snapshot solution and I have an impression that having this combined with your initial idea (record executed actions) could provide some really useful debug information. For example if the tests crashes we get:

a list of executed actions that we can provide to SwiftMonkey in order to execute them again and hopefully see the crash
a screenshot showing the context in which the crash happened

What do you think? Would this be a useful solution?

The set of actions performed is already deterministic. With the same seed, the monkey will repeat the exact same actions. The problem is that since the response of the app is not deterministic, it will lead to different results anyway.

So, here is what I found useful, for my application. My app has a navigation bar on every screen so I divide my tests based on scenario's and navigate the monkey till that first screen and then create a frame by subtracting the maxY for the navigation bar. This helps in running the monkey test in a more restrictive way and limit its execution to only those scenarios.
I found snapshot integration more useful since it helps in visualizing what happened during the tests.

Would it be possible to add an Action that focuses on logging-via-screenshots?
Specifically:

Take a screenshot every second, up to the limit specified in the Action (eg: 10 seconds max of screenshots)
Each time the limit is hit, drop the oldest screenshot and overwrite it with the newest (eg: at 11 seconds, the first screenshot is dropped-and-replaced by the one taken at 11 seconds)
Doing this would mean that, at app crash, we'd always have a visual journey of what the Monkey was up to

Closing the issue due to inactivity. Please reopen it if you think it should be addressed.


Find Kubeflow community manager for other-language versions of the docs

The Kubeflow docs are currently available only in English. We should ask the Kubeflow community if anyone is interested in managing versions of the docs in other languages.
The non-English version may consist of a subset of the docs, such as conceptual info or getting-started guide only.
Related issue: https://github.com/kubeflow/website/issues/1127 - Update the docs structure to support internationalization of the docs.
Note: This is an improvement that we'd like to see around the time that we move to Kubeflow v1.0 but we can implement this at any time. We don't need to wait for v1.0, and the other-language docs are not a requirement for v1.0 launch.
Source: Kubeflow v1.0 Docs and Processes Design (bit.ly/2OX11vw)

At the Write the Docs conference, I attended a talk on open source localization. The speaker gave some good insights and tips, which I've summarized in this blog post:
https://ffeathers.wordpress.com/2019/09/18/wtd-prague-localisation-of-open-source-docs/
This will be useful material when we start thinking in more detail about localizing the Kubeflow docs.

I am interested in working on Spanish documentation for Kubeflow. I have never contributed to this kind of projects but I would be happy to start with. Let me know how I can contribute and if you have some guidelines about the documentation.

Thanks @chpmoreno that's good to know. We haven't yet started designing the website to handle multiple languages. We'll let you know when we do. Our current priority is the launch of Kubeflow v1.0, scheduled for early 2020. We'll start looking at designing for translated docs some time after that.

Perfect. Let me know when I can help.

/area docs
/priority p2

/assign

The product requirements doc is ready for review: http://bit.ly/kubeflow-i18n
I've scheduled it for discussion in the Kubeflow community meeting on March 24, PT.

/unassign

I am interested in working on Chinese documentation for Kubeflow.

@pingsutw Thanks for your interest!
@jlewi
Hi, do we have the owner for the website? Who can help us promote this?

@gaocegege What do you mean by OWNER? There are people listed in the OWNERs file but right now we don't have anyone spending 50-100% of their time working on the docs.


fix: compatibility issues (#409 #410 #411)

Fixed compatibility with older babel versions

@kamranahmedse Hi, can you please review it ASAP, we need to integrate it in our react project and babel doesn't know how to deal with es2020+ syntax

Deployed in 1.3.0, thank you!


Does don't run with the new module system

This library is not compatible with the recent release Lua 5.3.4. First I installed the library via luarocks:
Installing https://luarocks.org/luaxml-101012-1.src.rock
gcc -O2 -fPIC -I/opt/lua-5.3.4/src/ -c LuaXML_lib.c -o LuaXML_lib.o
LuaXML_lib.c: In function ‘Xml_eval’:
LuaXML_lib.c:284:17: warning: implicit declaration of function ‘lua_objlen’ [-Wimplicit-function-declaration]
    int newIndex=lua_objlen(L,-1)+1;
                 ^
LuaXML_lib.c: In function ‘luaopen_LuaXML_lib’:
LuaXML_lib.c:415:2: warning: implicit declaration of function ‘luaL_register’ [-Wimplicit-function-declaration]
  luaL_register(L, "xml", funcs);
  ^
gcc -shared -o LuaXML_lib.so -L/opt/lua-5.3.4/src//lib LuaXML_lib.o
luaxml 101012-1 is now installed in /opt/luarocks-2.4.1/bin (license: MIT/X11)

When trying to run it, the following error is thrown:
ryuu@gaku ~ % lua
Lua 5.3.4  Copyright (C) 1994-2017 Lua.org, PUC-Rio
> luaxml = require("luaxml")
stdin:1: module 'luaxml' not found:
        no field package.preload['luaxml']
        no file '/home/ryuu/.luarocks/share/lua/5.3/luaxml.lua'
        no file '/home/ryuu/.luarocks/share/lua/5.3/luaxml/init.lua'
        no file '/opt/luarocks-2.4.1/bin/share/lua/5.3/luaxml.lua'
        no file '/opt/luarocks-2.4.1/bin/share/lua/5.3/luaxml/init.lua'
        no file '/opt/luarocks-2.4.1/bin/lib/luarocks/rocks/luaxml.lua'
        no file './luaxml.lua'
        no file '/home/ryuu/.luarocks/lib/lua/5.3/luaxml.so'
        no file '/opt/luarocks-2.4.1/bin/lib/lua/5.3/luaxml.so'
        no file '/usr/local/lib/lua/5.3/luaxml.so'
        no file '/usr/local/lib/lua/5.3/loadall.so'
        no file './luaxml.so'
stack traceback:
        [C]: in function 'require'
        stdin:1: in main chunk
        [C]: in ?
>

This is apparently because of the changes in the module system between Lua versions 5.0 and 5.2. lauxlib.h does not define luaL_register per default anymore:
/* compatibility with old module system */
#if defined(LUA_COMPAT_MODULE)

LUALIB_API void (luaL_pushmodule) (lua_State *L, const char *modname,
                                   int sizehint);
LUALIB_API void (luaL_openlib) (lua_State *L, const char *libname,
                                const luaL_Reg *l, int nup);

#define luaL_register(L,n,l)    (luaL_openlib(L,(n),(l),0))

#endif
```

I would love to see this package working with Lua 5.3.4

Hello @meisterluk,
This is not the LuaXML module you are talking about.
My module is an XML parser written entirely in Lua and the one you mentioned is an homonymous module that relies on some C code.
My module is just an updated Lua 5 version of a former implementation.
The module you are looking for is available at https://github.com/LuaDist/luaxml

I should have seen this. Thanks a lot and sorry for the noise 😞

No problem.


Feature: add callback url to tab options and include when creating jobs

I have a proposal to address this issue on this PR.
Please, let me know your thoughts


DatePicker under BS4 - any startView > 0 has disabled next and prev arrows.

When you have a startView of some value (say, 3, to show years within a decade), the next and previous buttons should be active, to allow you to move between one group of decade-years and the next. Ideally, if I click on DP and it comes up with the 2010-2019 group of years, I should be able to use the prev arrows to move clear back to the 1970-1979 group of years.
This is my first attempt to use this product with BS4, so I don't know if there is a relationship, but under BS4 the next and prev arrows of DP are no longer functional with any startView above 0. This does not help when you want to focus on a narrow range of years (much less than a century) that cross decade boundaries, and so only need a startView = 3. From here, the logical UI-suggested course of action (since the UI element is visible) would be to click on a next or prev arrow to get to the next or previous decade's worth of years, but this does not work. Clicking on any UI element above the list of years closes the DP modal.
Datepicker version used
1.6.4
Example code
  $(".datepicker").datepicker({
    format: "yyyy-mm-dd",
    startDate: "-70y",
    endDate: "-16y",
    startView: 3,
    autoclose: "true"
  });

fixed here #2352


How to type colorspace[colorSpaceStr]?

Hi, i'm trying to use colorspace[colorSpaceStr]:
import * as colorSpace from "@texel/color";
...
colorSpace[colorSpaceStr] // Element implicitly has an 'any' type because expression of type 'string' can't be used to index type 'typeof import("@texel/color")'.

What is the proper way to type colorSpaceStr? Can't figure this out :(

Think i got it
colorSpace[srcColorSpace as keyof typeof import("@texel/color")]


Always Set Headers in Batch Mode

The response headers are only set if we are not in batch request:
https://github.com/lynndylanhurley/devise_token_auth/blob/master/app/controllers/devise_token_auth/concerns/set_user_by_token.rb#L121
This causes issues with Rails' Etag support and XHR Requests: If there are no token_auth headers and Rails returns a 304 Not Modified, the browser (Chrome) will use a cached response, including all headers of the cached response (access-token, client, ...). There is no way in the client to distinguish these cached headers from server-set ones. Eventually, a cached client id is stored and used in the subsequent request, resulting in a 401.
I moved the linked line (121) after the if-block, causing the headers always to be set, then everything worked as expected.

@codez - would you mind putting a PR together for this?
cc: @lynndylanhurley

Not sure if this helps, but you can append ?unbatch=true to the token validation request to break out of a batch request.

Also there is a reason we can't set the auth header with each batched request. Sometimes requests are returned out of order, and in those cases we don't want to persist invalidated tokens on the client.

It seems to be a Chrome-only problem. Only if a header is missing in a 304 response, Chrome uses the cached header. If the header is set, it will be used.
The work around seems to be to send empty but existing headers in this case, which may be handled by the client accordingly. This would respect @lynndylanhurley's point.

We ran into this exact issue today when we switched from an unsigned HTTPS cert to a signed cert on Heroku. While using an unsigned cert, Heroku doesn't seem to enable caching and never sends 304's. As soon as we installed a proper signed cert, we started getting 304's, which exposed this issue.
Seeing it in both Chrome and Safari.

Has anyone here had a chance to test #703 in conjunction with ng-token-auth and j-toker, yet? I have been swamped.

I've also been swamped. I'll take a look ASAP, but I can't give an ETA.

Just as a workaround until this is tested/fixed, adding the following to a before_filter in the ApplicationController appears to fix the issue (we're using an Ember frontend with a custom ESA authenticator/authorizer).
class ApplicationController < ActionController::API
	include DeviseTokenAuth::Concerns::SetUserByToken

	before_filter :set_response_headers

        ...

	def set_response_headers
		# TODO: Remove this once the following issue is fixed in DTA
		# https://github.com/lynndylanhurley/devise_token_auth/issues/702
		# response.headers["Cache-Control"] = "no-cache, no-store"
		if response.headers[DeviseTokenAuth.headers_names[:"access-token"]].nil?
			auth_header = {}
			auth_header[DeviseTokenAuth.headers_names[:"access-token"]] = ' '
			auth_header[DeviseTokenAuth.headers_names[:"expiry"]] = ' '
			response.headers.merge!(auth_header)
		end
	end

@steveclarkin just wanted to thank you for the workaround here.  I'm developing a frontend using VueJS and the vue-auth plugin and this did the trick after several hours of pulling my hair out trying to figure out why I kept getting my token bounced.

I think you also need to set the auth_header of client to return ' '.  The client header will change if any request is made without passing in a client, such as the case where the client has logged out and logged back in, and then hits a url that has a 304.
I've been struggling to figure this out for a week, and the workaround of setting the headers to ' ' works.  I'm not using jtoker, I'm in react, and so am handling the auth headers in my own code, and had to update my client code to handle this.


Introduce aliases to make data model easier to use

Is your feature request related to a problem? Please describe.
STIX patterning is not well known, and having to use things like src_ref.value can be confusing to new users.  We've already "relaxed" the WHERE clause but we still use STIX object paths as attributes.
Describe the solution you'd like
We should have aliases for commonly used fields, e.g. src_addr for src_ref.value.
Describe alternatives you've considered
Alternatives could include using a different data model, but that's a much more disruptive change.
Additional context
Reference lists are not actually exposed at all right now, so they're almost lost entirely.  An example is domain-name:resolves_to_refs.  Aside from cumbersome naming, which is all aliases would help with, the reference lists would be difficult to work with.  This is why firepit stores them in a separate table.  This should probably be a separate issue.

Fully agree we should make src_ref.value into something like src_addr as the first step before our own conceptual data model. I also find src_ref.value not friendly to new users.
I was wondering which naming rule to do for such convention. If we can make it explicit:

We can put most names at https://kestrel.readthedocs.io/en/stable/language/eav.html#common-entities-and-attributes
People can also follow the rule to map them from STIX to Kestrel if there are additional ones.

Yep. I am thinking if we can have a general rule for such alias naming. We can explicitly list all aliases Kestrel uses in entity doc, yet there could be automatic aliased ones if the rule applies.


Remove Logstash integration

Context
We’ve implemented log shipping at the platform level and this custom code to send our logs to Logstash is no longer required.

Changes proposed in this pull request
Remove Logstash-specific code, leaving behind a Semantic Logger configuration based on https://technical-guidance.education.gov.uk/infrastructure/monitoring/logit/#ruby-on-rails

Guidance to review

Link to Trello card

Checklist

[ ] ~Attach to Trello card~
[x] Rebased main
[x] Cleaned commit history
[x] Tested by running locally

The deployment is failing with error:
bin/rails aborted!
NoMethodError: undefined method `rails_semantic_logger' for an instance of Rails::Application::Configuration (NoMethodError)
Did you mean?  railties_order
/app/config/environments/production.rb:86:in `block in <main>'
/app/config/environments/production.rb:3:in `<main>'
/app/config/environments/review.rb:3:in `<main>'
/app/config/environment.rb:5:in `<main>'
Tasks: TOP => db:migrate => db:load_config => environment
(See full trace by running task with --trace)

 Onboard services to Logit.io


Update HWReleaseProcess to allow RTL tagging independent of SW

The current release process describes a sort of handshake between the RTL and SW repositories that means the repo caliptra-rtl may not be tagged for a major release until after the SW repo has consumed the RTL and published its own code. Software releases often lag RTL readiness (in particular, since ROM release precedes Runtime firmware).
The proposed process update allows RTL to be tagged when ready. Creation of a new RTL branch allows the Firmware team to consume a deterministic snapshot of the RTL, while the hardware team advances towards the next feature set on the main branch. This also resolves a current issue where the RTL consumed by Firmware as a submodule may diverge from the actual versioned RTL release.
See also: https://github.com/chipsalliance/caliptra-rtl/pull/496

TODO: Before this PR is merged, we need to complete https://github.com/chipsalliance/caliptra-rtl/pull/496 and update the hyperlink to CaliptraReleaseChecklist.md


How can I modify it to use disneyPixarCartoon?

Hello, how should I modify the code to use disneyPixarCartoon.
I have already downloaded it

You can uncomment these two lines of code and replace "pretrained_models/disneyPixarCartoon_v10.safetensors" with the path to your local checkpoint; alternatively, you may try the ComfyUI interface.
https://github.com/HelloVision/HelloMeme/blob/de2a2ce68e385c42a61d9295779c9fcc3fb03414/inference_video.py#L118C4-L119C61

Hello, how should I modify the code to use disneyPixarCartoon.
I have already downloaded it

if that is the "type A or B" checkpoint from CivitAI becareful as it doesnt have an embedded VAE
I also see no where in the inference code to point to a VAE to fix this

This is indeed a valuable point to consider. I will test the impact of different VAE Decoders, and if there are positive results, I'll add a custom VAE Decoder Node.

Hello, how should I modify the code to use disneyPixarCartoon.
I have already downloaded it

if that is the "type A or B" checkpoint from CivitAI becareful as it doesnt have an embedded VAE
I also see no where in the inference code to point to a VAE to fix this

The ComfyUI interface now includes the VAE selection feature, which can indeed improve results. You can try it here.

@songkey
Please consider non-Comfyi users as well and add these in Gradio UI.


Handle unknown fetch errors

Problem

Recently added a change that would log when an unknown error is handled by HttpUtils.xhr()
Looks like there are quite a few errors that aren't being handled

Solution
Run down the list of errors and figure out how they can happen and what we should do about them

[ ] Network request failed
[ ] NetworkError when attempting to fetch resource.
[ ] Load failed
[ ] The network connection was lost.
[ ] cancelled
[ ] Сетевое соединение потеряно.
[ ] Gateway Timeout
[ ] cannot parse response
[ ] Nätverksanslutningen förlorades.
[ ] Empty string for error.message and this log... 🤔

[alXt] ENSURE_BUGBOT unknown error caught while processing request ~~ command: 'Push_Authenticate' error: '' stack: '"Error\n at alert (address at index.android.bundle:1:785039)\n at anonymous (address at index.android.bundle:1:983362)\n at tryCallOne (/tmp/hermes/staging/hermes/cmake/intlRelease/arm64-v8a/lib/InternalBytecode/InternalBytecode.js:53:16)\n at anonymous (/tmp/hermes/staging/hermes/cmake/intlRelease/arm64-v8a/lib/InternalBytecode/InternalBytecode.js:139:27)\n at apply (native)\n at anonymous (address at index.android.bundle:1:214637)\n at _callTimer (address at index.android.bundle:1:213536)\n at _callReactNativeMicrotasksPass (address at index.android.bundle:1:213740)\n at callReactNativeMicrotasks (address at index.android.bundle:1:215733)\n at __callReactNativeMicrotasks (address at index.android.bundle:1:120373)\n at anonymous (address at index.android.bundle:1:119458)\n at __guard (address at index.android.bundle:1:120214)\n at flushedQueue (address at index.android.bundle:1:119369)\n at callFunctionReturnFlushedQueue (address at index.android.bundle:1:119225)"' userAgent: 'okhttp/4.10.0-RC1'

For each of these we should...

Figure out what it means
Make sure the error is handled in the Network layer with the correct behavior

"Network request failed" looks like a common React Native fetch error. Searching around on SO seems to imply it might be related to https and ssl certs. But that doesn't quite make sense to me since I'd imagine no requests would work at all and not to see these random failures here and there.

Might help to also log what API endpoint is being used to verify we are using https though I'm positive we are.

After looking into all these errors I think they can for the most part be retried. However, I'm adding more logging for each specific error and whatever context in the code about what they might mean. Some are really cryptic errors and browser inconsistencies around what might be a "connection interrupted" type error.

Also realizing that it would be useful to log the status code of fetch errors when they throw so gonna open a PR for this.

These were all basically determined to be retry-able. We'll be logging for more specific errors in case any pop up that look important to investigate.


unplugin-element-plus不适配vite4.0.0

└─┬ unplugin-element-plus 0.4.1
└─┬ unplugin 0.7.2
└── ✕ unmet peer<EMAIL_ADDRESS>|| ^3.0.0-0": found 4.0.1
好像不适配vite4.0.0

I've got similar problem in a try to update my Vue + ElementPlus project.
I had intention to update Vue.js from 3.2.37 to 3.2.45, ElementPlus from 2.2.15 to 2.2.27, and UnpluginElementPlus is not changed (0.4.1).
I've tried to create new Vue project from scratch (by calling npm init vue@latest) and to copy old code to the new project.
After all this steps "npm run dev" does NOT work, and inside vite.config.ts on line where ElementPlus is added to array of plugins next error is reported from VSCode:
Type 'Plugin_2' is not assignable to type 'PluginOption'.
  Type 'import(".../projectFolder/node_modules/unplugin-element-plus/node_modules/vite/dist/node/index").Plugin' is not assignable to type 'import(".../projectFolder/node_modules/vite/dist/node/index").Plugin'.ts(2322)

In the process of update Vite is update from 3.0.4 to 4.0.0. The main change in Vite is moving from Rollup 2 to Rollup 3.
Potential problem could be Rollup update and Plugin API changes, more details here .

@sxzz unplugin has been updated to 0.9.6, can you release a new version?


Adds breakability to the clues

Closes #4

Hey thanks for this PR.  I never really used bigger examples so there was no need for a breakable version. But i guess it comes in handy if you have them. But i am not sure if it should be the default. Because mostly if you just have a few lines of content at the end of a page and then it breaks onto the next page it might seem little off as well.
So maybe it's better to keep breakable false as default and let the user specify if he want's a breakable version.

851fac9 changes the default value. True that this makes probably more sense and because all the args are passed through its easy to use


BarCodes.Init()

Sorry if this is a noob question, but I can't seem to use BarCodes.Init(). I get "You must call the 'Init()' method from the Plattform Project. Not this PCL one".
Where do i get a plattform project?
I'm developing a WinUniversal App if that's important.

It is important because the readme specifically says iOS, Android, & winphone.


ARTEMIS-3074 Add ActiveMQServerControl#createBridge() method variant …

…which accepts the callTimeout attribute
https://issues.apache.org/jira/browse/ARTEMIS-3074

Given the proliferation of overloaded management methods it was determined awhile back that we'd move to a more de-coupled approach using flexible JSON-based input. See, for example, the method org.apache.activemq.artemis.api.core.management.ActiveMQServerControl#createQueue(java.lang.String) which replaces over 10 overloaded variants. The JSON input String for this method can be created manually simply based on the parameter names or generated from the org.apache.activemq.artemis.api.core.QueueConfiguration object using the toJSON method. I recommend you implement a similar method for createBridge. The class org.apache.activemq.artemis.core.config.BridgeConfiguration already exists and you can use that for these changes (although you'll likely need to move it out of the activemq-server module and into the activemq-commons module).
I realize the change I'm describing is much larger than the one you already submitted in this PR, but the new method in this PR is just going to be deprecated in a bit so you'll have to change your integration code anyway. I think it's probably best to do it "right" the first time.

Given the proliferation of overloaded management methods it was determined awhile back that we'd move to a more de-coupled approach using flexible JSON-based input. See, for example, the method org.apache.activemq.artemis.api.core.management.ActiveMQServerControl#createQueue(java.lang.String) which replaces over 10 overloaded variants. The JSON input String for this method can be created manually simply based on the parameter names or generated from the org.apache.activemq.artemis.api.core.QueueConfiguration object using the toJSON method. I recommend you implement a similar method for createBridge. The class org.apache.activemq.artemis.core.config.BridgeConfiguration already exists and you can use that for these changes (although you'll likely need to move it out of the activemq-server module and into the activemq-commons module).
I realize the change I'm describing is much larger than the one you already submitted in this PR, but the new method in this PR is just going to be deprecated in a bit so you'll have to change your integration code anyway. I think it's probably best to do it "right" the first time.

If you would prefer not to do the change I suggested I could probably send a PR relatively soon.

If you would prefer not to do the change I suggested I could probably send a PR relatively soon.

@jbertram no problem, I will make the change as you suggested.
Thanks for all the input!

@jbertram no problem, I will make the change as you suggested.
Thanks for all the input!

@jbertram I implemented the createBridge(jsonString) method, can you check if it is what you imagined?
I didn't move the BridgeConfiguration class into activemq-commons module as it wasn't necessary in the scope of work I did. It rather looked problematic as I would have to move other classes with it (ActiveMQDefaultConfiguration, ActiveMQClient, ComponentConfigurationRoutingType) which BridgeConfiguration depends on.
If we were to move it out of activemq-server module, would the artemis-core-client module be a suitable place? This seems easier judging from how the classes are coupled, and it would allow also us to create method ActiveMQServerControl#createBridge(BridgeConfiguration) :), which may be nice type safe addition to the JSON string version.

@jbertram I implemented the createBridge(jsonString) method, can you check if it is what you imagined?
I didn't move the BridgeConfiguration class into activemq-commons module as it wasn't necessary in the scope of work I did. It rather looked problematic as I would have to move other classes with it (ActiveMQDefaultConfiguration, ActiveMQClient, ComponentConfigurationRoutingType) which BridgeConfiguration depends on.
If we were to move it out of activemq-server module, would the artemis-core-client module be a suitable place? This seems easier judging from how the classes are coupled, and it would allow also us to create method ActiveMQServerControl#createBridge(BridgeConfiguration) :), which may be nice type safe addition to the JSON string version.

Aside from my inline comments I've got a few others...

Please deprecate all the other createBridge management methods.
Add another test like org.apache.activemq.artemis.tests.integration.management.ActiveMQServerControlTest#testCreateAndDestroyBridge using the new method.

...it would allow also us to create method ActiveMQServerControl#createBridge(BridgeConfiguration) :), which may be nice type safe addition to the JSON string version.

Management methods should only take simple types so they can be invoked from JMX tools as well as HTTP via Jolokia. The only time a complex object (e.g. BridgeConfiguration) would be used is if the invoking client was in the same JVM but in that case they could use the embedded broker's configuration API directly and won't need the management method.

Aside from my inline comments I've got a few others...

Please deprecate all the other createBridge management methods.
Add another test like org.apache.activemq.artemis.tests.integration.management.ActiveMQServerControlTest#testCreateAndDestroyBridge using the new method.

...it would allow also us to create method ActiveMQServerControl#createBridge(BridgeConfiguration) :), which may be nice type safe addition to the JSON string version.

Management methods should only take simple types so they can be invoked from JMX tools as well as HTTP via Jolokia. The only time a complex object (e.g. BridgeConfiguration) would be used is if the invoking client was in the same JVM but in that case they could use the embedded broker's configuration API directly and won't need the management method.

Sorry for the long delays, I'm in the middle of a release...
I realized there are further complications regarding default values. E.g. user and password fields default to "ACTIVEMQ.CLUSTER.ADMIN.USER" and "CHANGE ME!!" and we need to be able to set them to null, which means null values have to be deserialized. I chose following behavior:

All non-null values are always serialized to JSON, even if they are default (this could be changed to serialize only if value is non-default, but to me that seems it would be confusing),
if JSON string doesn't contain a field, during deserialization it will be instantiated with its' default value,
if JSON string contains a field with null, it will be instantiated to null, regardless of it's default value (unless it's a primitive type field which would fail).

Sorry for the long delays, I'm in the middle of a release...
I realized there are further complications regarding default values. E.g. user and password fields default to "ACTIVEMQ.CLUSTER.ADMIN.USER" and "CHANGE ME!!" and we need to be able to set them to null, which means null values have to be deserialized. I chose following behavior:

All non-null values are always serialized to JSON, even if they are default (this could be changed to serialize only if value is non-default, but to me that seems it would be confusing),
if JSON string doesn't contain a field, during deserialization it will be instantiated with its' default value,
if JSON string contains a field with null, it will be instantiated to null, regardless of it's default value (unless it's a primitive type field which would fail).

The PR looks good and I'm ready to merge, but I had one additional question...
As I was reviewing the PR I noticed that while the bridge configuration references a connector there isn't actually any way to add a new connector via the management API which means every new bridge will have to use a connector which already exists. This is a gap in functionality that has been there for a long time, but I just now noticed it. Is this gap going to impact your use-case? If not, I'll go ahead and merge and then send a PR later for a new management method for adding a connector.

The PR looks good and I'm ready to merge, but I had one additional question...
As I was reviewing the PR I noticed that while the bridge configuration references a connector there isn't actually any way to add a new connector via the management API which means every new bridge will have to use a connector which already exists. This is a gap in functionality that has been there for a long time, but I just now noticed it. Is this gap going to impact your use-case? If not, I'll go ahead and merge and then send a PR later for a new management method for adding a connector.

Hi @jbertram, connectors are not important to me, I only need a way to set bridge call-timeout :). Thank you for your reviews!

Hi @jbertram, connectors are not important to me, I only need a way to set bridge call-timeout :). Thank you for your reviews!

I reviewed this PR as well. The tests which are included should be should be sufficient for the purpose. Feel free to reopen this for future Artemis version.


Fixed vision position fusion bug

Without this fix, the system constantly re-initialises the vision position and state estimator when new vision data becomes available.

is this related to this PR?
https://github.com/PX4/ecl/pull/293

I don't think so. This fix is not in PR293.


Minor UI bug fix for #12363

 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.


CVE-2022-222222

Suppressed due to test and this was generated from slack

Suppress due to test and was generated with a comment from slack

Test complete, triggers workflow from main branch but doesn't run. - need to update code in main branch


Support legacy did sov prefix for old protocols

This way we can start using https for newer protocols, but keep did:sov for old protocols as e.g. the trinsic wallet still doesn't support the https prefix...

Is the Trinsic wallet going to continue to evolve?  @tmarkovski Or is it time to not use it as a measure for compatibility?

Whether we want to or not, people will use it as a measure of compatibility. So for now we don't intend to break backwards interop.
Sadly the strategy we've implemented with all new or all old doesn't work. We need to b e 'smarter' about it.


Linux (deb) .desktop files

Is it posible to create .desktop file while packing for linux (deb) ?

What do you mean? Icons? Icons is already fixed in 2.8.

I did not try on 2.8 yet, But i was talking about  desktop shortcuts (Entry).
For locking to launcher or show listing on search.
Example: mongochef.desktop
[Desktop Entry]
Type=Application
Exec=/home/xxx/mongochef/bin/mongochef.sh
Name=MongoChef
GenericName=MongoChef
Icon=/home/xxx/mongochefs/mongochef.png
Terminal=false
Categories=Development;IDE;mongodb;

@brendtumi 2.8 new API creates desktop shortcuts and icons.
Also, you can provide own .desktop template, but it is not yet documented and tested. In any case I think that it is not a user-friendly way. Instead, should be a way to customise .desktop` using https://github.com/loopline-systems/electron-builder#distributable-format-configuration
So — please try new 2.8 API and if generated .desktop will be not suitable for you — please report what you want to change.

In the provided link, there are no details about the Linux configuration

@uggrock Because of but it is not yet documented
Have you tried 2.8 new API? What's wrong? What exactly do you want to fix in the generated deb package?

Yes we tryed it, but I still can not get an icon of my app in the deb file. Is there any example config for Linux?

@uggrock Linux icon set will be generated automatically on the fly from the OS X icns file. Please see step 2. Did you follow this step and created build/icon.icns file?

@develar Thanks for your answer. The part with generaration the linux icon from icns file is not very intuitive. Is the use of external config file now deprecated? Will it be possible in the feature to customize the name of the build folder, with the location of the icons?

The part with generaration the linux icon from icns file is not very intuitive

The problem is that linux layout is very complex and it is not easy for you, as user, to follow it (also, it can be different for other Linux distro/window manager). So, I have decided to just allow to provide simple OS X icns file.

Is the use of external config file now deprecated?

Yes. https://github.com/loopline-systems/electron-builder#distributable-format-configuration is a preferred way.

Will it be possible in the feature to customize the name of the build folder

Just ask. Do you like https://github.com/loopline-systems/electron-builder/issues/184?


It appears that Goodspeed and GPOSpeedPump refer to the same mod

I did a quick search for a prior issue regarding this but did not find one. However, if this is a duplicate, feel free to close the issue.

It looks like the one pointing to CKAN is being used by CKAN.exe, even though both are fully complient.
I've sent a message to the author about it, hopefully I'll get a response.

Resolved per #5140, after confirmation from the author


Add spark-rapids pulls to GitHub project [skip ci]

Adding new PRs to global spark-rapids GitHub project.  Uses same action as what we put in for issues.

build

Thanks for the feedback.  I moved the pull request addition to the existing workflow.

build


Fixing section error in word length README

changing # Metric Description to # Measurement Description

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint.

Thanks! 🚀


Temp replace reip with reip_manual

Reip was broken by the missing scripts necessary to generate the config so that erl could be run without the riak node active, but with the config necessary to load riak_core.
Now loading riak_core is not necessary with riak_manual .. but both the path to the ring directory, and the cluster name need to be manually passed in as command params.

Works as expected. One minor point: after a successful execution, the node, now with a new node name, needs to have its riak.conf modified to reflect that (otherwise the node will crash at startup). I believe a reminder to change nodename in riak.conf would not hurt, around here: https://github.com/basho/riak_kv/pull/1838/files#diff-97040b499de3444a6d305784c280ce6c35fcb352603d2fb61e9a43957e135380R256.

+1


Zoombrot

Command line zoom config tool.
Means, for a start, we can remove zoom arithmetic from webdelbrot's javascript.
Moving forward, clients won't have to do math.

Done with df8cd74


kbfs: fix all outstanding golangci-lint issues, and enable during CI

Most of the fixes are in libkbfs, but a few snuck in in other places as well.
Issue: HOTPOT-398

worthwhile to add to the precommit hook as well

@joshblum the pre-commit hooks are already present at the root of the project, right?  https://github.com/keybase/client/blob/4697d945048e109514bc4b5f5e8b305e2d7ce73c/.pre-commit-config.yaml

oh that uses https://github.com/golang/lint we should switch     - id: golangci-lint ( i guess stellarnet should switch over as well )

oh that uses golang/lint we should switch - id: golangci-lint ( i guess stellarnet should switch over as well )

But we shouldn't add that until the whole repo is converted, right?  I don't use pre-commit so I don't know how it works, but seems like we shouldn't edit that root config yet.

pre-commit runs the checks on your staged changes so i think we can apply it now so new changes are checked for whoever uses that.

@joshblum 	ok I made the linting stricter, fixed the many new issues that brought about, and added golangci-lint to the pre-commit config.  Please take another look!


Bug: Handle API timeout and API endpoint reachability

If management server is down/not reachable, after some valid timeout (say 60-120s), the UI does not fail gracefully. It should throw/show an error notification at the least.

Network error handled like this:


aqc synthesis plugin seems to ignore approximation_degree

The unitary synthesis plugin aqc gives always the same result, independently of approximation_degree.
Consider the following example:
# create a random unitary
from qiskit import QuantumCircuit
from qiskit.quantum_info import Operator
from qiskit.quantum_info.random import random_unitary

qc = QuantumCircuit(3)

qc.unitary(random_unitary(8, seed=0), [0,1,2])

# synthesis (with approximation_degree=0), back to matrix, and sum all the elements

from qiskit.transpiler.passes.synthesis.unitary_synthesis import UnitarySynthesis
from qiskit.algorithms.optimizers import SLSQP
import numpy as np

result = UnitarySynthesis(basis_gates=["rx", "ry", "rz", "cx"], method='aqc', approximation_degree=0, plugin_config={"seed": 42})(qc)
approx_matrix = Operator(result).data

print(np.sum(approx_matrix))

(0.9471489692201448-0.04904005347947815j)

The result is the same with approximation_degree=1
result = UnitarySynthesis(basis_gates=["rx", "ry", "rz", "cx"], method='aqc', approximation_degree=1, plugin_config={"seed": 42})(qc)
approx_matrix = Operator(result).data

print(np.sum(approx_matrix))

(0.9471489692201448-0.04904005347947815j)

It would be great if the approximation_degree could affect the maxiter of the optimizer, for example (I'm not an expert in AQC).
For example, the following (with "optimizer": SLSQP(10)) takes 1.49s in my laptop.
qc = QuantumCircuit(4)
qc.unitary(random_unitary(16, seed=0), [0,1,2,3])

result = UnitarySynthesis(basis_gates=["rx", "ry", "rz", "cx"], method='aqc', plugin_config={"seed": 42, "optimizer": SLSQP(10)})(qc)

while the default one (I think is 100) takes 1m 53.1s
TL;DR Change default maxiter based on the approximation level, if not set. Maybe the amount of unitary boxes and qubits involved should play a role too.

That said, it probably shoudl be clearer in the docstring of UnitarySynthesis that approximation_degree isn't part of the plugin interface, and only has meaning for the default synthesis (it only still exists at all for backwards compatibility).

Well, Luciano might disagree with me (I'm not a dictator), but it's probably best to wait for his response at least.

As an aside: Is there an issue out there like this one which involves concepts of QM implemented in QC? Eg here was the adiabatic quantum computation and the adiabatic theorem. I find these interesting to work on!

Gotcha! Even if they're transpiler plugins, that's fine with me! AQC sort of things just make things more interesting to me.
Anyway, I'll wait for @1ucian0 to respond.