lib: fixed exit codes

fixes #174
A number of places exited with a faulty code when really nothing went wrong. This should fix that.
I'm a tiny bit uncertain on the two in lib/tessel/deploy.js, would be cool if someone could review :sunglasses:

LGTM, but @johnnyman727 should have a look.
Someone should do a follow up commit with tests that use spies to check the exit codes.

This looks good to me as well. @LinusU do you want to write the unit tests (see /test/unit/ for examples) as @rwaldron points out or do you want me to write them?

Also, just as a note on process, we've usually been having at least one other team member sign off and then the original PR author merges, so merge when you feel comfortable.

I can write them, should that be a separate pull request? In that case I'll merge this one now.

@LinusU ideally in the same PR (this one)

@LinusU ping me in #reviews when ready

@rwaldron Sorry, I've been a bit busy this week. Thank you for fixing the tests :+1:


Add support for file-based clusters.

Turbine 1.x supports this natively, and we should, too.  For people that simply want a shinier Hystrix, this could be a nice drop-in if it supported the file-based configuration.

Fixed in #7.


M1 MacBook Pro shows can't find gem video_transcoding

Sorry if this is a duplicate request. I'm just so lost. Just when I thought everything was OK - M1 MacBook Pro shows "can't find gem video_transcoding". I thought I had migrated homebrew successfully, but ruby must be more complicated, or I'm just not able to solve the problem.
$which transcode-video
/usr/local/bin/transcode-video
$/opt/homebrew/bin/transcode-video
zsh: no such file or directory: /opt/homebrew/bin/transcode-video
$/usr/local/bin/transcode-video
/Library/Ruby/Site/2.6.0/rubygems.rb:265:in find_spec_for_exe': can't find gem video_transcoding (>= 0.a) with executable transcode-video (Gem::GemNotFoundException) 	from /Library/Ruby/Site/2.6.0/rubygems.rb:284:in activate_bin_path'
from /usr/local/bin/transcode-video:23:in `'
Is there a simple fix I've missed?
Any fix I've missed?
Thanks.

@loshlee I'm sorry you're having this problem. It appears your $PATH environment variable does not include the path to your Gems.
How did you originally install the video_trancoding Gem? And how did you install Ruby itself?

Thanks. I used Rob Griffith's instructions. https://robservatory.com/detailed-instructions-for-installing-the-transcode-video-tools/

@loshlee OK, apparently you've used sudo to install the Gem so transcode-video should be somewhere in your system library path. But instead, transcode-video or a "stub" for it is inside your /usr/local directory. So, you must have used a different method to install it sometime in the past.
My advice to manually remove all versions of the tools and other files included in the video_transcoding Gem no matter where they might be on your system. And then try to install them again.

Do you have the list of what to look for and where?

(gem install video_transcoding
Fetching video_transcoding-0.25.3.gem
ERROR:  While executing gem ... (Gem::FilePermissionError))

"You don't have write permissions for the /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/gems/2.6.0 directory."
That would appear to be a conflict with the double system disk method of Catalina and up. How would I give that the necessary permissions?

@loshlee Right. You can't install in the system library that way. You need to:
sudo gem install video_transcoding

See the sudo prefix?
Did you remove all previously installed versions first?

I'm trying to find them. Would it be anything with "ruby" or "gem" in the path? Thanks.

That's not quite what I meant, sorry. Would it be all files nested in folders named "ruby", "gem", and "ruby.framework"? Others? Thanks.

I don't mind deleting other needed files, I can do an overlay system install, if needed.

@loshlee You can try this to remove the version in the system, if it's there:
sudo gem uninstall video_transcoding

As for other versions, I'm not sure where they might be installed.  Remember, if you use sudo to install as the guide you linked to recommended, then you need to use sudo when you update. Or it's kinda random where they'll go.

If you were on anything other than a super fast M1, I wouldn't suggest this, but you can search your entire system for "transcode", which I assume will only be found in files related to Don's script.
find / -name "*transcode*" 2>/dev/null
The 2>/dev/null is to silence all the "Permission denied" sections of the system that your user isn't allowed to look into.
Oh, and you should make sure you don't have any network shares mounted before you run that.

Thanks.
"sudo find -x /" should take care of that.

@loshlee Remember that you're not just looking for stray versions of transcode-video. The video_transcoding Gem also contains the convert-video, detect-crop and query-handbrake-log tools.

Went with
sudo find /opt -name "*transcode*" -print -exec open -R {} ';';sudo find /usr -name "*transcode*" -print -exec open -R {} ';';sudo find /Library -name "*transcode*" -print -exec open -R {} ';'

Anything need to be removed that's nested in folders other than "/opt", "/usr", or "/Library"? I'm assuming I don't need to worry about anything with "ffmpeg" or "commandlinetools" in its path, right?

Perhaps this isn't the most constructive approach.
It might be worth while to first determine if there's an issue with your system running transcode-video in the first place.
Can you save the Ruby script to your home directory, and attempt to run it directly?
For example:
wget https://raw.githubusercontent.com/donmelton/video_transcoding/master/bin/transcode-video
chmod a+x transcode-video
./transcode-video

On a side note, I notice that you've opened this issue in the other_video_transcoding repository, but seem to be referring to the video_transcoding tool. Is there a particular reason you're wanting to use the older video_transcoding tool instead of other_video_transcoding?

Dyslexia?

My point, I suppose, is that trying to troubleshoot an issue with an older tool (video_transcoding) that is no longer in active development on a system that is brand new might not be the most useful approach if other_video_transcoding is a tool that meets your needs. I realize that folks might have good reasons to want to use video_transcoding, which is why I asked. :)
Most of us have significantly more expertise with other_video_transcoding, especially on newer hardware and operating systems.

Thanks. Yes, I think I'm talking about other_video_transcoding, I'm not sure I really ever made the distinction. I may be confused by the fact that I use an executable called transcode-video and I'm far more occupied with the options for that executable than I am for the configurations needed to implement it.
I think I've removed what I need to remove, but I'm left with the condition that:
sudo gem install video_transcoding
yields
ERROR:  While executing gem ... (Gem::FilePermissionError)
    You don't have write permissions for the /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/gems/2.6.0 directory.

Which tool does called the transcode-video executable belong to, other_video_transcoding or video_transcoding? I think it's other_video_transcoding, right? I guess my issue just has the wrong title. I know Don tweeted recently that he had released version 10. I installed that, and it was working fine until my 16 in. MacBook Pro arrived, then a few days later Homebrew was updated to recognize the difference between x86 and ARM. I've been trying to acclimate to those changes, and it's proving to be quite a strain on my capabilities. I'll try pretty much anything, I don't know why the gem installer would bother to tell me I can't write to a /System subfolder when everyone know nothing inside that has been writeable since Catalina.

I'm sorry, I confused everybody. It may be dyslexia. The gem command that is actually failing (with the same error) is:
sudo gem install other_video_transcoding

So, forgetting about gem install for a moment, can you run other-transcode just as a standalone script?
wget https://raw.githubusercontent.com/donmelton/other_video_transcoding/master/bin/other-transcode
chmod a+x other-transcode
./other-transcode

@loshlee You had that backwards in your previous comment. Just to be clear...
The video_transcoding Gem contains transcode-video, convert-video, detect-crop and query-handbrake-log. These tools are built around HandBrakeCLI. However, @ttyS0 mentioned, this Gem is no longer in active development. In fact, I haven't updated it in years. I no longer recommend using it.
The other_video_transcoding Gem contains other-transcode and ask-ffmpeg-log. These tools are built around ffmpeg. This Gem is maintained and updated regularly. This is the Gem you should be using.

@loshlee The always helpful @ttyS0 is correct. You can install other-transcode without actually installing the Gem. That's because other-transcode is actually contained in a single file.

Thanks. I want to use transcode-video (my question above was "Which tool does the transcode-video executable belong to", so that's the most recent point at which I checked my executable's file name to be sure.) I've read elsewhere that "brew install ruby" provides an answer, but that's not the case for me. The "ERROR" tells me that I can't write to 2.6.0 inside the gems folder, all of which is nested inside /System. The question would seem to be why not the later ruby gems installed under homebrew instead of the old one nested in /System. That's why I think it's related to the change implemented by the most recent Homebrew. Still looking for the answer. Thanks for your help.

@loshlee I'm sorry we weren't able to help more. But we really can't inspect your system to diagnose your Ruby installation. Since this question really has to do with a tool in a different project, I'll close this now. I hope you're able to solve this on your own.

Here may or may not be progress:
/opt/homebrew/Cellar/ruby/3.0.3/bin/gem install other_video_transcoding
Fetching other_video_transcoding-0.10.0.gem
Successfully installed other_video_transcoding-0.10.0
Parsing documentation for other_video_transcoding-0.10.0
Installing ri documentation for other_video_transcoding-0.10.0
Done installing documentation for other_video_transcoding after 0 seconds
1 gem installed

zsh doesn't allow me to run transcode-video, so my path probably doesn't include its containing folder. Now I need to find where it's installed and whether the installation is viable. I'll start by searching for the transcode-video executable.

Yeah, I still don't have it straight. Where does the transcode-video executable come from? Is it the other-transcode package, or the other_video_transcoding gem, or something else?

Dyslexia cured for now. My only remaining question: Any idea why I have to use the absolute path to the gems (/opt/homebrew/Cellar/ruby/3.0.3/bin/gem install) rather than the designated path (gem install)? That works with either video_transcoding or other_video_transcoding. Thanks.


Move apps from HockeyApp to App Center

The Stage 2 of the HockeyApp Transition will enable to move apps from HockeyApp to App Center. It will remove the synchronization with HockeyApp, and give full control of the app in App Center.
Moving an app starts with a check indicating potential incompatibilities.

Afterwards we inform about what data exactly is being moved from HockeyApp to App Center.

Hello,
Really cool, we are looking forward to this.
From what I read it was initially planned for end of march.
Any idea when it will be available? End of this iteration (== end of April) ?
Thanks!

What's the current ETA on this one?

The internal testing period was longer than initially expected but we're confident to open it to a limited audience this week before enabling it to anyone.

Any update on when this is available? We're in a frustrating position where we want to move over to AppCenter due to things like HockeySDK not being maintained and blocking our move to Swift 5 (see https://github.com/bitstadium/HockeySDK-iOS/issues/548) All the support docs mention this move from HockeyApp to AppCenter button but I can't find it anywhere.

@nickfrollo it's currently in closed beta. I can include you, either shoot me a DM on Twitter or reach out in support on App Center (the blue button) and ping me here so I can find the conversation.

@derpixeldan Thanks, I've contacted you through AppCenter!

Hey @derpixeldan, I sent a message via Twitter.  Let me know if it's possible to get into the beta as well.  Thanks!

@derpixeldan I contacted you on twitter as well. Looking forward to testing this 🚀

Is there an update on when it will be available to everyone?

Update: During the closed beta, we've been moving apps successfully for a few weeks now. We're still monitoring each request independently. That way we've discovered a few smaller issues related to the validation mechanism. Those aren't a real problem for as long as we can manually step in. However, we're working on resolving the issues and improve the overall performance. We can't set a definitive ETA but it will be a few more weeks.

@derpixeldan Thanks for the update!

@derpixeldan any updates on this?  And could I get in on the beta?  Thanks!

@derpixeldan any ETA on when it might be ready for the public?

Update: We're pretty close, last missing piece is about GDPR compliance, which we're already working on.

@derpixeldan do you have any update or ETA on this?

Am I right that this is a blocker for anyone wanting to migrate?  If so, it might be worth it actually highlighting this somewhere on am more visible page. I'm just bumping into this accidentally because I was browsing through the roadmap.
Also makes me wonder if there are more blockers which we have to wait for before we can actually move

The option to move apps from HockeyApp to App Center is generally available now ⛴

@derpixeldan  This does not appear for me. I am an Admin for a "HockeyApp organization". Would the issue possibly be due to that? I can't find any way to move an app to App Center still.

The option to move apps from HockeyApp to App Center is generally available now ⛴

@derpixeldan We are not seeing the 'Move Apps' option either.  I've created a new organization in App Center, but looking at 'Overview' for any of our HockeyApp apps, I do not see of the options listed at the beginning of this ticket.

@derpixeldan I saw the option to move apps briefly yesterday, but it seems to be gone today. Was this rolled back for some reason?

@derpixeldan Could you confirm please whether GDPR compliance step is also resolved?

@derpixeldan I saw the option to move apps briefly yesterday, but it seems to be gone today.  It wasn't a big deal and we limited the audience while fixing the issue. Long story short the fix influences the states in the UI and we're working on resolving that last piece before opening the gates again.
@msifniotis-bbc yes!

It's back for everyone.

I am having an issue where I click on the "Move this app" button but absolutely nothing happens in the UI. I am communicating with support but that have been unable to tell me anything, besides "try it again". Is there a bug in this feature?

@nfox513 it's working. Can you please mention this thread in support and ask for escalation?

I can't figure out how to specify the beta version of my app as beta. It doesn't seem like AppCenter makes any distinction between a live version and a beta version of an app. Also, there is no tool like Hockey App to upload an archive once it has been created.


WIP - Validate shielded coinbase

TODO

[ ] Replace Either with a custom type
[ ] Check we've implemented all the ZIP-213 rules
[ ] Add tests
[ ] Merge

Motivation
Shielded coinbase are available after Heartwood NU. Consensus rules for this are described at ZIP-213
Solution
Implement shielded_coinbase() function to the subsidy::general that makes rules validation.
Related Issues

https://github.com/ZcashFoundation/zebra/issues/608

https://github.com/ZcashFoundation/zebra/pull/1129

We decided to close this draft PR, and re-open it when we start working on ticket #608 again.


[PE-D][Tester A] Help command user guide

Not the same as the one on the UserGuide:

Labels: severity.Low type.DocumentationBug
original: KinTatHo/ped#1

Same as #98


iOS requestPresent doesn't hide other DOM elements

When going to fullscreen mode on android calling requestPresent, all other DOM elements on the screen disappear since the canvas is fullscreen. But on iOS where we can't fullscreen, other DOM elements aren't hidden.
Is this the intention? it doesn't seem very practical since it results in different experiences on Android and iOS.

Like you said we don't have full screen in iOS so the results are different
anyway.
You can hide the DOM elements if you'd like. Just subscribe to the vr event
that fires when you change modes.
On Wed, Nov 9, 2016 at 10:35 AM Jonas Jongejan<EMAIL_ADDRESS>wrote:

When going to fullscreen mode on android calling requestPresent, all other
DOM elements on the screen disappear since the canvas is fullscreen. But on
iOS where we can't fullscreen, other DOM elements aren't hidden.
Is this the intention? it doesn't seem very practical since it results in
different experiences on Android and iOS.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/googlevr/webvr-polyfill/issues/172, or mute the
thread
https://github.com/notifications/unsubscribe-auth/AAQ8gL5KxW18J16xywvwB4pLzh1DFuOGks5q8hJdgaJpZM4Kt2BL
.

What Boris said, I think it's out of scope to polyfill a fullscreen implementation for iOS in this case, but responding to window.addEventListener('vrdisplaypresentchange', () => hideUI()) should work in this case


Call recorder

Hello!
Could you please advise me - is it possible to add call recording to this app (i mean if i fork it with minimal clang knowledges) ?
I guess you as a owner of audio recorder should be able to estimate resources and human-hours required for this task execution, is it even possible?
Would be very helpful, if you can find few minutes to answer.
Best regards,

Not with AVFoundation or Core Audio.
Here's an older answer that uses Core Telephony
https://stackoverflow.com/questions/1809347/how-can-i-record-a-conversation-phone-call-on-ios

@genedelisa Thank you very much for quick response!


Updated PowerShell Script

The newer versions of the AzureRm modules do not support Find-AzureRmResourceGroup.  Switching to Get-AzureRmResource has issues with blank SKU and PLAN on some objects.  This code worked for me, although it was very slow.
$group = Get-AzureRmResourceGroup -Name "ExampleGroup"
$resources = Get-AzureRmResource -ResourceGroupName $group.ResourceGroupName
foreach($r in $resources)
{
try{
Set-AzureRmResource -Tags ($a=if($r.Tags -eq $NULL) { @{}} else {$r.Tags}) -ResourceId $r.ResourceId -Force -UsePatchSemantics
}
catch{
Write-Host  $r.ResourceId + "can't be updated"
}
}

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

ID: 47f4669f-11f3-89ad-3cff-2d0085b8444d
Version Independent ID: d734d214-cdba-4de6-e1f1-29bfdc684ff7
Content: Azure Policy json sample - Billing tags policy initiative
Content Source: articles/azure-policy/scripts/billing-tags-policy-init.md
Service: azure-policy
GitHub Login: @DCtheGeek
Microsoft Alias: dacoulte

I spent 3 hours today trying to figure out why Find-AzureRmResource wouldn't work.  It's odd that I can Find-AzureRm and it finds it, but when you execute it, it says the cmdlet can't be found.  This may be something that needs fixed in the Azure Powershell modules since the manifests still have references to Find-AzureRmResource.

"It's odd that I can Find-AzureRm tab ..." is what it should say above.  I used brackets and I guess the posting system stripped out my bracket.

@jasonfare Thanks for your feedback. After reviewing, we've determined the best place to share your valuable feedback is directly with the Azure Policy Group via UserVoice.
This will ensure that your feedback is received and responded to by the appropriate feature owner(s)

@jasonfare We will now close this issue. If there are further questions regarding this matter, please reopen it and we will gladly continue the discussion.

@femsulu Can you please tag me on this as assigned and also change the label to doc-bug since this was indeed an issue with the article.  Thanks!
@jasonfare Thanks again for the feedback and working code update!


refactor(parser): parse BigInt lazily

refactor(parser): parse BigInt lazily
This PR partially fixes #1803 and is part of #1800.
The BigInt value is now boxed, so it can be dropped along with the AST.
It is also removed from the Token value, so that the token size can be
reduced once we removed all the variants.
refactor(parser): remove TokenValue::RegExp from Token
This PR is part of #1880.
Token size is reduced from 48 to 40 bytes.
To reconstruct the regex pattern and flags within the parser , the regex string is
re-parsed from the end by reading all valid flags.
In order to make things work nicely, the lexer will no longer recover
from a invalid regex.

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

Current dependencies on/for this PR:

main

PR #1924

PR #1926   👈

This stack of pull requests is managed by Graphite.

It looks like this change breaks some cases.


createFileSystemWatcher doesn't trigger on Remote-SSH Linux on sub-directories

Issue Type: Bug
I created a file system watcher thanks to the createFileSystemWatcher provided by the API :
const pattern = new vscode.RelativePattern(vscode.workspace.workspaceFolders?.[0], "**/Config/*.ini")
	var watcher = vscode.workspace.createFileSystemWatcher(pattern);
	watcher.onDidChange(e => {
		console.log(e)
	});

It works on Windows (Local), Remote-SSH on Windows Server but it doesn't work on Remote-SSH Linux.
Another thing : it works at root level
const pattern = new vscode.RelativePattern(vscode.workspace.workspaceFolders?.[0], "**/*.ini")
	var watcher = vscode.workspace.createFileSystemWatcher(pattern);
	watcher.onDidChange(e => {
		console.log(e)
	});

Any idea ?
Thans in advance !
VS Code version: Code - Insiders 1.65.0-insider (32456dc9e7d3194a94dd3ee0322ccf47e461d09c, 2022-02-23T05:16:22.798Z)
OS version: Windows_NT x64 10.0.22000
Restricted Mode: No
Remote OS version: Linux x64 3.10.0-1160.59.1.el7.x86_64

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-10850H CPU @ 2.70GHz (12 x 2712)

GPU Status
2d_canvas: enabledcanvas_oop_rasterization: disabled_offgpu_compositing: enabledmultiple_raster_threads: enabled_onoop_rasterization: enabledopengl: enabled_onrasterization: enabledraw_draw: disabled_off_okskia_renderer: enabled_onvideo_decode: enabledvulkan: disabled_offwebgl: enabledwebgl2: enabled

Load (avg)
undefined

Memory (System)
15.61GB (3.48GB free)

Process Argv
--crash-reporter-id 6f81bbc9-a04c-423e-8d06-d48f3ff30e44

Screen Reader
no

VM
0%

Item
Value

Remote
SSH: **********.com

OS
Linux x64 3.10.0-1160.59.1.el7.x86_64

CPUs
Intel(R) Xeon(R) Gold 6226R CPU @ 2.90GHz (12 x 2900)

Memory (System)
15.49GB (1.23GB free)

VM
100%

Extensions (10)

Extension
Author (truncated)
Version

vscode-dashboard
kru
2.5.1

remote-ssh
ms-
0.77.2022031115

remote-ssh-edit
ms-
0.77.2022032415

vscct
Ade
0.0.37

vscode-intelephense-client
bme
1.8.2

githistory
don
0.6.19

data-workspace-vscode
ms-
0.1.1

mssql
ms-
1.13.0

sql-database-projects-vscode
ms-
0.14.1

php-debug
xde
1.25.0

A/B Experiments
vsliv695:30137379
vsins829:30139715
vsliv368:30146709
vsreu685:30147344
python383cf:30185419
vspor879:30202332
vspor708:30202333
vspor363:30204092
vstes627:30244334
pythonvspyl392:30422396
pythontb:30258533
vsc_aacf:30263846
pythonptprofiler:30281269
vshan820:30294714
pythondataviewer:30285072
vscod805cf:30301675
pythonvspyt200:30323110
bridge0708:30335490
bridge0723:30353136
vsaa593cf:30376535
pythonvs932:30404738
wslgetstarted:30449409
vsclayoutctrc:30405799
pythonvspyt640:30438691
vscscmwlcmc:30428972
pynewfile477:30451556

This issue could originate from a problem with file watching. Let me explain how file watching works in VSCode first and then provide some details how to get more logging data from how file watching behaves in your case.
Synopsis
VSCode has different strategies for file watching depending on your workspace and setup:

no folder opened: files in opened editors are watched via node.js fs.watch
folder opened: folder is watched recursively for all changes via parcel, opened editors with files not within the folder are watched via node.js fs.watch

If you are connected to a remote (SSH, WSL, Docker), the file watcher will run within the target file system. As such, even though you maybe on Windows where VSCode runs, if the remote is Linux, the file watcher will run in the Linux environment.
Platforms
Depending on the platform you are on, file watching is differently implemented:

macOS: using fsevents services
Windows: using ReadDirectoryChangesW method
Linux: using inotify

Specifically on Linux, watching a large folder recursively can result in VSCode consuming too many file handles. If that is the case, you will see a warning notification with instructions how to solve that.
Limitations
File watching comes with a set of limitations:

symbolic links are not followed automatically but you can explicitly add symbolic links to be watched via the files.watcherInclude setting
mapped network drives or third party file system drivers are not guaranteed to produce file events
in general, the operating system may decide to drop file events at any time, there is no 100% guarantee

Settings
Please review your settings to see if maybe a folder is excluded by accident. Specifically, the files.watcherExclude setting is relevant.
Logging (local)
!!! This is ONLY when you open a local workspace, for remote see below !!!
We provide logging for file events when you enable verbose logging. Steps are:

open VSCode on the local workspace that shows the issue
select View | Command Palette...
select Developer - Set Log Level...
pick Trace
select Help | Toggle Developer Tools
select Console
filter the output by typing File Watcher into the filter box
attach the output when doing the operation that exhibits the issue

Logging (remote)
!!! This is ONLY when you open a remote workspace (WSL, Docker, SSH), for local see above !!!
We provide logging for file events when you enable verbose logging. Steps are:

open VSCode on the remote workspace that shows the issue
select View | Command Palette...
select Developer - Set Log Level...
pick Trace
select View | Output
select Log (Remote Server) from the dropdown
attach the output when doing the operation that exhibits the issue

Hi @bpasero,
Thanks for the explanation, it is very clear now.
I activated the trace log level but I didn't see your last two lines concerning the file watcher. Here is my log
[2022-03-29 09:02:33.498] [remoteagent] [trace] [Disk FileSystemProvider]: createResourceLock() - request to acquire resource lock (/var/www/vhosts/***.com/httpdocs/Config/config-dev.ini) [2022-03-29 09:02:33.498] [remoteagent] [trace] [Disk FileSystemProvider]: createResourceLock() - new resource lock created (/var/www/vhosts/***.com/httpdocs/Config/config-dev.ini) [2022-03-29 09:02:33.499] [remoteagent] [trace] [Disk FileSystemProvider]: open() - storing lock for handle 23 (/var/www/vhosts/***.com/httpdocs/Config/config-dev.ini) [2022-03-29 09:02:33.503] [remoteagent] [trace] [Disk FileSystemProvider]: close() - resource lock removed from handle-lock map 23 [2022-03-29 09:02:33.503] [remoteagent] [trace] [Disk FileSystemProvider]: close() - disposing lock for handle 23 [2022-03-29 09:02:33.503] [remoteagent] [trace] [Disk FileSystemProvider]: createResourceLock() - resource lock dispose() (/var/www/vhosts/***.com/httpdocs/Config/config-dev.ini) [2022-03-29 09:02:33.503] [remoteagent] [trace] [Disk FileSystemProvider]: createResourceLock() - resource lock removed from resource-lock map (/var/www/vhosts/***.com/httpdocs/Config/config-dev.ini) [2022-03-29 09:02:33.503] [remoteagent] [trace] [Disk FileSystemProvider]: createResourceLock() - resource lock barrier open() (/var/www/vhosts/***.com/httpdocs/Config/config-dev.ini)
And indeed, I can see the last two lines for a file at the root of my repository...
Any idea to force file watcher events ?
Thanks in advance

The file watcher is installed very early on startup so enabling logging later might miss it, but when you change the files.watcherExclude setting and observe the log, you should see entries for the file watcher restarting, can you try that?

Indeed, I can see that :
[2022-03-29 10:25:43.448] [remoteagent] [trace] [File Watcher (parcel)] Request to start watching: /var/www/vhosts/***.com/httpdocs (excludes: **/.git/objects/**,**/.git/subtree-cache/**,**/node_modules/*/**,**/.hg/store/**,/var/www/vhosts/***.com/.vscode-server/extensions/**)
[2022-03-29 10:25:43.449] [remoteagent] [trace] [File Watcher (parcel)] Request to stop watching: /var/www/vhosts/***.com/httpdocs
[2022-03-29 10:25:43.449] [remoteagent] [trace] [File Watcher (parcel)] stopping file watcher on /var/www/vhosts/***.com/httpdocs
[2022-03-29 10:25:43.449] [remoteagent] [trace] [File Watcher (parcel)] Started watching: '/var/www/vhosts/***.com/httpdocs' with backend 'inotify' and native excludes '/var/www/vhosts/***.com/httpdocs/.git/objects, /var/www/vhosts/***.com/httpdocs/.git/subtree-cache, /var/www/vhosts/***.com/httpdocs/node_modules, /var/www/vhosts/***.com/httpdocs/.hg/store'
[2022-03-29 10:25:44.642] [remoteagent] [trace] [File Watcher (parcel)] Request to start watching: /var/www/vhosts/***.com/vscode-extension (excludes: **/.git/objects/**,**/.git/subtree-cache/**,**/node_modules/*/**,**/.hg/store/**,/var/www/vhosts/***.com/.vscode-server/extensions/**)
[2022-03-29 10:25:44.642] [remoteagent] [trace] [File Watcher (parcel)] Request to stop watching: /var/www/vhosts/***.com/vscode-extension
[2022-03-29 10:25:44.642] [remoteagent] [trace] [File Watcher (parcel)] stopping file watcher on /var/www/vhosts/***.com/vscode-extension
[2022-03-29 10:25:44.643] [remoteagent] [trace] [File Watcher (parcel)] Started watching: '/var/www/vhosts/***.com/vscode-extension' with backend 'inotify' and native excludes '/var/www/vhosts/***.com/vscode-extension/.git/objects, /var/www/vhosts/***.com/vscode-extension/.git/subtree-cache, /var/www/vhosts/***.com/vscode-extension/node_modules, /var/www/vhosts/***.com/vscode-extension/.hg/store'
But after that, I still have the same problem...

Yes it is exactly that !

Is there a possibility that the folder is config and not Config on disk? I.e. a casing difference.
Does it reproduce with all patterns of this kind, e.g. what if you try a different glob pattern on a different path than Config?

Yes I tried with other folders, other casing but impossible to make it work...
For example, I tried the following patterns :

**/config/*.ini
**/Config/*.ini
**/Custom/configuration/*.ini (I have another folder with the same problem...)
**/custom/configuration/*.ini

But without results. the following pattern is the only one which works :

**/*.ini

One thing that puzzles me: when you call createFileSystemWatcher on a path that is inside the workspace (as you do in this case), we actually do not create a new file watcher, we just participate in the existing one that we create anyway when you open a workspace. There is always a default recursive watcher over the entire contents of the workspace and the only exception is all paths that match any of the files.watcherExclude setting.
So independent from the pattern you provide, and even before you call createFileSystemWatcher, I would expect that file evens are maybe already broken in that Config folder.
For that to confirm: when you enable trace logging as I had outlined before, do you see file change events in the log for root files at least? And when you change files in Config folder you don't?

Yes I confirm that I can see file change events in the log for root files but none for files in Config directory...

Ok, I am sorry I cannot be of more help, I fear I have no clue what is going on. Could be some configuration issue on the target, maybe hitting a limit of file handles, though we do warn if that is the case:
https://code.visualstudio.com/docs/setup/linux#_visual-studio-code-is-unable-to-watch-for-file-changes-in-this-large-workspace-error-enospc


Hydrate broken in Unity 5?

Very new to this, might be doing something wrong.
I can (use 'arcadia.core) and everything appears to work correctly.
user=> (use 'arcadia.core)
nil

user=> (def x	(create-primitive :cube))
#'user/x

user=> x
#<GameObject Cube (UnityEngine.GameObject)>

When I try (use 'arcadia.hydrate) I get
user=> (use 'arcadia.hydrate)
System.NullReferenceException: Object reference not set to an instance of an object
  at clojure/core$name__14337.invoke (System.Object ) [0x00000] in <filename unknown>:0
  at arcadia/hydrate$nice_keyword__102.invoke (System.Object ) [0x00000] in <filename unknown>:0
  at arcadia/hydrate$keys_for_setable__128.invoke (System.Object ) [0x00000] in <filename unknown>:0
  at arcadia/hydrate$sepf_clause__1034.invoke (System.Object , System.Object ) [0x00000] in <filename unknown>:0
  at arcadia/hydrate$shared_elem_prepopulater_form$iter__1040__1045$fn__1048$fn__1053__1057.invoke () [0x00000] in <filename unknown>:0
  at arcadia/hydrate$shared_elem_prepopulater_form$iter__1040__1045$fn__1048__1060.invoke () [0x00000] in <filename unknown>:0
  at clojure.lang.LazySeq.sval () [0x00000] in <filename unknown>:0
  at (wrapper synchronized) clojure.lang.LazySeq:sval ()
  at clojure.lang.LazySeq.seq () [0x00000] in <filename unknown>:0
  at (wrapper synchronized) clojure.lang.LazySeq:seq ()
  at clojure.lang.RT.seq (System.Object coll) [0x00000] in <filename unknown>:0
  at clojure/core$seq__13091.invoke (System.Object ) [0x00000] in <filename unknown>:0
  at clojure/core$concat$cat__13509$fn__13512__13516.invoke () [0x00000] in <filename unknown>:0
  at clojure.lang.LazySeq.sval () [0x00000] in <filename unknown>:0
  at (wrapper synchronized) clojure.lang.LazySeq:sval ()
  at clojure.lang.LazySeq.seq () [0x00000] in <filename unknown>:0
  at (wrapper synchronized) clojure.lang.LazySeq:seq ()
  at clojure.lang.Cons.next () [0x00000] in <filename unknown>:0
  at clojure.lang.RT.CountFrom (System.Object o) [0x00000] in <filename unknown>:0
  at clojure.lang.RT.count (System.Object o) [0x00000] in <filename unknown>:0
  at clojure.lang.Cons.count () [0x00000] in <filename unknown>:0
  at clojure.lang.Compiler.Analyze (clojure.lang.CljCompiler.Ast.ParserContext pcontext, System.Object form, System.String name) [0x00000] in <filename unknown>:0 , compiling: (/Users/andrewtarzwell/Unity/ArcadiaTest/Assets/Arcadia/Libraries/arcadia/hydrate.clj:920:3)
user=> hydrate
System.InvalidOperationException: Unable to resolve symbol: hydrate in this context
  at clojure.lang.Compiler.ResolveIn (clojure.lang.Namespace n, clojure.lang.Symbol symbol, Boolean allowPrivate) [0x00000] in <filename unknown>:0
  at clojure.lang.Compiler.Resolve (clojure.lang.Symbol symbol) [0x00000] in <filename unknown>:0
  at clojure.lang.Compiler.AnalyzeSymbol (clojure.lang.Symbol symbol) [0x00000] in <filename unknown>:0
  at clojure.lang.Compiler.Analyze (clojure.lang.CljCompiler.Ast.ParserContext pcontext, System.Object form, System.String name) [0x00000] in <filename unknown>:0 , compiling: (NO_SOURCE_PATH:0:0)
user=>

I get the same error on Unity 5:
user=> (require :reload '[arcadia.hydrate])
System.NullReferenceException: Object reference not set to an instance of an object
  at clojure/core$name__14337.invoke (System.Object ) [0x00000] in <filename unknown>:0
  at arcadia/hydrate$nice_keyword__4995.invoke (System.Object ) [0x00000] in <filename unknown>:0
  at arcadia/hydrate$keys_for_setable__5021.invoke (System.Object ) [0x00000] in <filename unknown>:0
  at arcadia/hydrate$sepf_clause__5927.invoke (System.Object , System.Object ) [0x00000] in <filename unknown>:0
  at arcadia/hydrate$shared_elem_prepopulater_form$iter__5933__5938$fn__5941$fn__5946__5950.invoke () [0x00000] in <filename unknown>:0
  at arcadia/hydrate$shared_elem_prepopulater_form$iter__5933__5938$fn__5941__5953.invoke () [0x00000] in <filename unknown>:0
  at clojure.lang.LazySeq.sval () [0x00000] in <filename unknown>:0
  at (wrapper synchronized) clojure.lang.LazySeq:sval ()
  at clojure.lang.LazySeq.seq () [0x00000] in <filename unknown>:0
  at (wrapper synchronized) clojure.lang.LazySeq:seq ()
  at clojure.lang.RT.seq (System.Object coll) [0x00000] in <filename unknown>:0
  at clojure/core$seq__13091.invoke (System.Object ) [0x00000] in <filename unknown>:0
  at clojure/core$concat$cat__13509$fn__13512__13516.invoke () [0x00000] in <filename unknown>:0
  at clojure.lang.LazySeq.sval () [0x00000] in <filename unknown>:0
  at (wrapper synchronized) clojure.lang.LazySeq:sval ()
  at clojure.lang.LazySeq.seq () [0x00000] in <filename unknown>:0
  at (wrapper synchronized) clojure.lang.LazySeq:seq ()
  at clojure.lang.Cons.next () [0x00000] in <filename unknown>:0
  at clojure.lang.RT.CountFrom (System.Object o) [0x00000] in <filename unknown>:0
  at clojure.lang.RT.count (System.Object o) [0x00000] in <filename unknown>:0
  at clojure.lang.Cons.count () [0x00000] in <filename unknown>:0
  at clojure.lang.Compiler.Analyze (clojure.lang.CljCompiler.Ast.ParserContext pcontext, System.Object form, System.String name) [0x00000] in <filename unknown>:0 , compiling: (/Users/owengalenjones/dev/unity/tactics/tactics/Assets/Arcadia/Libraries/arcadia/hydrate.clj:920:3)

I don't have this issue using the develop branch. Maybe try that. I'm also running the experimental Linux build.

Hey, very sorry I didn't get to this earlier, lost the thread in the swarm of issues.
develop is good, but changes frequently; unstable is actually the most reliable branch right now. master is just broken, we're going to push out a new release towards the end of September coinciding with online tutorials, etc, and hopefully broader export. All of this needs to be much better documented, I'll get on it this weekend.
Hydrate is due an overhaul, though. It can't currently handle reference serialization, doesn't have effective hydraters/dehydraters/populaters for several built-in component classes (ParticleSystem, for example), and the code responsible for generating its functions is really huge and ugly. One of my tasks for September preparatory to the next release is sprucing hydrate. That said, it's useful right now for playing around and manipulating simple scene graphs.

Hydrate is now going to be a lib


merge

.

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.1 out of 2 committers have signed the CLA.:white_check_mark: MorganDbs:x: DemahomGitHubYou have signed the CLA already but the status is still pending? Let us recheck it.


Create Start Shortcut for portable apps

Description of the new feature / enhancement
Some poratble apps may have a GUI, and it would ver usefull for users that aren't too much familiar with CLI, having a Start Menu shortcut created (Or even a desktop one..)
Proposed technical implementation details
My Idea is to add a tag into the installer schema for only portable apps, something like PortableCommandShortcut, where it's value may be:

a string, if empty (by default) no shortcuts are created, else a shortcut named like the string value is created
a boolean, if False (by default) no shortcuts are created, else a shortcut named like the PackageName value is created

I should point out that th shortcut will be linked to the main .exe of the package.
And add also :

an interactive prompt to wingetcreate to help with the input of this value when a portable program is detected
Shortcut deletion when program is uninstalled

Some more options that can be implemented:

Creating the shortcut into a Start folder name like Publisher value
If the Package contains more executable(neve found one atm), add the possibility to create multiple shortcuts with different names under a folder named like the PackageName value

Duplicate of #2299


Why don't we use pydocstyle?

There is the tests/pydocstyle_run.sh - why don't we use it? (Apart from the fact that it outputs around 1800 lines of errors in the docstrings, obviously.. :-) )
Should someone start with fixing those? (i.e. making documentation)

@tomasmcz you could at least docstring the parts of the code that are yours..

Another possibly related question is, why don't we use tests/pycodestyle.sh?
I guess it is because of redundancy, because pylint does similar stuff as pycodestyle, am I right?

This should be part of tests. The actual number of errors is ~900. I am currently working out, which error messages can be turned off (that put too much restriction on the documentation style).
It is quite a lot of work for one person to fix all of these, so everyone should go through their contributions a resolve them personally after I update the ignore list.

Closed by #552


Autofill code from SMS

Details
Implemented new props for React Native TextInput autoComplete and textContentType. Combinations of this props will allow us to auto fetch verification code from SMS.
For android we will need to make some modification for SMS payload, all information can be find under proposal link
To generate hash you can use this sh file  - command to execute ./sms_retriever_hash_v9.sh --package com.expensify.chat --keystore ./android/app/debug.keystore (for debug keystore hash = h7MoDsTCzjw)
Fixed Issues
$ GH_LINK
PROPOSAL: GH_LINK_ISSUE(COMMENT)
Tests

Start registration process
Get to verification code screen
Waiting for sms appears - in keyboard should be shown suggested autofill code from SMS

[x] Verify that no errors appear in the JS console

Offline tests
This feature doesn't change or is impacted by offline mode.
QA Steps
Same as above.

[ ] Verify that no errors appear in the JS console

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 / Chrome
[x ] iOS / native
[x ] iOS / 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 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 correct English and approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[ 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 a new component is created I verified that:

[ x] A similar component doesn't exist in the codebase
[ x] All props are defined accurately and each prop has a /** comment above it */
[ x] The file is named correctly
[ x] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[x ] The only data being stored in the state is data necessary for rendering and nothing else
[ x] 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)
[ x] 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)
[x ] All JSX used for rendering exists in the render method
[ x] 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

[ 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(themeColors.componentBG)

[ 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 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 ] I have checked off every checkbox in the PR author checklist, including those that don't apply to this PR.

Screenshots/Videos

Web

Mobile Web - Chrome
https://user-images.githubusercontent.com/28352309/218259807-8c92848e-5064-490d-aea9-34283fafd2cc.MOV

Mobile Web - Safari
https://user-images.githubusercontent.com/28352309/218260155-f4288480-f1b7-4b5d-ad67-2f20e050105c.MOV

Desktop

iOS

Android
https://user-images.githubusercontent.com/28352309/218259866-c971f2bc-c56d-4484-b89c-34309f27a5e1.MOV

@alex-mechler Please copy/paste the Reviewer Checklist from here into a new comment on this PR and complete it. If you have the K2 extension, you can simply click: [this button]

I have read the CLA Document and I hereby sign the CLA

@narefyev91 Looking great, thanks!
Can you also link native iOS video to the OP? I have also adjusted the test section a bit so its clear to QA what are the pre-requisites and what to expect.
Additionally do you know if this can work in the Electron Desktop build on mac as well? I know this was not specified in the issue originally, it can be a follow up but it would be great to get this feature in there too

@mountiny for IOS native - it's unfortunately not possible to add any video - I could not run app on real device - to do it - you need to add my device in provision profile and also add myself as developer in apple dev program. I can attach video - how the same field will work on other apps

@mountiny for IOS native - it's unfortunately not possible to add any video - I could not run app on real device - to do it - you need to add my device in provision profile and also add myself as developer in apple dev program. I can attach video - how the same field will work on other apps

Oh that is very good point I have not realized. In that case I think we are fine.

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 / Chrome
[ ] iOS / native
[ ] iOS / 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 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 correct English and approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[ ] 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(themeColors.componentBG)

[ ] 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 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.
[ ] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

Screenshots/Videos

Web

Mobile Web - Chrome

Mobile Web - Safari

Desktop

iOS

Android

Desktop

@mountiny for making it working on Desktop app - i did not really find any correct source that it may work - apple have a lot of restriction to prevent phishing from sms - and for now as i know it's really possible to have autofill for some sensitive data like first name, last name, password - which can be stored in keychain and automatically taken from it

Use the links below to test this build in android and iOS. Happy testing!

:test_tube::test_tube: Use the links below to test this build in android and iOS. Happy testing! :test_tube::test_tube:

android :robot:
iOS :apple:

https://ad-hoc-expensify-cash.s3.amazonaws.com/android/15081/index.html
https://ad-hoc-expensify-cash.s3.amazonaws.com/ios/15081/index.html

desktop :computer:
web :spider_web:

https://ad-hoc-expensify-cash.s3.amazonaws.com/desktop/$PULL_REQUEST_NUMBER/NewExpensify.dmg
https://$PULL_REQUEST_NUMBER.pr-testing.expensify.com

🚀 Deployed to staging by https://github.com/mountiny in version: 1.2.71-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

@narefyev91 @mountiny to clarify, it sounds like for the internal QA, for now we only want to test:

iOS
web Safari
mWeb iOS
mWeb Android

but not iOS. Is that correct?

@francoisl Thats correct!

🚀 Deployed to production by https://github.com/francoisl in version: 1.2.71-1 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


Add more specification tests

If you haven't seen already Ezno has a document that outlines all its current checking capabilities!

Each section contains error diagnostics that arise when checking the code block above. and it's not all aesthetic these code blocks are tested against the checker with a custom testing crate
The aim of this document is to break down the features into parts so

we know what is currently implemented
we know what is not currently implemented (via to_implement.md)
Find regressions in behaviour after fixing or adding new features (newer features breaking older checker features)
Test performance of parts or the the whole suite

At the time of writing. 129 tests currently pass

[!IMPORTANT]
Ezno will hopefully be useful on new projects with little dependencies at around ~250 tests passing. At the around the 400-500 mark it might be ready for existing projects.

I need your help in writing more

Write them in staging, merge them either into to_implement.md if it doesn't work or if they do, then specification.md
Optionally write corresponding issues for failing specification tests
Check existing specification.md for improvements to coverage or invalid cases

[!TIP]
Maybe you have a favourite JS feature or something you think is great that TSC does great at checking and isn't currently covered. Then it would be great to add it!

this is a general issue, that can relate to many pull requests

Will come back to this add more guidance in a few weeks. Just realised I should go into more detail about the difference to Ezno and TSC errors/diagnostics. I haven't published the document which shows a comparison yet...

Notable areas that currently don't have specification tests for to_implement.md

finally
function .call, .bind etc
named exports and other package.json properties
... things: spread into rest parameter and across regular parameters
enumerable, configurable, writeable on properties etc
Object. methods
Cyclic function calls
await and Promise
switch


Support request - [Landing page] Short description is missing in clarification section

Summary: [Landing page] Short description is missing in clarification section
Issue type: Bug
Severity: Trivial
Assignee: @kmakarenko
Reporter: A.Khilko
Environment: Google Chrome Версія 61.0.3163.100 (Розробка) (32-розрядна версія)
Description:
Steps to reproduce:

Open page http://portal.demo.ehealth.world/
Scrool down to the clarifications section
Observe the first entry
Actual result:
A short description for the first entry is not displayed
Expected result:
Short description/Beginning of the article is shown
Attachment:

Verified


fix: properly split jsonl upload at lineends

fixes #136

#123 introduced a broken behavior of uploading jsonl files, because lines would not be split at line endings anymore, but after exactly 1000 characters. See #136.
This was done in a broader context of moving file I/O into or out of the event loop. I am not sure, why the original change was introduced. So, I think, my PR might probably be a workaround rather than a comprehensive fix.
Maybe @dgomes can comment/review?

Thanks!

If the problem is the one identified in #136 then yes...
Just not sure about the identified problem is the correct one :/


Add proxy host and proto to basePath

Thanks again for the awesome repo! Our hapi API lives behind a reverse proxy, so it is important that all of the URLs generated by the swagger docs use the protocol and port in the x-forwarded headers.
Accomplishing this was fairly simple, but in the process of writing tests, I found that it was difficult to reason about how requestSettings.baseUrl was defined. For instance, if options.protocol was set in the plugin options, and options.baseUrl was also set, then options.baseUrl would override options.protocol. Further, there were cases where options.baseUrl would be appended to the hostname derived from the headers.
Based on this behavior, I decided to rewrite how baseUrlis derived. I used the url native Node utility to parse the options.baseUrl, and override each component of the URL individually (e.g. the protocol, the host, the path, etc...).
While I hope that you agree with my changes, the most important thing to me is that the x-forwarded headers be used to determine the baseUrl. Feel free to send it back to me, and I will send you a dead simple PR with only the x-forwarded headers changes applied.
Thank you.

@dylancwood Thank you! I was just struggling with this myself and expect anyone on modern hosting will since SSL terminators are so common.
@glennjones I can confirm his fix and so far things look to be working fine.

Hi Dylan Thanks for the PR, I have committed it to the repo, but I have had to make a couple of changes:
The first is very small and should not effect anything. I change the lines in the tests from before('init server', function(done){ to before(function(done){ so its work with my version of mocha
The second is a bit more fundamental, the JSON output to power the Swagger UI need the basePath property without a trailing slash. When I added your code to my test site https://github.com/glennjones/be-more-hapi the UI failed. So have added a new function to index.js called removeTrailingSlash() to fix the issue and updated a couple of your tests.
Could you possible test the current github repo version i.e. change your package.json to point at:
"hapi-swagger": "https://api.github.com/repos/glennjones/hapi-swagger/tarball/",

Once you checked that my changes still provide the functionality you need I will publish the new version to npm

Thanks, glenn.
I have tested our documentation using https://api.github.com/repos/glennjones/hapi-swagger/tarball/, and all appears to work well for me.
I am not sure why I did not encounter trailing slash issues when I tested my changes originally, but I am glad that you caught and fixed the problem.
Thank you again.

Now in v1.2.0 on npm

Thank you :+1:


Question About the Installation...

Hi @illright  I know it's not a smart question. However, I am a bit struggle to go through the installation process of the attractions library. I start with the official Svelte rollup template code. I followed the installation of the following steps:
npm install --save-dev attractions
npm install --save-dev svelte-preprocess node-sass postcss
And I add the autoProcessor code to the rollup.config.js:
autoPreprocess({
  scss: {
    includePaths: [
      './src/theme',
    ],
  },
})

But it doesn't seem working properly when I tried to import a simple button component in App.svelte file.
The Button's style doesn't get applied.

Hello {name}!

Visit the Svelte tutorial to learn how to build Svelte apps.

	<Button filled>button</Button>
  <Button outline>button</Button>
  <Button>button</Button>

(Btw, there's no document telling me how to import each component. I look up your GitHub code and finally found a sample import statement.)
Could you shed some light to me for the SCSS configuration?

Did you create an empty file _attractions-theme.scss in the directory that you specified in the includePaths?
Also check for any build errors or errors in the browser console

@illright  I created _attractions-theme.scss in the directory. Could you give me an example of rollup SCSS configuration? I guess I didn't configure correctly. Here is the whole file of my current configuration:
import svelte from 'rollup-plugin-svelte';
import resolve from '@rollup/plugin-node-resolve';
import commonjs from '@rollup/plugin-commonjs';
import livereload from 'rollup-plugin-livereload';
import { terser } from 'rollup-plugin-terser';
import autoPreprocess from 'svelte-preprocess';

const production = !process.env.ROLLUP_WATCH;

function serve() {
	let server;

	function toExit() {
		if (server) server.kill(0);
	}

	return {
		writeBundle() {
			if (server) return;
			server = require('child_process').spawn('npm', ['run', 'start', '--', '--dev'], {
				stdio: ['ignore', 'inherit', 'inherit'],
				shell: true
			});

			process.on('SIGTERM', toExit);
			process.on('exit', toExit);
		}
	};
}

export default {
	input: 'src/main.js',
	output: {
		sourcemap: true,
		format: 'iife',
		name: 'app',
		file: 'public/build/bundle.js'
	},
	plugins: [
		svelte({
			// enable run-time checks when not in production
			dev: !production,
			// we'll extract any component CSS out into
			// a separate file - better for performance
			css: css => {
				css.write('bundle.css');
			}
		}),
		autoPreprocess({
			scss: {
				includePaths: [
					'./src/theme',
				],
			},
		}),

		// If you have external dependencies installed from
		// npm, you'll most likely need these plugins. In
		// some cases you'll need additional configuration -
		// consult the documentation for details:
		// https://github.com/rollup/plugins/tree/master/packages/commonjs
		resolve({
			browser: true,
			dedupe: ['svelte']
		}),
		commonjs(),

		// In dev mode, call `npm run start` once
		// the bundle has been generated
		!production && serve(),

		// Watch the `public` directory and refresh the
		// browser on changes when not in production
		!production && livereload('public'),

		// If we're building for production (npm run build
		// instead of npm run dev), minify
		production && terser()
	],
	watch: {
		clearScreen: false
	}
};

Oh, I see. You should specify the autoPreprocess thing as the value of the preprocess property on the svelte plugin.
Check the sample Rollup config for Sapper here

@illright  I see!!! Oh, great, it's working:
		svelte({
			preprocess: autoPreprocess({
				scss: {
					includePaths: [
						'./src/theme/',
					],
				},
			}),
			// enable run-time checks when not in production
			dev: !production,
			// we'll extract any component CSS out into
			// a separate file - better for performance
			css: css => {
				css.write('bundle.css');
			}
		}),

I suggest making it more clear in the documentation.. especially for the new starter of RollUp like me. 😅

Sure, we will add an example config to the docs in the future. So do we consider this resolved?

thanks, let me close this issue. Thank you for your quick response.


pkg/archive: adjust chmod bits on windows

Followup to proposal at #11047

This change modifies the chmod bits of build context archives built on
windows to preserve the execute bit and remove the r/w bits from
grp/others.
I just created a post-processing step to modify tar headers retrieved from
tar.FileInfoHeader() method. This fixes tests:

TestBuildAddSingleFileToRoot
TestBuildAddWholeDirToRoot
TestBuildCopySingleFileToRoot
TestBuildCopyWholeDirToRoot

Also adjusted integration-cli tests to verify permissions based on the platform
the tests are running. Fixes #11047.
Signed-off-by: Ahmet Alp Balkan<EMAIL_ADDRESS>cc: @duglin @tiborvass @icecrime @jfrazelle @tianon

LGTM although I'm uncertain on what the best path might be for group/other bits

LGTM

https://jenkins.dockerproject.com/job/Windows-PRs/96/console
--- PASS: TestBuildAddSingleFileToRoot (4.11s)
--- PASS: TestBuildAddWholeDirToRoot (4.09s)
--- PASS: TestBuildCopySingleFileToRoot (3.25s)
--- PASS: TestBuildCopyWholeDirToRoot (4.37s)

Tests fixed on windows.

@tianon re-LGTM maybe?

LGTM

I wonder whether we need docs to explain the "issue".

@tiborvass hmm we don't have any windows docs at all at this point. I will create an issue now and you can assign that to me.

@tiborvass :heart: :cocktail: :notes:

This is a bit overkill for windows as you have the default windows permissions now at "-rwx------" rather than the linux permissions of "-rw-r--r--".   Having new files added to containers not be group/world readable is a big downside and probably not expected.  I agree group/world writeable is not a good idea but removing all read permissions is probably too far.  I would assume a 0755 would be a more appropriate mask override.   In addition windows users can build tar archives with proper permissions (ie --owner 0 --mode 755)  so it may be better rather than masking all permissions in windows to only look for the bad permission of 666 (default for tarred items for windows) and changing that to 755 or 644.
I don't think this commit is also the cause of the ADD/COPY behavior change but I may be wrong.  As now with Add doing similar doing an ADD then running as a restricted user will now fail if a chown is not done so:
FROM busybox
RUN adduser -D bob
ADD test.conf /tmp/
USER bob
CMD cat /tmp/test.conf
will fail with permission denied.  (Also while the commit seems to primarily deal with archives I noticed the change to default file permissions above.

@mitchcapper main reason we cleared the permissions from others/group is because people might assume they set the correct permissions on NTFS and those ACLs cannot be translated to unix formats. Assumption here was people are not very commonly using USER ... in their dockerfiles. I don't really think it's extreme, as IMO it's better than stuff like private keys being '-rw-r--r--' without letting the user know. We should also add some warning probably here to let people know they're running on windows and they will not achieve the same high fidelity ACLs against linux hosts (in fact I forgot to add that).
Feel free to come up with other proposal, I'd happily review but this is basically result of what we discussed in #11047.

I 100% agree with you on the fact  people are not commonly using USER,  the problem is this is recommended practice from a security perspective.   Running as root (even containered root priv dropped rooot) is probably a bad idea.   Docker is fairly hard to run as non-user, which is a whole separate discussion, but I figured this behavior is only making it all the harder to run as a non-root user.     I am not sure I agree with the private key aspect.

As most people run the container as root anyway unless they are priv dropping once inside the container (which would still not be as good as running the container as a user)  its not really keeping the private key more secure.

Sensitive information should generally not be inserted into containers (I believe that is also best practice) and why there is a whole other discussion on how to keep it out of containers.

Private keys are probably a very small fraction of what is added to the container, with other items far more common, and while convenience over security is not great there has to be some line

You shouldn't ever make permissions less strict down the road.  Right now this is just in HEAD but once it goes to a release you don't want to ever say well, maybe we shouldn't be removing all global/group permissions and change it (as then you have made peoples builds less secure).  It would be far better to apply a less aggressive masking leaving read access (or preferably even read/execute) for group/user alone.  It would break fewer peoples current builds, and I don't think there is a whole lot of expectation of security in windows that when you call ADD or COPY on a windows files it will by default be root only readable.

I missed the boat on the other proposal and realize the input is far after the fact, but figured I would comment my 2cents.  I am all for security, and do a decent bit of work to run containers with least privs possible, but am not sure this will work to improve it (even at the cost of convenience).   This masking I think will truly weaken good user behavior (as more dockerfiles just wont work as users other than root out of the box), in exchange for protecting bad user behavior (adding sensitive information into containers and expecting privacy by default).


why coremark score only 2.xx？is there anything wrong when running coremark program？

2.xx coremark score is suitable for a 2~3 stage single issue in-order pipeline

Thank you for your interest in this project. I develop and maintain this project alone to learn CPU development, and it was my first time. So there must be a lot of incorrect designs in the project.

For the reason why the coremark score is so low:

Only Rift2370 is configured correctly for performance
Rift2330 is configured for functional correctness testing, which has minimum size of cache, buff, fifo and so on.
Rift2300, Rift2310, Rift2320 are configured for taping out at Efabless, they are configured as single issue, and they had a lot of functionality removed to meet the area requirements for tapeout
The size of buff, fifo, cache in the other version have not been well configured
Also, the branch prediction module does not work well. For Rift2370, the prediction accuracy is only 88% in coremark. That's what I will deal with next(if I have time).

Feel free to re-open it if you have any more question.


gzip: stdin: unexpected end of file Error on Strech and Buster

Not sure if I am missing something but I have attempted to run the Script on Jessie, Strech and Buster and I am getting the same error :
gzip: stdin: unexpected end of file
tar: Child returned status 1
tar: Error is not recoverable: exiting now
chown: cannot access '/etc/openvpn/easy-rsa': No such file or directory
mkdir: cannot create directory ‘/etc/openvpn/easy-rsa/pki’: No such file or directory
main: line 825: cd: /etc/openvpn/easy-rsa: No such file or directory
Should I run the Script as Sudo or is there something else I need to do before I run the Script?
Regards
Paul

Can you provide the output of these commands?
SUDO="sudo"
easyrsaVer="3.0.6"
easyrsaRel="https://github.com/OpenVPN/easy-rsa/releases/download/v${easyrsaVer}/EasyRSA-unix-v${easyrsaVer}.tgz"
wget -q -O - "${easyrsaRel}" | $SUDO tar xz -C .
ls -l

Shure will do just as a note so long.
I noted on a forum that you could do
cp -r /usr/share/easy-rsa /etc/openvpn/easy-rsa
but as you get to the last step the /etc/openvpn/easy-rsa folder gets deleted.

Can you provide the output of these commands?
SUDO="sudo"
easyrsaVer="3.0.6"
easyrsaRel="https://github.com/OpenVPN/easy-rsa/releases/download/v${easyrsaVer}/EasyRSA-unix-v${easyrsaVer}.tgz"
wget -O - "${easyrsaRel}" | $SUDO tar xz -C .
ls -l

ls -l
total 44
-rwxr-xr-x 1 pi   pi   37787 Oct 28 13:09 openvpn-install.sh
-rw-r--r-- 1 root root   100 Oct 28 13:12 vars

Not sure if this would be relevant but if I run all the commands I get the following :
`pi@raspberrypi:~ $ SUDO="sudo"
pi@raspberrypi:~ $ easyrsaVer="3.0.6"
pi@raspberrypi:~ $ easyrsaRel="https://github.com/OpenVPN/easy-rsa/releases/download/v${easyrsaVer}/EasyRSA-unix-v${easyrsaVer}.tgz"
pi@raspberrypi:~ $ wget -O - "${easyrsaRel}" | $SUDO tar xz -C .
--2019-10-28 13:51:00--  https://github.com/OpenVPN/easy-rsa/releases/download/v3.0.6/EasyRSA-unix-v3.0.6.tgz
Resolving github.com (github.com)... <IP_ADDRESS>
Connecting to github.com (github.com)|<IP_ADDRESS>|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://github-production-release-asset-2e65be.s3.amazonaws.com/4519663/8d46db80-266e-11e9-85e3-7de4dbee40d9?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20191028%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20191028T135102Z&X-Amz-Expires=300&X-Amz-Signature=acdaf2023d62e294ec912b155cce732864d32cc22d2ca9fb58f2eba8ad02f5b6&X-Amz-SignedHeaders=host&actor_id=0&response-content-disposition=attachment%3B filename%3DEasyRSA-unix-v3.0.6.tgz&response-content-type=application%2Foctet-stream [following]
--2019-10-28 13:51:02--  https://github-production-release-asset-2e65be.s3.amazonaws.com/4519663/8d46db80-266e-11e9-85e3-7de4dbee40d9?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20191028%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20191028T135102Z&X-Amz-Expires=300&X-Amz-Signature=acdaf2023d62e294ec912b155cce732864d32cc22d2ca9fb58f2eba8ad02f5b6&X-Amz-SignedHeaders=host&actor_id=0&response-content-disposition=attachment%3B filename%3DEasyRSA-unix-v3.0.6.tgz&response-content-type=application%2Foctet-stream
Resolving github-production-release-asset-2e65be.s3.amazonaws.com (github-production-release-asset-2e65be.s3.amazonaws.com)... <IP_ADDRESS>
Connecting to github-production-release-asset-2e65be.s3.amazonaws.com (github-production-release-asset-2e65be.s3.amazonaws.com)|<IP_ADDRESS>|:443... failed: Connection refused.
gzip: stdin: unexpected end of file
tar: Child returned status 1
tar: Error is not recoverable: exiting now
`

Resolving github-production-release-asset-2e65be.s3.amazonaws.com (github-production-release-asset-2e65be.s3.amazonaws.com)... <IP_ADDRESS>
Connecting to github-production-release-asset-2e65be.s3.amazonaws.com (github-production-release-asset-2e65be.s3.amazonaws.com)|<IP_ADDRESS>|:443... failed: Connection refused.

Do you have pihole or some kind of dns filtering in your network?

Do you have pihole or some kind of dns filtering in your network?

Nope, straightforward network, or rather out of the box.

 It resolves github-production-release-asset-2e65be.s3.amazonaws.com as <IP_ADDRESS>, localhost, which is your Pi. Obviously your raspberry pi is not github, so it fais to download easyrsa.
Edit the dhcpcd file with sudo nano /etc/dhcpcd.conf and replace the line static domain_name_servers=<IP_ADDRESS> <IP_ADDRESS> with static domain_name_servers=<IP_ADDRESS> <IP_ADDRESS> (so you use google dns servers). Then restart the dhcp service with sudo systemctl restart dhcpcd. Post the output of the dig command again.

 If prompted, choose "Reconfigure".

Ok I run the Script again and it seems like this resolved the problem, funny thing is that the Static Ip was created, if I remember correctly, by the Script.
I will do a fresh image again and run the script then check the DHCP if I find a problem again.
Will post the results

I will do a fresh image again and run the script then check the DHCP if I find a problem again.
Actually I think it's your router's fault.

Actually I think it's your router's fault.
Is that because I had to change the DNS to <IP_ADDRESS> instead of the routers ip?

Yes

funny thing is that the Static Ip was created, if I remember correctly, by the Script.

It is, but the script pulled the DNS servers you were using so probably you had this problem before too.

Ok , I have retested everything from a clean Buster Image and if you run the script it changes the Ip but the DNS is left open like this static domain_name_servers= . I changed it to static domain_name_servers=<IP_ADDRESS> <IP_ADDRESS>  and everything worked as expected.
Thank you for the help!!


2.5.1 (0465): Cosmetic issue with user added filters

Canceling a new user filter leaves the sample expression displayed (grayed out) making unclear if the filter is present. Remains on close and reopen prefs. A check of the plist shows it is not present. Close and open app removes the (apparent) item.
Note: Probably works as intended, but I had to delete old prefs to test the new filters. If in the future, new "default" strings are added, it would be best to test and add if needed. Or hardcode instead of storing in plist. I can see this both ways. Leaving as an editable filter allows user to remove filter if not desired. But allows user to screw up the filters as well.
RECOMMENDATION: Rather than make the user delete the app support plist, Add a restore defaults button.

I'm going to do a little redesign and let the filter settings have its own view. And on removal they should just be removed. Worked before, will have to see what went wrong now.

I didn't remove. I just canceled an addition.

Sorry, misread you, a little too early in the morning here I guess. I did a quick test and can confirm this bug.

I removed the placeholder text, which was the culprit. Will probably not add some legend to explain regex because that really requires a whole book. Working on default filters, the checkbox is atleast in place.


Add description attribute to security schemes

fixes https://github.com/tiangolo/fastapi/issues/2840

This was already handled by #9658 and #1757 .
@Itay4 Can you close this issue and #9013 ?


Change to mdl datepicker

Delete bootstrap imports because of integration problems, better use jquery-ui datepicker.
See:
http://tamble.github.io/jquery-ui-daterangepicker/

See options:

https://github.com/naxeem/Pikaday-Material
https://puranjayjain.github.io/md-date-time-picker/#documentation/ie
http://codepen.io/dbellotti/pen/ZYgwYW

From issues:

https://github.com/google/material-design-lite/issues/1695
https://github.com/google/material-design-lite/issues/782


Automation options ?

Hello
I'm giving a shot at this docker, nice so far. I'm wondering, is there a inbuilt way to automate the whole setup ? I mean, provide the prompt answers as env, or fill a config file, or some parameters so I can just run config, initpki etc scripts silently ?
Best regards,

#77 and #181 are related.

I ended up writing an ansible role for this, but I should say up front that it's almost certainly easier to do what @kylemanna suggests in #77 and #181 and either use nopass or just generate the PKI files up front and automating the process of copying them into the data volume (or mounting them in the container).
You can take a look at my ansible config here. If ansible isn't an option for you, then you could probably still reverse engineer it down to shell scripts. Something like this:
if docker run ... ls /etc/openvpn/openvpn.conf
    docker run ... ovpn_genconfig

if docker run ... ls /etc/openvpn/pki
    docker run ... ovpn_initpki

docker run ... (default entrypoint)

if docker run ... ovpn_listclients | grep -q my_client_name
    docker run ... easyrsa build-client-full my_client_name nopass

docker run ... ovpn_getclient my_client_name > $HOME/my_client_name.ovpn

The hardest part is, obviously, dealing with the prompts from ovpn_initpki. Those prompts are:
Enter PEM pass phrase
Verifying - Enter PEM pass phrase
Common Name (eg: your user, host, or server name) [Easy-RSA CA]
Enter pass phrase for /etc/openvpn/pki/private/ca.key

So it's really just the pass phrase and the Common Name. My playbook uses the ansible expect module, which in turn uses the pexpect python module. There is also a terminal program named expect and you can see how to use it here.

@dave-burke Thanks a lot for this piece of ansible, that'll do perfectly for me I think


Optimizing <Image /> component

Optimizing <Image /> component.

Adding decoding attribute with async value which decode the image asynchronously to reduce delay in presenting other content.
Adding loading prop with lazy as a default value which defers loading the image until it reaches a calculated distance from the viewport, as defined by the browser. The intent is to avoid the network and storage bandwidth needed to handle the image until it's reasonably certain that it will be needed.

Sorry if I made any mistakes :(

@sanjaiyan-dev could I request two small changes to help me more effectively review this next week?

Try to keep the diff minimal by leaving syntax/whitespace-only changes to a minimum to make it easier to see your code changes (example: changing single quoted string to double quoted one, etc)

Can you add a quick overview to the PR that explains the optimizations that these changes introduce?

Thanks! Excited to see your contributions :)

Optimizing Image component.
Sorry if I made any mistakes :(

@sanjaiyan-dev could I request two small changes to help me more effectively review this next week?

Try to keep the diff minimal by leaving syntax/whitespace-only changes to a minimum to make it easier to see your code changes (example: changing single quoted string to double quoted one, etc)
Can you add a quick overview to the PR that explains the optimizations that these changes introduce?

Thanks! Excited to see your contributions :)

Ok 👍🏽

@sanjaiyan-dev could I request two small changes to help me more effectively review this next week?

Try to keep the diff minimal by leaving syntax/whitespace-only changes to a minimum to make it easier to see your code changes (example: changing single quoted string to double quoted one, etc)
Can you add a quick overview to the PR that explains the optimizations that these changes introduce?

Thanks! Excited to see your contributions :)

@mportiz08, Done 🙌👍

@sanjaiyan-dev One additional thing I just thought of: could we update the unit tests to check for the presence of these new attributes? I think it could be as simple as adding a single assertion to an existing test in tests/unit/components/ImageAsset.spec.js.

Sorry, I have added test (not sure if it is correct :( ) , can you please help me with it 🙇🏽

🤔

@swift-ci test

Thanks @sanjaiyan-dev — I think this will have a noticeable improvement on the rendering performance! :)

Tks a lot 🎉

Thanks @sanjaiyan-dev — I think this will have a noticeable improvement on the rendering performance! :)

Tks a lot 🎉


Just a question (Not an isssue)

Hello Akita Team, where can i found and download the source code for your sample application at http://akita.surge.sh/?
I read also this great post 'The Complete Guide to Authentication in Angular with Akita'
The source code of the post sample application could probably help me since I need to implement first the security using JWT. This is probably already implemented in your sample application at http://akita.surge.sh/.
Thanks!

You can find the app in this repo. https://github.com/datorama/akita/tree/master/playground
Good luck!


Add nuh on openstack

Since the metbot is down, the links to the job passing are:
http://<IP_ADDRESS>:8080/job/dahal/job/INSTALL_OPENSTACK_SA/79/
http://<IP_ADDRESS>:8080/job/dahal/job/INSTALL_OPENSTACK_HA/21/

please resolve the conflicts

Resolved!


Improve rollback and cleanup when a push operation fails.

Is your feature request related to a problem? Please describe.
On certain operations, when amplify push fails, artifacts are not cleaned up correctly.
For example, when provisioning fails, I noticed that the following artifacts (in my use case) are not being deleted:

S3 buckets
DynamoDB indices created during the push operation

When this occurs, all subsequent deployments will fail until the artifacts are manually cleaned up.
In this particular case, the deploy failed because a schema change would have added more than one GSI on a table, but this then lead to a cycle of failures until all artifacts were cleaned up (actually, still cleaning it up!)
Describe the solution you'd like
It would be ideal if all artifacts are cleaned up correctly.  In my particular use case, this involved cleaning up S3 buckets and indices provisioned on other tables during the dev cycle.  In this particular case, two tables had new indices so as I cleaned up one table, the next one would fail the next run and I have to keep failing and cleaning up incrementally more resources each time.
Describe alternatives you've considered
Only possible to manually clean up the artifacts.
Additional context
In this particular case, the issue is due to two GSI being added on a table in one cycle in a different branch.  When that branch was merged and pushed to an upstream environment, this caused a host of issues until the GSI in the schema was reduced to one.  It would be great if the CLI could handle these types of failures more elegantly instead of leaving artifacts to clean up manually.

related https://github.com/aws-amplify/amplify-cli/issues/9640


Create edit_distance#907.java

Solved Edit distance problem using java

Please assign me this issue under Hacktoberfest23


Error with database sessions in remote database - Undefined property: stdClass::$ci_session_lock.

Sessions fail with the remote database only
I configured the session options in application/config.php like so:
$config['sess_driver'] = 'database';
$config['sess_cookie_name'] = 'ci_session';
$config['sess_expiration'] = 7200;
$config['sess_save_path'] = 'ci_sessions';
$config['sess_match_ip'] = FALSE;
$config['sess_time_to_update'] = 300;
$config['sess_regenerate_destroy'] = FALSE;
$config['cookie_secure']	= TRUE;
$config['cookie_httponly'] 	= TRUE;

The Issue
This error occurs with the remote database but does not occur with the local database.
Severity: Warning --> Undefined property: stdClass::$ci_session_lock system/libraries/Session/drivers/Session_database_driver.php 409
Severity: Warning --> session_start(): Failed to read session data: user (path: ****) system/libraries/Session/Session.php 137

The Environment

Codeigniter 3.1.13
PHP 8.0-8.2.6
Remote database: Planetscale
Local databse: MariaDB 10.4.20

@drkNsubuga it's not an error, but warning
https://github.com/bcit-ci/CodeIgniter/blob/develop/system/libraries/Session/drivers/Session_database_driver.php#L409
according to the message, sql query does not return expected result (null):

GET_LOCK(str,timeout)
Returns 1 if the lock was obtained successfully, 0 if the attempt timed out (for example, because another client has previously locked the name), or NULL if an error occurred (such as running out of memory or the thread was killed with mysqladmin kill).

also, check your db config:
https://codeigniter.com/userguide3/libraries/sessions.html#database-driver

You must have the Query Builder enabled.
You can NOT use a persistent connection.
You can NOT use a connection with the cache_on setting enabled.


Removed optional included pk in ticket

This closes #262

Any reviewer is fine. I just want someone else to check before merging.

Thanks @oleggrib
I just ran the tests of both java and TS locally along with a manual integration test with the code in main of attestation.id. Everything seems to work so I will merge.


Rename image

GitHub/git seems to have a hard time updating this image.

It worked 😄


Migrations not done for test environment with --env or -e option Win10

I have installed db-migrate and db-migrate-pg driver all locally and run it with script hook in package.json
"scripts": {
    "migrate": "node node_modules/db-migrate/bin/db-migrate"

In my database.json file I have described environments for dev and test as shown below
{
  "dev": {
    "driver": "pg",
    "user": {"ENV": "PGUSER"},
    "password": {"ENV": "PGPASSWORD"},
    "host": {"ENV": "PGHOST"},
    "database": {"ENV": "PGDATABASE"}
  },
  "test": {
    "driver": "pg",
    "user": "myusername",
    "password": "mypwd",
    "host": "localhost",
    "database": "test"
  }

Also am using dotenv and that is where the envs for dev are picked up.
I can run migrations on the dev database successfully yarn run migrate up
But when I change the environment with the --env option or -e  option with test, it runs the migrations on the dev environment which of course will return no migrations to run
>yarn run migrate up --env test
yarn run v0.27.5
$ node node_modules/db-migrate/bin/db-migrate "up"
[INFO] No migrations to run
[INFO] Done
Done in 0.90s.

I dont know what the issue is?

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

Hey @victorolweny,
unfortunately we can't help you if you don't provide us all informations necessary to reproduce your case.
This means, always post:

used node version
used npm version
used db-migrate version
used driver and its version
used plugins
full output of the verbose run
in complex cases a full gist, as an executable proof
if necessary used migrations and configuration details (replace sensible informations before posting configs!)
if necessary code samples

As soon as you provide us all information needed, we have an easy way to reproduce your problem and provide you with the help or bugfix you need.
Thank you.

Node version v6.11.1
Npm version 3.10.10
Yarn version v0.27.5
packages.json dependencies
"dependencies": {
    "body-parser": "^1.17.2",
    "compression": "^1.7.0",
    "db-migrate": "^0.10.0-beta.21",
    "db-migrate-pg": "0.2.4",
    "dotenv": "^4.0.0",
    "express": "^4.15.3",
    "helmet": "^3.8.0",
    "pg": "^7.0.2"
  },
  "devDependencies": {
    "chai": "^4.1.0",
    "mocha": "^3.4.2",
    "morgan": "^1.8.2",
    "sinon": "^2.4.1"
  }

Running the migrations

database.json

{
"dev": {
"driver": "pg",
"user": {"ENV": "PGUSER"},
"password": {"ENV": "PGPASSWORD"},
"host": {"ENV": "PGHOST"},
"database": {"ENV": "PGDATABASE"}
},
"test": {
"driver": "pg",
"user": "myusernamehere",
"password": "mypwdhere",
"host": "localhost",
"database": "test"
},
"sql-file" : true
}
And finally the .env has this only

PGUSER=
PGHOST='localhost'
PGPASSWORD=
PGDATABASE=
PGPORT=5432
>yarn run migrate up
yarn run v0.27.5
$ node node_modules/db-migrate/bin/db-migrate "up"
received data: /* Replace with your SQL commands */

CREATE OR REPLACE FUNCTION ....
CREATE TABLE IF NOT EXISTS
....

[INFO] Processed migration ....
[INFO] Done
Done in 1.05s.

Running migrations for test
>yarn run migrate up --env test
yarn run v0.27.5
$ node node_modules/db-migrate/bin/db-migrate "up"
[INFO] No migrations to run
[INFO] Done
Done in 0.81s.

Thanks for this @victorolweny, but still missing on the verbose run, so too less information.

>yarn run migrate up --verbose
yarn run v0.27.5
verbose 0.813 Checking for configuration file "E:\\..\\.n
pmrc".
verbose 0.816 Checking for configuration file "C:\\...\\.npmrc".
verbose 0.817 Found configuration file "C:\\...\\.npmrc".
verbose 0.818 Checking for configuration file "E:\\...\\.npmrc".
verbose 0.819 Checking for configuration file "E:\\...\\.n
pmrc".
verbose 0.82 Checking for configuration file "E:\\...\\.npmrc".
verbose 0.821 Checking for configuration file "E:\\..\\.npmrc".
verbose 0.824 Checking for configuration file "E:\\...\\.y
arnrc".
verbose 0.824 Checking for configuration file "C:\\...\\.yarnrc".
verbose 0.825 Found configuration file "C:\\...\\.yarnrc".
verbose 0.825 Checking for configuration file "E:\\...\\nodejs\\.yarnrc".
verbose 0.826 Checking for configuration file "E:\\...\\.y
arnrc".
verbose 0.826 Checking for configuration file "E:\\...\\.yarnrc".
verbose 0.827 Checking for configuration file "E:\\...\\.yarnrc".
verbose 0.831 current time: 2017-08-01T12:18:35.582Z
$ node node_modules/db-migrate/bin/db-migrate "up"
received data: /* Replace with your SQL commands */

CREATE OR REPLACE FUNCTION ....
CREATE TABLE IF NOT EXISTS
....
[INFO] Processed migration ....
[INFO] Done
Done in 1.10s.

>yarn run migrate up --verbose --env test
yarn run v0.27.5
verbose 0.786 Checking for configuration file "E:\\...\\.n
pmrc".
verbose 0.793 Checking for configuration file "C:\\...\\.npmrc".
verbose 0.798 Found configuration file "C:\\...\\.npmrc".
verbose 0.799 Checking for configuration file "E:\\...\\.npmrc".
verbose 0.799 Checking for configuration file "E:\\...\\.n
pmrc".
verbose 0.8 Checking for configuration file "E:\\...\\.npmrc".
verbose 0.8 Checking for configuration file "E:\\...\\.npmrc".
verbose 0.805 Checking for configuration file "E:\\...\\.y
arnrc".
verbose 0.807 Checking for configuration file "C:\\...\\.yarnrc".
verbose 0.807 Found configuration file "C:\\...\\.yarnrc".
verbose 0.808 Checking for configuration file "E:\\...\\.yarnrc".
verbose 0.809 Checking for configuration file "E:\\...\\.y
arnrc".
verbose 0.809 Checking for configuration file "E:\\...\\.yarnrc".
verbose 0.81 Checking for configuration file "E:\\...\\.yarnrc".
verbose 0.814 current time: 2017-08-01T12:23:10.705Z
$ node node_modules/db-migrate/bin/db-migrate "up"
[INFO] No migrations to run
[INFO] Done
Done in 1.08s.

Ok so here we have the problem.
Not all arguments are passed to db-migrate. You need to stop using either npm scripts for this, or you need to place the whole command in there including the arguments.
Btw. for local installations you should install db-migrate just globally, for local environments where you want to run this command having a dedicated script for this might be a good idea anyway though. And you can also always find the bins in node_modules/.bin/db-migrate on local installs btw.

Okay. Did the global installation and go it working
Thanks

You're welcome. Feel free to open any other issue, if needed.


backButtonClose cannot be safely updated when the modal is open

If e.g. backButtonClose is true when the modal is opened, and then set to false and the modal is closed, the BackHandler will not be unregistered and all future back button actions in the app will not work as expected.

I face the same issue. any update.


About octave

Hello, dear author.
I would like to use MOS tool under tools_for_estimate.py. But I am prompted that I need the octave component. It took me a long time to install it but it didn't work. I would like to ask the author how to install it. Or is there a dockerfile available?

Hi!
I'm sorry to there is no dockerfile available.
Octave must be installed
apt install octave pip install oct2py Cython # install Cython before installing pesq pip install pesq
Or, if you want to use metrics for CSIG, CBAK, COVL, I found some easy-to-use Python code, not Matlab.
Here is the Github repository: https://github.com/santi-pdp/segan_pytorch/blob/052238718b037cd72c7fa69bc1577782e5ef015d/segan/utils.py#L397
You probably won't suffer from octave with this code.


Best firmware for cc2538 +cc2592

Many different firmware version are available.Very confusing.  Which is latest for MODKAM.RU V3 coordinator by Jager???
Bug Report
What happened
What did you expect to happen
How to reproduce it (minimal and precise)
Debug Info
Zigbee2mqtt version:
Adapter hardware: CC2531, CC2530, CC26X2R1 or CC1352P-2
Adapter firmware version:
cc2538 + cc2592

@reverieline could you take a look?

Many different firmware version are available.Very confusing. Which is latest for MODKAM.RU V3 coordinator by Jager???

The olny difference is connection interface.
MODKAMRU_V3_USB.hex for USB connected devices.
MODKAMRU_V3_UART-no-flow-control.hex for 4-wire UART connection (VCC,GND,TX,RX).
MODKAMRU_V3_UART-flow-control.hex for 6-wire UART connection (VCC,GND,TX,RX,RTS,CTS).

I had found these and they seemed to be to latest versions. BUT there a many others referred to in the CC2538 discussions. I just wanted to be sure these were the latest available.  Thanks
From: reverieline
Sent: Tuesday, June 16, 2020 1:31 PM
To: Koenkk/Z-Stack-firmware
Cc: SamuelCarson ; Author
Subject: Re: [Koenkk/Z-Stack-firmware] Best firmware for cc2538 +cc2592 (#182)
Many different firmware version are available.Very confusing. Which is latest for MODKAM.RU V3 coordinator by Jager???
The olny difference is connection interface.
MODKAMRU_V3_USB.hex for USB connected devices.
MODKAMRU_V3_UART-no-flow-control.hex for 4-wire UART connection (VCC,GND,TX,RX).
MODKAMRU_V3_UART-flow-control.hex for 6-wire UART connection (VCC,GND,TX,RX,RTS,CTS).
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.