Update Pocket Casts

Backstory
You can delete your account directly from the app now. No need to email customer support.
I asked their support chat bot and it gave the instructions below.
Data

name: Pocket Casts
url:
difficulty: Easy
notes:

For iOS:
Open the Pocket Casts app.
Click on the "Profile" tab.
Click on your account email address.
Scroll down and click on "Delete Account" at the bottom of the screen.

For Android:
Open the Pocket Casts app.
Click on the "Profile" tab.
Click on "Account."
Scroll down and click on "Delete account" at the bottom of the screen.

For Web:
Log in to the Pocket Casts web player using your account credentials.
Click on the profile icon in the top right-hand corner of the screen.
Click on your email address to access the Profile screen.
Scroll down and click on the "Delete Account" link.
A confirmation pop-up will appear asking if you're sure you want to delete your account. Click "Delete" to confirm.

Thanks for your contribution!


Expose wrapping and saturating arithmetic for integer and bytes

This could be done as primitive functions added at https://github.com/gluon-lang/gluon/blob/6c79166ae76b77a620e3ae929e12653994ddeedd/vm/src/primitives.rs#L371-L430

I think I can find some time for this this evening.

I think in the long run I'd like to have custom implicit instances of Num for num, but I am pretty sure that it won't work out unless there is a way to pull in implicit instance and override one that is already in scope. Since Byte and Int always have the normal Num Int/Num Byte in scope a adding wrapping or saturating instance in scope will always cause ambiguities.
// Normal Num Int
let { ? } = import! std.int

1 + 2 // OK
let { ? } = (import! std.int).wrapping
1 + 2 // Error ambigous

#[override]
let { ? } = (import! std.int).wrapping
1 + 2 // Ok since wrapping is selected

I think in the long run I'd like to have custom implicit instances of Num for num, but I am pretty sure that it won't work out unless there is a way to pull in implicit instance and override one that is already in scope.

Yeah, that seems really useful. I'm a bit torn on this, on one hand I actually like the explicitness of using a different function, on the other I can see how this would be really annoying when you are using it a lot. I guess this is just a thing where you have to be careful and only introduce the new binding in a new scope, so it doesn't override the behaviour of (+) half way through the file.

By the way, I just noticed that currently VmInt is defined as isize, but according to the gluon std docs it's always a i64. The alias should probably just be i64 then (it will be on most systems anyway).

By the way, I just noticed that currently VmInt is defined as isize, but according to the gluon std docs it's always a i64. The alias should probably just be i64 then (it will be on most systems anyway).

Yeah that's #403 . Should just stabilize on i64


Impossible to import module in current working directory

It is currently impossible to document a module locally defined. It makes working with pdoc painful. Given the following folder structure:
some/random/folder/
    mymodule/
        __init__.py
        subA.py
        subB.py

The following doesn't work:
> cd some/random/folder
> pdoc --html --html-dir doc mymodule

pdoc will only find __init__.py, however since the current working directory is not in sys.path python will not import the whole module. It won't even generate documentation for variables / functions in __init__.py...
The fix is simple, add these two lines to pdoc:405:
sys.path.insert(0, os.getcwd())
pdoc.import_path.insert(0, os.getcwd())

Then you can now work in any directory

Have you tried setting the PYTHONPATH variable? Modifying sys.path is generally not advisable.

Thanks for your quick answer !
Yes, I tried in a vm, but in general I find using pythonpath highly inconvenient. Also, the point of this tool is to be lightweight (as I understood) and requiring users to make a virtualenv / modifying an environment variable kinda defeats this objective.
Also, on a security side, this change of sys.path and/or PYTHONPATH are the same

but in general I find using pythonpath highly inconvenient

All you need to do: PYTHONPATH=. pdoc ....

Also, the point of this tool is to be lightweight (as I understood) and requiring users to make a virtualenv / modifying an environment variable kinda defeats this objective.

I disagree. Requiring users to develop code idiomatically (i.e., virtualenv) or using already established mechanisms for hacking the import paths (e.g., setting PYTHONPATH) is precisely what makes pdoc lightweight. Adding hacks to accommodate non-standard or legacy environments is exactly what leads to bloat.
I won't accept a patch that modifies sys.path without stronger justification. Sorry.

Additionally, modifying sys.path is implicit, whereas using PYTHONPATH is explicit. Subtly changing how modules are normally imported makes debugging harder.


Add additional metadata to the VM building the image

Once you start to have multiple and complex script for custom images it becomes very handy to be able to set additional metadata in the VM that will run the custom init script.
As an example, if you have a side repository with some library code that you want to reuse in the custom init script, you can use metadata to decide in the script which repository branch to clone (test vs production).
For the reviewers: I could not find a good resource explaining which rules are supposed to be used for validating metadata names and values so for now I have a very naive regular expression. I would appreciate if you could guide on how to improve that.

@functicons - can you close this PR and add this feature in a separate PR?


Print preview crashes in Firefox with progress bar enabled

Turbolinks.enableProgressBar() is breaking my print preview in Firefox on some pages.

on some pages

can you post a link?

Can't reproduce. Feel free to post more info and we'll reopen.


iOS White Screen

Preloader creates a white screen on app launch.  Does not work in TestFlight.  Works on the PWA app.

@DHMedia07 Can you send a crash log or any other type of logs that might help us troubleshoot the issue?

It didn't produce a crash log in TestFlight.  All it does is create a white screen on the home screen.

Hmm ok we'd need to diganose this and it would take a whole lot more time.
We've shifted our effort from these components to a longer-term project
that won't have the same issues.
We'll update as it becomes available.
Mitch Schwartz https://www.linkedin.com/in/themitchschwartz
PragmaFlow
On Mon, May 16, 2022 at 10:14 AM, DHMedia07 @.***>
wrote:

It didn't produce a crash log in TestFlight. All it does is create a white
screen on the home screen.
—
Reply to this email directly, view it on GitHub
https://github.com/pragmaflowinc/adalo-data-preloader/issues/2#issuecomment-1127730681,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ARKEHHRJHTPRN263HYQIGHTVKJJ5ZANCNFSM5VF7VSEA
.
You are receiving this because you commented.Message ID:
@.***>


Chore: add more clippy lints and apply suggestions

Working towards #114

Hum sorry, I guess there is a misunderstanding on my side on this point, as I constantly remove the per file clippy directives.
As I understood #114, I though we wanted to have a common config at the crate level. Could you elaborate on the methodology you want to follow and on the final set of directive we'd like to have, so I don't constantly break what you try to achieve in the long term?

Hey, no worries. I actually don't really have a plan currently so I never complained about it either.
I'll try to come up with a strategy in the linked ticket so we can discuss it there

In the mean time, maybe having some comment (e.g. // clippy::do-not-remove-clippy!) on the ones that must be there


Debian-Box USB Camera Error "unsupported operand type(s) for -: 'list' and 'int'"

hey Les first of i love your project :) and as the Rpi prices are at the moment through the roof i didnt buy a rpi 4 instead i use my debian box with a fresh debin 11.5 i installed all depencies and tried if import cv2 work and it does...also the usb camera is founded via lsusb
when i start PySpectrometer2-USB-v1.0.py a small blank window pops up for 1 sec and after that this message:
Loading calibration data...
Loading of Calibration data failed (missing caldata.txt or corrupted data!
Loading placeholder data...
You MUST perform a Calibration to use this software!

Calculating second order polynomial...
           2
3.125e-05 x + 0.4375 x + 380
Generating Wavelength Data!

Done! Note that calibration with only 3 wavelengths will not be accurate!
/home/xxxxxxxx/Documents/./PySpectrometer2-USB-v1.0.py:192: DeprecationWarning: The binary mode of fromstring is deprecated, as it behaves surprisingly on unicode inputs. Use frombuffer instead
  np_data = np.fromstring(decoded_data,np.uint8)
Traceback (most recent call last):
  File "/home/xxxxxxxx/Documents/./PySpectrometer2-USB-v1.0.py", line 263, in <module>
    intensity = savitzky_golay(intensity,17,savpoly)
  File "/home/xxxxxxxx/Documents/specFunctions.py", line 143, in savitzky_golay
    lastvals = y[-1] + np.abs(y[-half_window-1:-1][::-1] - y[-1])
TypeError: unsupported operand type(s) for -: 'list' and 'int'

any idea whats wrong?
thx janosch

Yep, fromstring is deprecated (my dev box is quite old!)
I have fixed the offending line. Please re-clone the repo, check if it errors and report back.
Cheers!

the for the super fast replay :)
now i get
 janoschsimon@janosch-debian-box:~/Documents$ v4l2-ctl --list-devices
1.3M WebCam: 1.3M WebCam (usb-0000:00:1a.0-1.1):
	/dev/video0
	/dev/video1
	/dev/media0

janoschsimon@janosch-debian-box:~/Documents$ ./PySpectrometer2-USB-v1.0.py --device 0 --fps 15
[info] W, H, FPS
640.0
480.0
15.0
Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway.
Loading calibration data...
Loading of Calibration data failed (missing caldata.txt or corrupted data!
Loading placeholder data...
You MUST perform a Calibration to use this software!

Calculating second order polynomial...
           2
3.125e-05 x + 0.4375 x + 380
Generating Wavelength Data!

Done! Note that calibration with only 3 wavelengths will not be accurate!
Traceback (most recent call last):
  File "/home/janoschsimon/Documents/./PySpectrometer2-USB-v1.0.py", line 263, in <module>
    intensity = savitzky_golay(intensity,17,savpoly)
  File "/home/janoschsimon/Documents/specFunctions.py", line 143, in savitzky_golay
    lastvals = y[-1] + np.abs(y[-half_window-1:-1][::-1] - y[-1])
TypeError: unsupported operand type(s) for -: 'list' and 'int'

and it seems that at the moment only the interal 1.3mpix is recognized hmmmmm
cheers and thx
janosch

Weird, I cant replicate this behaviour on the Pi or my Box, this may be a numpy version issue. On the Pi it is: 1.19.5
Start python3 from the command line
at the prompt run:
import numpy
Then:
numpy.version

meh i also have numpy 1.19.5 :/ any other idea? perhabs i should just get me raspbery pi 4 , ;)

Ah! I see it!
In your output above it says:
janoschsimon@janosch-debian-box:~/Documents$ ./PySpectrometer2-USB-v1.0.py --device 0 --fps 15
[info] W, H, FPS
640.0
480.0
15.0
The software expects 800px wide images to be pulled from the camera!

ohhhh nooo i see thats the internal webcam very old hmmm and my machine vision cameras are also old on from daheng and one from point grey :/ will check tmr a new webcam and report back :) thx mate

You are welcome. OpenCV is generally ok with the majority of webcams, but it is broken for some, so your milage may vary so to speak.

Im back lee and got some great news and some more questions :)
with the Logitech C920 PRO HD  it works perfectly without anything i need to setup extra :)
and the Industrycams i have a little success for my Point Grey Flea 3 USB3 camera i manage to install the SDK ad the sample software Flysdk2 detects the camera and shows the picture but to v4l2-ctl --list-devices it wont show up :(
Bus 002 Device 006: ID 1e10:3006 Point Grey Research, Inc. Flea3 FL3-U3-13S2C
janoschsimon@janosch-debian-box:~$ v4l2-ctl --list-devices
1.3M WebCam: 1.3M WebCam (usb-0000:00:1a.0-1.1):
	/dev/video0
	/dev/video1
	/dev/media0

hmmmm any idea how i can link the Flycapture SDK to your software? :)
but im happy to see your software for the first time working hehe :)

Glad you got it working for a least one camera!
No that I am aware of. If the camera won't enumerate as a video device, it will not run with this software. PRobably softare woudl have to be written to work with the SDK.


onchange params inconsistent with README

Just a heads-up that the current README indicates that newSelection, value, and operation are passed with the onchange action. This is true on the master branch, but not in the current release (0.8.0), which only passes newSelection. It's an easy fix, but new users might find it a little confusing.

Thanks a lot, totally forgot to publish that. Will see if I can do that some time today.

Published as 0.9.0


Update module to be ConsenSys

 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.


Giving Lager its Own Github Organization

The same initial thoughts and concerns as https://github.com/basho-labs/the-riak-community/issues/58 probably apply so please see the link for more details.
I would propose that this move happen simultaneously with the move in https://github.com/basho-labs/the-riak-community/issues/58 so that the annoying dependency management work only has to be done once.

One additional note: @Vagabond should be involved with discussions here as he is most familiar with the lager codebase and its status

Lager has become such a widely used tool in the Erlang community, that it makes sense for it to be in its own organization if Basho is up for doing so (read more active PR cycles). There are plenty of well known and active Erlang community members who are more than willing to help with this project.


The bot has generated loss in the first trade.

Last night the bot has executed a trade that generated a loss in BTC.
Why did this happen and why the bot has not sold all of the ETH (second symbol in the arbitrage)?
Below is the configuration, execution log and screenshots from Binance.
BTC-QTUM-ETH.txt
[2.05.2021 г., 3:28:18]   [32mINFO  [39m:   [36mAttempting to execute BTC-QTUM-ETH with an age of 169 ms and expected profit of 0.1162%  [39m
[2.05.2021 г., 3:28:18]   [32mINFO  [39m:   [36mBuying 10.86 QTUMBTC @ market price  [39m
[2.05.2021 г., 3:28:19]   [32mINFO  [39m:   [36mSuccessfully bought 10.86000000 QTUMBTC @ a quote of 0.00299953 in 397 ms  [39m
[2.05.2021 г., 3:28:19]   [32mINFO  [39m:   [36mSelling 10.86 QTUMETH @ market price  [39m
[2.05.2021 г., 3:28:19]   [32mINFO  [39m:   [36mSuccessfully sold 10.86000000 QTUMETH @ a quote of 0.05873375 in 353 ms  [39m
[2.05.2021 г., 3:28:19]   [32mINFO  [39m:   [36mSelling 0.058 ETHBTC @ market price  [39m
[2.05.2021 г., 3:28:19]   [32mINFO  [39m:   [36mSuccessfully sold 0.05800000 ETHBTC @ a quote of 0.00295875 in 362 ms  [39m
[2.05.2021 г., 3:28:19]   [32mINFO  [39m:   [36mExecuted BTC-QTUM-ETH position in 1128 ms  [39m
[2.05.2021 г., 3:28:19]   [34mDEBUG  [39m:   [36mQTUMBTC Stats:  [39m
[2.05.2021 г., 3:28:19]   [34mDEBUG  [39m:   [36mExpected Conversion:  0.00299953 BTC into 10.86000000 QTUM @ 0.00027620  [39m
[2.05.2021 г., 3:28:19]   [34mDEBUG  [39m:   [36mObserved Conversion:  0.00299953 BTC into 10.86000000 QTUM @ 0.00027620  [39m
[2.05.2021 г., 3:28:19]   [34mDEBUG  [39m:   [36mPrice Change:         -0.00006668%  [39m
[2.05.2021 г., 3:28:19]   [34mDEBUG  [39m:
[2.05.2021 г., 3:28:19]   [34mDEBUG  [39m:   [36mQTUMETH Stats:  [39m
[2.05.2021 г., 3:28:19]   [34mDEBUG  [39m:   [36mExpected Conversion:  10.86000000 QTUM into 0.05902436 ETH @ 0.00543502  [39m
[2.05.2021 г., 3:28:19]   [34mDEBUG  [39m:   [36mObserved Conversion:  10.86000000 QTUM into 0.05873375 ETH @ 0.00540826  [39m
[2.05.2021 г., 3:28:19]   [34mDEBUG  [39m:   [36mPrice Change:         -0.49235604%  [39m
[2.05.2021 г., 3:28:19]   [34mDEBUG  [39m:
[2.05.2021 г., 3:28:19]   [34mDEBUG  [39m:   [36mETHBTC Stats:  [39m
[2.05.2021 г., 3:28:19]   [34mDEBUG  [39m:   [36mExpected Conversion:  0.05900000 ETH into 0.00300977 BTC @ 0.05101300  [39m
[2.05.2021 г., 3:28:19]   [34mDEBUG  [39m:   [36mObserved Conversion:  0.05800000 ETH into 0.00295875 BTC @ 0.05101293  [39m
[2.05.2021 г., 3:28:19]   [34mDEBUG  [39m:   [36mPrice Change:         -0.00013519%  [39m
[2.05.2021 г., 3:28:19]   [32mINFO  [39m:
[2.05.2021 г., 3:28:19]   [32mINFO  [39m:   [36mBTC delta:	  -0.00004078 (-1.3595%)  [39m
[2.05.2021 г., 3:28:19]   [32mINFO  [39m:   [36mQTUM delta:	   0.00000000 ( 0.0000%)  [39m
[2.05.2021 г., 3:28:19]   [32mINFO  [39m:   [36mETH delta:	   0.00073375 ( 1.2651%)  [39m
[2.05.2021 г., 3:28:19]   [32mINFO  [39m:   [36mBNB fees: 	  -0.00062087  [39m
config.txt
{
"KEYS": {
    "API": "",
    "SECRET": ""
},

"INVESTMENT": {
    "EUR": {
        "MIN": 100,
        "MAX": 150,
        "STEP": 50
    },
    "BTC": {
        "MIN": 0.002,
        "MAX": 0.003,
        "STEP": 0.001
    },
    "ETH": {
        "MIN": 0.04,
        "MAX": 0.06,
        "STEP": 0.02
    }
},

"SCANNING": {
    "DEPTH": 20,
    "WHITELIST": [................]
},

"EXECUTION": {
    "ENABLED": true,
    "CAP": 1,
    "STRATEGY": "linear",
    "TEMPLATE": ["BUY", "SELL", "SELL"],
    "FEE": 0.075,
    "THRESHOLD": {
        "PROFIT": 0.00,
        "AGE": 300
    }
},

"HUD": {
    "ENABLED": false,
    "ROWS": 10,
    "REFRESH_RATE": 500
},

"LOG": {
    "LEVEL": "debug",
    "PRETTY_PRINT": true,
    "STATUS_UPDATE_INTERVAL": 2
},

"WEBSOCKET": {
    "BUNDLE_SIZE": 1,
    "INITIALIZATION_INTERVAL": 200
},

"BINANCE_OPTIONS": {}

}

For starters, your age threshold of 300 is too high imo for any chance of a successful trade. Funny enough, the first leg was executed exactly as calculated still.
The reason you have some ETH is due to how dust works on Binance. Traded values can only be specified to a certain degree of precision


Add New Layer to OGM Forklift

Benefit
DOGM has requested that a new view/layer be added to their forklift instance.
Acceptance Criteria
Notes
No response
Risks
No response
Issue Reference
refs #

This was completed and the client verified that it was working.


[$1000] Error message "Can't remove admin" isn't shown when selecting workspace admins

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 settings -> workspaces
2.Select one workspace
go to members
try on removing admin

Expected Result:
Error should show and you should be able to remove an admin
Actual Result:
Admin can almost be removed, then error message is thrown
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?

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

Version Number: main
Reproducible in staging?: N
Reproducible in production?: N
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: Any additional supporting documentation
Expensify/Expensify Issue URL:
Issue reported by: @ashimsharma10
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1686829788221639
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~01b1012f509c1a5e12
Upwork Job ID:<PHONE_NUMBER>088379904
Last Price Increase: 2023-06-19

Proposal
Please re-state the problem that we are trying to solve in this issue.
Error message "Can't remove admin" isn't shown when selecting workspace admins
What is the root cause of that problem?
In the latest migration, it seems we are using accountID for the WorkspaceMembersPage component but for the validate method we are comparing accountID with the email and that is causing the issue.
https://github.com/Expensify/App/blob/d39643006874bf5ffec923291afa6b43884a4aec/src/pages/workspace/WorkspaceMembersPage.js#L289-L290
What changes do you think we should make in order to solve the problem?
We need to update the condition to consider accountID instead of the email property and for error also we need to use accountID instead of login.
https://github.com/Expensify/App/blob/d39643006874bf5ffec923291afa6b43884a4aec/src/pages/workspace/WorkspaceMembersPage.js#L371-L376

@sobitneupane could you please take a look at this issue and confirm if it's the same root cause/fix as https://github.com/Expensify/App/issues/20719 as per @dukenv0307's comment here?

Nope @kadiealexander. It's a different issue.
I have reviewed @Pujan92's proposal. It will solve this issue. We can go with @Pujan92's proposal to solve this issue.

@kadiealexander I would like to take C+ role here if possible.

Reproduced this on desktop app. @sobitneupane happy to assign you here, thanks for volunteering!

@sobitneupane don't forget to leave the bow and eyes emoji on your review post to assign an engineer!

@bfitzexpensify I'm going OOO til the 26th so just assigning someone to keep this moving. Happy to take it back next week!

Thanks for the proposal.
@Pujan92's proposal looks good to me
🎀 👀 🎀 C+ reviewed

@MonilBhavsar this may technically be a deploy blocker, if we don't have one for this already 😬 So if we can move forward with this quickly (reviewing proposals & getting the PR out) that would be great!

Thanks! Let's use that method and pass a single login

Could you please prioritize this PR as this seems to be a deploy blocker and we want to fix it asap

Could you please prioritize this PR as this seems to be a deploy blocker and we want to fix it asap cc @sobitneupane

Sure, will raise a PR sooner.

@Beamanator let's add deploy blocker label to this issue and do you think we should CP the PR to staging?

:wave: Friendly reminder that deploy blockers are time-sensitive ⏱ issues! Check out the open StagingDeployCash deploy checklist to see the list of PRs included in this release, then work quickly to do one of the following:

Identify the pull request that introduced this issue and revert it.
Find someone who can quickly fix the issue.
Fix the issue yourself.

@MonilBhavsar yes I think we would need to CP the fix to staging so that we don't break the production deploy, right? 👍

Yes, correct 👍

@sobitneupane @MonilBhavsar PR is ready for review!

PR is CP'ed to staging and confirmed it is working there

Thanks for the help!

Thanks for keeping an eye on this @bfitzexpensify!

@sobitneupane please don't forget about the checklist!

Paid @Pujan92 including a bonus as per this
Paid @ashimsharma10 their reporting bonus
Once the checklist is complete I'll issue C+ payment and we can close this 🎉

BugZero Checklist: The PR fixing this issue has been merged! The following checklist (instructions) will need to be completed before the issue can be closed:

[ ]  [@sobitneupane] The PR that introduced the bug has been identified. Link to the PR:

https://github.com/Expensify/App/pull/20506

[ ]  [@sobitneupane] The offending PR has been commented on, pointing out the bug it caused and why, so the author and reviewers can learn from the mistake. Link to comment:

https://github.com/Expensify/App/pull/20506#issuecomment-1617610332

[ ]  [@sobitneupane] A discussion in #expensify-bugs has been started about whether any other steps should be taken (e.g. updating the PR review checklist) in order to catch this type of bug sooner. Link to discussion:

We were making transition (login->accountID) through multiple PRs and few cases might have missed out.

[ ]  [@sobitneupane] Determine if we should create a regression test for this bug.

We have decided to disable the checkbox for admin recently. It is being worked on in another issue. So, error message is no longer needed.


feat(*): added styling to events epic

@manuelportela can you please take a look at the last commit. I'm not sure why I had to change the date to pass the test.


📝 Add local setup section and update contribution guide in README.md

created a section for local setup (before the run sections
How to contribute section update

Done.
Check PR #164


Inconsistency in App Service QuickStart Doc

Hi,
I was following the Node.js quickstart (for both windows and linux) via VSCode (https://docs.microsoft.com/en-us/azure/app-service/quickstart-nodejs?tabs=windows&pivots=development-environment-vscode) & ran into following issues :

For windows,
a.) Issue of "You do not have permission to view this directory or page." when navigating to the base URL. this is because of the
missing web.config file(As per the docs), which inspite of enabling Kudu Automated deployment both in VSCode and cloudshell
was not getting created.
b.) Another issue seemed to be with the folder structure of the deployed app & there are separate discussions on different
forums where we are suggesting to resolving that by adjusting the path mappings
https://docs.microsoft.com/en-us/answers/questions/23282/deployed-angular-web-app-keeps-getting-you-do-not.html

For linux, the deployment was getting failed as it was not able to find the node runtime.

So, what worked for me?
Alternatively, following the quickstart viaCLI, the deployment ran smoothly & the application worked as expected.
Hence, in the interest of a good and productive user experience, it would be great if we can review the quickstart docs & update them accordingly, as I had to spend around 2-3 hours checking on these issues & during that phase found that many other users on internet are also facing same issues (Stackoverflow and Microsoft forums).
Thanks.

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

ID: 298b87f4-b6eb-5642-7ab5-cd6df709390d
Version Independent ID: 0518cce4-7677-6d63-979d-e0a9e532efc0
Content: Quickstart: Create a Node.js web app - Azure App Service
Content Source: articles/app-service/quickstart-nodejs.md
Service: app-service
GitHub Login: @cephalin
Microsoft Alias: cephalin

@sushaanttb
Thanks for your feedback! We will investigate and update as appropriate.

@sushaanttb I have tried deploying the Node Js app to the app service on Windows and Linux (App Service plans) by following the documentation steps exactly didn't came across any issue. This is not a documentation issue.
This needs technical debugging if you would like to further investigate, please raise a support ticket with  Azure technical Support team.

@Venkateshdodda-MSFT
Have you followed the "VSCode" steps? because I also had tried the steps multiple time & as mentioned "with CLI" it worked fine.

@sushaanttb yes, I have tested by following the VSCode steps only.

@Venkateshdodda-MSFT
Yes, I also tried re-simulating the issue but this time it worked fine for me as well, so not sure what was the issue when I was trying yesterday, but for now it's good to conclude that the official doc steps indeed are working fine as expected.


README: Spelling and Grammar

Spelling and Grammar
Description
Updated spelling and grammar mistakes. Tried to keep to US English. Please review.

@aslotte ready for review.


[WIP, Kernel] (3/N) Machete W4A8

Hi @LucasWilkinson, I ran the w4a8 benchmark in the PR, the gemm perf from machete is 15-20% slower than the marline kernels. Is that expected? Thanks.

@cli99 Thanks for your interest in the kernels! For starters I will preface by saying this is work-in-progress PR so I still need to do some performance tuning (the updated heuristic in https://github.com/vllm-project/vllm/pull/7701 will likely help this PR once its merged). We do expect that for an M dim (batch-size * seq-len) <= 64 for Marlin to outperform this current PR, but you should see speedups for M > 64 and larger speedups at M >= 128 for most shapes. What were the shapes that you tested?

Hi, @LucasWilkinson, thank you for your amazing work! I wanted to install machete-w4a8 for testing, and the installation was successful. However, when I ran benchmark_machete.py, I encountered the following issue:
  File "~/vllm-0.6.3-machete-w4a8/./benchmarks/kernels/benchmark_machete.py", line 255, in <lambda>
    return lambda: ops.machete_mm(
  File "~/vllm-0.6.3-machete-w4a8/vllm/_custom_ops.py", line 43, in wrapper
    raise NotImplementedError(msg % (fn.__name__, e)) from e
NotImplementedError: Error in calling custom op machete_mm: Could not run '_C::machete_mm' with arguments from the 'CUDA' backend. This could be because the
operator doesn't exist for this backend, or was omitted during the selective/custom build process (if using custom build). If you are a Facebook employee usi
ng PyTorch on mobile, please visit https://fburl.com/ptmfixes for possible resolutions. '_C::machete_mm' is only available for these backends: [Meta, BackendSelect, Python, FuncTorchDynamicLayerBackMode, Functionalize, Named, Conjugate, Negative, ZeroTensor, ADInplaceOrView, AutogradOther, AutogradCPU, AutogradCUDA, AutogradXLA, AutogradMPS, AutogradXPU, AutogradHPU, AutogradLazy, AutogradMeta, Tracer, AutocastCPU, AutocastXPU, AutocastCUDA, FuncTorchBatched, Batched
NestedTensor, FuncTorchVmapMode, Batched, VmapMode, FuncTorchGradWrapper, PythonTLSSnapshot, FuncTorchDynamicLayerFrontMode, PreDispatch, PythonDispatcher].

Environment configuration:

GPU: H800*80G
Torch: '2.4.0+cu121'
Python: 3.10.12

Could you please provide some suggestions?

Superseded by: https://github.com/vllm-project/vllm/pull/9855


Update bug-check-0x9f--driver-power-state-failure.md

When Parameter 1 equals 0x4, Parameter 4 should be TRIAGE_9F_PNP.

@dongpohezui - Thanks for this PR! I'm doing some doublechecking, but it looks like indeed current day systems are using TRIAGE_9F_PNP for this sub type of bugcheck.

@dongpohezui - Thanks for this PR, I appreciate the interest in the debugger docs and and eye for detail for the sub code values!


Link deployment to commit

Is your feature request related to a problem? Please describe.
Direct link from deployment to the commit file
Describe the solution you'd like
In the screen /deployments/UUID, clicking on the repository should bring you to the commit that was deployed not the repository
Describe alternatives you've considered
Just look for the commit manually
Additional context

Just noticed that the title goes to the commit 🤦♂

No worries and thank you for the feedback!


Textfield issue

I LOVE flutter ... but I don't know what is going on with these TEXTFIELDs ... they are so misbehaving in every way ... especially with multilanguage input ... and the worst comes with languages that are in different directions ... and because of that I can't and will never publish my flutter apps 😩😭 ;
here is a code example
Container(
              padding: EdgeInsets.symmetric(horizontal: 5),
              child: TextField(
                decoration: InputDecoration(
                    labelText: "Title in the 'Search' list",
                    contentPadding: EdgeInsets.symmetric(horizontal: 5),
                    border: OutlineInputBorder()),
                maxLength: 140,
                textAlign: TextAlign.center,
                minLines: 1,
                maxLines: null,
              ),
            )

using this TextField to write in Arabic with English is a nightmare;
plz try to fix it asap;
is there are any hacks for now or any alternatives to TextFields in flutter ?

duplicate of https://github.com/flutter/flutter/issues/47745


wrong toml section for zip-safe

In the doc:
setuptools-git-versioning.readthedocs.io
It is stated zip-safe must sit in tool.setuptools.package-data section.
But setuptools want it to be in tool.setuptools section.

Hi.
Thank you, fixed in 1.13.3


Support for docker build --file flag

From changelog:
1.5.0 (2015-02-10)

Builder

* Dockerfile to use for a given docker build can be specified with the -f flag

It's means that we can point our Dockerfile in diffrent place than context directory is, for example:
docker build -f ./backend/Dockerfile .

(Context is current directory, dockerfile is inside ./backend directory)
So, we need new yaml key to support this.
I propose left build key and simply add Dockerfile key, to support this flag.

This is a duplicate of #834

Yup, closing as duplicate


Equal Sum Partition Problem

Description
I want to add popular data structure and algorithms problem named :"Equal Sum Partition" which is a very famous problem and can enhance one's problem solving skill.
The problem is to tell if a given array can be divided into 2 subsets such that sum of both the subsets is same.
For Example:
Input: 1 5 11 5
Output: True (as there can be two subsets (1,5,5) and (11) such that sum of both are same.)
I am a participant at GSSOC'22 .
@Lakhankumawat I want to work on this issue , can u please assign this to me ?
Domain
Data Structure
Type of Contribution
Addition
Code of Conduct

[X] I follow Contributing Guidelines & Code of conduct of LearnCPP.

I would like to work on it under Gssoc22 @iamgunjan @miraj0507


What is the meaning of perm in ASAPool?

From now on, we recommend using our discussion forum (https://github.com/rusty1s/pytorch_geometric/discussions) for general questions.
❓ Questions & Help

What is the meaning of the returning 'perm' in ASAPool? I think it would be much better if such information can in incorporated in docs or annotations in the source codes.

perm denotes the permutation of top-k entries to keep based on the learned scoring function. This information is indeed missing in the documentation, I'm really sorry. I updated the doc, see here.

Thank you so much. Awesome framework!
May I also ask whether ASAPooling is extremely memory inefficient? Because I apply ASAP with a ratio of 0.5 on nodes of (600, 256), and it gave me OOM error.

This shouldn't be the case. Can you show me a minimal example to reproduce?

That is so kind of you. Actually, I am a newbie in graph neural networks. I made a minimal example to reproduce, as follows.
Please download ref_boxes.pt first. (Link: [https://drive.google.com/file/d/18FO-kfKcj1PeJ6QWTyN-bl6YodvJ4kz1/view?usp=sharing])
Codes for reproduction are here:
`
from typing import Union, Optional, Callable
import torch
import torch.nn.functional as F
import torchvision
from torch.nn import Linear
from torch_scatter import scatter
from torch_geometric.nn import LEConv
from torch_geometric.utils import softmax
from torch_geometric.nn.pool.topk_pool import topk
from torch_geometric.utils import add_remaining_self_loops
def box_cxcywh_to_xyxy(x):
x_c, y_c, w, h = x.unbind(-1)
b = [(x_c - 0.5 * w), (y_c - 0.5 * h),
(x_c + 0.5 * w), (y_c + 0.5 * h)]
return torch.stack(b, dim=-1)
@torch.no_grad()
def convert_object_queries_to_graph(object_query, reference_box):
device = object_query.device
batch_size = object_query.shape[0]
num_node = object_query.shape[1]
feat_dim = object_query.shape[2]
assert reference_box.shape[0] == batch_size
assert reference_box.shape[1] == num_node
reference_box_iou = [torchvision.ops.box_iou(reference_box[i], reference_box[i]) for i in range(batch_size)]
reference_box_iou = [(1 - torch.eye(num_node, device=device)) * matrix for matrix in reference_box_iou]  # remove ones on the diagonal

edge_index = list()
edge_weight = list()
for b in range(batch_size):
    index = torch.nonzero(reference_box_iou[b], as_tuple=True)
    weight = reference_box_iou[b][index]
    edge_weight.append(weight)
    edge_index.append(
        torch.stack(index, dim=0) + (b * num_node)
    )

node_batch = torch.zeros(batch_size * num_node, dtype=torch.long, device=device)
for b in range(batch_size):
    node_batch[b * num_node: (b + 1) * num_node] = b
edge_index = torch.cat(edge_index, dim=1)
edge_weight = torch.cat(edge_weight, dim=0)

return node_batch, edge_index, edge_weight

class ASAPooling(torch.nn.Module):
r"""The Adaptive Structure Aware Pooling operator from the
"ASAP: Adaptive Structure Aware Pooling for Learning Hierarchical     Graph Representations" <https://arxiv.org/abs/1911.07979>_ paper.
Args:
    in_channels (int): Size of each input sample.
    ratio (float or int): Graph pooling ratio, which is used to compute
        :math:`k = \lceil \mathrm{ratio} \cdot N \rceil`, or the value
        of :math:`k` itself, depending on whether the type of :obj:`ratio`
        is :obj:`float` or :obj:`int`. (default: :obj:`0.5`)
    GNN (torch.nn.Module, optional): A graph neural network layer for
        using intra-cluster properties.
        Especially helpful for graphs with higher degree of neighborhood
        (one of :class:`torch_geometric.nn.conv.GraphConv`,
        :class:`torch_geometric.nn.conv.GCNConv` or
        any GNN which supports the :obj:`edge_weight` parameter).
        (default: :obj:`None`)
    dropout (float, optional): Dropout probability of the normalized
        attention coefficients which exposes each node to a stochastically
        sampled neighborhood during training. (default: :obj:`0`)
    negative_slope (float, optional): LeakyReLU angle of the negative
        slope. (default: :obj:`0.2`)
    add_self_loops (bool, optional): If set to :obj:`True`, will add self
        loops to the new graph connectivity. (default: :obj:`False`)
    **kwargs (optional): Additional parameters for initializing the
        graph neural network layer.
"""
def __init__(self, in_channels: int, ratio: Union[float, int] = 0.5,
             GNN: Optional[Callable] = None, dropout: float = 0.0,
             negative_slope: float = 0.2, add_self_loops: bool = False,
             **kwargs):
    super(ASAPooling, self).__init__()

    self.in_channels = in_channels
    self.ratio = ratio
    self.negative_slope = negative_slope
    self.dropout = dropout
    self.GNN = GNN
    self.add_self_loops = add_self_loops

    self.lin = Linear(in_channels, in_channels)
    self.att = Linear(2 * in_channels, 1)
    self.gnn_score = LEConv(self.in_channels, 1)
    if self.GNN is not None:
        self.gnn_intra_cluster = GNN(self.in_channels, self.in_channels,
                                     **kwargs)
    self.reset_parameters()

def reset_parameters(self):
    self.lin.reset_parameters()
    self.att.reset_parameters()
    self.gnn_score.reset_parameters()
    if self.GNN is not None:
        self.gnn_intra_cluster.reset_parameters()

def forward(self, x, edge_index, edge_weight=None, batch=None):
    N = x.size(0)

    edge_index, edge_weight = add_remaining_self_loops(
        edge_index, edge_weight, fill_value=1, num_nodes=N)

    if batch is None:
        batch = edge_index.new_zeros(x.size(0))

    x = x.unsqueeze(-1) if x.dim() == 1 else x

    x_pool = x
    if self.GNN is not None:
        x_pool = self.gnn_intra_cluster(x=x, edge_index=edge_index,
                                        edge_weight=edge_weight)

    x_pool_j = x_pool[edge_index[0]]
    x_q = scatter(x_pool_j, edge_index[1], dim=0, reduce='max')
    x_q = self.lin(x_q)[edge_index[1]]

    score = self.att(torch.cat([x_q, x_pool_j], dim=-1)).view(-1)
    score = F.leaky_relu(score, self.negative_slope)
    score = softmax(score, edge_index[1], num_nodes=N)

    # Sample attention coefficients stochastically.
    score = F.dropout(score, p=self.dropout, training=self.training)

    v_j = x[edge_index[0]] * score.view(-1, 1)
    x = scatter(v_j, edge_index[1], dim=0, reduce='add')

    # Cluster selection.
    fitness = self.gnn_score(x, edge_index).sigmoid().view(-1)
    perm = topk(fitness, self.ratio, batch)
    x = x[perm] * fitness[perm].view(-1, 1)
    batch = batch[perm]

    # # Graph coarsening.
    # row, col = edge_index
    # A = SparseTensor(row=row, col=col, value=edge_weight,
    #                  sparse_sizes=(N, N))
    # S = SparseTensor(row=row, col=col, value=score, sparse_sizes=(N, N))
    # S = S[:, perm]
    #
    # A = S.t() @ A @ S
    #
    # if self.add_self_loops:
    #     A = A.fill_diag(1.)
    # else:
    #     A = A.remove_diag()
    #
    # row, col, edge_weight = A.coo()
    # edge_index = torch.stack([row, col], dim=0)

    return x, None, None, batch, perm

def __repr__(self):
    return '{}({}, ratio={})'.format(self.__class__.__name__, self.in_channels, self.ratio)

batch_size = 2
num_node = 300
feat_dim = 256
feature = torch.rand(batch_size, num_node, feat_dim)
boxes = torch.load('ref_boxes.pt')   # (batch_size, num_node, 4) in the format of (x1 y1 x2 y2)
feature = feature.cuda()
boxes = boxes.cuda()
asap = ASAPooling(feat_dim, ratio=0.5)
asap.cuda()
node_batch, edge_index, edge_weight =
convert_object_queries_to_graph(feature.detach(), boxes.detach())
feature = feature.reshape(batch_size * num_node, feat_dim)
feature = asap(feature, edge_index, edge_weight, node_batch)
print(feature.shape)
`
Running this code should reproduce the large memory consumption issue. Note that I only include feed-forward operation, and no backward propagation is computed. Solely this pooling operation takes ~1G memory in my GPU.
Thank you so much.

I cannot access your code snippet.

I am very sorry. Would you please check the following link?
https://1drv.ms/u/s!AufdUnCZDcQBgplN16BqUwlM8wegBg?e=zn9KTn

Thanks for the scripts. You are right that ASAPooling will consume a lot of memory, especially because your graph is really dense. In particular, there exists about 100K edges in two graphs with node size 300 each. ASAPooling will consume attention scores based on an edge representation of shape [100K, 512], which might well explain the high memory consumption.

Thanks for the explanation. That's really helpful!
I could try to make the graph sparser to ~20 edges per node for a graph of 300 nodes. Do you think this is sparse enough for GNNs to work? Considering that Transformers are intricately densely connected GNNs, do you think GNNs can have any advantages compared with Transformers?
Thank you!

The sparsity of your graph will definitely help in obtaining a lower memory footprint. GNNs should be advantageous to Transformers in case when edges have a "real" meaning, e.g., there is a clear semantic differences between connected and disconnected nodes.

That's really insightful! May I respectfully ask do you think my scenario suits this standard, ie, "edges have a "real" meaning, e.g., there is a clear semantic difference between connected and disconnected nodes"?
In my setting, there are multiple boxes referring different locations in an image, and if their IoU > threshold (could be 0, but that would be too dense), there is an edge between two boxes.


Multithreading

Multithreading the rendering code could be very beneficial, and should be looked into at some point.

Not sure if this is really needed for GGEZ at the moment.


SVGs are abnormally large (original size) even with width and height specified

Summary
Since svgs are now displayed (#5869 , MM-40588) - and the mobile app does not appear to adhere to the size limits referenced here: https://docs.mattermost.com/messaging/formatting-text.html#in-line-images , svgs are displayed in their ?original? size. Which in my case is abnormally large.
Environment Information

Device Name: iPhone 12
OS Version: 15.3.1
Mattermost App Version: 1.49.0 (Build 385)
Mattermost Server Version: 5.39.1

Steps to reproduce
Use a large svg with a url provided over the internet, and specify a width or a height in the formatting string. On mobile the image will be ~600 px large (original size), but on desktop it will be the specified size (50px)
![Image](https://upload.wikimedia.org/wikipedia/commons/3/30/Vector-based_example.svg =x50 "Image")
Additionally the example for specifing the width, results in a parsing error (plain text displayed)
![Mattermost](../images/icon-76x76.png =50 "Mattermost Icon")
Expected behavior
Images should have the size specified in the markdown.
Observed behavior (that appears unintentional)
Images are their original size
Possible fixes
Correctly parse the width and height information and use it to scale the svgs.

@esethna can you please open this as Help Wanted?
@Thoro Would you be insterested in providing a fix for it?

@enahum I will try, but can't promise anything - it's blocking my workflow. No doing anything regularly wit react / ios.
Pointers on where to change would be appreciated.

I can reproduce this

Opened a ticket for this here and set to HW: https://mattermost.atlassian.net/browse/MM-42220

I'd be interested in working on this, however I first have to resolve some issues with building before I can.

I have resolved the issues and would like to work on this issue.

Okay, did some research on this. First of all, there are big differences in the rendering of markdown images between iOS and desktop. This syntax works on desktop for adding size information (in this case height=200) to the SVG: ![Image](svg_url =x200 "Image"). However: it doesn't on mobile (that's the bug described in this issue): the image will just render at full size. But there are more differences: for example, ![Image](svg_url =200x "Image") should add the size info (width = 200) to the image, but it render the full size image on iOS whereas the rendering fails on desktop.
To illustrate, the images below should have, respectively, height 50, then 200, then width 200. As you can see, the last image doesn't render, but I believe it should. On mobile, all images work but are full size.
I'm not quite sure what the spec for svg images in Mattermost is here. It seems that both desktop and mobile are wrong. Specifically, is the width syntax (![Image](svg_url =200x "Image")) supported?

There is a PR for this already. It now supports setting the size for example =100and =100x sets a width of 100, =x100 does it for the height and =100x80 would be a width of 100 and height of 80. This is applicable for all markdown images including SVG's
The reason svg where being rendered that big is that they do not have metadata in the post about its size, so if you added an svg with a huge viewport that was being used, now if not size is set, it will use the screen viewport as constraint.
Hope that clarifies and helps.

Ah, hadn't seen the new PR, sorry for that! Thanks for the clarification @enahum, learnt something new :)


Eliminate the need to press ENTER

Be more interactive. We shouldn't need to press [ENTER] in command mode when the intent is obvious.

No. CLI is simplicity.


Uikit theme update

This PR adds the UI Kit theme back. The UI Kit theme has been updated to address bugs in the previous version raised by @aussielunix

You should probably add mkdocs-gov-au-theme to the pip install line in the README

Thanks @tessereth great points.
You're right. I think that we really need to do a second pass of the design on the docs. This is something we will be doing after discovery with @raabsolutely
For now, this first pass fixes the accessibility issues and bring the docs more 'on-brand' with the DTO UI Kit.
CC: @aussielunix


Natural sort (alphanumeric)

It would be nice to have the option to have alphanumeric sorting so items like:
MUSIC 1
MUSIC 2
...
MUSIC 10
Don't show up as
MUSIC 1
MUSIC 10
MUSIC 2

You can always add one more field to the entries in the array and sort on that even though you still display something else. Example:

vm.items = [
    { title: "MUSIC 1", sortKey: "MUSIC001" },
    { title: "MUSIC 10", sortKey: "MUSIC010" }
]

Display title on the page, but sort on sortKey when the user clicks the title-column.

+1 for this issue. Natural sort is a common problem, it would be nice if this could be done by default.

You can use filters in ts-criteria expression for converting values to a sortable representation:


Report TS errors of underlying atom type

added error reporting for overload and other forms of error conditions reported as atoms.

@paegun Do you have a case which triggered this?

@javajolt RTS-1389

:+1: 8636fe2

@borshop merge


Automate credential-offer returns 400 schema already exists error.

Describe the bug
When i run siera automate credential-offer and i scan the QR code i get the following error when the credential is being issued:
[error] 400: Schema full-credential-offer-automation 1.0 already exists
To Reproduce
Steps to reproduce the behavior:

Run siera automate credential-offer
Scan the QR code
Wait for the connection to be setup

Expected behavior
It should send me a credential.
Siera version (run siera --version)
0.1.0
Desktop OS
MacOS Ventura 13.1
Verbose logs
Run your command with the -vvv flag. See siera --help for guidance.

Logs
~
➜ siera automate credential-offer
Scan the QR code to accept the invitation

<QRCODE>

================
Credential offer
================

Created invitation with connection id 84ab4ef5-f705-43ef-a873-41177fa165e8.

Use this URL:

https://didcomm.agent.community.animo.id?c_i=eyJAdHlwZSI6ICJkaWQ6c292OkJ6Q2JzTlloTXJqSGlxWkRUVUFTSGc7c3BlYy9jb25uZWN0aW9ucy8xLjAvaW52aXRhdGlvbiIsICJAaWQiOiAiNTJkNzU1MWMtMzBmNC00Njk1LWE2MDUtZTNhOGQ1MDMxZjY3IiwgImltYWdlVXJsIjogImh0dHBzOi8vaS5pbWd1ci5jb20vZzNhYmNDTy5wbmciLCAibGFiZWwiOiAiQW5pbW8gQ29tbXVuaXR5IEFnZW50IiwgInNlcnZpY2VFbmRwb2ludCI6ICJodHRwczovL2RpZGNvbW0uYWdlbnQuY29tbXVuaXR5LmFuaW1vLmlkIiwgInJlY2lwaWVudEtleXMiOiBbIjZyaUdjNXRSdE5HbUdxek1QU1lSdkxLYXVVMXg2b0pncVF1ZFdlaWZ4VHZFIl19

Waiting for the invitation to be accepted. Timeout is 60 seconds...
Invitation accepted!
Fetching the connection...
[error] 400: Schema full-credential-offer-automation 1.0 already exists

Screenshots, screen recordings

Additional context
Add any other context about the problem here.

The CLI is kinda broken currently. How much work is it to fix this? Can we check whether the schema exists and only create it if it doesn't exist yet?

Yes that should be possible and a good approach


Consideration of adding a LICENSE

Maybe we should consider adding a license to this project, but at the moment of issue's creation, I don't know which one fits the best.

I chose to stick with Apache 2.0 License


fix-finding-extension

6.x: https://github.com/rails/rails/blob/v6.0.3/actionview/lib/action_view/template/resolver.rb#L349-L351
5.x: https://github.com/rails/rails/blob/v<IP_ADDRESS>/actionview/lib/action_view/template/resolver.rb#L368-L374
4.x: https://github.com/rails/rails/blob/v<IP_ADDRESS>/actionview/lib/action_view/template/resolver.rb#L347-L349
Resolver search files and resolve most matched file with symbolized string,
so _default_render_options must return symbolized values.

:wave: Thanks for contributing this! Seems like we need an integration test to check this as the current spec is obviously not enough to catch this, I believe 5.2 does string interpolation so this might be ok for all versions we support but I'm not sure.

I believe 5.2 does string interpolation

oh...
I think it may ok with like this code
render_options[:variants] = [match[:variant], match[:variant].to_sym] if match[:variant]

We still soft-support 4.2, so intentionally breaking it would be irresponsible. Your code seems to be quite ok to support both. Can you please check if your fix works for your project?
May I ask you to add a note to remove stringified parts once we completely drop 4.2?

updated.

some error occurred in travis, but I can't detect what's wrong from error message.

That's weird, I can't reproduce locally, can you by running cucumber features/system_specs/system_specs.feature? Ruby 2.5.1 + Rails 6.0, all green.

all pass on my local machine.
ruby 2.6.6 + rails 6.0.3

The CI error happens in another build too. https://github.com/rspec/rspec-rails/pull/2328#issue-415156360
I am gonna try to look at it, this afternoon.

Ok I don't know how is giving a status 9.  I don't get it. I am in favor of removing this status expectation. IMHO we should care only if the status is 0 or 1 but not something else.

@mvz Do you have an idea for my last comment?
I dig into aruba's code to try to spot why we have a status 9 but didn't find an answer.

Feel free to cherry-pick 1f723f5 from #2332 into your branch which ignores the exit status 9 issue

You can also rebase this off master now

@mvz Do you have an idea for my last comment?
I dig into aruba's code to try to spot why we have a status 9 but didn't find an answer.

If aruba is doing its job properly this means rspec exits with status 9. I'm attempting to reproduce this locally to see if I can debug this.

Rebased on master.

@masarakki Sorry for the trouble with CI.
Are you up to add an integration test somewhere in features/view_specs/view_spec.feature that fails without your change?

@masarakki Sorry for pushing. Will you have a moment to wrap this up?

It is easy to match only right type for rails version, but it is very hard to test it.
We should test which file rendered, not what parameters are.

FYI, this PR is moot as of 3ccd1f.

Should we close this, @masarakki ? Does it resolve your case?

this problem fixed by #2521 .
thanks!


Create SECURITY.md

This PR for Security Policy. You should add more information about supporting version or recent vulnerability update for latest release.

 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.:x: hmwoliul sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.

Hi, @kieferrm is this pull request mergeable?

We have a SECURITY.md file by now: https://github.com/microsoft/vscode/blob/main/SECURITY.md


Support gta3.img from ps2/xbox. (Like re3/vc)

Ability to load converted gta3.img files from ps2/xbox, similar to re3 which supports files from other ports (gta3.img).

Sorry, but how is this in scope for a patch specifically? Platform specific formats are not a defect.

No info, so I'm going to consider it invalid. It's not even a bug.


Provide formal verification input.

@chriseth I've missed one thing. The file naming convention so far was lowercase with dashes.


Help me Please

This is a really indispensable tool for localization in our language. I'm having a hard time building on this. Could you possibly provide me with the built tools?

me too
I want to translate to my native language but I can't compile these programs

This is a really indispensable tool for localization in our language. I'm having a hard time building on this. Could you possibly provide me with the built tools?

Here: https://github.com/luatsenpai/ctw-gxt-tools/releases/tag/ctw


Video: Demo Longitudinal Clinic Study app

Make a video demoing the Longitudinal Clinic Study app! There is a good guided tour documented in these docs that you could work through on video. Do not need to show the install/code/underlying files but do show all the great features
Can do without sound or with audio narration (if with audio narration please check & fix the automatic captioning).
Context: ODK-X has started a youtube channel to share videos of how to do key tasks in ODK-X. Although these tasks are often explained in the documentation, we frequently get requests for videos and some things are easier to learn watching a video than reading documentation. We are working on getting videos in English & Spanish but also welcome contributions in other languages!

Would you please assign it to me.

Hi @sarahelshabrawy! I just assigned one of the other demos to you and it looks like you now have two open issues! We encourage folks to finish an issue rather than take on a third one so that the issues queue is up to date and there are enough easy/good first issues to go around!

may I work on this issue?

@sanyud24 I have assigned this issue to you.

Thankyou , for assigning @wbrunette , I'll be working over it

Hi  ,  let me know if I had to do some changes
Here's the video link:
https://drive.google.com/folderview?id=1nZT_pMJDgjKfxwY-JCKWRi-14LBpOsj5

Hi @sanyud24! Thanks for working on this! A few comments:
-Please go slower at key screens, for example, the first screen where you pick the form to start with, and use highlighting or somehow indicate which you are clicking.
-Please try to demo all of the tablet based content in the demo. While you showed some bits of survey, one of the great things in the demo is about the existing client list and navigating to clients, for example: https://docs.odk-x.org/hope-study-tour-home-locator/
-I would recommend walking through what is already in the docs in the guided tour: https://docs.odk-x.org/hope-study-intro/

Ohkay , sure I'll do it again with more clarity.

Hi , I've covered all the three options from screening to sync data
video link:
https://drive.google.com/file/d/1o8Wws1h96Nf1hXShI0kJkHf9MNun45Lz/view?usp=sharing

@sanyud24 thanks for the revised video! This is much clearer and walks through more features! My one suggestion is if you are able to speed up the syncing part (I think you can do this as a speed up in any video editing app) that would be helpful. Otherwise ready to post to youtube!

Yeah sure I'll do it ✌

Hi , I've done the changes , fast-forwarded syn part to 30 sec
https://drive.google.com/file/d/1os7pvp9inQEoU4ve1aTOOjvvYaA-F7dI/view?usp=sharing

@sanyud24 fabulous thanks so much! I'll upload to the Youtube channel next!

thankyou!! sure 👍


Automate Sentinel Dedication

My attempt to automate the Sentinel Dedication feat. The summary is as follows:
Light Armour

From 1st-12th levels, trained.
From 13th level, equal to the best of:

Trained
Your unarmoured proficiency (maximum of expert)

Medium Armour

From 1st-12th levels, equal to the best of trained and your light armour proficiency.
From 13th level, equal to the best of:

Trained
Your light armour proficiency
Your unarmoured proficiency (maximum of expert)

Heavy Armour

From 1st-12th level, equal to the best of your light and medium armour proficiency, as long as both are at least trained.
From 13th level, equal to the best of below, as long as your light and medium armour proficiency are at least trained:

Your light armour proficiency
Your medium armour proficiency
Your unarmoured proficiency (maximum of expert)

Notes

These rules take place in reverse order, so proficiency granted by this feat cannot be used as a prerequisite for other proficiency granted by this feat. This is the same as the Armour Proficiency feat.
All of these rules have a priority of 41. This is lower priority than upgrades granted by class features, Armour Proficiency, and Champion Dedication. Sentinel Dedication will apply after all of these, even if they are gained later.

Considerations
This solution I've presented is I believe the best and most realistic answer to several possible rulings on how this feat works. There have been several discussions in the past around how this feat interacts with the Armour Proficiency feat, depending on the timings that that feat is taken compared to Sentinel Dedication, as well as the wording around which proficiencies are considered to be "granted by the feat".
Considering the following scenarios:
A wizard takes Armour Proficiency twice, and then Sentinel Dedication
Up to 12th level, it is clear that the wizard is trained in light, medium, and heavy armour, but the question comes when they reach 13th level:

The wizard has expert proficiency in all of light, medium, and heavy armour.
The wizard has trained proficiency in light and medium armour, and expert proficiency in heavy armour.

This solution chooses option 2. The feat states:

You become trained in light armor and medium armor. If you already were trained in light armor and medium armor, you gain training in heavy armor as well.

If you are at least 13th level and you have a class feature that grants you expert proficiency in unarmored defense, you also become an expert in the armor types granted to you by this feat.

Emphasis mine. If you are already trained in both light and medium armour, Sentinel Dedication still grants those proficiencies again, therefore they are included in "amour types granted to you by this feat".
A wizard takes Sentinel Dedication and then Armour Proficiency
Up to 12th level, there are two possibilities:

The wizard is trained in light, medium and heavy armour.
The wizard is trained in light and medium armour.

This then changes slightly at 13th level:

The wizard is expert in light and medium armour, and trained in heavy armour.
The wizard is expert in light and medium armour.

This solution chooses option 2. This is a strange case, and there is certainly an argument for option 1 being preferred, however I believe this is a very rare feat choice and the benefits of the automation outweigh the potential issues caused by this scenario.

Can you separate out any "rulings" talk from your explanation? There are discussions about all sorts of things, but nothing about the text of this feat raises serious doubt over a straight reading. There are difficulties with a faithful implementation, of course, and that's why it hasn't been done yet.

Considerations
This solution I've presented is I believe the best and most realistic answer to several possible rulings on how this feat works. There have been several discussions in the past around how this feat interacts with the Armour Proficiency feat, depending on the timings that that feat is taken compared to Sentinel Dedication, as well as the wording around which proficiencies are considered to be "granted by the feat".
Considering the following scenarios:
A wizard takes Armour Proficiency twice, and then Sentinel Dedication
Up to 12th level, it is clear that the wizard is trained in light, medium, and heavy armour, but the question comes when they reach 13th level:

The wizard has expert proficiency in all of light, medium, and heavy armour.
The wizard has trained proficiency in light and medium armour, and expert proficiency in heavy armour.

This solution chooses option 2. The feat states:

You become trained in light armor and medium armor. If you already were trained in light armor and medium armor, you gain training in heavy armor as well.

If you are at least 13th level and you have a class feature that grants you expert proficiency in unarmored defense, you also become an expert in the armor types granted to you by this feat.

Emphasis mine. If you are already trained in both light and medium armour, Sentinel Dedication still grants those proficiencies again, therefore they are included in "amour types granted to you by this feat".
A wizard takes Sentinel Dedication and then Armour Proficiency
Up to 12th level, there are two possibilities:

The wizard is trained in light, medium and heavy armour.
The wizard is trained in light and medium armour.

This then changes slightly at 13th level:

The wizard is expert in light and medium armour, and trained in heavy armour.
The wizard is expert in light and medium armour.

This solution chooses option 2. This is a strange case, and there is certainly an argument for option 1 being preferred, however I believe this is a very rare feat choice and the benefits of the automation outweigh the potential issues caused by this scenario.

An alternative approach would be to set the priority for all of the rules on Armour Proficiency to 41 as well, and then the effects would apply in the order they're added to the character sheet, but always after class features (even if they're added later).


ONNX/Tensorflor export failure

In nnabla 1.20.0, use nnabla_cli to export nnp to onnx or tensorflow would encounter below error:
  File "~/anaconda3/envs/tfenv/lib/python3.6/site-packages/nnabla/utils/cli/cli.py", line 147, in cli_main
    return_value = args.func(args)
  File "~/anaconda3/envs/tfenv/lib/python3.6/site-packages/nnabla/utils/cli/convert.py", line 109, in convert_command
    nnabla.utils.converter.convert_files(args, args.files, output)
  File "~/anaconda3/envs/tfenv/lib/python3.6/site-packages/nnabla/utils/converter/commands.py", line 306, in convert_files
    return _export_from_nnp(args, nnp, output)
  File "~/anaconda3/envs/tfenv/lib/python3.6/site-packages/nnabla/utils/converter/commands.py", line 168, in _export_from_nnp
    OnnxExporter(nnp, args.batch_size).execute(output)
  File "~/anaconda3/envs/tfenv/lib/python3.6/site-packages/nnabla/utils/converter/onnx/exporter.py", line 3605, in execute
    self.create_graph()
  File "~/anaconda3/envs/tfenv/lib/python3.6/site-packages/nnabla/utils/converter/onnx/exporter.py", line 3538, in create_graph
    nl = self.set_nodes(f)
  File "~/anaconda3/envs/tfenv/lib/python3.6/site-packages/nnabla/utils/converter/onnx/exporter.py", line 3417, in set_nodes
    return op_type(func)
  File "~/anaconda3/envs/tfenv/lib/python3.6/site-packages/nnabla/utils/converter/onnx/exporter.py", line 665, in BaseConvolution
    if new_input_shape != input_shape:
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()

Also, tflite converter needs flatc.
Please install flatc by snap install flatbuffers for Linux environment.

We are currently working on a fixed release, but if you are in a hurry,
Please edit  utils/converter/onnx/exporter.py in the installed nnabla as same as following patch.
https://github.com/sony/nnabla/pull/894/files

Fixed in https://github.com/sony/nnabla/releases/tag/v1.20.1


Fixed syntax error with shebang in rebase-branch kata script

Another bang up job! ( pun intended ).
Thanks!


Offline and errors pattern in Xero integration

Details

Fixed Issues

$ https://github.com/Expensify/App/issues/45406
PROPOSAL:
Tests

Test errors:

Set Simulate failing network in Troubleshooting (you can set MAX_REQUEST_RETRIES to 0 to get errors faster).
Go to Settings -> Workspaces -> your xero workspace -> Accounting.
Go through every page and try changing values.
See that there are RBRs and error messages when request fails.

Offline tests

Go to Settings -> Workspaces -> your xero workspace -> Accounting.
Go through every page and try changing values.
See that changed values are on opacity 50%.

QA Steps

Test errors:

Set Simulate failing network in Troubleshooting (you can set MAX_REQUEST_RETRIES to 0 to get errors faster).
Go to Settings -> Workspaces -> your xero workspace -> Accounting.
Go through every page and try changing values.
See that there are RBRs and error messages when request fails.

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If the PR modifies the UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or modifies the form input styles:

[x] I verified that all the inputs inside a form are aligned with each other.
[x] I added Design label and/or tagged @Expensify/design so the design team can review the changes.

[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.

Screenshots/Videos

Android: Native

https://github.com/user-attachments/assets/80cfe99f-f841-408f-866a-310a8b6fdce6
https://github.com/user-attachments/assets/6b927012-5b8c-4cb3-a34d-f851ed874dbc

Android: mWeb Chrome

iOS: Native

https://github.com/user-attachments/assets/067a9ec2-1c27-4686-b249-a297270fec02
https://github.com/user-attachments/assets/0e8c8c01-cf38-44a0-b7de-b8389e7b700c

iOS: mWeb Safari

https://github.com/user-attachments/assets/e7fbaa9e-c164-4d6c-a05d-d7d727a83702

MacOS: Chrome / Safari

https://github.com/user-attachments/assets/1672945d-443b-4a59-ba57-56ea57359067
https://github.com/user-attachments/assets/f2d72ccf-fe6f-48e0-a312-2f14dae0ee2c

MacOS: Desktop

https://github.com/user-attachments/assets/b04da68d-5898-4759-9cd6-3cc775b5d184
https://github.com/user-attachments/assets/978c4041-7454-4f67-bdee-9ea9f787f77a

TODO: add offline state handling

Reviewer Checklist

[ ] I have verified the author checklist is complete (all boxes are checked off).
[ ] I verified the correct issue is linked in the ### Fixed Issues section above
[ ] I verified testing steps are clear and they cover the changes made in this PR

[ ] I verified the steps for local testing are in the Tests section
[ ] I verified the steps for Staging and/or Production testing are in the QA steps section
[ ] I verified the steps cover any possible failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[ ] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)

[ ] I checked that screenshots or videos are included for tests on all platforms
[ ] I included screenshots or videos for tests on all platforms
[ ] I verified tests pass on all platforms & I tested again on:

[ ] Android: Native
[ ] Android: mWeb Chrome
[ ] iOS: Native
[ ] iOS: mWeb Safari
[ ] MacOS: Chrome / Safari
[ ] MacOS: Desktop

[ ] If there are any errors in the console that are unrelated to this PR, I either fixed them (preferred) or linked to where I reported them in Slack
[ ] I verified proper code patterns were followed (see Reviewing the code)

[ ] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick).
[ ] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[ ] I verified that comments were added to code that is not self explanatory
[ ] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[ ] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method
[ ] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[ ] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
[ ] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[ ] I verified the JSDocs style guidelines (in STYLE.md) were followed

[ ] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[ ] I verified that this PR follows the guidelines as stated in the Review Guidelines
[ ] I verified other components that can be impacted by these changes have been tested, and I retested again (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar have been tested & I retested again)
[ ] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[ ] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[ ] If a new component is created I verified that:

[ ] A similar component doesn't exist in the codebase
[ ] All props are defined accurately and each prop has a /** comment above it */
[ ] The file is named correctly
[ ] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[ ] The only data being stored in the state is data necessary for rendering and nothing else
[ ] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[ ] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[ ] All JSX used for rendering exists in the render method
[ ] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[ ] If any new file was added I verified that:

[ ] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[ ] If a new CSS style is added I verified that:

[ ] A similar style doesn't already exist
[ ] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(theme.componentBG)

[ ] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[ ] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[ ] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[ ] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[ ] If the PR modifies the UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or modifies the form input styles:

[ ] I verified that all the inputs inside a form are aligned with each other.
[ ] I added Design label and/or tagged @Expensify/design so the design team can review the changes.

[ ] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[ ] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[ ] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

Screenshots/Videos

Android: Native

Android: mWeb Chrome

iOS: Native

iOS: mWeb Safari

MacOS: Chrome / Safari

MacOS: Desktop

@filip-solecki Found one issue with the offline pattern while testing, in short: if options are toggled with Simulate failing network then the errors are cleared, if we then Force offline, upon returning to the Xero accounting we can notice the previously failed and error cleared options are now all grayed-out as if they were toggled while offline.
This only happens when we Simulate failing network first on specific sections of the Xero accounting, then we clear the errors and then go offline - is behaving as if changes were made while offline even if that didn't happen, so this might have something to do with the offline check for the Xero accounting options after failing requests / clearing errors.
Here's the video:
https://github.com/user-attachments/assets/47cbbef0-1542-4cc9-bc52-1d4e0e316047

Other than this it looks good, I'll move on with the checklist. Please solve the conflicts when you get a change, thank you!

[!note]
✅ Completed PR reviewer checklist.
⚠ Will do a final check up and Approve once conflicts and issue described in #45493 (comment) are resolved.

@ikevin127 thanks for noticing! I think the issue is with how we set the errors.
In the updatePolicyConnectionConfig function we set both pendingFields and errorFields on failure to some values.
Maybe we should just set errorFields on failure and clear pendingFields 🤔 That should solve the issue. But it was done this way previously and I assumed it was correct.

@ikevin127 I wonder if we should merge this PR on its own or wait for other PRs (qbo, sage intacct and net suite) because changes in updatePolicyConnectionConfig can affect other integrations.
Maybe we should copy the mentioned function (with changes), use it in changed integrations and leave updatePolicyConnectionConfig untouched?
Please share your thoughts 🙏

cc @yuwenmemon

@ikevin127 If you could please answer this question 🙏

Maybe we should copy the mentioned function (with changes), use it in changed integrations and leave updatePolicyConnectionConfig untouched?

@war-in I think it's safer to simply copy and change existing function since I notice that updatePolicyConnectionConfig it's used in quite a few places which we don't know how would be affected if we change the existing function.
If you have more context on the usage of current updatePolicyConnectionConfig and know / can easily verify that it won't introduce regressions if changed to fix the error / offline pattern issue, then feel free to change the existing one - otherwise I'd take the safer route mentioned above.
Maybe @yuwenmemon can chime in here as well before we move forward with a final decision.

it's used in quite a few places

@ikevin127 It's used in QBO and Xero integrations afaik. I adjusted usages in Xero but it'll affect QBO for sure (errors will be broken). So it's safer to copy the logic for now and unify it once we update the QBO integration.

@ikevin127 I copied the function and left the old one untouched 👍
@yuwenmemon It's ready for an internal review 🚀

I'm fine with reconciling later across all integration to ensure consistency :+1:

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Deployed to staging by https://github.com/yuwenmemon in version: 9.0.13-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/luacmartins in version: 9.0.13-4 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
failure ❌


CVE-2021-3807: Inefficient Regular Expression Complexity in chalk/ansi-regex

Inefficient Regular Expression Complexity in chalk/ansi-regex
ansi-regex is vulnerable to Inefficient Regular Expression Complexity
https://github.com/advisories/GHSA-93q8-gq69-wqmw
<EMAIL_ADDRESS>requires<EMAIL_ADDRESS>via a transitive dependency on<EMAIL_ADDRESS>Need to update dependencies to non-vulnerable versions to resolve.  This is triggering dependabot alerts on my repo due to including this project.

bump?

@fredkilbourn based on package info https://github.com/discordjs/voice/blob/main/package-lock.json#L14275
the dep, which had issue may patched that already. this is no longer a valid issue. Thank you.

Actually yes it seems to be coming from a transitive dependency through prism-media to https://github.com/discordjs/opus and beyond.  I'll close this one here and try and go deeper to where it can be fixed.


RT is put out to pasture

For all release branches.  Will be careful cherry-picking to avoid clobbering the version ID info.

pushed to all release branches, thanks.  enjoy the pasture, RT, and its tasty grass :)


ci: integrate commitizen with commitlint

use the commitlint config as the template for commitzen. try it and tell me what you think - it's different..not sure i like it
why:

chore isn't a valid scope even though commitizen tells you it is
tab completion for package names

closing. i don't like the way the prompt works 😢 and nobody else has a strong opinion


VHOST: Prompt users to restart app for debugging

When a VHOST fails to provision, it can be attempted again by running an
aptible restart (or re-deploying the app). Since there's a user behind
the screen in those cases, it's an occasion for us to show debugging
output and explain what went wrong.
As of https://github.com/aptible/sweetness/pull/648, we'll start doing
so for VHOSTs, by explaining the most common error case, i.e. the
container does not EXPOSE any ports. This patch updates the VHOST error
message accordingly and invites users to retry via a restart rather than
contact support directly (which should help resolve their issue faster).

cc @fancyremarker  @blakepettersson @sandersonet

Looks like this in the UI:

💯 , this will be very helfpul.


Max Snapshot Line Length

🚀 Feature Proposal
A way to globally configure a max line length for failing a snapshot. A local override should be possible. Similar to setting global timeout and overriding per test case.
Motivation
Snapshots are great for testing results against previous results. Snapshots should be reviewable by humans so when they need to change people understand why. Large snapshots often capture more than what you want to assert on. To prevent this, reducing the object you want to snapshot (or selecting a smaller part of a react tree) should be encouraged in order to reduce noise and boost signal.
Example
jest.MaxSnapshotLines = 10;
expect(bigTree).toMatchSnapShot(); // throws
// second argument
expect(bigTree).toMacthSnapshot(null, 50); // passes
Pitch
It might not belong directly in jest. There is a rule in eslint-config-jest for it already but linting snapshot files feel wrong and can be confusing for developers since they don't tend to directly look at them.

second argument is used for property matchers already, so I'm not sure if this is feasible.
Why do you think the eslint rule is confusing?

Unless you add eslint as a jest runner then you're linting at a different time than testing so it would take a separate run of the linter to detect this after you've updated your tests. In this case you would likely get feedback quicker if the configuration lived in jest.

👋
That's a good point. Having a commit hook that runs lint might help (so you at least discover before committing/pushing), but it's still at a different time.
However, we don't enforce any other "best practices" in Jest, seems like a slippery slope to add support for it for snapshots? Maybe not. But I don't think we have any limiting options to other matchers. E.g. for a strict toEqual we added toStrictEqual rather than toEqual(expected, {strict: true}).

You could build your own toMatchSnapshotWithMaxLines() matcher and add it to jest-extended (or publish separately)? Kinda sorta like https://github.com/satya164/jest-file-snapshot (https://github.com/facebook/jest/issues/6383#issuecomment-425724307).

@SimenB @palmerj3 Thanks for the guidance!
I ended up creating a custom snapshot serializer that adds a warning to the top of a large snapshot. Let me know if it's worth adding to the jest-community.
https://github.com/jomaxx/jest-large-snapshot-warning

You can add it to awesome-jest :).
Closing this then


pyhtonic quibbles

This is not important at all but this chunk of code felt strange to me. strip won't ever throw a value error.
This checklist is used to make sure that common guidelines for a pull request are followed.

For new extensions:

[ ] My extension description/summary conforms to the Extension Summary Guidelines.

About Extension Publish
There is a pipeline to automatically build, upload and publish extension wheels.
Once your PR is merged into master branch, a new PR will be created to update src/index.json automatically.
The precondition is to put your code inside this repo and upgrade the version in the PR but do not modify src/index.json.

AKS

Dangerous default value [] as argument (dangerous-default-value)

hi @paulgmiller @arrownj what's status of the PR? is it still valid?

hi @paulgmiller  are you still on this PR? will you update it? Or is it ok to close it for now?

hi @paulgmiller I'll close the PR for now, feel free to create new PR when ready. thanks :)


Remove "skipped" attribute from being added to testsuites element.

Fixes XSD compatibility issue (specifically for xUnit plugin on Jenkins)

Link to the XSD used by Jenkins/xUnit: https://svn.jenkins-ci.org/trunk/hudson/dtkit/dtkit-format/dtkit-junit-model/src/main/resources/com/thalesgroup/dtkit/junit/model/xsd/junit-7.xsd


Unexpected token (JSX syntax)

I tried running the example script and I'm getting this error:
SyntaxError: C:/.. ../routing.jsx: Unexpected token

Running the script using:
node sitemap-builder.js
And im requiring 'babel-register' as instructed.
Would appreciate the help!

@frg Hi! What version Node.JS you using?
Check whether all the necessary dependencies installed:
react
react-router,
babel-preset-es2015
babel-preset-react

Didn't but after installing I'm getting the same issue.
My package.json looks something like this:
 ... "dependencies": {     "react": "^0.13.3",     "react-router": "^0.13.3",     "react-router-sitemap": "^1.0.7"   },   "devDependencies": {     "babel-preset-es2015": "^6.9.0",     "babel-preset-react": "^6.5.0",     "babel-register": "^6.9.0",     "babel-core": "^5.8.38",     "babel-loader": "^5.4.0",     "express": "^4.13.4",     "http-proxy": "^1.13.2",     "jsx-loader": "^0.13.2",     "webpack": "^1.12.14",     "webpack-dev-server": "^1.14.1"   }

@frg I assume that you are using the old version of the package. You can update them to those used in my package?

@frg problem is resolved?

Yep, resolved. Even though this is a fast and simple solution I ended up creating a project of my own using PhantomJS to create a comprehensive sitemap. Even though my site defines ~8 routes I've got over 7200 url variations! Anyway, still a great job! Thanks @kuflash :)


Update packages

Hello team,
this is a PR to update some of the packages, as currently gulp results in some issues regarding vulnerable dependencies.
Best Regards
Thiemo

https://overreacted.io/npm-audit-broken-by-design/


Symlink python packages

Fix #218
When using colcon build --symlink-install, install the packages with symlinks instead of using hooks to extend PYTHONPATH.

Codecov Report

Merging #223 into master will increase coverage by 0.85%.
The diff coverage is 0%.

@@            Coverage Diff             @@
##           master     #223      +/-   ##
==========================================
+ Coverage   77.23%   78.08%   +0.85%
==========================================
  Files          54       54
  Lines        3119     3085      -34
  Branches      512      508       -4
==========================================
  Hits         2409     2409
+ Misses        683      649      -34
  Partials       27       27

Impacted Files
Coverage Δ

colcon_core/task/python/build.py
0% <0%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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

With #219 merged please rebase this one.

Thanks for fixing the test failure. This PR is not functionally correct yet, so don't worry about its test status. I should probably add a test PR to accompany this enhancement too.

State of this PR:

Packages now get their modules symlinked in instead of added via PYTHONPATH. This has the gigantic advantage that if two packages have identically named modules, you'll get a warning in symlink mode.
Packages now log their installed files to install.log, like pip install.
All tests are passing.

Things I don't love:

I've reimplemented some of the logic of setup.py develop. This is less than ideal.
This PR is a bit heavier than I had intended.
I have too many PRs out. This should be on hold until that backlog comes down.

@rotu Friendly ping to see if you are still interested in this?

Definitely still interested in seeing this done. But I haven't had the cycles to see it through yet. You can close this PR if you like

I was just checking - it can stay open if you want to pick it up again at some point.

Superseded by #592