how to download pytoch navite library with offline?

i have cuda service computer but it is a offline service computer,so i need to download the libray then upload to my service

If you are using gradle or maven, you only need to include pytorch-native-cu113 package as your dependency for your target os, and then include this jar in your distribution.
for example:
<dependency>
    <groupId>ai.djl.pytorch</groupId>
    <artifactId>pytorch-native-cu113</artifactId>
    <classifier>linux-x86_64</classifier>
    <version>1.10.0</version>
    <scope>runtime</scope>
</dependency>
<dependency>
    <groupId>ai.djl.pytorch</groupId>
    <artifactId>pytorch-jni</artifactId>
    <version>1.10.0-0.15.0</version>
    <scope>runtime</scope>
</dependency>

see: https://docs.djl.ai/engines/pytorch/pytorch-engine/index.html#linux-gpu

Hi @frankfliu,
Is this also the case for unmanaged dependencies? I tried to put the jars for pytorch-jni and pytorch-native:linux-x86_64 in a lib/ folder of a java / sbt project but it is still downloading the libraries.

@DevinTDHa
I created a demo project that show you how to create a fatjar that doesn't download dependencies at runtime: https://github.com/frankfliu/djl-demo/tree/fatjar/developement/fatjar#sbt
You will see that, it only extract pytorch native libraries from the jar file:
Loading:     100% |████████████████████████████████████████|
[sbt-bg-threads-1] INFO ai.djl.pytorch.jni.LibUtils - Extracting /native/lib/libc10.dylib to cache ...
[sbt-bg-threads-1] INFO ai.djl.pytorch.jni.LibUtils - Extracting /native/lib/libiomp5.dylib to cache ...
[sbt-bg-threads-1] INFO ai.djl.pytorch.jni.LibUtils - Extracting /native/lib/libtorch.dylib to cache ...
[sbt-bg-threads-1] INFO ai.djl.pytorch.jni.LibUtils - Extracting /native/lib/libtorch_cpu.dylib to cache ...
[sbt-bg-threads-1] INFO ai.djl.pytorch.jni.LibUtils - Downloading jni https://publish.djl.ai/pytorch/1.10.0/jnilib/0.16.0/osx-x86_64/cpu/libdjl_torch.dylib to cache ...
[sbt-bg-threads-1] INFO ai.djl.pytorch.engine.PtEngine - Number of inter-op threads is 6
[sbt-bg-threads-1] INFO ai.djl.pytorch.engine.PtEngine - Number of intra-op threads is 6
[
	class: "n02123045 tabby, tabby cat", probability: 0.45637
	class: "n02123159 tiger cat", probability: 0.32963
	class: "n02124075 Egyptian cat", probability: 0.18387
	class: "n02127052 lynx, catamount", probability: 0.01527
	class: "n02123394 Persian cat", probability: 0.00487
]

If I want the same but with a cpu computer do I just need pytorch-jni and pytorch-native-cpu? I have both but the offline computer still attempts to download pytorch from DJL

It's an offline computer, I'd like to have it such that no libraries or files are downloaded at runtime. Either by using pytorch-native-cpu or mapping to my own installation of pytorch as indicated here LibUtils#L45

@brettfazio
the fatjar project is to build offline distribution package. And it should be the easiest way. You only need copy the fatjar to your offline machine and run the fatjar.
A few other way to achieve the same if want:

copy ~/.djl.ai folder to your offline computer, just make sure it contains all the native files that you need for your offline platform
set PYTORCH_LIBRARY_PATH and PYTORCH_VERSION environment var, but you still need either bundle pytorch-jni and manually copy the jni shared library.

With your option 2 - if I point PYTORCH_LIBRARY_PATH and PYTORCH_VERSION environment vars properly and I have pytorch-jni as a dependency (I already do) - then that should be enough for it to just use the pytorch that the PYTORCH_LIBRARY_PATH points to instead of downloading? That seems ideal to me, I already have pytorch installed.

@brettfazio
Use the python PyTorch install has many restrictions:

Must be exactly the same version as DJL jni compiled against
you also need to set PYTORCH_PRECXX11=true
If your pytorch is not +cpu only pip package, you need to explicitly set the PYTORCH_LIBRARY_PATH to libtroch_cpu.so

@brettfazio
You can take a look this docker file:
https://github.com/deepjavalibrary/djl-serving/blob/master/serving/docker/inf1.Dockerfile#L24-L38
pip3 install torch==1.10.0+cpu -f https://download.pytorch.org/whl/torch_stable.html

I'm using the latest JNI 1z10z0z0z16z0 - where can I find what pytorch the JNI is compiled against?

You can find all supported JNI: https://search.maven.org/artifact/ai.djl.pytorch/pytorch-jni/1.10.0-0.16.0/jar

So setting something like
PYTORCH_LIBRARY_PATH = .../python3.9/torch/lib/libtorch_cpu.so
PYTORCH_PRECXX11= true
PYTORCH_VERSION = 1.10.0

Should be sufficient to get it to use the local cpu.so rather than downloading?

I don't think with the current code its even possible to map directly to the _cpu.so ? Because it only looks up the .so
https://github.com/deepjavalibrary/djl/blob/1d62d6d4ce32314372c671d63b1cb00f4d51f49b/engines/pytorch/pytorch-engine/src/main/java/ai/djl/pytorch/jni/LibUtils.java#L177

@brettfazio
You are right, it's broken. I will raise a PR to fix it.

Thanks @frankfliu !
Additionally,
When I have djl api, djl.pytorch pytorch engine, djl.pytorch pytorch jni, and djl.pytorch pytorch native cpu as dependencies and I set the following env variables:
PYTORCH_LIBRARY_PATH = .../python3.9/torch/lib/libtorch.so
PYTORCH_PRECXX11= true
PYTORCH_VERSION = 1.10.0

It still doesn't load & attempt to download pytorch. Is that because I only have pytorch-native-cpu as a dependency and not the auto or cu dependencies? And perhaps if the _cpu.so could be loaded this could be fixed?

If I use one of the Deep Java Library (DJL) provided PyTorch native library binary distribution - why does DJL not just use that as the pytorch binary? e.g. pytorch-native-cu101 pytorch-native-cpu etc.

pytorch-native-cpu is sufficient. but make sure you are add classifier, if you didn't specify classifier, DJL assume it's generic for all platform, it will download at runtime.
When you said it still download. would please show me the log which file is get downloaded?
You should see something like:
[INFO ] - Downloading https://publish.djl.ai/pytorch/1.10.0/cpu/osx-x86_64/native/lib/libtorch_cpu.dylib.gz ...
[INFO ] - Downloading https://publish.djl.ai/pytorch/1.10.0/cpu/osx-x86_64/native/lib/libiomp5.dylib.gz ...
[INFO ] - Downloading https://publish.djl.ai/pytorch/1.10.0/cpu/osx-x86_64/native/lib/libc10.dylib.gz ...
[INFO ] - Downloading https://publish.djl.ai/pytorch/1.10.0/cpu/osx-x86_64/native/lib/libtorch.dylib.gz ...
[INFO ] - Downloading jni https://publish.djl.ai/pytorch/1.10.0/jnilib/0.16.0/osx-x86_64/cpu/libdjl_torch.dylib to cache ...

@brettfazio
I created a PR that allows you load libtorch from default pip package: https://github.com/deepjavalibrary/djl/pull/1577

Free free to reopen this issue if you still have question


Ratelimit /send based on IP 1req/sec

https://github.com/telephone/LookingGlass/blob/master/LookingGlass/RateLimit.php

Implemented in CubeQuence


Use date cache in calendar and date range picker

Description
Use uniform dates memoization technique for calendar and date range picker.
How has this been tested?
Existing tests.
Documentation changes
[Do the changes include any API documentation changes?]

[ ] Yes, this change contains documentation changes.
[x] No.

Related Links
[Attach any related links/pull request for this change]

Review checklist
The following items are to be evaluated by the author(s) and the reviewer(s).
Correctness

[ ] Changes are backward-compatible if not indicated, see CONTRIBUTING.md.
[ ] Changes do not include unsupported browser features, see CONTRIBUTING.md.
[ ] Changes were manually tested for accessibility, see accessibility guidelines.

Security

[ ] If the code handles URLs: all URLs are validated through the checkSafeUrl function.

Testing

[ ] Changes are covered with new/existing unit tests?
[ ] Changes are covered with new/existing integration tests?

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

What is the benefit of adding this caching mechanism for dates? will you add more information about why we are doing this?

The primary reason was to remove the memoizedDate function which not only performed the caching but also parsed the date causing confusion. Even more so, in one place we called it as memoizedDate(formatDate(date)) which is formatting the date object to then parse it inside.
The second reason was to make the dates memoization aligned between calendar and date-range picker. In calendar, memoizeDate function was used while in the date-range picker we used the following:
const dateTime = date.getTime()

useEffect(() => {
  // ...
},
// mute eslint warnings as can't depend of the date itself as its reference might change
[dateTime])


CrossFirebasePushNotification.Current.OnNotificationOpened is not being called when app is in background

If you are creating an issue for a BUG please fill out this information. If you are asking a question or requesting a feature you can delete the sections below.
Failure to fill out this information will result in this issue being closed. If you post a full stack trace in a bug it will be closed, please post it to http://gist.github.com and then post the link here.
Bug Information
Version Number of Plugin:2.3.1
Device Tested On:Android lollypop
Simulator Tested On:
Version of VS: Visual studio 2017 enterprise
Version of Xamarin:4.0.30319
Versions of other things you are using:
Steps to reproduce the Behavior
Expected Behavior
Actual Behavior
Code snippet
Screenshots

How are you sending the payload?

I had the same problem. You need to set LaunchMode = LaunchMode.SingleTop on you main Activity (Splash is still Main Launcher).

and you need to push extras from Splash activity

I do have the same issue, without having any splash screen activity.

when the app is on Background Mode, the events doesn't trigger. When the app is on Foreground the events works fine

any solution?


Add additive radar-CML merging with IDW and with Krignig, plus example data

This PR implements parts of what is discussed in #2

creates 5min aggregated CML, rain gauge and radar data for the openmerge dataset

src/mergeplg/merge.py:

first implementation of merging

src/mergeplg/interpolator.py and src/mergeplg/idw.py:

IDW interpolator functions from python

A lot of green check marks now!  🎉
Thanks @eoydvin. I will look into the details next week.

You can remove the pypy-3.10 test. We do not test pypy in poligrain.

A lot of green check marks now! 🎉
Thanks @eoydvin. I will look into the details next week.

You can remove the pypy-3.10 test runs (I guess somewhere in the CI config). We do not test pypy in poligrain.

I also have some KED prototype files now, but then the tests will not run anymore. Should we just keep it like this for now then?

Yes. Let's keep this PR focused on what you already have and add KED in another PR.
I will have a look this week.

Sorry for the long delay 🙈. I now finally had a quick look at the code and notebook. Looks really good 👏 👏 👏 . Of course, we will have to see/discuss how we define a common higher-level interface for the different functions. But this is a very good starting point. I am merging this now. Once I have my PR #6 ready or merged we should start the discussion about aligning the code, i.e. finding the mentioned common "interface".


qemu_plugin_get_registers() segfaults when linked along with Unicorn

Definitely one of the weirder bugs I've come across.
When linking qemu-plugin and unicorn_engine together, g_array_free appears to get merged by the linker. However, it appears their implementations are slightly different, causing the g_array_free call from within sys::qemu_plugin_get_registers() to segfault.
Building unicorn_engine with features = ["dynamic_linkage"] works but, of course, requires that you have the .so.2 on hand somewhere in the LD_LIBRARY_PATH, which is unideal.
I don't even know what could be done to 'fix' this. I'm pretty certain qemu_plugin_get_registers() is just the first place this would pop up, so e.g. allowing the array to leak given some option wouldn't really solve the real problem.
I've never seen a linker merge two very obviously different functions from different libraries in such a catastrophic way before, but here we are.
#1  0x00007ffffa030bb5 in array_free (array=0xa9cd160, flags=(FREE_SEGMENT | PRESERVE_WRAPPER))
    at /home/anonymous/.cargo/registry/src/index.crates.io-6f17d22bba15001f/unicorn-engine-2.0.1/glib_compat/garray.c:352
#2  0x00007ffffa030c84 in g_array_free (farray=0xa9cd160, free_segment=1)
    at /home/anonymous/.cargo/registry/src/index.crates.io-6f17d22bba15001f/unicorn-engine-2.0.1/glib_compat/garray.c:338
#3  0x00007ffffa02af8b in qemu_plugin::qemu_plugin_get_registers () at src/lib.rs:1698
#4  0x00007ffff9fce3da in seminal_qemu::{impl#1}::on_vcpu_init (self=0x9af6340,
    _id=16409229355086296901, vcpu_id=0) at seminal-qemu/src/lib.rs:142
#5  0x00007ffffa022164 in qemu_plugin::plugin::handle_qemu_plugin_register_vcpu_init_cb (
    id=16409229355086296901, vcpu_id=0) at src/plugin/mod.rs:2

Was shocked to see the qemu plugin code jumping into the unicorn side of things. Just wanted to raise the issue with you! Almost definitely a side effect of Unicorn being built from QEMU sources, which itself is a bit unfortunate.

Hmm, I think your diagnosis is correct. The issue is that we just link as extern for these symbols, and Unicorn's static blob happens to provide them just how we asked for them (and this static linkage is prioritized over dynamic linkage). This is pretty unfortunate, but it makes sense. It's possible that having a #[link(name = "...", kind = "dylib")] would help,but I'm not sure if it would compile with a wrong (or unknown at compile time) name.

Interesting, that's good to know. I wonder if I can get unicorn to statically link glib in if this wouldn't 'fix' it. I think this is more something I'd have to do with unicorn, though, since QEMU is the consumer and not the library.
Thanks for the info!


Add timezone support in ToDateTime()

ToDateTime(tsInMillis, pattern) converts epoch millis value to DateTime string represented by pattern.
ToDateTime() is missing timezone support. This support is important for Business Intelligence use cases where the query results are directly visualized as is and must be represented in the local timezone instead of UTC.
Proposal:

Support tz(<time zone>) in pattern
Add  as an optional argument to ToDateTime(). e.g. ToDateTime(tsInMillis, pattern[, timeZoneId])

Use case example: convert to local timezone of the aggregated timeColumn.
SELECT a_column, ToDateTime(MIN(time_column), 'yyyy-MM-dd hh:mm:ss.SSS tz(America/Los_Angeles)')
FROM table
GROUP BY a_column

Hi,
I would like to contribute to this issue. Can you help me, if it's still open?

@jadireddi Thanks for volunteering. We can start with adding a third argument to the DateTimeFunctions.toDateTime()

@jadireddi thank you for offering to help. I had some free time to look at this issue yesterday, and apparently it was a trivial fix (close to one liner). Due to the urgency of this issue, I went ahead and submit a fix yesterday.

Thank you @fritzb for making the change. I had the code change and test case in my local. As I started working on this project last Monday, going through the code to make  the integration test case that would work for the below  statement
SELECT a_column, ToDateTime(MIN(time_column), 'yyyy-MM-dd hh:mm:ss.SSS tz(America/Los_Angeles)')
FROM table
GROUP BY a_column
```sql

Somehow unable to find and submit PR.


fix: could not configure the pattern

Transmit the configured pattern (through the options) to the Processor in order to process exactly the files defined by this supplied pattern.

@jenseng  I think you should just apply this PR. It solves the issue in a simple way. Yes it's less flexible and does not support multiple processors, but it does solve a real problem with 18nliner without having to resort to writing plugins. I applied this fix in my fork and it does the job as promised.
Also, if you are working on it anyway  😄   why not add .jsx by default? It will make new user's life easier at virtually no cost.


[Question] How to stage hunk

After using :VGit project_diff_preview, I want to stage individual hunks. I see the helper to stage hunk: gs but I don't see a way to move the cursor to the right pane to interact with the code lines. Any insights?

After using :VGit project_diff_preview, I want to stage individual hunks. I see the helper to stage hunk: gs but I don't see a way to move the cursor to the right pane to interact with the code lines. Any insights?

To move cursor to the right pane you can do winc w or if you have mouse enabled you can click on the window to focus on it.
After the window is focused moving your cursor on the hunk you want to stage and using gs you should be able to stage the hunk.


Deployment fails with no error message when test artifacts are present

First of all, I am aware that there are 2 similar-looking issues already open, but this is different: for me, the deployment step fails without any error message, whereas the other issues refer to situations where the CI log says "Deployment failed".
I added Cypress tests to my build process about a week ago, and initially it worked. Then I added visual snapshots to my tests, which produce .png artifacts, as well as the .mp4 ones normally generated by Cypress. I am skipping these tests on my master branch (via a Node.js script), but the snapshots are always there. This leads to 2 situations:

PR previews run the tests ok, but fail on deployment - no error message, it just stops after uploading the test artifacts
master branch skips tests, but also fails on deployment - again no error message, it just stops after uploading the test artifacts

For the master branch, this is the entire log output for the deployment step:

If I remove the "test" step from the build entirely, it works just fine. This is really concerning, since a significant part of CI is to run tests, and it's exactly what I cannot do.

Also, as a workaround for this, you can comment out the files block in the amplify.yml file and your tests will still run, but no files will attempt to be uploaded. See image below. What is in red is what we removed.

Hi @dragosiordachioaia can you please share your appId

the appId is d18apgfog4c8xo

@ambriglia yes, I this started happening all of a sudden

Hi @dragosiordachioaia are you still experiencing this issue? I'm not able to repro on my end.
Can you please share the file structure of your app (including cypress tests). You can share here or email<EMAIL_ADDRESS>Thank you!

@ambriglia can you share your region, appid, branch name, and example build number that exhibits deploy failure behavior?

@dragosiordachioaia which build number is the screenshot you posted above?

@dragosiordachioaia can you retry in eu-west-2 and let us know if you're still seeing the issues with both master branch deploys and pr preview deploys?

@kahdojay I already have an internal AWS support ticket open with all the appropriate details.
d2df4ylja65m9v
us-east-2
master
324
I currently have the workaround still implemented I referenced above so I am not sure if we are still experiencing the issue.

@ambriglia thanks for the details and pointing me to the support case as well. Will provide more details there but in short I think you're having the same issue as #115, we pushed a fix for us-east-2 and it looks like you've had a successful deploy since, but let me know if you're still seeing the same issue.

@ambriglia thanks for the details and pointing me to the support case as well. Will provide more details there but in short I think you're having the same issue as #115, we pushed a fix for us-east-2 yesterday and it looks like you've had a successful deploy since, but let me know if you're still seeing the same issue.

i am having similar issues here.
appid: d2r3gwm433d7n4
region: us-east-1
branch: master
build: 111
deploy output:
2020-09-25T12:11:54 [INFO]: Starting Deployment
2020-09-25T12:11:55 [INFO]: Updating Edge config
2020-09-25T12:11:55 [INFO]: Start deploying test artifact
2020-09-25T12:11:55 [INFO]: Deploying output.json
2020-09-25T12:11:55 [INFO]: Finish deploying test artifact
[long pause here; one hour of time elapsed and the console was cleared and output restarted at the top]
2020-09-25T13:11:55 [INFO]: Beginning deployment for application d2r3gwm433d7n4, branch:master, buildId<PHONE_NUMBER>
2020-09-25T13:11:55 [WARN]: Artifact bucket not found for application d2r3gwm433d7n4. Exiting
2020-09-25T13:11:55 [ERROR]: Deployment terminated unsuccessfully

then it just hangs indefinitely. it is still stuck there as i write this. everything up to the deploy ran successfully. i had been running with the entire test block removed from amplify.yml (as a workaround to this bug, which i ran into a few weeks ago), and until i re-enabled the tests, the web app had been deploying successfully in just a few seconds.
the last successful deploy was build 106:
2020-09-23T16:17:33 [INFO]: Beginning deployment for application d2r3gwm433d7n4, branch:master, buildId<PHONE_NUMBER>
2020-09-23T16:17:35 [INFO]: Got archive: 77231708 bytes
2020-09-23T16:17:35 [INFO]: Archive unzipped: 49 files
2020-09-23T16:17:37 [INFO]: Deployment complete

as i mentioned above, i ran into this problem a few weeks ago, but I would also note that the behavior has changed as an apparent result of your recent changes. when it was failing back at the beginning of september, the deployment output was:
2020-09-02T19:55:05 [INFO]: Starting Deployment
2020-09-02T19:55:05 [ERROR]: Failed to deploy
2020-09-02T19:55:05 [INFO]: Deployment finished.

so it seems like it is moving in the right direction, but not quite there yet. i will add that i am a little bit confused about what is the expected behavior when the build artifact folder is different than the test artifact folder. do they both get copied to the root of the S3 bucket? i committed a subsequent change to my amplify.yml file to put the test results in the same directory as the build artifacts, and removed the test artifact section from the config, to see if that makes a difference. however, that build (112) seems to be stuck between the provision and build steps, presumably because build 111 is still stuck and holding the resources necessary for the build.

@gspeicher can you share your amplify.yml that you included in your repo for build 111 as well as the version for 112? You can share here or email us at<EMAIL_ADDRESS>

I just emailed them. I should have mentioned in the email that build 112 (and 113) eventually ran and failed with the error:
2020-09-25T21:17:44.097Z [ERROR]: !!! Base Directory not specified for artifacts, unable to create test artifact.
I just reverted amplify.yml to the same version that was used in build 111, so build 114 is under way now. Let me know if there is anything else I can do or provide. Thanks!

Update: as of last night, the build is failing differently again. Build 118 is using the same amplify.xml as build 111, but the deploy is failing differently than the build 111 deploy did:
2020-09-28T19:23:21 [INFO]: Starting Deployment
2020-09-28T19:23:21 [ERROR]: Failed to deploy

This is more like the failure on 9/2 except now it does not output "Deployment Finished" as it did back then.

I see a lot of activity on #115 but this problem is still unchanged for me. Our Amplify project is stuck in the Deploy phase of the pipeline as of yesterday:
2020-10-27T15:10:31 [INFO]: Starting Deployment 2020-10-27T15:10:31 [INFO]: Updating Edge config 2020-10-27T15:10:32 [INFO]: Start deploying test artifact 2020-10-27T15:10:32 [INFO]: Deploying output.json 2020-10-27T15:10:32 [INFO]: Finish deploying test artifact
Any updates on this issue?

@gspeicher are you still experiencing this issue?

Yes — in fact I got tired of waiting and finally disabled the test block in
amplify.xml again yesterday (Dec 7th) to get our first successful
build+deploy since late October. After committing the update to
amplify.xml, I had to kill the previous build that was stuck in the Deploy
phase since Nov 23rd.

This issue is still happening for me as well.

2023-08-11T18:45:54 [INFO]: Starting Deployment 2023-08-11T18:45:55 [INFO]: Start deploying test artifact 2023-08-11T18:45:55 [INFO]: Deploying videos/interveiw/tutorialFlow.cy.js.mp4 2023-08-11T18:45:55 [INFO]: Deploying videos/interveiw/tutorialForm.cy.js.mp4 2023-08-11T18:45:55 [INFO]: Deploying videos/registor2Login/registor2Login.cy.js.mp4 2023-08-11T18:45:55 [INFO]: Finish deploying test artifact 2023-08-11T18:45:55 [INFO]: Updating Edge config


Update action.yml

Correcting the email address for support

Closing. This has already been fixed in https://github.com/MorphoCloud/MorphoCloudWorkflow/commit/33c46fccc30bd37d3d4c2accae30bbf338688e2e and deployed to MorphoCloudInstances through https://github.com/MorphoCloud/MorphoCloudInstances/commit/3ee5dc209186ac531bd59317283c04e769dab028


Not working f home on first home creation

Please make sure your pull request complies with these guidelines:

[X] Use same formatting

[ ] Changes must have been tested on PMMP.

[X] Unless it is a minor code modification, you must use an IDE.

[X] Have a detailed title.

What does the PR change?
The homeWorld variable is checked when the player does /f home to teleport to his faction home. The thing is that it's always null until the server reboots. So if the faction is new and the home is new the player cannot teleport to it. I don't really understand why homeWorld exists but maybe it's usefull so here is a fix.
There's no real issue opened to it.

Testing Environment

N/A
Extra Information
N/A

In fact Position::$world can be null, the easiest way is to detect if Position::$world is null and it should fix #72.
Btw you should check world after checking if the home exists.
I didn't tried it in game but I dont see why this should not work, I will today if I can.


Config cache should support serializing java.util.ArrayDeque

Expected Behavior
Config cache should support serializing java.util.ArrayDeque
Current Behavior (optional)
Config cache does NOT support serializing java.util.ArrayDeque
Context
See comment from @bamboo on this ticket:
https://github.com/gradle/gradle/issues/22765#issuecomment-1339427241

Thank you for your interest in Gradle!
This feature request is in the backlog of the relevant team and is prioritized by them.


Running the grid_search.py from different directory cannot pickup config.yaml

If run the grid_search.py from a different directory (not in examples/basic_protocol/) then the script cannot find config.yaml
command:
python ../examples/basic_protocol/grid_search.py -c ../examples/basic_protocol/grid_search.yaml
run from ot2util/ot2util/
Error:
Traceback (most recent call last):
  File "/home/kyle/Documents/School/Auto_Labs/ot2util/ot2util/../examples/basic_protocol/grid_search.py", line 90, in <module>
    main(cfg)
  File "/home/kyle/Documents/School/Auto_Labs/ot2util/ot2util/../examples/basic_protocol/grid_search.py", line 52, in main
    protocol_cfg = SimpleProtocolConfig.from_yaml("config.yaml")
  File "/home/kyle/Documents/School/Auto_Labs/ot2util/ot2util/config.py", line 20, in from_yaml
    with open(filename) as fp:
FileNotFoundError: [Errno 2] No such file or directory: 'config.yaml'

Might have to include some path logic for finding the protocol in the same dir as the protocol?

Yeah this is to initialize the base protocol config used for common settings like the equipment types. Let me add a option to specify this config file in the grid_search.yaml

Since it was just a small change and it didn't impact the interface, I just pushed directly to main. Should be fixed.


java: add test coverage for native resource management

We should be able to get good coverage with some multi-threaded unit tests that create EnvoyNativeResourceWrappers, pass them to the *Registry and use the *Releaser lambdas to satisfy test conditions.

Completed in #1179


Move dependencies to workspace

Inspired by:
https://github.com/emilk/egui/blob/44d65f41ac297847ceedc452c6a52299fe17f4a9/Cargo.toml#L65
I took the liberty of removing that comment since I think that I got all "relevant" ones (showing up more than once, sort of).

I'd like to eventually move all dependencies to be workspace dependencies, just because it lets me get an easy overview over all the dependencies (which is extra useful when using https://marketplace.visualstudio.com/items?itemName=serayuzgur.crates)


docs: documentation (getting started) out of date

Type: docs
Ionic Version: 3.x
Platform: all
Several commands have been "renamed":
$ ionic platform add ios
The platform command has been renamed. To find out more, run:
$ ionic cordova platform ios
? The plugin @ionic/cli-plugin-cordova is not installed. Would you like to insta
ll it and continue? Yes
$ ionic build ios
The build command has been renamed. To find out more, run:
$ ionic cordova build ios
...
Error: ios-deploy was not found. Please download, build and install version 1.9.0 or greater from https://github.com/phonegap/ios-deploy into your path, or do 'npm install -g ios-deploy'
Seems a bit problematic for a "getting started" tutorial to not be up-to-date (and also not mentioning several dependencies).

This issue was moved to ionic-team/ionic-site#1143


forbidden user mouse click event

forbidden user mouse click event
https://developer.mozilla.org/en-US/docs/Web/CSS/pointer-events
https://developer.mozilla.org/en-US/docs/Web/API/Pointer_events

.btn{
  pointer-events: none;
  cursor: not-allowed;
}

https://github.com/haizlin/fe-interview/issues/1501#issuecomment-554184003

URL checker
https://developer.mozilla.org/en-US/docs/Web/API/Document/referrer
document.referrer;
// "https://github.com/haizlin/fe-interview/labels/js"

window.location.href;
// "https://github.com/haizlin/fe-interview/issues/1478"


:ghost: actions using Go 1.22.

gomports@latest moved to require Go 1.22 by default, the runner uses 1.21.
Fixed here to pin goimports to 0.24 which only requires 1.21. This way if @latest moves again, CI won't be broken.

Looks good :+1:


Use Registry Auth using an htpasswd file for private Docker registry

Following up on #108 and #114, I would like to make sure the private Docker registry requires a username and password to use, for an added layer of security. Currently the registry is unprotected and anyone who knows the URL could push and pull images.
To add this, it looks like we'd need to generate an htaccess file (maybe using the geerlingguy.htaccess role), mount that file into the container as a new volume/volumeMount, then add the following env vars in the registry container definition:

REGISTRY_AUTH: htpasswd
REGISTRY_AUTH_HTPASSWD_PATH: /etc/registry-htpasswd
REGISTRY_AUTH_HTPASSWD_REALM: Private Registry

See also: https://github.com/containous/traefik/blob/master/docs/user-guide/kubernetes.md#basic-authentication


Empty tags

My bank exports files with empty tags here and there, for example:
<FI><ORG/><FID/></FI>
The empty tag syntax is valid XML but the parser doesn't like it. I can remove empty tags of course, but then I have to process all my bank statements. It would be much better if ofxparse sees the empty tag format and ignores the tags.

After merging #108, the parser is more lenient. My guess is that this will go away. If you are able, could you check if this is still an issue?

I continue to see similar issues with ofxparse 0.18.
My bank has exported an OFX file with the following empty fields:
CHECKNUM, FITID, NAME, CURDEF, BRANCHID, ACCTTYPE, REFNUM
The stacktrace is
Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/3.7/bin/hledger-autosync", line 11, in <module>
    sys.exit(run())
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/ledgerautosync/cli.py", line 311, in run
    import_ofx(ledger, args)
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/ledgerautosync/cli.py", line 114, in import_ofx
    ofx = OfxSynchronizer.parse_file(args.PATH)
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/ledgerautosync/sync.py", line 41, in parse_file
    return OfxParser.parse(open(path))
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/ofxparse/ofxparse.py", line 432, in parse
    ofx_obj.accounts += cls.parseStmtrs(stmtrs_ofx, AccountType.Bank)
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/ofxparse/ofxparse.py", line 818, in parseStmtrs
    account.curdef = act_curdef.contents[0].strip()
IndexError: list index out of range

Some unit tests would be helpful to check for this behavior.  If I have time I'll create some.

I can add the OFX files I'm using as test cases on a PR. 2 x separate OFX files from Australian banks, both using version 1.02 (SGML!).

PR #143 added fixes for some elements, still some others to go.

Two sample STMTTRN entries, both using v1.02 spec:
 <TRNTYPE>Credit</TRNTYPE>
 <DTPOSTED>20180801</DTPOSTED>
 <TRNAMT>0.0</TRNAMT>
 <FITID></FITID>
 <VALUEDATE>20180801</VALUEDATE>
 <NAME></NAME>
 <TRANSACTIONSPLIT>No</TRANSACTIONSPLIT>
 <CATEGORY>Uncategorised</CATEGORY>
 <ACCTBAL>-400.52</ACCTBAL>
 <CHECKNUM></CHECKNUM>
 <REFNUM></REFNUM>
 <MEMO>NEW INTEREST RATE  3.870%</MEMO>
 <CURRENCY>
  <CURRATE>1.0000</CURRATE>
  <CURSYM>AUD</CURSYM>
 </CURRENCY>
</STMTTRN>```

and

```<STMTTRN>
<TRNTYPE>DEBIT
<DTPOSTED>20180801
<DTUSER>20180801
<TRNAMT>-10.00
<FITID>
<MEMO>Account Fee
</STMTTRN>```

Both have empty FITID fields. One has empty NAME field. Either empty or missing CHECKNUM and REFNUM fields.

Since transactions can be parsed by ofxparse if CHECKNUM, REFNAME, NAME and FITID are missing, empty fields should be handled in the same way.

Will try and put together a PR for these in the next few days.


Create a configuration format and implementation that allows for the whitelisting of accounts

Resolved by initial repo creation.


Define Index for cloudwatch-logs-to-elastic-cloud

How would I define the specific index to write the cloudwatch logs to without a pipeline?

The elasticsearch index name is automatically derived from the log group name:
const index = payload.logGroup
    .replace(/\W+|_+/g, '-')
    .replace(/^-/, '')
    .toLowerCase()

So you define the index by choosing a cloudwatch log group name.


Allowing older version of pandas to be used

As a common lib, it may be easier to have wide dependency ranges.
This PR is resolving a dependency conflict with zillow project using this repo:
There are incompatible versions in the resolved dependencies:
  pandas>=1.4.0 (from zdatasets[kubernetes]==0.2.1->-r requirements.in (line 9))
  pandas==1.3.5 (from floor-map-insights==1.3.9->panoloc==1.0.5->covis-pose==0.1.2->-r requirements.in (line 18))

Coverage remained the same at 97.955% when pulling 4cc3c82a2c503f77350f00405f4880813e25d867 on yunw/relax_pandas_range into a5c58c1e14721244c612d9a6153b3a3d340789f5 on main.


SAK-30037; make menus work on file helper in select mode

I've updated the PR to remove the unnecessary class="xxx" as well as unnecessary changes in spacing.

Merging to get the helper working again. Matching the UI in resources would be nice.


How to avoid the performance loss of rfft function after using fft function？

using FFTW
using Random
a = rand(100000000)
@time rfft(a);

0.307048 seconds (228 allocations: 762.957 MiB, 7.69% gc time)

But when I use fft once first and then use the above code
using FFTW
using Random
a = rand(100000000)
fft(a)
@time rfft(a);

2.986037 seconds (228 allocations: 762.957 MiB, 1.63% gc time)

Performance is about ten times worse，How to avoid the performance loss of rfft function after using fft function？

I can't replicate your timings on my machine.  I suspect that you're just being fooled by the unreliability of @time (in particular, you want to discount the time from the first time you call a function, since not only is some compilation involved, but FFTW also creates a "plan" object that can potentially be re-used.  Better to use @btime from the BenchmarkTools.jl package to get reliable timing measurements.
However, if you care about performance, you should be using plan_rfft anyway to create a "plan" (saved algorithm and data tables) for the FFT and then re-use it.


Connect to Firebase Storage Emulator?

[READ] Step 1: Are you in the right place?

For issues or feature requests related to the code in this repository
file a Github issue.

If this is a feature request make sure the issue title starts with "FR:".

For general technical questions, post a question on StackOverflow
with the firebase tag.
For general Firebase discussion, use the firebase-talk
google group.
For help troubleshooting your application that does not fall under one
of the above categories, reach out to the personalized
Firebase support channel.

[REQUIRED] Step 2: Describe your environment

Operating System version: MacOS 10.15.7
Firebase SDK version: latest
Library version: 7.3.0
Firebase Product: Storage

[REQUIRED] Step 3: Describe the problem
I'm using this library and I'm trying to use the environment variable FIREBASE_STORAGE_EMULATOR_HOST to get it to point to the local emulator that I'm running. It doesn't seem to work. However, when I search for FIREBASE_STORAGE_EMULATOR_HOST in this project, I can't seem to find it either. The documentation lead me to believe that I can manipulate the SDK to use the emulator by setting this environment variable, but that doesn't seem to be the case for Java.

Can someone confirm this?
How should I be connecting my development server to the storage emulator? I detail how I tried to use the google cloud storage sdk to do that and failed here: https://github.com/googleapis/java-storage/issues/875

This is how the Node.js Admin SDK does it: https://github.com/firebase/firebase-admin-node/blob/bf959e31ef0e04f7039db1c8f41c2fb70605757f/src/storage/storage.ts#L61
You should be able to do the same in Java by manually setting the STORAGE_EMULATOR_HOST environment variable.

@hiranya911 I don't see this environment variable used anywhere in the project - https://github.com/firebase/firebase-admin-java/search?q=STORAGE_EMULATOR_HOST

That's an environment variable supported by the google-cloud-storage library. firebase-admin-java doesn't implement any Storage related code.

@hiranya911 Is there any updated news regarding this?

@hiranya911 the PR https://github.com/firebase/firebase-admin-java/pull/523 lead me to believe otherwise.
Can you state whether this is a feature you, or more specifically the Admin SDK, support?

The Admin Java SDK currently does not support the storage emulator.
Please refer to the Admin SDK emulator availability for more information. We do not currently have immediate plans to add storage support. I will update this issue if there are any updates.
@mitschwimmer You are correct, the Admin Java SDK supports the Auth emulator since the v7.2.0 release. Looks like it is missing from the above availability matrix. We will get that page updated soon. Thanks!

This is out of date. Java supports Auth Emulator now.
On Tue, Jan 25, 2022 at 1:05 PM Lahiru Maramba @.***>
wrote:

The Admin Java SDK currently does not support the storage emulator.
Please refer to the Admin SDK emulator availability
https://firebase.google.com/docs/emulator-suite/install_and_configure#admin_sdk_availability
for more information. We do not currently have immediate plans to add
storage support. I will update this issue if there are any updates.
@mitschwimmer https://github.com/mitschwimmer You are correct, the
Admin Java SDK supports the Auth emulator since the v7.2.0 release. Looks
like it is missing from the above availability matrix. We will get that
page updated soon. Thanks!
—
Reply to this email directly, view it on GitHub
https://github.com/firebase/firebase-admin-java/issues/570#issuecomment-1021464687,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAGUWAIU7SXPAFBIK4SGLNTUX3Q4XANCNFSM46UEJTIA
.
You are receiving this because you authored the thread.Message ID:
@.***>

Any updates on this issue? We would like to use the Storage Emulator in our project.


TextInput becomes slow after lots of typing

Environment
$ react-native info
Environment:
  OS: Linux 4.9
  Node: 8.11.3
  Yarn: 1.7.0
  npm: 5.6.0
  Watchman: Not Found
  Xcode: N/A
  Android Studio: Not Found

Packages: (wanted => installed)
  react: 16.3.1 => 16.3.1
  react-native: 0.56.0 => 0.56.0 (*)

(*) In my test app, actually v0.55.4 plus the patch from #19645 . Others on #19126 report the same symptoms using v0.56.
Description
After typing a lot of text into a controlled TextInput, like ~500 char on a recent fast phone, we start dropping frames. It gets worse the more you type; at ~1000 char, we very frequently drop frames and the app looks noticeably laggy.
Reproducible Demo
The original repro is by @s-nel: https://github.com/s-nel/rn19126
Originally reported at https://github.com/facebook/react-native/issues/19126#issuecomment-402904164; more discussion in subsequent comments in that thread.
In particular, here's the video from that repro:

Here's a video by @s-nel on my test app, with this description:

Yes I can reproduce from [that repo] after typing for a couple minutes straight. I don't have to clear anything as the original bug description [in #19126] indicates. Here you can see my JS framerate drop to single digits from adding a few characters

Here's my description of replicating that repro, again in my test app:

I just tried again with my test app, on RN 0.55.4 + patch. If I type continuously for about 60 seconds -- maybe 400-500 characters, at a rough estimate (just gibberish, both thumbs constantly typing letters) -- then the perf overlay gets to about "10 dropped so far", and zero stutters. If I continue and get up to about 90 seconds, the "dropped" figure climbs faster, and the framerate (in "JS: __ fps") noticeably drops. At about 150 seconds (~1000 characters?), the "dropped" figure rapidly climbs past 200, and the framerate hangs out around 30.
Even at that point, it's still "0 stutters". And if I ignore the perf overlay and try typing normal text and watching it like I were using an app for real: it's a bit laggy, but doesn't make things feel unusable or outright broken, and I think most of the time I wouldn't even notice.

That was on a Pixel 2 XL; the numbers will probably vary with hardware.
Background from previous bug
This bug seems closely related to #19126; the repro steps and symptoms seem to be exactly the same, except quantitatively much less severe. (The original reports of #19126 describe clearing the input as part of the repro; I now think that was probably a red herring.)
The extreme symptoms of #19126 were absent in v0.54, introduced in v0.55, and fixed in v0.56 by #19645 . As I wrote when I figured out the cause of that (leading to the one-line fix in #19645):

[This buggy NaN comparison] means every text shadow node will create a CustomLetterSpacingSpan around its contents, even when the letterSpacing prop was never set. It must be that we're somehow ending up with large numbers of these shadow nodes -- that sounds like a bug in itself, but I guess it's normally low-impact -- and this condition is failing to prune them from causing a bunch of work here.

I think we're now looking at exactly that underlying bug. It may well have been present in v0.54 and earlier releases; I don't think we have any data on that.
I don't know anything more about what causes it; even the hypothesis that we're ending up with large numbers of text shadow nodes is just an inference from how it interacts with the line fixed in #19645. So, more debugging is required.
I don't expect to do that debugging myself, because these remaining symptoms are no longer one of the top issues in our own app. But I hope somebody else will!

👋 @gnprice thanks for the writeup, I've added a couple more tags that seem to be more related to the issue.
Sadly AFAIK the TextInput is an hard portion to work with, and currently there is a bit of bus factor in terms of devs that know how it works "deeply". So it may take some time before this get fixed, fingers crossed.

After few tests I`ve discovered that clean InputText (without any styling) works normally (sometimes fps going down, but app is not freezing). But if I add some styling to input (e.g. fontSize) then typing process is going to be laggy more and more. Unstable behavior is appear much faster if quantity of styling options is more. It seems that something went wrong with styling span generation (size, lineHeight, letterSpace and so on) inside of the logic of the text shadow nodes code.
For now, i have to remove all styling from inputs, to get app works.
Maybe that helps someone. Cheers!

#19500

(ok ignore the bot)

Hi,
I'm experiencing the same problem with 3 separate react native app under developpement.
I have conducted my small tests with the slightlyest modified basic App (but trying with "PureComponent" - see below) with the following versions :

0.54.0
0.55.x series
and the 0.56.1 version.

There are differences, but as far as I can tell, the behavious is basically the same, i.e. performances drop after a couple of hundreds of typing (300 words / 1000 carateres). So, could this be inherent to react native &/or mobile dev ?
There are aggravating factors, though :

Maybe, as @alp1396 reported above, text styling is a "bug" amplifier, I haven' tried
With 0.55.x, when <TextInput onChange={this._onChange} value={this.state.value} /> is replaced by <TextInput onChangeText={this._onChange}>{this.state.value}</TextInput>, performances are dramatically decreased (but this is not "by the book" anyway). 0fp is reached after 500 caracters or so. ;
With no value={this.state.value} inside the TextInput component, it is much better. At 1200 caracters, it is still around 45-55fps, which is acceptable.

My projects must allow the user to compose large pieces of texts, so I guess I will keep an eye on it, and try various workarounds to mitigate it (unmount the component + no value={this.state.value} when admissible...).
Thanks a lot for any update on this issue.
import React from 'react';
import { StyleSheet, Text, View, TextInput } from 'react-native';

export default class App extends React.PureComponent {

  constructor(props) {
    super(props)
    this.state = {
      label : ''
    }
  }

  _onChange = (label) => {
    this.setState({ label })
  }

  render() {
    return (
      <View style={styles.container}>
       <Text>Caracter count : {this.state.label.length}</Text>
        <Text>Word count : {this.state.label.split(' ').length}</Text>
        <TextInput
          onChangeText={this._onChange}
          value={this.state.label}
        />
      </View>
    );
  }
}

const styles = StyleSheet.create({
  container: {
    flex: 1,
    backgroundColor: '#fff',
    alignItems: 'center',
    justifyContent: 'center',
  },
});

I don't know if this is in any way helpful, but I started dev-ing on an earlier RN version for my app (I think it might have been .53) and didn't notice the slowdown issue until after I had upgraded my RN version to .55 (and now also seeing it in .56). To wit, not 100% SURE it wasn't there back then, but it does make me wonder if something introduced in .54 might be causing the issue.

This issue started in 0.54 and still exists today. Any chat app that uses a text input that persists between messages becomes unusable after only a few minutes if chatting. I wish there was some way to get this fixed.

@stueynet a workaround for chat is to force React to unmount and remount on the text input when the user sends a message.

for me the solution was to do the following
https://snack.expo.io/@jerson/text-input-slow-fix
 _onChange = (label) => {
     if (this.timeoutUpdate) {
      clearTimeout(this.timeoutUpdate);
    }
    this.timeoutUpdate = setTimeout(() => {
      this.input.setNativeProps({
        text: label
      });
    }, 100);

    this.setState({ label })
  }

Any updates on that? Still reproducible in 0.57rc4. Just create a new react native project and user this simple App class:
export default class App extends Component<Props> {
    render() {
        return (
            <TextInput />
        );
    }
}

As the TextInput is unstyled, you won't see it, just click in the top left corner, then the cursor appears. After several recursions (3-5) of typing and clearing the whole text, the lag is noticable, from then on the lag increases every time you clear. On our test device, also other apps are slow then, e.g. the Chrome address bar lags just like the RN TextInput. Only a restart of the device fixes it, but it appears again after some recursions of typing and clearing.

For me the only stable solution to avoid any lags is to use uncontrolled TextInput which means DON'T use value field. You can manage that in 2 ways:

Use _lastNativeText...

addNewTodo = () => {
    const value = this.addTodoRef._lastNativeText

    if (value) {
        this.props.actions.addTodo(value)
    }
}

render() {
    <TextInput
        ref={component => { this.addTodoRef = component }}
        onSubmitEditing = {this.addNewTodo}
        blurOnSubmit
    />
}

but in this case this.addTodoRef.clear() and this.addTodoRef.setNativeProps({text: ''}) will not empty _lastNativeText, so this solution requires even more hacks above that

Use onChangeText with class property

textInputValue = null

addNewTodo = () => {
    const value = this.textInputValue

    if (value) {
        this.props.actions.addTodo(value)
        this.addTodoRef.clear()
        this.textInputValue = null
    }
}

onChangeText = (text: string) => {
    this.textInputValue = text
}

render() {
    <TextInput
        ref={component => { this.addTodoRef = component }}
        onSubmitEditing = {this.addNewTodo}
        blurOnSubmit
        onChangeText={this.onChangeText}
    />
}

Thank you so much @sintylapse!!!!

So @gnprice can we confirm this is still not fixed even in 0.57 and the issue seems to be related to the value prop on the text input. Using the @sintylapse hack above the issue does not appear to be a problem. Perhaps this will help in terms of figuring out a solution?
To summarize 0.54 and 0.55 are essentially unusable on Android. 0.56 has a partial mitigation of the problem which lets you go for long but likely will start to be problematic just after more typing.

Just a reminder - On iOS, TextInputRef.clear() is not working on v0.54. A check in Platform.OS is needed before applying the hack @sintylapse provided.
https://github.com/facebook/react-native/issues/18272

Is not this related to https://github.com/react-native-community/react-native-releases/blob/master/CHANGELOG.md#android-specific-fixes-1 fixed by https://github.com/facebook/react-native/commit/1b4187fc414352cd3724e2d4df2009f5a045fe3f?

We did a lot of experimenting in the last days, and our issue is clearly linked to the Google Keyboard app. I don't know if it's the exact same issue, because we could reproduce it down to RN 0.50 (simple app with just a TextInput like my example above. In 0.49 it was not reproducible, from 0.50 to 0.57rc4 we could reproduce it. In our current app in development an external keyboard is used, it's easier to reproduce then because you can hammer the physical keys, CTRL+A, Delete, hammer again, and repeat that a couple of times until becomes slower and slower. We tried to reset our test devices, after reset the slowness was gone, until the Google Keyboard updated in the background from 4.* to 7.* - then the slowness immediately touched in. Downgrading Google Keyboard to 4.* or deactivating it totally fixes the issue immediately. We tried some other keyboards. With Swift keyboard it's slow too, there you see that our test device does hard work when updating swift's vocabulary suggestions, but it's usable and doesn't slow down with every cleaning of the input - it's just a bit slow from the beginning. Other keyboards like Chrooma or Go also introduce some slowness, but you only see it if you hammer the physical keys with flat hands and fingers, not if you type normally. With Google Keyboard 7.* enabled, it becomes slower and slower with every clearing of the TextInput.  Maybe it's not directly related to this issue, but at least the effect is the same.

@oe5wei You write a story?

Any updates on this issue? Really annoying bug :(

@piubellofelipe I'd recommend using @sintylapse's temporary solution until it's fixed. Graceful enough for me in the meantime!

Nothing change?

Same problem here. This Issue is from july... TextInput is a very ... very critical feature!
 React Native Environment Info:
    System:
      OS: macOS High Sierra 10.13.6
      CPU: x64 Intel(R) Core(TM) i5-4278U CPU @ 2.60GHz
      Memory: 88.79 MB / 16.00 GB
      Shell: 3.2.57 - /bin/bash
    Binaries:
      Node: 8.12.0 - /usr/local/bin/node
      npm: 6.4.1 - /usr/local/bin/npm
      Watchman: 4.9.0 - /usr/local/bin/watchman
    SDKs:
      iOS SDK:
        Platforms: iOS 12.1, macOS 10.14, tvOS 12.1, watchOS 5.1
    IDEs:
      Android Studio: 3.1 AI-173.4907809
      Xcode: 10.1/10B61 - /usr/bin/xcodebuild
    npmPackages:
      react: 16.5.0 => 16.5.0
      react-native: 0.57.0 => 0.57.0
    npmGlobalPackages:
      create-react-native-app: 1.0.0
      react-native-cli: 2.0.1

AFAIK there is no PR directly related to this issue currently open, feel free to implement something if you can.
There are currently a lot of things going on with the repo, so I have no estimate on when this can be picked up.

0.57.7 still have this problem

The above does not work(and should! because a standard-text-input should just work!). Please update main-readme with the following text: TEXT-INPUT DOES NOT WORK! Because THIS is a SHOWSTOPPER for any app but it takes some useless time debugging(and writing an entire app based on RN) to get it.

For many reason we have to keep the version 0.55 for the app in my company , I tried to fix this issue with this workaround, I have a text input wich need to handle 20 chars then delete them and repeat it 500 times, so the lag is still there at the end.
Is it normal that I have to reload the device ? (even by closing the app the keyboard stay laggy).
Thanks.
@gnprice

It's odd that this video wasn't mentioned so far.
https://youtu.be/83ffAY-CmL4?t=1366
Of course this is a serious issue, but I think everyone should wait for the awesome work the core team is doing.

@oe5wei Thanks, we started to use an other keyboard and desactivate default google keyboard wich solved this issue.

0.58.6 - the problem persists.

Updated commands and flagged this as a high priority. Hopefully we can get this fixed as soon as possible.

@LzxHahaha I tried your solution. I see definite improvement, but text is getting appended when I use scanner for typing instead of keyboard .I am testing on Zebra MC 36 Android device which has inbuilt hardware scanner. I don't type using keyboard, instead i use the scanner for scanning QR Code/Barcode and the text gets inserted in TextInput wherever the cursor is placed,
Whenever I scan really fast,I see text getting appended.Suppose I scan 'A',then I scan 'B' really  fast,I see 'AB' instead of 'B' inside the textinput
I am using uncontrolled component only.
Any solution ?

For me the only stable solution to avoid any lags is to use uncontrolled TextInput which means DON'T use value field. You can manage that in 2 ways:

Use _lastNativeText...

addNewTodo = () => {
    const value = this.addTodoRef._lastNativeText

    if (value) {
        this.props.actions.addTodo(value)
    }
}

render() {
    <TextInput
        ref={component => { this.addTodoRef = component }}
        onSubmitEditing = {this.addNewTodo}
        blurOnSubmit
    />
}

but in this case this.addTodoRef.clear() and this.addTodoRef.setNativeProps({text: ''}) will not empty _lastNativeText, so this solution requires even more hacks above that

Use onChangeText with class property

textInputValue = null

addNewTodo = () => {
    const value = this.textInputValue

    if (value) {
        this.props.actions.addTodo(value)
        this.addTodoRef.clear()
        this.textInputValue = null
    }
}

onChangeText = (text: string) => {
    this.textInputValue = text
}

render() {
    <TextInput
        ref={component => { this.addTodoRef = component }}
        onSubmitEditing = {this.addNewTodo}
        blurOnSubmit
        onChangeText={this.onChangeText}
    />
}

I tried your solution. I see definite improvement, but text is getting appended when I use scanner for typing instead of keyboard .I am testing on Zebra MC 36 Android device which has inbuilt hardware scanner. I don't type using keyboard, instead i use the scanner for scanning QR Code/Barcode and the text gets inserted in TextInput wherever the cursor is placed,
Whenever I scan really fast,I see text getting appended.Suppose I scan 'A',then I scan 'B' really fast,I see 'AB' instead of 'B' inside the textinput
I am using uncontrolled component only.
Any solution ?

For me the only stable solution to avoid any lags is to use uncontrolled TextInput which means DON'T use value field. You can manage that in 2 ways:

Use _lastNativeText...

addNewTodo = () => {
    const value = this.addTodoRef._lastNativeText

    if (value) {
        this.props.actions.addTodo(value)
    }
}

render() {
    <TextInput
        ref={component => { this.addTodoRef = component }}
        onSubmitEditing = {this.addNewTodo}
        blurOnSubmit
    />
}

but in this case this.addTodoRef.clear() and this.addTodoRef.setNativeProps({text: ''}) will not empty _lastNativeText, so this solution requires even more hacks above that

Use onChangeText with class property

textInputValue = null

addNewTodo = () => {
    const value = this.textInputValue

    if (value) {
        this.props.actions.addTodo(value)
        this.addTodoRef.clear()
        this.textInputValue = null
    }
}

onChangeText = (text: string) => {
    this.textInputValue = text
}

render() {
    <TextInput
        ref={component => { this.addTodoRef = component }}
        onSubmitEditing = {this.addNewTodo}
        blurOnSubmit
        onChangeText={this.onChangeText}
    />
}

I tried your solution. I see definite improvement, but text is getting appended when I use scanner for typing instead of keyboard .I am testing on Zebra MC 36 Android device which has inbuilt hardware scanner. I don't type using keyboard, instead i use the scanner for scanning QR Code/Barcode and the text gets inserted in TextInput wherever the cursor is placed,
Whenever I scan really fast,I see text getting appended.Suppose I scan 'A',then I scan 'B' really fast,I see 'AB' instead of 'B' inside the textinput
I am using uncontrolled component only.
Any solution ?

If you only need to scan barcode (which mean all code are not just single word), you can think only if (newVal.length - value.length) > 1 is the next input from scanner, then emit your customs input component’s onChangeText event with old value and new value, and clear old. This works for me because I don’t need to consider the paste situation.

@LzxHahaha Actually these barcodes which are being scanned are not of fixed length,They can contain as many characters. Eg - Some barcodes may contain 10 characters and some may contain 15 characters and so on
This text getting appended is a serious problem for us.In my use case a person would be scanning approx 110 barcodes in 1 minute. Sometimes even three barcodes also get appended in textinput box before the texinput is cleared.
I.e I first scan 'A', then 'B', then 'C' very quickly. I see 'ABC' inside my textinput before it is cleared
Ideally I should see first 'A', then 'B', then 'C'

whats up guys? is there any official solution or fixing?

I've made bunch of tests with different RN versions and the explaination is the only one: from October 2017 the issue remains from RN 0.50. As I see in changelog there were lots of changes including TextInput and TextShadowNode. The code below works fine in RN 0.49.
state = {
      code: '',
      count: 0,
    }

  _scanCodeEndEditing = () => {
    let code=this.scanCodeInput._lastNativeText;
    let count=this.state.count+1;
    this.setState({
      code,
      count
    });
    this.scanCodeInput.clear();
    this.scanCodeInput.focus();
  }

  render() {
    return (
      <View style={styles.container}>
        <Text style={styles.welcome}>
          Test RN0.49 width 100
        </Text>
        <Text>{this.state.code}</Text>
        <Text>Count: {this.state.count}</Text>
        <TextInput
          style={{width: 100}}
          onEndEditing={this._scanCodeEndEditing}
          ref={input => { this.scanCodeInput = input }}
        />
      </View>
    );
  }

Downgrading my project is the only solution for me for now. I can make 20-30 scans in 1 minute by bluetooth HID interface scanner of datamatrix code including 50 chars per scan into the single inputtext and nothing get laggy. From RN0.50 is impossible to do this, it's getting laggy really hard from 6-8th scan so it's something around 300-400 chars and the device needs to be restarted, not only the app.

I think they are rewriting RN Core in order to have communication through the bridge less asynchronous. Perhaps this will fix the issue

hey everyone, I'm sorry this issue is still around. As @sintylapse wrote about, the FB team is currently working on a rewrite of the RN architecture - you can find more details in the pinned issues in this library https://github.com/react-native-community/discussions-and-proposals/issues.
Anyway, this has been a fairly important issue - I'll try to raise it again with the FB team, maybe there is some intermediate step that can be taken to make the situation better.
In the meantime, the PR process flow has improved greatly in the past few months so if you have any tweaks that could help please submit a PR 🤗

I've made bunch of tests with different RN versions and the explanation is the only one: from October 2017 the issue remains from RN 0.50. As I see in changelog there were lots of changes including TextInput and TextShadowNode. The code below works fine in RN 0.49.

@piotrpazola Cool, that is very helpful new information!
The next step, if you're (or anyone else is) up for trying it, would be to do the same thing with different RN versions between v0.49 and v0.50, from Git. The goal would be to pin down a single commit that introduced the issue. Then that will be a very powerful clue for diagnosing the issue -- that's exactly how I diagnosed and fixed the related issue #19126.
There are 306 commits in that range; so with the magic of binary search, you'll need to try 9 different versions (because 2^9 >= 306 > 2^8).
$ git rev-list --count v0.49.0..v0.50.0
306

Git has a handy utility git bisect that can help manage the binary search for you, or you can also just do it by hand. (Try it on the midpoint v0.50.0~153, etc.)
For running with an RN version from Git, see this page of docs:
https://facebook.github.io/react-native/docs/building-from-source.html

The next step, if you're (or anyone else is) up for trying it, would be to do the same thing with different RN versions between v0.49 and v0.50, from Git. The goal would be to pin down a single commit that introduced the issue. Then that will be a very powerful clue for diagnosing the issue -- that's exactly how I diagnosed and fixed the related issue #19126.

@gnprice Thank you for advices! I'm glad that it could help because it really makes me bad. If I get some extra time I'd build some middle versions of RN between 0.49 and 0.50 and I'll do the same tests. I spent some time digging in java code of TextInput and so on, comparing implementations of 0.49 and 0.50 versions. There were lots of changes and it's unclear what could went wrong. Hopefully, we've got the best chance to fix this that ever.

I spent some time digging in java code of TextInput and so on, comparing implementations of 0.49 and 0.50 versions. There were lots of changes and it's unclear what could went wrong.

Makes sense! Yeah, the powerful thing about git bisect (or doing the equivalent by hand) is that you can narrow it down to a much smaller diff, to go back and study in exactly that way.
Especially when a bug is something subtle, that can make a big difference because it lets you look much more closely (because there is less to look at)... and also, it gives you much more traction to start making logical inferences about what's going on, just like how in a scientific experiment you always try to change just one or a few variables at a time.

If I get some extra time I'd build some middle versions of RN between 0.49 and 0.50 and I'll do the same tests.

Great :smile:

Hi guys any update on this ? Is it fixed in 0.60 ? @kelset

No updates on my side - I think that probably in latest 0.60 with Hermes this may have been fixed but I have not tested it.

I have the same problem and look forward to the latest progress.

Anyone checked this bug in 0.61? Is it any better?

@kelset  We are still hitting this issue on 0.60

Just tested on 0.62.0-rc.2 works perfect!!! TextInput now not freeze UI and onChangeText() setState() not lagging anymore, not need to make workaround like:
this.inputRef.current._lastNativeText;

Cool - thanks everyone. When 0.62.0 is out I'll close this then.

@kelset Are you sure?
I thought this was an architectural issue as mentioned by @axe-fb here: https://youtu.be/83ffAY-CmL4?t=1366

On 0.62 I am still experiencing the issue on real low end devices. In the emulator its fast. Is there a way I can provide more debugging info?

@kelset Are you sure?
I thought this was an architectural issue as mentioned by @axe-fb here: https://youtu.be/83ffAY-CmL4?t=1366

This is the current problem

This is the solution they would implement

@diegolmello but seems to me a very difficult pull request for any opensource contributor.

I am experiencing this issue on RN 0.63.2 and it appears to be exactly what @fabriziobertoglio1987  is pointing to. If I remove value then TextInput is super fast. Many users on Android 8 phones (a little old, but not talkie walkies) are reporting that it is buggy to use the TextInput.
I am using a workaround where I remove the value prop. I set a default value and use onChangeText. This stops the bugginess.

@wmonecke, we are considering using your technique. Did you find any drawbacks to it eventually?

I found a way to make the delay go away, without workarounds that avoid using the TextInput value or debouncing onChangeText() (and I'm stressing it quite a bit, using a barcode scanner that creates 13 chars within 0.5s).
I've completely bypassed the SpannableStringBuilder and I don't know if that creates other problems (I don't see any styling going away, even with properties that seem to want to use spans (e.g. letterSpacing)). All I know is that the delay has gone away, I see no issue in my app and after looking into this for days, I'm too tired to care about anything else. If anyone wants to test it out, you can use this in your package.json:
"react-native": "github:bdokimakis/react-native.git#0.63-stable-with-fix-for-20119"
Any feedback would be appreciated.

I found a way to make the delay go away, without workarounds that avoid using the TextInput value or debouncing onChangeText() (and I'm stressing it quite a bit, using a barcode scanner that creates 13 chars within 0.5s).
I've completely bypassed the SpannableStringBuilder and I don't know if that creates other problems (I don't see any styling going away, even with properties that seem to want to use spans (e.g. letterSpacing)). All I know is that the delay has gone away, I see no issue in my app and after looking into this for days, I'm too tired to care about anything else. If anyone wants to test it out, you can use this in your package.json:
"react-native": "github:bdokimakis/react-native.git#0.63-stable-with-fix-for-20119"
Any feedback would be appreciated.

Text input is also slow on iOS because of the onChange event.  That's a very bad experience while using battery saving mode
Can I get the native value temporarily without onChange/State?

Text input is also slow on iOS because of the onChange event.  That's a very bad experience while using battery saving mode
Can I get the native value temporarily without onChange/State?

Has anyone had bad experiences from using defaultValue and onChangeText?

We didn't set value on multi-line textinput for years, until lately after upgrading to 0.63, we started getting reports from users that after editing a while the whole phone became laggy and they have to restart the phone to go back normal.
We're still investigating and I couldn't reproduce the problem on my android devices as well.

Has anyone had bad experiences from using defaultValue and onChangeText?

We didn't set value on multi-line textinput for years, until lately after upgrading to 0.63, we started getting reports from users that after editing a while the whole phone became laggy and they have to restart the phone to go back normal.
We're still investigating and I couldn't reproduce the problem on my android devices as well.

We didn't set value on multi-line textinput for years, it was, well... "okay". Until lately after upgrading to 0.63, we started getting reports from users that after editing a while the whole phone became laggy and they have to restart the phone to go back normal.
We're still investigating and I couldn't reproduce the problem on my android devices as well.

We didn't set value on multi-line textinput for years, it was, well... "okay". Until lately after upgrading to 0.63, we started getting reports from users that after editing a while the whole phone became laggy and they have to restart the phone to go back normal.
We're still investigating and I couldn't reproduce the problem on my android devices as well.

For anyone having doubts about my workaround:
I have been using my solution posted above in my app with 40k MAU and I haven't seen a single report or issue.
Happy coding!

For anyone having doubts about my workaround:
I have been using my solution posted above in my app with 40k MAU and I haven't seen a single report or issue.
Happy coding!

I am still receiving reports on this issue (without setting the value attribute).
If anyone could help fixing this issue or building a standalone simplified textInput module ( maybe like this one? ) please PM.

I'm encountering this issue on RN 0.63.2, TextInput becomes extremely laggy after a while if applying any of the following to the component

Styling it
providing value prop to it
providing defaultValue prop to it

the solution for this issue is create a method that uses the RNBridge syncronously instead asyncronously as explained in https://github.com/facebook/react-native/issues/20119#issuecomment-639482512
not worth it creating a pr as the react native team is working on the new architecture which should solve all the limitation from the react native bridge

the solution for this issue is create a method that uses the RNBridge syncronously instead asyncronously as explained in #20119 (comment)
not worth it creating a pr as the react native team is working on the new architecture which should solve all the limitation from the react native bridge

This didn't resolve the issue for me

the solution for this issue is create a method that uses the RNBridge syncronously instead asyncronously as explained in #20119 (comment)
not worth it creating a pr as the react native team is working on the new architecture which should solve all the limitation from the react native bridge

As I mentioned, I did not set the value attribute and also with a debounced onChange ( so no async callback I suppose? ), but the performance drop remains. I have received more than 10 reports mentioning it will cause the keyboard lag with serious delay, even after quitting the app. They will have to restart the device to back to normal.
For me, I could easily reproduce the performance drop even with flagship devices by pasting around 15-20k characters into the textInput. Maybe it's a rare case in most the app but for a dairy or note-taking app it's quite normal.
If anyone could provide any workaround or a temp fix, I am willing to donate.
Thanks.

the solution for this issue is create a method that uses the RNBridge syncronously instead asyncronously as explained in #20119 (comment)
not worth it creating a pr as the react native team is working on the new architecture which should solve all the limitation from the react native bridge

As I mentioned, I did not set the value attribute and also with a debounced onChange ( so no async callback I suppose? ), but the performance drop remains. I have received more than 10 reports mentioning it will cause the keyboard lag with serious delay, even after quitting the app. They will have to restart the device to back to normal.
For me, I could easily reproduce the performance drop even with flagship devices by pasting around 15-20k characters into the textInput. Maybe it's a rare case in most the app but for a diary or note-taking app it's quite normal.
If anyone could provide any workaround or a temp fix, I am willing to donate.
Thanks.

Same experience here, and I don't need to put that many characters in, putting in a few sentences and removing it by holding the backspace button a few times does it on iPhone X.

In 2018 (I think it was RN 0.52 or some version around that) we could fix it completely by uninstalling the Gboard app. That's the native google keyboard, which, I guess, is installed on every Android device. Then the lags are gone. So if it's no publicly available app, like some kind of corporate app where you have access and control over all devices, that's at least an option. Just be sure to install some other keyboard app like swift, or have at least a hardware keyboard at hand, before you uninstall/disable it. Else you are left with the voice keyboard (which we also uninstalled because for our app only hardware keyboards were used and the voice keyboard confused our users).

I found a way to make the delay go away, without workarounds that avoid using the TextInput value or debouncing onChangeText() (and I'm stressing it quite a bit, using a barcode scanner that creates 13 chars within 0.5s).
I've completely bypassed the SpannableStringBuilder and I don't know if that creates other problems (I don't see any styling going away, even with properties that seem to want to use spans (e.g. letterSpacing)). All I know is that the delay has gone away, I see no issue in my app and after looking into this for days, I'm too tired to care about anything else. If anyone wants to test it out, you can use this in your package.json:
"react-native": "github:bdokimakis/react-native.git#0.63-stable-with-fix-for-20119"
Any feedback would be appreciated.

Thank you @bdokimakis
I can confirm that in my case ( pasting around 15-20k characters into the textInput and it will become very slow ) removing the SpannableStringBuilder works pretty well, the lag is totally gone even with 100k+ characters. However there are still some text selection / typing problems to solve. If anyone could help investigate in this way it might be really helpful.

Here's my mod in a package https://www.npmjs.com/package/react-native-no-lag-text-input for easier testing.
@tarouboy if you could let me know what text selection / typing problems you're facing, I will take a look.

Here's my mod in a package https://www.npmjs.com/package/react-native-no-lag-text-input for easier testing.
@tarouboy if you could let me know what text selection / typing problems you're facing, I will take a look.

I tried this, but still have the issue.

Here's my mod in a package https://www.npmjs.com/package/react-native-no-lag-text-input for easier testing.
@tarouboy if you could let me know what text selection / typing problems you're facing, I will take a look.

I tried this, but still have the issue.

@HadiModarres try v.1.1.0 please and let me know exactly what issue you're having, if still there. Also, please confirm that you're checking text inputs where you've replaced RN's TextInput with NoLagTextInput that you've imported from my package.

@bdokimakis Your component is behaving the same as the original TextInput for me. I used your component like:
<NoLagTextInput defaultValue={'hello'} />
And then typed a few sentences, and removed it by holding down the backspace key. The issue is that the component becomes slower and slower to each character and to delete them. Note that the issue isn't about flickering or anything like that, it seems like there's something weird going on in the component like some sort of leak or accumulating callbacks.

@HadiModarres thanks for testing. I just tried to reproduce the issue you described, but it seems to be working fine.
package.json: "react-native-no-lag-text-input": "^1.1.0" and "react-native": "0.63.3"
code:
test result: https://user-images.githubusercontent.com/12087618/108032499-405ab580-703b-11eb-8ec6-d31d4d683a69.mp4
Let me know if you're testing in a different manner so I can try to reproduce.

In my case, the TextInput becomes slow when starting typing. I noticed that autocorrect takes some time to suggest words on the keyboard and so I turned it off. Now it works better. I know it's not the best solution, but ... ¯ \ _ (ツ) _ / ¯
autoCorrect={false}

The custom native component created by @bdokimakis is working for me. It's super young and untested though, so I'm not sure it can be tested. Is there any chance the changes he recommends could be put in core? @kelset or @bvaughn  any other RN core contributors? We have users in production that are experiencing crashes due to this (the phone thinks the application has stopped responding). And anecdotally, the issue has gotten worse now that we've upgraded to RN 67, since we weren't seeing crashes before.

This has gotten worse recently since we've upgraded to RN 67 and we've begun receiving reports of more lag and even crashing ("App isn't responding...") . None of the fixes suggested above seem to work. Any updates on RN core side @kelset @bvaughn, etc?

Not the ideal solution, but I've found that turning off autoCorrect has a significant positive performance impact with large text.
Device: Samsung Galaxy S10
Android Version: 12
React-Native Version: 0.64.0

We are having similar issues on React Native 0.67 and Android 13 users.
We have a chat screen with a TextInput at the bottom. Removing everything but style, multiline and scrollEnabled results in the app suddenly slowing down after about one minute of doing nothing or typing a few letters. Dismounting the input by leaving the screen restores any slowdown. The TextInput simply seems to implode even without reading or writing to it via the onChangeText, defaultValue or value props.

We are having similar issues on React Native 0.67 and Android 13 users.
We have a chat screen with a TextInput at the bottom. Removing everything but style, multiline and scrollEnabled results in the app suddenly slowing down after about one minute of doing nothing or typing a few letters. Dismounting the input by leaving the screen restores any slowdown. The TextInput simply seems to implode even without reading or writing to it via the onChangeText, defaultValue or value props.

Did you find any solution for this?

How can such an essential component be buggy since 5 years? Not asking to annoy somebody, just questioning, if there's something wrong with notifications, some missing label, or whatever is needed that this issue is seen by some maintainer.

we had to rewrite the input component in our app 4 years ago! it wonders me that I get a notification from this topic once in a while and seems like the original issue has not been fixed yet!

we had to rewrite the input component in our app 4 years ago! it wonders me that I get a notification from this topic once in a while and seems like the original issue has not been fixed yet!

Would you be willing to share the fixed component?

we had to rewrite the input component in our app 4 years ago! it wonders me that I get a notification from this topic once in a while and seems like the original issue has not been fixed yet!

Would you be willing to share the fixed component?

unfortunately, I don't have access to the code since I left the company 3 years age

The problem seems to solve for me (but I'll still test a lot more).
Solved when I added:
scrollEnabled={false}
autoCorrect={false}
to the TextInput
If you want to understand the app and the problem I had:
In my app I have a component named Exercise with View, several Text and a TextInput.
Each one with its styles and TextInput with also onFocus and onBlur.
In the Exercises page you choose how many exercises you want. It means several or many
Exercise components will be rendered in the Exercises page.
And when input the answers in the TextInputs of each Exercise you can check if the answers are
right or not and generate new exercises.
When you generate new it means what you generated before will be removed and the new ones
will be rendered.
before scrollEnabled={false} and autoCorrect={false} I stopped using state and tried ref but did not work.
Now I'm using scrollEnabled={false} autoCorrect={false} and ref.
But did not test with scrollEnabled={false} autoCorrect={false} and state.
The problem:
You could generate just 3 exercises and you input the answer in TextInputs. At the beginning the text
digits fast but after some time generating more 3 exercises it became very slow and did not come
back to normal. And it affects other apps. Going to Whatsapp became very slow to digit. I had to
restart cellphone.

I've still seen this in RN 0.70 (within an expo app on Android).
I took a few approaches:

Upgrade to RN 0.71 / Expo SDK 48
Remove "value", instead using "defaultValue"
Turning off autocorrect
Aggressively memoising the input, so it does not re-render at all while it updates state in onChange()

I'll see how this goes, but I've had good reports so far.

See more info in this comment https://github.com/facebook/react-native/issues/20119#issuecomment-639482512
It is caused by TextInput controlled components.
Possible solution:
When we reach a lot of update and consequential slow down in the performance, instead of batching 1 update for each letter we type (onChangeText triggers every time we type a character), we send multiple characters all at once
For example

User types in the TextInput "Hello World"

Now react-native does like this:

JS TextInput sends "H" to Java EditText
Java EditText shows H in the TextInput
Java notifies JS TextInput that H was added on the
JS repeats 2-4 for every character

Instead we could add logic in the TextInput API, in case user types 5 characters per second:

JS TextInput sends "He" to Java EditText
Java EditText shows He in the TextInput
Java notifies JS TextInput that He was added on the
JS repeats 2-4 for every character "ll" and then "o"

I would not take into consideration implementing the above solution. Rendering words instead of characters, when TextInput performances are degraded, may not be a good option.
Implementing a setTextSync is not possible on the old architecture (see my comment above)

Does it reproduce on the new architecture?

Stale-bot please go away — there's no reason to think this has been fixed.


cert: extract common certificate related functions into own package

We use the certificate generation part from lnd.go in other projects, at the moment by copy/pasting the code.
This PR extracts some commonly used code around certificates and TLS into the new package called cert.
The autocert functionality of #2428 could also be extracted to this package as this feature is also used in other code bases.

Yeah, it definitely makes sense to extract cert into its own module. But to decouple it completely from the rest of lnd, I had to make build into its own module too since the cert package depends on it for the logging.
We'll also need a tag in git for the cert module to get rid of the v0.0.0-00010101000000-000000000000 version number in the root go.mod.

I cleaned up the commit structure. Now the refactor happens before the move.


defineRenderer ends the output stream

When our renderer.js looks like the following:
module.exports = require('marko-widgets').defineRenderer({
    // ...
});

It will correctly render the given component but then end the output stream. However, when we use the following:
exports.render = function render(input, out) {
    // ...
    template.render(data, out);
};

The output stream remains open and further components can be rendered. Is this the intended behavior?

Hi @jackhorton, there is no code in defineRenderer that ends the output stream. Internally, defineRenderer just calls template.render(data, out). The problem may be more specific to how your code is structured. Can you please share more details?

Hi @jackhorton, can you please provide more details to reproduce the issue? Thanks.

I'm doing some house cleaning... If this is still an issue please reopen. Thanks.


Gives error cat: ...../.config/lvim-fm/mode: No such file or directory

Hi,
I just installed and tried to open the floating window. But I see the error I mentioned all over the place

Fixed in 4fdf9d386a.
Does it work for you?

Thank you @lvim-tech , that issue seems to be fixed, but now I see this error when interacting with the file manager:
lvim-fm/bin/FileManager: line 178: directories: bad array subscript

Gave it a look and it seems you're using #!/bin/bash in the FileManager script, but it's recommended to use #!/usr/bin/env bash
For me, /bin/bash is a super old version of bash, but env bash is the newer one

lvim-fm/bin/FileManager: line 178: directories: bad array subscript

I can't reproduce. More info? This script not support folders and files with space.

I can't reproduce. More info?

I did mention what the issue is:

Gave it a look and it seems you're using #!/bin/bash in the FileManager script, but it's recommended to use #!/usr/bin/env bash
For me, /bin/bash is a super old version of bash, but env bash is the newer one

Basically, the syntax you're using (index of -1) doesn't seem to be supported for older versions of bash (which /bin/bash on my system is pointing to)

This script not support folders and files with space

Don't you think this makes the plugin very limited?

I created a PR to fix the shebangs, just in case


BUG: Product unclear whether I should have 1 or N Health Authorities - DHM-S1-22

[DHM-S1-22] Screen title “Choose health authority” suggests I should just choose one.  “Trusted Sources” + the overall UI design, suggests that I can pick more than one.  Desirable to avoid this ambiguity.
We should decide whether this is 1 or N, and make the whole UI consistent around this.

This is resolved by V 1.0.0 app (N HA's allowed).


Settings not working in Catalina

Hey there 👋
We tested our plugin with a macos Catalina and unfortunately Settings.settingForKey('my-key') cannot store our API key to the users.
Hope you can fix this soon 🤞

Do you know what's the error? I'm guessing it's the same as https://github.com/BohemianCoding/SketchAPI/issues/558


Account for Gradle 7.6.2 metadata cache layout

Because we lacked a gap between 7.5 and 8.0 and 7.6.2 requires a cache layout bump, we are forced to add this version with an exception.
This is related to #25060 and should only be merged if that other PR is merged and 7.6.2 release is confirmed.

@bot-gradle test and merge

I've triggered a build for you.


test-macstadium-macos1015-x64-1 fails to build native system test case

Found this while working on https://github.com/AdoptOpenJDK/openjdk-systemtest/issues/203, where a native ('C') test case does not execute correctly.
I have found that test-macstadium-macos1015-x64-1 fails to compile the test case at all, with the output:
16:41:13  build-natives-unix:
16:41:13       [exec] makefile:247: JAVA_EXECUTABLE set to /Users/jenkins/workspace/Grinder/openjdkbinary/j2sdk-image/Contents/Home/bin/java/mkdir -p /Users/jenkins/workspace/Grinder/openjdk-tests/system/openjdk-systemtest/openjdk.test.modularity/bin/tests/com.test.jlink/native/bin/osx_x86-64
16:41:13       [exec]
16:41:13       [exec] chmod 755 /Users/jenkins/workspace/Grinder/openjdk-tests/system/openjdk-systemtest/openjdk.test.modularity/bin/tests/com.test.jlink/native/bin/osx_x86-64
16:41:13       [exec] mkdir -p /Users/jenkins/workspace/Grinder/openjdk-tests/system/openjdk-systemtest/openjdk.test.modularity/bin/tests/com.test.jlink/native/lib/osx_x86-64
16:41:13       [exec] chmod 755 /Users/jenkins/workspace/Grinder/openjdk-tests/system/openjdk-systemtest/openjdk.test.modularity/bin/tests/com.test.jlink/native/lib/osx_x86-64
16:41:13       [exec] gcc -D_JNI_IMPLEMENTATION_ -D_TRIVIAL_AGENT -O0 -g3 -pedantic -c -Wall -std=c99 -fPIC -fno-omit-frame-pointer -m64 -o /Users/jenkins/workspace/Grinder/openjdk-tests/system/openjdk-systemtest/openjdk.test.modularity/bin/tests/com.test.jlink/native/lib/osx_x86-64/JniTest.o -I. -I/Users/jenkins/workspace/Grinder/openjdk-tests/system/openjdk-systemtest/openjdk.test.modularity/bin/tests/com.test.jlink/native/lib -I/Users/jenkins/workspace/Grinder/openjdkbinary/j2sdk-image/Contents/Home/include/darwin -I/Users/jenkins/workspace/Grinder/openjdkbinary/j2sdk-image/Contents/Home/include -I/usr/include JniTest.c
16:41:13       [exec] chmod 755 /Users/jenkins/workspace/Grinder/openjdk-tests/system/openjdk-systemtest/openjdk.test.modularity/bin/tests/com.test.jlink/native/lib/osx_x86-64/JniTest.o
16:41:13       [exec] gcc -m64 -dynamiclib -o /Users/jenkins/workspace/Grinder/openjdk-tests/system/openjdk-systemtest/openjdk.test.modularity/bin/tests/com.test.jlink/native/bin/osx_x86-64/libJniTest.dylib /Users/jenkins/workspace/Grinder/openjdk-tests/system/openjdk-systemtest/openjdk.test.modularity/bin/tests/com.test.jlink/native/lib/osx_x86-64/JniTest.o

16:41:14       [exec] ld: unsupported tapi file type '!tapi-tbd' in YAML file '/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/lib/libSystem.tbd' for architecture x86_64
16:41:14       [exec] clang: error: linker command failed with exit code 1 (use -v to see invocation)
16:41:14       [exec] make[2]: *** [/Users/jenkins/workspace/Grinder/openjdk-tests/system/openjdk-systemtest/openjdk.test.modularity/bin/tests/com.test.jlink/native/bin/osx_x86-64/libJniTest.dylib] Error 1
16:41:14
16:41:14  BUILD FAILED

The other test machines (which were 10.12 or 10.14, but I don't know if that's relevant) compile the test case OK.

This is still occurring on nightly builds.

https://ci.adoptopenjdk.net/computer/test-macstadium-macos1015-x64-1/ still has ci.role.test disabled. We should see if we can re-enable this since otherwise we're wasting this system

Closing this as a duplicate of https://github.com/adoptium/infrastructure/issues/1777 (Which is newer but has more information in it)


Fix missing entry

Welcome to Codecov :tada:
Once merged to your default branch, Codecov will compare your coverage reports and display the results in this comment.
Thanks for integrating Codecov - We've got you covered :open_umbrella:


Some apps executed via Files don't have access to files in a folder

Describe the bug
I have a python app which runs normally via Explorer but via Files, it shows an error which indicates it doesn't have access to files in its folder. Same happens when I try this app in Explorer's Quick Access section. But some sneaky python app is not only one with strange behaviour.  When in the folder with a bunch of pictures you try to open one with MS Photos you won't be able to go to others.
To Reproduce
Steps to reproduce the behavior:

Go to a folder with few pictures
Open one with MS Photos
Try to open another one with scrolling or arrow keys
See nothing

Expected behavior
MS Photo should see all pictures in the folder
Screenshots
The python app in Explorer

The python app in Files

Desktop (please complete the following information):

OS Version: [e.g. Windows 10 2020]
App version: [v0.16.0]

Log file
Please post the log file here so that we can understand your problem better. You can access it from Settings->About->Open log location.

@HenryOfCarim is this still an issue in v1.5?


Create _github-pages-challenge-VlastikYoutubeKo.mxnticek.is-not-a.dev…

….json

Requirements

[x] You have completed your website.
[x] The website is reachable.
[x] The CNAME record doesn't contain https:// or /.
[x] There is sufficient information at the owner field.

Description

Link to Website

CLA Assistant Lite bot: Thank you for your submission, we really appreciate it. Like many open-source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution. You can sign the CLA by just posting a Pull Request Comment same as the below format.

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

You can retrigger this bot by commenting recheck in this Pull Request

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


Open branch, to fix multiple crashes on repeated zip archives reading…

…. Added fix.

Thanks!
I think I see what the changes are but can you make the spacing consistent?
Also, other minor things.

Fix for https://github.com/adamhathcock/sharpcompress/issues/197 I think.

Please revert all the whitespace changes.  You've spaced in way too far on some files for no reason.


Add an option to define the graph ID in dot script

When generating a Graph its name always is 'G' (in svg output it's the title sometimes showed as a web browser tooltip)

From clue/graph#90. Originally reported by @clemens-tolboom.

I'd like to do something to support this, and the workaround from the linked issue doesn't appear to work.
My suggestion would be to allow setting an id attribute on the Fhaculty\Graph\Graph, which would be used in the graph statement in Graphp\GraphViz\GraphViz.
$graph->setAttribute('graphviz.id', 'My Graph Title'); would result in graph 'My Graph Title' {, which should flow through to the SVG and resulting tooltip.
If not set, we could still default to G. And some extra testing can be done to make sure that an empty string works, even if '' needs to become ' '.

I've just done some local code to see how it goes, and looking at the GraphViz doco, it might be better to set an attribute called graphviz.name to set the name of the graph.
I'll submit a pull request for this shortly.


names import of sqlite does not work with nodes build in ESM modules

When trying to use node build in ESM support the following error occurs:
node sample.mjs
sample.mjs
import sqlite3 from 'sqlite3'
import { open } from 'sqlite'

import { open } from 'sqlite'
         ^^^^
SyntaxError: The requested module 'sqlite' is expected to be of type CommonJS, which does not support named exports. CommonJS modules can be imported by importing the default export.

if you modify the index.js of the sqlite package to export default, does it work?

An additional line like
exports.default = open;

does not change the outcome

I'm happy to accept a PR that resolves your issue if you can figure out the proper fix.

Probably cleanest way is to compile twice once with target CJS and another one with ESM;
then export both as described here:
Conditional Exports.
If You are fine with that I can give it a try

Would all files have to be compiled twice, or just the entrypoint? Concerned about package size.

PR-117

Merged and published, thanks!


Support for SOCKS5 proxies

This change allows clients to set the all_proxy environment variable to use a specified socks5 proxy for your connection.
When building amfora with this change, you can run:
$ all_proxy=socks5://<IP_ADDRESS>:9050 amfora gemini://...

to tunnel you connection via tor.
❗❗❗ BE AWARE❗❗❗ that just running torsocks amfora will only tunnel the dns request via the proxy. The actual connection will still go through directly, so you need to set the all_proxy variable as above.

Thank you, but I don't think an environment variable is the right way to do this. In fact, I don't think go-gemini should use a proxy at all. To close https://github.com/makeworld-the-better-one/amfora/issues/155 and get SOCKS5 proxy support in Amfora, go-gemini needs to be able to accept a net.Dialer in Client that will be used instead of the default one or something. And then Amfora will be the one to import the SOCKS5 proxy code and use it.


Turn VitaZed's Room Into A Disco

Put together some kind of websocket connection from the bot that I could get my raspberry pi subscribe to and have it modify my lights at the same time that jp00p's do.

Done in #307 !!!


Add isGhes utility

Adds to toolkit frequently used utility that is used by every setup-action at this point.

https://github.com/actions/toolkit/pull/1546


[docs] Fix the HTTP link for downloading offline database.

Otherwise it breaks on front-end, as Jekyll treats <ECOSYSTEM> as an HTML tag.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 62.01%. Comparing base (43dda7a) to head (c5bdc60).

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #877      +/-   ##
==========================================
- Coverage   62.19%   62.01%   -0.19%
==========================================
  Files         144      144
  Lines       11817    11817
==========================================
- Hits         7350     7328      -22
- Misses       3998     4018      +20
- Partials      469      471       +2

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


Adding goldplate to stackage

@jaspervdj-luminal I'd like goldplate to be in stackage, so I filed https://github.com/commercialhaskell/stackage/pull/6052
There I (implicitly) volunteered as stackage maintainer for goldplate, but I am happy to leave this role to you if you are willing to take it.

goldplate is part of nightly-2021-06-01! https://www.stackage.org/package/goldplate

Thanks for volunteering!


Checkout branch name should map to prior lesson

Noticed 'clean-urls-ssr' is used again, whereas is probably ought to map to previous lesson: Fetching Data for Pages. Suggesting: 'fetch-data-pages' as branch name instead.

Disregard.