Fix handling of filenames with varying suffixes

Fixes #1829

Current coverage is 79.38%

Merging #1837 into master will increase coverage by +0.05% as of 861848e

@@            master   #1837   diff @@
======================================
  Files          554     554
  Stmts        33922   33965    +43
  Branches      9356    9369    +13
  Methods
======================================
+ Hit          26913   26963    +50
- Partial       5429    5435     +6
+ Missed        1580    1567    -13

Review entire Coverage Diff as of 861848e

Powered by Codecov. Updated on successful CI builds.

:+1:


Add L0 housekeeping products

Mini report TM(3, 25), SSID 1
Maxi report TM(3, 25), SSID 2

Codecov Report

Merging #89 (ae77069) into master (796b6b8) will increase coverage by 1.73%.
The diff coverage is 91.55%.

@@            Coverage Diff             @@
##           master      #89      +/-   ##
==========================================
+ Coverage   79.64%   81.37%   +1.73%
==========================================
  Files          44       45       +1
  Lines        2918     3340     +422
==========================================
+ Hits         2324     2718     +394
- Misses        594      622      +28

Impacted Files
Coverage Δ

stixcore/processing/LBtoL0.py
23.40% <0.00%> (ø)

stixcore/products/common.py
87.17% <ø> (+2.56%)
:arrow_up:

stixcore/products/levelb/binary.py
45.58% <0.00%> (-1.03%)
:arrow_down:

stixcore/products/level0/quicklook.py
85.26% <88.41%> (+9.70%)
:arrow_up:

stixcore/products/__init__.py
100.00% <100.00%> (ø)

stixcore/products/level0/housekeeping.py
100.00% <100.00%> (ø)

stixcore/products/level1/quicklook.py
64.47% <100.00%> (ø)

stixcore/products/product.py
87.06% <100.00%> (+1.72%)
:arrow_up:

Continue to review full report at Codecov.

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


Reverted #782 as a workaround for #902 .

@kazuki43zoo ,
This is the second try. Please review this when you have the time.
Thanks in advance,
Iwao
Related Issues

#782
#902

@harawata It looks good!

Thank you!


Amazon Linux 2022

What would you like to be added:
RPM package cataloguer updated to support Amazon Linux 2020.
Why is this needed:
It's a new version of Amazon Linux, which is already supported.
Additional context:
For some reason RPM package cataloguer doesn't work out of the box.
$ syft packages amazonlinux:2022
 ✔ Loaded image
 ✔ Parsed image
 ✔ Cataloged packages      [3 packages]

NAME      VERSION   TYPE
gpg       1.15.1    python
libcomps  0.1.18    python
rpm       <IP_ADDRESS>  python
$ syft packages amazonlinux:2
 ✔ Loaded image
 ✔ Parsed image
 ✔ Cataloged packages      [114 packages]

NAME                    VERSION                   TYPE
amazon-linux-extras     2.0.1                     python
amazon-linux-extras     2.0.1-1.amzn2             rpm
basesystem              10.0-7.amzn2.0.1          rpm
bash                    4.2.46-34.amzn2           rpm
bzip2-libs              1.0.6-13.amzn2.0.3        rpm
ca-certificates         2021.2.50-72.amzn2.0.1    rpm
chkconfig               1.7.4-1.amzn2.0.2         rpm
coreutils               8.22-24.amzn2             rpm
...
$

This is a good data point for https://github.com/anchore/syft/issues/469 . Thanks for reporting!


Clarify nightly style policy

Draft of course. Please weigh in @rust-lang/style :heart:

Still noodling on this. I think it's got the right content and accurately reflects what we've agreed to, though I find myself wondering if a different ordering might be helpful.
For example, what if we led with the policy description up front since that has the largest audience of consumers and all the other aspects are related to that

I find myself wanting to state slightly more strongly that the initial unstable implementations of formatting shouldn't ever be treated as binding or semi-stable, preventing us from setting the style that we want, but I'm having trouble thinking of a way to word this and I don't think the current wording necessarily prevents it.
In the end I think I have no objections to the current wording but I wouldn't be surprised if we end up wanting to come back and refine this over time.

I think this is ready for FCP. I don't think that this repo is FCPable, though... :thinking:

Actually, maybe a better idea to just start the FCP on rust-lang/rust#111119.

I'm gonna go ahead and merge this since the FCP is over.


Ask for visual.py

Hello,
Thanks for your great work.
I run your code and get the result.json file.
Now I want to visual the image and predicted annotations to analyze the error samples.
Can you provide a visual script?
Thank you!

Hi, please use the predicted result.json and the annotation file to generate the visualization results. Since the image names between the two files are corresponding one by one, this is quite simple with several lines of python code. I may not have the visualization script as you expect.

Hi, please use the predicted result.json and the annotation file to generate the visualization results. Since the image names between the two files are corresponding one by one, this will be quite simple. I may not have the visualization script as you expect.

Thank you. I have already visual the results by learn the code by HOIW.
Thanks, YueLiao provide the PIC_HOIW(https://github.com/YueLiao/PIC_HOIW)


ng-options is evaluated before ng-if causing invalid "null" option

Overview
ng-if is not used when determining the "null" option for ng-options. Consider the following select:
<select ng-model="ctrl.color" ng-options="color.name for color in ctrl.colors">
  <option ng-if="false" value="">A</option>
  <option ng-if="true" value="">B</option>
</select>

I would expect the above example to produce a select with the null option B. However, ng-options actually finds A as being the correct null option (see selectDirective). After A is set as the null option, ng-if removes it from the DOM, removing the null option as well. It would seem that ng-if needs to be evaluated before ng-options. I looked through the source and was not able to find a simple fix, but I'm not familiar with angular's source either.
Reproduce the error
Simple example on Plunker
Stack overflow question that lead me to this
Another, more complex, Plunker from the above stack overflow
Use Case
I have a select directive that is used in multiple places in different ways. The logic is 100% the same, the only difference is the null option:

As a filter

When used as a filter, the null option signifies that all options are included. For a color model it would be something like 'Colors - All'

As an optional field

When used as an optional field, the null option is either blank or 'Colors - None'

As a required field

When used as a required field, there is either no null option or it is set to '--Please select a color--', depending if the model has a default value or not.

Since the logic is the same for all three of these cases and the only difference is the null option prompt, it doesn't make sense to make 3 separate directives to handle the different cases.
Angular Version
I've verified in both 1.2.21 & 1.3.0.beta.X. I haven't looked at older versions.
Browsers and Operating System
This appears to be an AngularJS bug and not a browser issue. However, I tested and verified the bug in both Chrome 36.0.1985.125 & IE 11 on Windows 8.

+10 on wanting this feature!!!

I agree with Brian that this is not something we want. Although I think that starting from 1.4.7, you can use one option with ngIf that should cover all 3 use cases: http://plnkr.co/edit/dXuAjo3OT5PdTZUdYrlK?p=preview

The example @Narretz pasted has a problem that the entire items are listed twice.

@harai, this problem is tracked in #12190 (see https://github.com/angular/angular.js/issues/12190#issuecomment-145877914).
We're working on it :smiley:


Sync TRSS code via groovy script

related: https://github.com/adoptium/aqa-test-tools/issues/654
Signed-off-by: lanxia<EMAIL_ADDRESS>

https://ci.adoptopenjdk.net/view/Test_grinder/job/TRSS_Code_Sync/4/console


Netherite Lance Doesn't Have a Texture

Thanks for the report, gonna be fixed in the next update :)

fixed in the newest release


How do I create an impl Stream from body::Incoming in hyper 1..

I want to implement file upload using hyper. In hyper 0.14.*, Body implemented the Stream trait but in hyper 1.*.* it got removed for stability reasons. However crates like multer require a body which implements Stream as seen in their hyper example. Its the same with other async formdata/multipart crates. I was wondering if someone could help me with this.
Thank you!

You could make use of: https://docs.rs/http-body-util/0.1.*/http_body_util/struct.StreamBody.html

You could make use of: https://docs.rs/http-body-util/0.1.*/http_body_util/struct.StreamBody.html

I did try this initially but it'll only implement Stream when Incoming implements Stream so I still get the trait bounds issue


Date picker is shown behind datagrid filter

Describe the bug
Date picker inside Datagrid filter is always shown behind the filter.

How to reproduce
https://stackblitz.com/edit/clarity-light-theme-v5-xujszm?file=src/app/datagrid/datagrid.component.html
Steps to reproduce the behavior:

Click on the shipping column filter
Click on the calendar to open the date picker
See error

Expected behavior
Should be opened in front of the datagrid filter.
Versions
Clarity project:

[ ] Clarity Core
[x] Clarity Angular/UI

Clarity version:

[ ] v3.x
[ ] v4.x
[x] v5.x

Framework:

[x] Angular
[ ] React
[ ] Vue
[ ] Other:

Framework version:
Angular 11.2.5
Device:

Type: [e.g. Desktop]
OS: [e.g. Windows 10]
Browser [e.g. Chrome]
Version [e.g. 90]

Additional notes
The default <input type="date"/> from browsers (firefox/chrome) works as expected

@mrmokwa Thank you for reporting this.

Duplicate of #4827


Where is the SNAPSHOT status and where to find them?

Hi,
With the long write feature not included in the latest release, I found it's hard to get the status of SNAPSHOT, so what version snapshot currently is and where to find them?
I tried compile 'com.polidea.rxandroidble:rxandroidble:1.2.0-SNAPSHOT' with default jcenter setting and failed.

Add maven { url "https://oss.sonatype.org/content/repositories/snapshots" } under repositories.

And what do you mean by status?

Version, location etc.
I do believe this issue is resolved.


No response from API calls.

I am unable to get a response back from the server using the latest code on GitHub. Is there any known issue?

@HarshDoug can you give us some more details?  What call did you make, what was the response? etc.  Thank you!

@denisekgosnell Either nothing appears in my console, or I get:
An exception occurred: java.net.UnknownHostException: platform.pokitdok.com: nodename nor servname provided, or not known
Thank you!

  Were you stepping through the java quick start? if so, at what step in this process did this occur?

yeah, I tried the java quick stop, and other java examples. This is the latest test code I tried to use. I imported all the resources from maven. I took out my id and secret before posting this, but everything else is the same. Do you work for Pokitdok? I was told I can get Slack support. I am asking because I am currently competing in a api completion for my employer.
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import main.java.com.pokitdok.;
import org.json.simple.;
import org.json.simple.parser.ParseException;
    public class PokitDokTest {
        public static void main(String argv[]) {

        	   try {
          PokitDok pd = new PokitDok("xxxx, "xxxx);

    //
         StringBuffer eligibilityRequest = new StringBuffer();
          eligibilityRequest.append("{");
          eligibilityRequest.append("\"member\": {");
          eligibilityRequest.append("\"birth_date\": \"1970-01-01\",");
          eligibilityRequest.append("\"first_name\": \"Jane\",");
          eligibilityRequest.append("\"last_name\": \"Doe\",");
          eligibilityRequest.append("\"id\": \"W000000000\"");
          eligibilityRequest.append("},");
          eligibilityRequest.append("\"provider\": {");
          eligibilityRequest.append("\"first_name\": \"JEROME\",");
          eligibilityRequest.append("\"last_name\": \"AYA-AY\",");
          eligibilityRequest.append("\"npi\": \"1467560003\"");
          eligibilityRequest.append("},");
          eligibilityRequest.append("\"service_types\": [\"health_benefit_plan_coverage\"],");
          eligibilityRequest.append("\"trading_partner_id\": \"MOCKPAYER\"");
          eligibilityRequest.append("}");
    //
          Map eligibilityQuery = (JSONObject) JSONValue.parse(eligibilityRequest.toString());
          Map<String, Object> response = pd.eligibility(eligibilityQuery);
          System.out.println(response);
        }
        catch (Exception e) {
          System.out.println("An exception occurred: " + e.toString());
        }

        }
    }

@HarshDoug yea! I am PD's tech evangelist.  you can join our slack channel here to get more support as well: https://pokitdok-hackathons.slack.com/signup
I am also looking through the code you posted here, let's move to slack so that I can dig in further.

@HarshDoug We realized that this issue was due to our readme stating to use the connect() method.  Thank you!  we updated the readme, here: https://github.com/pokitdok/pokitdok-java/pull/14


aur: allow overriding aur lib_dir at build time.

To facilitate the customization of the aur wrapper, allow overriding the
lib_dir that becomes hardcoded in aur.
This can be useful in situations where the user wants to have multiple
installs running from different lib_dir's. While you can, this should
not be used to bypass the limitation that you cannot override default
scripts using aur-scripts in your $PATH.
If you do it, do it at your own risk.

:+1:


Improve copyright section

Is your feature request related to a problem? Please describe.
There should be a developer profile link attached with the developer name in the copyright section.
Describe the solution you'd like
When a user click on the name, it will redirect to the LinkedIn/GitHub profile of the developer.
Screenshots

@rtewari056 Go ahead
Redirect it to my linkedin page : www.linkedin.com/in/arun-g-nayak
Star the repo ⭐ to show your love.


Updated dependencies

Certain dependencies have moderate vulnerabilities. This updates the
dependencies so that (a few) of these dependencies are resolved and no
longer appear in npm audit

Thanks a lot 😄 Released as 0.8.0 👍


It looks like with Zed Preview the panel state is toggled every time the editor is opened.

It looks like with Zed Preview the panel state is toggled every time the editor is opened.
Environment
Zed: v0.119.8 (Zed Preview)
OS: macOS 14.2.1
Memory: 16 GiB
Architecture: aarch64
https://github.com/zed-industries/community/assets/16290753/72b29b5a-32f8-4da4-bc96-4795571df848
Originally posted by @Moshyfawn in https://github.com/zed-industries/community/issues/1168#issuecomment-1890847018

This is something I've been dealing with too, but others on the team have said they haven't ran into it. Looks like we got the first user outside of the team experiencing it. This bug is driving me crazy!

Oh no, one of those floating bugs 🤦
It's important to note that in my case it's only reproducible when no files are open.
I've also found that it affects the right dock too! Note that when the editor is reopened, instead of the right dock being open, the Assistant panel is open instead.
https://github.com/zed-industries/community/assets/16290753/aa16e32f-dafb-4878-af5b-eadab2ea79a5

It doesn't seem to affect the bottom terminal panel or the Assistant panel specifically, even though it appears to be the same dock element.

For me, its the left dock every time and I have that dock set to the assistant - it always opens the assistant history.

For me, its the left dock every time and I have that dock set to the assistant - it always opens the assistant history.

Fair enough. I decided to test with the default layout, as I thought it would be a bit easier to debug/explain the use case.
But yes, opening the dock on the side where the Assistant panel is currently configured will cause the Assistant history to open over the dock panel.

This should be fixed in v0.119.9-pre - please reopen if the issue persists.

@JosephTLyons the Chat panel is still closed for the Assistant panel to reopen.

@Moshyfawn - if you toggle your docks a few times and then close them all, then close and reopen the app, do any docks reappear?

@Moshyfawn - if you toggle your docks a few times and then close them all, then close and reopen the app, do any docks reappear?

The docks don't reappear after opening and closing them a few times.
Leaving the Chat panel open causes the Assistant panel to open when the editor is reopened.
https://github.com/zed-industries/community/assets/16290753/53cbfecc-c61e-4a95-b48d-2ea00504b75e

Let's reopen this then - sorry for the confusion here. Thanks @Moshyfawn.

@Moshyfawn where is your Terminal docked? My theory is that we're persisting the dock state (whether it's closed or not), but we always set them with following priority:

project panel
terminal panel
assistant panel
channels panel
chat panel
notification panel
If that's right, I suppose neither project panel nor terminal panel are docked to the right in your setup.

The terminal is docked at the bottom, as per the default configuration. The Project Panel is docked on the left for testing purposes 😋

Thanks for reporting! This will be fixed in the preview release later today

This should be shipped in v0.119.16-pre.

Can confirm 👍


Syntax: Use literals for inline-cpp

This comes with the extra benefit of having syntax highlighting for these blocks now
If we want to retain the string logic, I could try getting the same running in with the strings
but this way seems nicer.
The syntax was tested in VSCode by me and in CLion by @alimpfard
I could not fully verify this work because cargo test does not seem to do work out of the box for me

Sure!

We'd need a C++ lex of the block for this to work, I think. Cases like { "}" }, { '}' } and so on would also cause problems

one more small typo: editors -> editor's. Could probably also say inline C++ for readability :)
Implementation wise it's a nice change I guess, but falls apart really quickly:
cpp {
    /* } */
}

...so I'm not sure how I feel about it.

Can we avoid this problem by using markers similar to C++ raw string literals?
Something like this:
cpp ~~~{

~~~}

It looks a bit weird, but it's the closest thing we already have today that I could think of :shrug:

Let's close this as it's currently completely outdated. We can bring it back if we intend to work on this in the future.


error on setup

Creating package (this may take a while)
[Error: Error creating package: Error executing file (spawn mono ENOENT):
mono /usr/local/lib/node_modules/electron-installer-windows/vendor/nuget/NuGet.exe pack /var/folders/z_/yxr814_533d817mfcglr1njr0000gp/T/electron-116323-1825-k26tmn/e3c_1.0.0/nuget/e3c.nuspec -BasePath /var/folders/z_/yxr814_533d817mfcglr1njr0000gp/T/electron-116323-1825-k26tmn/e3c_1.0.0/e3c -OutputDirectory /var/folders/z_/yxr814_533d817mfcglr1njr0000gp/T/electron-116323-1825-k26tmn/e3c_1.0.0/nuget -NoDefaultExcludes
] 'Error: Error creating package: Error executing file (spawn mono ENOENT): \nmono /usr/local/lib/node_modules/electron-installer-windows/vendor/nuget/NuGet.exe pack /var/folders/z_/yxr814_533d817mfcglr1njr0000gp/T/electron-116323-1825-k26tmn/e3c_1.0.0/nuget/e3c.nuspec -BasePath /var/folders/z_/yxr814_533d817mfcglr1njr0000gp/T/electron-116323-1825-k26tmn/e3c_1.0.0/e3c -OutputDirectory /var/folders/z_/yxr814_533d817mfcglr1njr0000gp/T/electron-116323-1825-k26tmn/e3c_1.0.0/nuget -NoDefaultExcludes\n\n    at /usr/local/lib/node_modules/electron-installer-windows/src/installer.js:273:21\n    at ChildProcess. (/usr/local/lib/node_modules/electron-installer-windows/src/installer.js:62:5)\n    at emitTwo (events.js:105:20)\n    at ChildProcess.emit (events.js:185:7)\n    at maybeClose (internal/child_process.js:850:16)\n    at Socket. (internal/child_process.js:323:11)\n    at emitOne (events.js:90:13)\n    at Socket.emit (events.js:182:7)\n    at Pipe._onclose (net.js:477:12)'

The error message implies that you don't have mono installed. Please read the README.md, it states the system requirements at the very beginning.

I have mono and wine installed via brew and got a similar error when building on OSX for windows.

@fyee @austinmayer, just tried building the example app on OSX with Node 4.4.3 and things work fine, and Travis CI builds are green, so this suggests an environment problem.
Can you clone this repository, cd into the example directory, and run the following?
$ DEBUG='electron-installer-windows' npm run build

@austinmayer what does similar mean? Is it the same error or not? Can you paste the output of the command above? Also, please specify which version of Node and npm you are using.

Closing for now. You can reopen if you provide repro steps.

I had this same exact issue. For me, the issue was solved by insuring the name in my package.json file was the same as the exe file name to be package. For example:
package.json
{
  "name": "someApp",
  ...
  "scripts": {
        "package": "electron-packager . someApp --overwrite --platform=win32 --arch=x64 --asar=true --out=./release",
  }
}


Done improvement #9334

Issue Reference
Done improvement #9334

@shivendra-webkul
Checked and Founs that the improvements have been done and working fine. Please check the Screenshot for reference here


Confidence score

Is it possible to get confidence score for words with ctc_wfst_beam_search?

Of course, ctc_wfst_beam_search use exactly the same decoder as Kaldi, you can refer kaldi for how to compute the word confidence.

Did you integrate per-word confidence @Freddy-pp ?


html5lib: bump version

Use setuptools instead of pip install
Add another import in test section

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

Thanks @nehaljwani.


Fix SVGs in Safari

SVG images weren't being displayed correctly in Safari when using HBFileMiddleware. Following a little investigation, it looks like Safari will only treat SVGs as images if they have the 'image/svg+xml' MIME type, whereas both Firefox and Chrome are more than happy to display them with the 'image/svg' MIME type, perhaps explaining why this wasn't seen earlier. Nginx reports SVG images as 'image/svg+xml'.
This change updates the mapping from the '.svg' extension to the 'image/svg+xml' MIME type to bring it in-line with Nginx behaviour (and presumably that of other servers).
I have verified that Safari displays SVG images correctly with this change, and Chrome and Firefox also continue to behave correctly.

Thank you for this

@adam-fowler Thanks for such a quick merge! 🙏🏻


Incompatible with recent pip versions

Trying to run
python setup.py

with recent versions of pip (I am using pip 18, but I believe the problem is with any version >= 10) I am getting the following error:
Traceback (most recent call last):
  File "setup.py", line 7, in <module>
    pip.main(['install', 'appdirs'])
AttributeError: module 'pip' has no attribute 'main'

Note: A similar error message is shown when running pip install pracmln

This issue was resolved in PR #19. However, that PR has not been merged yet.
You can downlaod the pracmln source, and apply the changes yourself to fix this error for your local computer. Please revert back on this thread if this doesn't work.

Pip no longer provides direct access to main; it has to be fetched from pip_internal.
The fix in PR #19 works, but still requires using main. Also, it requires a manual install, rather than install via Pip, since the fetched package on pip does not have the workaround merged into it. I am under the impression that similar results can be achieved with 'subprocess', which is what the pip documentation reccomends:
import subprocess
subprocess.check_call(["python", '-m', 'pip', 'install', 'appdirs'])
Just dropping this in won't do the trick though, since it appears to introduce some dependency issues with distutils. For instance, I got an error thrown from the conjunction of the code above and the invocation of:
distutils.command.install.install
I'm sure there's a simple workaround for this, but I haven't spent enough time thinking about it.

Fixed in release 1.2.4.


How to see signatures of function's overloads?

Is there any way to see all signatures of functions's signatures? Currently popup shows only first signature and number of its overloads like +n.

The show up as snippets when you are in the calling context i.e. (:

Note that autocomplete isn't triggering correctly in this case. https://github.com/atom-community/autocomplete-plus/issues/329 so you need to trigger it manually (ctrl + space).
I will close https://github.com/TypeStrong/atom-typescript/issues/23 once that is resolved :rose:


Docs are  not clear that just editing the Team description or Avatar would trigger naming policy.

Docs states that "It gets applied when a user creates a group and when group name or alias is edited for an existing group.". But it also is applied for existing teams when in Edit Team feature if the description/avatar are changed. That too triggers the Naming Policy as well. Even just clicking "Update" and not changing anything triggers it as well. That should be clearly defined not just "when group name or alias is edited".

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

ID: b42caf5d-70e6-9898-7af2-91b5b5f4f9bd
Version Independent ID: d73b64aa-cef0-4327-78f5-c2a53dbeb8c3
Content: Microsoft 365 groups naming policy
Content Source: microsoft-365/solutions/groups-naming-policy.md
Service: o365-administration
GitHub Login: @MikePlumleyMSFT
Microsoft Alias: mikeplum

@kzbierski Thank you for your feedback. We have made changes to the document and the same can be tracked via PR#https://github.com/MicrosoftDocs/microsoft-365-docs/pull/3803
Thanks
Sri

@msbemba Thank you very much for the contribution and updating the documentation with PR. @kzbierski Hope this update is helpful for you. Thanks for taking out some time to open the issue. Appreciate and encourage you to do the same in future also.

@msbemba Thank you very much for the contribution and updating the documentation with PR. @kzbierski Hope this update is helpful for you. Thanks for taking out some time to open the issue. Appreciate and encourage you to do the same in future also.


There will be an error when building with swc-core 1.7.0 version

https://github.com/canyon-project/canyon/blob/94ebe1ed20b80d0b9128e8f90da66db445be71b1/packages/canyon-platform/vite.config.ts#L12
This is my SWC plugin configuration. When I use the latest swc-core(1.7.0), there will be an error message.
transforming (1) index.htmlthread '' panicked at /Users/ojkwon/.cargo/registry/src/index.crates.io-6f17d22bba15001f/rkyv-0.7.44/src/impls/core/mod.rs:266:67:
called Result::unwrap() on an Err value: LayoutError
note: run with RUST_BACKTRACE=1 environment variable to display a backtrace
thread '' panicked at /Users/runner/.cargo/registry/src/index.crates.io-6f17d22bba15001f/swc-0.282.0/src/plugin.rs:169:14:
failed to invoke plugin: failed to invoke plugin on 'Some("/Users/zhangtao/github.com/canyon-project/canyon/packages/canyon-platform/src/main.tsx")'
Caused by:
0: failed to invoke<EMAIL_ADDRESS>as js transform plugin at<EMAIL_ADDRESS>1: failed to run Wasm plugin transform. Please ensure the version of swc_core used by the plugin is compatible with the host runtime. See https://swc.rs/docs/plugin/selecting-swc-core for compatibility information. If you are an author of the plugin, please update swc_core to the compatible version.
                    Note that if you want to use the os features like filesystem, you need to use `wasi`. Wasm itself does not have concept of filesystem.
2: RuntimeError: unreachable

note: run with RUST_BACKTRACE=1 environment variable to display a backtrace

same issue here

From what i can see in the compatibility table, this plugin is not yet compatible with @swc/core v1.7.0 (https://plugins.swc.rs/versions/range/16).
The latest version supported seems to be 1.6.7 (https://plugins.swc.rs/versions/range/15).

There's a PR https://github.com/kwonoj/swc-plugin-coverage-instrument/pull/243 but it is not passing CI yet.

There's a PR #243 but it is not passing CI yet.

#243 test is passed on local. Not understand why it's failed...

There's a PR #243 but it is not passing CI yet.

#243 test is passed on local. Not understand why it's failed...

maybe forget to update @swc/core 1.7.x in package.json? ref


New goroutine

How do you make this work with new go routines?
progressWrite := uilive.New()
progressWrite.Start()

for i := 0; i <= 100; i++ {
	go func() {
		fmt.Fprintf(progressWrite, "Downloading.. (%d/%d) GB\n", i, 100)
		time.Sleep(time.Millisecond * 20)
	}()
}

Any suggestion on this? Really need to figure out how i can use goroutines and still use uilive

Hi @brianvoe ,
Could you elaborate on what you are trying to achieve here? Why do you need 100 go routines to run a single progress bar?
https://github.com/gosuri/uiprogress
This library would be more suitable for you.

Would like have multiple progress bars going at once. Something like this.
============---> 75%
=====-------------> 25%
=============== 100%
Ill look out for your answer next year. haha jk

Perhaps this is what you need
https://github.com/gosuri/uiprogress


Allow only one job instance to run at a time

Is your feature request related to a problem? Please describe.
Currently I use lockAtLeastFor as PT5M and lockAtMostFor as PT2H for a job which is running every 5 mins.
if due to environment issues he job doesnt complete in 2hours ,second instance of the job is triggered.I want if teh job is running,no other instance should get triggered.
Describe the solution you'd like
Some parameter like allow only once instance to be run.
Describe alternatives you've considered
NONE
Additional context
NONE

You can try https://github.com/lukas-krecan/ShedLock#keepalivelockprovider


user permissions error: Cannot read property 'findOne'

Hi,
when i try to change APIs permissions for users i getting this error:
{"level":"error","message":"TypeError: Cannot read property 'findOne' of undefined\n    at exports.update (/usr/local/src/magoware/modules/mago/server/controllers/grouprights.server.controller.js:44:13)\n    at Layer.handle [as handle_request] (/usr/local/src/magoware/node_modules/express/lib/router/layer.js:95:5)\n    at next (/usr/local/src/magoware/node_modules/express/lib/router/route.js:137:13)\n    at next (/usr/local/src/magoware/node_modules/express/lib/router/route.js:131:14)\n    at Route.dispatch (/usr/local/src/magoware/node_modules/express/lib/router/route.js:112:3)\n    at Layer.handle [as handle_request] (/usr/local/src/magoware/node_modules/express/lib/router/layer.js:95:5)\n    at /usr/local/src/magoware/node_modules/express/lib/router/index.js:281:22\n    at Function.process_params (/usr/local/src/magoware/node_modules/express/lib/router/index.js:335:12)\n    at next (/usr/local/src/magoware/node_modules/express/lib/router/index.js:275:10)\n    at serveStatic (/usr/local/src/magoware/node_modules/serve-static/index.js:75:16)\n    at Layer.handle [as handle_request] (/usr/local/src/magoware/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/usr/local/src/magoware/node_modules/express/lib/router/index.js:317:13)\n    at /usr/local/src/magoware/node_modules/express/lib/router/index.js:284:7\n    at Function.process_params (/usr/local/src/magoware/node_modules/express/lib/router/index.js:335:12)\n    at next (/usr/local/src/magoware/node_modules/express/lib/router/index.js:275:10)\n    at hsts (/usr/local/src/magoware/node_modules/hsts/index.js:52:5)","timestamp":"2019-03-29T11:54:45.210Z"}

I added manual permissions to sql, and now all permissions for the admin user are enabled

I added manual permissions to sql, and now all permissions for the admin user are enabled. img but API post always returns {"message":"User is not allowed"}.  similar to this  . I'm using the latest version clean install
ubuntu - 16.04.6 LTS
node - v8.15.1
MySQL - 5.7.25
+------------------------+
| @@sql_mode             |
+------------------------+
| NO_ENGINE_SUBSTITUTION |
+------------------------+
Can you help me with this?

Hello @hor4net
Please receive the new update of the management system and test again the issue
Regards


[SMALLFIX] Java 8 Improvement: replace anonymous type with lambda in alluxio.web.WebInterfaceMasterMetricsServlet#populateClusterMetrics

Jenkins, test this please to raise another test.

Jenkins, test this please

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/829/
Test PASSed.


use vagrant-private.key for passwordless ssh access

use vagrant-private.key for passwordless ssh access

I've 90% done tweaking the Vagrant SSH multiplexing code[0] into a helper module that Veewee then uses for its ssh.
This should be passwordless from the get go :)
Closiong this pending the pull request, which will be against the veewee03 branch...


Avoid showing dupricated figure in pulse visualizer

Summary
fixes #2449
Details and comments

Closing as I have merged #2515 (did not see this PR until after). If this PR accomplishes improvements in addition to those of the above PR, please re-open with a comment explaining the remaining changes.


Input field is not compatible with special character input or non-English IME

Steps to reproduce:

Visit http://elm-lang.org/edit/examples/Reactive/TextField.elm with a Mac.
Type "abcd" in the field.
Move caret to between 'a' and 'b'.
Long press key 'e', the OSX will show a list to choose different diacritical mark.
choose 'è'.

Expected result:
The final text in the text field should be 'aèbcd'
Current result:
The final text is: 'aebèd'.

I moved this over to the elm-lang/core repo where the root of the bug is. Thanks for the report!
https://github.com/elm-lang/core/issues/272


Sus003 view case details

Motivation and Context

This change adds the page to be able to view the social case details along with unit tests
What has changed

Added new UI for page along with CSS and banner
New controller to access sample attributes
Unit tests
How to test?

Run unit tests against the code, wont able to view the page properly until https://github.com/ONSdigital/response-operations-ui/tree/find_case_by_postcode is merged in
Links

Screenshots (if appropriate):

 SUS003: View Case Details (8)

Looks good when tested locally against the social setup scripts.


[orleans] Update Service Fabric hosting guidance

Issue description
We need to update the guidance for hosting Orleans applications in Service Fabric. The current guidance here relies on a now-deprecated package. We now recommend that developers integrate with Service Fabric's ICommunicationListener interface using the .NET Generic Host like in this example: https://gist.github.com/ReubenBond/83a08cfdc77d6232f97ec531e377fdc4
Target framework

[x] .NET 7.0

Associated WorkItem - 44870

Related to dotnet/orleans#8203


Converting Amiga IPF to SCP - Splice level

Hi Keirf,
I have tried converting Amiga games from IPF to SCP format several times and it works really well (much better than the HxC utility).
For example, the game Stormlord, the HxC utility converts it wrong resulting in an unplayable disc. However the GW converts it perfectly and you can play it on emulator or in real Amiga when writing the SCP to disk.
However, the resulting SCP files have a Splice Level of 2 and cannot be changed (or I don't know). Would it be possible to add an option to be able to convert the IPF's to a splice level of 3, 4 or 5?
Thanks and best regards.

What is "splice level"?

From the SuperCard Pro Manual
"Copy Mode
The Copy Mode is the method that will be used to copy or image a disk.
INDEX - uses the index pulse to capture a single revolution. Most all
commercially produced disks can be copied/imaged using this copy mode.
SPLICE - uses an intelligent method to determine where the track start/stop
is located. When imaging a disk, you can choose the number of revolutions
to capture. This handy for 3rd party programs that analyze the disk format
and create image files from the raw flux image. This copy mode is
substantially slower, but provides a solution for tracks that were not written
using the index mark when created."
Convert option of HxC make SCP's with Splice Level of 3, but many of them results on not working images/disks.
Convert option of GW make SCP's with Splice Level of 2 (two accuracy revolutions), from now all images/disks works fine.
Obviously the GW conversion algorithm is much better.
My question is if you could add the option Splice Level (Revs to read per track) in the conversion algorithm from Amiga IPF to Amiga SCP
Thanks and best regards.

Ah, revolutions per track in the output SCP image! Hmmm well that makes sense. I'm not sure how easy it is for me to implement in my current pipeline. Let me have a look.

Is there a particular specific reason to want more revolutions ("splice levels") by the way?

With two revs the real disks works, but it is noticeable that the floppy drives have a harder time reading the disks (they become very noisy), although they read them without problems.
With more revs (disks from SuperCard Pro), it seems that the floppy drives suffer less, they are less noisy when reading the disks on real Amiga's.
Tests made with GW and SuperCard Pro, with DD disks and floppy drives in perfect condition.

How is the Greaseweazle generated SCP written to real disk?

Sorry for the delay to answer, I have been doing more tests with different games.
Examples:
Stormlord
Converted from IFF to SCP works perfect on emulators and can write back OK to real disk.
Readed real disk with GW with 2, 3 or 4 revs, works only on emulators, can't write back OK to disk (some time works, but 95% of times not).
Spell Bound (Psygnosis), Speedball and Strike Force Harrier games
Converted from IFF to SCP works perfect on emulators and can write back OK to real disks.
Readed real disks with GW with 3 or 4 revs, works on emulators and can write back OK to disks but, with 3 or 4 revs the floppy drive works less noisy compared with the 2 revs disks.

Not that it's very important, I just wondering if there was a possibility since floppy drives work a bit quieter with more revs per track.

I don't think any of this has much to do with number of revs in the SCP image. In any case, writing to disk from SCP generated from IPF is not a recommended operation: Simply write the IPF directly to disk.

The idea is to have SCP images that can be used in emulators and can be written to real disks like "SCP Preservation Images".
Anyway, if you think it's not useful or necessary, no problem.
Thank you very much as always.

In general conversion does not produce a superior preservation image. I always recommend to keep original raw dumps for copy protected disks. Also IPF is good as it is generated from an awareness of the copy protection track formats. "Dumb" downstream conversions from these two are basically always inferior (to a first approximation) except for specific use cases: eg hfev3 to use in floppy emulator.

I'm not actually sure that SCP as a downstream format is useful at all! It's useful for original raw dumps mainly. Perhaps it's also useful for downstream tools that accept say SCP and not IPF (for example). In that case it would be an intermediate format only, or for a single use case, rather than your "gold image".

We have different opinions :) ... IPF files are small in size but you can't produce IPF files like the SPS even with your Disk Utilities. In the other hand you need the dll's to read IPF files in emulators.
SCP files are bigger but you can create your images/disk with cheap hardware (one SuperCard Pro is not needed, just the Greaseweazle) and free software and you don't need any dll to use the images in emulators like WinUAE.

Yes an SCP raw dump is fine. That is quite a different thing than a generated SCP (from IPF or whatever). Also of course you can already create an SCP raw dump with however many revolutions you like.

Yes but this not work fine on games like Stormlord ... just convert IPF to SCP and write the SCP to disk.
In can't create a perfect SCP image from real disk using Greaseweazle or SuperCard Pro ... 2, 3, 4, o 5 revs ... no way ...

Well don't do that. Write the IPF to disk. No SCP .
The raw SCP dump is probably fine but without knowing where the write splice should be it can't be written back to disk unless the write splices are all at the index. On some Amiga disks this isn't the case. Also weak bits would not be treated correctly for writeback either. I guess SCP isn't a good writeback format usually.

I love the SCP format :)
About the SCP format ...


Clean up sample_rate_offset() and frequency_offset()

Fixes #343

Codecov Report
Attention: Patch coverage is 27.27273% with 8 lines in your changes are missing coverage. Please review.

Project coverage is 79.33%. Comparing base (1e1bb5a) to head (666ff3e).

Files
Patch %
Lines

src/sdr/_simulation/_impairment.py
20.00%
8 Missing :warning:

Additional details and impacted files
@@                Coverage Diff                @@
##           release/0.0.x     #368      +/-   ##
=================================================
- Coverage          79.40%   79.33%   -0.07%
=================================================
  Files                 63       63
  Lines               3782     3770      -12
=================================================
- Hits                3003     2991      -12
  Misses               779      779

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


EPMLABSBRN-397: FE: Update Angular up to 11 version

EPMLABSBRN-397
Updated Angular to 11 version

@DmitriyStoyanov  could you please check this build process as it hang on second time


improve vredis2

[ ] write decoder part for vredis_encoder2
[ ] write tests for encoding/decoding
[ ] make sure the client to redis uses this encoder/decoder
[ ] make sure the server part uses this encoder/decoder

test with a local redis. where we do hsets. gets, implement queue, ...


CKR_DEVICE_MEMORY

hi, i got this error continuously when i do :
session.GenerateKeyPair(mechanism, publicKeyAttributes, privateKeyAttributes, out publicKey, out privateKey);
how can i solve this error?
thank you

i used pkcs#11 Admin to delete public and private keys generated


Update README.md

I changed the website "LSST DESC" and changed the sentence for the Pangloss.
I changed the "save" syntax in a one spot; I thought it would be clear.
Changed spellings: Conflict (was Konflict), Project (was Projekt), follow (was Phollow), rule (was rool), messages (was messinges) etc.

Nice work! I'm going to close this PR so other's can finish the assignment.

Thanks, Adam!
See you on Monday,
Best,
Prabhani
On Sun, Nov 4, 2018 at 9:32 AM Adam Miller<EMAIL_ADDRESS>wrote:

Closed #56 https://github.com/adamamiller/GettingStarted/pull/56.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/adamamiller/GettingStarted/pull/56#event-1944845028,
or mute the thread
https://github.com/notifications/unsubscribe-auth/Ab7af3A7kL2rp-DznSWRpRM5Ea1AZhjfks5urvqEgaJpZM4YNUSz
.


Scrape stories with hashtag & getting metadata

How can i scrape stories with a specific hashtag?
e.g. instaloader --login user --stories-only "#myhashtag"
AND getting metadata for these stories.
Thanks.
#instaloader #awesome #stories #hashtags ;-)

I am not sure whether it will give you exactly what you need, but you could try this :
instaloader --login user --stories-only --post-metadata-txt="{owner_username};{date_local};{date_utc};{likes};{comments}." --filename-pattern={date_utc:%d-%m-%Y}_UTC_{profile} “#xxx”

hi guys, i need this implementation


The searchbox label text is misaligned in IE11

The searchbox label text is shifted down and to the left in IE11
003.zip

Verified on beta.  Closing as resolved.


Jupyter notebook can't launch the program correctly, but  anaconda prompt can.

Please make sure that this is a build/installation issue. As per our GitHub Policy, we only address code/doc bugs, performance issues, feature requests and build/installation issues on GitHub. tag:build_template
System information

OS Platform and Distribution: Windows 10
TensorFlow version: 2.3.0
Python version: 3.7.11
Installed using virtualenv? pip? conda?: conda
CUDA/cuDNN version: 10.1

Describe the problem
With Anaconda, I create a virtual environment to install the cpu version of tensorflow. The System information is shown above. I install tensorflow using the command conda install tensorflow that deals with dependency automatically.
It appears to be normal when I run some basic example in "anaconda prompt".
But when I try to run these in "Jupyter Notebook". The kernel can't restart and turns to be dead finally.
Then I downgrade the version of "numpy". It raises the problem about "numpy import error":

@Beliefuture ,
Installation issues within the Anaconda environment are tracked in the Anaconda repo.Also please try to downgrade the numpy version and try installing latest stable tensorflow v2.6 from here.It helps.Thanks!

@Beliefuture ,
Installation issues within the Anaconda environment are tracked in the Anaconda repo.Also please try to downgrade the numpy version and try installing latest stable tensorflow v2.6 from here.It helps.Thanks!

Thanks for your reply. It seems to be the version of numpy, pyzmq, h5py. I previously think that "conda" will manage the version dependency well. But it is apparently not.


Added Mammoth Networks to Hosting

Argh, whitespace typo.

Reopening with a fix for the whitespace typo in hosting.yml.

Great. Are there any better doc urls? Other than this post all I can see is one behind a login page.


Try noarch

We hit a conda-build bug when trying noarch in #7, let's see if that is fixed in the latest version.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

@msarahan whatever bug we hit in https://github.com/conda-forge/cc-plugin-glider-feedstock/pull/7#issuecomment-329035262 is now fixed. Thanks!
Ping @gillins who had a similar issue with rios.

hooray!  All kinds of bugs closed today that I didn't intentionally fix!  Unfortunately, that probably also means there isn't a test to prevent a regression.


Some Phone masks seem to be wrong (luxembourg)

Obviously I do not test every country, but for Luxembourg, for example, the mask seems erroneous.
After the prefix 352 there can be a variable number of digits, between 6 and 9. (https://en.wikipedia.org/wiki/Telephone_numbers_in_Europe)
But with inputmask I have to put 9 digits after the prefix.
How can I correct this in phone.js?
Thank you.

After looking more closely at phone.js, and some tests, I rep)laced the luxembourg mask with these lines, and it seems to work
{ "mask": "+352-###-###", "cc": "LU", "cd": "Luxembourg", "desc_en": "", "name_ru": "Люксембург", "desc_ru": "" }, 				{ "mask": "+352-####-###", "cc": "LU", "cd": "Luxembourg", "desc_en": "", "name_ru": "Люксембург", "desc_ru": "" }, 				{ "mask": "+352-#####-###", "cc": "LU", "cd": "Luxembourg", "desc_en": "", "name_ru": "Люксембург", "desc_ru": "" }, 				{ "mask": "+352-######-###", "cc": "LU", "cd": "Luxembourg", "desc_en": "", "name_ru": "Люксембург", "desc_ru": "" },

@DonDiegoAA ,
Can you send a PR for the changes.

I sent the PR, but I'm not sure that my new masks are optimized.
Thank you for this great plugin.

@DonDiegoAA ,
Thx!


Enforce consistent naming of articles in the menu

Titles in the menu (sidebar) were not consistent with the titles of the articles.

Closing this PR as it seems that this repo doesn't have a maintainer anymore.
Feel free to reopen and merge this PR if things change.


path err when i save my template

@LuoooB this has been fixed, but might not have been officially released.
Please try building the latest version of the code and use that.
It should be duplicate of: #40

Closing this. As stated by @forgedhallpass, this is a duplicate of #40.


Add a new service pgss_dealloc

Hello!
This conversation on hackers  remind me that pg_stat_statements deallocs should me monitored.
I suggest adding such service.
Cheer

If the number of dealloc per second is too low, we can change it to number of dealloc per millisecond.

Yeah, I shouldn't report rate as perfdata. I will change it to a counter. But for the threshold, I don't see other way.
We can't use a threshold as a raw value. For example, if you have 1 dealloc every minute, once you reach 100 (if it is your threshold). The check be critical even if there is no more deallocation.
My idea is to, first graph the dealloc rate. For example, I will give you a mean rate of 100 dealloc between 5 minutes. Then, you add a threshold at 500. That means if you reach this threshold, your workload has changed. And, you should understand why you have an increase in dealloc rate before hitting production issue.

Hi guys,
Instead of working on rates, the threshold can apply on delta since last call. I think this is what @anayrat explains in his last message, is it?
So you plan to keep working on it @anayrat?

Hello,
Yes, I can use the delta since last call as a threshold.
I will work on this.

Hello,
I added more checks, replaced rate by dealloc delta and rephrased service description.
If you want to test :
Run a pgbench with
\set id random(1,1000000)
set client.id = :id

And enable pg_stat_statements.track_utility with a low pg_stat_statements.max


[Feature Request]: Support deepbricks API

Problem Description
It doesn't seem to support deepbricks API.
Solution Description
support deepbricks API.
Alternatives Considered
No response
Additional Context
No response

+1

您好，您发给我的信件已经收到~祝您生活愉快！--------------------------------------------厚德致远，博学敦行This is an automatic reply, confirming that your e-mail was received.Thank you

+1

+1


Now bower.json is fine.

Sorry for the double pull request. I was trusting bower wizard too much.

not a problem

thank you :)


[WIP] 380 Enhance 2D test images and labels

Signed-off-by: Nic Ma<EMAIL_ADDRESS>Fixes #380 .
Description
This PR updated the 2D segmentation examples to use 0 ~ 255 images and labels.
And also updated the arg name of UNet.
Status
Work in progress
Checks

[ ] Notebook runs automatically ./runner [-p <regex_pattern>]

Currently, with this PR, the test images and labels are clear to visualize:

Thanks.

Hi @yiheng-wang-nv ,
I think FL tutorial should work with specific MONAI version, so I didn't change the args in FL part.
Thanks.


500 - Server ERROR

it is impossible to import a playlist, there is an error - 500 Server ERROR

Fixed in ebddd9f


Q: Can the output server/node be specified within the message?

Hi,
Can't find in the docs how to define the node server (IP) within the payload message.
Can the target node/server be defined within the incoming payload? if so, what's the syntax?
I've spent 30 mins trying loads of variants...
Thanks

It isn't possible. If you are doing that level of customization via incoming payload I suggest just directly using an HTTP Request node and calling the WLED JSON API directly.

Thanks for the response.


Missing documentation of "Keep current state" in "Post Execution State"

Post Execution State documentation mentions 3 options. There are now 4. The "Keep current state" option is not mentioned here:
https://docs.microsoft.com/en-us/azure/cognitive-services/speech-service/custom-commands-references#post-execution-state

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

ID: d4e62f29-4423-9e2d-5be2-8471581743e2
Version Independent ID: 3436a82a-ba1a-0b3a-7736-067fdbfe6258
Content: Custom Commands concepts and definitions - Speech service - Azure Cognitive Services
Content Source: articles/cognitive-services/Speech-Service/custom-commands-references.md
Service: cognitive-services
Sub-service: speech-service
GitHub Login: @singhsaumya
Microsoft Alias: sausin

Also it's now "Complete the command" (not "Command completed")

@dargilco
Thanks for the feedback! We are currently investigating and will update you shortly.

@dargilco Thanks for your feedback again. I will update the document as above.
We will now proceed to close this thread. If there are further questions regarding this matter, please respond here and @YutongTie-MSFT and we will gladly continue the discussion.


PostgreSQL 12/14 DDL of a user role... no encrypted password?

If you use pgAdmin4 to effectively get the DDL of a user role, it includes the encrypted password, so that the user script can be used to replicate the role on a different server.
DBeaver DDL does not include the encrypted password.
Can it be made to do that?
ie
DBeaver:
CREATE ROLE auser WITH
	SUPERUSER
	CREATEDB
	CREATEROLE
	INHERIT
	LOGIN
	REPLICATION
	NOBYPASSRLS
	CONNECTION LIMIT -1
	VALID UNTIL 'infinity';

pgAdmin4:
CREATE ROLE auser WITH
  LOGIN
  SUPERUSER
  INHERIT
  CREATEDB
  CREATEROLE
  REPLICATION
  ENCRYPTED PASSWORD 'SCRAM-SHA-256$4096:<encrypted password>='
  VALID UNTIL 'infinity';

Thanks!

Thank you for the idea.


Support Auto Ads

I want to add Auto Ads to Nuxt project. But I don't see any option. Can you suggest to resolve this problem ? thank so much

This can be set through the options in your Adsense.


Have long-lived keys

WebRTC specifies that the key's TTL is 30 days. Would be nice to have longer lived keys to avoid lots of re-authentication. Can we change TTL programmatically? Do we need to do something fancier (use a key-chain), or wait for WebRTC2 ?
Plan:

DTLS webrtc keys get signed by user's master key.
Signalling messages are encrypted to remote's public key
Video-based ZRTP-style SAS commitment protocol is used to do key exchange
Out of band key-exchange is supported

Can this be closed, now that we are encrypting WebRTC signaling messages in JavaScript?

:+1:


replace the author's comment

trial

Nice but how about the other file?

I made the correction of email address on the other file so it is the same thing.

OK, I think you need to do another pull request in that case.

Ok. I did.
Sent from my iPhone

On Feb 5, 2015, at 9:44 PM, Raffi Khatchadourian<EMAIL_ADDRESS>wrote:
OK, I think you need to do another pull request in that case.
—
Reply to this email directly or view it on GitHub.

Awesome, thanks.

On Feb 5, 2015, at 22:56, ziyi<EMAIL_ADDRESS><EMAIL_ADDRESS>wrote:
Ok. I did.
Sent from my iPhone

On Feb 5, 2015, at 9:44 PM, Raffi Khatchadourian<EMAIL_ADDRESS><EMAIL_ADDRESS>wrote:
OK, I think you need to do another pull request in that case.
—
Reply to this email directly or view it on GitHub.

—
Reply to this email directly or view it on GitHub https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_cst1201-2Dd644_lab1_pull_6-23issuecomment-2D73179260&d=AwMFaQ&c=pRW6ZPn_LDv0DnDIAK65Ad0CA4hBS-2mAmNa2_oHfF0&r=ZWMXxXoMJXDPt1UmtqAbqkaR0taI35-hbHULr4xuoc_rqRVB5VCJXyB9HEfLF8Rw&m=unjbxedD0PtVNdpvLiRIgtExvEHiD1l3I8xzEHBAyQc&s=lqFGpX0i7llqGaLii9ocVZMZwML5bTJlqd7kI3o9wLg&e=.

Good job.


ClickAwayListener does not work with TextField

Library version: 2.0.0-alpha.3
Material UI version: 4.9.1
Formik version 2.1.4
Repro: Look in Console -> https://codesandbox.io/s/click-away-listener-jtkz5
Wrapping a TextField (from formik-material-ui) with a ClickAwayListener shows the following warnings in the console. It also prevents the ClickAwayListener from functioning correctly.
Replacing TextField with  withMuiTextField solves the problem.

Warning: Failed prop type: Invalid prop children supplied to ForwardRef(ClickAwayListener). Expected an element that can hold a ref. Did you accidentally use a plain function component for an element instead? For more information see https://material-ui.com/r/caveat-with-refs-guide
in ForwardRef(ClickAwayListener) (at demo.tsx:58)
in Formik (at demo.tsx:31)
in App (at index.tsx:6)

Warning: Function components cannot be given refs. Attempts to access this ref will fail. Did you mean to use React.forwardRef()?
Check the render method of ForwardRef(ClickAwayListener).
in FormikMaterialUITextField (at demo.tsx:59)
in ForwardRef(ClickAwayListener) (at demo.tsx:58)
in form (created by Form)
in Form (at demo.tsx:55)
in Formik (at demo.tsx:31)
in App (at index.tsx:6)

Looks like this is fixed in the latest version - https://codesandbox.io/s/click-away-listener-um65b

Still doesn't work. To replicate, bring up the popover by clicking on the "i" icon and then click on Submit. Desired result would be for the popover to go away. If you wrap the Field inside a div, it works as intended.

fixed by wrapping a Box around the field.
More info: https://material-ui.com/guides/composition/#caveat-with-refs.
To fix this in the library we would have to wrap all components in React.forwardRef and I don't think we should

Wrapping is the solution


nwm_client_new not available

Hi - I installed hydrotools using pip: https://pypi.org/project/hydrotools/ but when I try to import anything
from hydrotools.nwm_client_new I get:
from hydrotools.nwm_client_new.NWMFileClient import NWMFileClient
raceback (most recent call last):
File "", line 1, in
ModuleNotFoundError: No module named 'hydrotools.nwm_client_new'
Why is nwm_client_new not available in the pip version?
Thanks
Jim

This nwm_client_new package is still in beta and has not been deployed to PyPI yet. If you would like to test the new package, you can install the package directly from GitHub using:
$ python3 -m pip install git+http://github.com/NOAA-OWP/hydrotools.git#subdirectory=python/nwm_client_new

Alternatively, you can install the current stable nwm_client package from PyPI:
# Base package
$ python3 -m pip install hydrotools.nwm_client

# ...or install with Google Cloud Support
$ python3 -m pip install hydrotools.nwm_client[gcp]

Thanks. That worked. However, when I attempt to run the example:
Import the nwm Client
from hydrotools.nwm_client_new.NWMFileClient import NWMFileClient
import pandas as pd
Instantiate model data client
Defaults to Google Cloud Platform
client = NWMFileClient()
Set reference time
yesterday = pd.Timestamp.utcnow() - pd.Timedelta("1D")
reference_time = yesterday.strftime("%Y%m%dT%-HZ")
Retrieve forecast data
By default, only retrieves data at USGS gaging sites in
CONUS that are used for model assimilation
forecast_data = client.get(
configuration = "short_range",
reference_times = [reference_time]
)
Look at the data
print(forecast_data.info(memory_usage='deep'))
print(forecast_data[['value_time', 'value']].head())
I get the following error: RuntimeError: asyncio.run() cannot be called from a running event loop
Below is the full error output:

RuntimeError                              Traceback (most recent call last)
 in
12 forecast_data = client.get(
13     configuration = "short_range",
---> 14     reference_times = [reference_time]
15     )
16
~/anaconda3/envs/pangeoqgis/lib/python3.7/site-packages/hydrotools/nwm_client_new/NWMFileClient.py in get(self, configuration, reference_times, compute)
190                     configuration=configuration,
191                     reference_time=reference_time,
--> 192                     netcdf_dir=netcdf_dir
193                 )
194             except QueryError:
~/anaconda3/envs/pangeoqgis/lib/python3.7/site-packages/hydrotools/nwm_client_new/ParquetCache.py in get(self, function, subdirectory, *args, **kwargs)
107
108         # Run function
--> 109         df = function(*args, **kwargs)
110
111         # Cache result
~/anaconda3/envs/pangeoqgis/lib/python3.7/site-packages/hydrotools/nwm_client_new/NWMFileClient.py in get_cycle(self, configuration, reference_time, netcdf_dir)
128
129         # Download files
--> 130         downloader.get(zip(urls,filenames))
131
132         # Get dataset
~/anaconda3/envs/pangeoqgis/lib/python3.7/site-packages/hydrotools/nwm_client_new/FileDownloader.py in get(self, src_dst_list)
161
162         # Start event loop to retrieve files
--> 163         asyncio.run(self.get_files(src_dst_list))
164
165     @property
~/anaconda3/envs/pangeoqgis/lib/python3.7/asyncio/runners.py in run(main, debug)
32     if events._get_running_loop() is not None:
33         raise RuntimeError(
---> 34             "asyncio.run() cannot be called from a running event loop")
35
36     if not coroutines.iscoroutine(main):
RuntimeError: asyncio.run() cannot be called from a running event loop

nwm_client and nwis_client use the asyncio library which currently has problems with interactive environments like Jupyter Notebooks and Spyder. If you're using one of these environments you'll want to import and apply nest_asyncio as shown below. Note this must be done before any other imports.
# Import necessary for interactive environments
import nest_asyncio
nest_asyncio.apply()

# Import the nwm Client
from hydrotools.nwm_client_new.NWMFileClient import NWMFileClient
import pandas as pd

# Instantiate model data client
#  Defaults to Google Cloud Platform
client = NWMFileClient()

# Set reference time
yesterday = pd.Timestamp.utcnow() - pd.Timedelta("1D")
reference_time = yesterday.strftime("%Y%m%dT%-HZ")

# Retrieve forecast data
#  By default, only retrieves data at USGS gaging sites in
#  CONUS that are used for model assimilation
forecast_data = client.get(
    configuration = "analysis_assim",
    reference_times = [reference_time]
    )

# Look at the data
print(forecast_data.info(memory_usage='deep'))
print(forecast_data[['value_time', 'value']].head())

I am using Jupyter, and that worked. However, now I am getting error about sort_values:
AttributeError: 'DataFrame' object has no attribute 'sort_values'
I get this error when running it in Jupyter and the Python prompt. Here is the full output from the python prompt:
warnings.warn(message)
Traceback (most recent call last):
File "", line 3, in
File "/home/jmcmanus/anaconda3/envs/pangeoqgis/lib/python3.7/site-packages/hydrotools/nwm_client_new/NWMFileClient.py", line 192, in get
netcdf_dir=netcdf_dir
File "/home/jmcmanus/anaconda3/envs/pangeoqgis/lib/python3.7/site-packages/hydrotools/nwm_client_new/ParquetCache.py", line 109, in get
df = function(*args, **kwargs)
File "/home/jmcmanus/anaconda3/envs/pangeoqgis/lib/python3.7/site-packages/hydrotools/nwm_client_new/NWMFileClient.py", line 139, in get_cycle
df = NWMFileProcessor.convert_to_dask_dataframe(ds)
File "/home/jmcmanus/anaconda3/envs/pangeoqgis/lib/python3.7/site-packages/hydrotools/nwm_client_new/NWMFileProcessor.py", line 112, in convert_to_dask_dataframe
df = df.sort_values(by="feature_id")
File "/home/jmcmanus/anaconda3/envs/pangeoqgis/lib/python3.7/site-packages/dask/dataframe/core.py", line 3757, in getattr
raise AttributeError("'DataFrame' object has no attribute %r" % key)
AttributeError: 'DataFrame' object has no attribute 'sort_values'

That's odd. Is it possible you're using an older version of dask?

I already had dask installed as part of pangeo. It was installed using conda. Its version number is 2021.02.0.
I will try it on a newer version.

I updated my pangeo environment installing dask 2021.11.1 and everything is working! Thanks for your help!!

Great news! We'll leave this ticket open until nwm_client_new is deployed to PyPI.


drgomesp.dev

Domain name: drgomesp.dev
GTMetrix results: https://gtmetrix.com/reports/www.drgomesp.dev/267iPW6c/
Uncompressed page size: 374.2 KB

Note: Please fill in the uncompressed size on line 1 (--data-size) AND line 2

  374.2 KB
  www.drgomesp.dev/

I've made some improvements and tested again, with new results:

Could you please update it? :)

Domain name: drgomesp.dev
GTMetrix results: https://gtmetrix.com/reports/drgomesp.dev/x1rdEKlW/
Uncompressed page size: 153.6 KB

I've made some improvements and tested again, with new results:

Could you please update it? :)

Domain name: drgomesp.dev
GTMetrix results: https://gtmetrix.com/reports/drgomesp.dev/x1rdEKlW/
Uncompressed page size: 153.6 KB

Bigger performance improvement 😄 🎉

Domain name: drgomesp.dev
GTMetrix results: https://gtmetrix.com/reports/drgomesp.dev/bC0h9yi7/
Uncompressed page size: 93 KB

Bigger performance improvement 😄 🎉

Domain name: drgomesp.dev
GTMetrix results: https://gtmetrix.com/reports/drgomesp.dev/bC0h9yi7/
Uncompressed page size: 93 KB


[HOLD for payment 2023-08-24] [$1000] Web - Magic codes are sent twice when submitting an email/phone number by pressing Enter key on the keyboard several time continuously

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

Action Performed:

Enter an Email or Phone number in the login form
Press the Enter key on the keyboard several times continuously
Check the magic code sent to Email or sms

Expected Result:
Only 1 magic code is sent
Actual Result:
2 magic codes are sent in 2 different emails/sms
Workaround:
Unknown
Platforms:

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

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

Version Number: 1.3.34-1
Reproducible in staging?: y
Reproducible in production?: y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://github.com/Expensify/App/assets/93399543/f2fc1411-4c12-43f9-95c6-e6dbf24c747f
https://github.com/Expensify/App/assets/93399543/cdfe999c-6d97-4674-a6aa-ef8c1284bb73
Expensify/Expensify Issue URL:
Issue reported by: @tranvantoan-qn
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1688233631561079
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~01315c4b8db9988ccb
Upwork Job ID:<PHONE_NUMBER>425208832
Last Price Increase: 2023-07-24
Automatic offers:

situchan | Reviewer | 26032190
mkhutornyi | Contributor | 26032192
tranvantoan-qn | Reporter | 26032195

Proposal
Please re-state the problem that we are trying to solve in this issue.
Magic code sent twice when pressing enter multiply times
What is the root cause of that problem?
We don't have debounce on 'Sign in' button
What changes do you think we should make in order to solve the problem?

We could just use debounce

Proposal
Please re-state the problem that we are trying to solve in this issue.
Magic code send multiple times
What is the root cause of that problem?
after submitting the first time magic code isLoading set to true. but in the validateAndSubmitForm() method not block the second time submit.
What changes do you think we should make in order to solve the problem?
we should add a condition for blocking the request if the request is already submitted or pending state.
like this in validateAndSubmitForm method
    if(this.props.account.isLoading) {
        return;
    }

What alternative solutions did you explore? (Optional)
N/A

I think this can be external and cc @NikkiWines for visibility since its related to the resend logic.

Proposal
Please re-state the problem that we are trying to solve in this issue.
2 magic codes are sent if the enter key on the keyboard is pressed multiple times.
What is the root cause of that problem?
There is no check before calling the api, that is if the other api call is already started.
What changes do you think we should make in order to solve the problem?
In the validateAndSubmitForm() function add an if statement before text validation and api call, to check if another api call is already in session.
if (!this.props.account.isLoading && this.props.account.loadingForm !== CONST.FORMS.LOGIN_FORM) {
return;
}

Contributor details
Your Expensify account email<EMAIL_ADDRESS>Upwork Profile Link: https://www.upwork.com/freelancers/~01f03eaa3235f202f8

Proposal
Please re-state the problem that we are trying to solve in this issue.
2 magic codes are sent if the enter key on the keyboard is pressed multiple times.
What is the root cause of that problem?
this issue is caused only if the email text input is focused.  because the submit function is also called by keydown event of text input if the text input is focused.
if the user continuously press enter key,  validateAndSubmitForm function in login form is called twice by keydown event of text input and enter key event of the submit button.
What changes do you think we should make in order to solve the problem?
think it's not good solution to resolve this by any additionally variable such as submitted or isLoading  checking in validateAndSubmitForm.
it might be good solution to prevent to call twice validateAndSubmitForm.
there are 2 preferred solution.

it's to prevent keydown event of text input adding handleKeyDown event.

this solution perfectly fix this bug on my end.  I will create a PR soon if you assign me this ticket.
Other solution is to add disablePressOnEnter flag on FormAlertWithSubmitButton component in LoginForm
but submit function by enter key works only if the email text input is focused.  so not preferred.
What alternative solutions did you explore? (Optional)
N/A

Contributor details
Your Expensify account email<EMAIL_ADDRESS>Upwork Profile Link: https://www.upwork.com/freelancers/~0178098f00493ac910

Contributor details
Your Expensify account email<EMAIL_ADDRESS>Upwork Profile Link: https://www.upwork.com/freelancers/~010d05728d5d18affe

@0xmiroslav - are you able to hop in to make some reviews of the proposals? 🙏

bumping @0xmiroslav - for the review 🙏

Proposal
Please re-state the problem that we are trying to solve in this issue.
Web - Magic codes are sent twice when submitting an email/phone number by pressing Enter key on the keyboard several time continuously
What is the root cause of that problem?
What changes do you think we should make in order to solve the problem?

What alternative solutions did you explore? (Optional)

Proposal
Please re-state the problem that we are trying to solve in this issue.
Web - Magic codes are sent twice when submitting an email/phone number by pressing Enter key on the keyboard several time continuously
What is the root cause of that problem?
When the use clicks the enter key in the TextInput multi times on the login form, it would be called the onSubmit function of FormAlertWithSubmitButton first and then called the onSubmitEditing function of Text Input.
So Sign In API would be called 2 times due to these events.
What changes do you think we should make in order to solve the problem?
The solution is that only one of the TextInput and FormAlertWithSubmitButton elements should accept the enter key and call the submit (Sign in) function.
What alternative solutions did you explore? (Optional)
The FormAlertWithSubmitButton has a prop (disablePressOnEnter) that prevents the onSubmit function from being called
when an Enter key event occurs.
We should add this optional props in the login form.
Screenshot:
I confirmed the using of FormAlertWithSubmitButton component on the another pages.
Actually If some page includes the FormAlertWithSubmitButton and Input elements together, just added the disablePressOnEnter prop into FormAlertWithSubmitButton for avoiding this error.
Ex: Form.js

Contributor details
Your Expensify account email<EMAIL_ADDRESS>Upwork Profile Link: https://www.upwork.com/freelancers/~011d1fcbf05fa6d8ab

@0xmiroslav - if you do not have the capacity to review, can I assign another C+?

Thanks for proposals everyone. We should also prevent double tap on native (especially slow android device). I don't think anyone proposed right solution to cover all these cases:

prevent enter key submit while loading
prevent double tap on native
apply to all signin forms (login, magic code, 2fa)

thanks for your review @0xmiroslav
I got everything what you want in this issue ticket.
I can make the solutions shortly again.

Thanks for proposals everyone. We should also prevent double tap on native (especially slow android device). I don't think anyone proposed right solution to cover all these cases:

prevent enter key submit while loading
prevent double tap on native
apply to all signin forms (login, magic code, 2fa)

@sophiepintoraetz  @0xmiroslav would you please review my proposal again?
Please re-state the problem that we are trying to solve in this issue.
Web - Magic codes are sent twice when submitting an email/phone number by pressing Enter key on the keyboard several time continuously
What is the root cause of that problem?
When the user clicks the enter key on the login form, validateAndSubmitForm function is triggered twice by onSubmit in FormAlertWithSubmitButton and onSubmitEditing in TextInput.

the app already had the function to  prevent enter key submit while loading in Button component.
https://github.com/Expensify/App/blob/bcc416692ba098cba2c4fb25586ad5c8f5671564/src/components/Button/index.js#L174
but it doesn't work by the bug as i mentioned in the loginForm.
What changes do you think we should make in order to solve the problem?

Remove onSubmitEditing event in TextInput (Remove 189 line in loginForm).
this will perfectly resolve the bug on enter key press reported in this ticket

prevent double tap on native, subscribe button touch event by onTouchEnd event in button component and prevent action if isLoading is true(such as enter key press subscription)

apply to all signin forms (login, magic code, 2fa)
confirm that isLoading flag saved in onyx store correctly set in all forms.

@sophiepintoraetz, @0xmiroslav I have updated the proposal so that it works on web as well as on native devices. Please review it.
Proposal
Please re-state the problem that we are trying to solve in this issue.
2 magic codes are sent if the enter key on the keyboard is pressed multiple times.
What is the root cause of that problem?
No logic present to handle multiple clicks of the “Enter” button on the keyboard, due to which validateAndSubmitForm() is invoked the same number of times as clicks resulting in multiple magic codes sent.
What changes do you think we should make in order to solve the problem?
Introduce debounce logic to prevent multiple invoking of validateAndSubmitForm() by creating a new function called preventMutipleClicks() and call it on click of the button, validateAndSubmitForm() will called from the new function with debounce logic.
src/pages/signin/LoginForm.js  Line no. 81
let validateFormTimeout = null;

src/pages/signin/LoginForm.js  Line no. 106 to 114
/**
* Debounce logic to prevent multiple clicks of Continue button or physical Enter button on keyboard
*/
const preventMutipleClicks = () => {
if (validateFormTimeout !== null) clearTimeout(validateFormTimeout);
validateFormTimeout = setTimeout(() => {
validateAndSubmitForm();
}, 500);
};

src/pages/signin/LoginForm.js  Line no. 224
onSubmit={preventMutipleClicks}

@lazar-stamenkovic we cannot remove onSubmitEditing event
@daanish-shaikh Neither debounce nor setTimeout isn't acceptable for me

@0xmiroslav this issue is definitely produced by onSubmitEditing event in TextInput because the button component already has the function to prevent double click.
https://github.com/Expensify/App/blob/a75e329ec4224b1b8ed2ebadba24722253c724a2/src/components/Button/index.js#L174C1-L175C1
if you don't want to remove it in TextInput tag,  I propose following 3 solutions.

check props.account.isLoading flag on onSubmitEditing event in src/pages/signin/LoginForm.js.
https://github.com/Expensify/App/blob/a75e329ec4224b1b8ed2ebadba24722253c724a2/src/pages/signin/LoginForm.js#L196

add isLoading property in TextInput and check it on onSubmitEditing event in  src/components/TextInput/index.js
https://github.com/Expensify/App/blob/a75e329ec4224b1b8ed2ebadba24722253c724a2/src/components/TextInput/index.js#L28C1-L47C1

add disablePressOnEnter on FormAlertWithSubmitButton in src/pages/signin/LoginForm.js.
https://github.com/Expensify/App/blob/a75e329ec4224b1b8ed2ebadba24722253c724a2/src/pages/signin/LoginForm.js#L218C1-L226C1

The solution will be applied to following components calling onSubmitEditing event on TextInput

LoginForm
BasePasswordPopover
PDFPasswordForm
PasswordForm
..

Which solution do you prefer? I've tested all solutions on my end and confirmed that it addresses the bug for this ticket.

@lazar-stamenkovic we cannot remove onSubmitEditing event
@daanish-shaikh Neither debounce nor setTimeout isn't acceptable for me

@0xmiroslav if debounce is not acceptable then Alternatively, we can add a state variable "disableButtonPress" which will be changed to true when validateAndSubmitForm() is invoked and change it back to false when api call is by checking props.account.isLoading, props.account.success or props.account.errors values in useEffect block. And for actually disabling the physical and software buttons, we can utilize disablePressOnEnter and isDisabled props of FormAlertWithSubmitButton component.
src/pages/signin/LoginForm.js Line no. 81
const [disableButtonPress, setDisableButtonPress] = useState(false);

src/pages/signin/LoginForm.js Line no. 110
const validateAndSubmitForm = useCallback(() => {
        setDisableButtonPress(true);

src/pages/signin/LoginForm.js Line no. 174 to 185
useEffect(() => {
     if (!props.account.isLoading && props.account.success) {
         setDisableButtonPress(false);
     }
     if (!props.account.isLoading && props.account.errors) {
         setDisableButtonPress(false);
     }
     return () => {
         setDisableButtonPress(false);
     };
 }, [props.account]);

src/pages/signin/LoginForm.js Line no. 225 to 234
<FormAlertWithSubmitButton
        buttonText={translate('common.continue')}
        isLoading={props.account.isLoading && props.account.loadingForm === CONST.FORMS.LOGIN_FORM}
        onSubmit={validateAndSubmitForm}
        message={serverErrorText}
        isAlertVisible={!_.isEmpty(serverErrorText)}
        containerStyles={[styles.mh0]}
        disablePressOnEnter={disableButtonPress}
        isDisabled={disableButtonPress}
/>

@lazar-stamenkovic we cannot remove onSubmitEditing event
@daanish-shaikh Neither debounce nor setTimeout isn't acceptable for me

@0xmiroslav if debounce is not acceptable then Alternatively, we can add a state variable "disableButtonPress" which will be changed to true when validateAndSubmitForm() is invoked and change it back to false when api call is by checking props.account.isLoading, props.account.success or props.account.errors values in useEffect block. And for actually disabling the physical and software buttons, we can utilize disablePressOnEnter and isDisabled props of FormAlertWithSubmitButton component.
src/pages/signin/LoginForm.js Line no. 81
const [disableButtonPress, setDisableButtonPress] = useState(false);

src/pages/signin/LoginForm.js Line no. 110
const validateAndSubmitForm = useCallback(() => {
        setDisableButtonPress(true);

src/pages/signin/LoginForm.js Line no. 174 to 185
useEffect(() => {
     if (!props.account.isLoading && props.account.success) {
         setDisableButtonPress(false);
     }
     if (!props.account.isLoading && props.account.errors) {
         setDisableButtonPress(false);
     }
     return () => {
         setDisableButtonPress(false);
     };
 }, [props.account]);

src/pages/signin/LoginForm.js Line no. 225 to 234
<FormAlertWithSubmitButton
        buttonText={translate('common.continue')}
        isLoading={props.account.isLoading && props.account.loadingForm === CONST.FORMS.LOGIN_FORM}
        onSubmit={validateAndSubmitForm}
        message={serverErrorText}
        isAlertVisible={!_.isEmpty(serverErrorText)}
        containerStyles={[styles.mh0]}
        disablePressOnEnter={disableButtonPress}
        isDisabled={disableButtonPress}
/>

Update
We will also need to change disableButtonPress variable's value to false at text validation conditions as well and also changing its value to true after checking isOffline condition instead of changing it as soon as function is invoked.
src/pages/signin/LoginForm.js Line no. 110 to 114
    const validateAndSubmitForm = useCallback(() => {
        if (props.network.isOffline) {
            return;
        }
        setDisableButtonPress(true);

src/pages/signin/LoginForm.js Line no. 123 to 127
        if (!loginTrim) {
            setFormError('common.pleaseEnterEmailOrPhoneNumber');
            setDisableButtonPress(false);
            return;
        }

src/pages/signin/LoginForm.js Line no. 132 to 141
        if (!Str.isValidEmail(loginTrim) && !parsedPhoneNumber.possible) {
            if (ValidationUtils.isNumericWithSpecialChars(loginTrim)) {
                setFormError('common.error.phoneNumber');
                setDisableButtonPress(false);
            } else {
                setFormError('loginForm.error.invalidFormatEmailLogin');
                setDisableButtonPress(false);
            }
            return;
        }

Bumped here

Thanks for proposals everyone. We should also prevent double tap on native (especially slow android device). I don't think anyone proposed right solution to cover all these cases:

prevent enter key submit while loading
prevent double tap on native
apply to all signin forms (login, magic code, 2fa)

@0xmiroslav Thanks for the feedback. The solution I have submitted will satisfy the first two requirements as we are disabling both ui button and physical enter key as soon as we invoke validateAndSubmitForm. As for the last requirement below is the changes needed for magic code validation screen and please help me understanding what is 2fa as I'm new to the project.
Add const [disableButtonPress, setDisableButtonPress] = useState(false); here
Add following code here
const validateAndSubmitForm = useCallback(() => {
        setDisableButtonPress(true);

Add setDisableButtonPress(false); at following points
Line Reference
if (!twoFactorAuthCode.trim()) {
    setFormError({twoFactorAuthCode: 'validateCodeForm.error.pleaseFillTwoFactorAuth'});
    setDisableButtonPress(false);
    return;
}

Line Reference
if (!ValidationUtils.isValidTwoFactorCode(twoFactorAuthCode)) {
    setFormError({twoFactorAuthCode: 'passwordForm.error.incorrect2fa'});
    setDisableButtonPress(false);
    return;
}

Line Reference
if (!validateCode.trim()) {
    setFormError({validateCode: 'validateCodeForm.error.pleaseFillMagicCode'});
    setDisableButtonPress(false);
    return;
}

Line Reference
if (!ValidationUtils.isValidValidateCode(validateCode)) {
    setFormError({validateCode: 'validateCodeForm.error.incorrectMagicCode'});
    setDisableButtonPress(false);
    return;
}

Update Button component, here
<Button
    isDisabled={props.network.isOffline || disableButtonPress}
    success
    style={[styles.mv3]}
    text={props.translate('common.signIn')}
    isLoading={
        props.account.isLoading && props.account.loadingForm === (props.account.requiresTwoFactorAuth ? CONST.FORMS.VALIDATE_TFA_CODE_FORM : CONST.FORMS.VALIDATE_CODE_FORM)
    }
    onPress={validateAndSubmitForm}
    pressOnEnter={disableButtonPress}
/>

@0xmiroslav If we want to avoid using a new state, then we can disable button by using the api loading condition like used in isLoading attribute of Button component. I tested it at my end, it's working.
<Button
    isDisabled={
        props.network.isOffline ||
        (props.account.isLoading && props.account.loadingForm === (props.account.requiresTwoFactorAuth ? CONST.FORMS.VALIDATE_TFA_CODE_FORM : CONST.FORMS.VALIDATE_CODE_FORM))
    }
    success
    style={[styles.mv3]}
    text={props.translate('common.signIn')}
    isLoading={
        props.account.isLoading && props.account.loadingForm === (props.account.requiresTwoFactorAuth ? CONST.FORMS.VALIDATE_TFA_CODE_FORM : CONST.FORMS.VALIDATE_CODE_FORM)
    }
    onPress={validateAndSubmitForm}
    pressOnEnter={
        props.account.isLoading && props.account.loadingForm === (props.account.requiresTwoFactorAuth ? CONST.FORMS.VALIDATE_TFA_CODE_FORM : CONST.FORMS.VALIDATE_CODE_FORM)
    }
/>

Will this do.?

@brightmanforever022 @lazar-stamenkovic Why is it not called 2 times when press Enter key one time? Based on your RCA, both TextInput's onSubmitEditing and Button's onSubmit would be called when press Enter once.

Yeah, you are right!.  when press enter key one time, first Button's onSubmit is triggered and then TextInput's onSubmitEditing is triggered. so the validateAndSubmitForm can be called twice.
But why isn't it happen?
Because preventsDefault() function is called on Button's onPress event.
Please take a look where it is called in.
https://github.com/Expensify/App/blob/28acc0267738c3c9305c412cd56d5f93ab8066b3/src/components/Button/index.js#L174

Why is the TextInput's onSubmitEditing triggered when press the Enter key on the keyboard twice continuously
Because the preventDefault() function is not called during loading by the button click event.

Propose Other Solution
This issue will be fixed if event.preventDefault() is called before checking isFocused, isDisabled, isLoading flags in validateSubmitShortcut function.
https://github.com/Expensify/App/blob/28acc0267738c3c9305c412cd56d5f93ab8066b3/src/components/Button/validateSubmitShortcut/index.js#L15

@0xmiroslav i confirmed that this solution resolve this ticket on my local. hope that works for you as well. please let me know if you have any other question.

@0xmiroslav - given the close proximity to this breaking WAQ - please can you let me know if these proposals work or whether I should go to an agency for more.

@0xmiroslav If we want to avoid using a new state, then we can disable button by using the api loading condition like used in isLoading attribute of Button component. I tested it at my end, it's working.
<Button
    isDisabled={
        props.network.isOffline ||
        (props.account.isLoading && props.account.loadingForm === (props.account.requiresTwoFactorAuth ? CONST.FORMS.VALIDATE_TFA_CODE_FORM : CONST.FORMS.VALIDATE_CODE_FORM))
    }
    success
    style={[styles.mv3]}
    text={props.translate('common.signIn')}
    isLoading={
        props.account.isLoading && props.account.loadingForm === (props.account.requiresTwoFactorAuth ? CONST.FORMS.VALIDATE_TFA_CODE_FORM : CONST.FORMS.VALIDATE_CODE_FORM)
    }
    onPress={validateAndSubmitForm}
    pressOnEnter={
        props.account.isLoading && props.account.loadingForm === (props.account.requiresTwoFactorAuth ? CONST.FORMS.VALIDATE_TFA_CODE_FORM : CONST.FORMS.VALIDATE_CODE_FORM)
    }
/>

Will this do.?

@0xmiroslav Do you have any feedback on this.?

@0xmiroslav would you please take a look my comment again?
https://github.com/Expensify/App/issues/22087#issuecomment-1645311815
I think we have correctly identified the root cause and solution for this ticket.

@0xmiroslav - can we please work through the proposals?

@0xmiroslav - can you please address the proposals and get us going?

@0xmiroslav did you take a look at my proposal?  https://github.com/Expensify/App/issues/22087#issuecomment-1645311815
Please let me know if it works for you. It seems this ticket still isn't resolved in the main branch.

Bumping @0xmiroslav here

@situchan - were you able to review the proposals?

I haven't found any proposals yet with both correct root cause and working solution.
Hi everyone, please consolidate proposals into one.
i.e. @lazar-stamenkovic @daanish-shaikh I think your proposals are scattered. Can you please merge them into one and share link with Proposal updated?
I wanna see both root cause and solution in one comment per each contributor.

Please re-state the problem that we are trying to solve in this issue.
Magic code sent twice when pressing enter multiply times in login page.
What is the root cause of that problem?
if the user continuously press enter key, validateAndSubmitForm function in login form is called twice by TextInput and FormAlertWithSubmitButton.
https://github.com/Expensify/App/blob/fdcae9ff99696a1ac6068efbfe8927e1bcf108b7/src/pages/signin/LoginForm.js#L200
https://github.com/Expensify/App/blob/fdcae9ff99696a1ac6068efbfe8927e1bcf108b7/src/pages/signin/LoginForm.js#L226
if the user continuously press enter key,

On the first enter key click,  validateAndSubmitForm is called by onSubmit props by FormAlertWithSubmitButton.
https://github.com/Expensify/App/blob/fdcae9ff99696a1ac6068efbfe8927e1bcf108b7/src/pages/signin/LoginForm.js#L226
But in this case, validateAndSubmitForm isn't called by onSubmitEditing function in TextInput because enter event is prevented by LM14 in validateSubmitShortcut.
https://github.com/Expensify/App/blob/fdcae9ff99696a1ac6068efbfe8927e1bcf108b7/src/components/Button/validateSubmitShortcut/index.js#L15

On the second enter key click, validateAndSubmitForm isn't called by onSubmit props by FormAlertWithSubmitButton because isLoading of button is true on first enter key click.

https://user-images.githubusercontent.com/114150992/255139939-5c2d2663-5f2d-40db-9ca3-6496b78e023a.png
so if the user continuously press enter key,  validateAndSubmitForm is called twice by onSubmit props by FormAlertWithSubmitButton on first click and onSubmitEditing function in TextInput on second click.
What changes do you think we should make in order to solve the problem?
Solution1: it is to add disablePressOnEnter flag on FormAlertWithSubmitButton component in LoginForm
On this solution the Enter key operates exclusively when the email text input is focused, though resolving this can be a straightforward solution
https://user-images.githubusercontent.com/114150992/250659829-7bd71358-52d4-4c9f-965b-3b9da9ebe0ee.png
**Solution2: it is to remove L200 in LoginForm.js **
this solution prevents to send magic code through onSubmitEditing function in TextInput on second enter key click
https://github.com/Expensify/App/blob/fdcae9ff99696a1ac6068efbfe8927e1bcf108b7/src/pages/signin/LoginForm.js#L200
**Solution3: This issue will be fixed if event.preventDefault() is called before checking isFocused, isDisabled, isLoading flags in validateSubmitShortcut function. **
https://user-images.githubusercontent.com/114150992/255139035-b122eb3f-430f-4b1b-adb1-89850c6df7fe.png

@lazar-stamenkovic @mkhutornyi thanks for proposals. RCA is correct.
(Others haven't provided correct root cause so I won't consider their proposals)
@lazar-stamenkovic Solution 2 will cause regression on mobile device.
Solution 3 prevents default always and it might cause unexpected behavior for some cases.
Solution 1 doesn't work when input is not focused and press enter key, but I am not sure this is fine.
@mkhutornyi's main solution is simple. Alternative solution looks like combination of @lazar-stamenkovic's Solution 1 & 2 but fixes regressions.
So far I am inclined to one of these solutions:

isLoading (@mkhutornyi's main solution)
disablePressOnEnter (@lazar-stamenkovic's Solution 1)

I think first one is better as it doesn't cause any issues.
Assigned engineer will give the final call.
🎀 👀 🎀 C+ reviewed

We're not blocking user from submit multiple times by pressing Enter.

@hungvu193 this is not correct root cause.
For proposal to be approved, both conditions should be met.

@situchan, My updated proposal for the issue. Please review it as well.
Proposal
Please re-state the problem that we are trying to solve in this issue.
2 magic codes are sent if the enter key on the keyboard is pressed multiple times.
What is the root cause of that problem?
No logic present to handle multiple clicks of the “Enter” button on the keyboard, due to which validateAndSubmitForm() is invoked the same number of times as clicks resulting in multiple magic codes sent.
What changes do you think we should make in order to solve the problem?
We will need disable both ui Continue button and physical Enter button on keyboard, in order to do so we can utilize isDisabled prop for UI button and pressOnEnter props for keyboard button, and for their value we can use the same condition used in isLoading prop.
src/pages/signin/LoginForm.js (For sign in screen)
<FormAlertWithSubmitButton
                            buttonText={translate('common.continue')}
                            isLoading={props.account.isLoading && props.account.loadingForm === CONST.FORMS.LOGIN_FORM}
                            onSubmit={validateAndSubmitForm}
                            message={serverErrorText}
                            isAlertVisible={!_.isEmpty(serverErrorText)}
                            containerStyles={[styles.mh0]}
                            disablePressOnEnter={props.account.isLoading && props.account.loadingForm === CONST.FORMS.LOGIN_FORM}
                            isDisabled={props.account.isLoading && props.account.loadingForm === CONST.FORMS.LOGIN_FORM}
                        />

src/pages/signin/ValidateCodeForm/BaseValidateCodeForm.js (For magic code verification screen)
<Button
    isDisabled={
        props.network.isOffline ||
        (props.account.isLoading && props.account.loadingForm === (props.account.requiresTwoFactorAuth ? CONST.FORMS.VALIDATE_TFA_CODE_FORM : CONST.FORMS.VALIDATE_CODE_FORM))
    }
    success
    style={[styles.mv3]}
    text={props.translate('common.signIn')}
    isLoading={
        props.account.isLoading && props.account.loadingForm === (props.account.requiresTwoFactorAuth ? CONST.FORMS.VALIDATE_TFA_CODE_FORM : CONST.FORMS.VALIDATE_CODE_FORM)
    }
    onPress={validateAndSubmitForm}
    pressOnEnter={
        props.account.isLoading && props.account.loadingForm === (props.account.requiresTwoFactorAuth ? CONST.FORMS.VALIDATE_TFA_CODE_FORM : CONST.FORMS.VALIDATE_CODE_FORM)
    }
/>

Thanks for updated proposals. Still I am a fan of most simple solution without any issue. So https://github.com/Expensify/App/issues/22087#issuecomment-1669320589 is still my suggestion.
cc: @luacmartins

Thanks for updated proposals. Still I am a fan of most simple solution without any issue. So #22087 (comment) is still my suggestion. cc: @luacmartins

You are right.  However, the root cause of this issue is that the component is handling the submit function in two places.think it would be better to prevent one of them resolving root cause.
also this issue will be caused in other components.  so we need to resolve this globally.
Another potential global solution is to introduce a flag that deactivates the onSubmitEditing function in the TextInput. this approach is more intricate.

I agree that adding isLoading is the best approach here and is consistent with how we handle it for other forms. Let's go with that! Assigning @mkhutornyi to the issue. Thanks everyone for the proposal and discussion!

Payouts due:
Issue Reporter: $250 @tranvantoan-qn
Contributor: $1500 @mkhutornyi
Contributor+: $1500 @situchan
Eligible for 50% #urgency bonus? Y

@situchan - I'll release payment once the checklist is done!

waiting on checklist

This is tough one to find offending PR. This was unusual case and missed during initial implementation of login page combined with FormAlertWithSubmitButton.
Regression Test Proposal:

Logout if already logged in
Enter an email or phone number in the login form
Press the enter key on the keyboard 2 times quickly
Check the magic code sent to email or sms
Verify that magic code is sent only once

Payment done - regression created.


Removing Sym Links doesnt work on windows

yotta unlinks and similar commands that remove sym links have all kinds of trouble on windows.
It looks something like this
C:\cygwin\home\ausbla01\mbed\microbit\yotta_module\cmsis-core-private
Traceback (most recent call last):
  File "C:\Python27\Scripts\yt-script.py", line 9, in <module>
    load_entry_point('yotta==0.4.1', 'console_scripts', 'yt')()
  File "c:\python27\lib\site-packages\yotta\main.py", line 189, in main
    status = args.command(args, following_args)
  File "c:\python27\lib\site-packages\yotta\link.py", line 62, in execCommand
    fsutils.symlink(src, dst)
  File "c:\python27\lib\site-packages\yotta\lib\fsutils.py", line 71, in symlink
    rmF(link_name)
  File "c:\python27\lib\site-packages\yotta\lib\fsutils.py", line 22, in rmF
    os.remove(path)
WindowsError: [Error 5] Access is denied: u'C:\\Python27\\Lib\\yotta_modules\\cmsis-core'

C:\cygwin\home\ausbla01\mbed\microbit\yotta_module\cmsis-core-private>cd ..\cmsis-core-nordic

Example:
yt link in the cmsis-core module. Now delete the code. Clone down the cmsis-core-private repo. Try to yt link that one. You get an error.
Explanation: this is windows and we do not know how to remove symlinks properly

addendum: I tried running the terminal in admin mode and this didnt work either.

fixed by #266


[DRAFT] Added User-Agent string to libCurl implementations

fixed compilation on macOS with clang

Relates to: OLPEDGE-635
Signed-off-by: Bohdan Kurylovych<EMAIL_ADDRESS>

Not needed as verified it trough curl verbose mode in scope of #102


Issue with using different envioronment variable except BLOB_READ_WRITE_TOKEN

I wanted to use this plugin with two different collections with different connections.
So I configured different instances of it with different tokens and storeid.
When using it I got this error message:
ERROR: Vercel Blob: No token found. Either configure the `BLOB_READ_WRITE_TOKEN` environment variable, or pass a `token` option to your calls.
    err: {
      "type": "BlobError",
      "message": "Vercel Blob: No token found. Either configure the `BLOB_READ_WRITE_TOKEN` environment variable, or pass a `token` option to your calls.",
      "stack":
...
    }

It seems because one usage of vercel blob (head) is not passing the token.

Fix https://github.com/JarvisPrestidge/payload-cloud-storage-vercel-adapter/pull/13

#13 merged and a new release is being authored, thank you for the contribution!


Is there anyway to revoke a key? or all keys?

Just wondering, I generated one which I gave it to someone and need to revoke it.

There is:
php artisan api-key:delete --api-key=token_here
Thanks.


babel-preset-react-app upgrade to v5 ?

We've been using babel-preset-react-app v3.1.2, and I'm now noticing that the npm package got upgraded to v5.0.4.
I couldn't find the related release notes, and the create-react-app latest release is v2.0.5, which is very confusing.
An upgrade of babel-preset-react-app from v3 to v5 means a major update. Can someone enlighten me on what the changes were? Did I miss the releases notes somewhere ?

We don't document changes, but you can find them in the history: https://github.com/facebook/create-react-app/commits/master/packages/babel-preset-react-app


iOS: Apostrophe Incorrectly Coded

Hi! I’m using the iOS beta 5.0 (6) and am seeing issues from the Daring Fireball feed with apostrophes not being encoded/decoded correctly.
It happens both in the article title and the body content.

It’s an issue with feed. I’m sure it’ll get fixed pretty quickly.