Commit Graph

379 Commits

Author SHA1 Message Date
Andrea Maria Piana 116b4d8812
Add community notifications on android & IOS
[Fixes: #11806]
[Fixes: #11877]

Features added

An admin should receive a notification on android if a community request is made
Clicking on the push notification will take you to the list of requests
Changes to push notifications
Push notification for messages are grouped by chat, similarly to discord. Only the first notification in a chat will alert, the next will be "silent" notification. Meaning you will see the message but it will not alert. This is consistent with discord/whatsapp.
Clicking on a transaction notification will take you to wallet (not sure it was doing that before, but it might have)
Changed the behavior of the notification toggle, before Notifications and wallet transactions were separate, meaning you could have wallet transaction and Notifications disabled and you'd still receive transactions notifications. Now you need to have Notifications enabled to receive wallet transactions. Eventually we will have an option to toggle message notifications.

Technical details

Removes headless tasks, they were not used
Message notifications are passed unchanged to java, we still check if the chat is in the foreground, but no modifications are made to the notification object. This should get us closer to avoid clojure completely.
Merged the two notifications implementation (NewMessageSignalHandler and PushNotificationHelper). We should split maybe off in more meaningful classes, but there's less code duplication now, and it can be re-used for non-chat (communities) notifications.
Parsing of text for message notifications is done in status-go
Signal is not passed to status-react if notifications are not enabled

Next step

To completely remove notification code from status-react the following are required:

Java needs to be alerted of which chat is in the foreground and whether the app is in the foreground
Transaction notification body message need to be created in status-go
Notification signal needs to be stopped in Java

Limitations

If the name of a contact changes, the notification will not change, once is displayed, it won't be modified
2021-03-31 21:45:08 +02:00
Jakub Sokołowski aff335b305
gradle: Exclude Google libraries when GOOGLE_FREE=1
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2021-03-02 16:29:37 +01:00
Roman Volosovskyi 3685f6a500
[#11117] Move PNs to status-go 2021-02-05 17:03:34 +02:00
andrey 08b9cfcf52
[#8284] Remove unnecessary permissions [Android]
Signed-off-by: andrey <motor4ik@gmail.com>
2021-01-21 16:23:54 +01:00
andrey abac5247bf
RN 63 and xcode12
Signed-off-by: andrey <motor4ik@gmail.com>
2021-01-14 09:41:38 +01:00
Jakub Sokołowski 939ce8bef5
nix: Upgrade Android SDK, use nixpkgs master
This makes use of the refactoring of Android SDK done in:
https://github.com/NixOS/nixpkgs/pull/89775

Which allows us to drop the use of our own fork of `nixpkgs`.

Android Upgrades:
* Build Tools - `29.0.2` to `30.0.3`
* Platform Tools - `29.0.6` to `30.0.5`
* NDK Bundle - `21.0.6113669` to `21.3.6528147`

Other Upgrades:
* Git - `2.28.0` to `2.29.2`
* Go - `1.14.7` to `1.14.13`
* Clojure - `1.10.1.645` to `1.10.1.763`
* NodeJS - `12.18.3` to `12.20.1`
* Yarn - `1.22.4` to `1.22.10`
* OpenJDK - `8u265-ga` to `8u272-b10`
* PatchElf - `0.11` to `0.12`
* CoreUtils - `8.31` to `8.32`

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2021-01-13 15:35:59 +01:00
Gheorghe Pinzaru 40e2839793
Exclude google deps based on env
Export all vars from .env

Signed-off-by: Gheorghe Pinzaru <feross95@gmail.com>
2020-11-13 11:05:28 +03:00
Gheorghe Pinzaru 050f20cfae
Add local notifications for transactions
Pods

Add headless js service

Handle Local Notifications react

CopyPaste driven implementation of java notification

pn demo

Show iOs push in foreground

Show icon in notification

Enable notifications on login

Get chain from status-go

Add UI for switching notifications

go go!

Fixup

Handle notification onPress

Android UI

Handle press iOs

Handle android press and validate

go update

Fix route params in universal link handler

Set show badge explicitly to false

Fix e2e

bump status go

Signed-off-by: Gheorghe Pinzaru <feross95@gmail.com>
2020-10-29 15:40:58 +03:00
Jakub Sokołowski 788d0d5cc5
add ANDROID_APK_SIGNED to make unsigned builds for F-Droid
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2020-07-29 10:12:38 +02:00
tbenr 86700f2b5c
audio messages
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2020-07-29 10:09:31 +02:00
Gheorghe Pinzaru 497af38a7f
Update usage for toolbars
Replace all the usage of the button without component

Use quo

Fix tests

List item in multiaccounts

Use list items in contacts

Fix welcome  screen button

Experiment long press

Big list item

Remove old bottom sheet

Use bottom sheet

Keycard

Add error to list item

Stickers panel button

Images panel

Fix z-index in profile

Fix android crash

Fix signing list item

Try fixing test

iOs gas sheet keyboard

Disable root alert in e2e

keycard signing sheet height

Clean up bottom sheet events

Replace flat list in profile

Memorise the manual-close value for bottom sheet

Mailserver QR scanner

Fix e2e tests

E2e fix 2

Fix e2e 3

Remove extra fn

Reduce bridging time for animation

Trick android layout

Try hooks

Fix profile missing ens-name

Disable press on control in list-view

allow disabling animations in list item

Use simple list in wallet assets settings

TBD - this screen should be rewritten from scratch. Now on every interaction the full list is re-rendered, also it makes the wallet main screen to re-render.

Fix send sheet

Handle long press in main thread

UI fixes

perf

Update e2e

fix missing user name in image long press

Signed-off-by: Gheorghe Pinzaru <feross95@gmail.com>
2020-07-06 13:35:50 +03:00
Gheorghe Pinzaru 197ce2eb60
Change status-bar color on theme change
Move into separate ns to avoid circular dependecy

Fix android system white theme status bar

Signed-off-by: Gheorghe Pinzaru <feross95@gmail.com>
2020-06-09 13:18:07 +03:00
Gheorghe Pinzaru fd8558421d
Set status bar style with theme
Instead of making it full screen then changing on js start, we can use the same theme as in app

Signed-off-by: Gheorghe Pinzaru <feross95@gmail.com>
2020-06-08 17:34:36 +03:00
Andrey Shovkoplyas f659cbf242
camera roll 2020-06-01 11:34:13 +02:00
Vitaliy Vlasov ddbf7bc066
Temporarily fix Flipper dev-mode webview crashes
Signed-off-by: Vitaliy Vlasov <siphiuel@gmail.com>
2020-05-25 15:09:59 +03:00
Gheorghe Pinzaru 0ff6579fa3
Add animated buttons to Quo
Move haptic

Upgrade redash

Add button component

lint

Add button icon type

Add disabled theme

Add accessibility-label

Fix android color

Fix preview modal

Remove android ripple effect

test android

Signed-off-by: Gheorghe Pinzaru <feross95@gmail.com>
2020-05-20 17:51:38 +03:00
Jakub Sokołowski 883af7b57a
nix: add missing Gradle repo path in gradle shell
Also rename STATUSREACT_NIX_MAVEN_REPO to STATUS_NIX_MAVEN_REPO.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2020-05-20 13:59:49 +02:00
Andrey Shovkoplyas 7731839693
[#10631] make it possible to debug webview in chrome on nightly
Signed-off-by: Andrey Shovkoplyas <motor4ik@gmail.com>
2020-05-19 12:35:26 +02:00
Jakub Sokołowski 3e20616471
disable hermes warnings that dump translations to stdout
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>
2020-05-18 13:33:39 +02:00
Gheorghe Pinzaru d133f57678
Remove source-map android debug
Update flipper version android

Disable source maps ios

Signed-off-by: Gheorghe Pinzaru <feross95@gmail.com>
2020-05-14 15:43:06 +03:00
Jakub Sokołowski ed4d0a1ed9
nix: refactor updating Gradle dependencies
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>
2020-05-14 09:46:30 +02:00
Gheorghe Pinzaru c34df26e19
Move icons assets into resources
Fix logout icon usage

Update icons docs

Remove scripting

change jenkins

Signed-off-by: Gheorghe Pinzaru <feross95@gmail.com>
2020-05-08 14:12:52 +03:00
Gheorghe Pinzaru 2140a9867b
Upgrade react native to 0.62.2
Xcode updates

Localization

Pods upgrade

Update package.json

Upgrade android

Fix gitignore

Add flipper

Do not enable flipper by default on ios

maven update

Remove outdated hermes

idk what it is, but it's outdated

show warning on build

gradle update

rebase

Update deprecated clipboard

nix

align e2e to rn upgrade

Signed-off-by: Gheorghe Pinzaru <feross95@gmail.com>
2020-05-06 17:35:13 +03:00
Gheorghe Pinzaru 01452794a1
Add text input and tooltip components
Add tooltip component
Add text input component
rename

Signed-off-by: Gheorghe Pinzaru <feross95@gmail.com>
2020-05-04 16:38:26 +03:00
Jakub Sokołowski 149b37f75b
upgrade Kotlin: 1.3.11 > 1.3.50
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2020-05-03 18:44:15 +02:00
yenda d5ef218584
use shadow-cljs
Signed-off-by: Jakub Sokołowski <jakub@status.im>
Signed-off-by: yenda <eric@status.im>
2020-04-30 15:43:46 +02:00
Gheorghe Pinzaru 38125173cb
Add Quo component library base
Add text component

Add header component

Change animated root ns

Add spacing design tokens

Add components preview

Add Readme

Add safe area components

Use reanimated from component library

Add colors tokens

Add inherit style for text

Add animated header component

A view with header which can be animated on scroll, used in walled, profile and contact screens

Persist previews navigation state

Rename component library into Quo

Document colors

Extend readme

Header handle long titles

Add InterStatus as monospace font

Signed-off-by: Gheorghe Pinzaru <feross95@gmail.com>
2020-04-28 11:35:06 +03:00
Jakub Sokołowski 439643daa4
undo removing of preBuild gradle stop
This partially reverts commit 548fe04f54.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2020-04-24 20:15:02 +02:00
Jakub Sokołowski 548fe04f54
gradle: remove unused buck configuration
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2020-04-24 11:18:36 +02:00
Jakub Sokołowski 2a4641684f
fix Gradle plugin by upgrading to 3.5.3
We tried upgrading to 3.6.0 but it made app fail to start:
https://github.com/status-im/status-react/pull/10402

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2020-04-23 15:38:03 +02:00
Roman Volosovskyi 9d59d82869
Revert "gradle: upgrade plugin to 3.6.0"
This reverts commit 938f3df843.

Signed-off-by: Andrey Shovkoplyas <motor4ik@gmail.com>
2020-04-22 14:11:05 +02:00
Jakub Sokołowski 938f3df843
gradle: upgrade plugin to 3.6.0
This is to fix incompatibility with new Gradle 5.6.4:
https://developer.android.com/studio/releases/gradle-plugin#updating-gradle

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2020-04-21 22:30:10 +02:00
yenda 23af624305
fix #10052 make finding the public key easier in profile
Signed-off-by: yenda <eric@status.im>
2020-04-16 13:33:49 +02:00
Vitaliy Vlasov e11385e350
Add web3.keycard.signTypedData
Signed-off-by: Vitaliy Vlasov <siphiuel@gmail.com>
2020-04-14 20:07:35 +03:00
Jakub Sokołowski 5c8a8e83ac
show proper error if nkd-build is missing
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2020-04-14 18:31:36 +02:00
Andrey Shovkoplyas 2122c5518f
fix colors android
Signed-off-by: Andrey Shovkoplyas <motor4ik@gmail.com>
2020-03-27 15:36:09 +01:00
Andrey Shovkoplyas fb86b4d367
switch control color android
Signed-off-by: Andrey Shovkoplyas <motor4ik@gmail.com>
2020-03-26 16:40:25 +01:00
Churikova Tetiana 68f0a02cbc
fix e2e
Signed-off-by: Andrey Shovkoplyas <motor4ik@gmail.com>
2020-03-26 10:36:21 +01:00
Andrey Shovkoplyas a447bed4ac
dark mode 2020-03-26 08:34:13 +01:00
Vitaliy Vlasov dd7b3c21ae
Unlink webview
Signed-off-by: Vitaliy Vlasov <siphiuel@gmail.com>
2020-03-25 14:34:18 +02:00
Vitaliy Vlasov 85d0022b26
Use community WebView
Signed-off-by: Vitaliy Vlasov <siphiuel@gmail.com>
2020-03-24 18:07:03 +02:00
Gheorghe Pinzaru d24f4690b8
Fix failing test for navigation task
Handle default case for ens confirmation

Before navigation away the registration state is cleared and case does not handle default value for nil

Remove extra space on home button

Remove outdated options

Fix e2e

Change navigation replace arguments as per rn5

Fixes #10178

Dispatch navigation later

Do not restore state for react-native-screens

Signed-off-by: Gheorghe Pinzaru <feross95@gmail.com>
2020-03-18 17:47:03 +03:00
Gheorghe Pinzaru d823a2082a
Update react navigation and rework wrapper
Get rid of navigation wrapper

Use new API to declare navigation

Update tabbar component

Update to use new navigation events

Add ios presentation modal

Navigation cleanups

Android specific updates

Use letsubs for stack subscriptions

Keycard did load event backward compatibility

Fix tabbar and wallet on-focus bad rebase

Do not keep welcome screen into the stack

Comment outdated test

Fix rebase on home PR

Cancel back button on screens which can't be popped

Signed-off-by: Gheorghe Pinzaru <feross95@gmail.com>
2020-03-17 11:52:31 +03:00
Gheorghe Pinzaru 10fab4e77c
Add billing permission android
Signed-off-by: Gheorghe Pinzaru <feross95@gmail.com>
2020-03-16 12:26:41 +03:00
Jakub Sokołowski de53581ef4
nix: don't generate keystore inside of Nix build
changes:
- Stops scripts/generate-keystore.sh runnig for every new TARGET=android shell
- Moves running scripts/generate-keystore.sh to keystore Makefile target
- Makes generate-keystore.sh accept STATUS_RELEASE_STORE_FILE as env variable
- Fixes error about missing lsof from start-react-native.sh
- Fixes error about unknown -keystore command in scripts/generate-keystore.sh
- Fixes getting OS_NAME without calling Nix shell
- Fixes getting TMP_BUILD_NUMBER without calling Nix shell
- Adds lsof used in start-react-native.sh to Android release Nix derivation
- Simplified how nix/scripts/build.sh appends the --keep flag
- Made use of colors.sh in more scripts

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2020-03-05 10:56:54 +01:00
Jakub Sokołowski cb78293db7
use Android keystore from Jenkins credentials
This way we don't have to store it on individual CI hosts.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2020-02-27 06:54:28 +01:00
Gheorghe Pinzaru c9d1adbc27
Add animation for keycard interaction
Signed-off-by: Gheorghe Pinzaru <feross95@gmail.com>
2020-02-26 14:48:42 +03:00
Gheorghe Pinzaru 40c12241e0
Add bottom sheet to chat top bar options
Add bottom sheet to message long press

Make whole bottom sheet panel dragable

Fixes #9846

Use spring animation for bottom size of bottom sheet

Remove extra border height from bottom sheet

The height is already added to content height

Remove extra set value for animation

Timing and spring already mutates the animation value

Reuse chat bottom sheet in chat list

Update the size of new chat bottom sheet

Add remove to group chat

add chat id for clear history to be reused outside of current chat

Fix public chat bottom sheet missing destructoring

Replace icon for chat fetch history

Could be rotated arrow up, but this requires special handling in icons or list item

Fix remove public chat event

Dismiss keyboard on sheet mount

iOs rename arrow down icon

Fix unusable screen after close of bottom shet

The callback is called after 1.5 seconds after the animation starts. This happens because spring animation takes more time on animating post animation oscillations.

Add accessibility labels

Fix bad message destructoring

add view profile on long message press

Reset bottom value after animation

Remove pending circle from avatar in chat sheets

Do not show open profile on own messages

Signed-off-by: Gheorghe Pinzaru <feross95@gmail.com>
2020-02-19 14:29:33 +03:00
Jakub Sokołowski 13c7f06317
don't multiply version codes by 1048576, could mess up upgrades
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2020-02-12 14:20:00 +01:00
Jakub Sokołowski 1ea49a80fc
rename get.status.im to join.status.im
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2020-02-11 18:09:21 +01:00