Compare commits

...
Author SHA1 Message Date
Omar Basem 3ff2510720 draft 2023-03-21 16:55:48 +04:00
Omar Basem 30f3ed5b3d draft 2023-03-21 16:38:00 +04:00
Omar Basem 3da2118e15 draft 2023-03-21 16:20:19 +04:00
Omar Basem e046feb124 draft 2023-03-21 15:55:37 +04:00
Omar Basem 1e6c4e1932 lint 2023-03-21 13:56:53 +04:00
Omar Basem 2ade8fc7ee lint 2023-03-21 13:56:53 +04:00
Omar Basem ee0df8633e remove image delay 2023-03-21 13:56:53 +04:00
Jamie Caprani ada7a02c21 chore: add skeleton for sign in with syncing flow 2023-03-21 09:42:31 +00:00
Siddarth Kumar 3f3cbe98a4 set signing to auto for debug builds (#15420) 2023-03-21 13:10:55 +05:30
Churikova Tetiana a74da63c32 e2e: activity center 2023-03-20 13:58:09 +01:00
Volodymyr Kozieiev 6d006c0ea9 Updated to status-go version without sending status problem (#15148) 2023-03-20 12:11:16 +00:00
Jamie Caprani f6f5dfbe03 chore: add skeleton flow for onboarding (#15334) 2023-03-17 05:19:39 -07:00
Roman Volosovskyi d608b88e26 [#14622] Show ugly network state icons and connection bottom sheet 2023-03-17 11:00:00 +01:00
Alexander 854e372f73 Long quoted message in the reply box is not cut, goes beyond reply box and overlapped by cancel button (#15382)
* Long quoted message in the reply box is not cut, goes beyond reply box and overlapped by cancel button

* Lint fix
2023-03-17 10:18:14 +01:00
yqrashawn 2e0fa29806 fix: mark :albumize? true when rebuild message (#15286) 2023-03-17 16:25:48 +08:00
Ulises Manuel Cárdenas 0e36190516 Fix input padding & add blur and override-theme properties
Add with-let formatting style
2023-03-16 12:59:34 -06:00
Brian Sztamfater 74da82c61a feat: implement new splash screen static version
Signed-off-by: Brian Sztamfater <brian@status.im>
2023-03-16 12:57:32 -03:00
Omar Basem b70dd2fe67 fix: image typo (#15390) 2023-03-16 19:55:45 +04:00
Andrea Maria Piana b44e4c6d59 Add collapsing of categories (#15306)
https://github.com/status-im/status-go/compare/290579f7...44a0f5b7

Fixes: #15290

This commit adds collapsing of categories.
It also adds ordering of chats/categories as it was previously ignored.

It also removes the communities/enabled? flag as it's not used anymore,
and communities should always be enabled.
2023-03-16 10:17:50 +00:00
jakub a0697d9242 ios: upgrade Cocoapods to 1.12.0, drop ancient fix
Upgrading to Cocoapods and Gems should remove the need for this hack-fix.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-03-16 10:24:27 +01:00
yqrashawn 9723479634 refactor: chat message list context related (#15313) 2023-03-16 10:52:47 +08:00
Alexander dabe8285be Bugfixes for the style of "New to Status" screen (#15353)
* Bugfixes for the style of "New to Status" screen

* Updates
2023-03-15 20:02:26 +01:00
Ibrahem Khalil f981021a1f Code Improvements of 15048 (#15351) 2023-03-15 20:08:59 +02:00
Churikova Tetiana b5781a7a83 e2e: minor fixes 2023-03-15 16:49:37 +01:00
Icaro Motta e8556a9abf Show AC unread indicator with counter and seen state color (#15304)
- Display Activity Center unread badge with the unread counter.
- Use the new seen state stored in `status-go` to change the color of the
  notification.
- Performance: split the `top-nav` component into left and right section
  components and render the unread indicator in a separate component to not
  trigger the re-render of the entire `top-nav` (as was before).
  
Fixes https://github.com/status-im/status-mobile/issues/14851

Demo: https://user-images.githubusercontent.com/46027/224299978-770dd5f1-302b-4375-af2b-3cd181ffdc9d.webm

Notes
=====

- Fix/improve: `quo/counter` displayed `NaN` to the user if the input value was
  an empty string.
- In Figma, there's a border around the unread indicator. I didn't implement
  this because the ideal solution IMO involves changing the `quo/counter`
  component a little bit because the width of the component varies according to
  the content displayed (1, 9, 99, 100, etc) and I wanted to the right thing in
  a separate PR.

Design notes
============

There's an ongoing conversation with the Design team to decide what to do with
the gray indicator on top of the bell icon, since there's little contrast when
it's is in the `seen` state.

Platforms
=========

- Android
- iOS

Steps to test
=============

- Open Status
- Receive one or more notifications in the Home screen and check the unread
  indicator is blue and has a counter.
- Open the AC and close it, notice the unread indicator is now in the `seen`
  state. You can close the app and re-open and the state is persisted.
- Mark notifications as read/unread at will, check the unread counter is
  correct.
2023-03-15 12:41:34 -03:00
Omar Basem f640eb8c8f feat: drag to dismiss lightbox (#15349)
* feat: drag to dismiss lightbox
2023-03-15 16:37:01 +04:00
Alexander 8546727f84 Spacing between codeblocks and regular text + fixes for "edited at" message (#15307)
* Spacing between codeblocks and regular text + fixes for "edited at" message

Fixes

Post-review updates

* Lint fixes
2023-03-15 11:53:20 +01:00
Jamie Caprani de6a736c10 feat: add ability to cancel a request to join a community (#14973)
https://github.com/status-im/status-go/compare/80d350ad...5d818669
2023-03-14 16:14:37 -07:00
Roman Volosovskyi 61600a534b [#15152] SHow ENS name on adding contact via ENS name 2023-03-14 19:34:39 +01:00
Ibrahem Khalil 181e5c2266 Flexsurfers' comments on status-tags (#15345) 2023-03-14 18:46:35 +01:00
Icaro Motta 9473d3f40c Swipe gestures for Activity Center notifications with CTA (#15284)
Implements swipe actions for notifications with call to action (e.g. pending
contact requests, unverified identity verifications, etc).

Fixes https://github.com/status-im/status-mobile/issues/15118

According to the Design team, the goal is to deliver a consistent experience to
users, so whenever the user sees a notification with buttons, the same actions
can be taken via the swipe buttons.

Note: swipe buttons are using placeholder icons while the Design team works out
which ones to use

Additionally, a bunch of fixes:

- Fix: outgoing pending contact requests were not being removed from the UI when
  cancelled.
- Fix: Membership tab not showing unread indicator.
- Fix: dismissed membership notification not marked as read.
- Fix: dismissed membership notification was displaying decline/accept buttons.
  Regression came from changes in status-go related to soft deletion of
  notifications.
- Fix: incorrect check for the pending state of a contact request.
- Fixed lots of bugs for identity verification notifications, as it was
  completely broken. Unfortunately, somebody made lots of changes without
  actually testing the flows.
- Add basic error handling and log if accepting, declining or canceling contact
  requests fail.

The demo shows an identity verification with swipe actions to reply or decline.
[identity-verification-swipe-to-reply.webm](https://user-images.githubusercontent.com/46027/223565755-b2ca3f68-12e2-4e1e-9e52-edd52cfcc971.webm)

Out of scope: The old quo input is still in use in the identity verification
notification. This will eventually be solved by issue
https://github.com/status-im/status-mobile/issues/14364

### Steps to test

Notifications with one or more buttons (actions) are affected by this change,
because now the user can also swipe left/right to act on them.

- Membership notifications: private group chat. The following PR explains how to
  generate them https://github.com/status-im/status-mobile/pull/14785
- Contact requests, and community gated requests to join (Admin tab).
- Identity verifications. I believe the only way to test identity verification
  flows at the moment is to use the Desktop app, since initiating the challenge
  is not implemented in Mobile yet.
- Mentions and replies don't have new swipe buttons because they don't have call
  to action buttons throughout their lifecycle.

Steps to test identity verification flows:

#### Identity verification flow 1

- `A` and `B` are mutual contacts.
- `A` sends a verification request to `B`.
- `A` should not see any notification yet.
- `B` should receive an identity verification notification. `B` can either
  decline or reply.
- `B` declines and the status `Declined` is shown instead of buttons.
- `B` can now either swipe to toggle read/unread or swipe delete the
  notification.
- `A` should not receive any notification after `A` declined.

#### Identity verification flow 2

- `A` and `B` are mutual contacts.
- `A` sends a verification request to `B`.
- `A` should not see any notification yet.
- `B` should receive an identity verification notification. `B` can either
  decline or reply.
- `B` press `Reply` and a bottom sheet is displayed with a text input.
- `B` sends the reply/answer message and the status `Replied` is shown instead
  of buttons.
- `B` can now either swipe to toggle read/unread or swipe to delete the
  notification.
- `A` should receive a notification with the reply from `B`.
- `A` can either mark the answer as untrustworthy or accept it (trust it) via
  the normal buttons, as well as via the swipe left/right buttons.
- If `A` accepts the answer, then the status `Confirmed` is shown instead of
  buttons. On the other hand, if `A` marks as untrustworthy, then the status
  `Untrustworthy` is shown instead of buttons.
- `B` should receive no further notifications due to `A`s actions.
- `A` can now either swipe to toggle read/unread or swipe delete the
  notification.
2023-03-14 12:34:13 -03:00
Jamie Caprani e98ce54830 feat: add profile input to quo2 (#15323) 2023-03-14 06:52:15 -07:00
Alexander 4097aba39b Fetch details of user when adding a contact (#15070)
* Fixes

* Fixes

* Final fixes

* Lint fixes
2023-03-14 11:40:38 +01:00
Omar Basem 64dde1c9d1 feat: improve lightbox transition (#15315)
* feat: improve lightbox transition
2023-03-14 08:24:14 +04:00
flexsurfer 0fe6fea7e4 Improve home animations (#15247) 2023-03-13 19:47:04 +01:00
Ibrahem Khalil 4810e1d7bf Prevent #links to work except in community chats and allow redirection from channel to another when clicked (#15135) 2023-03-13 20:09:38 +02:00
Ulises Manuel Cárdenas 9e4d9a05a7 Add new onboarding screen - I'm new to status 2023-03-13 10:25:04 -06:00
Churikova Tetiana ee62ffdc2c e2e: AC actions 2023-03-13 14:29:26 +01:00
Jamie Caprani d8c110bf85 feat: add title input component to quo2 (#15133) 2023-03-11 08:29:11 -08:00
jakub ff3249c514 nix: add procps to default shell, and tcl for darwin
Cocoapod installations can fail with errors like:
```
tclsh /Users/jenkins/Library/Caches/CocoaPods/Pods/Release/SQLCipher/3.4.2-f9fcf/tool/addopcodes.tcl parse.h.temp >parse.h
./configure: line 11729: tclsh: command not found
./configure: line 12262: tclsh: command not found
./configure: line 12276: tclsh: command not found
```
If a pure shell is used. Also `pgrep` would be missing from a pure shell.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-03-10 16:19:11 +01:00
jakub 5380f83cab ci: ugprade Jenkins library to use narrow shell
Depends on:
https://github.com/status-im/status-jenkins-lib/pull/59

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-03-10 16:19:10 +01:00
Brian Sztamfater 7332f483a4 feat: integrate record audio component into composer
Signed-off-by: Brian Sztamfater <brian@status.im>
2023-03-10 12:05:12 -03:00
Mohamed Javid f67f205fa9 Status Tag UI and usage update (#15282)
* [Feature][#15267] Status Tag UI Update

* [Fix] Typo in comment

* [Fix] Feedback from PR

* [Fix] Feedback from PR

* [Fix] Blur Type on Preview Screen

* [Fix] Blur Type on Preview Screen
2023-03-10 15:31:54 +05:30
Yevheniia Berdnyk bd54b05fd0 test_community_mentions_push_notification 2023-03-09 20:37:52 +02:00
jakub 73c32eacb3 ios: add README file to ios/logs directory
Allows us to get rid of the `.gitkeep` file.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-03-09 14:55:01 +01:00
jakub a073812a9f ios: create logs/ios folder in advance
Otherwise in some cases we can get:
``
.../Script.sh: line 6: ./logs/react-native-xcode.log: No such file or directory
Command PhaseScriptExecution failed with a nonzero exit code
```

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-03-09 13:50:19 +01:00
jakub 8cd5e3f6e3 ios: direct logs to ios/logs, archive on failure
This way people don't have to ask me for access to logs from CI hosts to
be acquired using SSH access, but instead they will be simply included
in Jenkins build artifacts.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-03-09 12:23:51 +01:00
Churikova Tetiana 8d7224d972 e2e: fix failures 2023-03-09 12:06:24 +01:00
flexsurfer 81212573d7 🧈 Transparent modal support 🧈 (#15268) 2023-03-09 10:37:10 +01:00
Parvesh Monu de8c294c9a fix android multi-account root initialization after app relaunch (#15292) 2023-03-08 23:31:41 +05:30
Ulises Manuel Cárdenas 8478ac74ab Refactor user-avatar & add tests 2023-03-08 11:07:37 -06:00
Parvesh Monu e9310a2ace fix mention turns into unknown in community (#15285) 2023-03-08 20:15:05 +05:30
Churikova Tetiana 0345871b66 e2e: block user test 2023-03-08 12:21:10 +01:00
Ibrahem Khalil 7a299b9b86 [15166] Show message edited status (#15190) 2023-03-08 12:42:12 +02:00
yqrashawn 5fe3029ad8 feat: allow group admin to delete others message (#15256) 2023-03-08 10:08:40 +08:00
Roman Volosovskyi c6e63ff5a5 [#15241] Proper system message on being not a member of a group 2023-03-07 09:35:36 +01:00
andrey 998b40ec4f podfile.lock 2023-03-06 15:57:26 +01:00
Jamie CapraniandChurikova Tetiana 2861190e5b New intro screen (#15127)
* feat: add new intro page

* e2e: new intro fix

---------

Co-authored-by: Churikova Tetiana <tatiana@status.im>
2023-03-06 06:42:30 -08:00
Churikova Tetiana 404ae82cfe e2e: fix deep link profile test
Signed-off-by: Parvesh Monu <parvesh.dhullmonu@gmail.com>
2023-03-06 17:26:29 +05:30
Parvesh Monu 9ffefe74bb fix navigation to user profile 2023-03-06 17:16:49 +05:30
Vitaliy Vlasov 9959d537f3 Emoji hash is now in settings
Signed-off-by: Vitaliy Vlasov <siphiuel@protonmail.com>
2023-03-06 13:27:15 +02:00
John Ngeiandjo-mut 7a9018ae11 replaced mocked community-tags and images with real data
Co-authored-by: jo-mut <jo_ngei@Johns-MacBook-Air.local>
2023-03-06 13:57:58 +03:00
Parvesh Monu 8454ce2e11 Onboarding add background screen (#15231) 2023-03-06 16:07:07 +05:30
Parvesh Monu f314806b83 Improve profile card (#15264) 2023-03-06 14:24:34 +05:30
Omar Basem 16ffc23509 Lightbox improvements (#15243)
* feat: lightbox polishing and improvements
2023-03-06 08:35:36 +04:00
jakub 80a75c5232 nix: patch all Gradle configs of nodejs deps
Before we were patching only `build.gradle`, which is not the only type
of Gradle config file. If we do not cover them all we can encounter
errors about missing package because they will continue using remote
repositories instead of `mavenLocal()`, to which pass Nix store path.

We also need to cover `gradlePluginPortal()` to provide plugins.

This is also necessary for the React Native upgrade:
https://github.com/status-im/status-mobile/pull/15203

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-03-04 13:01:26 +01:00
jakub 20a0cc01f6 nix: refactor Gradle deps to be more generic
Refactoring the derivation that fetches all the POMs, JARs,
and AARs in order to make it more generic and easier to extend.
The main change is adding `files` key in `deps.json` which contains
a dict of all the files reletad to given package.

This way we can more easily include other files that might be available
for download, like AARs with ASC suffix, or `nodeps` JARs.

This is also necessary for the React Native upgrade:
https://github.com/status-im/status-mobile/pull/15203

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-03-04 12:41:29 +01:00
Ulises Manuel Cárdenas ff3ba6c0f0 Add new text input component 2023-03-03 15:03:38 -06:00
Mohamed Javid 3483bb1107 [Fix] Community Context for Mention or Replies Notification in Activity Center (#15234)
* [Fix] Community Context for Mention or Replies Notification in Activity Center

https://github.com/status-im/status-go/compare/ebc1fc33...71f778ec

* [Update] Status Go Version
2023-03-03 22:57:32 +05:30
Icaro Motta 1f1ab30a4e Use new RPC endpoints to fetch and count unread notifications (#15245)
There are endpoint changes in the status-go PR #3237
https://github.com/status-im/status-go/pull/3237) that will cause breakage in
the Mobile & Desktop clients. The Desktop team has already implemented the
changes and is waiting for Mobile to do the same.

The new endpoints are generally better, more ergonomic to use. There's also a
new endpoint to allow fetching multiple unread counters for all types of
notifications so we can finally remove the dreadful workaround in mobile calling
`status-go` 10+ times in a row.

- Fixes https://github.com/status-im/status-mobile/issues/15119
- Fixes https://github.com/status-im/status-mobile/issues/15229
2023-03-03 12:43:41 -03:00
Icaro Motta 064204256e Fix Activity Center popover not opening (#15239)
Fixes #15230 - The popover state in the app db must be discarded before trying to
open the Activity Center. This workaround is used in other parts of the app too.
It's ugly, but the only quick fix I found.

It's plenty obvious the popover component and all its surrounding logic should
be revisited in the future.
2023-03-03 10:34:55 -03:00
Omar Basem 8923408972 Landscape Mode (#15175)
* feat: landscape mode
2023-03-03 16:33:28 +04:00
Icaro Motta 52b87bab3e Redesign and simplify Activity Center app db (#15216)
Fixes #15215. Redesign the app db state for the Activity Center. Please, see the issue being fixed for more details about the problems being solved.

TL;DR: There's a lot less state to keep track and reconcile and way less nesting in the app db because we're only managing the state of the *current tab*, not all tabs.

Additionally:

- [x] While updating unit tests, found a bug on the sorting notifications' logic.
- [x] While updating unit tests, found a bug where notifications that are not of the type *contact request* were being removed from the app db.
- [x] Fixed regression where pressing on a notification would not open the chat.
- [x] Hardened unit tests.

#### Platforms

- Android
- iOS

##### Non-functional

- Less memory consumption.
- Faster reconciliation of notification coming from signals and from synchronous responses from RPC calls.
2023-03-03 09:17:35 -03:00
John Ngei 25d44b11f1 Fix: chat header height 2023-03-02 21:57:19 +03:00
Brian Sztamfater 9333692830 feat: remove wallet connect 1.0 (#15010) 2023-03-02 17:55:03 +01:00
jakub 4fe8b81bf6 ios: fix xcode using system Node.js version
As discovered in:
https://github.com/status-im/status-mobile/pull/15225

The attempt to fix this in:
https://github.com/status-im/status-mobile/pull/15180

But it doesn't appear to work, so instead I'm allowing an override of
`NODE_BINARY` variable and spetting it when defining the Nix shell.

The key things here are:

* Xcode injects its own paths into `PATH` which breaks Nix env.
* Combining Nix shells with `inputsFrom` does not inherit all vars.

It's important to set these variables in `shellHook` and not elsewhere.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-03-02 17:32:52 +01:00
Omar Basem 4dfd3af7f5 Album Reactions (#15208)
* feat: album actions
2023-03-02 20:11:17 +04:00
Icaro Motta 11b6702939 Fix (#15232) 2023-03-02 11:02:01 -03:00
Jamie Caprani 39c39915a7 chore: separate resources for old and new ui (#15108) 2023-03-02 14:25:01 +01:00
Ibrahem Khalil 01c058fecc [15127] Make reply and pinned banner react on edit (#15189) 2023-03-02 15:03:30 +02:00
Roman Volosovskyi 8f75874868 [#15042] Fix inconsistent contact request state on syncing 2023-03-02 12:45:37 +01:00
Icaro Motta 041622d98b Make popover delay configurable (#15225)
Make the popover delay in milliseconds configurable.

To open the Activity Center, 30ms delay seems to be more than enough. It's a quick fix because the current 250ms to open the AC gives the wrong impression to users (and confuses even us developers) who think the AC has a performance issue to open.

See issue https://github.com/status-im/status-mobile/pull/15222 for the full discussion.
2023-03-02 08:41:18 -03:00
yqrashawn 4190dfd26b feat: support community that all members allowed to pin (#15197) 2023-03-02 18:43:21 +08:00
flexsurferandChurikova Tetiana f731f75fca move profile tab (#15224)
* move profile tab

* e2e: new profile tab

* e2e: fix leftovers

* e2e: last

---------

Co-authored-by: Churikova Tetiana <tatiana@status.im>
2023-03-02 10:55:45 +01:00
Parvesh Monu 78682b823b fix root id of :init-root-fx (#15228) 2023-03-02 12:10:41 +05:30
Ulises Manuel Cárdenas 7d9709ee67 Improve chat Avatar (#15036) 2023-03-01 14:54:40 -06:00
Ajay Sivan aec1b5fafa quo2 strength divider component (#15177) 2023-03-01 15:47:02 +00:00
Jamie Caprani 5c67216b31 feat: add bottom sheet to see community rules (#15130) 2023-03-01 06:09:46 -08:00
Siddarth Kumar 0c9a195ca9 Improve QR code Handler mobile side PR (#15168)
* point to the relevant branch on status-go

https://github.com/status-im/status-go/compare/a9bfed21...6839f458

* update commit-sha1

* bump version to latest status-go
2023-03-01 18:15:49 +05:30
Churikova Tetiana 06192e7a24 e2e: outgoing CR + new UI 2023-03-01 12:36:49 +01:00
Omar Basem 4a6e42c6f9 fix: activity center closing animation (#15222)
fix: activity center closing animation
2023-03-01 15:12:16 +04:00
yqrashawn 2ce4a820d7 fix: deleted-by user name style (#15218) 2023-03-01 15:03:27 +08:00
jakub b72f0d4702 nix: fix Gradle nodeps JAR symlink filename
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-02-28 17:57:39 +01:00
frank b75e1304d8 added param deviceType (#15136) 2023-02-28 21:43:10 +08:00
Yevheniia Berdnyk c2782a26f7 paste from clipboard fix 2023-02-28 15:07:06 +02:00
flexsurfer fa03e91080 Sanitize quo2 namespace (#15207) 2023-02-28 13:59:09 +01:00
Omar Basem f9dda56310 fix: image dimensions on Android (#15211) 2023-02-28 16:20:00 +04:00
jakub 51276237f2 nix: include nodeps JARs in Gradle deps (#15212)
* nix: update gradle dependencies

Signed-off-by: Jakub Sokołowski <jakub@status.im>

* nix: include nodeps JARs in Gradle deps

Signed-off-by: Jakub Sokołowski <jakub@status.im>

* nix: include nodeps JAR for semver4j 0.16.4

Can cause failures like in some cases:
```
A problem occurred configuring project ':react-native-hole-view'.
> Could not resolve all files for configuration ':react-native-hole-view:classpath'.
   > Could not find semver4j-0.16.4-nodeps.jar (com.github.gundy:semver4j:0.16.4).
     Searched in the following locations:
         file:/nix/store/3n2pxsqa2izlx8c23s6jgqai0bqaklm1-status-mobile-maven-deps/com/github/gundy/semver4j/0.16.4/semver4j-0.16.4-nodeps.jar
```

Signed-off-by: Jakub Sokołowski <jakub@status.im>

---------

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-02-28 17:13:44 +05:30
flexsurfer c667d05929 bump status-go v0.133.2 (#15200) 2023-02-27 17:44:36 +01:00
Churikova Tetiana e1bcc8fec4 e2e: fix pinned messages 2023-02-27 16:39:39 +01:00
Jamie Caprani f84c2ec9f5 chore: add old edit option to communities options (#15131) 2023-02-27 05:49:37 -08:00
flexsurfer 80f063d0dd [#15056] Can't see display/ens/name when mentioning in community (#15085) 2023-02-27 12:51:53 +01:00
Parvesh Monu 69c3a72357 Navigation code cleanup (#15196) 2023-02-27 15:40:11 +05:30
yqrashawn c28b34ac08 fix: toast style on android (#15194) 2023-02-27 17:25:21 +08:00
yqrashawn b192e9efd4 fix: no delete-by ui for delete for me message (#15171)
issue 1 in https://github.com/status-im/status-mobile/issues/15115
2023-02-27 11:14:42 +08:00
jakub 6c7054b5b4 ios: fix lowercased variable name in Xcode config
In some cases might result in failures due to empty shebang:
```
Command PhaseScriptExecution failed with a nonzero exit code
```
Because the script file looks like this:
```
\#!
set -o errexit
export NODE_BINARY="node"
export NODE_ARGS=" --openssl-legacy-provider --max-old-space-size=16384 "

bash -x ../node_modules/react-native/scripts/react-native-xcode.sh > ./react-native-xcode.log 2>&1
```

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-02-25 11:59:20 +01:00
Icaro Motta 1806cb792a Allow users to swipe to delete or swipe to toggle unread notification status (#15106)
Adds support for swiping left/right on some types of notifications. Swiping left
(from left to right) shows a blue button allowing the user to mark the
notification as read/unread. Swiping right (from right to left) shows a red
button, allowing the user to delete the notification for good.

Related PR in status-go https://github.com/status-im/status-go/pull/3201.

Fixes https://github.com/status-im/status-mobile/issues/14901
Fixes https://github.com/status-im/status-mobile/issues/14900

Technical notes
===============

How's the performance? It feels near native performance in a production release
in a mid-range smartphone. So I'd say it's pretty good, but let me know if you
find any issue.

- I refrained from trying to eliminate all code duplication in this PR. Some
  notifications will behave differently, especially the ones with call to
  action, so I ask you to please take that in consideration when reviewing. See
  https://github.com/status-im/status-mobile/issues/15118
- React Native Gesture Handler has a component named
  [Swipeable](https://docs.swmansion.com/react-native-gesture-handler/docs/api/components/swipeable/).
  I used it instead of writing a monstrosity 👹 of code in
  Reanimated to achieve the same results.
- RN Gesture Handler touchables are the only ones that work with the Swipeable
  component, so I used them and added vars to `react-native.gesture`.
- I had to manually interpolate the translation X of the buttons behind
  notifications because notifications are transparent. To make interpolation
  work with `Swipeable` it's mandatory to use RN `Animated.View` and not
  `Reanimated.View` (see next point).
- `Swipeable` expects us to pass functions that will receive RN
  `AnimatedInterpolation` instances and the rendering lifecycle does not work as
  usual. Hooks didn't trigger as expected, functional Reagent components didn't
  behave as expected, etc. This means `Reanimated.View` and its interpolation
  function is out of question. I did try for almost two days, nothing works.

Testing notes
=============

These are some of the manual tests I ran. There are more scenarios to cover
obviously. Assuming no unread notifications before each flow:

Contact request notification
============================

From the perspective of an user A:

1. Receive a contact request from a non-mutual contact B.
2. Verify the unread count is displayed over the bell icon.
3. Verify the unread count is displayed on the `Messages > Contacts` tab, as
   well as on the AC `Contact requests` tab.
4. Open the AC and before accepting/declining the contact request, check that
   you CAN'T swipe left or right.
5. Accept or decline the contact request.
6. Check the unread indicator disappears in all necessary places.
7. Press on the notification and see if you're redirected to the chat.
8. Go back to the AC and swipe left to mark as `Unread`. Notice that opening the
   chat marks the notification as `Read`. Also very important, notice that the
   `Messages > Contacts` tab will NOT show the *pending contact requests*
   section at the top. This is on purpose, given the notification is unread, but
   the user has already accepted/declined the contact request, hence it's not
   pending.
9. Swipe left againg to mark as `Read`. Check all unread indicators are updated.
10. Swipe right to delete the notification (it won't be displayed ever again).

Admin notification
==================

1. Generate an admin notification, e.g. a community owner receiving a request
   notification to join.
2. Verify the unread count is displayed over the bell icon, as well as the AC
   Admin tab.
3. Verify the community unread indicator is correctly displayed.
4. As an admin, open the AC and before accepting/declining the request, check
   that you CAN'T swipe left or right.
5. Accept or decline the membership request.
6. Check the unread indicator disappears accordingly.
7. Swipe left to mark as `Read`.
8. Swipe left to mark as `Unread`.
9. Swipe right to delete the notification (it won't be displayed ever again).

Mentions & replies
==================

Similar steps outlined for `Admin` notifications, but there's one important
difference. Mention and reply notifications don't require a call to action from
the user, so the user can swipe left/right **without** first having to do
anything on the notification (such as pressing on it). See issue
https://github.com/status-im/status-mobile/issues/15118

What about other types of notifications?
========================================

Swipe gestures for other notification types will be implemented in a separate
PR.
2023-02-24 21:22:31 -03:00
Churikova Tetiana 432f7bcd8c e2e: 1-1 chat, communities 2023-02-24 20:05:30 +01:00
jakub 26d618e305 ios: use sh in shellPath instead of absolute path
Otherwise Xcode uses system Node.js version which is different from Nix
version and can result in weird failures like:
```
admin@macm1-01.he-eu-fsn1.ci.devel:~/status-mobile % node --version
v16.19.0

admin@macm1-01.he-eu-fsn1.ci.devel:~/status-mobile % node --openssl-legacy-provider
node: bad option: --openssl-legacy-provider

admin@macm1-01.he-eu-fsn1.ci.devel:~/status-mobile % make shell
Configuring Nix shell for target 'default'...

[nix-shell:~/status-mobile]$ node --version
v16.17.1

[nix-shell:~/status-mobile]$ node --openssl-legacy-provider
Welcome to Node.js v16.17.1.
Type ".help" for more information.
>
```

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-02-24 13:30:28 +01:00
John Ngei fac2f952d0 Fix: scroll-page component sticky header height 2023-02-23 18:31:21 +03:00
yqrashawn e830f633d8 fix: toast style (#15170) 2023-02-23 20:18:44 +08:00
Michele Balistreri 6a58f9552d update keycard native module
Signed-off-by: Michele Balistreri <michele@bitgamma.com>
2023-02-23 11:11:20 +01:00
Omar Basem 00db44ab0d Zoomable Image (#15078)
* feat: zoomable image
2023-02-23 07:46:42 +04:00
Ajay Sivan 6ffed4ad47 quo2 profile-select component
Signed-off-by: Parvesh Monu <parvesh.dhullmonu@gmail.com>
2023-02-23 01:41:56 +05:30
jakub e2169cbbd4 ios: use --openssl-legacy-provider with iOS builds
Fixes issue with following failure:
```
Failed to construct transformer:  Error: error:0308010C:digital envelope routines::unsupported
    at new Hash (node:internal/crypto/hash:71:19)
    at Object.createHash (node:crypto:130:10)
    at stableHash (/Users/jenkins/workspace/status-mobile/platforms/ios/node_modules/metro-cache/src/stableHash.js:19:8)
    at JsTransformer.getCacheKey (/Users/jenkins/workspace/status-mobile/platforms/ios/node_modules/metro/src/JSTransformer/worker.js:471:7)
    at getTransformCacheKey (/Users/jenkins/workspace/status-mobile/platforms/ios/node_modules/metro/src/DeltaBundler/Transformer/getTransformCacheKey.js:39:29)
    at new Transformer (/Users/jenkins/workspace/status-mobile/platforms/ios/node_modules/metro/src/DeltaBundler/Transformer.js:147:28)
    at /Users/jenkins/workspace/status-mobile/platforms/ios/node_modules/metro/src/Bundler.js:54:29
    at runMicrotasks (<anonymous>)
    at processTicksAndRejections (node:internal/process/task_queues:96:5) {
  opensslErrorStack: [ 'error:03000086:digital envelope routines::initialization error' ],
  library: 'digital envelope routines',
  reason: 'unsupported',
  code: 'ERR_OSSL_EVP_UNSUPPORTED'
```
https://roytuts.com/how-to-fix-err_ossl_evp_unsupported-in-react-js-application/

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-02-22 18:48:03 +01:00
Ajay Sivan c8fd7121d3 quo2 password-tips component (#15157) 2023-02-22 14:50:56 +01:00
frank 0c96661583 use random tcp port for listen address for node (#15143) 2023-02-22 21:38:27 +08:00
Ajay Sivan d6c09d289c quo2 color-picker component (#15105) 2023-02-22 12:05:40 +01:00
jakub d5cc24fecf ci: add Xcode cleanup Jenkinsfile
Too often Xcode derived data and archives are clogging up hosts.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-02-22 09:21:59 +01:00
Ajay Sivan 20e16e2f42 fix: Community display image & cover image rendering fixes (#15047) 2023-02-22 07:11:15 +01:00
yqrashawn 3fc4c36ac6 fix: toast style (#15144) 2023-02-22 09:55:21 +08:00
Alexander 1b33aa4988 Outgoing contact requests (#14853)
* First thoughts/ideas

* Showing "Cancel contact request" button

* Fixes

* Restructuring, `retractContactRequest`

* Pending label

* Proper buttons for activity notifications

* New updates

* Returning back `activity-log` `items`

* Last changes in code

* Lint fix

* Lint fix (2)

* Style fixes

* Style fixes

* Code fixes

* Style fixes

* Fixes

https://github.com/status-im/status-go/compare/1d9d7343...0082f7e9

* Footer update

* Toasts done

* Formatting fix

* Go version update

* Fixes for deletion

* status-go-version.json

* Lint fix

* Fixes

* Lint fix

* status-go version

* status-go version
2023-02-21 22:45:54 +01:00
Alexander 888bf12856 Paste button (#15002)
* Paste button

* Lint fix

* str -> string

* Removing of redundant stuff

* Style fixes

* Style fixes

* Style fixes (android)

* Style fixes (android)

* The last style fix

* Styles

* Lint fix
2023-02-21 13:42:22 +01:00
Andrea Maria Piana c4aef97a6d [Fixes: #15093] Add support for mention @everyone
This commit adds support for displaying @everyone mention.
2023-02-21 12:19:02 +00:00
yqrashawn 46896ff7f4 ci: add component test (#15071) 2023-02-21 13:42:33 +08:00
Mohamed Javid 8ed64f810f Introduce marking all notifications as read in Activity Center (#14952)
* [Feature][#14902][#14917] Added marking all notifications as read

* [Fix] Lint Fix
2023-02-20 23:54:17 +05:30
Omar Basem 3fbb7cb0a7 feat: new text message (1) (#15005)
* feat: new text message
2023-02-20 19:14:03 +04:00
Andrea Maria Piana 58013db24c Add display name/ens to activity center 2023-02-20 10:33:35 +00:00
Andrea Maria Piana 172bf66436 Revert "Prevent #links to work except in community chats and allow redirection from channel to another when clicked (#15069)"
This reverts commit bc5f0ccda6.
2023-02-20 10:10:40 +00:00
Ibrahem Khalil bc5f0ccda6 Prevent #links to work except in community chats and allow redirection from channel to another when clicked (#15069) 2023-02-20 11:47:26 +02:00
Vitaliy Vlasov bea93f4a7a Fix for empty display-name (#15122) 2023-02-20 10:07:38 +01:00
Parvesh Monu fb155ea4bd fix new chat selected contact (#15124) 2023-02-20 14:25:06 +05:30
frank 900688dc15 feat: pass node config/kdf to status-go when local pairing (#15072)
https://github.com/status-im/status-go/compare/4cc53630...8ff91ba0
2023-02-17 21:40:27 +08:00
jakubandyqrashawn 0f8ad69319 Nix/upgrade zprint 1.2.5 (#15113)
* nix: upgrade zprint from 1.2.4 to 1.2.5

To address issue described in:
https://github.com/kkinnear/zprint/issues/273

Signed-off-by: Jakub Sokołowski <jakub@status.im>

* chore: use zprint :multi-lhs-hang

* refactor: re-format clojure using zprint 1.2.5

---------

Signed-off-by: Jakub Sokołowski <jakub@status.im>
Co-authored-by: yqrashawn <namy.19@gmail.com>
2023-02-17 20:10:00 +08:00
Yevheniia Berdnyk ad9b712bff Fix for connection error 2023-02-17 12:34:21 +01:00
Yevheniia Berdnyk f2277371f0 Updated pytest and pytest-xdist versions 2023-02-17 12:28:43 +01:00
yqrashawn 866ba63ab7 fix: delete message action logic (#14977) 2023-02-17 19:21:19 +08:00
Andrea Maria Piana ee5dcb3683 Fix contact request state 2023-02-17 10:22:17 +00:00
Vitaliy Vlasov 995d120d94 Use display-name in profile view
Signed-off-by: Vitaliy Vlasov <siphiuel@protonmail.com>
2023-02-17 11:33:16 +02:00
Jamie Caprani cbad7f4c87 feat: add drawer buttons to quo2 (#15062)
feat: add drawer buttons to quo2
2023-02-16 06:29:44 -08:00
Mohamed Javid 488db615c0 Get community-id from notification data for mentions and replies (#15100)
* [Chore] Get community-id from notification data

* [Chore] Updated name for community chat
2023-02-16 16:10:23 +05:30
Parvesh Monu 5cea66647e fix deep links to user profiles don't do anything on tap (#15089) 2023-02-15 23:27:34 +05:30
Andrea Maria Piana ab750c1829 Upgrade status-go to 0.131.4
https://github.com/status-im/status-go/compare/dea21f44...0b2f0ef2
2023-02-15 12:16:59 +00:00
Siddarth Kumar bbb07ff595 we should explicitly mention testing status-go in our docs (#15091)
* we should explicitly mention testing status-go
2023-02-15 17:06:55 +05:30
Alexander 1753ea0de0 Allow user to add contact by scanning their QR code (with a fake QR code reader) (#15076)
* Allow user to add contact by scanning their QR code

* Newline

* Small fix

* Fix
2023-02-15 10:41:48 +01:00
Ulises Manuel Cárdenas 8ff7a1630c [#15019] small option card component (#15077)
* Create small-option-card component

* Add preview screen

* Add mock-fn to test helpers

* Add component tests

* Move namespaces

* Change new section name

* Refactor tests

* Change test-ids by accessibility labels
2023-02-14 16:06:13 -06:00
Parvesh Monu 5e87d7eefd fix new chat button is not visible in small screen devices (#15079) 2023-02-14 16:57:30 +05:30
jakub cdada3fa23 ci: update ITSEncryptionExportComplianceCode
We were using old ID for the encryption compliance from old Org.
Because of this the iOS release builds failed at TestFlight upload:
```
Error: Asset validation failed Invalid Export Compliance Code.
The export compliance key value [1aa92c4d-6194-4d7d-b70a-16b48256b87e]
in the app's Info.plist doesn’t match the key value of the app’s export
compliance documentation.
To find the correct value, go to My Apps on App Store Connect. (90592)
```
Related:
- https://stackoverflow.com/questions/53326492/
- https://help.apple.com/app-store-connect/#/dev38f592ac9

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-02-14 10:33:58 +01:00
Ibrahem Khalil 4020b4fdef Fix pinned messages (#14787) 2023-02-14 10:50:09 +02:00
jakub ba89ac3fcf ci: fix Jenkins lib function for reading version
Otherwise we just get `UNKNOWN` in release filenames.

Depends on: https://github.com/status-im/status-jenkins-lib/pull/56

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-02-13 18:05:11 +01:00
John Ngei a5571eae92 Fix: Communities home header flickering when user scrolls (#15060) 2023-02-10 17:06:49 +03:00
Alexander c12cab27f4 The [Cancel] and [Join] buttons are hidden within 'Join Community' overlay (#14971)
* The [Cancel] and [Join] buttons are hidden within 'Join Community' overlay

* Lint

* Fixes

* Lint fix
2023-02-10 13:59:36 +01:00
Siddarth Kumar d1514ec52d fetch emoji hash for profile (#14987)
* add emoji-hash to app-db post login
2023-02-10 16:32:46 +05:30
Churikova Tetiana c4264462b1 ci/e2e: make copying of nightly artifacts work
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-02-09 20:32:18 +01:00
flexsurfer b1d4368154 [#15046] Contacts in contact list are sorted by 3-random name (#15051) 2023-02-09 17:40:59 +01:00
Omar Basem 95380175a6 fix: image actions (#14996)
* fix: image actions and reactions
2023-02-09 07:18:49 +04:00
Andrea Maria Piana 574e69acae Bump version to 1.21.0 2023-02-08 17:50:26 +00:00
Andrea Maria Piana feae148ec8 Fix contact updates state recovery
https://github.com/status-im/status-go/compare/7360e072...dea21f44
2023-02-08 17:49:36 +00:00
jakub 8ebad39c25 ci: add cleanup step to all e2e Jenkins jobs
Otherwise we get multiple APKs in the `results` folder.
```
admin@linux-01.he-eu-hel1.ci.devel:/home/jenkins/workspace/status-mobile/e2e/status-app-prs % ls -l result
total 502236
-rw-r--r-- 1 jenkins jenkins 57334087 Feb  7 10:25 StatusIm-Mobile-230207-101618-991339-pr14988-x86.apk
-rw-r--r-- 1 jenkins jenkins 57080127 Feb  7 13:18 StatusIm-Mobile-230207-131114-098c05-pr14977-x86.apk
-rw-r--r-- 1 jenkins jenkins 57088322 Feb  7 14:19 StatusIm-Mobile-230207-141155-05cc4c-pr15002-x86.apk
...
```
And `utils.findFile()` just pick the first one alphabeticlly.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-02-08 18:26:45 +01:00
Brian Sztamfater 8cfc6ecb4f chore: add accessiblity ids to message status views
Signed-off-by: Brian Sztamfater <brian@status.im>
2023-02-08 14:06:28 -03:00
Roman Volosovskyi cc348fda99 [#14962] Update AC notification on EditMessage 2023-02-08 16:43:40 +01:00
Volodymyr Kozieiev 5f119c4b3a added unread mentions counter 2023-02-08 13:01:04 +00:00
Parvesh Monu bf932e6825 Add jump-to button to community-overview screen (#15003) 2023-02-08 16:13:14 +05:30
Icaro Motta 0c59ed5ceb Improve guidelines (#15008)
- New section: Use [] instead of () in Reagent components: New section after
  this comment https://github.com/status-im/status-mobile/pull/15005#discussion_r1098220176
- Updated section "Don't use percents to define width/height": reworded to
  follow the style of the rest of the document.
- Update section "Accessibility labels": added example about avoiding dynamic
  labels.
2023-02-07 10:05:38 -03:00
jakub 875f9f1acc ci: fix absolute path of APK for e2e PR jobs
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-02-07 13:07:23 +01:00
Icaro Motta 98b219191f Fix segmented tab component (#15001)
Fixes #14999 

Fix UI regression in the segmented tab component, introduced by PR https://github.com/status-im/status-mobile/pull/14883.

No area was impacted because segmented tabs are not used yet.
2023-02-07 08:27:27 -03:00
John Ngei f8b5b35063 Update community home scrolling to support sticky header and tabs (#14929)
* communities home sticky tabs

* Communities home screen scroll behaviours

* refactored scroll-page component
2023-02-07 12:58:38 +03:00
erikseppanen 7315dc8914 Support join.status.im links for adding a contact (#14964)
* Support join.status.im links for adding a contact (#14814)

* refactor tests, add caret to regex
2023-02-06 17:23:34 -05:00
jakub e61bd769a8 ci: fetch E2E APK from android-e2e jobs
Using `copyArtifacts()` is more reliable and faster then fetching APKs
based on URLs acquired by parsing GitHub comments from Jenkins builds.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-02-06 18:37:53 +01:00
Parvesh Monu b9ac26edd7 fix selected members are not shown on the group creation screen (#14991) 2023-02-06 22:13:45 +05:30
Parvesh Monu 739d10a9ef Add tests for bottom-tabs-notifications-data subscription (#14992) 2023-02-06 20:40:46 +05:30
jakub 361ddb338e ci: drop uploading e2e builds to SauceLabs
Since uploads to SauceLabs were dropped from `Fastfile` in:
https://github.com/status-im/status-mobile/pull/14969

Also dropped:
- Useless Diawi upload of APK
- Useless DO Spaces upload of IPA

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-02-06 15:15:51 +01:00
John Ngei 91d0e106f2 showing sticky bar on scrolling discover screen (#14825) 2023-02-06 15:41:34 +03:00
Churikova Tetiana 89039cd79a e2e: remove upload to sauce from fastlane and fix in e2e 2023-02-03 14:03:15 +01:00
Brian Sztamfater 0202af8070 feat: style delivery states
Signed-off-by: Brian Sztamfater <brian@status.im>
2023-02-03 09:53:15 -03:00
frank 0472140f02 fix: Unable to add new contact on receiver device after local pairing until app relaunch (#14936) 2023-02-03 16:07:27 +08:00
Roman Volosovskyi e4722e05f3 [#14959] Reschedule messages deletion broadcast on new deletion 2023-02-02 18:13:47 +01:00
Volodymyr Kozieiev 77a798530d Unread indicator on community channel (#14960)
* Unread indicator on community channel
* Unread grey dot made a separate component
2023-02-02 17:09:37 +00:00
Parvesh Monu c2cfb4539f Remove top nav search button and add bottom padding for home list (#14966) 2023-02-02 19:16:54 +05:30
Roman Volosovskyi c38cb03956 [#14865] Add previews for youtube links with www subdomain 2023-02-02 13:08:37 +01:00
Churikova Tetiana c1e3a38cb2 e2e: saucelab new api + remove workarounds 2023-02-02 12:40:19 +01:00
Roman Volosovskyi db417cb3a3 fix compatibility with ConvertToKeycardAccount after recent changes 2023-02-02 12:15:38 +01:00
Omar Basem eed38fe082 Lightbox screen animations (#14954)
* lightbox screen animations
2023-02-02 15:03:59 +04:00
Icaro Motta 2dad2b67e8 Update style namespaces (#14941)
Update certain `style.cljs` files to more strictly follow our guidelines. Except for animations and theme colors, *style* functions should be pure.

It turns out `style` namespaces are well behaved and are almost perfectly following guidelines 🚀 

The motivation for the PR came from this thread https://github.com/status-im/status-mobile/pull/14925#discussion_r1090485454
2023-02-02 07:23:06 -03:00
Icaro Motta 8626cd3e6d Show unread indicator on Activity Center tabs (#14883)
Fixes https://github.com/status-im/status-mobile/issues/14852
Fixes https://github.com/status-im/status-mobile/issues/14882

Summary
=======

- [x] Fixes https://github.com/status-im/status-mobile/issues/14852
- [x] Fixes https://github.com/status-im/status-mobile/issues/14882
- [x] Refactors `tab` component to follow new guidelines.
- [x] Improves preview area for tabs to optionally show notification dots.
- [x] Refactors `tabs` component: break the component into smaller chunks;
remove duplication between scrollable & non-scrollable tabs; update outdated
docstring;
- [x] Adds accessibility labels to tabs.

Cutout with light theme on the background:
https://user-images.githubusercontent.com/46027/214553974-2b2e8c6e-71b8-46f3-ba75-a66cb4755490.png

Cutout with dark theme on the background:
https://user-images.githubusercontent.com/46027/214554602-d637d4d6-3b20-4aa8-a2ef-64836f4454bb.png

Cutout in non-scrollable tabs:
https://user-images.githubusercontent.com/46027/214555646-bbb85546-20d9-48bb-8273-716564fb5e0f.png

Notification dots in preview area:
https://user-images.githubusercontent.com/46027/214556532-10a044ae-9df5-4c86-be5f-447955276bfd.png
2023-02-01 13:10:57 -03:00
Alexander 9ded9da7e3 Fetch unread notification count only for supported notification types (#14923)
* Fetch unread notification count only for supported notification types
2023-02-01 15:36:33 +01:00
Omar Basem b8eab0c328 Photo selector and album selector screens (#14867)
* feat: photo & album selector screens
2023-02-01 17:01:03 +04:00
Omar Basem fb9309f700 Animated Header Flatlist (#14925)
* feat: animated header list (quo2)
2023-02-01 10:40:52 +04:00
yqrashawn a38ef22ca7 feat: support deleted by xxx (#14768) 2023-02-01 09:17:57 +08:00
Jamie Caprani 1f84128dd7 fix: hide buttons on community after joining (#14761) 2023-01-31 09:11:41 -08:00
Andrea Maria Piana 41124acf4d [Fixes: #14834] Fix backup of contacts
https://github.com/status-im/status-go/compare/7e1a894a...cefa0089
2023-01-31 15:45:32 +00:00
Jamie Caprani cbd920f070 chore: fix sorting of pinned messages (#14874) 2023-01-31 06:57:17 -08:00
Parvesh Monu 6bdd3ceded fix some of the app elements periodically stop responding on the android (#14935) 2023-01-31 19:13:02 +05:30
Volodymyr Kozieiev bfb2863774 Documentation updated (#14933) 2023-01-31 12:06:29 +00:00
frank 01523f3a1d fix: crashed after local pairing (#14931) 2023-01-31 17:23:38 +08:00
Churikova Tetiana 3692ad38dd e2e: fixes compressed keys 2023-01-30 21:48:41 +01:00
Ibrahem Khalil d7d256b139 [14677, 14673, 14672, 14671, 14664] Fix bottom sheet dismissal problems (#14791) 2023-01-30 22:33:12 +02:00
Andrea Maria Piana 0fd2783774 Update status-go and temporary fix for keycard 2023-01-30 16:45:23 +00:00
Andrea Maria Piana 6830f98f95 Add support for compressed keys
https://github.com/status-im/status-go/compare/fc03393e...caf3cc04
2023-01-30 16:11:09 +00:00
Erik Seppanen fac9e644a9 Lookup/add a contact from home screen (#14477) 2023-01-30 16:06:32 +00:00
Parvesh Monu d16baca64f fix pinned message for community channels (#14885) 2023-01-30 19:42:58 +05:30
Icaro Motta 55caf0230e Update empty state (#14916)
Fixes #14899

Updates the empty states according to latest design in Figma.
2023-01-27 15:24:30 -03:00
flexsurfer 6002672e7c [#14877] No ability to type the text into textbox if image is added [#14881] Input field is hidden in composer (#14911) 2023-01-27 16:40:04 +01:00
Mohamed Javid 85fc754104 [Fix] Added support for pinned message in reply notification (#14913) 2023-01-27 21:50:02 +08:00
Churikova Tetiana 6530713c3f e2e: communities fix 2023-01-27 10:48:52 +01:00
Roman Volosovskyi 1654c32ea0 [#14173] Fix incorrect pagination of notifications 2023-01-27 08:53:07 +01:00
Jamie Caprani 2e35939979 chore: add accesibility label 2023-01-26 16:50:20 +00:00
flexsurfer 8b358ab7ed [#14869] Options menu is hardly opened on longtap on messages containing image or links with enabled preview (#14908) 2023-01-26 17:12:26 +01:00
Parvesh Monu 48e5c5c0ec fix home-screen half-width (#14895) 2023-01-26 17:23:11 +05:30
Omar Basem b3f9a5944d add support for 120Hz animations (#14905)
feat: add support for 120hz animations
2023-01-26 13:28:03 +04:00
Roman Volosovskyi e94898c5ac [#14718] Fix profile photo in several places 2023-01-26 09:49:36 +01:00
Ibrahem Khalil f41c69ff4b [14681] Make checkbox select contacts correctly in new chat flow (#14790) 2023-01-25 21:50:00 +02:00
Volodymyr Kozieiev 7585767961 Remove test for join-existing-users-string (#14892) 2023-01-25 16:39:16 +00:00
Parvesh Monu 612c17a8db Add blur overlay for bottom tabs and shell top nav (#14783) 2023-01-25 20:08:11 +05:30
Roman Volosovskyi 146e41c8cc [#14669] Fix re-activation of deleted chat on old contact update 2023-01-25 13:14:53 +01:00
Volodymyr Kozieiev 3e93e353db Refactor mock data out of community page (#14799) 2023-01-25 11:35:10 +00:00
Churikova Tetiana 4e8ebc6d85 e2e: previews + uncommented pins 2023-01-24 21:27:02 +01:00
Ibrahem Khalil 7f2623a23e [14849] Only allow dragging inside bottom sheet when no handle is shown (#14850) 2023-01-24 20:27:57 +02:00
Parvesh Monu 080b13c304 fix some buttons are not responding after theme change (#14811) 2023-01-24 20:28:41 +05:30
Roman Volosovskyi df2dd56cfb [#14728] Fix sender avatar in reply 2023-01-24 12:04:24 +01:00
Brian Sztamfater bd3c724c66 feat: record audio complete flow
Signed-off-by: Brian Sztamfater <brian@status.im>
2023-01-23 14:04:06 -03:00
Icaro Motta 206730a777 Show "Added to group chat" notifications (#14785)
Partially implements https://github.com/status-im/status-mobile/issues/14712
Fixes #14744

### Summary

This PR implements the first, among what will probably be many different kinds of membership notifications. For this PR, I started with implementing a particular flow for private group chats because it's already supported by `status-go` (albeit I had to make some changes, see [PR in status-go](https://github.com/status-im/status-go/pull/3088).

1. `A` and `B` are mutual contacts.
2. `A` creates a private group chat with `B` as member.
3. `B` sees the group chat in the app, but doesn't interact with it.
4. `B` reinstalls the app (remember to back up the seed phrase).
5. `A` mentions `B` in the group chat.
6. `B` should see a group chat notification, which can be accepted/declined.

- [x] Also fixes #14744

### Demo

In the video I'm simulating the steps outlined in the *Summary*, but using the approach described in *Steps to test*, because it's way easier to iterate during development.

[demo.webm](https://user-images.githubusercontent.com/46027/212470798-c135d229-948d-4ba5-98db-ee73cc5495cd.webm)

### Review Notes

Some changes had to be made in `status-go` ([PR](https://github.com/status-im/status-go/pull/3088)), namely:

- According to [Figma](https://www.figma.com/file/eDfxTa9IoaCMUy5cLTp0ys/Shell-for-Mobile?node-id=3806%3A586901&t=xLTAjLXjG1UtorpI-0), users should be able to see `accepted` group chat notifications. Until now, `status-go` hardcoded that `accepted` notifications would *not* be returned in query results, and so it would be impossible to show them to users. This was changed and now the RPC endpoint accepts an additional filter. The implementation on the backend is backwards compatible so as to not break Status desktop.
- The `Membership` tab needs to display various types of notifications (group chat, community, etc), but the membership type doesn't exist on the backend. To overcome this constraint, this PR makes the membership type a logical/virtual type, i.e. a Clojure set of types. `status-go` was changed to support querying for multiple notification types (also backwards compatible).

#### Platforms

- Android
- iOS

### Steps to test

Please, follow the steps described in the Summary and you should be able to test.

But during development, I followed these steps (recommended by @cammellos). I documented them here for reference.

1. Checkout `feature/e2e` in status-go. Apply the diff below.
2. `cd cmd/e2e && ./e2e`
3. This will create a temporary account automatically, let's call it `A`.
4. On another device, create account `B`.
5. Follow the steps documented in https://github.com/status-im/status-go/blob/bdc406ea2e6eb990ce5c0fed7ea2e84b63c92139/cmd/e2e/README.md#L2 in order for user `A` to create a group chat with `B` as member. Don't make `A` and `B` mutual contacts.
6. On `B`'s device, a notification should appear, and `B` should be able to accept or decline the "invitation" (actually *invitation* is another concept and related to another feature).

```diff
modified   cmd/e2e/main.go
@@ -283,6 +283,11 @@ func defaultNodeConfig(installationID string) (*params.NodeConfig, error) {
    nodeConfig.NetworkID = 1
    nodeConfig.LogLevel = "ERROR"
    nodeConfig.DataDir = "/ethereum/mainnet_rpc"
+        nodeConfig.HTTPEnabled = true
+        nodeConfig.HTTPPort = 8545
+        nodeConfig.HTTPHost = "localhost"
+        nodeConfig.HTTPVirtualHosts = []string{"localhost"}
+
         nodeConfig.APIModules = "wakuext,ext,waku"

    nodeConfig.UpstreamConfig = params.UpstreamRPCConfig{
modified   protocol/messenger_group_chat.go
@@ -26,17 +26,17 @@ func (m *Messenger) validateAddedGroupMembers(members []string) error {
        }

        contact, _ := m.allContacts.Load(contactID)
-		if contact == nil || !(contact.Added && contact.HasAddedUs) {
-			return ErrGroupChatAddedContacts
-		}
+                if contact == nil {
+                  contact, err = buildContactFromPkString(contactID)
+                  if err != nil {
+                    return err
+                  }
+                }
    }
    return nil
 }

 func (m *Messenger) CreateGroupChatWithMembers(ctx context.Context, name string, members []string) (*MessengerResponse, error) {
-	if err := m.validateAddedGroupMembers(members); err != nil {
-		return nil, err
-	}

    var response MessengerResponse
    logger := m.logger.With(zap.String("site", "CreateGroupChatWithMembers"))
```
2023-01-23 13:54:51 -03:00
Parvesh Monu b3a03119d1 Implement unread badge for bottom tabs (#14856) 2023-01-23 20:23:41 +05:30
flexsurfer d79d2e9d36 sanitize quo2 (#14859) 2023-01-23 14:41:55 +01:00
Jamie Caprani 098821d20b chore: get community img from real data (#14765) 2023-01-23 03:17:50 -08:00
Jamie Caprani 92a180c477 add shadows to foundations (#14839)
* chore: add shadows to foundations
2023-01-23 03:06:26 -08:00
Mohamed Javid 6722b45076 [Fix] Admin Notification marked unread after closing and reopening AC (#14824)
* [Fix][#14823] Admin Notification unread issue

* [Fix][#14823] Changed dispatch of event from the PR feedback

* [Fix][#14823] Organize dispatch of event from the PR feedback

* [Fix][#14823] Organize dispatch of event from the PR feedback
2023-01-23 18:56:58 +08:00
Andrea Maria Piana 897a5eb201 [Fixes: #14794] Use toast instead of old pin modal
Instead of using the old modal, we show a toast when the limit of 3
messages is reached.
2023-01-23 10:44:15 +00:00
Parvesh Monu d3667ad683 fix nil value in reanimated style crashing at runtime (#14855) 2023-01-23 15:55:24 +05:30
Ibrahem Khalil dc9454defa Fix using functions as identifiers (#14848) 2023-01-21 13:28:45 +02:00
Omar Basem 53495dc893 Images Album (2) (#14755)
* feat: images album (2)
2023-01-20 16:51:44 +04:00
Jamie Caprani 967c869486 chore: fix component tests and permission drawer preview (#14831) 2023-01-19 15:03:53 -08:00
flexsurfer f0272f2e77 move chat events (#14835) 2023-01-19 19:35:14 +01:00
Churikova Tetiana b8dfa6b645 e2e: offline messages + edit 2023-01-19 19:01:14 +01:00
Omar Basem 6c14fd1cb9 Scroll page animations (#14695)
* feat: scroll page animations
2023-01-19 16:46:05 +04:00
flexsurfer e8e8547879 cleanup setup (#14827) 2023-01-19 12:15:28 +01:00
flexsurfer 2899819e95 rollback user profile (#14828) 2023-01-19 12:02:05 +01:00
Alexander 27c8c5547c [#14689] Link previews in chat (#14771)
* Initial

* Link fetching

* Post-merge fix
2023-01-18 22:43:26 +01:00
Parvesh Monu b370514ef3 Improve community avatar for shell card (#14813) 2023-01-19 00:12:49 +05:30
Ulises Manuel Cárdenas ab1fd43f28 Add Collectible ui component (#14803) 2023-01-18 19:00:47 +01:00
Churikova Tetiana 4c33b43713 e2e: more fixes 2023-01-18 16:02:09 +01:00
flexsurfer d2e35fe928 move constants/config to status-im2 root and remove old constants/config (#14821) 2023-01-18 15:43:58 +01:00
flexsurfer d030e211e3 move i18n to utils (#14819) 2023-01-18 14:36:02 +01:00
flexsurfer ed348e0871 cleaning (#14808)
cleaning, introduce react-native.red-black-tree and move messages list events
2023-01-18 12:16:33 +01:00
Icaro Motta 9a60fc1600 Fix all type hint warnings (#14810) 2023-01-17 19:52:12 -03:00
Andrea Maria Piana 14c9a7c6ac [Fixes: #14777] Set dns nameserver to cloudflare 2023-01-17 09:22:48 +00:00
flexsurfer 685c95591c refactor and move composer to status-im2 (#14758)
refactor and move composer to status-im2
2023-01-16 17:20:10 +01:00
Siddarth Kumar d6c899be3d make sure nodejs uses a fixed timezone (#14793)
* make sure node uses the UTC timezone
  we have a few timebomb tests in the codebase that would break and making sure node specifies a timezone fixes them.
2023-01-16 16:34:15 +05:30
Ibrahem Khalil aa8f5b3d48 Disable starting a new chat for non mutual contact (#14726) 2023-01-14 12:57:45 +02:00
Churikova Tetiana 4960f5a59c e2e: fixes for mutual contacts 2023-01-13 19:22:51 +01:00
Mohamed Javid 2f52cb1f0c Show Admin Notifications in Activity Center (#14748)
* [Feature][#14713] Added Admin Notifications in Activity Center

* [Feature][#14713] Admin Notification UI fixes

* [Feature][#14713] Admin Notification PR Feedbacks

* [Feature][#14713] Admin Notification PR Feedbacks

* [Feature][#14713] Admin Notification accessiblity label update
2023-01-14 02:14:02 +08:00
Andrea Maria Piana 64ec49c9c4 Removed removed files and add untracked from linting
The linter would fail if there were removed files, as it would
try to lint them but would not find them.
Similarly, untracked files would not be linted.

This commit changes the behavior so that untracked files are linted and
removed files are ignored, that way we can run it before committing if
there are unstaged changes that include removed/untracked files.
2023-01-13 17:22:13 +00:00
jakub c9223cd988 ci: use arm64 macos hosts for iOS builds
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-01-13 13:44:05 +01:00
Churikova Tetiana c1c9fef7ec e2e: revert failed tests 2023-01-13 12:12:12 +01:00
Jamie Caprani 73c4be8dee Communities Join Screens - Implement all permutations of Context Drawer options (#14700) 2023-01-13 09:35:41 +00:00
Roman Volosovskyi bfdca0fb38 https://github.com/status-im/status-go/compare/d40290a6...d60c1d00
[#14574] Update chat clock on group event
2023-01-12 18:57:22 +01:00
jakub f446ab163e ci: upgrade Xcode from 13.4 to 14.2
Depends on:
https://github.com/status-im/infra-role-bootstrap-macos/commit/fefb0081

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-01-12 16:55:24 +01:00
jakub 0623355e84 fleets.json: drop decomissioned eth.test fleet
The fleet wasn't being used so it has been liquidated:
https://github.com/status-im/infra-eth-cluster/commit/de986014

Signed-off-by: Jakub Sokołowski <jakub@status.im>

make sure that "waku-nodes" is not pulled from fleets.json
2023-01-12 13:15:13 +01:00
Andrea Maria Piana 7a5871a03f [Fixes: #14623] Enable mutual contacts by default and show banner 2023-01-12 09:16:02 +00:00
Parvesh Monu 5c0bd33697 Improve switcher cards lifecycle (#14751) 2023-01-12 02:37:55 +05:30
Churikova Tetiana 220341e0be e2e: introduced failed due to issues tests in results 2023-01-11 13:58:11 +01:00
yqrashawn ceaa363f08 fix: not using layout animation, causing flickers on android (#14753) 2023-01-11 18:37:42 +08:00
Jamie Caprani 846d628a9d chore: use banner from quo library (#14629) 2023-01-11 00:59:00 -08:00
Alexander 9ed89ac97d Fix for tapping on new contact from contact list (#14737)
* Tapping on new contact from Contact list leads to empty chat with skeleton

* Code style fix

* Small removals of unused stuff
2023-01-10 19:26:23 +01:00
Alexander 43da198c3f Communities join screens - add toast after joining/leaving (#14735)
* Add toast after joining/leaving a community

* leftover removal

* Better code for adding toasts

* Fixes

* Lint fix
2023-01-10 19:10:26 +01:00
Omar Basem 55d11d1a18 New chat fix (#14739)
* new chat fix
2023-01-10 20:19:53 +04:00
frank d2e8c5b52c fix #14733 (#14734) 2023-01-10 23:15:12 +08:00
Parvesh Monu 115fb3f590 fix default shell for -include targets (#14738) 2023-01-10 18:36:38 +05:30
yqrashawn 02a1c3597f feat: undo delete with toast (#14618) 2023-01-10 10:02:23 +08:00
Alexander 6f10ff4d3e Switcher button in chat is back (#14717) 2023-01-09 18:37:54 +01:00
Churikova Tetiana e289ad8968 e2e: fixes + workarounds 2023-01-09 14:46:24 +01:00
John Ngei 043e218320 show selected list item context actions view (#14676)
* show selected list item context actions view

* show selected list item context actions view

* fixed showing thumnails on communities
2023-01-09 16:36:17 +03:00
John Ngei 1cdcd298b0 Scrollable tags (#14182)
* refactored scrollable-tags to share the same logic with scrollable-tabs

* refactored tabs component to support scrollable-behaviour
2023-01-08 22:40:59 +03:00
Ibrahem Khalil 4cdc166e41 Add accessibility labels for chat long press (#14685) 2023-01-06 14:39:14 +02:00
Alexander b358a23060 Adjusted border color on outline button (#14711) 2023-01-05 23:35:48 +01:00
Churikova Tetiana b158310057 e2e: workarounds 2023-01-05 18:01:57 +01:00
Parvesh Monu d6159ac269 Persist switcher cards (#14701)
https://github.com/status-im/status-go/compare/b4bdfd3d...d40290a6
2023-01-05 21:50:09 +05:30
Icaro Motta 7cf17b5d34 Move unit test helper namespace to src/test_helpers/ (#14716) 2023-01-05 11:58:37 -03:00
Icaro Motta bad796db90 Fix clojure.set and clojure.walk inconsistent namespace aliases (#14715) 2023-01-05 10:54:32 -03:00
Omar Basem 951fd43d10 Images Album (#14635)
* feat: images album
2023-01-05 16:31:32 +04:00
Siddarth Kumar bb4a4207df abstract running code in separate thread for native java modules (#14690)
This commit adds a new helper method `executeRunnableStatusGoMethod`
The helper method accepts arguments and calls the status go method in a new thread.
2023-01-05 14:42:39 +05:30
Mohamed Javid e30f895fe9 [Feature] Implement replies notification in Activity Center (#14656)
* [Feature][#14550] Added Replies UI in Activity Center

* [Fix][#14550] Removed underlay color from touchables in Replies UI in Activity Center

* [Fix][#14550] Comments from review

* [Fix][#14550] Comments from review

* [Feature][#14550] Added community support on tags in AC

* [Feature][#14550] Date utils test
2023-01-04 21:31:37 +08:00
Siddarth Kumar ec15232af8 Make sure mobile understands community share link by Desktop (#14679)
* we are now able to navigate to desktop communities

https://github.com/status-im/status-go/compare/b4bdfd3d...d2e95eee

In this commit we add support for various status-go methods in mobile :
- `multiformatSerializePublicKey`
- `multiformatDeserializePublicKey`
- `compressPublicKey`
- `decompressPublicKey`
- and my personal favourite `deserializeAndCompressKey`

When someone pastes a community joining share url into chat and taps on it, we check whether the community was generated on a desktop or mobile.
We need to do this because currently both the clients have different urls for joining a community.

Once we have identified that the url is generated via desktop we then convert that url to something that the mobile client is used to.
This enables the mobile client to view this community and interact with it.

However more work needs to be done in the future to ensure that mobile implements these compressed keys end to end, we need to get this feature in so that
by the time RC1 is released mobile client is able to join communities created by Desktop.
2023-01-04 18:24:11 +05:30
Churikova Tetiana 590c0629b6 e2e: new groups 2023-01-04 12:33:02 +01:00
Jinho Jang 944bfe2655 Update translation (#14483) 2023-01-04 12:18:26 +01:00
Parvesh Monu 63ace4da76 Improve switcher last content (#14626) 2023-01-04 03:32:51 +05:30
Matias Grote 697aa1c394 Add profile ui to quo_preview (#14652)
Add profile ui to quo_preview (#14652)
2023-01-03 20:23:16 +01:00
flexsurfer 228c596a9b cleanup and i18n revert (#14694) 2023-01-03 19:19:21 +01:00
Siddarth Kumar 3fa6112669 PR for to ensure native modules are compiled with java version 8 (#14693)
* explicitly mentioning which version of java to use
* fix indentation of closing bracket
2023-01-03 21:30:34 +05:30
Ibrahem Khalil 894be3e4e2 Reply showing unknown (#14682) 2023-01-02 22:08:40 +02:00
Omar Basem 8d08de3d4b Move photo selector to status-im2 (#14661)
* Move photo selector to status-im2
2023-01-02 08:04:03 +04:00
Churikova Tetiana 0a0b70c633 e2e: workarounds 2022-12-30 15:34:25 +01:00
Omar Basem b85eb4184a feat: group details screen (3.3) (#14654)
* feat: group details screen (3)
2022-12-30 18:14:24 +04:00
Ibrahem Khalil 13e59635c7 Add accessibility labels to mentions (#14667) 2022-12-30 15:25:49 +02:00
Ulises Manuel Cárdenas 5493d059b9 UI Component - Account (#14643)
* Implement accounts component
2022-12-30 10:44:21 +01:00
Parvesh Monu 110debc4c4 fix home stack height (#14639) 2022-12-30 09:04:37 +05:30
Jamie Caprani 1677574a6a migrate datetime to utils and finish i18n migration (#14604)
chore move datetime to common and update imports

 chore: move i18n tests and update imports, adjust i18n so translations are loading correctly
2022-12-29 13:56:11 -08:00
Ibrahem Khalil ef21312162 New chat flow (#14607) 2022-12-29 15:57:42 +02:00
Churikova Tetiana 8dac11544e e2e: activity centre 2022-12-29 14:49:35 +01:00
Ibrahem Khalil 77629fa7e1 Edit message issues (#14638) 2022-12-29 14:52:05 +02:00
Icaro Motta 915b8ebd9a New component Selector > Filter (#14650) 2022-12-28 12:21:15 -03:00
Christoph Pader 6280a6c4d5 feat: implement quo2 bottom sheet component (#14209) 2022-12-28 15:23:58 +01:00
Omar Basem b45261f2e5 Photo selector fix (#14646)
* fix: photo-selector
2022-12-28 14:40:13 +04:00
yqrashawn 4ce71e4d29 refactor: fix make lint and reformat (#14653) 2022-12-28 15:47:55 +08:00
yqrashawn 9ded8bfe97 chore: tweak zprint conf (#14645) 2022-12-28 10:05:24 +08:00
Jamie Caprani aca8c9250f add Non Token Gated - Manual Approval Required flow (#14513)
chore: add flow for closed community overview page
2022-12-26 16:05:03 -08:00
Mohamed Javid 99f7788c22 [Fix] Scroll To Index bug in Scrollable Tabs (#14641) 2022-12-27 00:13:24 +08:00
Volodymyr Kozieiev 9c7b69a2cd status-im/utils/fx replaced with utils/re-frame to avoid unambiguities (#14640) 2022-12-26 15:00:17 +00:00
flexsurfer a39e0f6fbd move messages to status-im2 (#14573)
* move messages to status-im2
2022-12-23 15:33:54 +01:00
Icaro Motta a8d392e4de Redirect user to Activity Center to manage pending contact requests (#14610) 2022-12-23 11:30:46 -03:00
Ibrahem Khalil d9e8fea14b Fix bottom spacing on image selector (#14612) 2022-12-23 10:33:01 +02:00
andrey 8ff32f4fc3 Revert "Group details screen (3) (#14494)"
This reverts commit e21b8d4396.
2022-12-23 07:32:23 +01:00
Omar Basem e21b8d4396 Group details screen (3) (#14494)
* group details screen (3)
2022-12-23 07:18:09 +04:00
Ibrahem Khalil 1af6d925d2 Message input issues (#14571) 2022-12-22 22:38:55 +02:00
Jamie Caprani 9937914594 feat: add banner component to quo2 (#14608) 2022-12-22 05:20:38 -08:00
yqrashawn e9252f5025 refactor: migrate json-rpc to status-im2.common.json-rpc.events (#14614) 2022-12-22 14:03:55 +08:00
Jamie Caprani 2610f27190 chore: add component tests (#14538) 2022-12-21 15:35:27 -08:00
Ibrahem Khalil 3dda878742 Add elevation to show image list (#14609) 2022-12-21 21:32:23 +02:00
pavloburykh 1fb41b2ca0 e2e: nightly fixes 2022-12-21 19:17:14 +02:00
Mohamed Javid 7c2d76d00f Channel name update in Context Tag (#14578)
* [Update][#14555] Channel name update in Context Tag

* [Update][#14555] Changes requested on Context Tag Component

* [Update][#14555] Changes requested on Context Tag Component
2022-12-21 20:03:58 +08:00
flexsurfer 270acefcf1 bump status-go v0.117.1a, fix empty chat (#14596) 2022-12-21 10:47:31 +01:00
Roman Volosovskyi 45e05b3f2b [#14545] Force update wakuv2 default configs 2022-12-21 10:24:37 +01:00
Ajay Sivan 9f1af8a9c2 fix: Chat scroll to bottom (#14570) 2022-12-21 10:14:38 +01:00
yqrashawn 69c90c25ab fix: fx merge error on ::json-rpc/call (#14594) 2022-12-21 16:43:38 +08:00
yqrashawn 388e5fae22 fix: toast component based on review (#14593) 2022-12-21 14:46:57 +08:00
yqrashawnandrefactor-only 0a8993bbf1 refactor: reformat all clojure code with zprint (#14589)
Co-authored-by: refactor-only <auto@status.im>
2022-12-20 22:45:37 +08:00
yqrashawn 39e29cfb5a feat: replace clj-fmt with zprint (#14520) 2022-12-20 21:57:49 +08:00
yqrashawn 37909c2d81 feat: toast component (#14376) 2022-12-20 21:52:28 +08:00
yqrashawn 01660765b7 refactor: delete message related code (#14548) 2022-12-20 21:42:50 +08:00
Brian Sztamfater c0c0742687 feat: record audio button
Signed-off-by: Brian Sztamfater <brian@status.im>
2022-12-20 10:01:19 -03:00
Siddarth Kumar b074e9c58e moving security from status-im ns to root utils (#14567)
making a lint a fix

update old decision doc

fixing issues while poorly rebasing

fix incorrect ns imports
2022-12-20 17:56:21 +05:30
Icaro Motta 8cf95cdb30 New make target to run tests via REPL (#14576) 2022-12-20 09:07:00 -03:00
Omar Basem ba41d4b271 Photo Selector 2 (#14487)
* Photo Selector (2)
2022-12-20 07:36:06 +04:00
Guilherme Devincenzi 003b0ffb1e feat: add privacy options component (#14500) 2022-12-19 20:12:58 +01:00
Parvesh Monu dbd61a34a0 Update shell placeholder screen with new designs (#14572) 2022-12-19 14:51:53 +05:30
Yevheniia Berdnyk cbb6571954 e2e: Updated tests 702807 and 702808 2022-12-19 04:02:57 +02:00
Siddarth Kumar 7b72391e60 remove comment blocks which are not useful (#14563)
Adding a series of // characters (i.e., a "comment bar") above every method in an Objective-C file would not provide any real benefit, and would in fact be redundant, as the method list in Xcode already serves as a visual separator for methods in a class.
The #pragma mark directive,  is a more concise and effective way to add separators and group related methods in a class. We should use #pragma mark to create a separator line and add a heading to describe the methods in a particular section.
2022-12-16 22:39:39 +05:30
Icaro Motta 269d13e2f8 Move Activity Center to new app structure (#14554) 2022-12-16 10:45:00 -03:00
Siddarth Kumar fc07fbf787 UI for mobile to mobile local pairing - updated (#14514)
* ui for local pairing

lint-fix

removed un-necessary +

addressing some of the feedback on PR

more feedback + removing feature toggle from ui

getting rid of comments/log messages over here

tidy up logs

fix typos and more i18n stuff

swap % with a named parameter

getting rid of global state + lint-fix

get rid of un-used function

icon guidelines and more kebab case stuff :>

moving stuff to events and utils namespace

:main-icons -> :i :)

address feedback and adhere to guidelines etc

fixed the :t/ qualification

moree feedback :-D

referring status-im.utils.security for now

adding "cs" to constants

make tests pass

re-frame to rf

addressing feedback

moving icons to icons2 & renaming stuff

trying to make this file the way it was before

missed out on updating these references

getting rid of the icons moved to icons2

This reverts commit be8552c0d3daaf7a7333cfeaf304d97c86d50d3e.

fixing mistakes

getting rid of the s

* this rename makes sense to me

* adding an alias to the view

* fixed broken up namespaces
2022-12-16 18:40:56 +05:30
Ajay Sivan 621e41e6ab feat: Added Dividers Date Component to quo2 (#14546)
* feat: Added Dividers Date Component  to quo2
2022-12-15 17:18:54 +01:00
Andrea Maria Piana 3e3a365ffb Enable waku2 by default 2022-12-15 12:39:49 +00:00
Ibrahem Khalil 4e6a37fdd0 Message input issues (#14450)
Message input issues (#14450)
2022-12-15 10:49:54 +01:00
Icaro Motta 08fb0de7b0 Remove old Notification Center (#14533) 2022-12-14 18:00:32 -03:00
pavloburykh f47bc6e40e e2e: new community tests 2022-12-14 10:07:46 +01:00
Jamie Caprani 6a05d43b75 chore: add some component tests (#14511) 2022-12-13 14:19:20 -08:00
Volodymyr Kozieiev 68ea7cdfc5 Communities now correctly listed in pending/joined sections. (#14515) 2022-12-13 20:55:32 +00:00
Icaro Motta 5693df5a74 Lint namespace aliases (#14526) 2022-12-13 17:04:26 -03:00
flexsurfer c7a371c104 move messages screen to status-im2 (#14530)
* move messages screen to status-im2
2022-12-13 13:27:13 +01:00
Parvesh Monu 11d02c1057 fix unread badge and add back button accessibility id (#14525) 2022-12-13 14:56:46 +05:30
Churikova Tetiana c13be92505 e2e: new activity center flow 2022-12-09 13:58:54 +01:00
Icaro Motta ae10908984 Set Activity Center as the new default (#14492) 2022-12-09 09:52:18 -03:00
Jamie Caprani 53ef1ef4b5 chore: refactor scroll page component to be more generic (#14453)
chore: refactor scroll page component to be more generic
2022-12-09 04:07:21 -08:00
yqrashawn bd84a36582 feat: new delete message (#14232) 2022-12-09 15:35:41 +08:00
Roman Volosovskyi 9be8a5b961 Add peers stats screen 2022-12-08 13:28:09 +01:00
flexsurfer 5ca46fe805 Bug/composer background fix (#14502)
* [#14385] Chat view freezes if open/close chat multiple times (iOS)
2022-12-07 17:36:26 +01:00
jakub 2f1c236333 ci: update Apple dev team ID to update the org
We are trasnferring the Apple app to the new Switzerland based Apple
development organization/team from the old Singapore one, and to make
this work we also need to update the development team ID.

This should fix the following failure:
```
Could not find App ID with bundle identifier 'im.status.ethereum'
You can easily generate a new App ID on the Developer Portal using 'produce':
```
https://ci.infra.status.im/job/status-mobile/job/platforms/job/ios/854/console

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2022-12-07 10:45:14 +01:00
Yevheniia Berdnyk f2fa3a1886 Fixed test_group_chat_pin_messages and moved to PR tests 2022-12-06 23:16:55 +02:00
Parvesh Monu e6628bd346 fix app crashing on opening community channel (#14499) 2022-12-06 23:16:28 +05:30
Icaro Motta 6e272a96c8 Introduce subscription tests (#14472) 2022-12-06 13:36:05 -03:00
flexsurfer da0f0d3a81 move messages main screen to status-im2 (#14491)
* move messages main screen to status-im2
2022-12-05 14:22:06 +01:00
frank f7af7ca25d Allow owner/admin to delete messages of a community (#14366) 2022-12-02 20:13:02 +08:00
Christoph Pader f3ad8beb6d fix: channel list-item not clickable (#14469) 2022-12-02 11:45:26 +01:00
yqrashawn 2e68fb22f5 feat: add display-name in author component (#14473) 2022-12-02 14:42:16 +08:00
Christoph Pader f18044c9dc Implement Token Gating (#13899)
* feat: implement token gating component

* fix: add .calva to gitignore
2022-12-01 13:30:07 +00:00
Jamie Caprani 5947769881 chore: update action drawer with designer feedback (#14465) 2022-12-01 03:58:50 -08:00
Parvesh Monu d4897de205 partially implement shell jump-to navigation (#14410) 2022-11-30 21:46:01 +05:30
Jamie Caprani d948939ce3 fix: adjust community cards on discover page (#14444)
fix: adjust community cards on discover page
2022-11-30 01:58:44 -08:00
Yevheniia Berdnyk 1000cb79a2 Creating users and getting names in parallel 2022-11-29 18:09:39 +02:00
Mohamed Javid f55b646c20 [Chore] Use common for repeated code (#14454)
* [Chore] Use common for repeated code

* [Chore] Removed empty file
2022-11-29 22:47:35 +08:00
Mohamed Javid bc7578ae85 [Feature] Added Mentions in Activity Center (#14451)
* [Feature][#14352] Added mentions in Activity Center

* [Update][#14352] Update in namespace

* [Update][#14352] Code Style

* [Update][#14352] Created commons for AC and fix warning on text
2022-11-29 21:55:33 +08:00
Omar Basem 49e9738ff8 Group Details Screen (2) (#14427)
* feat: group details screen (2)
2022-11-29 10:41:19 +04:00
Brian Sztamfater 9e1412007f fix: edit message
Signed-off-by: Brian Sztamfater <brian@status.im>
2022-11-28 10:21:50 -03:00
Icaro Motta c198133769 Update guidelines (#14445) 2022-11-28 09:58:36 -03:00
Jamie Caprani 6d5ff4aa92 chore: fix issues with e2e tests after refactors (#14440) 2022-11-28 03:17:12 -08:00
Jamie Caprani 0e614d51ef feat: add scrolling in community (#14281) 2022-11-28 02:24:31 -08:00
Icaro Motta 42de2a6384 Mark notifications as read based on call to action (#14439) 2022-11-25 16:10:29 -03:00
Ibrahem Khalil 3d71fdba98 [14429] Fix mentions (#14442) 2022-11-25 15:04:15 +02:00
Jamie Caprani 9de4417f03 chore: update nix config to reference babel.config.js file (#14436)
* chore: update nix config to reference babel.config.js file

* chore: update component test make command
2022-11-24 13:05:58 -08:00
Parvesh Monu 9e7db45d08 fix everyone is displaying as online in community channel and chat list (#14431)
also fixes issue with visibility status popover not opening
2022-11-24 19:45:27 +05:30
Omar Basem 14c243803f Photo Selector (1) (#14426)
* feat: photo-selector (1)
2022-11-24 15:29:54 +04:00
jakub e61889f16c ci: add missing suffix to android e2e builds
Fix for same naming of e2e and universal builds.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2022-11-24 10:23:28 +01:00
Parvesh Monu 1230594046 test build fix (#14435) 2022-11-24 14:50:57 +05:30
jakub 3fc1ba357e ci: bump jenkins lib to match desktop
Related to: https://github.com/status-im/status-desktop/pull/8420
Depends on: https://github.com/status-im/status-jenkins-lib/pull/53

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2022-11-23 19:48:55 +01:00
flexsurfer 3152cf0aa3 adjust navigation colors and small bugfixes (#14403)
* adjust navigation colors and small bugfixes
2022-11-23 17:30:11 +01:00
Jamie Caprani c6e8aad745 feat: add component tests using react-testing-library and jest (#14331) 2022-11-23 05:59:18 -08:00
flexsurfer bab0fc7ac0 move chats home (#14419)
* move chats home
2022-11-23 14:33:40 +01:00
frank 32d85d5059 Allow styling text in composer when selecting it with native actions (#14249) 2022-11-23 10:28:44 +08:00
Churikova Tetiana a9295ac17e e2e: test sections and fix 2022-11-22 17:44:28 +01:00
jakub 7dccbf2395 ci: separate buckets for mobile and desktop builds
Possible fix for slow upload speeds and failures caused by most probably
hitting per-bucket rate limits of DigitalOcean:

>- 500 total operations per second to any individual bucket.
>- 300 combined PUT, POST, COPY, DELETE, and LIST operations per second to any individual Space. We may further limit LIST operations if necessary under periods of high load.y

https://docs.digitalocean.com/products/spaces/details/limits/#rate-limits

Depends on: https://github.com/status-im/status-jenkins-lib/pull/52

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2022-11-22 16:55:59 +01:00
Brian Sztamfater 4a87122336 feat: author component
Signed-off-by: Brian Sztamfater <brian@status.im>
2022-11-21 15:46:56 -03:00
Roman Volosovskyi d18c3ad102 [#14381] Wrap texts with view to ensure separate accessibility labels 2022-11-21 15:40:29 +01:00
Icaro Motta e53f58d8c0 Fix various Activity Log layout issues (#14405) 2022-11-21 11:19:50 -03:00
Omar Basem 5492fb472f Group Details Screen (#14377)
* feat: group details screen
2022-11-21 16:03:49 +04:00
flexsurfer c08d58577d move quo preview (#14409) 2022-11-21 11:03:07 +01:00
Yevheniia Berdnyk 946640339a e2e: pin messages in 1-1 and group chats 2022-11-21 06:49:53 +02:00
Jamie CapraniandErik Seppanen 72d43ba745 Visual tests setup (#14329)
feat: configuration setup for visual tests

Co-authored-by: Erik Seppanen <esep@protonmail.com>
2022-11-20 15:46:04 -08:00
Icaro Motta f4d9162ff8 Fix reconciliation for new filter type :all (#14401) 2022-11-18 06:15:39 -03:00
Omar Basem 73bbfa7d31 Fix Metro Warnings ⚠️ (#14389)
* fix: metro warnings ⚠️
2022-11-17 21:19:54 +04:00
Mohamed Javid 84da3128bf [Fix] Activity Centre UI bug (#14398)
* [Fix] Activity Centre UI bug

* [Fix] Namespace update for config

* [Chore] Moved navigation to Activity Center as reframe event

* [Chore] Code Format
2022-11-18 00:15:49 +08:00
flexsurfer 3777ebc36e move communities 2 (#14394) 2022-11-17 16:43:02 +01:00
Roman Volosovskyi 4c6b4e2d02 [#14388] Re-enable bug reporting 2022-11-17 15:01:45 +01:00
Roman Volosovskyi e469d97702 [#14372] Fix message content type on editing 2022-11-17 08:23:53 +01:00
Roman Volosovskyi cf753a0892 [#14381] Add accessibility lables for chat key and timestamp in message 2022-11-17 07:16:30 +01:00
Icaro Motta 0f7ccce3df Implement identity verification flow (#14365) 2022-11-16 16:46:04 -03:00
Mohamed Javid 509ffc2a01 [Feature] Added messages skeleton (#14072)
* [Feature][#14025] Added Messages Skeleton while loading messages

* [Improvements][#14025] Added animation to message skeleton

* [Improvements][#14025] Changed to Reanimated2 for message skeleton animation

* [Chores][#14025] Removed unused code

* [Improvements][#14025] Added preview screen for messages skeleton

* [Improvements][#14025] Style update for messages skeleton

* [Chore][#14025] Indentation for message skeleton

* [Improvements][#14025] On Layout calculation cleanup

* [Fix][#14025] Added Skeleton on New UI only

* [Chore] Moved Message Skeleton to new UI

* [Feature][#14025] Added Message Skeleton on message gap

* [TEMP][#14025] Added delay of preloading messages for testing

* [Lint][#14025] Lint fixes for Message Gap component

* [Chore][#14025] Reanimated namespace update

* [Chore][#14025] React native namespace update

* [Chore][#14025] Rollback preload messages
2022-11-17 00:43:58 +08:00
John Ngei e44d4c83c0 communites home screen context actions (#14371) 2022-11-16 17:48:18 +03:00
flexsurfer cc733a379c move communities (#14384) 2022-11-16 14:09:16 +01:00
flexsurfer 803328dc4c move switcher (#14378)
* move switcher
2022-11-16 12:00:16 +01:00
Roman Volosovskyi 255049c312 Fix uniq :key warning on opening chat 2022-11-16 10:46:32 +01:00
flexsurfer 31b6e076be new structure continue, move utils, move fx macro to re-frame utils n… (#14373)
* new structure continue, move utils, move fx macro to re-frame utils namespace
2022-11-16 09:09:25 +01:00
frank 433f9185c8 Use WakuNodes in ClusterConfig for Waku V2 (#14283) 2022-11-16 00:27:19 +08:00
Andrea Maria Piana 04408af45c Fix logout & upgrade status-go 2022-11-15 15:17:59 +00:00
Omar Basem ea7548d54a Confirmation Dialog (#14348)
* feat: confirmation dialog
2022-11-15 17:34:38 +04:00
Andrea Maria Piana c7ac53fdd0 Add icons & mentions/unread counts to community list 2022-11-15 13:03:48 +00:00
Roman Volosovskyi 48f86ff862 [#14311] Fix icons in message actions bottom sheet 2022-11-15 13:29:12 +01:00
Parvesh Monu f408035f5e Improve shell animations (#14341) 2022-11-15 16:45:43 +05:30
Parvesh Monu 1228f4aa26 Add accessibility to components (#14359)
- chat name text component
- quoted message text component
2022-11-15 16:41:56 +05:30
Christoph Pader 2f4d8accae feat: implement selectors with blurred background 2022-11-15 10:44:17 +01:00
andrey b8bfb2df80 new structure fixes 2022-11-15 10:33:32 +01:00
andrey 4654402feb new structure fixes 2022-11-15 06:56:33 +01:00
Parvesh Monu e8c44632ab fix community channel back button (#14358) 2022-11-15 03:29:03 +05:30
flexsurfer c7d5e90882 introduce new project structure (first step) (#14356)
* introduce new project structure
2022-11-14 19:16:55 +01:00
Roman Volosovskyi 4353c4a40c [#14245] Fix read/unread notifications filter 2022-11-14 13:40:20 +01:00
Icaro Motta a77f662948 Document new guidelines (#14309) 2022-11-14 07:15:49 -03:00
Omar Basem 57526a45ad Bottom sheet missing actions (#14332)
* feat: bottom sheets
2022-11-11 17:02:39 +04:00
Omar Basem 8fc853373b Rename :main-icons2 to :i (#14335)
* chore: rename icons
2022-11-11 15:45:54 +04:00
Andrea Maria Piana 5e814b7a03 Add display name 2022-11-10 20:00:49 +00:00
Omar Basem 61fd5fd791 Chat user dp (#14314)
* feat: chat-user-dp
2022-11-10 18:26:57 +04:00
Andrea Maria Piana 466dfe56d7 Fix emoji reactions 2022-11-10 13:48:12 +00:00
Andrea Maria Piana 8aee25509e Restore bottom sheet for chats 2022-11-10 13:46:27 +00:00
flexsurfer 8168d224d3 quo2 core (#14319)
* quo2 core
2022-11-10 12:10:16 +01:00
Andrea Maria Piana aca296030c Show bottom sheet when recovering account 2022-11-10 09:11:58 +00:00
yqrashawn f5a61d9a8b chore: fix can't remove node 0 error breaking react-devtools (#14316) 2022-11-10 16:42:41 +08:00
flexsurfer 3c1c8a120d cleanup quo2 2, remove status-im usage (#14308) 2022-11-10 09:10:43 +01:00
yqrashawn 3925de58b1 chore: lint against re-frame dispatch/subscribe in quo components (#14282) 2022-11-10 10:22:42 +08:00
Richard Ramos 0f6022a731 chore: set gowaku build tags for status-go
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2022-11-09 18:47:15 +01:00
John Ngei a1c1be8f8a updated communities home and discover screen (#14018) 2022-11-09 15:41:34 +03:00
Andrea Maria Piana 01eae4da9c upgrade react native to 0.63.5 2022-11-08 19:50:36 +00:00
Roman Volosovskyi 77d0084467 Attempt to fix too long prefix for notification types 2022-11-08 19:13:56 +01:00
flexsurfer 5907edccc8 cleanup quo2 (#14301)
* cleanup quo2
2022-11-08 18:30:17 +01:00
Churikova Tetiana add00a5609 e2e: configurable datacenter 2022-11-08 10:35:05 +01:00
Omar Basem f17f57cc5e Messages home items (#14256)
* feat: messages home items
2022-11-08 13:01:02 +04:00
frank 187d147dc7 fix #14236 Sometimes profile pictures don't load (#14257) 2022-11-07 16:58:29 +01:00
pavloburykh b378d88aaf e2e: deep_link tests 2022-11-04 16:54:13 +02:00
Ibrahem Khalil 3b69e5873e Add members key to the chat-preview flow to show count of members on chat preview (#14274) 2022-11-03 12:10:01 +03:00
Andrej Česen 5e5ed0a11e Add code-snippet component (#14275) 2022-11-03 10:55:33 +03:00
Ibrahem Khalil bca2258508 Format numbers helper (#14186)
format number to 100000 -> 100k/ 1000000000 -> 1b/ 1000000 -> 1m
2022-11-03 10:33:34 +03:00
flexsurfer 7b739dff45 New icons (icons2) not working in token-tag component #14277 (#14280) 2022-11-01 14:58:33 +01:00
du64 ab1dd7e794 Fix typo (replace backtick with apostrophe) (#14255) 2022-10-29 17:24:29 +02:00
Churikova Tetiana 0967582639 e2e: non-latin 2022-10-28 15:54:08 +02:00
Icaro Motta 91b237d3d3 Fix unbounded number of calls to fetch notifications (#14250) 2022-10-27 16:21:41 -03:00
Icaro Motta 69303cd7d1 Implement positive button state (#14252) 2022-10-27 16:03:18 -03:00
Andrea Maria Piana b774ecbcb4 Add chat actions in home screen
This commit adds the following chat actions on the home screen:

- Mute chat
- Delete chat
- View profile (one to ones only)
- Clear history

It adds also integration tests for muting and deleting a chat.

To accommodate multiple dividers in the bottom sheet, the interface has
been changed to accept a sequence of sequences, instead of a map.
2022-10-27 17:53:30 +01:00
Roman Volosovskyi b492ed2969 [#14230] Reset :current-chat-id on pressing back from chat screen 2022-10-27 15:01:10 +02:00
Mohamed Javid 6d557d735a Activity Center UI Fixes (#14244)
* [Fixes] Activity Center UI Issues

* [Chore] Lint Fixes
2022-10-27 20:20:03 +08:00
Roman Volosovskyi f29ed58445 [#14230] Load newly received messages on reopening chat (ISSUE 1) 2022-10-27 11:13:22 +02:00
Churikova Tetiana 1941591110 new ui e2e: reaction and text message in 1-1 2022-10-26 17:14:25 +02:00
Ibrahem Khalil a91e9dfb38 Fix message showing behind message composer (#14238) 2022-10-26 16:40:46 +02:00
Omar Basem c423aa7970 Unpin messages (#14204)
* feat: pinned messages new ui
2022-10-26 17:18:50 +04:00
Icaro Motta 910bafc5f4 Display contact verification requests and allow users to decline them (#14223) 2022-10-26 07:48:07 -03:00
Omar Basem 2ae57f7b21 Messages contact requests (#14221)
* feat: messages contact requests
2022-10-26 10:42:53 +04:00
Jamie Caprani 14a5edb24b fix: adjust selectors to designs (#14214) 2022-10-25 01:50:39 -07:00
Parvesh Monu 0ff6fb25f4 Shell & Bottom Tabs Migration (#14099)
* Shell & Bottom Tabs Migration

* Added accessibility ids for elements in the new UI
2022-10-24 18:35:06 +05:30
flexsurfer 38c95804ae move reaction-drawer and fix some icons2 (#14211)
* move reaction-drawer and fix some icons2
2022-10-21 16:13:26 +02:00
Roman Volosovskyi d281ef8e21 [#14120] Remove Ropsten and Rinkeby test networks 2022-10-21 13:20:40 +02:00
Jamie Caprani 0826ef57f2 feat: add leave community feature to redesign (#14169) 2022-10-21 02:06:53 -07:00
jakub 41f2c08736 android: use projectDir for VERSION file path
Otherwise Android Studio can't find the relative path because it uses
`/` as it's working directory. Which makes no sense.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2022-10-21 10:20:28 +02:00
yqrashawn 2bfc57281a docs: run tests in repl (#14206) 2022-10-21 16:02:30 +08:00
yqrashawn 0cbd3ec805 feat: deleted for me message UI (#14168)
* feat: delete for me message UI

delete and sync deleted for me messages immediately after leaving chat
view

Signed-off-by: yqrashawn <namy.19@gmail.com>

* fix: system message width/height

Signed-off-by: yqrashawn <namy.19@gmail.com>

Signed-off-by: yqrashawn <namy.19@gmail.com>
2022-10-21 13:12:40 +08:00
Omar Basem 1b6eaec719 Show pinned messages ui2 (#14184)
* show pinned messages new UI
2022-10-20 22:52:55 +04:00
jakub 93f5b2e32c nix: fix shadow-cljs on M1 by upgrading to 2.11.16
On M1 calling `shadow-cljs` fails with:
```
Execution error (UnsatisfiedLinkError) at java.lang.ClassLoader$NativeLibrary/load (ClassLoader.java:-2).
/private/var/folders/__/x311ykg17rqgq2wyl4kn1pdr0001yh/T/jna8753030888504535661.tmp:
    dlopen(/private/var/folders/__/x311ykg17rqgq2wyl4kn1pdr0001yh/T/jna8753030888504535661.tmp, 0x0001):
        tried: '/private/var/folders/__/x311ykg17rqgq2wyl4kn1pdr0001yh/T/jna8753030888504535661.tmp'
            (fat file, but missing compatible architecture (have (unknown,i386,x86_64), need (arm64e)))
```
This is due to an outdeted dependency on JNA 3.2.2, which is pulled in
by `hawk` package which up until release `2.11.16` was a `shadow-clj`
dependency which was removed because it was:

>Only used to be used on macOS since it was slightly faster than the default
>JVM implementation. However in Big Sur it seems to cause issues and break
>completely or just be a lot slower.

https://github.com/thheller/shadow-cljs/commit/f3b89b5a

Dropped the explicit dependency on `org.clojure/core.async` to avoid:
```
WARNING: The org.clojure/core.async dependency in shadow-cljs.edn was ignored.
Default version is used and override is not allowed to ensure compatibility.
```

Resolves: https://github.com/status-im/status-mobile/issues/14196

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2022-10-20 17:54:02 +02:00
andrey 99bd5d80ea fix icons2 2022-10-20 15:06:43 +02:00
Ibrahem Khalil 1aaa9acc80 Fix tab not selecting and Error: No protocol method IDeref.-deref defined for type string: (#14194)
* Fix laziness and let defined in render
2022-10-20 14:04:13 +02:00
flexsurfer 258f92c691 icons2 (#14190) 2022-10-20 13:47:24 +02:00
Churikova Tetiana 180df967e8 e2e: move to EU datacenter 2022-10-20 10:07:29 +02:00
Omar Basem 153dbb2de1 Messages home tabs new UI in ui2 (#14183)
* feat: messages home new ui
2022-10-20 08:54:27 +04:00
Roman Volosovskyi c017c01c53 [#11335] Use Pokt network as an infura replacement 2022-10-19 17:00:17 +02:00
Icaro Motta 5d775d93fa Use native binary for the clj-kondo linter (#14179) 2022-10-19 09:54:01 -03:00
pavloburykh b39f56722a e2e: new tests 2022-10-18 19:50:23 +03:00
frank 7ac2e1aa20 replace web3-utils methods usage by status-go (#13940)
Signed-off-by: frank <lovefree103@gmail.com>
2022-10-19 00:05:07 +08:00
Omar Basem 3aaa7e4c4e feat: edit/delete/reply for emoji/sticker/audio (#13808)
* feat: edit/delete/reply, fixed unnecessary changes
2022-10-18 17:20:27 +04:00
Mohamed Javid c6ac899b44 Feature/blur activity center background (#14165)
* [feature][#14131] Blur view background for Activity Center

* [Improvements][#14134] Force Dark Mode on Activity Center

* [Rollback][#14131] Message Content in Activity Center

* [Fix][#14131] Touchable overlay preventing scroll

* [Fix][#14131] Sticky Header in Activity Center

* [Fix][#14131] Removed unused imports

* [Fix][#14131] Naming of components

* [Fix][#14131] Formatting of code
2022-10-18 16:56:40 +08:00
flexsurfer 00fbb0dee6 Introduce new ui2 namespace, move chat to new namespace and remove new UI toggle from UI (#14156)
* enable new ui by default, introduce new ui2 namespace, move chat to the new namespace
2022-10-17 15:44:48 +02:00
Ibrahem Khalil 094a7421c1 Account avatar component (#13700) 2022-10-17 13:58:52 +02:00
Jamie Caprani 62c6a0ea72 feat: add drawers - action drawers component to quo2 library (#14157) 2022-10-17 03:14:39 -07:00
John Ngei 7f54427df4 Fix: refactored token token to fix a bug (#14152) 2022-10-17 11:18:24 +03:00
Parvesh Monu ac9fb2fe4d fix ens name turns into public key while editing message (#14149) 2022-10-14 17:35:36 +05:30
yqrashawn 509b8bf3e1 fix: remove strict equal check on timer in delete for me test (#14159)
fix #14155
2022-10-14 11:06:41 +02:00
frank a74a44e492 Allow dApps to suggest change of RPC (EIP-3085 EIP-3326) (#13716) 2022-10-14 10:32:55 +02:00
Omar Basem af3ba74e30 feat: pinned messages new ui (#14147)
* feat: pinned messages new ui
2022-10-13 22:27:56 +04:00
Omar Basem 5492d502fc feat: autocomplete mentions new ui (#14142)
* feat: autocomplete mentions new ui
2022-10-13 21:59:19 +04:00
Parvesh Monu 7368478033 Implementation of Floating Shell Button (#14154) 2022-10-13 16:59:34 +05:30
yqrashawn bc050af9ed feat: delete for me logic without UI (#14007) 2022-10-12 21:21:20 +08:00
jakub d6a8f912ea nix: upgrade nixpkgs to latest nixos-unstable
Notable upgrades:

* Go `1.17.11` to `1.18.6`
* NodeJS `16.15.0` to `16.17.1`
* Clojure `1.11.1.1139` to `1.11.1.1165`
* Ruby Gem `3.2.26` to `3.3.20`
* Bundler `2.3.9` to `2.3.22`
* Git `2.36.1` to `2.37.3`
* Curl `7.83.1` to `7.85.0`
* OpenSSL `1.1.1o` to `3.0.5`
* PatchELF `0.14.5` to `0.15.0`
* Android SDK Platform Tools `33.0.1` to `33.0.2`

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2022-10-12 11:07:57 +02:00
jakub 6a23f64550 nix: re-add step to call bundler install
Was removed in:
https://github.com/status-im/status-jenkins-lib/pull/48

But only causes issues when version of Ruby Gems change.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2022-10-12 11:07:56 +02:00
jakub 4bbacf542c fastlane: update gems
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2022-10-12 11:07:55 +02:00
Ibrahem Khalil 6991f213af [#13569] Page Nav (#13773) 2022-10-11 15:01:28 +02:00
flexsurfer 35eae4587b clean deps and fix warnings (#14141) 2022-10-11 12:20:37 +02:00
Parvesh Monu 46fd30597a Implementation of Dynamic Button Component (#14127) 2022-10-11 14:10:54 +05:30
Icaro Motta af5f979443 [#13968] Fetch and reconcile notifications by type and read status (#14125)
- Extract tabs component from the main screen component to reduce rendering cost when switching tabs.
- Display empty state component when there are no notifications.
- Fix screen flickering due to quickly flushing and filling the db state.
- Display top bar as a sticky header.
- Namespace icon keywords.
- Correctly sorts notifications during reconciliation.
- Remove warning about children without unique key.
2022-10-10 16:33:42 -03:00
Omar Basem adfb0ddb5d feat: reply to message new ui (#14098)
* feat: reply to messsage new ui
2022-10-10 19:55:02 +04:00
Mohamed Javid 0a282b3a47 [Feature] Added floating button to scroll down in chat (#14129)
* [Feature][#14063] Added floating button to scroll down in chat

* [Fix][#14063] Crash on pressing floating button to scroll down in chat
2022-10-10 22:33:53 +08:00
Roman Volosovskyi 5f98e96d23 Use a single geth.log file for all networks on iOS 2022-10-09 16:09:18 +02:00
Churikova Tetiana 823fce2457 e2e: exception and new custom network 2022-10-07 00:31:34 +02:00
Jamie Caprani 1d5e1479f7 chore: add components to communities overview (#14108) 2022-10-06 09:32:45 -07:00
erikseppanen c2c281d9c6 [13939] Implement system message into quo2 components (#14061) 2022-10-06 10:59:39 -04:00
Parvesh Monu 1f6ebbb5e8 remove ens banner component (#14112) 2022-10-06 12:31:07 +05:30
Icaro Motta 73983b2abd [#13967] Displays filtering tabs and read/unread filter (#14105) 2022-10-05 14:44:37 -03:00
Ibrahem Khalilandjakub 390ac858dc Update starting guide doc (#14107)
* Update starting guide doc

* Fix bad placement of tut

* formatting and style fixes

Signed-off-by: Jakub Sokołowski <jakub@status.im>

* add adb link

Signed-off-by: Jakub Sokołowski <jakub@status.im>
Co-authored-by: Jakub Sokołowski <jakub@status.im>
2022-10-05 15:39:28 +02:00
John Ngei 69c49a5557 Renamed filter-tag/filter-tags to tag/tags and refactored token-tag tag to match figma naming (#14028) 2022-10-05 15:22:36 +03:00
Churikova Tetiana 2ed3b50663 e2e: dbs, improvements 2022-10-04 17:46:18 +02:00
Roman Volosovskyi 8dd75205f3 [#14021] Add goerli geth.log to logs archive on iOS 2022-10-04 13:33:33 +02:00
jakub 081f1a2115 ci: bump jenkins lib to use generalized nix library
Necessary so other repos can use the Nix functions.

Realted to:
https://github.com/status-im/nwaku/pull/1216

Depends on:
https://github.com/status-im/status-jenkins-lib/pull/50

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2022-10-03 15:43:11 +02:00
Parvesh Monu 99b2809532 Implementation of Top Nav Component (#14094) 2022-10-01 02:55:41 +05:30
Roman Volosovskyi 7f1e83672e [#13992] Delete account only after moving keys to keyacard 2022-09-30 11:20:32 +02:00
Jamie Caprani faaf6d5f94 feat: add disclaimer component to quo 2 library (#14084)
* feat: add disclaimer component to quo 2 library

* chore: move state of selectors to be internal
2022-09-29 08:28:32 -07:00
jakub 0e3b645695 scripts/fdroid-pr.sh: fix version name log message
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2022-09-29 12:54:48 +02:00
jakub bcf919fcbb nix: use android-sdk shell for fdroid-pr target
Also renamed `android-env` shell to `android-sdk` to be more descriptive.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2022-09-29 12:54:47 +02:00
Parvesh Monu f7fedf1338 fix quo2 colors and button component (#14083) 2022-09-29 13:51:22 +05:30
Jamie Caprani 7f71c01460 feat: implement selectors for quo2 (#14078)
* feat: implement selectors for quo2
2022-09-28 08:19:32 -07:00
Ibrahem Khalil b4d95b240d [issue-13557] Network breakdown and Network amount components (#13781) 2022-09-28 13:01:35 +02:00
Jamie Caprani 260f342bb7 fix: channel list mute icon now showing (#14079) 2022-09-28 02:14:38 -07:00
Parvesh Monu 20ac0eb2c7 Implemention of quo2 bottom-nav-tab (#14077) 2022-09-28 01:27:06 +05:30
Roman Volosovskyi 30e7ad585a [#14059] Show effective gas price 2022-09-27 20:53:44 +02:00
Icaro Motta ca144fbe1b [#13965 #13966 #13969] Implement accept/decline/open chat for contact requests (#14073)
Notification reconciliation is now implemented, which means new notifications
are "merged" with existing app db notifications. The original implementation was
not compatible with the way notifications are fetched by read/unread status.

Unit tests were written to cover event handlers in the new
status-im.activity-center.core namespace. New test utilities were added for two
main reasons: 1) reduce test clutter to arrange data, and 2) to spy on effects
to make sure they are dispatched correctly.
2022-09-27 10:05:03 -03:00
Brian Sztamfater ba1ff91cdd fix: appearance switch resets to old ui when new ui is activated
Signed-off-by: Brian Sztamfater <brian@status.im>
2022-09-26 12:06:42 -03:00
Brian Sztamfater 5fa203c6f2 feat: implement new message context drawer
Signed-off-by: Brian Sztamfater <brian@status.im>
2022-09-26 12:01:35 -03:00
Jamie Caprani 1fb71bdfc8 Jc/add channel list item (#14040)
* feat: add list item - channel component to quo2 library

* fix: adjust size and position of icon for lock in channel avatar
2022-09-23 07:55:34 -07:00
pavloburykh 1d3a44b933 e2e: fixed 702185 2022-09-23 16:42:04 +03:00
pavloburykh 9fea5c9704 e2e: e2e fixes 2022-09-23 13:05:55 +03:00
Churikova Tetiana 9a1f0a337e e2e: web3 2022-09-23 11:17:24 +02:00
jakub fac5301ace docs/FDROID: not to create the PR as draft first
Otherwise F-Droid reviewers can merge the PR before we have a final
release version ready with all the fixes included.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2022-09-23 11:13:39 +02:00
pavloburykh 3d2c6a9333 e2e: new e2e and fixes 2022-09-22 16:55:13 +03:00
flexsurfer 5422c02da3 [#14056] Error '1.20.0 (20220922040832) is not a function' when opening About screen (#14058) 2022-09-22 15:51:08 +02:00
Parvesh Monu d707230b17 dismiss keyboard inside quo2 screen on pressing outside (#14055)
also, fixes New component preview area isn't using the full width available (#13913)
2022-09-22 18:25:01 +05:30
Parvesh Monu e582ba4169 Add expire time to ens banner (#14057) 2022-09-22 14:58:54 +05:30
flexsurfer 2266d87ade subs refactor (#14054) 2022-09-21 16:03:06 +02:00
Parvesh Monu 147958dd13 Allow disabling Hermes engine by passing flag while building app (#14041) 2022-09-21 14:56:26 +05:30
andrey 17fd6df773 Revert "subs refactor (#14049)"
This reverts commit c4eeda5df0.
2022-09-21 07:02:45 +02:00
Brian Sztamfater 6794273dbf Integrate reactions to messages in the new UI
Signed-off-by: Brian Sztamfater <brian@status.im>
2022-09-20 16:31:45 -03:00
jakub c4da42b4d2 scripts/fdroid-pr.sh: fix typo in vars and directory
Doesn't affect functioning, but it's unsightly.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2022-09-20 20:23:47 +02:00
flexsurfer c4eeda5df0 subs refactor (#14049)
* subs refactor
2022-09-20 20:13:32 +02:00
jakub 17bb87bb87 nix: upgrade from 2.8.0 to 2.11.1
This also includes the fix for too low `LimitNOFILE`:
https://github.com/NixOS/nix/pull/6553

https://github.com/NixOS/nix/releases/tag/2.11.1

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2022-09-20 19:03:10 +02:00
Audrius Molis 36c4052039 Fix null pointer exception on password when migrating to a keykard by disabling the back button in process. (#13977) 2022-09-20 19:52:41 +03:00
Ibrahem Khalil 468d827aa2 [issue-13578] Dropdown component (#13866) 2022-09-20 18:32:58 +02:00
Siddarth Kumar f32781a8e9 add account-selector component to sandbox (#13816)
refactor to accomodate changes in colors ns

squashing everything

amending it

addressing feedback

using quo2/text component instead of rn/text

addressing feedback

fix namespaces

lint fix and removing unused resources

addressing design feedback

make lint happy

some animation progress in peaking accounts
2022-09-20 19:21:13 +05:30
Audrius Molis 8ba4f9ebae Migrate to API 31 for android (#14032) 2022-09-20 13:50:16 +03:00
jakub d97a7fb325 nix: drop KEYSTORE_PATH from extra-sandbox-paths
This is no longer necessary as we sign APKs in a separate step using the
`scripts/sign-android.sh` script, and this causes issues for F-Droid builds.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2022-09-20 12:11:47 +02:00
pavloburykh b47fdc6698 e2e: fixed failing e2e 2022-09-20 11:10:46 +03:00
Michele Balistreri 56cb2b747a bump keycard module
Signed-off-by: Michele Balistreri <michele@bitgamma.com>
2022-09-19 20:22:19 +02:00
Icaro Motta afbdb4c0b4 [#13964 #13962] Display contact requests (#14014) 2022-09-19 11:08:21 -03:00
Jamie Caprani 528d05eec1 fix: comment out context tag in communities redesign as its causing issues (#14029) 2022-09-19 11:57:40 +02:00
Parvesh Monu 0c83801209 Implementation of switcher cards (#13854) 2022-09-19 15:01:13 +05:30
Parvesh Monu 552c85d6c7 fix quo2 colors (#14006) 2022-09-19 14:34:45 +05:30
yqrashawn 6c135e2570 fix: remove annoying deref in lazy seq warning (#14033) 2022-09-19 10:04:02 +02:00
Mohamed Javid 8b809ec1bc [Feature][#13905] Added Divider Label Component
* [Feature][#13905] Added Divider Label Component

* [Improvements][#13905] Changed bg color for preview screen from Quo to Quo2

* [Fixes][#13905] Naming Conventions for Divider Label Component

* [Chore][#13905] Grouping for Divider-Label component

* [Chores][#13905] Component params cleanup

* [Fix] Removed unused namespace causing lint check to fail
2022-09-19 13:07:57 +08:00
Andrea Maria Piana bac2bb8b8e Use image server for all kind of images and integrate identity rings
https://github.com/status-im/status-go/compare/4cc53630...8c35fffd
2022-09-17 11:50:29 +01:00
frank 00a503bf84 Move abi-spec to status-go
https://github.com/status-im/status-go/compare/6f93913b...a182f3e6
2022-09-17 11:48:07 +01:00
Roman Volosovskyi 3e7f7232fb [#13933] Fix activity notification delition on message delition 2022-09-16 14:39:38 +02:00
Jamie Caprani 6992b625d6 feat: add ability to join open community in new-ui (#14001) 2022-09-15 07:44:16 -07:00
Mohamed Javid 5a55c6ccb2 [Feature][#13915] Added New Messages component
* [Feature][#13915] Added New Messages component

* [Feature] [#13915] Rename component new-messages to new-messages-header

* [Improvements][#13915] Using theme-colors for fetching light/dark colors

* [Improvements][#13915] Moved text to translations and added Quo2 colors for background

* [Fixes][#13915] Naming Conventions and Grouping for New Messages Component
2022-09-15 19:38:17 +08:00
jakub 38bbf84de4 ci: add wait for GitHub release to appear
Because somtimes upload is attempted so fast release doesn't exist yet:
```
+ github-release upload -u status-im -r status-mobile -t 1.20.0 -n StatusIm-Mobile-v1.20.0-cbe19b-arm64-v8a.apk -f pkg/StatusIm-Mobile-v1.20.0-cbe19b-arm64-v8a.apk
error: could not find the release corresponding to tag 1.20.0
```
https://ci.infra.status.im/job/status-mobile/job/release/job/release%252F1.20.x/

Depends on: https://github.com/status-im/status-jenkins-lib/pull/49

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2022-09-15 09:49:06 +02:00
jakub 74743630b7 ci: drop commonPrep function, call individual ones
This function did too many things, some of them unnecessary.

Requires: https://github.com/status-im/status-jenkins-lib/pull/48

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2022-09-14 16:43:59 +02:00
Ícaro Motta a489e07bd1 [#13895] Create new Activity Center screen (#13987) 2022-09-13 16:02:01 -03:00
Parvesh Monu 8205368e5c fix can't unpin message from popup (#13988) 2022-09-13 22:13:16 +05:30
Ibrahem Khalil aa0d9ba41f Channel avatar component (#13658) 2022-09-13 17:00:08 +02:00
Roman Volosovskyi 3e8ac1939e [#13981] Fix generate new key 2022-09-13 16:27:19 +02:00
flexsurfer b71853c92a [#13951] feat: merge favourites in saved addresses #2844 (#13993) 2022-09-13 15:51:31 +02:00
yqrashawn 9e2990152c fix: typography letter-spacing (#13960) 2022-09-13 15:24:09 +08:00
Ibrahem Khalil 94303a4a64 fix - add missing code for Lowest price component (#13985) 2022-09-12 20:01:41 +02:00
Emil Konstantinovitz 09e4df3cf7 [#13579] Added integration test for opening one-to-one chat (#13984) 2022-09-12 13:32:55 -04:00
Ibrahem Khalil f4bb6ec7d6 Lowest price component (#13645) 2022-09-12 19:22:16 +02:00
yqrashawn c0d136d140 fix: resolve token ens name in EIP-681 links from qr code (#13947) 2022-09-12 23:12:01 +08:00
Parvesh Monu e4feb36ccc Implement Preview lists component (#13830) 2022-09-12 17:44:20 +05:30
jakub 52a32861b1 ci: upgrade Xcode from 13.3.1 to 13.4
Xcode 14.0 is coming soon, and it's good to ugprade in smaller steps.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2022-09-12 12:31:06 +02:00
jakub 206deca961 nix: patch gomobile to sanitize xcrun output
This resolves issues with weird `status-go` build errors like:
```
cgo: C compiler "2022-09-07" not found: exec: "2022-09-07": executable file not found in $PATH
```
Such errors are caused by `xcrun` spewing warnings to `stdout`. The PR
to fix this issue permanently has been created but it might take a while
before it's merged.

Fix PR: https://github.com/golang/mobile/pull/84
Resolves: https://github.com/status-im/status-mobile/issues/13949

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2022-09-12 12:22:37 +02:00
yqrashawn d77c5f1be7 fix: messages gap component style (#13950) 2022-09-12 17:55:11 +08:00
Roman Volosovskyi 3fc5c89865 [#13855] Fix contact request decision status on Sync All 2022-09-09 13:53:47 +02:00
Jamie Caprani 994ec65218 chore: restructure quo2 menu page (#13959) 2022-09-09 02:25:37 -07:00
Icaro Motta bc40e5cb4b Correctly handle titles spanning more than 1 line 2022-09-09 00:39:44 -03:00
Icaro Motta 3060be023e Let the preview area extend to the max width available 2022-09-09 00:39:44 -03:00
Icaro Motta 8502834500 Improve activity log component
Also makes hot reload optional with environment variable
SHADOW_AUTOBUILD_ENABLED.
2022-09-09 00:39:32 -03:00
Churikova Tetiana 7cc3ea2af4 e2e: remove web3 dependencies 2022-09-08 16:27:38 +02:00
Jamie Caprani 28963acb09 feat: add community overview page (#13945) 2022-09-08 04:10:03 -07:00
jakub 079074abde ci: do not upload release builds to Diawi
Otherwise the upload fails with `400 Bad Request` due to size:
```
bundler: failed to load command: fastlane (/Users/jenkins/.bundle/ruby/2.7.0/bin/fastlane)
/Users/jenkins/.bundle/ruby/2.7.0/gems/rest-client-2.1.0/lib/restclient/abstract_response.rb:249:in `exception_with_response': 400 Bad Request (RestClient::BadRequest)
```
Because release builds are over 100 MB:
```
 > ls -l StatusIm-Mobile-v1.20.0-59567a.ipa
-rw-r--r-- 1 jakubgs jakubgs 104M Sep  7 15:50 StatusIm-Mobile-v1.20.0-59567a.ip
```
And the Diawi free account limit is 75 MB:
https://www.diawi.com/features-services

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2022-09-08 09:50:14 +02:00
Erik Seppanen b05787b0b2 [13857] Extend integration tests to recover multiaccount from seed phrase 2022-09-07 14:45:48 -04:00
Jamie Caprani 33aa595877 chore: restructure quo2 components (#13948) 2022-09-07 11:09:06 -07:00
Jinho Jang 402496b4dc Update translation (#13938) 2022-09-07 14:03:20 +02:00
Audrius Molis f524b47b8c Reduce recording time to 1 minute (#13944)
Signed-off-by: Audrius Molis <masta@dr.com>

Signed-off-by: Audrius Molis <masta@dr.com>
2022-09-07 13:19:12 +03:00
Parvesh Monu d7bbe1ceec fix keycard redundant screen (#13922) 2022-09-07 15:24:33 +05:30
Roman Volosovskyi 8b01a4ac6c [#13894] Update activity indicator on removed contact request 2022-09-06 20:34:58 +02:00
Roman Volosovskyi b9015c529b [#13894] Update activity indicator on removed contact request 2022-09-06 16:46:30 +02:00
Parvesh Monu 2909014e86 keycard confirm seed phrase screen remove back button (#13934) 2022-09-06 18:55:37 +05:30
Ibrahem Khalil d4b7e5c8b6 Fix crash when selecting avatar in context tags (#13923) 2022-09-06 13:11:19 +02:00
Ibrahem Khalil da62e0c533 [13524] React component (#13631) 2022-09-06 12:39:56 +02:00
Churikova Tetiana fed73ffa83 e2e: update six 2022-09-06 12:07:16 +02:00
flexsurfer 1d87957b04 [#13517] UI Component - Message Input (#13620) 2022-09-06 11:19:05 +02:00
Siddarth Kumar 7f50b56c26 fix icon missing regression (#13907)
This was a tricky one :P

removing un-necessary check of new-ui?

this is a better solution

The core issue was that when new-ui? was passed instead of the actual value just the key was passed
2022-09-06 13:27:39 +05:30
omahs 0495a9a0ba Fix: typos (#13937)
Fix: typos
2022-09-06 08:46:49 +02:00
Jamie Caprani 4a926a1943 chore: refactor communities code for reusabilty (#13921) 2022-09-05 15:39:12 -07:00
Parvesh Monu 409f81a6f5 fix ios keycard recovery pin error (#13924) 2022-09-06 03:53:12 +05:30
Ibrahem KhalilandParvesh Monu 0300070c5a RE: User avatar component (#13839)
* User avatar component

Rebase

* clean

* Add icons

* fix keycard account shown as regular account on theme change while login (#13918)

* rebase

* clean

* clean

Co-authored-by: Parvesh Monu <parvesh.dhullmonu@gmail.com>
2022-09-05 21:34:41 +02:00
Parvesh Monu a5ef9940da fix keycard account shown as regular account on theme change while login (#13918) 2022-09-05 21:17:39 +05:30
jakub 337a4d7d1c hooks: fix newline injection on MacOS
Because MacOS `sed` just needs newlines to be escaped differently.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2022-09-05 14:57:25 +02:00
jakub 8fe5e5f73c hooks: use AWK instead of jq for better portability
Some systems don't have jq installed, and using something like
`nix-shell` in the shebang would make this script noticeably slower.

We're not using `grep` because it lacks `-P` flag on MacOS.

Resolves: https://github.com/status-im/status-mobile/issues/13322

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2022-09-05 14:57:24 +02:00
Churikova Tetiana 7e94f534b6 e2e: update libs for Python 3.10 2022-09-05 14:08:43 +02:00
yqrashawn ccd26dcfd0 refactor: go through clj-kondo warnings (#13929) 2022-09-05 18:52:39 +08:00
jakub 1a3e89ea7a Revert "[13857] Extend integration tests to recover multiaccount from seed phrase"
This reverts commit c73ef111f8.

This test has been introduced in:
https://github.com/status-im/status-mobile/pull/13896/files

And has caused `status-go` segmentation faults:
```
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x20 pc=0x7fb109afac12]

goroutine 17 [running, locked to thread]:
github.com/status-im/status-go/services/ens.(*Service).Stop(...)
    github.com/status-im/status-go/services/ens/service.go:39
github.com/status-im/status-go/node.(*StatusNode).Cleanup(0xc004a89380)
    github.com/status-im/status-go/node/status_node_services.go:587 +0x112
github.com/status-im/status-go/api.(*GethStatusBackend).cleanupServices(...)
    github.com/status-im/status-go/api/geth_backend.go:1175
github.com/status-im/status-go/api.(*GethStatusBackend).Logout(0xc000e6b4a0)
    github.com/status-im/status-go/api/geth_backend.go:1146 +0xb9
github.com/status-im/status-go/mobile.Logout()
    github.com/status-im/status-go/mobile/status.go:398 +0x25
main.Logout()
    ./main.go:132 +0x19s
```
2022-09-05 11:01:02 +02:00
jakub 3f47fb6bf6 ci: use pipefail to actually catch test errors
Because otherwise when piping optput to `tee` the exit code that
affects the result of the whole `sh` call is the last command in the pipe.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2022-09-05 10:24:26 +02:00
yqrashawn bf346147e9 feat: add messages gap component (#13860) 2022-09-05 15:58:35 +08:00
jakub 6fa1729384 ci: tests build does not save any artifacts
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2022-09-01 16:17:48 +02:00
jakub 718e6cdbb3 ci: disable sandbox for status-go iOS builds
Otherwise we get weird failures like these:
```
clang-11: error: cannot use 'cpp-output' output with multiple -arch options
clang-11: error: invalid argument '-mmacos-version-min=10.12' not allowed with '-miphoneos-version-min=8.0'
clang-11: error: invalid argument '-mmacos-version-min=10.12' not allowed with '-miphoneos-version-min=8.0'
```
Depends on: https://github.com/status-im/status-jenkins-lib/pull/47

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2022-09-01 16:17:47 +02:00
Erik Seppanen c73ef111f8 [13857] Extend integration tests to recover multiaccount from seed phrase 2022-08-31 14:27:23 -04:00
jakub 70bf8452f7 ci: save and show both stdout and stderr
By using the `|&` operator we send both to `tee`.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2022-08-31 18:46:03 +02:00
Roman Volosovskyi 916d29e5c5 nhttps://github.com/status-im/status-go/compare/86054875...b87ecb20
[#13889] Ignore group chat color when not specified
2022-08-31 18:17:23 +02:00
Parvesh Monu bc57298e07 fix Adding/removing user from contacts duplicating their messages in profile (#13897) 2022-08-31 21:10:01 +05:30
Parvesh Monu 698e548c6d fix no icon for ETH in 1-1 transaction messages (#13898) 2022-08-31 20:49:33 +05:30
John Ngei 04b69181f2 New communities redesign (#13607)
* communities redesign

* added communnities screen for membership status

* updated communities redesign

* communities home redesign

* Removed unnecessary files

* Updated communities redesign
2022-08-31 15:49:57 +03:00
flexsurfer 5d9bcb3adb fix old stickers (#13901) 2022-08-31 12:54:30 +02:00
jakub ca8b721135 nix: fix order of iOS shell components
Possible fix for errors like:
```
bundler: failed to load command: fastlane (/Users/jenkins/.bundle/ruby/2.7.0/bin/fastlane)
/Users/jenkins/.bundle/ruby/2.7.0/gems/fastlane-2.205.2/fastlane_core/lib/fastlane_core/ui/interface.rb:153:in `shell_error!': [!] Shell command exited with exit status 51 instead of 0. (FastlaneCore::Interface::FastlaneShellError)
```

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2022-08-30 09:27:49 +02:00
jakub badf72af9f ios: bump Fastlane from 2.205.2 to 2.209.1 and pods
Also refresh Xcode project integration.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2022-08-30 09:27:48 +02:00
Erik Seppanen 45e47ad3d9 Extend integration tests to back up seed phrase (#13804) 2022-08-29 14:32:20 -04:00
Parvesh Monu 05219bd721 Implement react-native-hole-view (#13868) 2022-08-29 21:32:30 +05:30
Churikova Tetiana 327d456f69 notes: updated release notes 2022-08-29 13:54:45 +02:00
jakub 70da680c1b ci: fix keystore used when validating APK
Necessary to avoid validation errors due to missing release keystore.

Depends on: https://github.com/status-im/status-jenkins-lib/pull/46
Issue: https://github.com/status-im/infra-ci/issues/63

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2022-08-29 12:46:19 +02:00
andrey c56ebf74c1 1.20.0 release notes 2022-08-29 12:37:00 +02:00
andrey 1b77e15570 1.20.0 2022-08-29 11:23:05 +02:00
Jinho Jang c80f45b4a1 Update translation for 1.20 (#13729)
* Update translations

* temporary remove some translations for f-droid
2022-08-29 10:56:32 +02:00
Ibrahem KhalilandIbrahem Khalil 8352f622d6 [13562] Wallet user avatar component (#13681)
* wallet user avatar component

Conflicto

Clean

Mergo

* linting

Clean

* rename is-theme-dark?

* Conflicts resolve

Clean

* Linting

* comments

Clean

* rename colors

* Clean

* Lint

* Remove whitespace

* Clean

* Clen

* Improve colors and used quo2.text

Rebase

* Consistent coloring

Coloring

* Rebase

Rebase

* [13565] icon-avatar component (#13692)

* icon-avatar component

Rebase

* Add more colors

Clean

Clean

* Linting

Rebase

* clean podfile.lock

* Revert podfile

* Conflicto solvado

Add 20% opacity colors

* Comments

* Refactor to another folder

* Improve colors

* Lint

* Merge develop

Co-authored-by: Ibrahem Khalil <33176106+vampirekiddo@users.noreply.github.com>

Clean

Merge

Co-authored-by: Ibrahem Khalil <33176106+vampirekiddo@users.noreply.github.com>
2022-08-27 12:12:24 +02:00
Ibrahem KhalilandIbrahem Khalil 43861e0c15 [13565] icon-avatar component (#13692)
* icon-avatar component

Rebase

* Add more colors

Clean

Clean

* Linting

Rebase

* clean podfile.lock

* Revert podfile

* Conflicto solvado

Add 20% opacity colors

* Comments

* Refactor to another folder

* Improve colors

* Lint

* Merge develop

Co-authored-by: Ibrahem Khalil <33176106+vampirekiddo@users.noreply.github.com>
2022-08-27 11:16:04 +02:00
jakub 5df202753f drop unused coveralls configuration and CI steps
Depends on: https://github.com/status-im/status-jenkins-lib/pull/45

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2022-08-26 21:37:59 +02:00
jakub 1b8aea87b2 ci: use different IPFS gateway for release builds
https://github.com/status-im/status-go/compare/f43f43cc...86054875

Depends on: https://github.com/status-im/status-jenkins-lib/pull/44

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2022-08-26 20:02:27 +02:00
jakub 0a4d181477 ci: extrac Lint and Tests to separate job
This way we can make PRs depend only on successful tests, and not whole
builds for all platforms, which take 10 minutes or more.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2022-08-26 15:47:32 +02:00
Jamie Caprani 47a31ae0aa feat: add token tag component (#13599) (#13644) 2022-08-25 06:48:29 -07:00
Churikova Tetiana 976f58606c e2e: fixes 2022-08-25 13:29:41 +02:00
Roman Volosovskyi cdcaa68395 [#13835] Fix Generate keys button 2022-08-25 12:23:20 +02:00
Ibrahem Khalil 2b3d59e8c1 Issue-13813: Use new endpoints for browser (#13827)
* Bump browswer endpoints

https://github.com/status-im/status-go/compare/f43f43cc...924820c1

Rebase

Rebase

* Bump endpoints

* Bump status-go

https://github.com/status-im/status-go/compare/f43f43cc...f43f43cc

Rebase

* typo
2022-08-24 23:31:20 +02:00
Roman Volosovskyi 8e3258769e [#13672] Sync contact request decision 2022-08-24 17:11:23 +02:00
Siddarth Kumar 8f7c89ba33 upgrade async storage version (#13846) 2022-08-24 19:51:49 +05:30
Churikova Tetiana 62a4c40afa e2e: report fixes 2022-08-24 12:07:10 +02:00
Jamie Caprani 53770725e5 feat: add token overview component (status-im#13555) (#13767) 2022-08-23 21:14:46 +05:30
Parvesh Monu 53008b17a6 fix quo2 preview in release builds (#13829) 2022-08-22 15:58:45 +05:30
Andrea Maria Piana 526835fcf0 Use test dir 2022-08-19 16:50:22 +01:00
Siddarth Kumar be8db33349 refactor to accept background-color property (#13764)
Refactoring copyable-text component to accept background-color property.

Fix case of nil

Trying to sign
2022-08-19 20:50:45 +05:30
siddarthkay 2c1bfcd092 Add management for wallet connect sessions 2022-08-19 12:35:13 +01:00
diana 78b0bf0bda e2e:fix nightly 18/08 2022-08-18 17:15:10 +02:00
Erik Seppanen 0f23346172 Fix indentation
Signed-off-by: Erik Seppanen <esep@protonmail.com>
2022-08-17 08:18:22 -04:00
Erik Seppanen 94f73d2673 [#13791] Extend integration tests to create a new wallet account
Signed-off-by: Erik Seppanen <esep@protonmail.com>
2022-08-16 14:00:03 -04:00
Brian Sztamfater 51ab735e57 feat: edit message redesign
Signed-off-by: Brian Sztamfater <brian@status.im>
2022-08-16 13:01:59 -03:00
Roman Volosovskyi 24ef84b890 Fix disappearing of the last notification when paired 2022-08-15 13:05:13 +02:00
Erik Seppanen 959df25c02 [#13687] Extend integration tests to create a community 2022-08-12 14:18:49 +01:00
Parvesh Monu f1f9fa105c Implement ENS Banner View
Signed-off-by: Parvesh Monu <parvesh.dhullmonu@gmail.com>
2022-08-11 22:07:16 +05:30
Parvesh Monu c1ca92959c Information box component 2022-08-11 21:48:05 +05:30
Parvesh Monu 230005fd1b Info message component 2022-08-11 02:45:41 +05:30
Roman Volosovskyi b06d63d200 Remove contact request notification from activity center when request is canceled 2022-08-10 13:44:05 +02:00
Andrea Maria Piana 901081a4cf Allow running multiple integration tests 2022-08-10 12:11:22 +01:00
jakub 95af16f6ae generate-keystore: fix Permission denied error
MacOS permissions are stupid:
```
 > ls -l /dev/stderr
lr-xr-xr-x  1 root  wheel  0 Jun 20 20:45 /dev/stderr -> fd/2
```

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2022-08-10 02:21:13 +02:00
jakub 5903cf73fb nix: stop passing watchman socket to Nix builds
This passing of Watchman socket was implemented in order to avoid this:
```
Error: EMFILE: too many open files, watch
    at FSEvent.FSWatcher._handle.onchange (node:internal/fs/watchers:204:21)
Emitted 'error' event on NodeWatcher instance at:
    at NodeWatcher.checkedEmitError (/private/tmp/nix-build-status-mobile-build-nightly-android.drv-0/node_modules/sane/src/node_watcher.js:143:12)
    at FSWatcher.emit (node:events:527:28)
    at FSEvent.FSWatcher._handle.onchange (node:internal/fs/watchers:210:12) {
  errno: -24,
  syscall: 'watch',
  code: 'EMFILE',
  filename: null
}
```
Which is caused by `jest-haste-map` used by `metro` starting to watch
the filesystem for file changes, which is pointless when doing a
one-off build using Nix.

But by setting `CI=true` we can make `metro` not start this waching of
files in the first place, removing the need for use of Watchman entirely.

By entirely dropping use of Watchman we also fix the following issue:
```
[cli] unable to talk to your watchman on /tmp/tmp-status-mobile-ABC/jenkins-state/sock! (Permission denied)
```
Which happens on multi-user Nix installations becuase the user that the
Nix build is executed as is not the same as the user that starts
Watchman and creates the socket file.

Issue: https://github.com/status-im/status-mobile/issues/13783

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2022-08-10 02:21:12 +02:00
pavloburykh b565cbf85e e2e: fixed system back button click 2022-08-09 17:51:35 +03:00
Parvesh Monu a94797710a fix send button remains active in chats after sending reply containing a mention (#13774) 2022-08-08 22:18:59 +05:30
Andrea Maria Piana 6fb4969a0d Add context tags 2022-08-08 10:59:52 +01:00
phrohdoh d664535e65 fix: quo haptic impact light key (#13772) 2022-08-08 10:21:17 +02:00
flexsurfer e39277b739 custom networkid fix (#13765) 2022-08-05 16:24:33 +02:00
jakub 8ec2f23203 nix: pass OPENSEA_API_KEY via saveAccountAndLogin
Here the injection of OpenSea API key was done at compile time:
https://github.com/status-im/status-mobile/commit/aa72ac57

But this makes `status-go` builds impure, and also prevents them from
being extracted from `status-mobile` into `status-go` repo.

Instead we pass the `OPENSEA_API_KEY` env variable to JS bundle at build
time, which is then passed to `status-go` via the
`Statusgo.saveAccountAndLogin` call in `saveAccountAndLogin`:
https://github.com/status-im/status-mobile/blob/51174f84/modules/react-native-status/android/src/main/java/im/status/ethereum/module/StatusModule.java#L323-L327

Which sends `NodeConfig` that also contains `WalletConfig` which can
include `OpenseaAPIKey`:
```go
type WalletConfig struct {
    Enabled       bool
    OpenseaAPIKey string `json:"OpenseaAPIKey"`
}
```
https://github.com/status-im/status-go/blob/0135cc15/params/config.go#L510-L514

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2022-08-05 14:23:33 +02:00
Parvesh Monu ff1818d191 fix visibility drop-down alignment in new ui (#13760) 2022-08-04 23:07:03 +05:30
Parvesh Monu 13bacd4a1e fix error when switching dark/light mode while splash screen is shown (#13759) 2022-08-04 23:05:20 +05:30
Ícaro Motta cdbd85f116 [#13690] Fix visibility status color (#13747) 2022-08-04 11:48:47 +02:00
Brian Sztamfater 647dfc7e21 Reply component in chat input & quoted message redesign
Signed-off-by: Brian Sztamfater <brian@status.im>
2022-08-03 12:17:39 -03:00
yqrashawn a08c7ff22e feat: add repl support for cljs test (#13754) 2022-08-03 16:14:20 +02:00
yqrashawn 71211ee7b9 fix: set max option not work when send from qrcode (#13733) 2022-08-03 16:13:37 +02:00
Roman Volosovskyi c5bcb0123f [#13647] Update all setting on pairing with a new wallet account 2022-08-03 12:36:58 +02:00
flexsurfer f7b6a9065f fix tests (#13755) 2022-08-03 10:38:53 +02:00
Parvesh Monu 971d3ce818 Move automatic status updates timeout to status-go (#13602)
https://github.com/status-im/status-go/compare/4aa34139...60a49fc7
2022-08-03 04:53:23 +05:30
pavloburykh a18deec330 e2e: removed messages under today check in 5315 2022-08-02 18:00:54 +03:00
yqrashawn 98ca311a97 feat: lottie splash screen (#13714)
[#13714] feat: lottie splash screen
2022-08-02 12:48:12 +02:00
jakub 005acc946d drop unused zenhub github actions workflows
As far as I know we don't use Zenhub for anything anymore.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2022-08-01 16:11:38 +02:00
Parvesh Monu 8c9ccbb116 Switcher blurred background view (#13717) 2022-08-01 15:21:09 +05:30
yqrashawn d3235e4174 fix: typo (#13739) 2022-07-29 13:46:57 +02:00
Churikova Tetiana 8d96877e04 e2e: simpledapp on goerli 2022-07-29 10:03:51 +02:00
frank 8217cff62e fixes #13121, improve ethereum.send (#13724) 2022-07-28 16:37:51 +02:00
erikseppanen 1377ba3c1a Update IDE_SETUP.md (#13734)
Add IDE section for emacs
2022-07-28 15:29:52 +02:00
jakub d21dc7be79 github-bot: add TO REBASE column to config
Related to: https://github.com/status-im/status-mobile/issues/13497
Required by: https://github.com/status-im/status-github-bot/pull/55

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2022-07-27 17:05:24 +02:00
Parvesh Monu a2a76e99a2 fix bookmarks not syncing (#13727) 2022-07-27 20:20:47 +05:30
jakub c27a74e378 nix: quote path uses to avoid issues with spaces
This is most important on MacOS, but in general is a good idea.

Resolves:
https://github.com/status-im/status-mobile/issues/13715

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2022-07-27 16:11:28 +02:00
Yevheniia Berdnyk 46e5def13d Fixed xfail report and changed results posting 2022-07-25 23:37:15 +03:00
flexsurferandpavloburykh 8a29830625 [#13493] Can not switch to xDai chain (#13709)
* [#13493] Can not switch to xDai chain

* e2e: removed comments from xDai part of test 695890

Co-authored-by: pavloburykh <pavlo@status.im>
2022-07-25 12:59:12 +02:00
diana 694986682a e2e: new critical pairing tests 2022-07-22 18:47:26 +02:00
audriu 798c604848 Fix sync of blocked contacts (#13712)
https://github.com/status-im/status-go/compare/4aa34139...4aa34139

Signed-off-by: Audrius Molis <masta@dr.com>
2022-07-22 16:41:27 +03:00
pavloburykh 202a11961f e2e: replaced rinkeby by mainnet user in 702360 2022-07-22 16:09:26 +03:00
pavloburykh 001ad91009 e2e: removed xfail marks and replaced ropsten by goerly ens user 2022-07-22 15:45:29 +03:00
Churikova Tetiana 28a2113874 Goerli contracts, go-version bump: https://github.com/status-im/status-go/compare/3a46b051...3cd92fda 2022-07-20 16:03:42 +02:00
Parvesh Monu a07bc82c37 Fix community channel ens names are not resolved (#13675) 2022-07-19 19:13:41 +05:30
jakub 7d8a6b42e4 github: update repo name in issue templates
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2022-07-18 21:42:55 +02:00
jakub b42f3e14d5 github-bot: fix repo and job to be status-mobile
Fixes: https://github.com/status-im/status-mobile/issues/13685

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2022-07-18 21:42:54 +02:00
Andrea Maria Piana c15b143232 Check public key when sending a message
https://github.com/status-im/status-go/compare/6df20331...3a46b051
2022-07-18 20:19:45 +01:00
jakub 1f7fd17ff1 rename status-react to status-mobile
This way the name of the repo makes at least some sense and
matches the `status-desktop` repo naming.

Also updated `status-jenkins-lib` since it also contained
references to `status-react` repo and job names.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2022-07-17 14:46:16 +02:00
frank 61cb54fb8e fixes #13642: Cannot sign in on claim.lens.xyz
Signed-off-by: Parvesh Monu <parvesh.dhullmonu@gmail.com>
2022-07-15 20:32:53 +05:30
pavloburykh db45da3cdb e2e: removed unneeded send button click due to bugfix 2022-07-15 14:43:09 +03:00
Parvesh Monu f7459056bf Clear chat inputs after sending contact request (#13665) 2022-07-14 19:16:42 +05:30
Brian Sztamfater 22f92677fa Base chat dedesign
Signed-off-by: Brian Sztamfater <brian@status.im>
2022-07-14 09:45:11 -03:00
Parvesh Monu 236bbff493 Implement react-native-blur for android (#13663) 2022-07-14 17:27:04 +05:30
jakub 578e542a66 ci: use newly added disableConcurrentBuilds
https://github.com/jenkinsci/workflow-job-plugin/pull/200
Removes the need to use our own convoluted implementation:
https://github.com/status-im/status-jenkins-lib/blob/17c1d0ea/vars/jenkins.groovy#L6-L27

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2022-07-13 20:27:20 +02:00
pavloburykh d299c65720 e2e:fixed id, added mark xfail to blocked contacts tests 2022-07-13 15:59:43 +03:00
Parvesh Monu 08194b3c89 fix status-bar color for new ui (#13641) 2022-07-13 17:12:02 +05:30
Audrius Molis ec69ad6544 Remove old coverage status badge
Signed-off-by: Audrius Molis <masta@dr.com>
2022-07-13 10:42:40 +03:00
Churikova Tetiana 96b170a19d e2e: more logging 2022-07-12 17:14:32 +02:00
pavloburykh 12ba82844a e2e: new medium pairing tests 2022-07-11 14:20:11 +03:00
Brian Sztamfater ca98539d98 Revert "Base implementation for chat redesign"
This reverts commit ec3b4c032d.

Signed-off-by: Brian Sztamfater <brian@status.im>
2022-07-07 13:01:09 -03:00
Audrius Molis 33f6daff33 Remove blocker from contacts of user that he has blocked
https://github.com/status-im/status-go/compare/d17b076b...6df20331

Signed-off-by: Audrius Molis <masta@dr.com>
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2022-07-07 12:42:05 +02:00
Brian Sztamfater ec3b4c032d Base implementation for chat redesign
Signed-off-by: Brian Sztamfater <brian@status.im>
2022-07-06 13:43:13 -03:00
Vitaliy Vlasov 54b18b4cf9 Wallet sync for generated accounts
Signed-off-by: Vitaliy Vlasov <siphiuel@protonmail.com>
2022-07-06 19:40:00 +03:00
Michele Balistreri ca3db6b889 more reliable address comparison
Signed-off-by: Michele Balistreri <michele@bitgamma.com>
2022-07-05 18:18:49 +02:00
pavloburykh b136602322 e2e: fixed initial account name 2022-07-05 15:12:01 +01:00
Andrea Maria Piana 38af9e82d8 Add status-tags component 2022-07-05 15:11:57 +01:00
Michele Balistreri 2fcade5053 bump Keycard SDK
Signed-off-by: Michele Balistreri <michele@bitgamma.com>
2022-07-04 17:43:16 +02:00
Nikolayandartamonov.nikolay 13ae5dcc8c [#13395] Add some stylings for RPC stats page. (#13609)
Co-authored-by: artamonov.nikolay <nikolay.artamonov@arrival.com>
2022-07-02 13:11:59 +02:00
pavloburykh 934cecbdd6 e2e: mutual contact requests basic tests 2022-07-02 10:51:33 +03:00
Churikova Tetiana 89396bd93b Changes from status-go:
https://github.com/status-im/status-go/compare/22669d04...63d61197
2022-07-01 16:25:46 +02:00
Yevheniia Berdnyk ab1eb22f3a Bold text for xfail 2022-06-30 03:39:12 +03:00
Andrea Maria Piana 8a36ee8761 [Fixes: #13582] Increase cooldown on sending request 2022-06-29 16:48:17 +01:00
Parvesh Monu 7c3980a04e fix chat view margin (#13588) 2022-06-29 00:45:23 +05:30
Parvesh Monu 1047c26f69 Switcher and Bottom Tabs Animations and UI Performance Improvements
- Migrated Switcher animations to Reanimated V2
- Added bottom tabs & Stacks Animations
- Improved bottom tabs, tab changing performance
- Polished android & IOS UI
2022-06-28 23:51:24 +05:30
Parvesh Monu d9d3f2bb73 Implement React Native Reanimated V2 2022-06-28 23:51:23 +05:30
Churikova Tetiana d2aac6c905 e2e: fixes nightly failures 2022-06-28 17:54:14 +02:00
pavloburykh ff190c177a e2e: new tests automated 2022-06-27 16:37:17 +03:00
erikseppanen e9c0decd68 [#12566] Remove legacy dependency on mailserver password (#13511) 2022-06-27 13:40:18 +02:00
Churikova Tetiana 9f9b896eb7 e2e: ENS purchase in dapp 2022-06-22 16:27:46 +02:00
jo-mut 78033eedc9 Fix: share images bug that freezes app
Signed-off-by: jo-mut <johnmutuku628@gmail.com>
2022-06-21 00:10:57 +03:00
jakub 61653888f8 nix: upgrade gomobile to 2022-05-04 version
Possible fix fix failing `status-go` builds:
https://github.com/status-im/status-react/issues/13346

Other notable upgrades:

* NodeJS `16.15.1` to `16.15.0`
* Yarn `1.22.18` to `1.22.19`
* Clojure `1.11.1.1113` to `1.11.1.1139`

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2022-06-20 19:01:14 +02:00
Yevheniia Berdnyk e0373146da Possible fix for Sauce ConnectionResetError (#13501) 2022-06-20 18:28:23 +03:00
Andrea Maria Piana 7f8ad610f4 Handle backward compatibility in contact requests
https://github.com/status-im/status-go/compare/efa14805...22669d04
2022-06-20 10:46:34 +01:00
Audrius Molis 855f1aab03 Stop tracking VSCode config
Signed-off-by: Audrius Molis <masta@dr.com>
2022-06-20 10:35:37 +03:00
Yevheniia Berdnyk 62a3ed6138 Fix for stopping sauce sessions in teardown 2022-06-17 03:59:58 +03:00
Churikova Tetiana 25057b3968 e2e: nightly flaky fixes 2022-06-16 17:30:24 +02:00
Peter Strömberg 81f37e0a63 Update IDE setup docs, adding Calva
Signed-off-by: Audrius Molis <masta@dr.com>
2022-06-16 16:29:56 +03:00
flexsurfer 08fa0e6db9 feat: move eth_call to status-go #13323 (#13481) 2022-06-15 11:06:45 +02:00
Churikova Tetiana a141c75634 e2e: xfail mark 2022-06-14 17:03:36 +02:00
Audrius Molis 2325f6f59e Synchronise Sticker Pack setting fields
https://github.com/status-im/status-go/compare/772b8496...efa14805

Signed-off-by: Audrius Molis <masta@dr.com>
2022-06-14 17:25:49 +03:00
flexsurfer a93a3b6878 fix close chat on tab (#13472) 2022-06-14 15:15:33 +02:00
Parvesh Monu 430f322f95 Include UI toggle for all builds (#13464) 2022-06-13 21:15:59 +05:30
Andrea Maria Piana 707cf82b8b Use status-go settings for contact requests
https://github.com/status-im/status-go/compare/09ba88c1...cc80f575
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2022-06-13 13:50:21 +01:00
pavloburykh cbba1372b3 remove explicit join from group tests 2022-06-09 16:56:04 +03:00
frank 51174f8488 Use LoginWithConfig method to log in (#13414) 2022-06-09 14:42:36 +02:00
Ibrahem Khalil cc2b6ab80c Fixes #12192 -- Disable fetching more messages when status nodes are … (#13450)
* Fixes #12192 -- Disable fetching more messages when status nodes are disabled
2022-06-09 14:36:05 +02:00
Parvesh Monu beeb72a9d5 fix message sent state for audio and emoji messages (#13459) 2022-06-09 17:08:20 +05:30
jakub 789b24e3a4 nix: add script for adding missing Gradle packages
This handles the usual case where a missing Gradle version causes the
call to `make nix-update-gradle` to fail since call to Gradle also fails.

This is simpler than getting a dev to run commands manually.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2022-06-09 13:07:51 +02:00
flexsurfer f64a62e82d leave group chat fix (#13463) 2022-06-09 11:41:22 +02:00
Andrea Maria Piana 9bcbb580e1 Add login integration test
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2022-06-08 13:43:32 +01:00
Andrea Maria Piana aa71b830bc [Fixes: #13398] Remove explic join group chat
https://github.com/status-im/status-go/compare/ed67cc2a...09ba88c1

Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2022-06-08 11:58:49 +01:00
jakub 6dd1577b8a nix: cleanup status-go mobile build derivation
While working on Nix builds for `go-waku` I figured this derivation
could use some cleanup, to make it shorter and more readable.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2022-06-07 23:34:35 +02:00
Andrea Maria Piana 785386987b [Fixes: #13416] resize image in status-go as well, alert user if fails
https://github.com/status-im/status-go/compare/869942c0...ed67cc2a

Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2022-06-07 16:06:54 +01:00
Andrea Maria Piana ef8a7f3fd8 Use pre-install hook for generating node bindings
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2022-06-06 13:40:53 +01:00
Audrius Molis 366f235e31 Hide invitation link to group chats
Signed-off-by: Audrius Molis <masta@dr.com>
2022-06-03 16:02:24 +03:00
flexsurfer fe7a23b7f6 [#13355] Long time (5-15 sec) for loading chat messages (#13425)
https://github.com/status-im/status-go/compare/1bfde4c4cc69292875ae9fdc41a8b4bd29e95a7a...d35fab771a2dc44907768627ad862006483a7a18n
2022-06-03 13:38:22 +02:00
flexsurfer 5b7d0f81d4 fast image loading indicator (#13431)
* fast image loading indicator
2022-06-03 13:37:27 +02:00
Churikova Tetiana b18547c16e e2e: fix failures 2022-06-03 12:31:56 +02:00
jakub f402f67b09 nix: nixpgs upgrade, Android SDK fixes, Coreutils 9.1
Notable version changes:

- Coreutils `9.0` to `9.1`
- OpenSSL `1.1.1n` to `1.1.1o`
- NodeJS `16.14.2` to `16.15.1`
- Clojure `1.11.1.1107` to `1.11.1.1113`
- Ruby `2.7.5p203` to `2.7.6p219`
- Cocoapods `1.11.0` to `1.11.3`
- Git `2.35.1` to `2.36.1`
- Curl `7.82.0` to `7.83.1`
- Android SDK Platform Tools `31.0.3` to `33.0.1`

Most important is the Coreutils upgrade to 9.1 which includes a fix for
iOS builds on new M1 ARM64 processors:
https://github.com/status-im/status-react/issues/12799

Also fixes broken Android SDK builds on Linux due to `auto-patchelf-hook` change:
https://github.com/NixOS/nixpkgs/pull/163924

I've fixed this in `nixpkgs` PR:
https://github.com/NixOS/nixpkgs/pull/173376

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2022-06-03 10:33:41 +02:00
Parvesh Monu 12437e6b7c Fix App getting stucked on logout (#13427)
https://github.com/status-im/status-go/compare/1bfde4c4...869942c0
2022-06-02 22:38:48 +05:30
jakub b3a74ad7a5 use 8 char commits SHAs for status-go diff link
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2022-06-02 13:24:10 +02:00
jakub 7bf77efc87 add newline when creating status-go diff link
Otherwise Fugitive plugin in Vim complains about it.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2022-06-02 13:18:46 +02:00
flexsurfer 8ed1797f44 [#13433] Input field in chat view is not cleared after logging out (#13438) 2022-06-02 12:16:18 +02:00
Churikova Tetiana 117810cf44 e2e: final groups 2022-05-31 17:38:36 +02:00
jakub e2fabd2386 makefile: use default nix shell for building android
Otherwise `watchman` utility is unavailable for MacOS.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2022-05-31 12:03:21 +02:00
jakub 5d9a29b3c8 nix: cleanup of unused variables
Mostly achieved by running via `nix-linter`.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2022-05-31 12:03:20 +02:00
jakub bcf3e3205a nix: lock Go builders at 1.17.x
If we keep using specific `buildGo117Package` we can easily forge to
upgrade when we bump the Go compiler itself. By locking those explicitly
in `overlay.nix` we make sure they all get bumped together.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2022-05-31 12:03:19 +02:00
Parvesh Monu 8820f458c9 fix can't share deep link from profile on ios (#13420) 2022-05-31 15:29:28 +05:30
Brian Sztamfater 91f444ba80 Support mutual contact requests
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2022-05-31 09:23:24 +01:00
pavloburykh 3f4a424169 fixed ids for qr scan tests 2022-05-30 15:49:20 +03:00
Churikova Tetiana bc91512b71 e2e: nav fixes 2022-05-30 13:49:30 +02:00
flexsurfer a4b169efa3 [#13357] 'Unknown Not a contact' screen with endless spinner when starting new 1-1 or public chat / opening it via push notification (#13379) 2022-05-30 13:37:13 +02:00
Andrea Maria Piana e4cba0f663 Add status-go tests
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2022-05-25 17:59:02 +01:00
Parvesh Monu 1ccb01532e Implementation of new UI toggle (#13384) 2022-05-25 21:55:17 +05:30
Jinho Jang 8aee3cfbbd Update translations and add Hindi (#13373) 2022-05-25 07:32:14 +02:00
Mohamed Javid 7c4897f251 [feature] [#13099] Automatic RPC usage refresh (#13364)
* [feature] [#13099] Automatic RPC usage refresh
2022-05-24 14:23:48 +02:00
yevh-berdnyk 872a732c31 Test steps for groups 2022-05-24 05:57:24 +03:00
Churikova Tetiana 2ff57ec8cd e2e: all medium 2-driver e2e refactored 2022-05-23 17:30:24 +02:00
pavloburykh f41aa5bdea e2e: permissions-scan-qr group 2022-05-23 17:51:51 +03:00
jakub acfa73ab43 nix: build unsigned Android APK, sign separately
This has several benefits:

* Less abuse of `extra-sandbox-paths` Nix option
* Less inputs to the Android release build derivation
* Easier for users to sign the build themselves
* Simplification of `scripts/release-android.sh`
* Preparation for building using Nix Flakes

The only two remaining credentials passed via `extra-sandbox-paths` is
the Infura and OpenSea API keys, and there is no way around that other
than passing them via Nix arguments, but that would cause them to end up
in `/nix/store` as part of `.drv` files.

I'm also renaming `release-fdroid` to `build-fdroid` to be consistent.

Depends on: https://github.com/status-im/status-jenkins-lib/pull/42

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2022-05-21 11:10:11 +02:00
flexsurfer 8a01d02135 re-frisk 1.6.0 (#13380) 2022-05-20 12:31:54 +02:00
Parvesh Monu fa9a718c56 fix navigation default options overwrite (#13378) 2022-05-20 14:04:53 +05:30
Churikova Tetiana d31fca96a9 e2e: community, history nodes, profile 2022-05-19 15:41:44 +02:00
Parvesh Monu 1c8a805647 fix chat image long press issue (#13371) 2022-05-19 16:13:40 +05:30
andrey f39b688e89 google free and metrics free
Signed-off-by: andrey <motor4ik@gmail.com>
2022-05-19 07:22:23 +02:00
Vitaliy Vlasov 95be83756b Sync wallet accounts
https://github.com/status-im/status-go/compare/a244d776571cc73ea34d7a700cc5db36166ce832...a244d776571cc73ea34d7a700cc5db36166ce832
2022-05-18 17:59:18 +03:00
jo-mut b9f7e8758d share image messages to other apps
Signed-off-by: jo-mut <johnmutuku628@gmail.com>
2022-05-18 17:24:03 +03:00
jakub 43f7aaf8b1 nix: limit jobs used by parallel to update Gradle
Otherwise on some devices with with good connecitons rate limiting might
cause failures to fetch POMs or JARs and in result failing the whole update.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2022-05-18 11:03:29 +02:00
jakub 372942ba8a nix: fortify the nix-update-gradle process
This fixes two issues with the `nix-update-gradle` target:

* It now fails when a JAR is missing which used to be ignored.
* It ignores dependencies that have no JARs, like Eclipse plugins.

This makes the process more robust, since we can see something is
missing right away, and a developer may re-run the process to take
account of possible temporary networking failures or rate limiting.

It also slims down the size of the `deps.json` by removing dependencies
which contribute no actual JARs or AARs to the build process.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2022-05-17 20:04:04 +02:00
yevh-berdnyk 7991bbe958 KeyError 2022-05-17 06:22:03 +03:00
jakub b2695e0b24 nix: fix purge.sh script on Darwin platform
Darwin lacks `userdel` and Nix users don't appear in `/etc/passwd`.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2022-05-16 20:18:23 +02:00
andrey 2d6872976e discover token from status-go
Signed-off-by: andrey <motor4ik@gmail.com>
2022-05-16 16:00:44 +02:00
diana c3e599721f e2e: medium activity center 2022-05-16 11:07:23 +02:00
Churikova Tetiana 1354f5a1f4 e2e: medium pairing 2022-05-12 20:44:21 +02:00
Churikova Tetiana b83fe64b0f e2e: nightly fix for user 2022-05-11 20:23:59 +02:00
Audrius Molis 4909ec9854 Add settings and stickers synchronization
https://github.com/status-im/status-go/compare/640793fe85d9a9eef9eb3712cda1c5a1ceea401a...a244d776571cc73ea34d7a700cc5db36166ce832

Signed-off-by: Audrius Molis <masta@dr.com>
2022-05-11 17:42:31 +03:00
andrey 09d393dabe [#13331] Back button changes in chat view when scrolling (iOS)
[#13330] Wallet buttons are overlapped with tabs buttons in the individual wallet account view (iOS)

Signed-off-by: andrey <motor4ik@gmail.com>
2022-05-11 16:22:29 +02:00
jakub 8d62680abe ci: use improved method to get APK architectures
Detecting APK architectures using `apkanalyzer` tool
rather than just guessing based on build type.

Depends on: https://github.com/status-im/status-jenkins-lib/pull/41

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2022-05-11 14:57:00 +02:00
andrey 6448c24e14 call rpc cleanup
Signed-off-by: andrey <motor4ik@gmail.com>
2022-05-11 11:41:56 +02:00
Churikova Tetiana 1f164c811d e2e: launching by groups 2022-05-10 18:03:44 +02:00
Parvesh Monu b1606704f7 fix nickname not setted on adding contact (#13341)
* fix nickname not setted on adding contact

* QA changes
2022-05-10 19:48:44 +05:30
pavloburykh 81a8ed95a7 e2e: fix test_sticker_1_1_public_chat 2022-05-10 13:01:50 +03:00
Parvesh Monu 2a81814992 Switcher & navigation 2 foundation (#13167) 2022-05-10 15:08:19 +05:30
Churikova Tetiana bcdb3c4194 e2e: group chats 2022-05-09 21:43:01 +02:00
andrey 54c3030971 https://github.com/status-im/status-go/compare/640793fe85d9a9eef9eb3712cda1c5a1ceea401a...0048aaebcc7859a6f0dd7cdf0266fe029f3066fcn
[#13173] move stickers business logic to status-go

Signed-off-by: andrey <motor4ik@gmail.com>
2022-05-09 15:51:05 +02:00
jakub d765dd1f60 ci: use nix copy instead of nix-copy-closure
Also use `ssh-ng://` protocol implementation instead of `ssh://`.
Might fix the following error:
```
error (ignored): error: reached end of FramedSource
error: sized: unexpected end-of-file
error: unexpected end-of-file
```
For more details see: https://github.com/NixOS/nix/issues/6495

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2022-05-09 13:21:46 +02:00
jakub 777d0581ce nix: upgrade from 2.6.1 to 2.8.0
Minor upgrade done to match the version deployed in CI due to a bug
with `nix-copy-closure` which broken Nix cache jobs:
https://github.com/status-im/infra-ci/issues/49

This will not force upgrade on developes, nor require any `make nix-purge`.
If however and upgrade is wanted it can be simply done with `nix upgrade-nix`.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2022-05-07 11:24:58 +02:00
jakub 6f45b5c8e8 ci: upgarde to Xcode 13.3.1
App store now requires all applications to be built with XCode 13:
https://developer.apple.com/news/?id=2t1chhp3

Related: https://github.com/status-im/infra-ci/issues/48

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2022-05-06 19:27:22 +02:00
yevh-berdnyk e219aaf2b0 Fixed adding results to TestRail 2022-05-06 17:48:30 +03:00
Churikova Tetiana 44a449660a e2e: fixes 2022-05-06 16:07:16 +02:00
yevh-berdnyk 9891469c6f Changed adding TR results 2022-05-06 13:57:24 +03:00
pavloburykh 5e9738bb7d e2e refactoring: added test_deeplink_chat_profile medium group 2022-05-05 16:46:12 +03:00
Churikova Tetiana 39e3a82228 e2e: fix failures
Signed-off-by: andrey <motor4ik@gmail.com>
2022-05-05 13:52:48 +02:00
Churikova Tetiana 23a3825237 e2e: fix for ... 2022-05-05 12:32:20 +02:00
andrey 98f78ba50b [#13203] feat: move fetch prices to status-go 2022-05-05 12:32:20 +02:00
jakub 1b5f08d680 Gradle: drop unavailable JCenter Bintray from config
This repository has been shut down a year ago:

* https://jfrog.com/blog/into-the-sunset-bintray-jcenter-gocenter-and-chartcenter/
* https://testfairy.com/blog/jcenter-and-bintray-is-shutting-down-what-to-do/

And yet we still keep references to it in the Gradle config.

Resolves: https://github.com/status-im/status-react/issues/13320

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2022-05-05 11:50:50 +02:00
Churikova Tetiana 411fd843ca e2e: numprocesses and fixes 2022-05-04 18:27:42 +02:00
jakub 1e8d85983e nix: upgrade Nixpkgs, Go and Node.js
Notable software upgrades:

- Go `1.16.8` to `1.17.3`
- NodeJS `12.22.7` to `16.14.2`
- OpenJDK `8u272-b10` to `8u322-ga`
- Clojure `1.10.3.1029` to `1.11.1.1107`
- Git `2.33.1` to `2.35.1`
- CMake `3.18.1` to `3.22.3`
- Curl `7.79.1` to `7.82.0`
- GNU Awk `5.1.0` to `5.1.1`

The Go upgrade is done in advance of upgrade to `1.18.1`.
The Node.js upgrade is done since `12.x` security support [is over](https://endoflife.date/nodejs).

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2022-05-04 16:51:32 +02:00
Daniel Fernandes 960e338f48 Fixes status-im#13263
Signed-off-by: andrey <motor4ik@gmail.com>
2022-05-04 12:57:57 +02:00
andrey 8ac0823eef placeholder icons 2022-05-04 10:31:09 +02:00
andrey 1964200332 white line android fix
Signed-off-by: andrey <motor4ik@gmail.com>
2022-05-03 13:19:14 +02:00
jakub 2bab1325d8 ci: fix nix sandbox filename by adding random string
By using just the timestamp we increase the probability of hitting a
race condition with another build due to same filename of sandbox file.

Depends on: https://github.com/status-im/status-jenkins-lib/pull/40

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2022-04-27 15:07:26 +04:00
jakub d459f6c318 nix: upgrade Gems, Pods, and Gradle dependencies
This is done to help with debugging dependency issues in:
https://github.com/status-im/status-react/pull/13303

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2022-04-27 11:57:19 +04:00
Andrea Maria Piana 51b3358d91 Bump version to 0.98.5
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2022-04-26 12:59:47 +01:00
yevh-berdnyk acf7d1a1ad Updated TR report and failed tests ids for rerun 2022-04-25 16:36:03 +03:00
Roman Volosovskyi f6f80be30a [#13283] Fix syncing of adding contact after removal 2022-04-25 11:18:18 +02:00
Vitaliy Vlasov fbfab9fd3b Profile picture sync
Signed-off-by: Vitaliy Vlasov <siphiuel@protonmail.com>
2022-04-22 13:16:05 +03:00
Roman Volosovskyi 0c3097abb2 [#13257] Fix sync devices sorting 2022-04-19 12:51:20 +02:00
yevh-berdnyk fd6b14fccc Updated GH and TR reports
Signed-off-by: yevh-berdnyk <ie.berdnyk@gmail.com>
2022-04-15 00:55:40 +03:00
Roman Volosovskyi 60ce2ea5d7 https://github.com/status-im/status-go/compare/3050106595104c16083a8a155d7b2167e7fda798...9de4eb3c8af4b50e74ca70760053432365dbc873
[#13198] Backup deleted community
2022-04-14 19:37:55 +02:00
Churikova Tetiana b53b7b331a e2e: cleanup 2022-04-14 10:49:17 +02:00
jakub 87b87e0d95 android: drop com.android.vending.CHECK_LICENSE perm
This blocks submissions to F-Droid repository, and is not necessary.

https://stuff.mit.edu/afs/sipb/project/android/docs/google/play/licensing/adding-licensing.html
https://developer.android.com/google/play/licensing/client-side-verification#manifest-permission
https://raccoon.onyxbits.de/blog/android-permissions-explained-com-android-vending-check_license-210

As far as I cn tell this permission might be coming from [react-native-blob-util](https://github.com/RonRadtke/react-native-blob-util):
https://github.com/RonRadtke/react-native-blob-util/blob/e5a0bc274673d3bfcc08ad49d2218d0a9780c5b3/android/src/main/AndroidManifest.xml#L4-L5

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2022-04-14 10:37:16 +02:00
Parvesh Monu 31c5e708fe Fix yarn issue with rn-emoji-keyboard (#13270) 2022-04-13 16:24:38 +05:30
Churikova Tetiana 3447032d59 e2e: pairing group 2022-04-12 11:24:03 +02:00
pavloburykh 71526e9bd9 added resolve_ipns case to browser group 2022-04-12 12:02:31 +03:00
pavloburykh fec8e00645 e2e: resolved conflicts 2022-04-11 14:32:26 +03:00
jakub 0311983751 ci: upgrade Nix from 2.3.12 to 2.6.1
Due to changes in how Nix handles Git refs we need to specify
`refs/tags/` prefix in `package.json` to avoid the following error:
```
fatal: couldn't find remote ref refs/heads/v2.0.3-status-v6
error: program 'git' failed with exit code 128
```

I also had to rewrite some logic in `nix/scripts/source.sh` in order to
take account of single-user and multi-user installations.
We default to multi-user for Darwin, but not for any other OS due to
discovered issues with `nix-daemon` socket on Arch and open file limits.

I also rewrote `nix/scripts/setup.sh` and `/nix/scripts/purge.sh` to support
different types of installations. Both single-user and multi-user, as some
operating systems have issues with multi-user installations.

Resolves: https://github.com/status-im/status-react/issues/12832
Depends on: https://github.com/status-im/status-jenkins-lib/pull/37

Related changes:
* https://github.com/status-im/infra-ci/commit/84947b9f
* https://github.com/status-im/infra-ci/commit/bb98f5f3
* https://github.com/status-im/infra-ci/commit/f75d524d
* https://github.com/status-im/infra-ci/commit/d1fc92cd
* https://github.com/status-im/infra-ci/commit/87c4091e
* https://github.com/status-im/infra-ci/commit/8d6b6b3f
* https://github.com/status-im/infra-ci/commit/c4f13285
* https://github.com/status-im/infra-ci/commit/38ac698d

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2022-04-11 12:26:54 +02:00
jakub da76200433 nix: fix setup.sh script when running on MacOS
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2022-04-11 11:10:28 +02:00
Churikova Tetiana 56a1df03f0 e2e: 1 more group 2022-04-08 18:31:12 +02:00
Siddarth Kumar 2ddf4cf924 set image max width to avoid overflow (#13211)
squashed and merged
2022-04-08 21:11:43 +05:30
Parvesh Monu 6314038634 Add release notes for 1.19 (#13213) 2022-04-07 21:12:42 +05:30
Parvesh Monu ef95a59b0a Improve notifications life-cycle (#13248) 2022-04-06 23:06:17 +05:30
yevh-berdnyk cde0abd238 sauce sessions check 2022-04-06 14:26:02 +03:00
Roman Volosovskyi c9441b2db7 [#13201] Fix handling of favourits syncing 2022-04-05 18:13:06 +02:00
Churikova Tetiana 6aae08241d e2e: ens group 2022-04-05 17:24:03 +02:00
Roman Volosovskyi 4036e21f17 [#13235] Fix opening of the last shown chat with activated local notifications 2022-04-05 10:50:18 +02:00
andrey ba38f3ec74 turn off new wallet design
Signed-off-by: andrey <motor4ik@gmail.com>
2022-04-04 19:31:35 +02:00
andrey 12e3b74651 wallet redesign 2022-04-04 16:14:14 +02:00
Churikova Tetiana 784cb491ab e2e: nightly navigation fixes 2022-04-01 17:18:58 +02:00
Roman Volosovskyi 346574a494 [#13233] Proper message after clearing history in pubchat 2022-04-01 16:26:36 +02:00
diana 78864c099f e2e: backup tests for different user types 2022-04-01 12:17:15 +02:00
Parvesh Monu fd9b010662 Don't unmute contact while adding (#13237) 2022-04-01 14:36:50 +05:30
Churikova Tetiana 092b0ed427 e2e: 1-1 chat groups 2022-03-31 23:21:03 +02:00
Roman Volosovskyi 7a964fde29 [#13230] Show default syncing interval 2022-03-31 17:23:55 +02:00
siddarthkay c40094f2f9 squash and sign
lint fix

remove unused import and debug backgrounds

set width boundaries for long usernames in activity

fix lint and pass width from view

updated spacing to accommodate iphoneX

Signed-off-by: andrey <motor4ik@gmail.com>
2022-03-30 15:43:13 +02:00
andrey c4036aee09 [#13181] Cannot delete images or audio messages
Signed-off-by: andrey <motor4ik@gmail.com>
2022-03-30 15:42:31 +02:00
Parvesh Monu d086b86fd0 don't allow mentioning non-member contacts in public chat (#13227) 2022-03-30 00:25:46 +05:30
Churikova Tetiana 99c35da72a e2e: chat group in medium + testrail 2022-03-29 15:45:31 +02:00
Parvesh Monu fd89e73e07 fix screen orientation on android (#13218) 2022-03-28 21:36:23 +05:30
jakub 91e85a28f9 scripts/update-status-go: support commit SHA1
In some rare cases we might want to supply an exact commit rather than a
branch name or a git tag.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2022-03-28 17:44:16 +02:00
andrey d2bec183fd [#13220] ENS warning is not shown for affected multiaccounts after upgrade
Signed-off-by: andrey <motor4ik@gmail.com>
2022-03-28 13:28:33 +02:00
Samuel Hawksby-Robinson 79a5dcf61a Fix/torrent migration (#13217)
* bump status-go version to 0.97.2 (#13215)
https://github.com/status-im/status-go/compare/a3c60528ef6e077761a9beb7dd9c530123b7315f...e4acca1cc540b196f52f0bead9d3be2630440275

* bump status-go version to 0.97.3
2022-03-25 19:24:31 +00:00
Andrea Maria Piana d296da1c34 fix community preview
https://github.com/status-im/status-go/compare/9f7fc78def512929499bc2fa610f3b0e0ea1835b...a3c60528ef6e077761a9beb7dd9c530123b7315f
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2022-03-25 09:26:18 +00:00
Parvesh Monu b1dc1d871f quo2 counter component (#13182) 2022-03-25 01:31:13 +05:30
Parvesh Monu e4caa8f61a Bump release to 1.19.0 2022-03-24 15:00:59 +05:30
Samuel Hawksby-Robinson 21b21bb8ff Handle sync-settings
https://github.com/status-im/status-go/compare/f0d3e0419da9357a07b2ed97a2741095798812dd...9f7fc78def512929499bc2fa610f3b0e0ea1835b

Signed-off-by: Samuel Hawksby-Robinson <samuel@samyoul.com>
2022-03-23 21:35:59 +00:00
Churikova Tetiana 070bdc47ba e2e: more fixes 2022-03-23 17:28:16 +01:00
Churikova Tetiana 2d259db42d fastlane: update screenshots 2022-03-23 17:24:06 +01:00
Parvesh Monu 97bc388ad6 fix empty community in the community list (#13199) 2022-03-23 21:53:23 +05:30
jinhojang6 0a18f36623 Update translations
Signed-off-by: andrey <motor4ik@gmail.com>
2022-03-23 16:05:45 +01:00
Andrea Maria Piana 9485fe9ecf Backup communities
https://github.com/status-im/status-go/compare/12ccff417d95a0aef9736b811ea00341390dd1d5...f0d3e0419da9357a07b2ed97a2741095798812dd
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2022-03-23 14:48:38 +00:00
Churikova Tetiana 4b487f81f6 e2e: fixes
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2022-03-22 19:11:41 +01:00
jakub cd24bc013f nix: fix call to status-go derivation
New argument added to pass the `secretsFile` was not added here:
https://github.com/status-im/status-react/pull/13144

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2022-03-22 11:01:10 +01:00
Roman Volosovskyi aa72ac5747 [#13016] Pass opensea key from env
Signed-off-by: andrey <motor4ik@gmail.com>
2022-03-21 13:59:35 +01:00
andrey c650fa99d8 [#13171] "Update to latest version ..." in case of replying to image message
Signed-off-by: andrey <motor4ik@gmail.com>
2022-03-21 11:21:04 +01:00
Audrius Molis 1b9e139255 Fix sed command to work on mac
Signed-off-by: Audrius Molis <masta@dr.com>
2022-03-21 11:35:00 +02:00
Brian Sztamfater a7b0764759 Implement Wallet Connect 1.0
Signed-off-by: Brian Sztamfater <brian@status.im>
2022-03-20 20:40:31 -03:00
Andrea Maria Piana 60cfca1107 Move mailserver logic to status-go
https://github.com/status-im/status-go/compare/598b83757cc8b27e3374e50de02187eacf0d4280...d60a6713fe2a0ed0fdf03a0777a8cfa7391d7c56
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2022-03-19 09:01:21 +00:00
andrey c69b640810 comment out go hook 2022-03-18 09:31:45 +01:00
siddarthkay b0cc30d606 Squashed fix lint and store author width to its own variable
making sure that long usernames are broken in two lines

fixed nickname timestamp overlapping issue

Signed-off-by: andrey <motor4ik@gmail.com>
2022-03-17 11:56:24 +01:00
Brian Sztamfater bd7da02c25 Implement Wallet Connect 2.0
Signed-off-by: Brian Sztamfater <brian@status.im>
2022-03-17 03:46:38 -03:00
jo-mut ece2605cb9 Refactored: edit community chats different screen segments
Signed-off-by: jo-mut <johnmutuku628@gmail.com>
2022-03-17 01:30:40 +03:00
jo-mut 407454859b Refactored: edit community chats different screen segments 2022-03-16 19:59:03 +03:00
andrey 12221ea067 [#13164] Warning 'Registration process has finished in invalid state' is shown for any ENS while typing it in profile
Signed-off-by: andrey <motor4ik@gmail.com>
2022-03-15 09:09:56 +01:00
Churikova Tetiana 2ae875f82a e2e: browser group 2022-03-14 17:20:06 +01:00
Audrius Molis 8e85d15a86 Only create git hook whet it is absent
Signed-off-by: Audrius Molis <masta@dr.com>
2022-03-14 11:57:14 +02:00
andrey 9e126a7399 tabs component
Signed-off-by: andrey <motor4ik@gmail.com>
2022-03-11 13:12:13 +01:00
andrey a0254c0fa8 button component 2022-03-11 13:07:22 +01:00
andrey 72a0df6332 text component 2022-03-11 13:07:21 +01:00
Audrius Molis 08da76c22a Disable chat input for chats with blocked users
Signed-off-by: Audrius Molis <masta@dr.com>
2022-03-10 20:44:48 +02:00
Parvesh Monu 66482863c1 fix screen opens twice on app reopening in ios (#13157) 2022-03-10 19:20:50 +05:30
Churikova Tetiana a3f4673177 e2e: nightly fixes 2022-03-09 17:38:29 +01:00
Churikova Tetiana 55915a9176 e2e: tx users 2022-03-07 22:17:39 +01:00
pavloburykh 891d1e6360 improvements of testing gap 2022-03-07 20:24:49 +02:00
Audrius Molis 1eb956d562 Add changelog from status-go on upgrade #13090
Signed-off-by: Audrius Molis <masta@dr.com>
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2022-03-07 12:46:49 +01:00
Parvesh Monu cf606b921a remove deprecated react-native-dark-mode dependency (#13136) 2022-03-04 19:34:17 +05:30
Parvesh Monu e6f552e785 Fix ios simulator error when notifications enabled (#13145) 2022-03-03 15:54:33 +05:30
Churikova Tetiana 7f007f204f exclude tx 2022-03-01 18:00:51 +01:00
andrey a2497c81e7 [#13116] Load audio messages from http server
Signed-off-by: andrey <motor4ik@gmail.com>
2022-03-01 17:07:40 +01:00
Parvesh Monu 5fd7e35d99 add remote notifications preferences (#13129) 2022-03-01 01:29:40 +05:30
John M. Ngei a71ad6e1a8 stop showing notifications for muted chats
Signed-off-by: John M. Ngei <johnmutuku628@gmail.com>
2022-02-25 22:16:46 +03:00
Roman Volosovskyi e8e70143d2 [#13104] Fix deadlock on syncing all data 2022-02-23 21:17:44 +01:00
Churikova Tetiana 0769528dcd e2e: kk + nightly fixes 2022-02-23 16:56:39 +01:00
andrey aaf655abe4 [#13086] stateofus.eth ENS username is not connected with chat key after purchasing
Signed-off-by: andrey <motor4ik@gmail.com>
2022-02-23 13:24:51 +01:00
Churikova Tetiana c59089c7d3 e2e: wallet+send tx 2022-02-22 15:26:46 +01:00
Churikova Tetiana 37108c8ee3 e2e: fix communities 2022-02-17 17:55:37 +01:00
pavloburykh f220e0fed8 e2e: test gap in public chat 2022-02-17 15:46:29 +02:00
frank 606c3c05e7 Sync bookmarks
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2022-02-17 13:37:39 +00:00
diana 6cb48834ae e2e: automate backup of contacts 2022-02-17 13:52:33 +01:00
frank 7b7a86284b Sync clear history
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2022-02-17 12:44:55 +00:00
Churikova Tetiana cf734032f2 e2e: fix accesibility #13028
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2022-02-14 15:38:45 +01:00
Parvesh Monu 36c7d8e4ca Implementation of remote android notifications (#13028) 2022-02-14 17:27:33 +05:30
Marco Süß a8e4363e6b always use english for fallback text
Signed-off-by: andrey <motor4ik@gmail.com>
2022-02-14 09:04:35 +01:00
jinhojang6 bcf20c358c Update translations
Signed-off-by: andrey <motor4ik@gmail.com>
2022-02-14 09:02:34 +01:00
Churikova Tetiana d77701537a e2e: fix ens and tx tests 2022-02-11 18:05:06 +01:00
Michele Balistreriandandrey 52afbf46ee get images over HTTPS with self-signed certificate
Co-Authored-By: andrey <motor4ik@gmail.com>
Signed-off-by: Michele Balistreri <michele@bitgamma.com>
2022-02-10 18:41:10 +01:00
Parvesh Monu 9850dd5160 fix ens resolve issue while following deep link (#13080) 2022-02-10 00:21:47 +05:30
Parvesh Monu e59a2663f7 fix activity center unique constraint error (#13088) 2022-02-09 19:00:32 +05:30
Roman Volosovskyi e1e709220e [#12193] Stop showing fetch more button for cleared history 2022-02-09 09:53:36 +02:00
Roman Volosovskyi d5c865d092 [#9480] Fix cutting of the last char in blockquote 2022-02-08 21:17:02 +02:00
Audrius Molis f0302e7cbf [status-im#12603] Show short hash near build number in About page
Signed-off-by: andrey <motor4ik@gmail.com>
2022-02-08 15:34:56 +01:00
Roman Volosovskyi 8f52b9b63c [#12816] Better meesage on insufficient balance to cover fee 2022-02-08 15:29:02 +02:00
Churikova Tetiana 82916de15c e2e: 2 onboarding groups
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2022-02-04 18:18:15 +01:00
andrey 8ed9accbeb [#13070] No wallet is shown when switching on BSC network
Signed-off-by: andrey <motor4ik@gmail.com>
2022-02-04 14:52:32 +01:00
andrey c1a338c2dd [#13068] No error "Profile not found" if entering invalid public key in New chat field
Signed-off-by: andrey <motor4ik@gmail.com>
2022-02-04 10:36:10 +01:00
Churikova Tetiana 3745a8e2fe e2e: fixed missing geth
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2022-02-02 16:26:15 +01:00
Roman Volosovskyi 9fb81c3894 [#12783] Improve order of mailserver requests 2022-02-02 11:21:21 +02:00
andrey 8e560d313d [#13007] Move ENS logic to status-go
Signed-off-by: andrey <motor4ik@gmail.com>
2022-02-01 13:26:05 +01:00
andrey c0e30b459f [#13006] Use token list from status-go
Signed-off-by: andrey <motor4ik@gmail.com>
2022-02-01 13:23:24 +01:00
Churikova Tetiana b63117845a e2e: fixes, umbrella issue update
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2022-01-31 18:50:42 +01:00
Parvesh Monu fd894dc339 fix gradle google free variable (#13064) 2022-01-31 16:12:46 +05:30
andrey dc8cbcde56 [#13059] 'Cannot read property' error on scanning invalid key
Signed-off-by: andrey <motor4ik@gmail.com>
2022-01-31 09:39:52 +01:00
Churikova Tetiana 4bf393ec3d e2e refactoring: group and public chat 2022-01-27 21:58:28 +01:00
jakub b1780a7128 docs: add list of nix deps update make targets
Important now that we're onboarding more new devs.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2022-01-27 21:42:05 +01:00
andrey 82f7fbf7e4 [#12071] Some ENS names starting with 0x are not picked up as universal links
Signed-off-by: andrey <motor4ik@gmail.com>
2022-01-26 17:10:09 +01:00
andrey a6eee856cf [#13046] No value in 'Gas amount limit' field in NFT dapps by default
Signed-off-by: andrey <motor4ik@gmail.com>
2022-01-26 17:07:56 +01:00
andrey 136a6313cd [#13047] Profile QR code overlaps share menu during sharing (IOS)
Signed-off-by: andrey <motor4ik@gmail.com>
2022-01-26 06:57:26 +01:00
Churikova Tetiana 6a8f7a07bf e2e: skip AttributeError
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2022-01-25 12:20:21 +01:00
Roman Volosovskyi c6eb964b7c [#13034] Replace 'etherscan' with 'block explorer' in translations 2022-01-25 10:45:10 +02:00
Roman Volosovskyi 93d4dc8cb5 [#13038] Add error message to email template on crash 2022-01-24 16:55:47 +02:00
Churikova Tetiana 7bbb882ffa e2e: shared steps for session 2022-01-24 12:40:02 +01:00
Parvesh Monu 012b3e396e Fix advanced notifications translation (#13027) 2022-01-21 19:58:20 +05:30
Roman Volosovskyi bf92c51ce4 [#12919] Allow adding emoji to group intro message if it exceeds limit 2022-01-19 17:36:32 +02:00
Roman Volosovskyi eefc2ede81 [#12989] Use higher base fee value for default tx fee calculation 2022-01-19 14:14:05 +02:00
andrey 111064f747 [#13016] "No collectibles available" at attempt to get any existing collectibles
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2022-01-18 16:38:58 +00:00
Churikova Tetiana cfab672f63 e2e: more fixes
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2022-01-17 20:24:25 +01:00
Parvesh Monu 69221695b3 fix alert dialog background color (#13010) 2022-01-18 00:45:40 +05:30
Roman Volosovskyi c44e5bbb67 [#12919] Allowing adding emoji in status input even if it exceeds limit 2022-01-17 19:01:07 +02:00
Parvesh Monu 826dd32c40 Add group members to mentionable list and format code (#12994) 2022-01-17 18:47:09 +05:30
Churikova Tetiana 04b7357646 e2e: fixes
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2022-01-14 17:55:39 +01:00
Michele Balistreri 2c38c74c16 * update react-native-webview
* more robust send-to-bridge

Signed-off-by: Michele Balistreri <michele@bitgamma.com>
2022-01-14 13:49:06 +03:00
andrey eb7a6ce45a [#12991] Error when trying to edit 'per-gas price limit' on 1inch.exchange
Signed-off-by: andrey <motor4ik@gmail.com>
2022-01-13 11:05:23 +01:00
jakub 525577ab17 ci: specify nix version via agent label
Will make it easier and safer to upgrade Nix on CI hosts.

Also added architecture since we are starting to mix those.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2022-01-12 18:21:28 +01:00
Jonathan Ferreira (Johny) 83a7d3fafc Add/Fix rebase overwritten event (#12960)
* Add/Fix rebase overwritten event

* Remove membership invitation only option

* Fix lint findings

* Replace if w/ when condition

* Remove left over code

* Add/Fix rebase overwritten event

* Remove left over code

* Add correct message to community info
2022-01-12 14:05:44 +00:00
Churikova Tetiana 4318bb6431 github: update release umbrella issue
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2022-01-11 15:50:38 +01:00
andrey c466f96326 [#12535] Human Readable data display when signing using eth_signTypedData_v3
Signed-off-by: andrey <motor4ik@gmail.com>
2022-01-11 14:47:53 +01:00
andrey 130308fa8a [#12920] Unable to perform swap on 1inch.exchange if initial swap was cancelled by closing bottom sheet
Signed-off-by: andrey <motor4ik@gmail.com>
2022-01-11 14:47:22 +01:00
Churikova Tetiana a858918b80 Merge branch 'tests/pr-critical-high' into develop 2022-01-10 15:50:37 +01:00
Brian Sztamfater d5b8cde8e2 Add UBI token to the list of default tokens
Signed-off-by: Brian Sztamfater <brian@status.im>
2022-01-10 11:46:34 -03:00
Churikova Tetiana e5a30eaf1d e2e: critical or high in prs 2022-01-10 15:19:26 +01:00
Parvesh Monu b0fd58e9cb fix membership requests on synced devices (#12971) 2022-01-10 17:56:30 +05:30
Shivek Khurana eeb8db00f7 🔁 SWAP UI
CLJ Refactor x Hydra are cool. Add modal

Swap UI

Swap token input and gas slider in place

Asset selector sheets

WIP

Selector events

Tabs are back

Hide Swaps behind ff, add cards and modals for advanced settings

Fix lint issues

Signed-off-by: Shivek Khurana <shivek@status.im>
2022-01-05 23:57:51 +05:30
Churikova Tetiana 3499cdc123 e2e: update ci and made first group 2021-12-29 18:02:58 +01:00
Parvesh Monu 44b8a4c0f4 fix community invite link is not resolved (#12956) 2021-12-28 16:38:42 +05:30
Michele Balistreri e45f959c27 support PUK and seed recovery during onboarding
Signed-off-by: Michele Balistreri <michele@bitgamma.com>
2021-12-27 20:35:33 +03:00
Roman Volosovskyi cd86a1065b [#12936] Add accessibility-id to message timestamp 2021-12-27 13:44:21 +02:00
Parvesh Monu ffba396e4d fix distortion of app theme due to change in system theme (#12934) 2021-12-27 15:24:45 +05:30
Du Cheng 961692251c [#12930] Remove public chat references 2021-12-24 21:10:10 +02:00
Parvesh Monu 94fde74b88 Reorder community chats and categories using drag and drop (#12854) 2021-12-24 21:04:44 +05:30
Roman Volosovskyi 5402c217df [#12913] Properly handle syncing of pubchat delition/installation after offline 2021-12-24 17:03:34 +02:00
Parvesh Monu 4588dafe02 Open user profile from membership requests (#12950) 2021-12-24 20:27:30 +05:30
Parvesh Monu edbb06a7c3 Add community members to mentionable list (#12926) 2021-12-24 20:25:00 +05:30
Roman Volosovskyi 29a7e4dc1c [#12918] Show history gaps only in public chats and communities 2021-12-24 13:40:01 +02:00
Roman Volosovskyi de3c08ba18 Add sync history for 2 mins option for testing purposes 2021-12-21 21:42:42 +02:00
Churikova Tetiana e5ff46fdd5 e2e: fixes
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2021-12-21 14:58:41 +01:00
Churikova Tetiana be79a8e54c e2e: fix
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2021-12-17 14:48:24 +01:00
Roman Volosovskyi 36d96c6264 [#12912] Fix endless loading after removing messages in group chat 2021-12-17 12:44:08 +02:00
jinhojang6 340213ece5 Update translations
Signed-off-by: Shivek Khurana <shivek@status.im>
2021-12-17 15:54:06 +05:30
Churikova Tetiana 032a8786ff e2e: fixes
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2021-12-16 17:46:48 +01:00
Michele Balistreri 15d671275f avoid closing/opening NFC dialog in rapid sequence
Signed-off-by: Michele Balistreri <michele@bitgamma.com>
2021-12-16 18:32:08 +03:00
Ajay Sivan f3533c5f99 Show message timestamps on tap, remove from bubbles
Signed-off-by: andrey <motor4ik@gmail.com>
2021-12-16 13:15:35 +01:00
yevh-berdnyk b18d7b6a2a e2e: setup and teardown with shared drivers 2021-12-15 21:14:16 +02:00
Roman Volosovskyi 2c23ab4c5d [#12867] Add accessibility IDs to toggles for e2e 2021-12-15 18:57:25 +02:00
Roman Volosovskyi 646add59b8 [#12782] Re-open app on the last open chat 2021-12-15 13:45:42 +02:00
dependabot[bot] cd111aeeec Bump lxml from 4.6.2 to 4.6.5 in /test/appium
Bumps [lxml](https://github.com/lxml/lxml) from 4.6.2 to 4.6.5.
- [Release notes](https://github.com/lxml/lxml/releases)
- [Changelog](https://github.com/lxml/lxml/blob/master/CHANGES.txt)
- [Commits](https://github.com/lxml/lxml/compare/lxml-4.6.2...lxml-4.6.5)

---
updated-dependencies:
- dependency-name: lxml
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-12-13 19:45:32 +00:00
Roman Volosovskyi 81b60ce86c [#12907] Fix error on 'Accept and join' in referral chat 2021-12-13 16:42:08 +02:00
Roman Volosovskyi 356dd89147 [#12898] Fix endless loading in pubchats 2021-12-13 13:53:09 +02:00
Roman Volosovskyi a6102c1133 Fix unique :key warning on add pubchat screen 2021-12-13 12:59:03 +02:00
Andrea Maria Piana 7dfa93f2a2 Fix syncing public chats 2021-12-10 17:55:12 +00:00
Michele Balistreri c6271557b1 fix pairing for new cards
Signed-off-by: Michele Balistreri <michele@bitgamma.com>
2021-12-10 17:45:27 +03:00
Shivek Khurana d1f3a33194 Add 1.18 to RELEASES.MD
Signed-off-by: Shivek Khurana <shivek@status.im>
2021-12-09 15:46:55 +05:30
Shivek Khurana c6371bf3b3 Bump release to 1.18.0
Signed-off-by: Shivek Khurana <shivek@status.im>
2021-12-08 16:39:24 +05:30
jinhojang6 59bc7af00c Update translations 2021-12-07 17:14:40 +01:00
Michele Balistreri a5737856c0 sync leftovers
Signed-off-by: Michele Balistreri <michele@bitgamma.com>
2021-12-07 17:39:42 +03:00
Roman Volosovskyi 7d0944cfd1 [#12813] Remove POA network from the list 2021-12-07 13:08:31 +02:00
Roman Volosovskyi 099bcf8a17 Allow sending messages offline (non-datasync messages) 2021-12-07 12:25:26 +02:00
Churikova Tetiana 4504f07a2a e2e: small fixes
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2021-12-06 17:58:19 +01:00
Brian Sztamfater b5d8a641c6 Improve mention suggestions list
Signed-off-by: Brian Sztamfater <brian@status.im>
2021-12-06 10:45:49 -03:00
Parvesh Monu 11d3bf094a Decline pending group invites from user, when user is blocked (#12878) 2021-12-06 18:34:13 +05:30
Andrea Maria Piana 32c0f9719c [Fixes: #12869] Save contact on unblock 2021-12-06 11:46:29 +00:00
andrey b587a8f85e [#11895] No last message when opening chat but it was visible on chat-preview
Signed-off-by: andrey <motor4ik@gmail.com>
2021-12-03 12:15:19 +01:00
andrey 53d7d719f0 [#12858] [ANDROID] Changing screen orientation results in breaking images / layout
Signed-off-by: andrey <motor4ik@gmail.com>
2021-12-03 12:13:51 +01:00
Michele Balistreri 46c023920c sync activity center
Signed-off-by: Michele Balistreri <michele@bitgamma.com>
2021-12-02 17:27:57 +03:00
Churikova Tetiana 816f15f976 e2e: dependencies
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2021-12-01 18:41:05 +01:00
snyk-bot 853af40167 fix: test/appium/requirements.txt to reduce vulnerabilities
The following vulnerabilities are fixed by pinning transitive dependencies:
- https://snyk.io/vuln/SNYK-PYTHON-AIOHTTP-1584144

Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2021-12-01 16:10:39 +01:00
Andrea Maria Piana 153204ecb1 Add confirmation of p2p messages
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2021-12-01 13:00:56 +00:00
Roman Volosovskyi 62162c0f2a [#12848] Add an option to submit error report to GH 2021-11-30 16:13:36 +02:00
Roman Volosovskyi c7e66fb1aa [#12818] Support tx history (in a way) when on BSC chains 2021-11-27 11:03:01 +02:00
jakub 89d42b9ef4 nix: fix gomobile builds requiring Android SDK
This works fine on `x86_64`, but will fail when used on `aarch64`.

Issue: https://github.com/status-im/status-react/issues/12794

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2021-11-26 16:22:57 +01:00
jakub d0f76c5412 nix: upgrade nixpkgs to current master
Notable package upgrades:

| Software  | Old          | New           |
|-----------|--------------|---------------|
| Glibc     | `2.32`       | `2.33`        |
| BinUtils  | `2.35.1`     | `2.35.2`      |
| CoreUtils | `8.32`       | `9.0`         |
| OpenSSL   | `1.1.1k`     | `1.1.1l`      |
| Git       | `2.31.1`     | `2.33.1`      |
| GCC       | `8.4.0`      | `8.5.0`       |
| Clojure   | `1.10.3.855` | `1.10.3.1029` |
| Node.js   | `12.22.1`    | `12.22.7`     |
| Yarn      | `1.22.10`    | `1.22.17`     |

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2021-11-26 16:22:45 +01:00
Churikova Tetiana 3dc943c89e update release umbrella issue 2021-11-26 16:09:22 +01:00
Churikova Tetiana f5589c368c e2e: new tests + todos
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2021-11-26 15:18:29 +01:00
Roman Volosovskyi 469e082de1 [#12819] Fix network fee calculation on xDai chain 2021-11-26 13:25:09 +02:00
jakub a0430607d3 ci: specify macos host architecture in labels
Since now we have a 5th Gen Mac Mini with `arm64` M1 CPU.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2021-11-26 12:07:36 +01:00
Parvesh Monu 751b30688d Decline pending group invitations from user, when user is banned (#12835) 2021-11-25 21:09:10 +05:30
Parvesh Monu b4b39e5088 Change accessibility label as per online status (#12846) 2021-11-25 18:07:47 +05:30
andrey ae26024890 [#12837] Cannot remove value from the 'Custom nonce' field
Signed-off-by: andrey <motor4ik@gmail.com>
2021-11-25 08:04:56 +01:00
jakub 8b055cd3c3 ci: fix macos host label for pod updates
Job: https://ci.status.im/job/status-react/job/tools/job/run-pod-repo-update

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2021-11-24 20:54:46 +01:00
andrey c9c8263c9e [#12365] Spin of death on adding custom NFT token contract
Signed-off-by: andrey <motor4ik@gmail.com>
2021-11-24 12:36:47 +01:00
andrey 4000abfd0a [#11964] "TypeError: Network request failed" when switching to Goerli network
Signed-off-by: andrey <motor4ik@gmail.com>
2021-11-23 17:44:03 +01:00
andrey 995a647a34 [#12827] Can't send transaction with custom nonce as it is overlapped by keyboard
Signed-off-by: andrey <motor4ik@gmail.com>
2021-11-23 11:46:45 +01:00
Andrea Maria Piana fdadee6cef update statusgo
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2021-11-22 11:20:56 +00:00
Churikova Tetiana 27f1feeaf6 e2e: catch testrail error
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2021-11-19 18:28:29 +01:00
Parvesh Monu debf3df61c Allow user to be reinvited to the same group after leaving (#12814) 2021-11-19 20:28:42 +05:30
Churikova Tetiana ebf2ad206e e2e: new checks, formatting 2021-11-18 16:16:48 +01:00
Michele Balistreri b919df6d6b better NFC timeout handling on iOS
Signed-off-by: Michele Balistreri <michele@bitgamma.com>
2021-11-18 14:57:01 +03:00
andrey 437d58f827 use react-native-fast-image for stickers
Signed-off-by: andrey <motor4ik@gmail.com>
2021-11-17 15:44:27 +01:00
andrey d0d9960f8d [#12807] add ENS erc20 token to the list
Signed-off-by: andrey <motor4ik@gmail.com>
2021-11-17 13:20:46 +01:00
Parvesh Monu db9d1a1251 Remove chat from activity center after opening from public chat (#12815) 2021-11-16 21:40:53 +05:30
andrey c16b0860ec custom network symbol
Signed-off-by: andrey <motor4ik@gmail.com>
2021-11-16 12:43:31 +01:00
jakub f448f014f6 nix: update gradle dependencies
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2021-11-16 11:25:07 +01:00
jakub 43da5a60fe nix: make url2json.sh parse POM content for packaging
Otherwise we can download a JAR when an AAR is necessary.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2021-11-16 11:12:06 +01:00
Churikova Tetiana 41496d5ce3 e2e: waku align
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2021-11-16 10:39:11 +01:00
Michele Balistreri 4349f2659e use a default pairing password for Keycard
Signed-off-by: Michele Balistreri <michele@bitgamma.com>
2021-11-16 08:31:41 +03:00
Andrea Maria Piana e125164273 [Fixes: #12550] Backup contacts through waku
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2021-11-15 18:55:59 +00:00
jakub 179f1d26ae nix: remove obsolete references to Nimbus sources
This used to be a project to integrate Nimbus with mobile, but it was abandoned.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2021-11-15 13:17:30 +01:00
jakub bdfb7e296b nix: fix status-go override not passing to Nix build
Incorrect reference to `nimbus.src-override` causes Gradle builds to fail with:
```
Caused by: org.gradle.internal.resolve.ModuleVersionResolveException: Could not resolve status-im:status-go:e940434.
```
Due to this `if` clause not triggering:
https://github.com/status-im/status-react/blob/a573ae70e52e3c764b7a79a346c6114d01de458e/modules/react-native-status/android/build.gradle#L4-L8

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2021-11-15 12:11:11 +01:00
andrey a573ae70e5 [#12760] Add Binance Smart chain as main network
Signed-off-by: andrey <motor4ik@gmail.com>
2021-11-12 10:40:24 +01:00
Shivek Khurana 345ae29ddb Added svg support for nfts
Signed-off-by: Shivek Khurana <shivek@status.im>
2021-11-12 14:29:14 +05:30
Roman Volosovskyi 7359c52af1 Bug reporting and logs sharing improvements 2021-11-11 20:29:35 +02:00
Roman Volosovskyi 2c8276f353 [#11889] Allow snding messages offline 2021-11-11 16:31:20 +02:00
startgo 3ccdee2b9d Update zh_TW.json
修正一些顯示為簡體的字 Update some words to traditional chinese

Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2021-11-11 14:41:13 +01:00
Churikova Tetiana 97a106a025 e2e: geth log in failed tests + new checks for PNs
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2021-11-11 14:27:58 +01:00
Parvesh Monu 7754f0b6a5 fix community category reset on edit channel (#12804) 2021-11-09 16:14:25 +05:30
Parvesh Monu e16f7161c3 fix activity center community invite preview (#12803) 2021-11-08 19:22:28 +05:30
Jakub 9b5cbf8258 nix: avoid nesting of Nix shells, show errors (#12796)
Nesting of Nix shells does not work, since we have no way to safely do
that without starting an infinite loop of nested Nix shells.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2021-11-05 12:59:33 +00:00
andrey 51bebf1483 fix eth_chainId
Signed-off-by: andrey <motor4ik@gmail.com>
2021-11-04 17:10:47 +01:00
Parvesh Monu b758b70733 Community categories reorder and persist open/close state (#12758) 2021-11-04 18:58:12 +05:30
andrey 21c9248536 [#10142] Add possibility to select wallet for ENS names
Signed-off-by: andrey <motor4ik@gmail.com>
2021-11-03 16:30:06 +01:00
andrey 9b3fb2ac69 fix custom fee bottom sheet
Signed-off-by: andrey <motor4ik@gmail.com>
2021-11-02 16:32:32 +01:00
andrey dd3ded8656 [#12530] Scrolling issues on the 'Max priority fee' bottom sheet 2021-11-02 16:32:24 +01:00
andrey 8dc6d8d467 fix status-bar on Android
Signed-off-by: andrey <motor4ik@gmail.com>
2021-11-02 12:19:21 +01:00
Roman Volosovskyi adca53f3ec [#12531 pairing] Sync read messages 2021-11-02 12:30:21 +02:00
Roman Volosovskyi 9035954f8b Export unencrypted db on iOS 2021-11-01 14:08:54 +02:00
Parvesh Monu 1034d542db Online Status Indicator (#12716) 2021-10-29 21:55:01 +05:30
Churikova Tetiana ec319974bd e2e: new checks and fixes
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2021-10-29 15:21:49 +02:00
Samuel Hawksby-Robinson 0469419f9a Added release notes for 1.17
Signed-off-by: Samuel Hawksby-Robinson <samuel@samyoul.com>
2021-10-29 13:54:30 +01:00
Shivek Khurana b1daf12486 🙅🏻 Add warning and disable option if no profile pic added
Remove warning from list screen

Signed-off-by: Shivek Khurana <shivek@status.im>
2021-10-29 13:17:22 +05:30
andrey c6f041f0c5 [#12750] Show warning when adding ENS name for wallet account
Signed-off-by: andrey <motor4ik@gmail.com>
2021-10-28 16:23:47 +02:00
Parvesh Monu 9a2987da60 fix emoji keyboard height for ios devices (#12759) 2021-10-28 17:41:06 +05:30
jakub 3f7b985e1a nix: update gradle dependencies
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2021-10-26 15:40:25 +02:00
jakub edb3ed4ed2 nix: upgrade go-maven-resolver to 1.1.2
Fixes and issue with HTML entity characters in POMs.

https://github.com/status-im/go-maven-resolver/pull/6
https://github.com/status-im/go-maven-resolver/releases/tag/v1.1.2

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2021-10-26 15:39:55 +02:00
jakub 200eb189ea nix: fix use of androidPkgs in gradle shell
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2021-10-26 15:39:54 +02:00
Churikova Tetiana ed609674d3 e2e: improved logging in views
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2021-10-25 18:06:12 +02:00
Brian Sztamfater 40b5c23b54 Fix react-native-share linking
Signed-off-by: Brian Sztamfater <brian@status.im>
2021-10-25 09:21:41 -03:00
andrey 77e593572f [#12744] Issue using app.ens in browsee
Signed-off-by: andrey <motor4ik@gmail.com>
2021-10-25 14:04:11 +02:00
andrey c4aac1478e fix chat toolbar
Signed-off-by: andrey <motor4ik@gmail.com>
2021-10-25 11:41:33 +02:00
Churikova Tetiana 3a7fecf5ce e2e: fixes and update
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2021-10-22 19:29:07 +02:00
Parvesh Monu 7d6bee9099 Identify New Chats (#12654) 2021-10-22 14:48:58 +05:30
andrey 45c1896717 [#12599] Clicking on 3 word user name does nothing
Signed-off-by: andrey <motor4ik@gmail.com>
2021-10-21 14:38:46 +02:00
andrey cd30a04626 [#12731] Blank space in place of 1-1 chat with a blocked user on the home screen
Signed-off-by: andrey <motor4ik@gmail.com>
2021-10-21 14:31:35 +02:00
Roman Volosovskyi 8f5d3df215 [#12720] attempt to fix crash on accepting starter pack 2021-10-21 13:30:33 +03:00
Andrea Maria Piana 2ff4f5aba4 Hide transaction management
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2021-10-20 19:28:09 +01:00
Andrea Maria Piana 84ccbbbdf7 Send profile pictures in private chats
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2021-10-20 19:22:21 +01:00
andrey 760b021b8a [#12718] Endless spinner when signing TX with custom nonce (Keycard account only)
Signed-off-by: andrey <motor4ik@gmail.com>
2021-10-20 16:09:08 +02:00
andrey 7a7b365a00 [#12717] No preview for transaction messages in 1-1 chat
Signed-off-by: andrey <motor4ik@gmail.com>
2021-10-20 16:08:09 +02:00
jinhojang6 add5102bbf Update translations
Signed-off-by: andrey <motor4ik@gmail.com>
2021-10-20 12:42:31 +02:00
Vitaliy Vlasov 21e4885fc9 Fix field names related to Wakuv2 config
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2021-10-20 10:01:32 +01:00
Samuel Hawksby-Robinson 6591611473 Bump VERSION to 1.17.0
Signed-off-by: Samuel Hawksby-Robinson <samuel@samyoul.com>
2021-10-15 12:00:14 +01:00
Churikova Tetiana b9d5220da6 e2e: fixes and collectibles
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2021-10-15 12:45:39 +02:00
Roman Volosovskyi e2767ffce5 [#12709] Fix handling errors on eth_gasPrice 2021-10-15 11:49:38 +03:00
Shivek Khurana e1666aa169 Convert macro to fn
Signed-off-by: Shivek Khurana <shivek@status.im>
2021-10-14 16:27:36 +05:30
jinhojang6 933e74f1b3 Update translations
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2021-10-14 12:29:21 +02:00
Shivek Khurana f63d73bad8 🚀 NFT Launch
Signed-off-by: Shivek Khurana <shivek@status.im>
2021-10-14 15:42:22 +05:30
Andrea Maria Piana 5c52854d11 fdroid: add script that automates submissions
This script fetches a specified APK and analyzes it for values like
version code or commit and then based on that creates a branchy and a
commit in `fdroiddata` repository that can be used to create a release PR.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2021-10-13 12:13:38 +02:00
Shivek Khurana 389ce6695a NFT UI 🖼
New UI and re-frame handlers for setting pfp from url
Add fake chain-id, connect the pfp upload backend to UI
Add toast on setting pfp, new-new-new UI
Show assets based on selected network
Add horzontal padding to traits card
a11y ids and pr review changes
Added emoji in toast, fix chain id nill issue
Restore Podfile
Fix fix podfile
Add placeholder images for collections, hide option to set pfp when image url is empty or ends in mp4 or svg
Improvise missing designs
Fix paddings
New nu placeholders
Sort collections by name
Kinda fix issue 4
Fix lint

Signed-off-by: Shivek Khurana <shivek@status.im>
2021-10-13 14:35:44 +05:30
Andrea Maria Piana 84d3b562a4 [Fixes: #12697] Allow profile pictures from contacts 2021-10-12 16:50:01 +01:00
Andrea Maria Piana f50dcf53de [Fixes: #12680] Republish image on changing profile settings
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2021-10-11 15:02:21 +01:00
andrey 8d0bdf7c7f [#12684] Messages disappear from Timeline if join public chat and open Timeline tab while public chat history is loading
Signed-off-by: andrey <motor4ik@gmail.com>
2021-10-08 15:46:36 +02:00
Du Cheng a9333ad52c Doubled the character limit on timeline posts
Now, you won't have to fight an arbitrary character limit on posts like Twitter, and you can pack more meaning into your messages without having to split them into multiple messages.

Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2021-10-08 14:37:26 +01:00
Roman Volosovskyi 12a99f40d2 [#12681] Enable UI for signing legacy txs on networks without eip1559 support 2021-10-08 11:30:20 +03:00
Andrea Maria Piana 1f357fd7c6 Add loading indicator when community is fetching
Signed-off-by: andrey <motor4ik@gmail.com>
2021-10-08 10:07:27 +02:00
andrey 675dd9664a remove println leftover 2021-10-08 09:44:54 +02:00
andrey e47f839bfb [#12687] Icons in public chats and corresponding icons (default ones) of users are different
Signed-off-by: andrey <motor4ik@gmail.com>
2021-10-08 09:43:43 +02:00
Brian Sztamfater 0afbe80c36 Fix profile image in push notiications
Signed-off-by: Brian Sztamfater <brian@status.im>
2021-10-07 11:29:47 -03:00
Roman Volosovskyi 61878376a3 [#12673] Do not add unblocked user to added contacts 2021-10-06 17:09:59 +03:00
Roman Volosovskyi fe00971399 [#12520] Sync deleted chats 2021-10-06 14:47:02 +03:00
andrey 0b2d0d45ed [#12649] Mention preview is displayed as @0x... instead of user name/ENS on the home screen and in the Activity center
Signed-off-by: andrey <motor4ik@gmail.com>
2021-10-06 13:27:32 +02:00
Churikova Tetiana cd35af4e00 e2e: emoji fixes 2021-10-06 12:41:09 +02:00
jinhojang6 1f10ad37d1 Update translations
Signed-off-by: andrey <motor4ik@gmail.com>
2021-10-06 09:58:55 +02:00
andrey de373d0511 [#12666] Allow overriding nonce when sending transaction
Signed-off-by: andrey <motor4ik@gmail.com>
2021-10-06 09:58:04 +02:00
Churikova Tetiana fe1cc2dc23 e2e: nightly fixes 2021-10-05 16:34:56 +02:00
Parvesh Monu eb5711e9bc Custom Emoji Thumbnails for Community Channels (#12594) 2021-10-04 19:08:39 +05:30
andrey 1bbebc9055 contacts performance
Signed-off-by: andrey <motor4ik@gmail.com>
2021-10-04 15:10:26 +02:00
jakub 074a18c18f update Podfile.lock and Cocoapods version in it
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2021-10-01 13:50:22 +02:00
Roman Volosovskyi 943fc37543 [#12668] Fix gas estimation after using Set max 2021-10-01 09:54:41 +03:00
Roman Volosovskyi d0b3b4e293 [#12667] Fix broken subscription on add bootnode screen 2021-10-01 09:47:06 +03:00
Samuel Hawksby-Robinson 5108ae7972 Add private profile pictures 2021-09-30 13:05:33 +01:00
jakub 79be879306 ci: upgrade library and use of pkgFilename()
Depends on: https://github.com/status-im/status-jenkins-lib/pull/36

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2021-09-28 21:25:34 +02:00
Churikova Tetiana 8b0ddec8f9 Merge branch 'tests/nightly28-09-2021' into develop 2021-09-28 18:06:39 +02:00
Churikova Tetiana 0c48f1da88 e2e: fixes 2021-09-28 17:50:55 +02:00
Vitaliy Vlasov a0acdeca33 Use go-waku's connection status updates 2021-09-28 16:34:04 +03:00
Brian Sztamfater 5c0102c27b Add push notification on group invite chat
Signed-off-by: Brian Sztamfater <brian@status.im>
2021-09-28 09:06:47 -03:00
andrey 675515a655 [#12642] Can't send funds to multisig - Out of gas
Signed-off-by: andrey <motor4ik@gmail.com>
2021-09-27 15:58:41 +02:00
Roman Volosovskyi 70607a13ae [#12568] Fetch history on receiving pubchat installation 2021-09-27 12:39:55 +03:00
Roman Volosovskyi 750ea72043 [#12563] Allow retrieving of profile updates after removing contact 2021-09-27 11:11:36 +03:00
hesterbruikman d27f45bad4 fastlane/metadata: update app screenshots
Adding here so they can be populate on F-droid.

Signed-off-by: andrey <motor4ik@gmail.com>
2021-09-24 16:28:57 +02:00
Roman Volosovskyi 428236b4bb [#12585] Clear modal's dissmissing state after reopening app with enabled background service 2021-09-24 16:23:43 +03:00
Churikova Tetiana 76c5e7ce1e Merge branch 'tests/e2e-fixes230921' into develop 2021-09-24 13:09:26 +02:00
Churikova Tetiana 2373737684 e2e: sync contacts + fixes 2021-09-24 12:35:19 +02:00
Andrea Maria Piana 48af425c25 [Fixes: #12596] Fix timeline messages 2021-09-24 10:03:10 +01:00
Roman Volosovskyi 23a0ac9522 [#12517] Ensure that all necessary contact fields are synced 2021-09-23 13:19:11 +03:00
Brian Sztamfater 68ffddbb51 Add ability to Share image from Status
Signed-off-by: Brian Sztamfater <brian@status.im>
2021-09-22 10:07:08 -03:00
jakub 85348306ce drop scripts/generate-pull-request-report.sh
People on HackerOne keep reporting this file as containing a secret token.

The reality is that this token is no longer usable since it was
published to a public repo, which would have caused it to be revoked
automatically though GitHub automation:
https://docs.github.com/en/code-security/secret-scanning/about-secret-scanning

Other than that I'm pretty sure nobody is using this script.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2021-09-21 20:04:39 +02:00
jakub e2c18ea151 add commit hash to app metadata for Android and iOS
This will make identifying installed software easier.
It can also be used to generate F-Droid RPs more easily.

Depends on:
https://github.com/status-im/status-jenkins-lib/pull/35

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2021-09-21 11:48:45 +02:00
andrey 82b640abe1 chats list performance
Signed-off-by: andrey <motor4ik@gmail.com>
2021-09-20 18:40:07 +02:00
Serhy 6387bba9f5 Update testrailreport and threads
Signed-off-by: Serhy <sergii@status.im>
2021-09-20 18:50:26 +03:00
Churikova Tetiana ca273faadd e2e: align with testrail API 2021-09-20 12:08:04 +02:00
Michele Balistreri 5b72e749e3 add mark all read for communities
Signed-off-by: Michele Balistreri <michele@bitgamma.com>
2021-09-20 09:38:41 +03:00
Churikova Tetiana 716e72fb5f ENSon Ropsten on PR and e2e builds 2021-09-18 13:59:07 +02:00
Churikova Tetiana 18606f548b e2e: ens ropsten 2021-09-17 18:20:47 +02:00
andrey c001688db9 [#12569] RPC URL is lower-cased when entered in URL field when adding a custom network
Signed-off-by: andrey <motor4ik@gmail.com>
2021-09-16 12:18:56 +02:00
Churikova Tetiana 995db1c332 e2e: collectibles + fixes
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
Signed-off-by: Serhy <sergii@status.im>
2021-09-16 09:59:17 +03:00
Andrea Maria Piana 8daf3df6b2 [Fixes: #12486] Fix delete of messages 2021-09-15 10:50:30 +01:00
jakub a76e4666de update-status-go: does not need to depend on make shell
The dependency on `make shell` is confusing and unnecessary since
`update-status-go.sh` script only requires availability of the
`nix-prefetch-url` utility to check SHA256 of the `status-go` verison.

Use of `make shell` with this script can also cause issues when running
`make run-android` if already in the shell, which prevents spawning a
new one and effectively stops changes to `status-go-verison.json` file
taking effect.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2021-09-15 11:04:52 +02:00
Michele Balistreri 4f4651baac opening group/community chats clears related activity center entries
Signed-off-by: Michele Balistreri <michele@bitgamma.com>
2021-09-15 09:29:50 +03:00
jakub a1ede3528f nix: drop our gomobile in favor of one from nixpkgs
I've created PRs to include gomobile in official nixpkgs:

* https://github.com/NixOS/nixpkgs/pull/116747
* https://github.com/NixOS/nixpkgs/pull/131042

Hence I'm removing our own implementation to use that one.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2021-09-14 11:31:17 +02:00
jakub 5e9c7da96c nix: upgrade nixpkgs, clean up android sdk config
Notable upgrades:

| Package        | Previous    | Current     |
|----------------|-------------|-------------|
| `glibc`        | `2.32`      | `2.33`      |
| `git`          | `2.31.1`    | `2.32.0`    |
| `clojure`      | `1.10.3.855`| `1.10.3.943`|
| `nodejs`       | `12.22.1`   | `12.22.6`   |
| `yarn`         | `1.22.10`   | `1.22.11`   |
| Platform Tools | `31.0.2`    | `31.0.3`    |
| Build Tools    | `30.0.3`    | `31.0.0`    |

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2021-09-14 10:53:36 +02:00
jakub 88dc152e73 nix: rafactor android-sdk to provide sdk/ndk outputs
This makes path shorter.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2021-09-14 10:52:41 +02:00
Brian Sztamfater 2095b41eee Add release notes for 1.16
Signed-off-by: Brian Sztamfater <brian@status.im>
2021-09-13 14:23:29 -03:00
andrey 40919b53fb [#12556] Black font color of community categories in dark mode
Signed-off-by: andrey <motor4ik@gmail.com>
2021-09-13 13:39:31 +02:00
andrey af272abcbf [#12047] move colors to quo 2021-09-13 11:23:30 +02:00
andrey 52647b88a7 fix token-icon 2021-09-13 10:55:43 +02:00
Shivek Khurana e2ddf7517f 🎨 NFT Support via OpenSea
Baic skeleton 🦴
NFT Details page. The API is not returning properties
Add traits, add opensea link, fetch nfts when new account is added
Toggle privacy options
Hide NFT behind FF
Update sgv
Fix lint and rename opensea to collectibles

Signed-off-by: Shivek Khurana <shivek@status.im>
2021-09-13 14:14:07 +05:30
Michele Balistreri 5246617c69 target SDK 30
support scoped storage from Android 10

better permission handling on iOS 14

Signed-off-by: Michele Balistreri <michele@bitgamma.com>
2021-09-13 10:17:51 +03:00
jakub bcd497a48a fdroid: fix adding GOOGLE_FREE=1 with missing newline
Broke removing Google dependencies for F-Droid builds:
https://gitlab.com/fdroid/fdroiddata/-/merge_requests/9730#note_674501441

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2021-09-10 17:39:28 +02:00
andrey ee02b90774 [#12050] replace list-item usage by quo
Signed-off-by: andrey <motor4ik@gmail.com>
2021-09-09 13:08:08 +02:00
Churikova Tetiana c036469409 e2e: fee + fixes
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
Signed-off-by: Serhy <sergii@status.im>
2021-09-09 11:35:32 +03:00
Michele Balistreri 0a5abee780 make secure-text-entry always a boolean
Signed-off-by: Michele Balistreri <michele@bitgamma.com>
2021-09-09 09:40:55 +03:00
andrey 1e94a45339 [#12526] Connecting autofarm.network dapps with status wallet freezes browser
Signed-off-by: andrey <motor4ik@gmail.com>
2021-09-08 11:20:37 +02:00
Michele Balistreri 2bd4957569 - seed-phrase field should not enable autofill
- make hide/show password work on Android

Signed-off-by: Michele Balistreri <michele@bitgamma.com>
2021-09-07 14:05:01 +03:00
Parvesh Monu 08cae71390 Small UI Design Improvements (#12544) 2021-09-06 23:27:51 +05:30
Brian Sztamfater 112c5fde15 Fix unread indicator in activity center when delete message
Signed-off-by: Brian Sztamfater <brian@status.im>
2021-09-03 13:56:01 -03:00
Brian Sztamfater 4de24442eb Fix browser history sorting
Signed-off-by: Brian Sztamfater <brian@status.im>
2021-09-03 13:54:59 -03:00
Roman Volosovskyi efff6d3997 Fix clj kondo warnings in subs.cljs 2021-09-03 11:13:42 +03:00
Roman Volosovskyi 031d44c554 [#12476] Re-enable amount/fee validation on tx signing 2021-09-03 11:08:17 +03:00
Churikova Tetiana 1aa0d930fb e2e: delete message + tx tests
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2021-09-02 18:06:30 +02:00
Churikova Tetiana 0451b152b3 Merge branch 'develop' of github.com:status-im/status-react into develop 2021-09-02 18:01:55 +02:00
Michele Balistreri ad29cc7e30 request permissions before saving images
Signed-off-by: Michele Balistreri <michele@bitgamma.com>
2021-09-02 15:26:18 +03:00
Roman Volosovskyi aaff386146 [#12332] Shown PNs on message with mention in community chats (iOS) 2021-09-02 11:03:52 +03:00
Michele Balistreri ff0068c5a7 activate commands on ropsten for PR builds
Signed-off-by: Michele Balistreri <michele@bitgamma.com>
2021-09-01 18:00:09 +03:00
Churikova Tetiana c65af97a52 update PAX Token
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
Signed-off-by: Serhy <sergii@status.im>
2021-09-01 13:27:28 +03:00
Churikova Tetiana 5e812e29bf update PAX Token
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2021-09-01 12:23:58 +02:00
Churikova Tetiana bcaa54017e doc: add bump version to umbrella issue
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2021-09-01 11:08:30 +02:00
Michele Balistreri fea2b9a9af don't show notifications from self
Signed-off-by: Michele Balistreri <michele@bitgamma.com>
2021-08-31 15:07:04 +03:00
Roman Volosovskyi a818dd4a2a [#12494] Update unviewed messages counter on message deletion 2021-08-31 12:15:02 +03:00
Pavlos Vinieratos e6c416c2c3 typo 2021-08-31 06:41:12 +02:00
andrey e21860563a [#12519] Add $RARE token to our default list
Signed-off-by: andrey <motor4ik@gmail.com>
2021-08-30 16:52:56 +02:00
Michele Balistreri eebbfe9346 better PIN/PUK retry counter handling
Signed-off-by: Michele Balistreri <michele@bitgamma.com>
2021-08-30 17:33:44 +03:00
Roman Volosovskyi 86fcdd47e4 [#11849] Move pull to refresh to the account overview screen 2021-08-30 14:28:46 +03:00
Churikova Tetiana 86e0da1da8 Bump release to 1.16.0
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2021-08-30 11:12:03 +02:00
Churikova Tetiana 58c86144fc enable delete messages
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2021-08-30 11:08:00 +02:00
Serhy bacc3f54ab Check notifications in AC for mentions in community and group
Signed-off-by: Serhy <sergii@status.im>
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2021-08-30 11:01:11 +02:00
Roman Volosovskyi d9f3c49aec [#12511] Fix unread indicator after opening profile modal from chat 2021-08-27 14:25:45 +03:00
andrey 905a9d8c9a fix edit channel topbar
Signed-off-by: andrey <motor4ik@gmail.com>
2021-08-27 12:03:21 +02:00
andrey 5d66abdbd4 [#12052] move radio to quo
Signed-off-by: andrey <motor4ik@gmail.com>
2021-08-27 10:53:10 +02:00
Churikova Tetiana 21410b217f bump VERSION to 1.15
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2021-08-26 10:53:32 +02:00
andrey 5f1f129d59 revert preload chats
Signed-off-by: andrey <motor4ik@gmail.com>
2021-08-26 09:18:37 +02:00
Shivek Khurana 3942528cc1 🙈 Hide delete message button
Signed-off-by: Shivek Khurana <shivek@status.im>
2021-08-25 17:10:29 +05:30
Roman Volosovskyi 2f0e0af1a1 [#12332] Redirect to community chat on pressing PN 2021-08-25 13:43:12 +03:00
Michele Balistreri 8c493510a4 clear notifications on message read
Signed-off-by: Michele Balistreri <michele@bitgamma.com>
2021-08-25 13:08:08 +03:00
Andrea Maria Piana a569687161 [Fixes: #12448] Fix unread indicator in chat on message delete 2021-08-25 12:35:08 +03:00
jinhojang6 31e6649cd4 Update translations
Signed-off-by: andrey <motor4ik@gmail.com>
2021-08-25 11:04:59 +02:00
Michele Balistreri e3f471ecf6 handle multiple calls to frozen-keycard-popup
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2021-08-24 10:32:37 +02:00
Churikova Tetiana 614f7211d2 e2e: small nightly fix
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2021-08-23 17:22:38 +02:00
Brian Sztamfater 5cd57254c9 Hide deleted messages in activity center
Signed-off-by: Brian Sztamfater <brian@status.im>
2021-08-23 12:06:32 -03:00
andrey 2882085d2e [#12446] Screens with overlapping long usernames
Signed-off-by: andrey <motor4ik@gmail.com>
2021-08-23 14:17:26 +02:00
Roman Volosovskyi 3409ccab27 [#12467] Remove default action icon in message actions list 2021-08-23 12:50:39 +03:00
Roman Volosovskyi 37d893d5f8 [#12460] Allow assets name collision 2021-08-23 11:49:39 +03:00
Roman Volosovskyi 428ce7bbdf [#12450] Hide deleted message from PNs (Android) 2021-08-23 11:48:05 +03:00
Ismael d8fb0e866b Show link preview image if thumbnailUrl is not empty
Signed-off-by: andrey <motor4ik@gmail.com>
2021-08-23 09:11:08 +02:00
andrey 25a6495d37 preload chats
Signed-off-by: andrey <motor4ik@gmail.com>
2021-08-20 16:00:13 +02:00
Churikova Tetiana f940f8dfc8 e2e: eip-1559 2021-08-20 16:43:58 +03:00
Roman Volosovskyi f5f47ae636 Enable EIP 1559 2021-08-20 16:43:51 +03:00
Andrea Maria Piana f76b400a7d Fix last message deletion
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2021-08-20 10:10:46 +02:00
Churikova Tetiana 00adc3448a e2e: hide/delete accounts, several checks on kk
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2021-08-19 17:57:42 +02:00
Brian Sztamfater 0acca32e78 Sort pinned messages by date
Signed-off-by: Brian Sztamfater <brian@status.im>
2021-08-19 11:02:25 -03:00
Michele Balistreri 2a6cb978ba always start PIN/PUK/Pairing change with PIN prompt
Signed-off-by: Michele Balistreri <michele@bitgamma.com>
2021-08-19 15:26:22 +03:00
andrey f031d2b32d [#12443] long press is long and it makes the message disappear entirely
Signed-off-by: andrey <motor4ik@gmail.com>
2021-08-18 14:46:43 +02:00
andrey d1666a42de [#12161] Missing delete wallet option
Signed-off-by: andrey <motor4ik@gmail.com>
2021-08-18 14:46:14 +02:00
Churikova Tetiana 19f3e79ec1 [#12453] fix DATA coin details
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2021-08-18 11:27:32 +02:00
Roman Volosovskyi 02277be602 [#12451] Fix copy icon in message actions 2021-08-17 20:05:11 +03:00
andrey ad9dc9913f [#11468] Hide/show option for accounts in the wallet
Signed-off-by: andrey <motor4ik@gmail.com>
2021-08-17 14:27:42 +02:00
Shivek Khurana 8ec46a0d78 🗑 Delete message UI
️ Add flag to hide message in UI, there are some bugs in rebuild list process
Don't rebuild, just update the UI state
Update delete to soft delete. Some traces of delete already exist in the app

Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2021-08-16 13:26:55 +02:00
jinhojang6 81f081e47d Update translations for the title and descriptions
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2021-08-12 20:18:16 +02:00
jakub d4da8209cd Revert "Remove fastlane metadata because no one use it"
Because as pointed out in this comment:
https://github.com/status-im/status-react/issues/12289#issuecomment-894008069
the lack of fastlane metadata makes F-Droid unable to find out things
like app description.

For more details see:
https://f-droid.org/en/docs/All_About_Descriptions_Graphics_and_Screenshots/#fastlane-structure

This reverts commit 3469aca1d8.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2021-08-12 19:28:20 +02:00
andrey 1f38423723 [#12418] Error when declining membership request
Signed-off-by: andrey <motor4ik@gmail.com>
2021-08-11 09:10:12 +02:00
Churikova Tetiana 8298c35db2 e2e: upgrade align
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2021-08-10 13:59:27 +02:00
Brian Sztamfater c96c2b44b4 Fix pinned edited messages in communities
Signed-off-by: Brian Sztamfater <brian@status.im>
2021-08-09 13:01:35 -03:00
Churikova Tetiana d15860c93e e2e: nightly fix
Signed-off-by: andrey <motor4ik@gmail.com>
2021-08-09 15:42:21 +02:00
andrey f7cf172761 [#12422] Can't navigate to community channel from community invite view 2021-08-09 08:46:54 +02:00
Samuel Hawksby-Robinson 8cf87dbbbd changed target status-go to feature/sync_communities branch
Signed-off-by: Samuel Hawksby-Robinson <samuel@samyoul.com>
2021-08-06 16:58:19 +01:00
Andrea Maria Piana cc95913dc1 [Fixes: #12393] Allow to enable transaction management
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2021-08-06 15:17:32 +02:00
Michele Balistreri d5396f6b18 don't carry card status on logout
Signed-off-by: Michele Balistreri <michele@bitgamma.com>
2021-08-06 11:10:55 +02:00
Michele BalistreriandChurikova Tetiana 85fcabe249 emit url event when recreating Activity with link
Co-authored-by: Churikova Tetiana <churikova.tm@gmail.com>
Signed-off-by: Michele Balistreri <michele@bitgamma.com>
2021-08-05 12:10:05 +02:00
Michele Balistreri 11cfb894a4 bump status-go version
Signed-off-by: Michele Balistreri <michele@bitgamma.com>
2021-08-04 13:43:34 +02:00
Michele Balistreri 82cfc642c0 update react-native-webview
Signed-off-by: Michele Balistreri <michele@bitgamma.com>
2021-08-03 16:20:50 +02:00
andrey d6d4b28e1e [#12334] Redirect to home instead of community page when come back from community channel
Signed-off-by: andrey <motor4ik@gmail.com>
2021-08-03 15:58:50 +02:00
Brian Sztamfater e5477cd449 Fix Error when opening 1-1 chat in Activity center for blocked user
Signed-off-by: Brian Sztamfater <brian@status.im>
2021-08-03 09:31:06 -03:00
Shivek Khurana 18e6ceaab1 🛳 Add release notes for 1.15
Signed-off-by: Shivek Khurana <shivek@status.im>
2021-08-03 07:40:52 +05:30
Churikova Tetiana 7b714671eb e2e: fix for offline e2e + timeline e2e
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2021-08-02 21:15:26 +02:00
Brian Sztamfater deb88cbc71 Fix icon for replies and mentions
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2021-08-02 11:48:09 +02:00
Brian Sztamfater 5c29ea38ea Fix for group chat invites icon in activity center 2021-08-02 11:47:47 +02:00
Andrea Maria Piana bbaf55fddd Remove clear history from non-public chats
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2021-08-02 11:47:25 +02:00
ismael 969f8f4d8a Add quick way to permanently hide android background service notification
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2021-08-02 11:46:42 +02:00
Michele Balistreri 9759add62a trigger migration to Keycard from logged in state
Signed-off-by: Michele Balistreri <michele@bitgamma.com>
2021-08-02 10:54:20 +02:00
Brian Sztamfater 0cee717602 Add pinned messages option in community channel info
Signed-off-by: Brian Sztamfater <brian@status.im>
2021-07-29 12:36:11 -03:00
Michele Balistreri 9a61ef3fd7 reset text input after editing message
Signed-off-by: Michele Balistreri <michele@bitgamma.com>
2021-07-28 15:24:25 +02:00
Churikova Tetiana 413960682a e2e: remaining fixes
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2021-07-28 15:02:59 +02:00
Michele BalistreriandChurikova Tetiana edabec6a12 update status-go and adapt e2e for group invitation
Co-authored-by: Churikova Tetiana <churikova.tm@gmail.com>
Signed-off-by: Michele Balistreri <michele@bitgamma.com>
2021-07-27 15:11:24 +02:00
andrey 11d9a16e7d [#12309] Appearance changes do not apply to the action bar color on Browser screen on Android
Signed-off-by: andrey <motor4ik@gmail.com>
2021-07-27 11:12:28 +02:00
Shivek Khurana 6d67e93fa3 ⬆️ bump version
Signed-off-by: Shivek Khurana <shivek@status.im>
2021-07-27 13:50:51 +05:30
Churikova Tetiana db68c3a1fa e2e: fix for images
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2021-07-26 22:02:50 +02:00
andrey f2b29b8349 fixed subscriptions leak
Signed-off-by: andrey <motor4ik@gmail.com>
2021-07-26 14:13:07 +02:00
andrey 398a2e2e40 [#12319] User's statuses are not displayed in Profile if it is opened by scanning QR
Signed-off-by: andrey <motor4ik@gmail.com>
2021-07-26 11:02:05 +02:00
andrey e966f8a54b [#12318] Bottom sheet doesn't close when opening gallery and camera to set profile picture on iOS
Signed-off-by: andrey <motor4ik@gmail.com>
2021-07-26 10:39:59 +02:00
andrey 88715131dd [#12329] No redirect to 1-1 chat when starting chat via "Chat" button in profile
Signed-off-by: andrey <motor4ik@gmail.com>
2021-07-26 10:39:29 +02:00
andrey c43dd2ec20 [#12321] No redirect from "Confirm the passcode" screen while resetting Keycard with the mnemonic if card was frozen during tx signing
Signed-off-by: andrey <motor4ik@gmail.com>
2021-07-26 10:34:39 +02:00
Brian Sztamfater 6ee9f6a409 Show replies on activity center
Signed-off-by: Brian Sztamfater <brian@status.im>
2021-07-23 14:49:55 -03:00
Churikova Tetiana 944098ad84 e2e: blocked/frozen/back up kk
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2021-07-23 15:54:25 +02:00
andrey c50130fd4b [#12317] Gaps on 'recipient' screen in Wallet, 'add and edit favourites' screens in Browser, and in Profile after setting up ENS
Signed-off-by: andrey <motor4ik@gmail.com>
2021-07-23 15:04:42 +02:00
andrey e1dfaa4a6b [#12310] "Unknown" screen if press a tag in timeline of another user in user's profile and tap back
Signed-off-by: andrey <motor4ik@gmail.com>
2021-07-23 15:04:00 +02:00
andrey b292e7ea5a [ #12338] "Reset with mnemonic" and "Access exisiting keys" are overlapping on small screens
Signed-off-by: andrey <motor4ik@gmail.com>
2021-07-23 14:05:45 +02:00
Serhy d727338e9a PN and reactions for messages
Signed-off-by: Serhy <sergii@status.im>
2021-07-23 12:56:39 +03:00
Michele Balistreri 170ef0a429 fix factory reset and unblock pin
Signed-off-by: Michele Balistreri <michele@bitgamma.com>
2021-07-21 18:39:00 +02:00
andrey 7d9a2f074e [#12066] Add category to communities
Signed-off-by: andrey <motor4ik@gmail.com>
2021-07-21 18:38:28 +02:00
Michele Balistreri ebf951d110 fix notification screen displayed twice
Signed-off-by: Michele Balistreri <michele@bitgamma.com>
2021-07-21 12:24:19 +02:00
Churikova Tetiana 40b1a9b8ae e2e: frozen kk 1 part
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2021-07-20 17:48:45 +02:00
Michele Balistreri e8f7ae8f27 implement account conversion
Signed-off-by: Michele Balistreri <michele@bitgamma.com>
2021-07-20 14:28:04 +02:00
Andrea Maria Piana baa96ed22e Upgrade geth and add add london code
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2021-07-20 11:18:00 +02:00
jakub fe07d52fae debug: try dropping all armv7 and armv7s architectures
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2021-07-20 11:17:46 +02:00
jakub 625866e50b nix: upgrade Go 1.14 to 1.16, gomobile to 2021-02-20
With upgrade to Go above `1.15` and Gomobile we now drop support for darwin/arm32 builds.
This means all devices like iPhone 5 or older.

For more details see:
https://tip.golang.org/doc/go1.15#darwin

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2021-07-20 11:17:45 +02:00
Roman Volosovskyi 1e4c1a5598 eip1559 changes 2021-07-20 11:17:44 +02:00
Serhy fe0a67dc65 Pin-unpin messages in chats
Signed-off-by: Serhy <sergii@status.im>
2021-07-20 12:16:42 +03:00
Churikova Tetiana 56d29866da e2e: keycard settings e2e
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2021-07-15 13:59:22 +02:00
Churikova Tetiana bc6ed19579 e2e: reset password + fix
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2021-07-14 16:51:30 +02:00
Shivek Khurana 306b81ed71 tos->tou
Signed-off-by: Shivek Khurana <shivek@status.im>
2021-07-14 15:40:24 +05:30
Churikova Tetiana 382cb6d918 e2e: delete low category
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2021-07-13 16:04:37 +02:00
Churikova Tetiana 0f2bd9c6f1 e2e: nightly 13/07 fixes
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2021-07-13 14:55:18 +02:00
Churikova Tetiana 0fce3e60f5 e2e: communities
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2021-07-12 17:42:36 +02:00
Churikova Tetiana 4d5857dd01 e2e: fixes 2021-07-12 17:39:34 +02:00
Brian Sztamfater b0457f594b Fix error replies activity center while not implemented
Signed-off-by: Shivek Khurana <shivek@status.im>
2021-07-12 16:16:18 +05:30
Shivek Khurana dd4c5f778e Principles link 🔗 Fixes #12296
Signed-off-by: Shivek Khurana <shivek@status.im>
2021-07-12 16:00:09 +05:30
andrey d3c5b9e948 copy full address when signing tx
Signed-off-by: andrey <motor4ik@gmail.com>
2021-07-12 12:28:10 +02:00
andrey 06f0ee877b [#12294] "Unknown" if tap "Pinned messages" on user profile from public chat
Signed-off-by: andrey <motor4ik@gmail.com>
2021-07-12 12:27:45 +02:00
Michele Balistreri 5ff854c7c7 update status-go
Signed-off-by: Michele Balistreri <michele@bitgamma.com>
2021-07-07 13:53:01 +02:00
Shivek Khurana dea7227c29 Enabled password reset UI
Fix function typo that caused android version to fail
Fix Issue 1 pointed out by Tetiana. Implement new UI to accomodate slow progress on Android
Fix QA Issue 3 - Hide reset password option for keycard accounts
Add steps to password reset
Align the checkbox on terms of use
Make modal rext align center because it wrapped abruptly
Logout user after password reset
Disable next button to curb recklessness
Remove reset password feature flag

Signed-off-by: Shivek Khurana <shivek@status.im>
2021-07-07 17:02:44 +05:30
Serhy ab01093a6e Edit message in chat test
Signed-off-by: Serhy <sergii@status.im>
2021-07-07 11:36:34 +03:00
jinhojang6 a35d5f9d15 Update translations
Signed-off-by: andrey <motor4ik@gmail.com>
2021-07-07 08:51:42 +02:00
Vitaliy Vlasov caaba958e3 Add Waku V2 support
Signed-off-by: Vitaliy Vlasov <siphiuel@gmail.com>
2021-07-06 19:18:48 +03:00
andrey 723d99cb40 [#12260] Keycard UI issues after RNN
Signed-off-by: andrey <motor4ik@gmail.com>
2021-07-06 13:03:45 +02:00
Serhy 927d67f3ca Update tests to check ToS link and fix for chats in activity centre
Signed-off-by: Serhy <sergii@status.im>
2021-07-05 23:23:29 +03:00
Brian Sztamfater 089f42e0e9 Pinned messages in chats
Signed-off-by: Brian Sztamfater <brian@status.im>
2021-07-05 10:31:37 -03:00
andrey 440e6d2047 [#12270] App crashes if first open the "Enter your seed phrase" screen, then go back, generate a new key and create a password
Signed-off-by: andrey <motor4ik@gmail.com>
2021-07-05 14:25:53 +02:00
Brian Sztamfater af9461da74 Mention activity center & empty state
Signed-off-by: Brian Sztamfater <brian@status.im>
2021-07-02 16:42:18 -03:00
jakub ec54de8f63 nix: refactor gomobile to be built with buildGo114Module
This simplifies the package, and also drops the need for `deps.nix` file.
It also slims down the #11986 Go upgrade PR for easier debugging.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2021-06-30 18:50:05 +02:00
jakub 0d403739f9 nix: upgrade go-maven-resolver to 1.1.1, add more repos
I've noticed issues with the https://repository.sonatype.org/ Maven repository we were using.
They appear to have purged their storage of a lot of packages, including our own for example:
https://repository.sonatype.org/content/groups/sonatype-public-grid/com/github/status-im/

For this reason I've release a new version of `go-maven-resolver` that includes two more Maven repos:
- https://plugins.gradle.org/m2
- https://jitpack.io

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2021-06-30 18:49:55 +02:00
Churikova Tetiana 031626aefc e2e: more fixes
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2021-06-30 16:53:39 +02:00
andrey b280befe2d rnn more issues
Signed-off-by: andrey <motor4ik@gmail.com>
2021-06-30 15:24:32 +02:00
Shivek Khurana 35845ae3d3 New TOS and force opt-in banner
Change link on first screen fix #12122
Tos and privacy now open in webview. Added TOS to about fix #12208
New users TOS opt in fixes #12206
Add tos accept screen for existing users fixes #12207
Address reviews and effects to show-hide force tos opt-in screen
clear checkbox state when get started is clicked. Fixes qa-issue 2
Show screen logic and cleanup
Fix issue with banner not showing for second new account, until re-login. Update Terms of service to Terms of Use.
Update tos url
Update e2e
Update e2e 2
Update e2e 3

Signed-off-by: Shivek Khurana <shivek@status.im>
2021-06-30 12:41:06 +05:30
Churikova Tetiana d3fefb6238 e2e: fixes, align, e2e for sync
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2021-06-29 18:22:52 +02:00
Michele BalistreriandTetiana Churikova 6598ef3466 remove cancel warning on Keycard onboarding
Co-authored-by: Tetiana Churikova <tatiana@status.im>
Signed-off-by: Michele Balistreri <michele@bitgamma.com>
2021-06-29 13:43:55 +02:00
Andrea Maria Piana 45b9fd4b91 [Fixes: #12607] Edit messages
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2021-06-29 13:18:52 +02:00
Michele Balistreri 9ba0960d71 improve credential handling for e2e
Signed-off-by: Michele Balistreri <michele@bitgamma.com>
2021-06-25 15:46:16 +02:00
jakub f917782fc1 ci: allow for providing custom Nix cache hosts
This is part of my work of moving Nix cache to a separate host
because our Master host with jenkins needs more space.

Also, new Nix installer updated `.profile`, not `.bash_profile`.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2021-06-24 15:33:28 +02:00
Shivek Khurana dc86457035 Fix go version
Signed-off-by: Shivek Khurana <shivek@status.im>
2021-06-24 16:22:04 +05:30
Shivek Khurana a1204d0c80 UI in place
Do not need account-info for password reset
Update status go version
Java API
PR Fixes and hide behind a feature flag
Reset status go version to HEAD
Disable reset password in DEV
Enable reset password in DEV

Signed-off-by: Shivek Khurana <shivek@status.im>
2021-06-24 13:47:57 +05:30
andrey e7887d4fca [#11885] Add ETH2x-FLI erc20 token in our default list of supported tokens in the wallet
Signed-off-by: andrey <motor4ik@gmail.com>
2021-06-23 20:16:17 +02:00
Churikova Tetiana 8bab25075b e2e: align tests with RNN upgrade
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2021-06-23 19:09:33 +02:00
andrey 706d6a44a4 rnn leftovers
Signed-off-by: andrey <motor4ik@gmail.com>
2021-06-23 15:35:31 +02:00
andrey dd5864ff25 add plain url support in all qr scanners, add scanner to browser options
Signed-off-by: andrey <motor4ik@gmail.com>
2021-06-22 13:39:03 +02:00
Serhy a1d091ac19 Update release process guide
Signed-off-by: Serhy <sergii@status.im>
2021-06-22 14:15:28 +03:00
Churikova Tetiana e312e3137d add release umbrella issue template
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2021-06-21 13:28:49 +02:00
Churikova Tetiana 1def0b7f9e added 1.14 to RELEASES.md 2021-06-21 13:28:18 +02:00
andrey 7bfd671820 [#12233] support $HEZ erc20 token
Signed-off-by: andrey <motor4ik@gmail.com>
2021-06-21 12:39:22 +02:00
Serhy afb6109d9f Update e2e tests after RNN upgrade
Signed-off-by: Serhy <sergii@status.im>
2021-06-18 16:33:15 +03:00
jakub a9601ddb86 ci: upgrade XCode 12.3 to 12.5
It's about time to upgrade, especially since `13.0` is near.

Related to: https://github.com/status-im/infra-ci/commit/2d63c1f3

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2021-06-18 15:10:53 +02:00
jakub 0652d18653 nix: upgrade nixpkgs, keep Go at 1.14.15
Notable software upgrades:

- Go `1.14.13` to `1.14.15`
- Clojure `1.10.1.763` to `1.10.3.855`
- NodeJS `12.20.1` to `12.22.1`
- Git `2.29.2` to `2.31.1`
- CMake `3.10.2` to `3.18.1`
- Curl `7.74.0` to `7.76.1`
- Android NDK `21.3.6528147` to `22.1.7171670`
- Android Platform Tools `30.0.5` to `31.0.2`

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2021-06-15 17:49:33 +02:00
jakub f9d697dd2e nix: upgrade Nix 2.3.6 to 2.3.12
This should also fix issues with MacOS sandboxing:
```
sandbox-exec: execvp() of '/nix/store/...-bash-4.4-p23/bin/bash' failed: Operation not permitted
```
https://github.com/cachix/install-nix-action/issues/15

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2021-06-15 17:49:27 +02:00
Serhy 296e28ef1c Bump release to 1.14.0
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2021-06-15 11:46:57 +02:00
Serhy 9502229c09 e2e update to align RN update
Signed-off-by: Serhy <sergii@status.im>
2021-06-14 22:02:26 +03:00
andrey 5f719ac95b react native navigation
Signed-off-by: andrey <motor4ik@gmail.com>
2021-06-14 20:03:49 +02:00
jakub 0e12360ed8 fdroid: fix permissions on TMPDIR for Vagrant builds
Our `Makefile` implicitly creates the `TMPDIR` folder.
The issue with that is that if `make fdroid-build-env` is called by
`root` - as it is when being used by F-Droid - then the `TMPDIR`
is also owned by `root`, and because its permissions are `0755` the
`vagrant` user is unable to write to it.

This is why implicit targets like this are a nightmare to debug:
https://github.com/status-im/status-react/blob/63290fd019d26647e0b8a3d5f1e323b762644337/Makefile#L120-L124

For more details see:
https://gitlab.com/fdroid/fdroidserver/-/issues/910
https://gitlab.com/fdroid/fdroiddata/-/merge_requests/8879
https://gitlab.com/fdroid/fdroiddata/-/merge_requests/9140

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2021-06-10 16:43:07 +02:00
Churikova Tetiana 63290fd019 e2e: txs fix + color match
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2021-06-08 13:02:19 +02:00
jakub ffb5fac6f7 fdroid: add fix for /tmp permission on Vagrant builders
You can see details about this in these PRs:
https://gitlab.com/fdroid/fdroiddata/-/merge_requests/8879
https://gitlab.com/fdroid/fdroiddata/-/merge_requests/9140

Without this the build fails with:
```
error: creating directory '/tmp/tmp-status-react-896b583da/nix-shell-900-0': Permission denied
```
https://monitor.f-droid.org/builds/log/im.status.ethereum/2021042608

It doesn't make any sense to me, since `/tmp` has to have `1777`
permissions, but it is what it is.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2021-06-08 10:13:40 +02:00
jakub c20d6b5782 ci: do no delete non-draft releases
We identified this issue in status-desktop release from branch
`release/0.1.0-beta.10` which had old version in VERSION file.
https://ci.status.im/job/status-desktop/job/release/job/release%252F0.1.0-beta.10/

Depends on: https://github.com/status-im/status-jenkins-lib/pull/28

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2021-06-08 09:19:36 +02:00
jakub 2b52ba2389 ci: fix folder name for the status.im CI job
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2021-06-08 09:19:28 +02:00
Serhy bc823f9e96 Enable DB management in e2e builds
Signed-off-by: Serhy <sergii@status.im>
2021-06-07 14:47:42 +03:00
Andrea Maria Piana 3568b20522 [Fixes: #12191] Fix muting chat
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2021-06-07 07:28:00 +02:00
Volodymyr Kozieiev 1900e3038b Community channel editing
Signed-off-by: Volodymyr Kozieiev <vkjr.sp@gmail.com>
2021-06-04 19:21:51 +03:00
Michele Balistreri aaf07911c4 add blocked card popover
Signed-off-by: Michele Balistreri <michele@bitgamma.com>
2021-06-04 13:12:06 +02:00
Shivek Khurana 8448570922 Anonymous metrics opt-in UI
Settings screen
Settings event handler and connection to UI
Both bottom sheets with text in place
Make links inline
Show metrics in progress
Event value in accordion
Repurpose metrics screen for first time users
Onboarding metrics screen working, but not connected to flow. No animations yet.
Show opt-in banner for new accounts
Show opt in screen on login for existing accounts. Don't start metrics service for accounts where metrics are disabled
Tighten start/stop logic
Pagination and loader
Remove prn and fix lint
Ui fixes
Thank you animation
lint fix
PR comment fixes
Get rid of set, fix lint
Have an overshoot but buttons stopped working
add accessibility labels
True modals and fix opt-in displayed multiple times error
Fix icon cutting off on the top on smaller screens
Replace "invite-instructions" to "how-it-works" in all translatiosn
Add pagination to view-data events
Refactor open and close modal functions
Remove dispatch from init-db
Update status go to include pagination of data
Put metrics behind a feature flag

Signed-off-by: Shivek Khurana <shivek@status.im>
2021-06-04 13:57:36 +05:30
Andrea Maria Piana e4e9556303 set depreacted metamask fields
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2021-06-02 13:18:29 +02:00
Serhy 3207300e02 Tests execution ordering
Signed-off-by: Serhy <sergii@status.im>
2021-06-02 13:22:00 +03:00
Andrea Maria Piana f0d739291e Add community link in description
Fixes: #12179
Fixes: #12133
Fixes: #12131

This commit adds a community link in the description that can be copied and
shared by the user.

Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2021-06-02 12:18:13 +02:00
jinhojang6 f26c3090c6 Update translations
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2021-06-01 13:45:06 +02:00
Andrea Maria Piana 505b290c6e [Fixes: #12140] Don't show gap after 30 days and allow user to set sync period
This commit adds a setting in sync section so that user can select the
amount of days the can sync.

Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2021-06-01 13:08:20 +02:00
Andrea Maria Piana 508060f18d Fix community toggle
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2021-06-01 13:02:31 +02:00
Andrea Maria Piana a3cb837266 Fix group chat gaps 2021-06-01 13:02:20 +02:00
Andrea Maria Piana ae3df0c730 Exclude blocked contacts from list 2021-06-01 13:02:20 +02:00
Andrea Maria Piana d6a999043e dont show gaps in timeline/profile chats 2021-06-01 13:02:19 +02:00
Andrea Maria Piana 58d994706f Hide option to select community type
Fixes: #12147

Hide option to select community type
2021-06-01 13:02:18 +02:00
Michele Balistreri 213c288cc1 handle hash-message failure correctly
Signed-off-by: Michele Balistreri <michele@bitgamma.com>
2021-05-31 16:41:02 +02:00
Michele Balistreri 114e704b78 fixed various styling issues
Signed-off-by: Michele Balistreri <michele@bitgamma.com>
2021-05-31 12:38:40 +02:00
Serhy 4cd6ada534 Update e2e to check ther is no blocked user in mentions
Signed-off-by: Serhy <sergii@status.im>
2021-05-31 12:10:24 +03:00
Churikova Tetiana 1bdbf3e403 e2e: mentions + new e2e + unread mentions
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2021-05-28 17:42:54 +02:00
Andrea Maria Piana ef13b4d210 [Fixes: #12061] Add unread mentions count
Fixes: #2061

This commit adds an unread mentions count in 3 places:

1) Public chats
2) Communities in home
3) Communities chats

The logic is that if you have unread mentions, it will show you the
count of messages with unread mentions, while if you have only unread
messages, you will see a blue dot.

Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2021-05-28 16:50:53 +02:00
Andrea Maria Piana 8926a7ad4e Allow importing db from script
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2021-05-28 12:58:40 +02:00
Michele Balistreri 65d76ba9c8 remove puk/pairing step from onboarding
Signed-off-by: Michele Balistreri <michele@bitgamma.com>
2021-05-27 14:02:15 +03:00
Serhy 399e7d399b Update e2e with more checks
Signed-off-by: Serhy <sergii@status.im>
2021-05-27 13:35:15 +03:00
Serhy 69a50ff9ab Update kk test with additional check
Signed-off-by: Serhy <sergii@status.im>
2021-05-26 11:44:54 +03:00
Andrea Maria Piana 152407b903 [Fixes: #12060] Highlight posts that mention you
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2021-05-26 08:40:41 +02:00
jakub e30ca97184 nix: drop references to nix-cache-cn.status.im
See:
https://github.com/status-im/infra-ci/commit/faaf051b

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2021-05-25 17:53:47 +02:00
Roman Volosovskyi 011de1b8ae Tracing of nested fx handlers on :trace logging level 2021-05-25 16:26:51 +03:00
jakub 6d43f34cf8 nix/deps/gradle: include Gradle targets with numbers in names
This fixes an issue first detected in:
https://github.com/status-im/status-react/pull/12141

Which resulted in dependencies being ignored for `react-native-nagivation`.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2021-05-25 14:33:41 +02:00
Churikova Tetiana e5b7fb13a1 e2e: 3 last upgrade tests
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2021-05-25 13:46:28 +02:00
Michele Balistreri b67ecacd8b fix #10793 and #11060
Signed-off-by: Michele Balistreri <michele@bitgamma.com>
2021-05-25 13:38:40 +03:00
Roman Volosovskyi 58d358125c [wallet] Show cached balance before fetching latest 2021-05-25 10:26:57 +03:00
Andrea Maria Piana f5baee5039 [Fixes: #12136] Fix endless spinner on group chat invitation
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2021-05-24 15:55:49 +02:00
Volodymyr Kozieiev 2b0c498613 Edit community
Signed-off-by: Volodymyr Kozieiev <vkjr.sp@gmail.com>
2021-05-24 16:26:42 +03:00
Michele Balistreri 177b905291 remove unreliable card check
Signed-off-by: Michele Balistreri <michele@bitgamma.com>
2021-05-24 12:24:40 +03:00
Michele Balistreri 4217f558a8 add reset with mnemonic on frozen/blocked cards
Signed-off-by: Michele Balistreri <michele@bitgamma.com>
2021-05-21 15:41:52 +03:00
Andrea Maria Piana a71468f425 Allow toggling communities
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2021-05-21 13:09:19 +02:00
Andrea Maria Piana dd5c30b7a0 Move mailserver logic/gaps/ranges to status-go
This commit moves most of the mailserver logic to status-go.

- Filters are now removed and not passed to the client anymore
- Ranges have been removed
- Gaps are now messages with a different content type
- Upsert/Save chat has been removed and instead we have more specific
endpoints such as CreatePublicChat/CreateOneToOneChat/CreateProfileChat
- Creation of timeline/profile chat has been moved to status-go

Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2021-05-21 07:44:21 +02:00
Brian Sztamfater 929925af39 Resolve username to ENS right after 1-1 chat opened after username search from 'Start new chat' by ENS
Signed-off-by: Brian Sztamfater <brian@status.im>
2021-05-19 12:00:37 -03:00
Churikova Tetiana 880321ccc4 e2e: paring upgrade test
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2021-05-19 14:34:29 +02:00
Michele Balistreri 1bff966679 correctly resume keycard setup after cancel
Signed-off-by: Michele Balistreri <michele@bitgamma.com>
2021-05-19 13:11:39 +03:00
Michele Balistreri f770045f89 show notifications and welcome screen for keycard
Signed-off-by: Michele Balistreri <michele@bitgamma.com>
2021-05-18 19:14:38 +03:00
Michele Balistreri 72df44da6c allow creation of recovery cards from logged-out state
Signed-off-by: Michele Balistreri <michele@bitgamma.com>
2021-05-18 14:09:11 +03:00
Churikova Tetiana 273b0064e2 e2e: upgrade - dapps, wallet
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2021-05-18 10:39:27 +02:00
guylouis 9dcf3cde93 added v1.13 release note
Signed-off-by: andrey <motor4ik@gmail.com>
2021-05-18 10:09:14 +02:00
Churikova Tetiana b6623ae1c3 e2e: merge too granular e2e
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2021-05-14 11:20:14 +02:00
Churikova Tetiana 2618201bb3 ci: make e2e stage depends on publish param
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2021-05-12 20:42:30 +02:00
Roman Volosovskyi ba3e229d6f make target for clearing xcode's derived data dir 2021-05-12 16:39:29 +03:00
Michele Balistreri 8cb0ad9285 add signTypedData_V4 to Keycard and update status-go
Signed-off-by: Michele Balistreri <michele@bitgamma.com>
2021-05-12 13:48:05 +03:00
Roman Volosovskyi 6c7d689a7c fix building for ios simulator from cli/xcode 2021-05-11 12:42:52 +03:00
Serhy 6a71a1e798 Update e2e to merge emoji long tab in another test
Signed-off-by: Serhy <sergii@status.im>
2021-05-11 12:25:59 +03:00
Volodymyr Kozieiev 3469aca1d8 Remove fastlane metadata because no one use it
Signed-off-by: Volodymyr Kozieiev <vkjr.sp@gmail.com>
2021-05-11 12:09:42 +03:00
Michele Balistreri 427209c960 removes flow related flags when cancelling
Signed-off-by: Michele Balistreri <michele@bitgamma.com>
2021-05-11 09:09:52 +03:00
Tetiana Churikova b71617e490 update bug report: add missing brackets
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2021-05-10 17:35:52 +02:00
Tetiana Churikova ba8c943046 update bug-report
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2021-05-07 14:48:52 +02:00
Serhy ef042bdc0b Accept-Reject chats from activity center test
Signed-off-by: Serhy <sergii@status.im>
2021-05-07 13:14:57 +03:00
Volodymyr Kozieiev 8628cbbf76 Update release guide
Signed-off-by: Volodymyr Kozieiev <vkjr.sp@gmail.com>
2021-05-06 15:58:58 +03:00
Michele Balistreri 0b8509949a add factory reset option on new Keycard account
Signed-off-by: Michele Balistreri <michele@bitgamma.com>
2021-05-06 13:26:45 +03:00
Roman Volosovskyi a7660754fb Allow to enter bip39 password on account recovery 2021-05-05 12:06:55 +03:00
Churikova Tetiana ec528f98cc e2e: upgrade - commands, audiomessage
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2021-05-03 17:07:23 +02:00
jakub dd0031f68e ci: add PR numbers to filenames of artifacts
This is useful for QA team when they download multiple builds.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2021-05-02 22:19:03 +02:00
Churikova Tetiana be37b1683e e2e: fix for progress bar and testrail for e2e
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2021-04-30 18:41:14 +02:00
Churikova Tetiana 710e55002b e2e: 1 upgrade test
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2021-04-30 11:55:43 +02:00
Serhy 19eda04c90 Test activity cener with only-contacts setting
Signed-off-by: Serhy <sergii@status.im>
2021-04-29 14:00:33 +03:00
jakub cf9f160de9 ci: nicer artifact filenames for release builds
Depends on: https://github.com/status-im/status-jenkins-lib/pull/24

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2021-04-28 17:25:39 +02:00
Roman Volosovskyi 3dfa7beacd [wallet #12000] Check tx history in 2/3/5/10/20 minutes on buy crypto 2021-04-28 17:10:38 +03:00
Brian Sztamfater 4dacc95de6 Include a 'My Profile' button in the Start New Chat dialogue
Signed-off-by: Brian Sztamfater <brian@status.im>
2021-04-27 16:44:03 -03:00
andrey 448782b3d3 small chat perf impr
Signed-off-by: andrey <motor4ik@gmail.com>
2021-04-27 16:36:11 +02:00
Roman Volosovskyi 693c41850c [wallet] Store pending transactions 2021-04-27 12:25:18 +03:00
andrey 1bd62f1199 [#12033] Can't open Status tab after upgrade from 1.12 to 1.13 if the tab has never been opened before upgrade
Signed-off-by: andrey <motor4ik@gmail.com>
2021-04-23 16:47:15 +02:00
Roman Volosovskyi 2ed25a9f51 fix warning on intro screen 2021-04-23 16:48:37 +03:00
Churikova Tetiana 3b6f3b77cc e2e fix PNs
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2021-04-23 14:59:33 +02:00
Volodymyr Kozieiev 67b646dcca status-go cleanup
Signed-off-by: Volodymyr Kozieiev <vkjr.sp@gmail.com>
2021-04-22 17:10:42 +03:00
andrey d59c9205ea [#12011] Invisible messages in public and group chats if they were received while user was on another screen
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2021-04-21 13:10:19 +02:00
andrey c2212af3ff [#12014] Skip 'Accept and join' view when navigating back from public chat joined from referral
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2021-04-21 13:08:36 +02:00
andrey da9e6686c6 [#12008] "Community information is not found" after opening community view from home
Signed-off-by: andrey <motor4ik@gmail.com>
2021-04-20 17:44:28 +02:00
Andrea Maria Piana f7ab1ff20c Bump release to 1.13.0
Signed-off-by: Volodymyr Kozieiev <vkjr.sp@gmail.com>
2021-04-20 17:55:36 +03:00
Andrea Maria Piana 956bb813d4 Make cut release executable 2021-04-20 11:07:48 +02:00
Andrea Maria Piana 807dabf5b2 Load message on-component-did-mount
I have changed the behavior of loading notifications:

Before it would always use the same function and check for `cursor !=
""`.
This worked on most cases, but sometimes the user would jump back to the
home view without doing any clean up, so cursor would be `""` and it
would not load any notification anymore.

Now the two functions are split in initial load, and load-more.

Initial load is called on component-did-mount so we don't have to worry
about where the user is coming from. We also avoid multiple firing of
the events by checking `loading?`, so it does not result in duplicated
notifications.

Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2021-04-20 11:06:19 +02:00
Churikova Tetiana 3b652adaf3 e2e: align with chat optimization
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2021-04-19 20:23:31 +02:00
andrey c22ffb1032 [#11994] No chats on Home screen after reopening the app if appearance doesn't match the device settings (dark/light mode)
Signed-off-by: andrey <motor4ik@gmail.com>
2021-04-19 18:53:29 +02:00
andrey 2494c61f85 [#11991] No unread message indicators after navigation back to 'Chats' main view via tap on Chats tab button 2021-04-19 18:53:19 +02:00
andrey 073371c4ed chat list optimization 2021-04-19 18:53:19 +02:00
Andrea Maria Piana db848a1f19 Add permission handling & enable HW acceleration on webview
This extend adding permissions to a separate webview used for buying
crypto.
It also removes a fix with hardware acceleration, as the camera does not
work if disabled.

Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2021-04-19 18:26:18 +02:00
Brian Sztamfater 85a01f5404 Add support for SOCKS token
Signed-off-by: Brian Sztamfater <brian@status.im>
2021-04-19 11:17:37 -03:00
andrey adaf77ba1b v4
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2021-04-19 14:52:30 +02:00
andrey 7f839f952d eth_sign support 2021-04-19 14:50:44 +02:00
Volodymyr Kozieiev b29912f7f7 community links unfurling
Signed-off-by: Volodymyr Kozieiev <vkjr.sp@gmail.com>
2021-04-19 15:44:32 +03:00
Roman Volosovskyi fab241f6ac Pevent incorrect usage of fx/defn inside fx/merge
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2021-04-19 12:51:37 +02:00
jakub 594c83013c ci: upgrade jenkins lib to 1.2.12 to generalize GH release
This is required to also ad GitHub releases to `status-desktop`.

Also renamed `status-react-jenkins` to `status-jenkins-lib` for clarity.

Depends on: https://github.com/status-im/status-react-jenkins/pull/23

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2021-04-19 11:47:34 +02:00
jakub 2e94e0e765 ci: rename folder to match status-desktop naming
Part of re-organization related to release builds for desktop.

See:
- https://github.com/status-im/status-react/pull/11992
- https://ci.status.im/job/status-desktop/

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2021-04-19 11:47:25 +02:00
andrey 05ed28b9a2 re-frisk 1.5.0 2021-04-19 11:45:43 +02:00
Serhy f4530d4d03 activity center: align e2e
Signed-off-by: Serhy <sergii@status.im>
2021-04-19 11:39:43 +03:00
Shivek Khurana ed4e227144 Add a long running task to transfer events to Go when the user logs in, rename interceptors namespace to core, send events in batches, capture s/on-will-focus, capture navigate-to-cofx, stop long running task if any event fails validation, not quite ready yet, needs more testing
Remove redudant println, don't stop the task in case of a bad event, just reject that batch, capture navigate-to-cofx events with an effect, capture parts of screens/on-will-focus event

Fix lint

Shorten comment widths, update  to use less brackets, call events reset once, double run safety for long running task

Call onboard after stopping

Reset periodic-tasks-chan to  on close, formatting

Get rid of redundant inline function

Update go version to point to 0.75.1

Signed-off-by: Shivek Khurana <shivek@status.im>
2021-04-19 10:59:23 +05:30
andrey 93ce02b547 [#11958] Add activity center 2021-04-16 20:45:20 +02:00
Andrea Maria Piana 5bb849f9c1 Add messages from contacts only 2021-04-16 20:45:19 +02:00
jakub 310a1ad5f1 drop scripts/tag-release.sh in favor of scripts/cut-release.sh
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2021-04-16 16:14:57 +02:00
Andrea Maria Piana a90d8a1439 Add release guide & script to cut release
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2021-04-16 16:12:37 +02:00
Michele Balistreri acbd240070 add change pairing code functionality
Signed-off-by: Michele Balistreri <michele@bitgamma.com>
2021-04-16 13:09:01 +03:00
Roman Volosovskyi c77b350d77 [wallet #11811] Show transfers with unspecified chaiId 2021-04-15 17:42:52 +03:00
jinhojang6 2cf0a60977 Update translations
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2021-04-15 13:56:59 +02:00
jakub 711389365c doc: update update-playstore-metadata job link
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2021-04-14 16:14:16 +02:00
jakub ef5031a4aa ci: update Google Play JSON credential name
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2021-04-14 14:04:39 +02:00
jakub ab7e9795ce ci: use status-im-auto cred for e2e PR jobs
Trying to clean up duplicate credentials.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2021-04-14 13:50:22 +02:00
jakub 7eca3c42d7 ci: add Jenkinsfile for pod repo updates
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2021-04-14 13:48:00 +02:00
Volodymyr Kozieiev e307b4faa6 Fixed error on login with attempt to save wrong key into account
Signed-off-by: Volodymyr Kozieiev <vkjr.sp@gmail.com>
2021-04-14 11:14:12 +03:00
Roman Volosovskyi 4129ca1597 [wallet #11898] Fix disappearing tokens after adding a new account 2021-04-14 11:09:17 +03:00
Brian Sztamfater 31ba933917 Improved Start New Private Chat interface
Signed-off-by: Brian Sztamfater <brian@status.im>
2021-04-13 16:57:47 -03:00
Michele Balistreri eea5b4eb0f add change PUK functionality
Signed-off-by: Michele Balistreri <michele@bitgamma.com>
2021-04-13 18:21:21 +03:00
Brian Sztamfater d1016669bb Remove self-mentions
Signed-off-by: andrey <motor4ik@gmail.com>
2021-04-13 11:22:52 +02:00
Serhy 4ca7c0b989 Jenkins URL to rerun tests
Signed-off-by: Serhy <sergii@status.im>
2021-04-13 11:16:25 +03:00
andrey f6e480344d do not render not active screen
Signed-off-by: andrey <motor4ik@gmail.com>
2021-04-13 08:40:02 +02:00
Shivek Khurana 5eed7bd560 Disable Medium.com unfurling
Signed-off-by: Shivek Khurana <shivek@status.im>
2021-04-12 14:51:12 +05:30
andrey 87f86d3b7b bump re-frisk 1.4.0 2021-04-12 08:36:54 +02:00
jakub 8890f25f96 ios: update gems, fastlane 2.164.0 to 2.179.0
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2021-04-09 10:23:37 +02:00
jakub 651065f0a6 ios: fix saving stderr logs from react-native-xcode.sh
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2021-04-09 09:50:14 +02:00
jakub b27a53bdee nix: fix order of starting iOS shell hooks
Fixes the `'Statusgo.h' file not found` error.

Resolves: https://github.com/status-im/status-react/issues/11951

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2021-04-09 09:50:13 +02:00
Roman Volosovskyi 2116847fc6 [wallet] cleanup 2021-04-08 23:58:55 +03:00
barukimang 965438bc87 fixed broken urls readme and contributing pages
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2021-04-07 19:06:30 +02:00
Shivek Khurana 90ad5f2f77 In key management section, the mnemonic was not being trimmed, which lead to issues
Signed-off-by: Shivek Khurana <shivek@status.im>
2021-04-05 18:02:49 +05:30
Michele Balistreri f0827ff624 add creation of backup keycards
Signed-off-by: Michele Balistreri <michele@bitgamma.com>
2021-04-02 17:11:36 +03:00
Samuel Hawksby-Robinson be0ad943ea Anon metrics transfer
Saving my initial noodling

Saving my initial noodling

Filtering working much better, data collection working better

Added jsonrpc call params

Added transformations ns and funcs

whitelisting the new rpc method

Addressed PR feedback

Minor fix for the on-failure log/error

lint fix

manual lint fix

Signed-off-by: Shivek Khurana <shivek@status.im>
2021-04-01 17:07:18 +05:30
Roman Volosovskyi 937efc9f4f [wallet #11944] Watch confirmation of sent tx when syncing is disabled 2021-04-01 11:31:54 +03:00
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
Roman Volosovskyi 460685212a [wallet] Finetuning RPC calls for new accounts 2021-03-31 16:08:25 +03:00
guylouis 46655dbd48 Added v1.12 release notes
Signed-off-by: andrey <motor4ik@gmail.com>
2021-03-31 12:10:01 +02:00
Samuel Hawksby-Robinson f970834536 Added ToC, Tidied Troubleshooting, Added images to avoid future 404s
Removed superfluous check

Adjusted images to be 50% the page width

Image width 75%

Finished off REPL section

Signed-off-by: Samuel Hawksby-Robinson <samuel@samyoul.com>
2021-03-30 23:18:37 +01:00
Samuel Hawksby-Robinson a4836120e6 Added a doc for IDE setup
Based on https://notes.status.im/9Gr7kqF8SzC_SmYK0eB7uQ?view, hopefully this document can help some poor soul in the future. I have a little more work to do but I'm interested in whether this kind of document would be welcome in the repo
2021-03-30 22:57:46 +01:00
Roman Volosovskyi a364ce1906 [wallet] Optimized watching for tx confirmation
Update e2e
2021-03-30 22:16:38 +03:00
Brian Sztamfater 0c55f1208b Move react-native-status to a pod dependency
Signed-off-by: andrey <motor4ik@gmail.com>
2021-03-30 10:54:00 +02:00
Serhy da6860d693 pdate in balance related tests
Signed-off-by: Serhy <sergii@status.im>
2021-03-29 13:56:56 +03:00
andrey 94235aa703 navigate to login when error
Signed-off-by: andrey <motor4ik@gmail.com>
2021-03-29 12:18:48 +02:00
Samuel Hawksby-Robinson 5da9efebe3 Removed region from on-ramping we don't want it (#11920)
* Removed region from on-ramping we don't want it

* Updated status-go version

* revert change make ios made to keycard version

* Updated status-go version

* Updated status-go version

* Updated status-go version
2021-03-25 14:27:10 +00:00
andrey 3de7c37d90 chat input performance improvements
Signed-off-by: andrey <motor4ik@gmail.com>
2021-03-25 14:44:57 +01:00
Roman Volosovskyi 7c4c520712 [wallet #11860] Show preloaded tx history when app is offline 2021-03-24 17:48:40 +02:00
Andrea Maria Piana a8ae933604 Revert "Anon metrics transfer"
This reverts commit 2abd430e02.
2021-03-24 16:05:31 +01:00
Samuel Hawksby-Robinson 2abd430e02 Anon metrics transfer
Saving my initial noodling

Saving my initial noodling

Filtering working much better, data collection working better

Added jsonrpc call params

Added transformations ns and funcs

whitelisting the new rpc method

Addressed PR feedback

Fix lint

Add reasons to why txf ns exists

Transform event instead of the contexts

Signed-off-by: Shivek Khurana <shivek@status.im>
2021-03-24 15:33:29 +05:30
Andrea Maria Piana a99e7f660f Add banning of users in communities
This commit adds bannning of users in communities for on-request and
invitation only communities.

Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2021-03-24 09:31:54 +01:00
jakub 8268346dfa fdroid: small fixes for docs
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2021-03-23 13:33:30 +01:00
andrey f5df7805ee [#11864] Loopring smart contract bug
Signed-off-by: andrey <motor4ik@gmail.com>
2021-03-22 17:47:12 +01:00
Churikova Tetiana 5b08242102 e2e: refactor test browsing
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2021-03-19 19:53:45 +01:00
Roman Volosovskyi f8983ab147 [wallet #11902] Handle chain id mismatch 2021-03-19 18:22:32 +02:00
andrey 067c69cca4 [#11904] update swarm gateway
Signed-off-by: andrey <motor4ik@gmail.com>
2021-03-19 12:53:02 +01:00
Michele Balistreri 77e6f83e2e handle multiple paired keycards with the same account
Signed-off-by: Michele Balistreri <michele@bitgamma.com>
2021-03-18 16:24:31 +03:00
Churikova Tetiana 4e0ec35ea5 e2e: added delivered for group chats and check for PNs
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2021-03-17 14:41:22 +01:00
andrey 66a4ab5aef [#11883] Unread indicator re-appears for received message after relogin
Signed-off-by: andrey <motor4ik@gmail.com>
2021-03-17 14:30:38 +01:00
andrey 9d7dcc6ae7 [#11880] Open user profile when tapping on user icon in 1-1 chat
Signed-off-by: andrey <motor4ik@gmail.com>
2021-03-17 11:20:10 +01:00
jakub 46f8d9fdbf docs: update format of F-Droid metadata
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2021-03-17 11:18:39 +01:00
andrey b22acc3da2 [#11882] Replace #status with #support in Profile > Need help
Signed-off-by: andrey <motor4ik@gmail.com>
2021-03-17 10:56:45 +01:00
Roman Volosovskyi e5f9de828d [wallet] Nonce range cache 2021-03-16 20:45:09 +02:00
Andrea Maria Piana 3f9817b977 upgrade status-go
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2021-03-16 13:51:21 +01:00
andrey 503028cb4e fixed timeline load more, fixed message confirmation status
fixed group chat invitation

Signed-off-by: andrey <motor4ik@gmail.com>
2021-03-16 09:35:22 +01:00
andrey c7cc9e27a9 [#11797] Communities issues
Signed-off-by: andrey <motor4ik@gmail.com>
2021-03-15 18:08:50 +01:00
Churikova Tetiana 313181ddb3 e2e: extend kk account creation
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2021-03-15 16:06:27 +01:00
Roman Volosovskyi a07c65d173 [wallet] Store last fetched balance and nonce in db 2021-03-15 16:36:18 +02:00
jinhojang6 1431cf80e1 Update translations
Signed-off-by: andrey <motor4ik@gmail.com>
2021-03-15 15:09:38 +01:00
jinhojang6 1aba1f8000 Add the #status-arabic public chat
Signed-off-by: andrey <motor4ik@gmail.com>
2021-03-15 12:33:54 +01:00
andrey 76b1e2a007 bump re-frisk
Signed-off-by: andrey <motor4ik@gmail.com>
2021-03-12 13:01:59 +01:00
andrey 25d5672355 messages improvements 2021-03-12 12:07:15 +01:00
Roman Volosovskyi f572f5ef5e Add RPC usage stats screen 2021-03-10 14:18:52 +02:00
andrey 51178ab1b2 [#11843] "Enable all" is disabled after relogin for 3 or 4 chat link previews after relogin
Signed-off-by: andrey <motor4ik@gmail.com>
2021-03-08 15:21:26 +01:00
andrey a9124d0fd2 fix pods
Signed-off-by: andrey <motor4ik@gmail.com>
2021-03-08 13:52:52 +01:00
Churikova Tetiana ee4f6ead12 e2e: fix balance updating
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2021-03-08 09:53:43 +01:00
Michele Balistreri 5fecdd7830 keycard account removal and card reset
Signed-off-by: Michele Balistreri <michele@bitgamma.com>
2021-03-08 09:13:26 +03:00
Andrea Maria Piana 49b78c0cea Dont push notification if chat is not in cofx
Signed-off-by: andrey <motor4ik@gmail.com>
2021-03-05 16:10:28 +01:00
andrey aee782d468 [#11822] Own status updates are shown on other user profiles 2021-03-05 16:09:09 +01:00
Roman Volosovskyi ff02219080 [#11842] Fix login after restoring existing account 2021-03-05 14:51:07 +02:00
Roman Volosovskyi 9c7c796e02 [wallet] Avoid requesting of token balances on account creation 2021-03-05 08:16:50 +02:00
Roman Volosovskyi 843c015d56 [#11823] Fix balances fetching on recovering kk multiacc 2021-03-04 18:09:28 +02:00
Serhy 174329d098 User profilepic display setting test
Signed-off-by: Serhy <sergii@status.im>
2021-03-04 11:39:01 +02:00
andrey 0491038b09 1.12.0 2021-03-03 14:03:39 +01:00
jinhojang6 ac6a4af207 Update translations
Signed-off-by: andrey <motor4ik@gmail.com>
2021-03-03 13:59:59 +01:00
andrey 106e9112e0 [#11395] Inapp Keycard upsell MVP
Signed-off-by: andrey <motor4ik@gmail.com>
2021-03-03 12:20:17 +01:00
andrey c625e95d5e [#11815] GNT to GLM Migration was not implemented
Signed-off-by: andrey <motor4ik@gmail.com>
2021-03-03 12:18:06 +01:00
Roman Volosovskyi 580ecfedc1 [wallet] RPC calls optimzations for new accounts 2021-03-03 10:55:18 +02:00
jakub 4cc99c6bb8 nix: fix name fo config value for unsigned build
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2021-03-02 18:26:42 +01:00
jakub 6a764869a0 doc/FDROID.md: add explanation of Android build
Signed-off-by: Jakub Sokołowski <jakub@status.im>
Signed-off-by: andrey <motor4ik@gmail.com>
2021-03-02 16:58:02 +01:00
jakub 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
andrey 93ed7c15bd [#11809] Upgrade react-native-device-info to 7.4.0
Also update gradle dependencies with transitive deps.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2021-03-02 16:29:20 +01:00
jakub c57974d9ff nix: upgrade go-maven-resolver to v1.1.0
This release adds support for resolving transitive dependencies.
https://github.com/status-im/go-maven-resolver/releases/tag/v1.1.0
https://github.com/status-im/go-maven-resolver/pull/5

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2021-03-02 16:29:19 +01:00
Churikova Tetiana a7f9a98f48 e2e: checking balance on mobile network
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2021-03-02 12:59:26 +01:00
jakub c703e45105 docs: update instructions in doc/FDROID.md
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2021-03-02 12:38:41 +01:00
jakub 8376fedb4b make: add release-fdroid and fdroid-nix-dir targets
With these targets added we can simplify the format of the F-Droid YAML
metadata file which defines how to run `status-react` builds.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2021-03-02 12:38:34 +01:00
jakub d0d8815d4a readme: add "Get it on ..." badges
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2021-03-02 12:38:34 +01:00
Shivek Khurana fa9fceb75d Fix the top margin on keystorage views
Fix lint

Signed-off-by: Shivek Khurana <shivek@status.im>
2021-03-02 16:16:41 +05:30
jakub 293fd5fae1 nix: add missing cljfmt dependencies to nix/deps/clojure
It seems like this worked before purely because the `cljfmt` library was
already in the `~/.m2` cache folder. This issue was noticed when I
cleaned up the `~/.m2` folder on one Jenkins slave host and the Lint stage
started randomly failing.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
Signed-off-by: andrey <motor4ik@gmail.com>
2021-03-01 16:42:38 +01:00
andrey 9b6b337453 [#11764] Data that was added before pairing devices is not synced anymore across synced devices
Signed-off-by: andrey <motor4ik@gmail.com>
2021-03-01 16:26:20 +01:00
jakub 37cf8ffe72 nix: update clojure dependencies
Signed-off-by: Jakub Sokołowski <jakub@status.im>
Signed-off-by: andrey <motor4ik@gmail.com>
2021-03-01 13:23:35 +01:00
andrey 4f9e38930e Revert "[#11395] Inapp Keycard upsell MVP"
This reverts commit 99e99b0e
2021-03-01 12:12:09 +01:00
andrey 99e99b0e81 [#11395] Inapp Keycard upsell MVP 2021-03-01 12:07:46 +01:00
Churikova Tetiana 83630b28bb e2e: migration and message statuses
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2021-02-26 16:29:11 +01:00
Gheorghe Pinzaru c7009ff6f7 Add request/approve communites
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2021-02-26 15:38:19 +01:00
Brian Sztamfater c2f513f67e [#11743] Fix crash on network change
Signed-off-by: andrey <motor4ik@gmail.com>
2021-02-26 15:35:47 +01:00
Roman Volosovskyi 37284051dc PNs for transaction messages 2021-02-25 10:51:19 +02:00
guylouis c1315eca90 Update RELEASES.md with v1.11 notes
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2021-02-24 11:23:11 +01:00
guylouis 9f9370f72d Update RELEASE_CHECKLIST.md
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2021-02-24 11:22:31 +01:00
Churikova Tetiana 61da0db9c9 e2e: previews in lomks
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2021-02-23 21:40:03 +01:00
Michele Balistreri 325a860916 faster keycard login
Signed-off-by: Michele Balistreri <michele@bitgamma.com>
2021-02-23 20:15:24 +03:00
Volodymyr Kozieiev a383cfa39a Delivered messages have double-check icon in private chats
Signed-off-by: Volodymyr Kozieiev <vkjr.sp@gmail.com>
2021-02-23 18:47:40 +02:00
Serhy d5e1d3fe65 New e2e test to set image from Galary and Photo
Signed-off-by: Serhy <sergii@status.im>
2021-02-23 15:15:42 +02:00
jakub f0d79f3af0 ci: adjust behavior of PUBLISH to be true for releases
Otherwise release builds never create the GitHub draft releases.
Not unless a user explicitly stats a build with `PUBLISH: true`.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2021-02-23 13:45:25 +01:00
Michele Balistreri 09ac3e6a9e use the currently selected account for signing messages/typed data
Signed-off-by: Michele Balistreri <michele@bitgamma.com>
2021-02-22 13:37:09 +03:00
Churikova Tetiana f3c85c1e7a e2e: several fixes
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2021-02-19 14:47:45 +01:00
Andrea Franz 505171cf87 enable Keycard on iOS
Signed-off-by: Andrea Franz <andrea@gravityblast.com>
2021-02-19 10:26:16 +01:00
Churikova Tetiana f9c3747768 e2e:-5 critical e2e and fixes
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2021-02-18 16:13:40 +01:00
andrey 9648f741b4 cleaning 3
Signed-off-by: andrey <motor4ik@gmail.com>
2021-02-17 16:16:54 +01:00
andrey e493a2b79c [#11395] Inapp Keycard upsell MVP
Signed-off-by: andrey <motor4ik@gmail.com>
2021-02-17 13:19:08 +01:00
Churikova Tetiana 8698e13fa1 e2e: nightly fixes and py upgrade
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2021-02-17 12:07:45 +01:00
Andrea Maria Piana 452e54fc19 Add buy crypto banner
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2021-02-17 10:25:45 +01:00
Churikova Tetiana 4f094c174d e2e: connecting status handling
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2021-02-16 16:45:52 +01:00
andrey 7c04bb9076 [#11716] Implement new Connectivity dialogues and remove 'Offline' snackbars
Signed-off-by: andrey <motor4ik@gmail.com>
2021-02-16 16:25:49 +01:00
Andrea Maria Piana 8d3fa3c3d7 Fix images being dropped in profile channels
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2021-02-16 10:02:47 +01:00
andrey 32393c9091 [#11704] Android 11 flatlist performance degradation
Signed-off-by: andrey <motor4ik@gmail.com>
2021-02-15 14:51:53 +01:00
Andrea Maria Piana 35f152c479 Add our.status.im and medium.com link unfurling
Fixes: #11739
Fixes: #11738

Adds unfurling for our.status.im and medium.com

Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2021-02-15 13:50:51 +01:00
Andrea Maria Piana 37b36d38c7 update statusgo
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2021-02-15 10:36:16 +01:00
Churikova Tetiana 1a77891273 e2e: fix for duplicating chats
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2021-02-11 09:56:50 +01:00
Andrea Maria Piana 63893ff575 Handle eth_accounts exception
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2021-02-09 18:08:22 +01:00
Andrea Maria Piana 226aacdeac Only scale if width/height is positive
Fixes: #11728
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2021-02-09 16:45:35 +01:00
Roman Volosovskyi a37dbb57d6 [wallet] Merge blocks ranges 2021-02-09 16:48:00 +02:00
jinhojang6 4fdfa3e008 Update translations
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2021-02-09 14:02:40 +01:00
Churikova Tetiana 8d510be72e small nightly fix
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2021-02-09 11:16:19 +01:00
andrey 72d592a5a6 hide increase gas/cancel temporary for 1.10 2021-02-09 08:53:44 +01:00
Andrea Maria Piana 1075dfcb8b Release 1.11.0 2021-02-08 16:10:26 +01:00
Shivek Khurana 49d4b15761 Add tenor and giphy.com support
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2021-02-08 16:09:22 +01:00
Churikova Tetiana a7f9998d6c e2e: nightly fix
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2021-02-08 14:18:22 +01:00
Serhy b2be539374 When no chat on screen is expected
Signed-off-by: Serhy <sergii@status.im>
2021-02-05 19:47:18 +02:00
Roman Volosovskyi 3685f6a500 [#11117] Move PNs to status-go 2021-02-05 17:03:34 +02:00
Serhy 9a51a46869 Webview camera permission
Signed-off-by: Serhy <sergii@status.im>
2021-02-05 14:19:30 +02:00
Andrea Maria Piana 0867b972c3 Don't rely on contacst for one-to-one mentions, and remove cursor
[Fixes: #11670]
[Fixes: #11671]

This commit fixes 2 issues.

One issue was due to removing tribute to talk, which added in the
`contacts` map any user you open a chat with, and some code relied on
this behavior.

The second issue was likely due to a react native upgrade which might
have fixed a bug but caused a different issue, which resulted in the
text disappearing when cursor was set.

I have removed that (it was only used on android) and everything seems
to be working correctly, but not so sure about this one.

Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2021-02-04 17:54:00 +01:00
jakub d946d473c6 fastlane: use Apple Store Connect API for CI builds
Because our CI Apple account still has 2FA disabled in order for it to
be usable in Jenkin it is now failing with an error that seems unrelated
to 2FA.

The recommended way of doing Apple authentication for CI are App Store
Connect API JWTs. The API appears to support both pushing builds as well as
updating metadata and other tasks like refreshing of provisioning
profiles.

Fixes: https://github.com/status-im/status-react/issues/11713
Issue: https://github.com/fastlane/fastlane/issues/18098
Docs: https://docs.fastlane.tools/app-store-connect-api/

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2021-02-04 15:10:07 +01:00
Churikova Tetiana 7e8a68ec67 e2e: refactoring commands, wait for balance, find trans
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2021-02-04 13:54:06 +01:00
Shivek Khurana 39b0a6bb44 Restrict changes to translations file only
Signed-off-by: Shivek Khurana <shivek@status.im>
2021-02-03 17:00:28 +05:30
Roman Volosovskyi 00ad3e9e1f [#11674] Make sure token balances are fetched on mobile network 2021-02-03 12:45:05 +02:00
Churikova Tetiana 781360a1cf e2e: fix opensea
Signed-off-by: andrey <motor4ik@gmail.com>
2021-02-02 17:15:28 +01:00
andrey c76567c20f [#11703] No way to sign in to opensea 2021-02-02 17:15:18 +01:00
Churikova Tetiana 6d38386c11 e2e: update PyYAML and urllib3
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2021-02-02 16:57:13 +01:00
Churikova Tetiana 522d03b846 e2e: chat_management + wallet_management
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2021-02-02 12:00:17 +01:00
Churikova Tetiana b73fcba395 improve logging, get rid of 2 e2e
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2021-01-28 17:09:40 +01:00
Andrea Maria Piana 741e9e834b Avoid concurrent access to contact
In some instances when fetching messages for a timeline the app would
crash as a map was accessed concurrently without locking.
This fixes the issue.

Signed-off-by: andrey <motor4ik@gmail.com>
2021-01-28 14:49:14 +01:00
Churikova Tetiana ad006b018c test_recover + test_sign_in
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2021-01-28 13:59:59 +01:00
andrey 56c4ffc39f [#11690] Invisible digits in Request transaction dialog in 1-1 chat on Android
Signed-off-by: andrey <motor4ik@gmail.com>
2021-01-28 13:57:39 +01:00
Churikova Tetiana d31ed933a0 e2e: reduce amount, continue review
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2021-01-27 17:22:16 +01:00
andrey 6469ff912a [#11651] No spinner when pressing "Fetch more messages" in public chat + white toggles in Sync settings on Android
Signed-off-by: andrey <motor4ik@gmail.com>
2021-01-27 16:49:57 +01:00
Serhy ff961bbfe8 Fix e2e fails in develop
Signed-off-by: Serhy <sergii@status.im>
2021-01-27 12:25:05 +02:00
Andrea Maria Piana eba6b63258 Fix topic issue, remove ttt, add db export/import
There were a few issues with topic management:

- Topics/ranges were saved one-by-one, which cause an out of memory
error on some devices
- Topics that were not listened to were saved, and therefore requested
from the mailserver, which caused long syncing time

It also removes tribute to talk and add export/import methods

Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2021-01-26 12:46:21 +01:00
Roman Volosovskyi 9bf4da1edd [wallet] Avoid unnecessary balance checks 2021-01-26 11:53:54 +02:00
Churikova Tetiana c2f8f012a8 e2e: global refactoring
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2021-01-25 18:44:24 +01:00
Roman Volosovskyi 6c4097f521 [wallet #11570] Handle non archival RPC node 2021-01-25 15:41:50 +02:00
andrey 35671226e4 remove outdated :initial-props
Signed-off-by: andrey <motor4ik@gmail.com>
2021-01-25 10:38:34 +01:00
andrey 08b9cfcf52 [#8284] Remove unnecessary permissions [Android]
Signed-off-by: andrey <motor4ik@gmail.com>
2021-01-21 16:23:54 +01:00
andrey 0087a66df8 bump re-frisk 2021-01-21 15:25:54 +01:00
Anton Danchenko 3042a4b696 upgrade xdist to latest version
Signed-off-by: Serhy <sergii@status.im>
2021-01-21 12:51:11 +02:00
andrey cb66886aab [#11665] Youtube-link preview is resized incorrectly in chat view for videos with short title
Signed-off-by: andrey <motor4ik@gmail.com>
2021-01-21 11:16:53 +01:00
andrey af2b053fa9 disable fast refresh on ios and bump re-frisk
Signed-off-by: andrey <motor4ik@gmail.com>
2021-01-20 11:44:24 +01:00
andrey fa4521d2e7 react native config latest version with pods, fixes react-native-config compiling issue by moving it to pods [#11657]
Signed-off-by: andrey <motor4ik@gmail.com>
2021-01-19 17:14:06 +01:00
jakub b33c086966 nix: set ANDROID_SDK_HOME to a tmp directory
This fixes issues with Gradle complaining about lack of `~/.android`.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2021-01-19 14:08:59 +01:00
andrey 4704cef3da handle error from infura
Signed-off-by: andrey <motor4ik@gmail.com>
2021-01-19 11:52:57 +01:00
andrey 329182fdbe [#11643] Display profile picture only of users I have added to contacts
Signed-off-by: andrey <motor4ik@gmail.com>
2021-01-18 10:14:41 +01:00
shivekkhurana 5c3133adb6 Key management screen in place
Key phrase screen in place

Added flow in a Rich comment, added storage screen, added Keycard upsell banner

Validate seed against selected multiaccount

Vvalidate seed against multiaccount

Connected migration flow to Keycard onboarding flow, unable to finish because an event called generate-and-load-key is not being emitted with the flow I made

Fixed state that was needed to start the recovery process, also removed seed-phrase from app-db when onboarding starts

Moved strings to translations in key storage views

Upsell banner bg theme, accordion data, choose-storage next bug, Hide keys managment option for Keycard accounts and from multiaccounts list screen.

Added test for subscription function

Tests for keystore move checkbox and seed phrase input

Fix translations/en.json after merge conflict, add test for seed-phrase input, seed-against-key-uid validation and state setup for redirect to Keycard screens

Update validate fn to mock mnemonic import and cascading changes

Fix linting errors

Fix seed key-uid mismatch popup, reduce styles and remove redundant views

Add dot menu in place of access-existing-keys button on login page

Make multiaccount redirect test more terse

Remove dangling comma from translations/en.json

Fix var that was missed during rebase

fx/merge and extra newline fixes

Removed nil? check, tests pass

Unknown error popup

Redirect Keycard banner to https://keycard.tech

Remove unused sub and fix linting

Fix issue#4 - Unable to enter new seeds

Hide back and disable hardware back on Keycard onboarding intro if the user is coming from migration flow. Fixes issue#1 raised by Diana.

Set state so show wallet balances show up auto magically. Fixes issue#3.

Update tests to capture recovering state

Center align sign in button since the left button was deleted.

Changes suggested by Andrey

Add top margin to Keycard intro only when user comes key storage

Hide manage key storage on ios

Signed-off-by: Shivek Khurana <shivek@status.im>
2021-01-14 22:35:48 +05:30
andrey f28f479256 react native config on ios
Signed-off-by: andrey <motor4ik@gmail.com>
2021-01-14 14:17:01 +01:00
Roman Volosovskyi daf7791d86 [wallet #11535] Show PNs right after enabling 2021-01-14 13:54:46 +02:00
Roman Volosovskyi 73ca49aad5 [#11599] Smaller kk dev menu items
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2021-01-14 10:11:20 +01:00
Churikova Tetiana 7cf42b292b Merge branch 'develop' of github.com:status-im/status-react into develop 2021-01-14 10:04:33 +01:00
Frank Tang 2687d7ab9a added github.com to white list of link preview
Signed-off-by: andrey <motor4ik@gmail.com>
2021-01-14 09:46:58 +01:00
andrey abac5247bf RN 63 and xcode12
Signed-off-by: andrey <motor4ik@gmail.com>
2021-01-14 09:41:38 +01:00
jakub 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
jakub eb1f1bf587 nix: fix building of status-go forks with different GH owner
Resolves: https://github.com/status-im/status-react/issues/11637

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2021-01-13 15:16:07 +01:00
andrey 46d430b69c [#11626] Group chat subtitle shows 'no members'
Signed-off-by: andrey <motor4ik@gmail.com>
2021-01-13 12:21:48 +01:00
Serhy e4d175ef93 Revert 11624
Signed-off-by: Serhy <sergii@status.im>
2021-01-13 12:24:32 +02:00
hesterbruikman 25c5106284 Correction
Removed: Auto scan for tokens of primary Ethereum account upon recovery
Signed-off-by: andrey <motor4ik@gmail.com>
2021-01-13 10:38:10 +01:00
andrey 3fd36c6904 [#11627] Add GRT erc20 token in our default list of supported tokens in the wallet
Signed-off-by: andrey <motor4ik@gmail.com>
2021-01-12 18:13:00 +01:00
Frank Tang fe6f75e1b7 fix: No "Delete" option for a group chat from the home screen if user has been removed from it
Signed-off-by: andrey <motor4ik@gmail.com>
2021-01-12 13:46:36 +01:00
snyk-bot 6410de803e fix: test/appium/requirements.txt to reduce vulnerabilities
The following vulnerabilities are fixed by pinning transitive dependencies:
- https://snyk.io/vuln/SNYK-PYTHON-PILLOW-1055461
- https://snyk.io/vuln/SNYK-PYTHON-PILLOW-1055462
2021-01-12 13:45:27 +01:00
dependabot[bot] 9d2e2e26ad Bump lxml from 4.6.1 to 4.6.2 in /test/appium
Bumps [lxml](https://github.com/lxml/lxml) from 4.6.1 to 4.6.2.
- [Release notes](https://github.com/lxml/lxml/releases)
- [Changelog](https://github.com/lxml/lxml/blob/master/CHANGES.txt)
- [Commits](https://github.com/lxml/lxml/compare/lxml-4.6.1...lxml-4.6.2)

Signed-off-by: dependabot[bot] <support@github.com>
2021-01-12 13:45:11 +01:00
snyk-bot 6c935057c5 fix: test/appium/requirements.txt to reduce vulnerabilities
The following vulnerabilities are fixed by pinning transitive dependencies:
- https://snyk.io/vuln/SNYK-PYTHON-PILLOW-1055461
- https://snyk.io/vuln/SNYK-PYTHON-PILLOW-1055462

Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2021-01-12 12:38:11 +01:00
Serhy d68f7679df Update saucelabs endpoint
Signed-off-by: Serhy <sergii@status.im>
2021-01-12 11:38:57 +02:00
andrey 346ff25843 [#11610] App crashes on Android with GiFDecoder error
Signed-off-by: andrey <motor4ik@gmail.com>
2021-01-12 10:35:37 +01:00
Andrea Maria Piana 2e7875cfef Fix wrong greater than sign on mailserver connection
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2021-01-12 10:03:14 +01:00
andrey d6f2792622 [#11606] Favorites - when changing the name of a favorite, the past name appears quickly when saving it
Signed-off-by: andrey <motor4ik@gmail.com>
2021-01-11 16:46:20 +01:00
andrey 2af23bcb2e intro wizard indicator fix
Signed-off-by: andrey <motor4ik@gmail.com>
2021-01-11 16:45:21 +01:00
jinhojang6 e0b01d2fed Update translations
Signed-off-by: andrey <motor4ik@gmail.com>
2021-01-11 10:32:49 +01:00
jakub 9889e80bbd ci: parametrize publishing, make BUILD_TYPE a choice
This changes the behavior of mobile combined builds to not publish
the results of `nightly` or `release` builds unless `PUBLISH`
parameter is set to `true`.

It also makes the `BUILD_TYPE` into a dropdown choice field with
pre-defined values, like `manual` or `e2e`.

Changes:
- Add parameter definitions for `BUILD_TYPE` and `PUBLISH`
- Move uploading of `latest.json` to `Publish` stage
- Make `Publish` stage optional based on the `PUBLISH` parameter

Requires: https://github.com/status-im/status-react-jenkins/pull/21

Signed-off-by: Jakub Sokołowski <jakub@status.im>
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2021-01-08 12:54:17 +01:00
hesterbruikman e0e497d3d0 Adding 1.10 App/Play store release content (#11581)
* Adding 1.10 App/Play store release content

* Removes Cancel and Speed up tx

As discussed, the feature is not yet reliable for public release. On occasion the nonce cannot be overwritten, resulting in 2 pending transactions.
2021-01-07 09:43:45 +01:00
hesterbruikman abc63af4a8 Create RELEASE_CHECKLIST.md
Moving file to repo to replace hackmd notes doc

Signed-off-by: andrey <motor4ik@gmail.com>
2021-01-04 09:29:00 +01:00
Frank Tang b5b16f1278 [Fixes: #10978] Endless loading public chat name
Signed-off-by: andrey <motor4ik@gmail.com>
2021-01-04 09:26:55 +01:00
Roman Volosovskyi 767bd46bff Allow non alphanumeric branch names in scripts/update-status-go.sh 2020-12-31 12:50:26 +02:00
Roman Volosovskyi 8e288aea56 [#11379] Add a watch only account from an ENS name 2020-12-30 18:18:24 +02:00
Churikova Tetiana 4f4f6cf29e fixed testrail reports and e2e nightly
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2020-12-29 18:48:04 +01:00
Andrea Maria Piana d8235d9e17 Add milestoned to actions 2020-12-29 09:54:29 +01:00
Andrea Maria Piana 5d02472f89 Add next column to zenhub 2020-12-29 09:30:04 +01:00
Frank Tang f306b084da [Fixes: #11586] Every element in a seq should have a unique :key
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2020-12-29 09:12:50 +01:00
Andrea Maria Piana 6099262c98 [Fixes: #11579] Add only certain fields to multiaccount on login
`multiaccounts` has some fields that should not be overriden
(`save-password`), so we expliciltly `assoc` only certain fields.

Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2020-12-28 17:09:22 +01:00
Andrea Maria Piana 37ccc6f825 Hide option to increase gas on keycard
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2020-12-28 15:19:24 +01:00
Andrea Maria Piana 33e58dbca9 Whitelist link previews client side
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2020-12-28 09:37:02 +01:00
Andrea Maria Piana d8f1944b27 Hide community banner
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2020-12-28 09:36:22 +01:00
Gheorghe Pinzaru 6342163152 Add react-native-fast-image for external assets
Use fast image in link previews

Mock fast image in tests

Update nix android deps

Signed-off-by: Gheorghe Pinzaru <feross95@gmail.com>
2020-12-25 15:03:59 +03:00
Gheorghe Pinzaru 8948dcb736 Fix android text overflow
Fixes #11575

Move the overflow handler to separate view

Signed-off-by: Gheorghe Pinzaru <feross95@gmail.com>
2020-12-24 16:58:51 +03:00
hesterbruikman 52823d7f59 Create releases.md (#11463)
* Create releases.md

File that captures release notes for App store ad Play store. Informs users of relevant additions, changes, fixes.

* Update and rename releases.md to RELEASES.md

As suggested, removing checklist to keep in a separate file and using capitals for the title
2020-12-24 13:43:29 +01:00
jinhojang6 eff60c69d5 Update translations
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2020-12-24 08:24:48 +01:00
Andrea Maria Piana b30149d9f2 Bump version to 1.10.0 2020-12-24 08:23:44 +01:00
2532 changed files with 144958 additions and 69536 deletions
-5
View File
@@ -1,5 +0,0 @@
{
"presets": [
"module:metro-react-native-babel-preset"
]
}
+41 -42
View File
@@ -1,8 +1,7 @@
status-im.utils.build/warning-handler
status-im.utils.build/get-current-sha
status-im.ethereum.resolver/name
status-im.chat.constants/spacing-char
status-im.chat.constants/arg-wrapping-char
status-im2.constants/spacing-char
status-im2.constants/arg-wrapping-char
status-im.ios.core/init
status-im.ui.components.camera/aspects
status-im.ui.components.camera/capture-targets
@@ -31,7 +30,7 @@ reagent.dom/dom-node
reagent.dom/force-update-all
status-im.multiaccounts.create.core/get-new-key-code
status-im.ethereum.decode/string
status-im.network.ui.views/mainnet?
status-im.ui.screens.network.views/mainnet?
status-im.data-store.chats/event->string
status-im.mailserver.constants/seven-days
status-im.mailserver.constants/connection-timeout
@@ -47,8 +46,8 @@ status-im.utils.handlers/logged-in
status-im.multiaccounts.model/credentials
status-im.multiaccounts.login.core/contract-fleet?
status-im.multiaccounts.login.core/fetch-nodes
status-im.utils.config/rpc-networks-only?
status-im.utils.config/waku-enabled?
status-im2.config/rpc-networks-only?
status-im2.config/waku-enabled?
status-im.utils.pairing/has-paired-installations?
status-im.tribute-to-talk.core-test/user-cofx
quo.gesture-handler/tap-gesture-handler
@@ -65,7 +64,7 @@ mocks.js-dependencies/emoji-picker
mocks.js-dependencies/i18n
mocks.js-dependencies/qr-code
mocks.js-dependencies/svg
mocks.js-dependencies/vector-icons
mocks.js-dependencies/icons
mocks.js-dependencies/webview
mocks.js-dependencies/desktop-linking
mocks.js-dependencies/desktop-shortcuts
@@ -155,40 +154,40 @@ status-im.ethereum.ens/name-hash
status-im.ethereum.ens/ABI-hash
status-im.ethereum.ens/pubkey-hash
status-im.network.core/get-network
status-im.constants/desktop-content-types
status-im.constants/blocks-per-hour
status-im.constants/one-earth-day
status-im.constants/left-pane-min-width
status-im.constants/system
status-im.constants/contact-discovery
status-im.constants/send-transaction-failed-parse-response
status-im.constants/send-transaction-failed-parse-params
status-im.constants/send-transaction-no-account-selected
status-im.constants/send-transaction-invalid-tx-sender
status-im.constants/web3-get-logs
status-im.constants/web3-transaction-receipt
status-im.constants/web3-new-filter
status-im.constants/web3-new-pending-transaction-filter
status-im.constants/web3-new-block-filter
status-im.constants/web3-uninstall-filter
status-im.constants/web3-get-filter-changes
status-im.constants/web3-shh-post
status-im.constants/web3-shh-new-identity
status-im.constants/web3-shh-has-identity
status-im.constants/web3-shh-new-group
status-im.constants/web3-shh-add-to-group
status-im.constants/web3-shh-new-filter
status-im.constants/web3-shh-uninstall-filter
status-im.constants/web3-shh-get-filter-changes
status-im.constants/web3-shh-get-messages
status-im.constants/status-create-address
status-im.constants/event-transfer-hash
status-im.constants/regx-rtl-characters
status-im.constants/desktop-msg-chars-hard-limit
status-im.constants/debug-metrics
status-im.constants/scan-qr-code
status-im.constants/ipfs-proto-code
status-im.constants/swarm-proto-code
status-im2.constants/desktop-content-types
status-im2.constants/blocks-per-hour
status-im2.constants/one-earth-day
status-im2.constants/left-pane-min-width
status-im2.constants/system
status-im2.constants/contact-discovery
status-im2.constants/send-transaction-failed-parse-response
status-im2.constants/send-transaction-failed-parse-params
status-im2.constants/send-transaction-no-account-selected
status-im2.constants/send-transaction-invalid-tx-sender
status-im2.constants/web3-get-logs
status-im2.constants/web3-transaction-receipt
status-im2.constants/web3-new-filter
status-im2.constants/web3-new-pending-transaction-filter
status-im2.constants/web3-new-block-filter
status-im2.constants/web3-uninstall-filter
status-im2.constants/web3-get-filter-changes
status-im2.constants/web3-shh-post
status-im2.constants/web3-shh-new-identity
status-im2.constants/web3-shh-has-identity
status-im2.constants/web3-shh-new-group
status-im2.constants/web3-shh-add-to-group
status-im2.constants/web3-shh-new-filter
status-im2.constants/web3-shh-uninstall-filter
status-im2.constants/web3-shh-get-filter-changes
status-im2.constants/web3-shh-get-messages
status-im2.constants/status-create-address
status-im2.constants/event-transfer-hash
status-im2.constants/regx-rtl-characters
status-im2.constants/desktop-msg-chars-hard-limit
status-im2.constants/debug-metrics
status-im2.constants/scan-qr-code
status-im2.constants/ipfs-proto-code
status-im2.constants/swarm-proto-code
status-im.multiaccounts.update.publisher/publish-update!
status-im.utils.async/task-queue
status-im.utils.async/async-periodic-run!
@@ -201,7 +200,7 @@ status-im.utils.platform/isMacOs?
status-im.utils.platform/isNix?
status-im.utils.platform/isWin?
status-im.utils.platform/android-version>=
status-im.utils.debounce/clear-all
utils.debounce/clear-all
status-im.transport.db/create-chat
status-im.utils.priority-map/priority-map
status-im.utils.priority-map/priority-map-by
+23 -12
View File
@@ -1,12 +1,23 @@
{:lint-as {status-im.utils.views/defview clojure.core/defn
status-im.utils.views/letsubs clojure.core/let
status-im.utils.fx/defn clj-kondo.lint-as/def-catch-all
quo.react/with-deps-check clojure.core/fn
quo.previews.preview/list-comp clojure.core/for
status-im.utils.styles/def clojure.core/def
status-im.utils.styles/defn clojure.core/defn
taoensso.tufte/defnp clojure.core/defn}
:linters {:invalid-arity {:skip-args [status-im.utils.fx/defn]}
;;TODO remove number when this is fixed
;;https://github.com/borkdude/clj-kondo/issues/867
:unresolved-symbol {:exclude [PersistentPriorityMap.EMPTY number]}}}
{:lint-as {status-im.utils.views/defview clojure.core/defn
status-im.utils.views/letsubs clojure.core/let
reagent.core/with-let clojure.core/let
status-im.utils.fx/defn clj-kondo.lint-as/def-catch-all
utils.re-frame/defn clj-kondo.lint-as/def-catch-all
quo.react/with-deps-check clojure.core/fn
quo.previews.preview/list-comp clojure.core/for
status-im.utils.styles/def clojure.core/def
status-im.utils.styles/defn clojure.core/defn
test-helpers.unit/deftest-sub clojure.core/defn
taoensso.tufte/defnp clojure.core/defn}
:linters {:consistent-alias {:level :error
:aliases {clojure.string string
clojure.set set
clojure.walk walk
taoensso.timbre log}}
:invalid-arity {:skip-args [status-im.utils.fx/defn utils.re-frame/defn]}
;; TODO remove number when this is fixed
;; https://github.com/borkdude/clj-kondo/issues/867
:unresolved-symbol {:exclude [PersistentPriorityMap.EMPTY
number
status-im.test-helpers/restore-app-db]}}
:config-in-ns {mocks.js-dependencies {:linters {:clojure-lsp/unused-public-var {:level :off}}}}}
+37
View File
@@ -0,0 +1,37 @@
module.exports = {
"testRunner": "jest",
"testRegex": "\\.visual\\.js$",
"runner-config": "visual-test/config.json",
"devices": {
"simulator": {
"type": "ios.simulator",
"device": {
"type": "iPhone 11 Pro"
}
}
},
"apps": {
"ios.release": {
"name": "StatusIm",
"type": "ios.app",
"binaryPath": "ios/build/Build/Products/Release-iphonesimulator/StatusIm.app",
"build": "make release-ios"
},
"ios.debug": {
"name": "StatusIm",
"type": "ios.app",
"binaryPath": process.env.TEST_BINARY_PATH,
"build": "make run-ios SIMULATOR='iPhone 11 Pro'"
}
},
"configurations": {
"ios.sim.release": {
"device": "simulator",
"app": "ios.release"
},
"ios.sim.debug": {
"device": "simulator",
"app": "ios.debug"
}
}
}
+9 -4
View File
@@ -2,10 +2,9 @@ CACHED_WEBVIEWS_ENABLED=1
DEBUG_WEBVIEW=1
DEFAULT_NETWORK=mainnet_rpc
DEV_BUILD=1
ERC20_CONTRACT_WARNINGS=0
ETHEREUM_DEV_CLUSTER=1
EXTENSIONS=0
FLEET=eth.prod
FLEET=status.prod
GROUP_CHATS_ENABLED=1
LOG_LEVEL=info
MAILSERVER_CONFIRMATIONS_ENABLED=1
@@ -22,9 +21,15 @@ STATUS_GO_ENABLE_NIMBUS=0
KEYCARD_TEST_MENU=0
QR_READ_TEST_MENU=1
ENABLE_ROOT_ALERT=1
ENABLE_REFERRAL_INVITE=1
ENABLE_QUO_PREVIEW=1
MAX_IMAGES_BATCH=5
APN_TOPIC=im.status.ethereum.pr
COMMUNITIES_ENABLED=1
COMMUNITIES_MANAGEMENT_ENABLED=1
DATABASE_MANAGEMENT_ENABLED=1
DELETE_MESSAGE_ENABLED=1
COLLECTIBLES_ENABLED=1
COMMANDS_ENABLED=1
TWO_MINUTES_SYNCING=1
SWAP_ENABLED=1
STICKERS_TEST_ENABLED=1
LOCAL_PAIRING_ENABLED=1
+12 -7
View File
@@ -1,11 +1,10 @@
DEBUG_WEBVIEW=1
DEFAULT_NETWORK=testnet_rpc
ERC20_CONTRACT_WARNINGS=1
DEFAULT_NETWORK=goerli_rpc
ETHEREUM_DEV_CLUSTER=1
EXTENSIONS=0
FLEET=eth.staging
FLEET=status.prod
GROUP_CHATS_ENABLED=1
LOG_LEVEL=info
LOG_LEVEL=debug
MAILSERVER_CONFIRMATIONS_ENABLED=0
PAIRING_POPUP_DISABLED=1
PFS_ENCRYPTION_ENABLED=1
@@ -22,9 +21,15 @@ COMMANDS_ENABLED=1
KEYCARD_TEST_MENU=1
QR_READ_TEST_MENU=1
ENABLE_ROOT_ALERT=0
ENABLE_REFERRAL_INVITE=1
MAX_IMAGES_BATCH=5
APN_TOPIC=im.status.ethereum.pr
VERIFY_TRANSACTION_CHAIN_ID=3
VERIFY_TRANSACTION_CHAIN_ID=5
VERIFY_ENS_CHAIN_ID=5
TEST_STATEOFUS=1
DATABASE_MANAGEMENT_ENABLED=1
COMMUNITIES_ENABLED=1
COMMUNITIES_MANAGEMENT_ENABLED=0
COMMUNITIES_MANAGEMENT_ENABLED=1
DELETE_MESSAGE_ENABLED=1
TWO_MINUTES_SYNCING=1
STICKERS_TEST_ENABLED=1
LOCAL_PAIRING_ENABLED=1
+14 -7
View File
@@ -1,12 +1,11 @@
CACHED_WEBVIEWS_ENABLED=1
DEBUG_WEBVIEW=1
DEFAULT_NETWORK=mainnet_rpc
ERC20_CONTRACT_WARNINGS=0
DEFAULT_NETWORK=goerli_rpc
ETHEREUM_DEV_CLUSTER=1
EXTENSIONS=0
FLEET=eth.prod
FLEET=status.prod
GROUP_CHATS_ENABLED=1
LOG_LEVEL=info
LOG_LEVEL=debug
MAILSERVER_CONFIRMATIONS_ENABLED=1
MAINNET_WARNING_ENABLED=1
PFS_ENCRYPTION_ENABLED=1
@@ -18,13 +17,21 @@ RPC_NETWORKS_ONLY=0
PARTITIONED_TOPIC=0
CONTRACT_NODES=1
STATUS_GO_ENABLE_NIMBUS=0
COMMANDS_ENABLED=1
KEYCARD_TEST_MENU=0
ENABLE_ROOT_ALERT=1
ENABLE_REFERRAL_INVITE=1
DISABLE_WALLET_ON_MOBILE_NETWORK=1
APN_TOPIC=im.status.ethereum.pr
VERIFY_TRANSACTION_CHAIN_ID=5
VERIFY_ENS_CHAIN_ID=5
TEST_STATEOFUS=1
BLANK_PREVIEW=0
MAX_IMAGES_BATCH=5
GOOGLE_FREE=0
DATABASE_MANAGEMENT_ENABLED=1
COMMUNITIES_ENABLED=1
COMMUNITIES_MANAGEMENT_ENABLED=0
COMMUNITIES_MANAGEMENT_ENABLED=1
DELETE_MESSAGE_ENABLED=1
TWO_MINUTES_SYNCING=1
ENABLE_QUO_PREVIEW=1
STICKERS_TEST_ENABLED=1
LOCAL_PAIRING_ENABLED=1
+4 -3
View File
@@ -1,9 +1,8 @@
DEBUG_WEBVIEW=1
DEFAULT_NETWORK=mainnet_rpc
ERC20_CONTRACT_WARNINGS=0
ETHEREUM_DEV_CLUSTER=1
EXTENSIONS=0
FLEET=eth.prod
FLEET=status.prod
GROUP_CHATS_ENABLED=1
LOG_LEVEL=info
MAILSERVER_CONFIRMATIONS_ENABLED=1
@@ -13,11 +12,13 @@ PFS_TOGGLE_VISIBLE=1
POW_TARGET=0.002
POW_TIME=1
SNOOPY=0
KEYCARD_TEST_MENU=0
RPC_NETWORKS_ONLY=0
PARTITIONED_TOPIC=0
CONTRACT_NODES=1
ENABLE_ROOT_ALERT=1
ENABLE_REFERRAL_INVITE=0
MAX_IMAGES_BATCH=5
BLANK_PREVIEW=0
COMMUNITIES_ENABLED=1
DATABASE_MANAGEMENT_ENABLED=1
DELETE_MESSAGE_ENABLED=1
+4 -3
View File
@@ -1,9 +1,8 @@
DEBUG_WEBVIEW=0
DEFAULT_NETWORK=mainnet_rpc
ERC20_CONTRACT_WARNINGS=0
ETHEREUM_DEV_CLUSTER=0
EXTENSIONS=0
FLEET=eth.prod
FLEET=status.prod
GROUP_CHATS_ENABLED=1
LOG_LEVEL=
MAILSERVER_CONFIRMATIONS_ENABLED=1
@@ -13,8 +12,10 @@ PFS_TOGGLE_VISIBLE=0
POW_TARGET=0.002
POW_TIME=1
SNOOPY=0
KEYCARD_TEST_MENU=0
RPC_NETWORKS_ONLY=1
PARTITIONED_TOPIC=0
ENABLE_ROOT_ALERT=1
MAX_IMAGES_BATCH=1
ENABLE_REFERRAL_INVITE=0
DELETE_MESSAGE_ENABLED=1
COLLECTIBLES_ENABLED=1
+1 -1
View File
@@ -1 +1 @@
layout node
layout node
+1 -1
View File
@@ -94,4 +94,4 @@ suppress_comment=\\(.\\|\n\\)*\\$FlowIssue\\((\\(<VERSION>\\)? *\\(site=[a-z,_]*
suppress_comment=\\(.\\|\n\\)*\\$FlowFixedInNextDeploy
[version]
^0.105.0
^0.122.0
+2 -3
View File
@@ -8,10 +8,9 @@ These are just guidelines, not rules. Use your best judgment, and feel free to p
#### What should I know before I get started?
* [Mission and Core Values](https://status.im/contribute)
* [Principles](https://status.im/contribute/our_principles.html)
* [Mission and Principles](https://status.im/about)
* [Read our FAQ](https://status.im/docs/FAQs.html)
* [Join our Chat](http://join.status.im/chat/public/status-core-dev)
* [Developer Introduction](https://status.im/developer_tools/)
* [Build Status Yourself](https://status.im/build_status)
* [Build Status Yourself](https://status.im/technical/build_status)
* [Find issues to work on](https://github.com/status-im/)
+8 -27
View File
@@ -9,46 +9,27 @@ assignees: ''
# Bug Report
## Problem
An overview of the background required to understand the problem.
A problem description.
## Problem
[comment]: # (A problem description)
#### Expected behavior
[comment]: # (Describe what you expected to happen. Please include designs if possible.)
#### Actual behavior
[comment]: # (Describe what actually happened. Please include screenshots if possible.)
#### Notes
For the developer who will be investigating. Is it related to another PR? Tips on where to start?
#### Acceptance Criteria
Rules for the future PR to be accepted.
### Reproduction
[comment]: # (Describe how we can replicate the bug step by step.)
- Open Status
- ...
- Step 3, etc.
1) Open Status
2)
### Additional Information
[comment]: # (Please do your best to fill this out.)
- Status version: ...
[comment]: # (Android or iOS.)
- Operating System: <Android|iOS>
- Status version: nightly
- Operating System: Android, iOS
#### Logs
[comment]: # (if on Android please replicate bug whilst running adb logcat)
[comment]: # (Please, add logs/notes if necessary)
```
...
```
+77
View File
@@ -0,0 +1,77 @@
---
name: Release umbrella issue
about: Release Issue
title: 'Mobile release '
labels: release
assignees: ''
---
Issue to manage mobile release <version>
### Scope
[comment]: # (Add milestone from github)
https://github.com/status-im/status-mobile/milestone/
- release notes:
- release branch:
### Testing info
[comment]: # (TestRail info, added by QA)
Main test suite:
Upgrade (e2e):
### Builds in TestFlight and PlayStore to push as a release
[comment]: # (Will be added by QA after testing approving of build)
### Process
#### 1) Kick-off
- [ ] 1. Translation PRs is merged before cutting branch (Jinho)
- [ ] 2. Prepare scope of visible changes based on commits history, started from previous release branch cut ([guide](https://notes.status.im/how-to-prepare-release-notes))
- [ ] 3. Update [RELEASES.md](https://github.com/status-im/status-mobile/blob/develop/RELEASES.md) with release notes (make PR based on previous step)
- [ ] 4. Create release branch using this [guide](https://github.com/status-im/status-mobile/blob/develop/doc/RELEASE_GUIDE.md), bump VERSION (merge created PR ([example](https://github.com/status-im/status-mobile/pull/12504) ) to develop) and get successful release builds (so, testing can be started)
- [ ] 5. Based on release scope, ask for comms (Jonny)
- [ ] 6. Make sure that assets (screenshots, video) in stores are up-to-date, more info [here](https://notes.status.im/how-to-update-assets)
#### 2) Testing
[comment]: # (Section will be maintained by QA)
- [ ] Dogfooding (add notes, if it was held)
- [ ] Regression testing for release candidate build
- [ ] Upgrade tests
- [ ] Fix known blocker(s) found during regression testing
##### Blockers
[comment]: # (Section for blocker issues; should be fixed and merged by release-manager. Remove if no blockers found)
- [ ] 1 blocker:
=============================================================================================
- [ ] Cherry-pick fix(es) to the release branch
- [ ] Verify fix(es) on new release candidate build
- [ ] Retest
- [ ] Keep release build forever (button in Jenkins)
#### 3) Submission
- [ ] 1. Prepare PR for F-droid build ([instruction]( https://github.com/status-im/status-mobile/blob/develop/doc/FDROID.md))
- [ ] 2. Release notes written and added (500 character limit for updates (Android) and PR for [RELEASES.md](https://github.com/status-im/status-mobile/blob/develop/RELEASES.md) is ready to be merged (from 1.3 step)
- [ ] 3. Submit beta version for Android (Open Testing in Play Store)
- [ ] 4. Submit iOS build to Apple review ([instruction](https://drive.google.com/file/d/10Cl7PBB7TFPkZiVbfzdFGpfMRP9bxXuq/view?usp=sharing), be careful - low quality of audio)
- [ ] 5. Play store content reviewed and updated
- [ ] 6. Privacy policy reviewed and updated (ask in channel)
- [ ] 7. Countries to be excluded (ask in channel)
- [ ] 8. Changes to our FAQ made (should be checked and if any changes needed, ask Jakub to made them)
#### 4) Before publishing
- [ ] 1. Translations for comms available (marketing, ask in the channel)
- [ ] 2. Promotional content ready (marketing, ask in channel)
- [ ] 3. Upload builds for DO store, https://dev.status.im/ (Jakub)
#### 5) At time of publishing
- [ ] 1. Notify marketing to push comms and blog post (Jonny + get review on blog from QA team)
- [ ] 2. Publish release to app store and playstore
- [ ] 3. Final push to update prod site https://status.im/, [instructions](https://github.com/status-im/infra-docs/blob/master/articles/status_release_upload.md) (Jakub - requires credentials to upload)
- [ ] 4. Add the link to the post about the release and publish the release: https://github.com/status-im/status-mobile/releases (Jakub)
- [ ] 5. Merge PR for updating [RELEASES.md](https://github.com/status-im/status-mobile/blob/develop/RELEASES.md) (from 1.3 step)
+3 -2
View File
@@ -5,12 +5,13 @@ project-board:
min-reviewers: 1
tested-pr-label-name: 'Tested - Issues'
contributor-column-name: 'CONTRIBUTOR'
to-rebase-column-name: 'TO REBASE'
review-column-name: 'REVIEW'
test-column-name: 'E2E Tests'
automated-tests:
repo-full-name: 'status-im/status-react'
job-full-name: 'end-to-end-tests/status-app-prs'
repo-full-name: 'status-im/status-mobile'
job-full-name: 'status-mobile/e2e/status-app-prs'
kickoff-column-name: 'E2E Tests'
github-team:
-16
View File
@@ -1,16 +0,0 @@
name: Zenhub integration assigned
on:
issues:
types:
- assigned
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: status-im/zenhub-automations@master
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
ZENHUB_API_KEY: ${{ secrets.ZENHUB_TOKEN }}
INPROG_COLUMN: Z2lkOi8vcmFwdG9yL1BpcGVsaW5lLzMyODI1Mg
REVIEW_COLUMN: Z2lkOi8vcmFwdG9yL1BpcGVsaW5lLzIyNjk0MTA
-14
View File
@@ -1,14 +0,0 @@
name: Zenhub integration branch
on:
create:
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: status-im/zenhub-automations@master
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
ZENHUB_API_KEY: ${{ secrets.ZENHUB_TOKEN }}
INPROG_COLUMN: Z2lkOi8vcmFwdG9yL1BpcGVsaW5lLzMyODI1Mg
REVIEW_COLUMN: Z2lkOi8vcmFwdG9yL1BpcGVsaW5lLzIyNjk0MTA
-19
View File
@@ -1,19 +0,0 @@
name: Zenhub integration PR
on:
pull_request:
branches: [ develop ]
types:
- ready_for_review
- opened
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: status-im/zenhub-automations@master
if: github.event.pull_request.draft == false
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
ZENHUB_API_KEY: ${{ secrets.ZENHUB_TOKEN }}
INPROG_COLUMN: Z2lkOi8vcmFwdG9yL1BpcGVsaW5lLzMyODI1Mg
REVIEW_COLUMN: Z2lkOi8vcmFwdG9yL1BpcGVsaW5lLzIyNjk0MTA
+22 -4
View File
@@ -7,6 +7,7 @@
# Xcode
#
/component-spec
result/
build/
*.pbxuser
@@ -39,8 +40,8 @@ local.properties
.tags*
# VS Code
.vscode/ipch/
.vscode/settings.json
.vscode/
workspace.code-workspace
# node.js
#
@@ -95,12 +96,12 @@ doo-index.html
# Status
Statusgo.framework
Statusgo.xcframework
#ios
/ios/Pods/
/ios/logs/
/ios/StatusIm.xcworkspace
/ios/react-native-xcode.log
/ios/set_xcode_version.log
.ruby-version
status-e2e/
@@ -165,3 +166,20 @@ trace.edn
/app/
project.clj
##appium
test/appium/report/
result.xml
test/appium/tests/users.py
##node bindings
/bin/
/lib/
## visual tests
/artifacts
/.calva/
## component-tests
*.log
+3 -2
View File
@@ -1,6 +1,7 @@
module.exports = {
bracketSpacing: false,
jsxBracketSameLine: true,
bracketSameLine: true,
singleQuote: true,
trailingComma: 'all',
};
tabWidth: 4,
};
-10
View File
@@ -1,10 +0,0 @@
{
"files.associations": {
"*.android": "groovy",
"*.ios": "groovy",
"*.linux": "groovy",
"*.macos": "groovy",
"*.windows": "groovy",
"*.nix-cache": "groovy",
},
}
+53
View File
@@ -0,0 +1,53 @@
;; -*- mode: clojure -*-
;; vi: ft=clojure
{:width 105
:style [;; community style
;; https://github.com/kkinnear/zprint/blob/main/doc/reference.md#community
:community
;; no comma in map
:no-comma
:custom-justify
;; respect all newlines
;; https://github.com/kkinnear/zprint/blob/main/doc/reference.md#respect-nl
:respect-nl
;; respect blank line
;; https://github.com/kkinnear/zprint/blob/main/doc/reference.md#respect-bl
:respect-bl
;; hang multiline left-hand-thing
;; https://github.com/kkinnear/zprint/issues/273
:multi-lhs-hang]
:fn-map
{"reg-sub" :arg1-pair
"h/describe" :arg1-body
"h/test" :arg1-body
"global.describe" :arg1-body
"global.test" :arg1-body
"list-comp" :binding
"defview" :arg1-body
"letsubs" :binding
"with-let" "let"
"testing" :arg1-body
"deftest-sub" :arg1-body
"wait-for" :arg1-body
"with-deps-check" :arg1-body
"->" [:noarg1-body
{:list {:constant-pair? false :force-nl? false}
:next-inner-restore [[:list :constant-pair?]]}]
"set!" "reset!"
"assoc-when" "assoc"
"assoc-some" "assoc"
"conj-when" "conj"
"conj-some" "conj"}
:remove {:fn-force-nl #{:noarg1-body}}
:style-map
{:no-comma {:map {:comma? false}}
:custom-justify
{:doc "Justify everything using pre-1.1.2 approach"
:binding {:justify? true :justify {:max-variance 1000}}
:map {:justify? true :justify {:max-variance 1000}}
:pair {:justify? true :justify {:max-variance 1000}}}}}
+145 -52
View File
@@ -1,4 +1,4 @@
.PHONY: nix-add-gcroots clean nix-clean run-metro test release _list _fix-node-perms _tmpdir-mk _tmpdir-rm
.PHONY: nix-add-gcroots clean nix-clean run-metro test release _list _fix-node-perms _tmpdir-rm
help: SHELL := /bin/sh
help: ##@other Show this help
@@ -32,19 +32,23 @@ ifndef BUILD_TAG
export BUILD_TAG := $(shell git rev-parse --short HEAD)
endif
# We don't want to use /run/user/$UID because it runs out of space too easilly
export TMPDIR = /tmp/tmp-status-react-$(BUILD_TAG)
# this has to be specified for both the Node.JS server process and the Qt process
# We don't want to use /run/user/$UID because it runs out of space too easilly.
export TMPDIR = /tmp/tmp-status-mobile-$(BUILD_TAG)
# This has to be specified for both the Node.JS server process and the Qt process.
export REACT_SERVER_PORT ?= 5001
# Fix for ERR_OSSL_EVP_UNSUPPORTED error.
export NODE_OPTIONS += --openssl-legacy-provider
# The path can be anything, but home is usually safest.
export KEYSTORE_PATH ?= $(HOME)/.gradle/status-im.keystore
# Our custom config is located in nix/nix.conf
export NIX_CONF_DIR = $(PWD)/nix
# Location of symlinks to derivations that should not be garbage collected
export _NIX_GCROOTS = /nix/var/nix/gcroots/per-user/$(USER)/status-react
export _NIX_GCROOTS = /nix/var/nix/gcroots/per-user/$(USER)/status-mobile
# Defines which variables will be kept for Nix pure shell, use semicolon as divider
export _NIX_KEEP ?= TMPDIR,BUILD_ENV,STATUS_GO_SRC_OVERRIDE,NIMBUS_SRC_OVERRIDE
export _NIX_KEEP ?= TMPDIR,BUILD_ENV,STATUS_GO_SRC_OVERRIDE
# Useful for Andoird release builds
# Useful for Android release builds
TMP_BUILD_NUMBER := $(shell ./scripts/version/gen_build_no.sh | cut -c1-10)
# MacOS root is read-only, read nix/README.md for details
@@ -57,13 +61,10 @@ endif
# Nix targets
#----------------
# WARNING: This has to be located right before the targets
ifdef IN_NIX_SHELL
SHELL := env bash
else
# WARNING: This has to be located right before all the targets.
SHELL := ./nix/scripts/shell.sh
endif
shell: export TARGET ?= default
shell: ##@prepare Enter into a pre-configured shell
ifndef IN_NIX_SHELL
@ENTER_NIX_SHELL
@@ -85,7 +86,7 @@ nix-gc: nix-gc-protected ##@nix Garbage collect all packages older than 20 days
nix-store --gc
nix-clean: export TARGET := default
nix-clean: ##@nix Remove all status-react build artifacts from /nix/store
nix-clean: ##@nix Remove all status-mobile build artifacts from /nix/store
nix/scripts/clean.sh
nix-purge: SHELL := /bin/sh
@@ -117,16 +118,22 @@ _fix-node-perms: ##@prepare Fix permissions so that directory can be cleaned
$(shell test -d node_modules && chmod -R 744 node_modules)
$(shell test -d node_modules.tmp && chmod -R 744 node_modules.tmp)
_tmpdir-mk: SHELL := /bin/sh
_tmpdir-mk: ##@prepare Create a TMPDIR for temporary files
$(TMPDIR): SHELL := /bin/sh
$(TMPDIR): ##@prepare Create a TMPDIR for temporary files
@mkdir -p "$(TMPDIR)"
# Make sure TMPDIR exists every time make is called
_tmpdir-mk: $(TMPDIR)
-include _tmpdir-mk
_tmpdir-rm: SHELL := /bin/sh
_tmpdir-rm: ##@prepare Remove TMPDIR
rm -fr "$(TMPDIR)"
_install-hooks: SHELL := /bin/sh
_install-hooks: ##@prepare Create prepare-commit-msg git hook symlink
@ln -s -f ../../scripts/hooks/prepare-commit-msg .git/hooks
-include _install-hooks
# Remove directories and ignored files
clean: SHELL := /bin/sh
clean: _fix-node-perms _tmpdir-rm ##@prepare Remove all output folders
@@ -140,7 +147,7 @@ purge: _fix-node-perms _tmpdir-rm ##@prepare Remove all output folders
watchman-clean: export TARGET := watchman
watchman-clean: ##@prepare Delete repo directory from watchman
watchman watch-del $${STATUS_REACT_HOME}
watchman watch-del $${STATUS_MOBILE_HOME}
pod-install: export TARGET := ios
pod-install: ##@prepare Run 'pod install' to install podfiles and update Podfile.lock
@@ -148,33 +155,70 @@ pod-install: ##@prepare Run 'pod install' to install podfiles and update Podfile
update-fleets: ##@prepare Download up-to-date JSON file with current fleets state
curl -s https://fleets.status.im/ \
| jq --indent 4 --sort-keys . \
| sed 's/"warning": "/"warning": "DO NOT EDIT! /' \
> resources/config/fleets.json
keystore: export TARGET := keytool
keystore: export KEYSTORE_PATH ?= $(HOME)/.gradle/status-im.keystore
keystore: ##@prepare Generate a Keystore for signing Android APKs
$(KEYSTORE_PATH): export TARGET := keytool
$(KEYSTORE_PATH):
@./scripts/generate-keystore.sh
keystore: $(KEYSTORE_PATH) ##@prepare Generate a Keystore for signing Android APKs
fdroid-max-watches: SHELL := /bin/sh
fdroid-max-watches: ##@prepare Bump max_user_watches to avoid ENOSPC errors
sysctl fs.inotify.max_user_watches=524288
fdroid-nix-dir: SHELL := /bin/sh
fdroid-nix-dir: ##@prepare Create /nix directory for F-Droid Vagrant builders
mkdir -m 0755 /nix
chown vagrant /nix
fdroid-fix-tmp: SHELL := /bin/sh
fdroid-fix-tmp: ##@prepare Fix TMPDIR permissions so Vagrant user is the owner
chown -R vagrant "$(TMPDIR)"
fdroid-build-env: fdroid-max-watches fdroid-nix-dir fdroid-fix-tmp ##@prepare Setup build environment for F-Droud build
fdroid-pr: export TARGET := android-sdk
fdroid-pr: ##@prepare Create F-Droid release PR
ifndef APK
$(error APK env var not defined)
endif
scripts/fdroid-pr.sh "$(APK)"
xcode-clean: SHELL := /bin/sh
xcode-clean: XCODE_HOME := $(HOME)/Library/Developer/Xcode
xcode-clean: ##@prepare Clean XCode derived data and archives
rm -fr $(XCODE_HOME)/DerivedData/StatusIm-* $(XCODE_HOME)/Archives/*/StatusIm*
#----------------
# Release builds
#----------------
release: release-android release-ios ##@build build release for Android and iOS
release: release-android release-ios ##@build Build release for Android and iOS
release-android: export TARGET := default
release-android: export BUILD_ENV ?= prod
release-android: export BUILD_TYPE ?= nightly
release-android: export BUILD_NUMBER ?= $(TMP_BUILD_NUMBER)
build-fdroid: export BUILD_ENV = prod
build-fdroid: export BUILD_TYPE = release
build-fdroid: export ANDROID_ABI_SPLIT = false
build-fdroid: export ANDROID_ABI_INCLUDE = armeabi-v7a;arm64-v8a;x86;x86_64
build-fdroid: ##@build Build release for F-Droid
@scripts/build-android.sh
build-android: export BUILD_ENV ?= prod
build-android: export BUILD_TYPE ?= nightly
build-android: export BUILD_NUMBER ?= $(TMP_BUILD_NUMBER)
build-android: export ANDROID_ABI_SPLIT ?= false
build-android: export ANDROID_ABI_INCLUDE ?= armeabi-v7a;arm64-v8a;x86
build-android: ##@build Build unsigned Android APK
@scripts/build-android.sh
release-android: export TARGET := keytool
release-android: export KEYSTORE_PATH ?= $(HOME)/.gradle/status-im.keystore
release-android: export ANDROID_APK_SIGNED ?= true
release-android: export ANDROID_ABI_SPLIT ?= false
release-android: export ANDROID_ABI_INCLUDE ?= armeabi-v7a;arm64-v8a;x86
release-android: keystore ##@build build release for Android
scripts/release-android.sh
release-android: keystore build-android ##@build Build signed Android APK
@scripts/sign-android.sh result/app-release-unsigned.apk
release-ios: export TARGET := ios
release-ios: export BUILD_ENV ?= prod
release-ios: watchman-clean ##@build build release for iOS release
release-ios: watchman-clean ##@build Build release for iOS release
@git clean -dxf -f target/ios && \
$(MAKE) jsbundle-ios && \
xcodebuild -workspace ios/StatusIm.xcworkspace -scheme StatusIm -configuration Release -destination 'generic/platform=iOS' -UseModernBuildSystem=N clean archive
@@ -185,7 +229,7 @@ jsbundle-android: export BUILD_ENV ?= prod
jsbundle-android: ##@jsbundle Compile JavaScript and Clojurescript into app directory
# Call nix-build to build the 'targets.mobile.android.jsbundle' attribute and copy the.js files to the project root
nix/scripts/build.sh targets.mobile.android.jsbundle && \
mv result/* ./
mv result/*.js ./
jsbundle-ios: export TARGET := ios
jsbundle-ios: export BUILD_ENV ?= prod
@@ -204,6 +248,10 @@ status-go-ios: SHELL := /bin/sh
status-go-ios: ##@status-go Compile status-go for iOS app
nix/scripts/build.sh targets.status-go.mobile.ios
status-go-library: SHELL := /bin/sh
status-go-library: ##@status-go Compile status-go for node-js
nix/scripts/build.sh targets.status-go.library
#--------------
# Watch, Build & Review changes
#--------------
@@ -225,7 +273,7 @@ run-android: export TARGET := android
run-android: ##@run Build Android APK and start it on the device
npx react-native run-android --appIdSuffix debug
SIMULATOR=
SIMULATOR=iPhone 13
run-ios: export TARGET := ios
run-ios: ##@run Build iOS app and start it in a simulator/device
ifneq ("$(SIMULATOR)", "")
@@ -238,33 +286,78 @@ endif
# Tests
#--------------
lint: export TARGET := clojure
lint: ##@test Run code style checks
yarn clj-kondo --confg .clj-kondo/config.edn --lint src && \
clojure -Sdeps '{:deps {cljfmt {:mvn/version "0.6.7"}}}' \
-m cljfmt.main check $$(git diff --diff-filter=d --cached --name-only src && echo src) \
--indents indentation.edn
# Get all clojure files, including untracked, excluding removed
define find_all_clojure_files
$$(comm -23 <(sort <(git ls-files --cached --others --exclude-standard)) <(sort <(git ls-files --deleted)) | grep -e \.clj$$ -e \.cljs$$ -e \.cljc$$ -e \.edn)
endef
lint-fix: export TARGET := clojure
lint: export TARGET := default
lint: ##@test Run code style checks
@sh scripts/lint-re-frame-in-quo-components.sh && \
clj-kondo --config .clj-kondo/config.edn --cache false --lint src && \
ALL_CLOJURE_FILES=$(call find_all_clojure_files) && \
zprint '{:search-config? true}' -sfc $$ALL_CLOJURE_FILES
# NOTE: We run the linter twice because of https://github.com/kkinnear/zprint/issues/271
lint-fix: export TARGET := default
lint-fix: ##@test Run code style checks and fix issues
clojure -Sdeps '{:deps {cljfmt {:mvn/version "0.6.7"}}}' \
-m cljfmt.main fix src \
--indents indentation.edn
ALL_CLOJURE_FILES=$(call find_all_clojure_files) && \
zprint '{:search-config? true}' -sw $$ALL_CLOJURE_FILES && \
zprint '{:search-config? true}' -sw $$ALL_CLOJURE_FILES
shadow-server: export TARGET := clojure
shadow-server:##@ Start shadow-cljs in server mode for watching
yarn shadow-cljs server
test-watch: export TARGET := clojure
test-watch: ##@ Watch tests and re-run no changes to cljs files
yarn install
nodemon --exec 'yarn shadow-cljs compile mocks && yarn shadow-cljs compile test && node --require ./test-resources/override.js target/test/test.js' -e cljs
test-watch-for-repl: export TARGET := clojure
test-watch-for-repl: ##@ Watch tests and support REPL connections
yarn install
rm -f target/test/test.js
concurrently --kill-others --prefix-colors 'auto' --names 'build,repl' \
'yarn shadow-cljs compile mocks && yarn shadow-cljs watch test --verbose' \
'until [ -f ./target/test/test.js ] ; do sleep 1 ; done ; node --require ./test-resources/override.js ./target/test/test.js --repl'
test: export TARGET := clojure
test: ##@test Run tests once in NodeJS
# Here we create the gyp bindings for nodejs
yarn install
yarn shadow-cljs compile mocks && \
yarn shadow-cljs compile test && \
node --require ./test-resources/override.js target/test/test.js
coverage: ##@test Run tests once in NodeJS generating coverage
@scripts/run-coverage.sh
#--------------
run-visual-test-ios: export TARGET := clojure
run-visual-test-ios: XCODE_DERIVED_DATA := $(HOME)/Library/Developer/Xcode/DerivedData
run-visual-test-ios: APPLICATION_NAME := StatusIm-brfnruzfrkkycpbndmdoeyrigthc
run-visual-test-ios: export TEST_BINARY_PATH := $(XCODE_DERIVED_DATA)/$(APPLICATION_NAME)/Build/Products/Debug-iphonesimulator/StatusIm.app
run-visual-test-ios: ##@test Run tests once in NodeJS
detox test --configuration ios.sim.debug
component-test-watch: export TARGET := clojure
component-test-watch: export COMPONENT_TEST := true
component-test-watch: export BABEL_ENV := test
component-test-watch: ##@ Watch tests and re-run no changes to cljs files
yarn install
nodemon --exec 'yarn shadow-cljs compile component-test && jest --config=test/jest/jest.config.js' -e cljs
component-test: export TARGET := clojure
component-test: export COMPONENT_TEST := true
component-test: export BABEL_ENV := test
component-test: ##@test Run component tests once in NodeJS
yarn install
yarn shadow-cljs compile component-test && \
jest --config=test/jest/jest.config.js
# Other
#--------------
geth-connect: export TARGET := android-env
geth-connect: export TARGET := android-sdk
geth-connect: ##@other Connect to Geth on the device
adb forward tcp:8545 tcp:8545 && \
build/bin/geth attach http://localhost:8545
@@ -274,22 +367,22 @@ android-clean: ##@prepare Clean Gradle state
git clean -dxf -f ./android/app/build; \
[[ -d android/.gradle ]] && cd android && ./gradlew clean
android-ports: export TARGET := android-env
android-ports: export TARGET := android-sdk
android-ports: ##@other Add proxies to Android Device/Simulator
adb reverse tcp:8081 tcp:8081 && \
adb reverse tcp:3449 tcp:3449 && \
adb reverse tcp:4567 tcp:4567 && \
adb forward tcp:5561 tcp:5561
android-devices: export TARGET := android-env
android-devices: export TARGET := android-sdk
android-devices: ##@other Invoke adb devices
adb devices
android-logcat: export TARGET := android-env
android-logcat: ##@other Read status-react logs from Android phone using adb
android-logcat: export TARGET := android-sdk
android-logcat: ##@other Read status-mobile logs from Android phone using adb
adb logcat | grep -e RNBootstrap -e ReactNativeJS -e ReactNative -e StatusModule -e StatusNativeLogs -e 'F DEBUG :' -e 'Go :' -e 'GoLog :' -e 'libc :'
android-install: export TARGET := android-env
android-install: export TARGET := android-sdk
android-install: export BUILD_TYPE ?= release
android-install: ##@other Install APK on device using adb
adb install result/app-$(BUILD_TYPE).apk
+27 -18
View File
@@ -1,17 +1,20 @@
# Status - a Mobile Ethereum Operating System
[<img src="https://play.google.com/intl/en_us/badges/images/generic/en-play-badge.png" alt="Get it on Google Play" height="80"/>](https://play.google.com/store/apps/details?id=im.status.ethereum)
[<img src="https://fdroid.gitlab.io/artwork/badge/get-it-on.png" alt="Get it on F-Droid" height="80"/>](https://f-droid.org/packages/im.status.ethereum/)
[<img src="doc/github_badge.png" alt="Get it on Github" height="80"/>](https://github.com/status-im/status-mobile/releases)
Join us in creating a browser, messenger, and gateway to a decentralized world. Status is a free (libre) open source mobile client targeting Android & iOS built entirely on [Ethereum](https://ethereum.org/) technologies. That's right, no middle men and `go-ethereum` running directly on your device.
[![Getting started with Status](https://i.imgur.com/C0aZZEL.jpg)](https://www.youtube.com/watch?v=oDCSEmS9c3o "Getting started with Status")
## Why?
We believe in a medium of pure free trade, economies with fair, permission-less access and a world without intermediaries. We want to create policies that can exist between friends or scale globally, we want to communicate securely and be uninhibited by legacy systems.
We believe in a medium of pure free trade, economies with fair, permission-less access and a world without intermediaries. We want to create policies that can exist between friends or scale globally, we want to communicate securely and be uninhibited by legacy systems.
We want to take responsibility for our data, the way we conduct ourselves privately and promote this way of life to a mass audience.
We want deep insights into our own economies so we can make informed, data-driven decisions on how to make our lives better. The Ethereum blockchain, Smart Contracts, Swarm and Whisper provides us a path forward.
We want deep insights into our own economies so we can make informed, data-driven decisions on how to make our lives better. The Ethereum blockchain, Smart Contracts, Swarm and Whisper provides us a path forward.
If this interests you, **help us make Status a reality** - anyone can contribute and we need everyone at any skill level to participate.
@@ -19,29 +22,37 @@ If this interests you, **help us make Status a reality** - anyone can contribute
Go straight to the [docs](https://status.im/docs) or [join our chat](https://join.status.im/chat/public/status) and choose what interests you:
- **Developer**
Developers are the heart of software and to keep Status beating we need all the help we can get! If you're looking to code in ClojureScript or Golang then Status is the project for you! We use React Native and there is even some Java/Objective-C too!
Want to learn more about it? Start by reading our [Developer Introduction](https://status.im/developer_tools/) which guides you through the technology stack and start browsing [beginner issues](https://github.com/status-im/status-react/issues?utf8=%E2%9C%93&q=is%3Aopen%20is%3Aissue%20label%3A%22good%20first%20issue%22%20). Then you can read how to [Build Status](https://status.im/technical/build_status/), which talks about managing project dependencies, coding guidelines and testing procedures.
- **Developer** Developers are the heart of software and to keep Status beating
we need all the help we can get! If you're looking to code in ClojureScript or
Golang then Status is the project for you! We use React Native and there is even
some Java/Objective-C too! Want to learn more about it? Start by reading our
[Developer Introduction](https://status.im/developer_tools/) which guides you
through the technology stack and start browsing [beginner
issues](https://github.com/status-im/status-mobile/issues?utf8=%E2%9C%93&q=is%3Aopen%20is%3Aissue%20label%3A%22good%20first%20issue%22%20).
Then you can read how to [Build
Status](https://status.im/technical/build_status/), which talks about managing
project dependencies, coding guidelines and testing procedures. The [doc/](doc/)
directory also has valuable information for contributors.
- **Community Management**
Metcalfe's law states that the value of a network is proportional to the square of the number of connected users of the system - without community Status is meaningless. We're looking to create a positive, fun environment to explore new ideas, experiment and grow the Status community. Building a community takes a lot of work but the people you'll meet and long lasting relationships you form will be well worth it, check out our [Community Principles](https://status.im/contribute/our_principles.html)
- **Community Management**
Metcalfe's law states that the value of a network is proportional to the square of the number of connected users of the system - without community Status is meaningless. We're looking to create a positive, fun environment to explore new ideas, experiment and grow the Status community. Building a community takes a lot of work but the people you'll meet and long lasting relationships you form will be well worth it, check out our [Mission and Community Principles](https://status.im/about)
- **Specification / Documentation**
- **Specification / Documentation**
John Dewey once said "Education is not preparation for life; education is life *itself* ". Developers & Designers need guidance and it all starts from documentation and specifications. Our software is only as good as its documentation, head over to our [docs](https://status.im/docs) and see how you can improve what we have.
- **Blog Writing**
- **Blog Writing**
Content is King, keeping our blog up to date and informing the community of news helps keep everyone on the same page. [Jump into our chat](https://join.status.im/chat/public/status) and discuss with the team how you can contribute!
- **Testers**
It's bug hunting season! Status is currently under active development and there is sure to be a bunch of learning, [build status from scratch](https://status.im/technical/build_status/) or if an android user check out our [nightly builds](https://status.im/nightly). You can shake your phone to submit bug reports, or start browsing our [Github Issues](https://github.com/status-im/status-react/issues). Every bug you find brings Status closer to stable, usable software for everyone to enjoy!
- **Testers**
It's bug hunting season! Status is currently under active development and there is sure to be a bunch of learning, [build status from scratch](https://status.im/technical/build_status/) or if an android user check out our [nightly builds](https://status.im/nightly). You can shake your phone to submit bug reports, or start browsing our [Github Issues](https://github.com/status-im/status-mobile/issues). Every bug you find brings Status closer to stable, usable software for everyone to enjoy!
- **Security**
- **Security**
Status is a visual interface to make permanent changes on the Blockchain, it handles crypto-tokens that have real value and allows 3rd party code execution. Security is paramount to its success. You are given permission to break Status as hard as you can, as long as you share your findings with the community!
- **Evangelism**
- **Evangelism**
Help us spread the word! Tell a friend *right now*, in fact tell **everyone** - yell from a mountain if you have to, every person counts! If you've got a great story to tell or have some interesting way you've spread the word about Status let us know about it in our [chat](https://join.status.im/chat/public/status)
## Status API
## Status API
View our [API Docs](https://status.im/developer_tools/status_web_api.html) and learn how to integrate your DApp into Status. You can read more about how to add your DApp to Status [here](https://status.im/developer_tools/add_your_dapp.html).
## Give me Binaries!
@@ -61,10 +72,8 @@ Feel free to email us at [support@status.im](mailto:support@status.im) or better
## License
Licensed under the [Mozilla Public License v2.0](https://github.com/status-im/status-react/blob/develop/LICENSE.md)
Licensed under the [Mozilla Public License v2.0](https://github.com/status-im/status-mobile/blob/develop/LICENSE.md)
## Testing Supported by
[![BrowserStack Status](https://www.browserstack.com/automate/badge.svg?badge_key=SFBWQ3k5R2tnT2t6UGsxU1h1U0g3VFlCNnoxVTRHYWNoTDhsb1laaTJZWT0tLUZMUm5sSVFBSU9qSWM1RUJvK1I3Z3c9PQ==--ad15ae7992b432b33743749d40318952415bd98f)](https://www.browserstack.com/automate/public-build/SFBWQ3k5R2tnT2t6UGsxU1h1U0g3VFlCNnoxVTRHYWNoTDhsb1laaTJZWT0tLUZMUm5sSVFBSU9qSWM1RUJvK1I3Z3c9PQ==--ad15ae7992b432b33743749d40318952415bd98f)
[![Coverage Status](https://coveralls.io/repos/github/status-im/status-react/badge.svg?)](https://coveralls.io/github/status-im/status-react)
-11
View File
@@ -1,11 +0,0 @@
# Description
This document explains some of the steps that are involved in relseases.
## PlayStore Metadata Updates
You can update Play Store releae metadata using `fastlane android upload_metadata`.
But that requires credentials necessary for accessing Play Store API. The simpler way is to edit files contained within [`fastlane/metadata`](metadata) and run the following CI job:
https://ci.status.im/job/status-tools/job/update-playstore-metadata/
+1336
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -1 +1 @@
1.8.0
1.21.0
+37 -30
View File
@@ -76,13 +76,22 @@ import com.sun.org.apache.xalan.internal.xsltc.compiler.Copy
* extraPackagerArgs: []
* ]
*/
/*
Enabling Hermes on x86 devices is crashing the app after a few reloads,
this flag can be used to disable Hermes while building app.
https://github.com/status-im/status-mobile/issues/14031
*/
def disableHermes = System.getenv('DISABLE_HERMES') == 'true'
project.ext.react = [
nodeExecutableAndArgs: ["node", "--max-old-space-size=16384"],
entryFile: "index.js",
/* NOTE: Hermes engine is required for Android 64-bit builds running on 64 devices,
* to guard against a hang in the UI thread after invoking status-go.
* Also a clean and rebuild is required when changing this. */
enableHermes: true,
enableHermes: !disableHermes,
/* Disable 'The first definition was here.' warnings */
hermesFlagsRelease: ["-w"],
bundleInPr: true,
@@ -123,10 +132,12 @@ def jscFlavor = 'org.webkit:android-jsc:+'
*/
def enableHermes = project.ext.react.get("enableHermes", false);
/**
* Exclude google library so we can publish to external android stores
*/
def googleFree = project.env.get("GOOGLE_FREE", false)
def getCommitHash = { ->
if (project.hasProperty("commitHash")) {
return project.commitHash
}
return "unknown"
}
def getVersionCode = { ->
new ByteArrayOutputStream().withStream { stdOut ->
@@ -148,7 +159,10 @@ def getVersionName = { ->
if (project.hasProperty("releaseVersion")) {
return project.releaseVersion
}
version = new File('../VERSION').text
/* Necessary because Android Studio uses wrong PWD.
* Is actually absolute directory path of this file. */
def configDir = project.projectDir.toString()
version = new File(configDir + '/../../VERSION').text
return version.replaceAll("\\s","")
}
}
@@ -184,6 +198,7 @@ android {
versionCode getVersionCode()
versionName getVersionName()
missingDimensionStrategy 'react-native-camera', 'general'
manifestPlaceholders = [commitHash: getCommitHash()]
/* this needs to be empty if we want APKs split by ABIs */
if (!getEnvOrConfig('ANDROID_ABI_SPLIT').toBoolean()) {
ndk {
@@ -226,23 +241,6 @@ android {
jumboMode true
javaMaxHeapSize "8g"
}
signingConfigs {
debug {
storeFile file('debug.keystore')
storePassword 'android'
keyAlias 'androiddebugkey'
keyPassword 'android'
}
/* Caution! In production, you need to generate your own keystore file.
* See: https://facebook.github.io/react-native/docs/signed-apk-android */
release {
/* environment variables take precedence over gradle.properties file */
storeFile file(getEnvOrConfig('KEYSTORE_PATH').replaceAll("~", System.properties['user.home']))
storePassword getEnvOrConfig('KEYSTORE_PASSWORD')
keyAlias getEnvOrConfig('KEYSTORE_ALIAS')
keyPassword getEnvOrConfig('KEYSTORE_KEY_PASSWORD')
}
}
splits {
abi {
reset()
@@ -251,20 +249,26 @@ android {
universalApk true
}
}
signingConfigs {
debug {
storeFile file('debug.keystore')
storePassword 'android'
keyAlias 'androiddebugkey'
keyPassword 'android'
}
}
buildTypes {
debug {
applicationIdSuffix ".debug"
debuggable true
versionNameSuffix "-SNAPSHOT"
signingConfig signingConfigs.debug
resValue "string", "build_config_package", "im.status.ethereum"
signingConfig signingConfigs.debug
}
release {
minifyEnabled enableProguardInReleaseBuilds
proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
if (getEnvOrConfig('ANDROID_APK_SIGNED').toBoolean()) {
signingConfig signingConfigs.release
}
signingConfig null
}
pr {
initWith release
@@ -306,6 +310,7 @@ dependencies {
implementation "com.facebook.react:react-native:+" // From node_modules
implementation "androidx.swiperefreshlayout:swiperefreshlayout:1.0.0"
implementation "androidx.core:core-splashscreen:1.0.0"
debugImplementation("com.facebook.flipper:flipper:${FLIPPER_VERSION}") {
exclude group:'com.facebook.fbjni'
@@ -333,6 +338,7 @@ dependencies {
implementation 'androidx.multidex:multidex:2.0.1' // only needed if minSdkVersion is less than 21 (https://developer.android.com/studio/build/multidex)
implementation project(':react-native-dialogs')
implementation project(':react-native-blur')
// Force using exact RN version instead of relying on gradle dependency resolution
// https://docs.gradle.org/current/userguide/introduction_dependency_management.html#sec:dependency_resolution
// NOTE: Uncomment if building RN from a fork
@@ -340,8 +346,9 @@ dependencies {
implementation project(':react-native-status')
implementation project(':react-native-status-keycard')
implementation 'com.github.status-im:function:0.0.1'
implementation 'com.facebook.fresco:fresco:2.0.0'
implementation 'com.facebook.fresco:animated-gif:2.0.0'
implementation 'com.facebook.fresco:fresco:2.2.0'
implementation 'com.facebook.fresco:animated-gif:2.2.0'
implementation "com.squareup.okhttp3:okhttp-tls:3.12.12"
}
def getLocalNDKDir = { ->
@@ -363,7 +370,7 @@ task hemroidBuild(type: Exec) {
def localNdkDir = getLocalNDKDir()
def ndkDir = System.env.ANDROID_NDK_ROOT
if (localNdkDir != null) {
ndkDir = localNdkDir
ndkDir = localNdkDir
}
def execPath = "$ndkDir/ndk-build"
+12
View File
@@ -64,3 +64,15 @@
-dontwarn java.nio.file.*
-dontwarn org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement
-dontwarn okio.**
# fast-image
-keep public class com.dylanvann.fastimage.* {*;}
-keep public class com.dylanvann.fastimage.** {*;}
-keep public class * implements com.bumptech.glide.module.GlideModule
-keep public class com.bumptech.glide.annotation.GlideModule
-keep public class * extends com.bumptech.glide.module.AppGlideModule
-keep public enum com.bumptech.glide.load.ImageHeaderParser$** {
**[] $VALUES;
public *;
}
+4 -1
View File
@@ -2,7 +2,10 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
<!-- These are added by React Native for debug mode, but actually aren't needed in release mode -->
<uses-permission tools:node="remove" android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
<!-- Remove licensing permission since we don't license our app and it blocks F-Droid submissions. -->
<uses-permission tools:node="remove" android:name="com.android.vending.CHECK_LICENSE"/>
<application tools:targetApi="28" tools:ignore="GoogleAppIndexingWarning" android:usesCleartextTraffic="true" />
</manifest>
+8 -12
View File
@@ -17,31 +17,28 @@
<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.autofocus" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"
android:maxSdkVersion="28" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.USE_FINGERPRINT" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="com.android.vending.BILLING" />
<!-- these permissions should be removed -->
<!-- React Native unnecessary permissions (https://github.com/facebook/react-native/issues/5886) -->
<uses-permission android:name="android.permission.READ_PHONE_STATE" tools:node="remove"/>
<application
tools:replace="android:allowBackup"
android:allowBackup="false"
android:label="@string/app_name"
android:icon="@mipmap/ic_launcher"
android:theme="@style/AppTheme"
android:theme="@style/Theme.AppSplash"
android:name=".MainApplication"
android:largeHeap="true"
android:usesCleartextTraffic="true"
android:requestLegacyExternalStorage="true">
android:usesCleartextTraffic="true">
<meta-data android:name="commitHash" android:value="${commitHash}"/>
<activity
android:name=".MainActivity"
android:exported="true"
android:label="@string/app_name"
android:theme="@style/Theme.AppSplash"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustResize"
android:configChanges="keyboard|keyboardHidden|orientation|screenSize|uiMode"
@@ -74,8 +71,7 @@
</intent-filter>
</activity>
<activity android:name="com.facebook.react.devsupport.DevSettingsActivity"/>
<service android:name="im.status.ethereum.module.ForegroundService"></service>
<service android:name="im.status.ethereum.module.LocalNotificationsService" />
<service android:name="im.status.ethereum.pushnotifications.ForegroundService"></service>
<provider
android:name="androidx.core.content.FileProvider"
android:authorities="${applicationId}.provider"
@@ -21,23 +21,30 @@ import android.content.SharedPreferences;
import android.content.res.Configuration;
import android.provider.Settings;
import android.os.Bundle;
import android.os.Handler;
import com.facebook.react.ReactActivityDelegate;
import com.facebook.react.ReactRootView;
import com.facebook.react.modules.core.DeviceEventManagerModule;
import com.facebook.react.bridge.Arguments;
import com.facebook.react.bridge.WritableMap;
import com.swmansion.gesturehandler.react.RNGestureHandlerEnabledRootView;
import com.facebook.react.ReactFragmentActivity;
import com.facebook.react.ReactActivity;
import com.reactnativenavigation.NavigationActivity;
import com.facebook.react.modules.core.PermissionListener;
import org.devio.rn.splashscreen.SplashScreen;
import androidx.core.splashscreen.SplashScreen;
import java.util.Properties;
import im.status.ethereum.module.StatusThreadPoolExecutor;
import im.status.ethereum.MainApplication;
public class MainActivity extends ReactFragmentActivity
public class MainActivity extends NavigationActivity
implements ActivityCompat.OnRequestPermissionsResultCallback{
@Nullable private PermissionListener mPermissionListener;
private boolean keepSplash = true;
private final int SPLASH_DELAY = 3200;
private static void registerUncaughtExceptionHandler(final Context context) {
final Thread.UncaughtExceptionHandler defaultUncaughtExceptionHandler = Thread.getDefaultUncaughtExceptionHandler();
@@ -97,6 +104,16 @@ public class MainActivity extends ReactFragmentActivity
return intent;
}
private void tryToEmit(String eventName, WritableMap event) {
try {
((MainApplication) getApplication()).getReactNativeHost()
.getReactInstanceManager()
.getCurrentReactContext()
.getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter.class)
.emit("url", event);
} catch(Exception e) {/* we expect NPE on first start, which is OK because we have a fallback */}
}
@Override
public void onNewIntent(final Intent intent) {
super.onNewIntent(intent);
@@ -107,18 +124,8 @@ public class MainActivity extends ReactFragmentActivity
@Override
protected void onCreate(Bundle savedInstanceState) {
switch (getResources().getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK) {
case Configuration.UI_MODE_NIGHT_YES:
setTheme(R.style.DarkTheme);
break;
case Configuration.UI_MODE_NIGHT_NO:
setTheme(R.style.LightTheme);
break;
default:
setTheme(R.style.LightTheme);
}
SplashScreen splashScreen = SplashScreen.installSplashScreen(this);
setTheme(R.style.DarkTheme);
// Make sure we get an Alert for every uncaught exceptions
registerUncaughtExceptionHandler(MainActivity.this);
@@ -127,7 +134,7 @@ public class MainActivity extends ReactFragmentActivity
Log.v("RNBootstrap", "Available system memory "+getAvailableMemory(activityManager).availMem + ", maximum usable application memory " + activityManager.getLargeMemoryClass()+"M");
setSecureFlag();
SplashScreen.show(this, true);
// NOTE: Try to not restore the state https://github.com/software-mansion/react-native-screens/issues/17
super.onCreate(null);
@@ -167,9 +174,24 @@ public class MainActivity extends ReactFragmentActivity
@Override
public void run() {
System.loadLibrary("status-logs");
// when app is started but the Activity has been destroyed, the deep linking url event is
// not emitted when coming back to foreground. This is a workaround. If the problem is
// resolved in react-native this code should be removed
if (getIntent().getData() != null) {
WritableMap event = Arguments.createMap();
event.putString("url", getIntent().getDataString());
// on first start emit will (silently) fail, but the regular deep linking handler will work
tryToEmit("url", event);
}
}
};
splashScreen.setKeepOnScreenCondition(() -> keepSplash);
Handler handler = new Handler();
handler.postDelayed(() -> keepSplash = false, SPLASH_DELAY);
StatusThreadPoolExecutor.getInstance().execute(r);
}
@@ -178,14 +200,7 @@ public class MainActivity extends ReactFragmentActivity
super.onDestroy();
}
/**
* Returns the name of the main component registered from JavaScript.
* This is used to schedule rendering of the component.
*/
@Override
protected String getMainComponentName() {
return "StatusIm";
}
@Override
public void onConfigurationChanged(Configuration newConfig) {
@@ -242,14 +257,4 @@ public class MainActivity extends ReactFragmentActivity
mPermissionListener = null;
}
}
@Override
protected ReactActivityDelegate createReactActivityDelegate() {
return new ReactActivityDelegate(this, getMainComponentName()) {
@Override
protected ReactRootView createRootView() {
return new RNGestureHandlerEnabledRootView(MainActivity.this);
}
};
}
}
@@ -9,20 +9,28 @@ import com.facebook.react.PackageList;
import com.aakashns.reactnativedialogs.ReactNativeDialogsPackage;
import com.facebook.react.ReactApplication;
import cl.json.RNSharePackage;
import com.facebook.react.ReactNativeHost;
import com.reactnativenavigation.NavigationApplication;
import com.reactnativenavigation.react.NavigationReactNativeHost;
import com.facebook.react.ReactPackage;
import com.facebook.soloader.SoLoader;
import com.facebook.react.ReactInstanceManager;
import com.facebook.react.modules.network.OkHttpClientProvider;
import com.reactnativecommunity.blurview.BlurViewPackage;
import java.util.List;
import im.status.ethereum.keycard.RNStatusKeycardPackage;
import im.status.ethereum.module.StatusPackage;
import im.status.ethereum.pushnotifications.PushNotificationPackage;
import im.status.ethereum.StatusOkHttpClientFactory;
public class MainApplication extends MultiDexApplication implements ReactApplication {
import com.facebook.react.bridge.JSIModulePackage;
import com.swmansion.reanimated.ReanimatedJSIModulePackage;
private final ReactNativeHost mReactNativeHost = new ReactNativeHost(this) {
public class MainApplication extends NavigationApplication {
private final ReactNativeHost mReactNativeHost = new NavigationReactNativeHost(this) {
@Override
public boolean getUseDeveloperSupport() {
return BuildConfig.DEBUG;
@@ -37,6 +45,7 @@ public class MainApplication extends MultiDexApplication implements ReactApplica
packages.add(new ReactNativeDialogsPackage());
packages.add(new RNStatusKeycardPackage());
packages.add(new PushNotificationPackage());
packages.add(new BlurViewPackage());
return packages;
}
@@ -44,6 +53,11 @@ public class MainApplication extends MultiDexApplication implements ReactApplica
protected String getJSMainModuleName() {
return "index";
}
@Override
protected JSIModulePackage getJSIModulePackage() {
return new ReanimatedJSIModulePackage();
}
};
@Override
@@ -54,7 +68,9 @@ public class MainApplication extends MultiDexApplication implements ReactApplica
@Override
public void onCreate() {
super.onCreate();
SoLoader.init(this, /* native exopackage */ false);
OkHttpClientProvider.setOkHttpClientFactory(new StatusOkHttpClientFactory());
WebView.setWebContentsDebuggingEnabled(BuildConfig.DEBUG_WEBVIEW == "1");
initializeFlipper(this, getReactNativeHost().getReactInstanceManager());
}
@@ -0,0 +1,44 @@
package im.status.ethereum;
import android.util.Log;
import com.facebook.react.modules.network.OkHttpClientFactory;
import com.facebook.react.modules.network.OkHttpClientProvider;
import okhttp3.OkHttpClient;
import okhttp3.Interceptor;
import okhttp3.tls.HandshakeCertificates;
import java.io.ByteArrayInputStream;
import java.io.InputStream;
import java.lang.RuntimeException;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.security.cert.CertificateFactory;
import java.security.cert.X509Certificate;
import im.status.ethereum.module.StatusPackage;
class StatusOkHttpClientFactory implements OkHttpClientFactory {
public OkHttpClient createNewNetworkModuleClient() {
String certPem = StatusPackage.getImageTLSCert();
X509Certificate cert;
try {
CertificateFactory cf = CertificateFactory.getInstance("X.509");
cert = (X509Certificate) cf.generateCertificate(new ByteArrayInputStream(certPem.getBytes()));
} catch(Exception e) {
Log.e("StatusOkHttpClientFactory", "Could not parse certificate");
cert = null;
}
HandshakeCertificates clientCertificates = new HandshakeCertificates.Builder()
.addPlatformTrustedCertificates()
.addTrustedCertificate(cert)
.build();
return OkHttpClientProvider.createClientBuilder()
.sslSocketFactory(clientCertificates.sslSocketFactory(), clientCertificates.trustManager())
.build();
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 482 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 272 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 975 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 495 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 826 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 826 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

@@ -1,16 +1,21 @@
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="?attr/backgroundColor">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:layout_gravity="center"
android:scaleType="fitCenter"
android:src="@drawable/launch_logo"/>
</FrameLayout>
<com.airbnb.lottie.LottieAnimationView
android:id="@+id/lottie"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:layout_gravity="center"
android:scaleType="fitCenter"
android:adjustViewBounds="true"
app:lottie_rawRes="@raw/launching_animation"
app:lottie_autoPlay="true"
app:lottie_loop="true"
/>
</FrameLayout>
File diff suppressed because one or more lines are too long
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="alert_background">#141414</color>
<color name="alert_text">#ffffff</color>
</resources>
@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="alert_background">#ffffff</color>
<color name="alert_text">#000000</color>
<color name="splash_background">#09101C</color>
<color name="splash_status_bar_color">#ffffff</color>
</resources>
@@ -0,0 +1,13 @@
<resources xmlns:tools="http://schemas.android.com/tools">
<style name="Theme.AppSplash" parent="Theme.SplashScreen">
<item name="windowSplashScreenBackground">@color/splash_background</item>
<item name="windowSplashScreenAnimatedIcon">@drawable/splash_logo</item>
<item name="windowSplashScreenAnimationDuration">1000</item>
<!-- Status bar and Nav bar configs -->
<item name="android:statusBarColor" tools:targetApi="l">@color/splash_background</item>
<item name="android:windowLightStatusBar">false</item>
<item name="postSplashScreenTheme">@style/DarkTheme</item>
</style>
</resources>
@@ -8,6 +8,7 @@
<item name="android:forceDarkAllowed">true</item>
<item name="android:windowTranslucentStatus">false</item>
<item name="android:statusBarColor">?attr/backgroundColor</item>
<item name="android:alertDialogTheme">@style/AlertDialogTheme</item>
</style>
<style name="LightTheme" parent="AppTheme">
@@ -21,4 +22,10 @@
<item name="backgroundColor">#000000</item>
<item name="android:windowLightStatusBar">false</item>
</style>
<style name="AlertDialogTheme" parent="Theme.AppCompat.DayNight.Dialog.Alert">
<item name="android:textColor">@color/alert_text</item>
<item name="android:textColorPrimary">@color/alert_text</item>
<item name="android:background">@color/alert_background</item>
</style>
</resources>
+2
View File
@@ -3,5 +3,7 @@
<!-- These are added by React Native for debug mode, but actually aren't needed in release mode -->
<uses-permission tools:node="remove" android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
<!-- Remove licensing permission since we don't license our app and it blocks F-Droid submissions. -->
<uses-permission tools:node="remove" android:name="com.android.vending.CHECK_LICENSE"/>
</manifest>
+3 -1
View File
@@ -3,5 +3,7 @@
<!-- These are added by React Native for debug mode, but actually aren't needed in release mode -->
<uses-permission tools:node="remove" android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
<!-- Remove licensing permission since we don't license our app and it blocks F-Droid submissions. -->
<uses-permission tools:node="remove" android:name="com.android.vending.CHECK_LICENSE"/>
</manifest>
</manifest>
+15 -17
View File
@@ -4,6 +4,7 @@
* Project-wide gradle configuration properties for use by all modules
*/
ext {
RNNKotlinVersion = "1.4.31"
buildToolsVersion = project.buildToolsVersion
minSdkVersion = Integer.valueOf(project.minSdkVersion)
compileSdkVersion = Integer.valueOf(project.compileSdkVersion)
@@ -16,9 +17,10 @@ buildscript {
repositories {
flatDir { dirs "libs", "${rootDir}/app/libs" }
google()
jcenter()
mavenCentral()
}
dependencies {
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.4.31"
classpath "com.android.tools.build:gradle:${project.ext.gradlePluginVersion}"
// WARNING: Do not place your application dependencies here!
// They belong in the individual module build.gradle files.
@@ -42,27 +44,23 @@ subprojects {
allprojects {
beforeEvaluate {
if (System.env.STATUS_GO_ANDROID_LIBDIR == null || System.env.STATUS_GO_ANDROID_LIBDIR == "") {
throw new GradleException('STATUS_GO_ANDROID_LIBDIR environment variable is not valid!')
}
if (System.env.STATUS_GO_ANDROID_LIBDIR == null || System.env.STATUS_GO_ANDROID_LIBDIR == "") {
throw new GradleException('STATUS_GO_ANDROID_LIBDIR environment variable is not valid!')
}
}
repositories {
mavenLocal()
maven {
// All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
url("$rootDir/../node_modules/react-native/android")
}
maven {
// Android JSC is installed from npm
url("$rootDir/../node_modules/jsc-android/dist")
}
google()
jcenter()
// for geth, function, and status-go
// All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
maven { url("$rootDir/../node_modules/react-native/android") }
// Android JSC is installed from npm
maven { url("$rootDir/../node_modules/jsc-android/dist") }
// For geth, function, and status-go
flatDir { dirs "libs", System.env.STATUS_GO_ANDROID_LIBDIR }
// Everything Else
google()
jcenter() // Required for @react-native-community/blur:3.6.1, can be removed after updating to 3.6.1+
mavenCentral()
maven { url "https://www.jitpack.io" }
}
}
+6 -7
View File
@@ -23,12 +23,12 @@
# Version requirements used throughout the Gradle scripts
kotlinVersion=1.3.50
minSdkVersion=23
compileSdkVersion=29
targetSdkVersion=29
buildToolsVersion=29.0.2
compileSdkVersion=31
targetSdkVersion=31
buildToolsVersion=31.0.0
supportLibVersion=28.0.0
# This should match version from nix/mobile/android/maven-and-npm-deps/maven/default.nix
gradlePluginVersion=3.5.3
gradlePluginVersion=3.5.4
android.useAndroidX=true
android.enableJetifier=true
@@ -42,12 +42,11 @@ KEYSTORE_KEY_PASSWORD=password
ANDROID_ABI_SPLIT=false
# Some platforms are excluded though
ANDROID_ABI_INCLUDE=armeabi-v7a;arm64-v8a;x86
# F-Droid builds need to be unsigned
ANDROID_APK_SIGNED=true
org.gradle.jvmargs=-Xmx8704M
versionCode=9999
commitHash=unknown
# Flipper
FLIPPER_VERSION=0.35.0
FLIPPER_VERSION=0.54.0
+4
View File
@@ -1,4 +1,6 @@
pluginManagement {
include ':react-native-share'
project(':react-native-share').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-share/android')
repositories {
mavenLocal() // Let's prioritize local Maven repos so that Nix can provide them offline
gradlePluginPortal()
@@ -16,3 +18,5 @@ include ':react-native-status'
project(':react-native-status').projectDir = new File(rootProject.projectDir, '../modules/react-native-status/android')
include ':react-native-status-keycard'
project(':react-native-status-keycard').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-status-keycard/android')
include ':react-native-blur'
project(':react-native-blur').projectDir = new File(rootProject.projectDir, '../node_modules/@react-native-community/blur/android')
+24
View File
@@ -0,0 +1,24 @@
module.exports = {
"presets": [
"module:metro-react-native-babel-preset"
],
"plugins": [
"react-native-reanimated/plugin"
],
"env": {
"test": {
"presets": [
'@babel/preset-react',
[
'@babel/preset-env',
{
targets: {
node: '14',
},
},
],
],
}
}
}
+38
View File
@@ -0,0 +1,38 @@
{
"variables": {
"module_name%": "status_nodejs_addon",
"module_path%": "./lib/binding/"
},
"targets": [{
"target_name": "<(module_name)",
"sources": [
"./modules/react-native-status/nodejs/status.cpp"
],
"xcode_settings": {
"MACOSX_DEPLOYMENT_TARGET": "10.7"
},
"libraries": [
"<!(pwd)/result/libstatus.a"
],
"conditions": [
["OS=='mac'", {
"libraries": [
"-framework IOKit",
"-framework CoreFoundation",
"-framework CoreServices",
"-framework Security"
]
}]
]
}, {
"target_name": "action_after_build",
"type": "none",
"dependencies": ["<(module_name)"],
"copies": [
{
"files": [ "<(PRODUCT_DIR)/<(module_name).node" ],
"destination": "<(module_path)"
}
]
}]
}
+32 -66
View File
@@ -1,12 +1,15 @@
library 'status-react-jenkins@v1.2.8'
library 'status-jenkins-lib@v1.6.9'
/* Options section can't access functions in objects. */
def isPRBuild = utils.isPRBuild()
pipeline {
agent { label 'linux' }
agent { label 'linux && x86_64 && nix-2.11' }
options {
timestamps()
/* Prevent Jenkins jobs from running forever */
timeout(time: 20, unit: 'MINUTES')
timeout(time: 30, unit: 'MINUTES')
/* Limit builds retained */
buildDiscarder(logRotator(
numToKeepStr: '10',
@@ -14,7 +17,11 @@ pipeline {
artifactNumToKeepStr: '10',
))
/* Allows combined build to copy */
copyArtifactPermission('/status-react/*')
copyArtifactPermission('/status-mobile/*')
/* Abort old PR builds. */
disableConcurrentBuilds(
abortPrevious: isPRBuild
)
}
parameters {
@@ -29,7 +36,7 @@ pipeline {
LANG = "en_US.UTF-8"
LC_ALL = "en_US.UTF-8"
LANGUAGE = "en_US.UTF-8"
TARGET = 'android'
TARGET = "android${utils.isE2EBuild() ? "-e2e" : ""}"
BUILD_ENV = 'prod'
NIX_CONF_DIR = "${env.WORKSPACE}/nix"
FASTLANE_DISABLE_COLORS = 1
@@ -42,46 +49,20 @@ pipeline {
stage('Prep') {
steps {
script {
btype = utils.getBuildType()
print "Running ${btype} build!"
jenkins.abortPreviousRunningBuilds()
/* Cleanup and Prep */
commonPrep(btype)
utils.doGitRebasePR()
utils.symlinkEnv()
println("Build Number: ${utils.genBuildNumber()}")
}
}
}
stage('Parallel Assemble') {
parallel {
stage('Checks') { stages {
stage('Lint') {
steps {
script {
/* We want the build result to be uploaded */
catchError(
message: 'Linting check failed!',
buildResult: 'FAILURE',
stageResult: 'FAILURE'
) {
sh 'make lint'
}
}
}
}
stage('Tests') {
steps {
script {
sh 'make test'
}
}
}
} }
stage('Build') { stages {
stage('Bundle') {
steps {
script { apks = android.bundle() }
}
}
} }
stage('Bundle') {
steps {
script { apks = android.bundle() }
}
}
stage('Sign') {
steps {
script { apks = android.sign(apks) }
}
}
stage('Parallel Upload') {
@@ -92,37 +73,22 @@ pipeline {
} }
}
stage('Upload') {
steps {
script {
def urls = apks.collect { s3.uploadArtifact(it) }
/* return only the universal APK */
if (urls.size() > 1) {
env.PKG_URL = urls.find { it.contains('universal') }
} else { /* if no universal is available pick first */
env.PKG_URL = urls.first()
}
jenkins.setBuildDesc(APK: env.PKG_URL)
/* e2e builds get tested in SauceLabs */
if (utils.isE2EBuild()) {
env.SAUCE_URL = android.uploadToSauceLabs()
}
if (utils.isNightlyBuild()) {
env.DIAWI_URL = android.uploadToDiawi()
}
steps { script {
def urls = apks.collect { s3.uploadArtifact(it) }
if (urls.size() > 1) { /* Return only the universal APK. */
env.PKG_URL = urls.find { it.contains('universal') }
} else { /* If no universal is available pick first. */
env.PKG_URL = urls.first()
}
}
jenkins.setBuildDesc(APK: env.PKG_URL)
} }
}
}
}
stage('Cleanup') {
steps {
sh 'make purge'
}
}
}
post {
success { script { github.notifyPR(true) } }
failure { script { github.notifyPR(false) } }
always { sh 'make _fix-node-perms' }
always { sh 'make purge' }
}
}
+59 -17
View File
@@ -1,4 +1,4 @@
library 'status-react-jenkins@v1.2.8'
library 'status-jenkins-lib@v1.6.9'
pipeline {
agent { label 'linux' }
@@ -8,6 +8,8 @@ pipeline {
disableConcurrentBuilds()
/* Prevent Jenkins jobs from running forever */
timeout(time: 40, unit: 'MINUTES')
/* Allow copying of artifacts from this job. */
copyArtifactPermission('/status-mobile/e2e/*')
/* Limit builds retained */
buildDiscarder(logRotator(
numToKeepStr: '10',
@@ -16,10 +18,24 @@ pipeline {
))
}
/* WARNING: Defining parameters here with the ?: trick causes them to remember last value. */
parameters {
choice(
name: 'BUILD_TYPE',
description: 'Makefile target to build. Optional Parameter.',
choices: genChoices(params.BUILD_TYPE, ['manual', 'nightly', 'release', 'pr', 'e2e']),
)
booleanParam(
name: 'PUBLISH',
description: 'Trigger publishing of build results for nightly or release.',
defaultValue: getPublishDefault(params.PUBLISH),
)
}
stages {
stage('Prep') {
steps { script {
println "Current JOB: ${env.JOB_NAME}"
println("Current JOB: ${env.JOB_NAME}")
/* just for a shorter access */
btype = utils.getBuildType()
} }
@@ -27,13 +43,16 @@ pipeline {
stage('Build') {
parallel {
stage('iOS') { steps { script {
ios = jenkins.Build('status-react/combined/mobile-ios')
ios = jenkins.Build('status-mobile/platforms/ios')
} } }
stage('Android') { steps { script {
apk = jenkins.Build('status-react/combined/mobile-android')
apk = jenkins.Build('status-mobile/platforms/android')
} } }
stage('Android e2e') { steps { script {
apke2e = jenkins.Build('status-react/combined/mobile-android-e2e')
apke2e = jenkins.Build('status-mobile/platforms/android-e2e')
} } }
stage('Tests') { steps { script {
jenkins.Build('status-mobile/platforms/tests')
} } }
}
}
@@ -44,7 +63,7 @@ pipeline {
//jenkins.copyArts(iose2e)
jenkins.copyArts(apk)
jenkins.copyArts(apke2e)
sha = "pkg/${utils.pkgFilename('sha256')}"
sha = "pkg/${utils.pkgFilename(ext: 'sha256')}"
dir('pkg') {
/* generate sha256 checksums for upload */
sh "sha256sum * | tee ../${sha}"
@@ -59,37 +78,60 @@ pipeline {
/* mobile */
Apk: utils.pkgUrl(apk), Apke2e: utils.pkgUrl(apke2e),
iOS: utils.pkgUrl(ios), /*iOSe2e: utils.pkgUrl(iose2e),*/
Diawi: utils.utils.getEnv(ios, 'DIAWI_URL'),
Diawi: utils.getEnv(ios, 'DIAWI_URL'),
/* upload the sha256 checksums file too */
SHA: s3.uploadArtifact(sha),
]
/* add URLs to the build description */
jenkins.setBuildDesc(urls)
/* Create JSON file with newest build URLs */
switch (btype) {
/* legacy naming, should have named it nightly.json */
case 'nightly': s3.updateBucketJSON(urls, 'latest.json'); break
}
} }
}
stage('Publish') {
when { expression { params.PUBLISH } }
steps { script {
switch (btype) {
case 'nightly': build(job: 'misc/status.im', wait: false); break
case 'release': github.publishReleaseMobile(); break
case 'nightly':
/* Create JSON file with newest build URLs */
s3.updateBucketJSON(urls, 'latest.json');
build(job: 'website/status.im', wait: false);
break;
case 'release':
github.publishReleaseFiles(repo: 'status-mobile');
break;
}
} }
}
stage('Run e2e') {
when { expression { btype == 'nightly' } }
when { expression { btype == 'nightly' && params.PUBLISH } }
steps { script {
e2eApk = utils.getEnv(apke2e, 'SAUCE_URL')
build(
job: 'end-to-end-tests/status-app-nightly',
parameters: [string(name: 'APK_NAME', value: e2eApk)],
job: 'status-mobile/e2e/status-app-nightly',
parameters: [string(name: 'APK_URL', value: e2eApk)],
wait: false
)
} }
}
}
}
/* Helper that generates list of available choices for a parameter
* but re-orders them based on the currently set value. First is default. */
def List genChoices(String previousChoice, List defaultChoices) {
if (previousChoice == null) {
return defaultChoices
}
choices = defaultChoices.minus(previousChoice)
choices.add(0, previousChoice)
return choices
}
/* Helper that makes PUBLISH default to 'false' unless:
* - The build is for a release branch
* - A user explicitly specified a value
* Since release builds create and re-create GitHub drafts every time. */
def Boolean getPublishDefault(Boolean previousValue) {
if (env.JOB_NAME.startsWith('status-mobile/release')) { return true }
if (previousValue != null) { return previousValue }
return false
}
+31 -64
View File
@@ -1,7 +1,10 @@
library 'status-react-jenkins@v1.2.8'
library 'status-jenkins-lib@v1.6.9'
/* Options section can't access functions in objects. */
def isPRBuild = utils.isPRBuild()
pipeline {
agent { label 'macos-xcode-11.5' }
agent { label 'macos && arm64 && nix-2.11 && xcode-14.2' }
parameters {
string(
@@ -22,7 +25,11 @@ pipeline {
artifactNumToKeepStr: '10',
))
/* Allows combined build to copy */
copyArtifactPermission('/status-react/*')
copyArtifactPermission('/status-mobile/*')
/* Abort old PR builds. */
disableConcurrentBuilds(
abortPrevious: isPRBuild
)
}
environment {
@@ -41,51 +48,23 @@ pipeline {
stage('Prep') {
steps {
script {
btype = utils.getBuildType()
print "Running ${btype} build!"
jenkins.abortPreviousRunningBuilds()
/* Cleanup and Prep */
commonPrep(btype)
utils.doGitRebasePR()
utils.symlinkEnv()
println("Build Number: ${utils.genBuildNumber()}")
}
}
}
stage('Parallel Assemble') {
parallel {
stage('Checks') { stages {
stage('Lint') {
steps {
script {
/* We want the build result to be uploaded */
catchError(
message: 'Linting check failed!',
buildResult: 'FAILURE',
stageResult: 'FAILURE'
) {
sh 'make lint'
}
}
}
}
stage('Tests') {
steps {
script {
sh 'make test'
}
}
}
} }
stage('Build') { stages {
stage('JSBundle') {
steps {
script { ios.jsbundle() }
}
}
stage('Bundle') {
steps {
script { api = ios.bundle() }
}
}
} }
stage('JSBundle') {
steps {
script { ios.jsbundle() }
}
}
stage('Bundle') {
steps {
script { api = ios.bundle() }
}
post {
failure { archiveArtifacts 'ios/logs/*' }
}
}
stage('Parallel Upload') {
@@ -96,31 +75,19 @@ pipeline {
}
}
stage('Upload') {
steps {
script {
env.PKG_URL = s3.uploadArtifact(api)
jenkins.setBuildDesc(IPA: env.PKG_URL)
/* e2e builds get tested in SauceLabs */
if (utils.isE2EBuild()) {
env.SAUCE_URL = ios.uploadToSauceLabs()
} else {
env.DIAWI_URL = ios.uploadToDiawi()
}
}
}
when { expression { !utils.isReleaseBuild() } }
steps { script {
env.DIAWI_URL = ios.uploadToDiawi()
env.PKG_URL = env.DIAWI_URL
jenkins.setBuildDesc(IPA: env.PKG_URL)
} }
}
}
}
stage('Cleanup') {
steps {
sh 'make watchman-clean'
sh 'make purge'
}
}
}
post {
success { script { github.notifyPR(true) } }
failure { script { github.notifyPR(false) } }
always { sh 'make _fix-node-perms' }
always { sh 'make purge' }
}
}
+19 -8
View File
@@ -1,16 +1,26 @@
library 'status-react-jenkins@v1.2.8'
library 'status-jenkins-lib@v1.6.9'
pipeline {
agent { label params.AGENT_LABEL }
parameters {
string(
name: 'NIX_CACHE_HOST',
description: 'FQDN of Nix binary cache host.',
defaultValue: params.NIX_CACHE_HOST ?: 'cache-01.do-ams3.nix.ci.statusim.net'
)
string(
name: 'NIX_CACHE_USER',
description: 'Username for Nix binary cache host.',
defaultValue: params.NIX_CACHE_USER ?: 'nix-cache'
)
}
environment {
/* See nix/README.md */
NIX_IGNORE_SYMLINK_STORE = 1
/* we source .bash_profile to be able to use nix-store */
NIX_SSHOPTS = "-o StrictHostKeyChecking=no source .bash_profile;"
/* where our /nix/store is hosted */
NIX_CACHE_USER = 'nix-cache'
NIX_CACHE_HOST = 'master-01.do-ams3.ci.misc.statusim.net'
NIX_SSHOPTS = "-o StrictHostKeyChecking=no source .profile;"
NIX_CONF_DIR = "${env.WORKSPACE}/nix"
}
@@ -29,7 +39,7 @@ pipeline {
stages {
stage('Setup') {
steps { script {
nix.shell('nix-env -i openssh', pure: false)
nix.shell('nix-env -i openssh', sandbox: false, pure: false)
/* some build targets don't build on MacOS */
uname = sh(script: 'uname', returnStdout: true)
} }
@@ -87,8 +97,9 @@ pipeline {
sshagent(credentials: ['nix-cache-ssh']) {
nix.shell("""
find /nix/store/ -mindepth 1 -maxdepth 1 -type d \
-not -name '*.links' -and -not -name '*-status-react-*' \
| xargs nix-copy-closure -v --to ${NIX_CACHE_USER}@${NIX_CACHE_HOST}
-not -name '*.links' -and -not -name '*-status-mobile-*' \
| xargs nix copy \
--to ssh-ng://${params.NIX_CACHE_USER}@${params.NIX_CACHE_HOST}
""",
pure: false
)
+92
View File
@@ -0,0 +1,92 @@
library 'status-jenkins-lib@v1.6.9'
/* Options section can't access functions in objects. */
def isPRBuild = utils.isPRBuild()
pipeline {
agent { label 'linux && x86_64 && nix-2.11' }
options {
timestamps()
/* Prevent Jenkins jobs from running forever */
timeout(time: 10, unit: 'MINUTES')
/* Limit builds retained */
buildDiscarder(logRotator(
numToKeepStr: '10',
daysToKeepStr: '20',
artifactNumToKeepStr: '10',
))
/* Abort old PR builds. */
disableConcurrentBuilds(
abortPrevious: isPRBuild
)
}
parameters {
string(
name: 'BUILD_TYPE',
description: 'Specify build type. Values: pr / e2e / nightly / release',
defaultValue: 'pr',
)
}
environment {
LANG = "en_US.UTF-8"
LC_ALL = "en_US.UTF-8"
LANGUAGE = "en_US.UTF-8"
TARGET = 'tests'
BUILD_ENV = 'prod'
NIX_CONF_DIR = "${env.WORKSPACE}/nix"
LOG_FILE = utils.pkgFilename(ext: 'log', arch: 'tests')
}
stages {
stage('Prep') {
steps {
script {
utils.doGitRebasePR()
}
}
}
stage('Checks') {
parallel {
stage('Lint') {
steps {
sh """#!/bin/bash
set -eo pipefail
make lint 2>&1 | tee ${LOG_FILE}
"""
}
}
stage('Tests') {
steps {
sh """#!/bin/bash
set -eo pipefail
make test 2>&1 | tee -a ${LOG_FILE}
"""
}
}
}
}
stage('Component Tests') {
steps {
sh """#!/bin/bash
set -eo pipefail
make component-test 2>&1 | tee -a ${LOG_FILE}
"""
}
}
stage('Upload') {
steps {
script {
env.PKG_URL = s3.uploadArtifact(LOG_FILE)
}
}
}
}
post {
success { script { github.notifyPR(true) } }
failure { script { github.notifyPR(false) } }
always { sh 'make purge' }
}
}
+2 -2
View File
@@ -6,11 +6,11 @@ This folder contains files defininf [Jenkins pipelines](https://jenkins.io/doc/b
All `Jenkinsfile`s contain the following line:
```groovy
library 'status-react-jenkins@master'
library 'status-jenkins-lib@master'
```
Which loads the used methods - like `nix.shell()` - from a separate private repo:
https://github.com/status-im/status-react-jenkins
https://github.com/status-im/status-jenkins-lib
This is done to improve security of our CI setup.
+34 -10
View File
@@ -1,16 +1,18 @@
library 'status-jenkins-lib@v1.6.9'
pipeline {
agent { label 'linux' }
parameters {
string(
name: 'NETWORK',
description: 'Name of test network to use.',
defaultValue: 'ropsten',
name: 'APK_URL',
description: 'URL of APK uploaded to SauceLabs.',
)
string(
name: 'APK_NAME',
description: 'Filename of APK uploaded to SauceLabs.',
name: 'KEYWORD_EXPRESSION',
description: 'This will run tests which contain names that match the given string expression (Optional)',
defaultValue: '',
)
}
@@ -18,8 +20,20 @@ pipeline {
disableConcurrentBuilds()
}
stages {
stage('Fetch') {
when { expression { !params.APK_URL } }
steps { script {
copyArtifacts(
projectName: "status-mobile/nightly",
filter: '*-x86.apk',
/* WARNING: This copies the latest available artifact. */
selector: lastWithArtifacts(),
)
apk_path = "${env.WORKSPACE}/${utils.findFile('*-x86.apk')}"
} }
}
stage('Setup') {
steps { script {
dir('test/appium') {
@@ -27,6 +41,7 @@ pipeline {
}
} }
}
stage('Test') {
steps {
withCredentials([
@@ -48,17 +63,23 @@ pipeline {
credentialsId: 'infura-e2e-token',
variable: 'WEB3_INFURA_PROJECT_ID'
),
file(
credentialsId: "mobile-tests-eth-accounts",
variable: 'TEST_ETH_ACCOUNTS_FILE'
),
]) {
dir('test/appium/tests') {
/* Provide Eth test accounts secrets. */
sh 'cp -f $TEST_ETH_ACCOUNTS_FILE users.py'
sh """
python3 -m pytest \
--numprocesses 15 \
--numprocesses 4 \
--rerun_count=2 \
--testrail_report=True \
-m testrail_id \
-m "not upgrade" \
--network=${params.NETWORK} \
--apk=${params.APK_NAME}
-m \"new_ui_critical or new_ui_medium\" \
-k \"${params.KEYWORD_EXPRESSION}\" \
--apk=${params.APK_URL ?: apk_path}
"""
}
}
@@ -82,5 +103,8 @@ pipeline {
)
}
}
cleanup {
sh 'make purge'
}
}
}
+63 -26
View File
@@ -1,3 +1,5 @@
library 'status-jenkins-lib@v1.6.9'
pipeline {
agent { label 'linux' }
@@ -8,29 +10,37 @@ pipeline {
description: 'Name of the branch to checkout and build.',
defaultValue: 'develop',
)
string(
name: 'NETWORK',
description: 'Name of test network to use.',
defaultValue: 'ropsten',
)
string(
name: 'TEST_MARKERS',
description: 'Marker expression for matching tests to run.',
defaultValue: 'critical or high',
)
string(
name: 'APK_NAME',
description: 'Filename of APK uploaded to SauceLabs, path, or URL.',
)
string(
name: 'PR_ID',
description: 'ID of the Pull Request triggering this build.',
)
string(
name: 'TR_CASE_IDS',
description: 'IDs of the TestRail case, separated by a comma. (Optional)',
name: 'APK_URL',
description: 'Optional, set if job require APK to be downloaded from URL.',
)
string(
name: 'KEYWORD_EXPRESSION',
description: 'This will run tests which contain names that match the given string expression (Optional)',
defaultValue: '',
)
string(
name: 'TR_CASE_IDS',
description: 'IDs of the TestRail case, separated by a comma (Optional)',
defaultValue: '',
)
/* FIXME: Remove this no longer relevant argument */
string(
name: 'APK_NAME',
description: 'OBSOLETE ARGUMENT TO BE REMOVED',
defaultValue: 'DUMMY',
)
/* Commented to use TEST_MARKERS values from job params
string(
name: 'TEST_MARKERS',
description: 'Marker expression for matching tests to run.',
defaultValue: 'new_ui_critical',
)
*/
}
options {
@@ -38,12 +48,27 @@ pipeline {
}
stages {
stage('Checks') {
stage('Prep') {
steps { script {
if (params.APK_NAME == null) { error("APK_NAME parameter not set!") }
if (params.PR_ID == null) { error("PR_ID parameter not set!") }
currentBuild.displayName = "PR-${params.PR_ID}"
if (params.PR_ID == null) {
error("PR_ID parameter not set!")
}
} }
}
stage('Fetch') {
when { expression { !params.APK_URL } }
steps { script {
copyArtifacts(
projectName: "status-mobile/prs/android-e2e/PR-${params.PR_ID}",
/* WARNING: This copies the latest available artifact. */
selector: lastWithArtifacts(),
)
apk_path = "${env.WORKSPACE}/${utils.findFile('result/*.apk')}"
} }
}
stage('Setup') {
steps { script {
dir('test/appium') {
@@ -51,18 +76,20 @@ pipeline {
}
} }
}
stage('Test') {
steps { script {
currentBuild.displayName = "PR-${params.PR_ID}"
/* for managing optional arguments */
def extraPytestOpts = ''
if (params.TR_CASE_IDS != '') {
extraPytestOpts = "--run_testrail_ids='${params.TR_CASE_IDS}'"
} else {
extraPytestOpts = "-m \"${params.TEST_MARKERS}\""
}
withCredentials([
usernamePassword(
credentialsId: 'status-im-auto-token',
credentialsId: 'status-im-auto',
usernameVariable: 'GIT_HUB_USER', /* ignored */
passwordVariable: 'GIT_HUB_TOKEN'
),
@@ -84,17 +111,22 @@ pipeline {
credentialsId: 'infura-e2e-token',
variable: 'WEB3_INFURA_PROJECT_ID'
),
file(
credentialsId: "mobile-tests-eth-accounts",
variable: 'TEST_ETH_ACCOUNTS_FILE'
),
]) {
dir('test/appium/tests') {
/* Provide Eth test account secrets. */
sh 'cp -f $TEST_ETH_ACCOUNTS_FILE users.py'
sh """
python3 -m pytest \
--numprocesses 15 \
--numprocesses 4 \
--rerun_count=2 \
--testrail_report=True \
-m "${params.TEST_MARKERS}" \
--network=${params.NETWORK} \
--apk=${params.APK_NAME} \
--build=PR-${params.PR_ID} \
-k \"${params.KEYWORD_EXPRESSION}\" \
--apk=${params.APK_URL ?: apk_path} \
--build=PR-${params.PR_ID}-${utils.timestamp()} \
--pr_number=${params.PR_ID} \
${extraPytestOpts}
"""
@@ -103,4 +135,9 @@ pipeline {
} }
}
}
post {
cleanup {
sh 'make purge'
}
}
}
+50 -16
View File
@@ -1,20 +1,27 @@
library 'status-jenkins-lib@v1.6.9'
pipeline {
agent { label 'linux' }
parameters {
string(
name: 'NETWORK',
description: 'Name of test network to use',
defaultValue: 'ropsten',
)
string(
name: 'APK_NAME',
description: 'Filename of APK uploaded to SauceLabs (base for upgrade, usually release build)',
name: 'APK_URL',
description: 'URL of APK to be tested(base for upgrade, usually release build)',
)
string(
name: 'APK_NAME_UPGRADE',
description: 'Filename of APK of upgraded application (installed on top of base)',
name: 'APK_URL_UPGRADE',
description: 'URL of APK of upgraded application (installed on top of base)',
)
string(
name: 'KEYWORD_EXPRESSION',
description: 'This will run tests which contain names that match the given string expression (Optional)',
defaultValue: '',
)
string(
name: 'TR_CASE_IDS',
description: 'IDs of the TestRail case, separated by a comma (Optional)',
defaultValue: '',
)
}
@@ -24,6 +31,17 @@ pipeline {
stages {
stage('Prep') {
steps { script {
if (params.APK_URL == null) {
error("APK_URL parameter not set!")
}
if (params.APK_URL_UPGRADE == null) {
error("APK_URL_UPGRADE parameter not set!")
}
} }
}
stage('Setup') {
steps { script {
dir('test/appium') {
@@ -31,8 +49,14 @@ pipeline {
}
} }
}
stage('Test') {
steps {
steps { script {
/* for managing optional arguments */
def extraPytestOpts = ''
if (params.TR_CASE_IDS != '') {
extraPytestOpts = "--run_testrail_ids='${params.TR_CASE_IDS}'"
}
withCredentials([
usernamePassword(
credentialsId: 'test-rail-api',
@@ -52,22 +76,29 @@ pipeline {
credentialsId: 'infura-e2e-token',
variable: 'WEB3_INFURA_PROJECT_ID'
),
file(
credentialsId: "mobile-tests-eth-accounts",
variable: 'TEST_ETH_ACCOUNTS_FILE'
),
]) {
dir('test/appium/tests') {
/* Provide Eth test accounts secrets. */
sh 'cp -f $TEST_ETH_ACCOUNTS_FILE users.py'
sh """
python3 -m pytest \
-m upgrade \
--numprocesses 15 \
-m "upgrade" \
-k \"${params.KEYWORD_EXPRESSION}\" \
--numprocesses 4 \
--rerun_count=2 \
--testrail_report=True \
--network=${params.NETWORK} \
--apk=${params.APK_NAME} \
--apk_upgrade=${params.APK_NAME_UPGRADE}
--apk=${params.APK_URL} \
--apk_upgrade=${params.APK_URL_UPGRADE} \
${extraPytestOpts}
"""
}
}
}
}
} }
}
post {
@@ -86,5 +117,8 @@ pipeline {
)
}
}
cleanup {
sh 'make purge'
}
}
}
+1 -1
View File
@@ -1,4 +1,4 @@
library 'status-react-jenkins@v1.2.8'
library 'status-jenkins-lib@v1.6.9'
pipeline {
agent { label 'macos' }
+2 -2
View File
@@ -1,4 +1,4 @@
library 'status-react-jenkins@v1.2.8'
library 'status-jenkins-lib@v1.6.9'
pipeline {
agent { label 'linux' }
@@ -38,7 +38,7 @@ pipeline {
steps { script {
withCredentials([
string(
credentialsId: 'SUPPLY_JSON_KEY_DATA',
credentialsId: 'google-play-api-key-json',
variable: 'GOOGLE_PLAY_JSON_KEY'
),
]) {
+43
View File
@@ -0,0 +1,43 @@
/**
* This job runs daily and executes `pod repo update` on MacOS
* This is done to avoid issues with out of date repo causing errors like:
*
* Failed with exit code 1 (in target 'StatusImPR' from project 'StatusIm')
**/
pipeline {
agent {
label params.HOST_LABEL
}
triggers {
/* Run daily at 2am */
cron('H 2 * * *')
}
options {
timestamps()
/* Prevent Jenkins jobs from running forever */
timeout(time: 5, unit: 'MINUTES')
/* Limit builds retained */
buildDiscarder(logRotator(
numToKeepStr: '20',
))
}
parameters {
string(
name: 'HOST_LABEL',
description: 'Label of host to run on',
/* Using startTimeInMillis to randomize which host gets the update. */
defaultValue: "maci7-0${(currentBuild.startTimeInMillis % 3) + 1}",
)
}
stages {
stage('Update') {
steps {
sh 'pod repo update'
}
}
}
}
+47
View File
@@ -0,0 +1,47 @@
library 'status-jenkins-lib@v1.6.9'
pipeline {
agent {
label 'linux'
}
triggers {
cron('H 5 * * *')
}
options {
timestamps()
/* Prevent Jenkins jobs from running forever */
timeout(time: 15, unit: 'MINUTES')
/* Disable concurrent jobs */
disableConcurrentBuilds()
/* Don't keep more than 50 builds */
buildDiscarder(logRotator(numToKeepStr: '10'))
}
stages {
stage('Get Nodes') {
steps { script {
stagePerNode = nodesByLabel('macos').collectEntries {
["${it}" : generateNodeCleanupStage(it)]
}
} }
}
stage('Clean Xcode') {
steps { script {
parallel stagePerNode
} }
}
}
}
def generateNodeCleanupStage(nodeLabel) {
return { stage(nodeLabel) {
node(nodeLabel) {
dir('/Users/jenkins/Library/Developer/Xcode') {
sh 'rm -fr Archives DerivedData'
}
}
} }
}
-94
View File
@@ -1,94 +0,0 @@
# Description
This document describes how to update Status APK builds for the [F-Droid](https://f-droid.org/) Android application catalogue.
# Intro
In simplest terms F-Droid requires a YAML file that defines the steps necessary to create a universal unsigned APK build. This is achieved by submitting a new app versions into the `metadata/im.status.ethereum.yml` file in the [fdroiddata](https://gitlab.com/fdroid/fdroiddata) repository.
The app builds defined this way run on servers that generate the unsigned APKs using the [fdroidserver](https://gitlab.com/fdroid/fdroidserver) software. The [server setup](https://f-droid.org/en/docs/Build_Server_Setup/) is quite involved but is not necessary unless you want to run your own instance. Normally the applications defines in `fdroiddata` are built by servers maintained by [the F-Droid volunteers](https://f-droid.org/en/contribute/).
First release of Status app was merged in [fdroid/fdroiddata#7179](https://gitlab.com/fdroid/fdroiddata/-/merge_requests/7179).
# Adding New Versions
You can find our configuration file at [`metadata/im.status.ethereum.yml`](https://gitlab.com/fdroid/fdroiddata/-/blob/master/metadata/im.status.ethereum.yml)
The file defines all the necessary metadata like `SourceCode`, `Website`, or `License`, but the most important key is `Builds`, which looks like this:
```yml
Builds:
- versionName: 1.4.1
versionCode: 2020070112
commit: cfb825a11b61d312af8cb5d36686af540c31f481
sudo:
- mkdir -m 0755 /nix
- chown vagrant /nix
init: ./nix/scripts/setup.sh
output: ./result/app-release-unsigned.apk
scanignore:
- android/build.gradle
scandelete:
- ios
build: make release-android BUILD_TYPE=release BUILD_NUMBER=2020070112 ANDROID_APK_SIGNED=false
```
It contains a list of objects defining each release of the application. In order to add a new release simply copy a previous release object and adjust the following values:
* `versionName` - String version like `1.4.1`
* `versionCode` - Android `versionCode`. We use a timestamp generated by [a script](../scripts/version/gen_build_no.sh)
* `commit` - Specific commit SHA1 from which the given release was built
* `BUILD_NUMBER` in `build` step - Same value as `versionCode`
The `versionCode` should be the same as the one in build that was uplodade to Play Store. It can be found in the build logs or by using:
```
> apkanalyzer manifest version-code StatusIm-v1.4.1.apk
2020070112
```
At the bottom of the file you should also update the following keys:
* `CurrentVersion` - Same as the new `versionName` added
* `CurrentVersionCode` - Same as the `versionCode` added
Then submit a merge request to the [fdroid/fdroiddata](https://gitlab.com/fdroid/fdroiddata) repository.
# Checking Builds
The simplest way to test if the app builds via F-Droid is to use the Docker image:
https://gitlab.com/fdroid/docker-executable-fdroidserver
Which is available under `registry.gitlab.com/fdroid/docker-executable-fdroidserver:latest`.
Because we use Nix to build the mobile app we need to slightly modify the image with this `Dockerfile`:
```Dockerfile
FROM registry.gitlab.com/fdroid/docker-executable-fdroidserver:latest
ARG BUILDER_UID=1000
ENV BUILDER_USER=vagrant
RUN useradd -u $BUILDER_UID $BUILDER_USER
RUN mkdir -m 0755 /nix /home/$BUILDER_USER \
&& chown -R $BUILDER_USER /nix /home/$BUILDER_USER
```
Build it using:
```
docker build --build-arg=BUILDER_UID=$UID -t statusteam/docker-executable-fdroidserver:latest .
```
Then clone the [fdroiddata](https://gitlab.com/fdroid/fdroiddata) and [fdroidserver](https://gitlab.com/fdroid/fdroidserver) repos and use it to test the build of a specific Status Android app version: `1.4.1`
```
docker run --rm \
-u $UID:$GID \
-v $(pwd)/nix:/nix \
-v $(pwd)/fdroiddata:/repo \
-v $(pwd)/fdroidserver:/fdroidserver \
statusteam/docker-executable-fdroidserver:latest \
build im.status.ethereum:1.4.1
```
We have to create a user and specify the UID because Nix cannot run as `root` and that is the default user for the F-Droid Docker image. By adding our own user and setting the UID we also make it possible to mount folders like `fdroiddata` and `fdroidserver`.
You can specify a `--vebose` flag for `build` command for additional information.
You should also run `lint im.status.ethereum` to verify the YAML format is correct.
# Details
The original research was done in [#8512](https://github.com/status-im/status-react/issues/8512).
Normally F-Droid server wants to run Gradle itself, but we do not specify the `gradle` key in order to run `make release-android` ourselves in `build` step.
+48
View File
@@ -0,0 +1,48 @@
## Getting Started
[Starting Guide](starting-guide.md)
[IDE Setup](ide-setup.md)
## Development Process
[Coding guidelines](new-guidelines.md)
[Release Checklist](release-checklist.md)
[Release Guide](release-guide.md)
[Merging PR process](merging-pr-process.md)
[Working on PR together with QA team](pipeline_process.md)
## Testing
[How to run local tests](testing.md)
[End-to-end tests (e2e) overview](how-to-launch-e2e.md)
[Component tests (jest) overview](component-tests-overview.md)
## Misc
[Importing icons from Figma into project](export-icons.md)
[Updating Status APK builds for the F-Droid Android application catalogue](fdroid.md)
[Troubleshooting for known errors](troubleshooting.md)
## Outdated:
[Old guidelines](codebase-structure-and-guidelines.md)
[Post mortem analysis](post-mortem.md)
+13 -23
View File
@@ -1,5 +1,8 @@
# Codebase Strucuture and Guidelines
# Codebase Structure and Guidelines
As of Nov/2022, we're starting to document and migrate the codebase to [new
guidelines](new-guidelines.md), which will supersede some of the guidelines in
this document.
## Starting the app
@@ -54,7 +57,6 @@ Core namespace must only contain functions that can be called outside of the mod
### db.cljs
- must contain specs for the app-db subpart the module modifies
- must contain getter and setter functions used by fx producing functions and subscriptions
- db logic called by other modules
@@ -72,24 +74,11 @@ These guidelines make db.cljs namespaces the place to go when making changes to
### Events
- all events must be defined in the single `status-im.events` namespace which can be considered as an index of everything going on in the app
- events must always be declared with `register-handler-fx`, no `register-handler-db`
- events must never use the `trim-v` interceptor
- events must only contain a function call defined in a module
```clojure
(handlers/register-handler-fx
:notifications/handle-push-notification-open
(fn [cofx [_ event]]
(notifications/handle-push-notification-open event cofx)))
```
- events must use synthetic namespaces:
- `:module.ui/` for user triggered events
- `:module.callback/` for callback events, which are events bringing back the result of an fx to the event loop, the name of the event should end with `-success` or `-error` most of the time. Other possibilities can be `-granted`, `-denied` for instance.
- `:module/` for internal events, examples are time based events marked `-timed-out`, external changes marked `-changed` or reception of external events marked `-received`.
- all events must be defined in the `core.cljs` namespaces
- events must always be declared with `fx/defn` macro
## Testing flow
- All PRs automatically go to "REVIEW" column on [Pipeline for QA](https://github.com/status-im/status-react/projects/7) project on Github. This is our main board for QA / devs interaction
- All PRs automatically go to "REVIEW" column on [Pipeline for QA](https://github.com/status-im/status-mobile/projects/7) project on Github. This is our main board for QA / devs interaction
- After the PR gets at least 1 approval, it should be moved to "E2E Tests" column. Some PRs may need approvals from more than one person.
- Critical path tests are automatically run for all PRs in "E2E Tests" column.
- If E2E tests pass:
@@ -100,15 +89,15 @@ These guidelines make db.cljs namespaces the place to go when making changes to
- If issues - label 'TESTED-ISSUES' and comment from QA with bugs.
- After fix and/or discussion the process is repeated.
- If manual QA is not needed but all tests don't pass, you can ping @churik or @Serhy to confirm that failed E2E tests are not unrelated.
- If manual QA is not needed but all tests don't pass, you can ping @churik or @Serhy to confirm that failed E2E tests are not unrelated.
## Enabling debug logs
Calls to `log/debug` will not be printed to the console by default. It can be enabled under "Advanced settings" in the app:
![Enable Debug Logs](./log-settings.png)
![Enable Debug Logs](images/codebase-structure-and-guidelines/log-settings.png)
## Translations
The app relies on system locale to select a language from the [list of supported languages](https://github.com/status-im/status-react/blob/bda73867471cf2bb8a68b1cc27c9f94b92d9a58b/src/status_im/i18n_resources.cljs#L9). It falls back to English in cash the system locale is not supported.
The app relies on system locale to select a language from the [list of supported languages](https://github.com/status-im/status-mobile/blob/bda73867471cf2bb8a68b1cc27c9f94b92d9a58b/src/status_im/i18n_resources.cljs#L9). It falls back to English in cash the system locale is not supported.
We use Lokalise App to manage [translations](https://translate.status.im/). In case you need to add/remove a key to translations, you only need to change `en.json`. Missing keys fallback to `en.json`. The actual translations will be added by Lokalise.
@@ -127,9 +116,10 @@ $ make run-re-frisk
A server will be started at http://localhost:4567. It might show "not connected" at first. Don't worry and just start using the app. The events and state will populate.
## Merging approved PRs
We don't Github's UI to merge. Instead `./scripts/merge-pr.sh` is used to sign and merge PR to `develop`. You first need to enable [GPG signing on you commits](https://github.com/status-im/status-react/blob/develop/STARTING_GUIDE.md#configure-gpg-keys-for-signing-commits).
Once your commits are verfied and PR approved, you can run the script like so:
We don't Github's UI to merge. Instead `./scripts/merge-pr.sh` is used to sign and merge PR to `develop`. You first need to enable [GPG signing on you commits](https://github.com/status-im/status-mobile/blob/develop/STARTING_GUIDE.md#configure-gpg-keys-for-signing-commits).
Once your commits are verified and PR approved, you can run the script like so:
```bash
$ git checkout develop
+55
View File
@@ -0,0 +1,55 @@
# Component Tests
The component tests are using React Native Testing Library - https://callstack.github.io/react-native-testing-library/
and Jest - https://jestjs.io/
It is highly recommended to read some advice from Kent C.Dodds on how to write tests and use these tools correctly.
https://kentcdodds.com/blog/common-mistakes-with-react-testing-library
https://www.youtube.com/watch?v=ahrvE062Kv4
Both of these links are showing it for React-Testing-Library (not Native) however the approach is for the most part considered the same.
## Running the tests
To run these tests there are two methods.
`make component-test`
setups and runs the test suite once.
`make component-test-watch`
setups and runs the test suite and watches for code changes will then retrigger the test suite.
## Writing Tests
New test files will need their namespace added to either the file "src/quo2/core_spec.cljs" or "src/status_im2/core_spec.cljs. These locations may update overtime but it is dependent on the entrypoint in shadowcljs config discussed below.
### Best practices
For the moment we will keep best practices for tests in our other guidelines document:
To that point these guidelines will follow the conventions of Jest and React Native Testing Library recomendations and Status mobile will just stack their preferences on top.
### Utilities
There is a file of utility functions defined in "src/test_helpers/component.cljs" and "src/test_helpers/component.clj". It will be great to use these utilities and to add any common testing tools to these files as it should make writing tests easier and faster.
## Configuration
Status Mobile has a bespoke tech stack, as such there is more complexities to configuring the tests.
### Shadow-CLJS
the configuration for compiling our tests are defined in the "shadow-cljs.edn" file.
The three main parts of this are
`:target :npm-module`
Needed for the configuration we are using
`:entries`
a vector of entry points for the test files.
and the `ns-regexp` to specify what tests to find. Since we have multiple forms of tests we decided that "component-spec" is the least likely to detect the wrong file type.
It's worth knowing that our tests are compiled to JS and then run in the temporary folder `component-tests`.
### Jest
There is also further configuration for Jest in "test/jest". There is a jest config file which has some mostly standard configuration pieces, where the tests live, what environment variables are set etc. This is documented by Jest here: https://jestjs.io/docs/configuration
There is also a setup file which is used to set some global and default values. Additionally this file is used to mock some of the react native (among other) dependencies
+1 -1
View File
@@ -49,7 +49,7 @@ decentralization and security.
Q2 we will provide two ways of accessing the Ethereum network:
- Upstream RPC with Infura (default)
- Custom upstream node (https://github.com/status-im/status-react/issues/3994)
- Custom upstream node (https://github.com/status-im/status-mobile/issues/3994)
From a decentralization point of view we need the latter before we can release
the beta.
+2 -2
View File
@@ -20,11 +20,11 @@ chance to talk to strangers and it is open by default.
Whether group chats are in scope or not has been a recurring discussing and a
lot of effort has been wasted related to this.
There are currently a lot of outstanding regressions related to group chat: https://github.com/status-im/status-react/labels/group-chat Additionally, since group chats are private the encryption and security of those are generally harder than 1-1 and public chat.
There are currently a lot of outstanding regressions related to group chat: https://github.com/status-im/status-mobile/labels/group-chat Additionally, since group chats are private the encryption and security of those are generally harder than 1-1 and public chat.
## Decision
Disable group chat for beta and don't work on bugs related to it until after. See https://github.com/status-im/status-react/issues/3995
Disable group chat for beta and don't work on bugs related to it until after. See https://github.com/status-im/status-mobile/issues/3995
This ensures we can release beta without blockers, and then we can take some
time to fix group chats properly.
+3 -1
View File
@@ -13,13 +13,15 @@ Proposed
We have some data that we don't want to appear in the logs (user passwords are
a good example). Currently, they are passed around as strings, that could be
printed out by mistake in a log entry (see https://github.com/status-im/status-react/issues/4053)
printed out by mistake in a log entry (see https://github.com/status-im/status-mobile/issues/4053)
## Decision
To minimize the risk of leaking passwords through logs, we should not pass
passwords as strings in our codebase. We introduced a new type `MaskedData` in
`status-im.utils.security`.
update (16-Dec-2022) `status-im.utils.security` is now moved over to `utils.security.core`
We use `(security/mask-data <data to hide>` to wrap sensitive data into this
type and then use `(security/unmask <masked-data>)` to get the plaintext back.
+2 -2
View File
@@ -95,7 +95,7 @@ We also have an ongoing document with them.
#### iOS Test Flight Release
**Upload to AppStore Connect**
Use [this Jenkins job](https://jenkins.status.im/job/status-react/job/upload_release_ios/)
Use [this Jenkins job](https://jenkins.status.im/job/status-mobile/job/upload_release_ios/)
**“What to test” field**
When AppStore Connect asks you to fill in the field called “what to test”, just copy the release notes there.
@@ -114,7 +114,7 @@ If reviewed successfully, we can share it to our users by adding “testflight-b
The uploaded release is **immediately available**!
Do it only if the iOS build is approved by Apple!
Use [this Jenkins job](https://jenkins.status.im/job/status-react/job/upload_release_android/)
Use [this Jenkins job](https://jenkins.status.im/job/status-mobile/job/upload_release_android/)
Dont forget to update the screenshots if necessary!
+1 -1
View File
@@ -29,7 +29,7 @@ As a rule of thumb, coverage should increase.
**3. Reject PRs that don't write what tests the author have done and what platforms you used to test, including screenshots, videos or logs**
This means QA and dev have to spend less time catching obvious problems.
**4. Run tests when a PR is at "Review" stage on https://github.com/status-im/status-react/projects/7 (or add new 'e2e stage' between review and `TO TEST`)**
**4. Run tests when a PR is at "Review" stage on https://github.com/status-im/status-mobile/projects/7 (or add new 'e2e stage' between review and `TO TEST`)**
**5. Dev asks for 2-3 reviewers, including a designer if the change affects UI, and these reviewers review within a day.**
This ensures we don't have *diffusion of responsibility* and that PRs are reviewed quickly.
+2 -2
View File
@@ -23,8 +23,8 @@ The `State` field in the Pivotal story is used to track the progress of a Pivota
| ---------- | -------- |
| `Unstarted` | In backlog |
| `Started` | Developer has started work on story |
| `Finished` | Developer has finished work on story (Pull Request for story is in [REVIEW](https://github.com/status-im/status-react/projects/7#column-1843024) column in [Pipeline for QA](https://github.com/status-im/status-react/projects/7) board) |
| `Delivered` | Pull Request for story is in testing in [Pipeline for QA](https://github.com/status-im/status-react/projects/7) board) board |
| `Finished` | Developer has finished work on story (Pull Request for story is in [REVIEW](https://github.com/status-im/status-mobile/projects/7#column-1843024) column in [Pipeline for QA](https://github.com/status-im/status-mobile/projects/7) board) |
| `Delivered` | Pull Request for story is in testing in [Pipeline for QA](https://github.com/status-im/status-mobile/projects/7) board) board |
| `Accepted` | PR has been merged |
| `Rejected` | PR has been aborted |
+8 -4
View File
@@ -131,9 +131,9 @@ TODO: update once bug is fixed for Android that causes crash when app is back fr
## "react-native-shake": "^3.3.1"
used to send email to support when phone is shaked
## "react-native-splash-screen": "^3.2.0"
## "react-native-lottie-splash-screen": "^1.0.1"
used to make splash screen during initial loading
used to make splash screen with lottie animation during initial loading for android, also used as replacement of "react-native-splash-screen" for iOS
## "react-native-status-keycard": "^2.5.7"
@@ -157,6 +157,10 @@ used for browser
used for native navigation
fixed because even bugfix version upgrade causes runtime errors with current version of react-native
## "web3-utils": "^1.2.1"
## "rn-emoji-keyboard": "https://github.com/status-im/rn-emoji-keyboard"
used for some abi encoding primitives
Used for taking emoji input, for custom emoji thumbnails for community channels
## "react-native-draggable-flatlist": "https://github.com/computerjazz/react-native-draggable-flatlist"
A drag-and-drop-enabled FlatList component for React Native
+1 -1
View File
@@ -2,7 +2,7 @@
## Export icons
![](./export-icons.gif)
![](images/export-icons/export-icons.gif)
1. Export from figma 2 pngs 2x and 3x put them in `./resources/images/icons`
2. if necessary, rename file so that filename contains only lower case chars, e.g. `"Icon-Name@2x.png"` should be renamed to `"icon_name@2x.png"`.
+149
View File
@@ -0,0 +1,149 @@
# Description
This document describes how to update Status APK builds for the [F-Droid](https://f-droid.org/) Android application catalogue.
# Intro
In simplest terms F-Droid requires a YAML file that defines the steps necessary to create a universal unsigned APK build. This is achieved by submitting a new app version into the `metadata/im.status.ethereum.yml` file in the [fdroiddata](https://gitlab.com/fdroid/fdroiddata) repository.
The app builds defined this way run on servers that generate the unsigned APKs using the [fdroidserver](https://gitlab.com/fdroid/fdroidserver) software. The [server setup](https://f-droid.org/en/docs/Build_Server_Setup/) is quite involved but is not necessary unless you want to run your own instance. Normally the applications defined in `fdroiddata` are built by servers maintained by [the F-Droid volunteers](https://f-droid.org/en/contribute/).
First release of Status app was merged in [fdroid/fdroiddata#7179](https://gitlab.com/fdroid/fdroiddata/-/merge_requests/7179).
:warning: __WARNING__: Once changes are committed into `fdroiddata` repo they __cannot be changed__.
# Adding New Versions
There are two ways - automated and manual - described below.
## Automated
The script will analyze a provided APK, update the metadata file based on that information, and commit the change to [`fdroiddata`](https://gitlab.com/fdroid/fdroiddata) repo. The creation of merge request is manual.
#### Requirements:
- GitLab account
- Forked copy of the [`fdroiddata`](https://gitlab.com/fdroid/fdroiddata) repo
- Link to the release published
#### Steps
1. Use the F-Droid PR update script via `make`:
```sh
make fdroid-pr APK=StatusIm-Mobile-v1.16.0-ef34af.apk
```
The script also accepts a URL.
2. Add a fork repo:
```sh
git remote add john https://gitlab.com/john/fdroiddata.git
```
3. Push:
```sh
git push john status-im/v1.16.0
```
4. [Create a PR via the GitLab interface.](https://docs.gitlab.com/ee/user/project/merge_requests/creating_merge_requests.html)
## Manual
You can find our configuration file at [`metadata/im.status.ethereum.yml`](https://gitlab.com/fdroid/fdroiddata/-/blob/master/metadata/im.status.ethereum.yml)
The file defines all the necessary metadata like `SourceCode`, `Website`, or `License`, but the most important key is `Builds`, which looks like this:
```yml
Builds:
- versionName: 1.12.0
versionCode: 2021022512
commit: cfb825a11b61d312af8cb5d36686af540c31f481
sudo:
- cd build/im.status.ethereum
- make fdroid-build-env
init: nix/scripts/setup.sh
output: result/app-release-unsigned.apk
scanignore:
- android/build.gradle
scandelete:
- ios
build: make release-fdroid BUILD_NUMBER=$$VERCODE$$
```
It contains a list of objects defining each release of the application. In order to add a new release simply copy a previous release object and adjust the following values:
* `versionName` - String version like `1.12.0`.
* `versionCode` - Android `versionCode`. Normally it is generated from timestamp at build time.
* `commit` - Specific commit SHA1 from which the given release was built.
The `versionCode` should be the same as the one in build that was uploaded to Play Store.
It can be found in the build logs or by using:
```
> make shell TARGET=android
> apkanalyzer manifest version-code StatusIm-Mobile-v1.12.0.apk
2021022512
```
At the bottom of the file you should also update the following keys:
* `CurrentVersion` - Same as the new `versionName` added
* `CurrentVersionCode` - Same as the `versionCode` added
Then submit a merge request with `Draft: ` prefix to the [fdroid/fdroiddata](https://gitlab.com/fdroid/fdroiddata) repository.
Prefix is necessary to avoid F-Droid people merging the PR before it's ready.
:warning: __WARNING__: Currently GitLab PR builds will fail due to running as `root` instead of `vagrant` and failing to install Nix.
# Checking Builds
The simplest way to test if the app builds via F-Droid is to use the Docker image:
https://gitlab.com/fdroid/docker-executable-fdroidserver
Which is available under `registry.gitlab.com/fdroid/docker-executable-fdroidserver:latest`.
Because we use Nix to build the mobile app we need to slightly modify the image with this `Dockerfile`:
```Dockerfile
FROM registry.gitlab.com/fdroid/docker-executable-fdroidserver:latest
ARG BUILDER_UID=1000
ENV BUILDER_USER=vagrant
RUN useradd -u $BUILDER_UID $BUILDER_USER
RUN mkdir -m 0755 /nix /home/$BUILDER_USER \
&& chown -R $BUILDER_USER /nix /home/$BUILDER_USER
```
Build it using:
```
docker build --build-arg=BUILDER_UID=$UID -t statusteam/docker-executable-fdroidserver:latest .
```
Then clone the [fdroiddata](https://gitlab.com/fdroid/fdroiddata) and [fdroidserver](https://gitlab.com/fdroid/fdroidserver) repos and use it to test the build of a specific Status Android app version: `1.12.0`
```
git clone https://gitlab.com/fdroid/fdroidserver
git clone https://gitlab.com/fdroid/fdroiddata
docker run --rm \
-u $UID:$GID -e USER=vagrant \
-v $PWD/fdroiddata:/repo \
-v $PWD/fdroidserver:/fdroidserver \
statusteam/docker-executable-fdroidserver:latest \
build im.status.ethereum
```
We have to create a user and specify the UID because Nix cannot run as `root` and that is the default user for the F-Droid Docker image. By adding our own user and setting the UID we also make it possible to mount folders like `fdroiddata` and `fdroidserver`.
You can specify a `--verbose` flag for `build` command for additional information.
You can provide `--storage-opt size=30G` flag if Docker complains about running out of space.
You should also run `lint` and `rewritemeta` for the App ID to verify and fix the YAML metadata formatting.
# Details
The original research was done in [#8512](https://github.com/status-im/status-mobile/issues/8512).
Normally F-Droid server wants to run Gradle itself, but we do not specify the `gradle` key in order to run `make release-fdroid` ourselves in `build` step. We also add `android/build.gradle` to `scanignore` to avoid F-Droid trying to use Gradle directly.
The Android metadata like description or screenshots is [loaded from our repository](https://f-droid.org/en/docs/All_About_Descriptions_Graphics_and_Screenshots/#fastlane-structure) based on the Fastlane [`supply`](https://docs.fastlane.tools/actions/supply/) tool folder structure for updating Google Play store metadata.
Once the PR is merged it may take a few days for the F-Droid server farm to build and deploy the new version to their site and app. You can look up the current state of builds [here](https://f-droid.org/wiki/index.php?title=Special:RecentChanges&days=7&from=&hidebots=0&hideanons=1&hideliu=1&limit=500) and look for your App ID and a `deploy` change after it.
# F-Droid Build
F-Droid requires submitted applications to be free of non Open Source software. For this reason we need to exclude certain Google libraries at build time.
This is achieved by setting `GOOGLE_FREE=1` in the `.env.release` file. This affects two things:
1. [Clojure code conditional](../src/status_im/acquisition/core.cljs) which stops use of `get-referrer`.
2. [Gradle build configuration](../android/app/build.gradle) by excluding Google libraries.
Both are affected by the `.env` file and both are required.
+103
View File
@@ -0,0 +1,103 @@
How to Launch E2E
===
## Overview for how automated test structured for Status app
As a part of CI for Status mobile app and in order to ensure there are no regressions appear after the changes in code (bug fix, new/updated feature) we are using automated tests (e2e tests).
- Automated tests written on Python 3.9 and pytest.
- Appium (server) and Selenium WebDriver (protocol) are the base of test automation framework.
TestRail is a test case management system tool where we have test cases.
Each of the test case gets a priority (Critical/High/Medium)
**SauceLabs** - is a cloud based mobile application test platform. We are using Android emulators (Android 10.0) for test script execution there. We have 16 session be running at the same time max.
For now we support e2e for Android only.
## What's happening when any e2e job is running
Whenever we need to push set of test scripts we create 16 parallel sessions (max, but depending on amount of cases that are included in job) and each thread: 1) uploads Android .apk file to SauceLabs -> 2) runs through the test steps -> 3) receives results whether test failed on particular step or succeeded with no errors -> 3) Parse test results and push them as a Github comment (if the suite ran against respective PR) and into TestRail.
We push **whole automation test suite (currently 155, amout is changing)** against each nightly build (if the nightly builds job succeeded). Results of the test run are saved in TestRail.
And also we push set of autotests whenever PR with successful builds got moved in to `E2E Tests` column from [Pipeline for QA dashboard ](https://github.com/status-im/status-react/projects/7).
In that case we save results in TestRail as well and push a comment with test results in a respective PR.
For example: https://github.com/status-im/status-react/pull/9147#issuecomment-540008770
![](images/how-to-launch-e2e/how-to-launch-e2e-1.png)
The test_send_stt_from_wallet opens link in TestRail https://ethstatus.testrail.net/index.php?/tests/view/890885 where performed steps could be found
List of all runs performed by test jobs could be found here https://ethstatus.testrail.net/index.php?/runs/overview/14
**For credentials for TestRail to see results ping Chu in DM**:
Opening any test run navigates you to list of test cases with results:
![](images/how-to-launch-e2e/how-to-launch-e2e-2.png)
## What about launching e2e manually
To manage e2e there are several jobs in https://ci.status.im/job/status-mobile/job/e2e :
1) [nightly](https://ci.status.im/job/status-mobile/job/e2e/job/status-app-nightly/) - running automatically after building nightly apk e2e build. QA running it manually for results of e2e when testing release.
2) [upgrade](https://ci.status.im/job/status-mobile/job/e2e/job/status-app-upgrade/) - running manually by QA in release testing for smoke upgrade tests.
3) [prs](https://ci.status.im/job/status-mobile/job/e2e/job/status-app-prs/) - running **only automatically** when PR moves into `e2e column`
4) [prs-rerun](https://ci.status.im/job/status-mobile/job/e2e/job/status-app-prs-rerun/) - for manual run, can be run on request by anyone. **If you need to launch e2e against your build, use this job.**
Params to specify:
- apk: [url_to_apk_build_here]
- pr_id: pull request number (e.g. 1234)
- branch: branch name from which the test are taken (in most of cases `develop`)
- keyword expression: tests by area (let's say `ens` or `chat`, thay can be combined`ens or chat or send_tx`. All keywords can be found in testrail, ping Chu for details)
- test_marks: tests by priorities (by default: `critical or high or medium`, which corresponds the whole suite; to lauch the same suite as in PRs, use `critical or high`)
- testrail_case_id: here is the list of test cases which you may find in test rail (4-digit value)
For easier access you can hit `Rerun tests` in GH comment and testrail_case_id/ apk_name/ pr_id will be filled automatically. For making sure that tests are being rerun on most recent e2e build it is recommended to paste link to the last e2e build in apk_name field. The list of PR builds can be found in Jenkins Builds block on PR page.
![](images/how-to-launch-e2e/how-to-launch-e2e-3.png)
And then hit Build.
Once the job starts it picks up specified tests, runs them against provided apk and sends results to pull request.
Even we have 16 parallel sessions for testing its a time consuming operation (whole test suite we have automated at the moment takes ~140 minutes to finish).
So for PRs we pick only set of `critical or high` (you can also use this in TEST_MARKS param for job)
tests (otherwise some PRs could wait their turn of the scheduled Jenkins job till the next day).
## Analysing test results (and why test fails to pass)
After automated test run finished test results could be found in GH comment (if the test suite ran agaist PR) and TestRail. There are two states of the test: Passed and Failed. Test failure happens when certain condition of test step has not met or automated test can not proceed execution because it can not find the respective element on screen it expects should be there.
Several examples of when test fails to succeed:
- Test clicked on element which should load new screen (or pop-up) and awaits some element on this screen. But test did not wait enough allowing the new screen to appear and so it fails with “Could not find element XYZ” (this case is more app issue in our opinion rather then test issue, but we just can not spend our and dev time with too specific random places which happens once causing app lags in different moments)
- Test sent transaction to address but it was not mined in time (we have a limit to wait until balance is changed on recipient side up to ~6 mins now). We classify this as False Fail, because its not the app issue but more network issue.
- Test infrastructure issues, - anything related to infrastructure including SauceLabs side issues (apk failed to install - rare case, or LTE connection was set by default instead WiFi or unexpected pop-up appeared preventing test to going further)
- Failure due to changed feature which has not been taken into account in some test after code merge (for instance: some element on screen has been removed, and we want to locate another element on this screen via XPath which is different now)
- **Valid issue in the automated test scripts** - that's what we're looking for
Example: here is the test results https://github.com/status-im/status-react/pull/13015#issuecomment-1016495043 where one test failed.
1. Open the test in TestRail and open session recorded for this test in SauceLabs
![](images/how-to-launch-e2e/how-to-launch-e2e-4.png)
In TestRail you may find all the steps performed by the test.
In SauceLabs testrun page you may find useful: video of the session, step logs, logcat.log of the session
2. Analyze step where test was failed
For particular example it was failed on `Recover access(password:qwerty, keycard:False)` and unexpected error appeared.
## Limits for e2e tests coverage
Not all features of the app could be covered by e2e at the moment:
- Colours or place of an element on UI.
- Real ETH/token transactions. Thats the main reason we have separate .apk build for automation needs - it defaults to Goerli network. Also it has enabled keycard test menu, ENS names and chat commands are also on Goerli network (the same in PR builds, but not in nightlies / release)
- Autologin/Biometric related actions (autologin available when device meets certain conditions like the it has set unlock password and device is not rooted: all emulators are rooted in SauceLabs)
## Brief flow for test to be automated
Whenever there is a need to have a new test:
1) Create a test scenario in TestRail.
2) If certain item could be checked in scope of existing test case we update existing one (otherwise we may have thousands of test cases which is overkill to manage in TestRail as well as in automated test scripts). And also complex autotests increase probability to not catch regressions by stopping test execution (due to valid bug or changed feature) keeping the rest test steps uncovered. So here we need to balance when it makes sense to update existing test case with more checks.
3) Then we create test script based on the test case, ensure test passes for the build and pushing the changes to repo.
+202
View File
@@ -0,0 +1,202 @@
# Setup your Editor/IDE
You can use any Clojure enabled editor. Here are instructions for developing the status-mobile app using:
* IntelliJ IDEA and Cursive
* VS Code and Calva
* Emacs/Cider
(Please add instructions for your favorite editor.)
## Table of Contents
- [Using Cursive](#using-cursive)
- [Install Cursive](#install-cursive)
- [Getting Cursive to understand `status-mobile`](#getting-cursive-to-understand-status-mobile)
- [I get a lot of `cannot be resolved`](#i-get-a-lot-of-cannot-be-resolved)
- [REPL!](#repl)
- [Connecting to REPL to IntelliJ](#connecting-to-repl-to-intellij)
- [Connecting REPL and IntelliJ to `status-mobile`](#connecting-repl-and-intellij-to-status-mobile)
- [Using Calva](#using-calva)
- [Start and connect the REPL](#start-and-connect-the-repl)
- [Use the REPL](#use-the-repl)
## Using Cursive
### Install Cursive
See https://cursive-ide.com/userguide/index.html
### Getting Cursive to understand `status-mobile`
- Add this file to the root of the `status-mobile` project dir
- https://gist.github.com/Samyoul/f71a0593ba7a12d24dd0d5ef986ebbec
- Right click and "add as leiningen project"
<img src="images/ide-setup/1_fake_project_file.png" width=75% />
## I get a lot of `cannot be resolved`
Are you getting problems where you get a lot of `cannot be resolved` on everything?
<img src="images/ide-setup/2_resolve.jpeg" width=75% />
See https://cursive-ide.com/userguide/macros.html
- opt+enter (on macOS)
- resolve defview as fn and letsubs as let
- move selection on resolve and hit enter
- and select defn for defview and let for letsubs
### REPL!
#### Connecting to REPL to IntelliJ
I had a number of problems connecting to REPL, the solution is as follows:
At the top of IntelliJ IDEA click on the `Add Configuration...` option:
<img src="images/ide-setup/3_REPL_1.png" width=75% />
This will load the following menu:
<img src="images/ide-setup/4_REPL_2.png" width=75% />
Click on the `+` icon in the top left corner of the menu.
Select `Clojure REPL > Remote`
<img src="images/ide-setup/5_REPL_3.png" width=75% />
Which will load the following menu
<img src="images/ide-setup/6_REPL_4.png" width=75% />
Enter the below options:
- Name = status-mobile
- Display Name = status-mobile
- Connection type = nREPL
- Connection details
- Host = 127.0.0.1
- Port = 7888
<img src="images/ide-setup/7_REPL_5.png" width=75% />
Press `OK`
Now the below option will be visible.
Press the green run button
<img src="images/ide-setup/8_REPL_6.png" width=75% />
You should now see an dialog with the following message:
```shell
Connecting to remote nREPL server...
Clojure 1.10.1
```
To confirm you have a working connection with REPL enter the following command in the input box below the output:
```shell
(prn 1)
```
Which should output
```shell
(prn 1)
1
=> nil
```
See below:
<img src="images/ide-setup/9_REPL_7.png" width=75% />
#### Connecting REPL and IntelliJ to `status-mobile`
**The important next step is telling REPL the context in which to interact with the code.**
Do the following:
Ensure you have 3 terminals running the following
- `make run-clojure`
- `make run-metro`
- `make run-ios` / `make run-android`
[See the STARTING GUIDE for details](STARTING_GUIDE.md#development)
Next go back to the REPL input and enter the following commands:
```clojure
(shadow/watch :mobile)
(shadow/repl :mobile)
```
See Below
<img src="images/ide-setup/10_REPL_8.png" width="75%" />
Which should switch the clj file type target to cljs as shown above
Finally you are ready to test REPL.
Create a sample function to evaluate something simple like `(prn "I'm working")`, move your cursor to one of the outer parentheses. Right or `control` click and select the `REPL` option. From there select `Sync files in REPL` and then `Send '...' to REPL'`.
<img src="images/ide-setup/11_REPL_9.png" width="75%" />
Alternatively you can use the shortcut commands `⇧⌘M` to sync your files and `⇧⌘P` to send the statement to REPL. You may also need to switch the REPL namespace to match the current file, which can be done manually from the dialogue box or using the `⇧⌘N` shortcut key.
Following the above should give you the below result:
<img src="images/ide-setup/12_REPL_10.png" width="75%" />
🎉 Tada! Working! 🎉
---
For additional details on issues you may face when setting up REPL with Cursive [see this document](https://notes.status.im/9Gr7kqF8SzC_SmYK0eB7uQ?view#Connecting-Cursive--IntelliJ-IDEA-to-REPL-Problems)
## Using Calva
For VS Code users.
0. Install Calva.
### Start and connect the REPL
1. Open the `status-mobile` folder.
1. Start [Status development](STARTING_GUIDE.md#development) (Starting the `run-clojure` and `run-metro` jobs in split view in the VS Code integrated terminal works great.)
1. Run the VS Code command: **Calva: Connect to a running REPL Server in the project**
1. Select the project type `shadow-cljs`
1. Accept the suggested connection `host:port`
1. Select to connect to the `:mobile` build
### Use the REPL
Open any `.cljs` file in the project and evaluate forms in it. See https://calva.io/try-first/ for some starter tips and links. Confirm that your REPL is connected to the app by evaluating:
```clojure
(js/alert "Hello from Status App!")
```
🎉 Tada! You are ready to use the REPL to improve Status.im! 🎉
Please consider bookmarking [calva.io](https://calva.io/) for quick access to the Calva documentation.
## Using Emacs/Cider
1. Install Emacs/Cider/etc. (there is a lot of variability in how to manage things in emacs, so please google for help with this)
2. Add a local ~/.shadow-cljs/config.edn file like below (corresponding to the version numbers of the packages you are using):
```clojure
{:dependencies
[[nrepl/nrepl "0.9.0"]
[cider/cider-nrepl "0.28.4"]
[cider/piggieback "0.5.2"]]}
```

Before

Width:  |  Height:  |  Size: 33 KiB

After

Width:  |  Height:  |  Size: 33 KiB

Before

Width:  |  Height:  |  Size: 231 KiB

After

Width:  |  Height:  |  Size: 231 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 138 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 71 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 80 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 439 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 285 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 180 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 290 KiB

Some files were not shown because too many files have changed in this diff Show More