Change press animation ns
Add list item component
Fix pressable does not reset animation state
Improve long-press handling
Signed-off-by: Gheorghe Pinzaru <feross95@gmail.com>
The mess with regexes is hard to read and think about which is why it
had bugs with handling some Gradle formats.
It also lowers further the number of dependencies pulled from 785 to 744.
Changes:
- Added `gradle_parser.awk` script for getting dependencies from Gradle
- Changed the `deps.urls` file to contain full URLs to POMs
- Dropped the `deps.urls.old` part since `get_urls.sh` no longer exists
- Added `CLR` for learing line to `scripts/colors.sh`
- Wrote a new `nix/deps/gradle/README.md`
- Re-generated `nix/pkgs/go-maven-resolver/deps.nix`
Signed-off-by: Jakub Sokołowski <jakub@status.im>
This commit adds parsing of markdown in the chat subheader.
Because of the added complexity performance are impacted but I have
also noticed that on each loading of the chat screen we calculate
alias & identicon through status-go, so that has been changed so that
they are returned from status-go.
Overall performance is now roughly identical, tested loading 150
one-to-one chats.
Another issue that I've spotted is that some `subs` are unnecessarely
recalculated (`active-chats`), when unrelated fields changes. I will
address this in a separate PR that should improve performance.
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
This Go package was implemented by me to avoid having to use Mavan or
Gradle to resolve all the dependencies for Nix:
https://github.com/status-im/go-maven-resolver
The Go tool is essentially a slightly smarter and more efficient version
of the `get_urls.sh` script, which was mostly slow due to the `mvn
dependency:list` calls and slow HTTP requests.
This takes down the `make nix-update-gradle` target to under 2 minutes
on my machine.
Signed-off-by: Jakub Sokołowski <jakub@status.im>
Before in order to create `deps.nodejs-patched` the `deps.gradle` would
also have to be downloaded in order to patch `build.gradle` files with
path to the Gradle dependencies in Nix store.
It turns out just replacting lines referencing `mavenCentral()`,
`google()`, and `jcenter()` in `repositories` block is enough to make
Gradle properly fetch dependencies from repo provided via the command
line `-Dmaven.repo.local='${deps.gradle}` option.
This should reduce the required size for shells that don't use Gradle.
Signed-off-by: Jakub Sokołowski <jakub@status.im>
According to gomobile docs Xcode is only necessary for iOS:
>For -target ios, gomobile must be run on an OS X machine with Xcode installed.
https://godoc.org/golang.org/x/mobile/cmd/gomobile
Signed-off-by: Jakub Sokołowski <jakub@status.im>
When a new content-type is introduced, before we shown
"Unhandled content-type". Now we instead pull text if it's present,
otherwise we still show "Unhandled content-type". This makes for a
smoother upgrade path when adding new content types.
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
Before we stored only the message-id and had a subscription pulling the
message from the database when replying to the message.
This broke once we implemented offloading of messages, as the message
might not be in the database anymore.
This commit fixes the issue by storing the full message in the database,
so in the event of it being offloaded it is still shown.
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
Becuase `clojure` shell used unpatched `node_modules` while the
`android` shell used the patched version when starting these shells
the `node_modules` would keep being switched between them wasting time.
Changes:
- Move `nix/tools/patchNodeModules.nix` to `nix/deps/nodejs-patched`
- Make `nix/deps/nodejs-patched` a normal derivation without extra arguments
- Use `deps.nodejs-patched` in `nix/mobile/android` shell
- Use `deps.nodejs-patched` in `nix/shells.nix` node shell
- Use `with pkgs` to reduce arguments in `nix/mobile/android/release.nix`
Signed-off-by: Jakub Sokołowski <jakub@status.im>
These kinds of warnings dump minified translation files to stdout:
```
/build/android/app/build/generated/assets/react/pr/index.android.bundle:943:1256: warning: The first definition was here.
__d(function(e,t,a,n,o,r,s){o.exports={"about-app":"About","about-key-storage-content":"Status will never access your private key. Be sure to backup your seed phrase. If you lose your phone it is the only way to access your keys.","about-key-storage-title":"About key storage","about-names-content":"No one can pretend to be you! You\u2019re anonymous by default and never have to reveal your real name. You can register a custom name for a small fee."
```
Details: https://github.com/facebook/hermes/issues/216
Signed-off-by: Jakub Sokołowski <jakub@status.im>
Changes:
- Drop a bunch of `watch-{android,ios}-*` tagets
- Replace them with one `run-clojure`
- Drop a bunch of `react-native-*` targets
- Replace them with one `run-metro`
- Replace `run-{android,ios}` with `run-{android,ios}`
- Drop `startdev-{android,ios,desktop}*` targets
- Drop `prod-build-{android,ios}` as deprecated
- Drop `src/status_im/android/core.cljs`
- Drop `src/status_im/ios/core.cljs`
- Move `lsof` tool to `default` shell
- Replace them with one `init` `src/status_im/core.cljs`
- Use `init` in one `shadow-cljs.edn` target `mobile`
- Use `mobile` target in `nix/mobile/android/jsbundle`
- Update instructions in `STARTING_GUIDE.md`
- Use `gradle` shell for `android-clean` target
Signed-off-by: Jakub Sokołowski <jakub@status.im>
Changes:
- Drop `nix/mobile/android/maven-and-npm-deps/default.nix`
- Replace it with much simpler `nix/tools/patchNodeModules`
- Move Gradle patching tool to `nix/pkgs/patch-maven-srcs`
- Simplify it by using `gradle.deps` and patched node modules separately
- Change `TARGET` for `release-android` to `default`
- Move `mobile/reset-node_modules.sh` to `scripts/node_modules.sh`
- Move `nix/mobile/android/targets/release-android.nix` to `nix/mobile/android/release.nix`
Signed-off-by: Jakub Sokołowski <jakub@status.im>
changes:
- Moved Gradle deps setup to `nix/deps/gradle`
- Dropped `nix/mobile/android/maven-and-npm-deps/maven`
- Used GNU Parallel to optimize `nix/deps/gradle/generate.sh`
- Move Maven+Node shell setup from `release-android.nix` to Android shell
- Moved AAPT2 patching to `nix/pkgs/aapt2`
- Drop `patchPhase` and `gradlew` use from `release-android.nix`
- Simplify symlinking `{mobile,desktop}/js_files/*`
- Add new `nodejs` shell and merge it with `clojure` and `gradle`
- Re-created Gradle deps files with new scripts:
- `nix/deps/gradle/proj.list`
- `nix/deps/gradle/deps.list`
- `nix/deps/gradle/deps.urls`
- `nix/deps/gradle/deps.nix`
Signed-off-by: Jakub Sokołowski <jakub@status.im>