Compare commits

..
Author SHA1 Message Date
yevh-berdnyk afb3b2a0f2 Changed tests run 2022-05-01 05:06:31 +03: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
Andrea Maria Piana 2ca39daa59 Communities
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2020-12-23 17:23:11 +01:00
Gheorghe Pinzaru 35c2c226df Remove redundant overflow hidden on messages
Fixes #11439

Signed-off-by: Gheorghe Pinzaru <feross95@gmail.com>
2020-12-23 14:27:30 +03:00
Andrea Maria Piana 5b801b95fa [Fixes: #11557] Resend contact picture when changed
Fixes: #11557

Resend contact picture when it is changed.

Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2020-12-23 09:43:51 +01:00
Andrea Maria Piana b5a6f1b78f Add nix purge command and change the behavior of nix clean
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2020-12-23 09:08:46 +01:00
Gheorghe Pinzaru 2571e44de0 Referrals add screen with join public-chat
Update strings

Check if transaction has receipt on login

Notification on accept

Add large icon

Unify notifications for referral

Fix duplicate path for acquisition

Fix accept notification and visibility

Small fixes

Do not show notifications when not rewardable

Add home item

Show referral on lets go button

Fix list item on home

Hide messages on accept

Signed-off-by: Gheorghe Pinzaru <feross95@gmail.com>
2020-12-22 15:33:02 +03:00
Churikova Tetiana 7f22912f1e e2e: bookmarks
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2020-12-21 16:38:58 +01:00
Roman Volosovskyi aac7a97e13 [#11502] Handle tx fetching failure 2020-12-21 17:05:00 +02:00
Michele Balistreri eaf463395a shorter pairing codes for Keycard
Signed-off-by: Michele Balistreri <michele@bitgamma.com>
2020-12-21 17:07:25 +03:00
Gheorghe Pinzaru 8342972059 Android tabbar replace elevation with border
Signed-off-by: Gheorghe Pinzaru <feross95@gmail.com>
2020-12-21 15:02:18 +03:00
Churikova Tetiana 98a8359db3 e2e: new tests
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2020-12-18 10:05:40 +01:00
Andrea Maria Piana 9fe7ddaf0b [Fixes: #11545] Don't update browser if nil
Fixes: #11545
Fixes: #11544

The two issues were caused by the same bug, essentially if
`navigation-state-changed` event was fired (it's debounced) when the tab
had been closed, the browser would be updated with a `nil` id, causing
all sort of issues as it had not history etc.

This commit ensures that no changes are made if the browser is nil.

Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2020-12-18 10:05:00 +01:00
Gheorghe Pinzaru 5643c4d537 Add profile pictures
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2020-12-17 14:12:07 +01:00
Gheorghe Pinzaru 09822e142b Add async storage wrapper
Signed-off-by: Gheorghe Pinzaru <feross95@gmail.com>
2020-12-16 14:08:13 +03:00
Gheorghe Pinzaru 86d7b79175 Add buy crypto banner UI
Store in local storage banner preference

Add i18n
2020-12-16 14:08:05 +03:00
Andrea Maria Piana 4e5ba2c533 Fix watching accounts for transaction in chat messages
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2020-12-15 16:40:26 +01:00
Volodymyr Kozieiev b197d54e47 Switched to status-go where reaction resends under the hood if sending failed
Signed-off-by: Volodymyr Kozieiev <vkjr.sp@gmail.com>
2020-12-15 16:59:13 +02:00
Churikova Tetiana 1b9bd8b017 e2e: fixed browser tests
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2020-12-14 18:53:39 +01:00
Roman Volosovskyi 879f441b7d [#11499] Fix multiple notifications for a single erc20 transfer 2020-12-14 13:34:20 +02:00
Frank Tang 8e882dda21 [Fixes: #11074] only validate whether group name is blank
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2020-12-14 10:58:40 +01:00
Churikova Tetiana 905aa26705 e2e: browser1.0
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2020-12-11 18:09:31 +01:00
andrey 3241d3273e [#11469] Browser bookmarks
Signed-off-by: andrey <motor4ik@gmail.com>
2020-12-11 16:55:42 +01:00
Churikova Tetiana efc4f6c750 e2e: fix fetching from offline
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2020-12-10 17:09:24 +01:00
Roman Volosovskyi c33e2be76b [wallet] Watch txs history while app is in the background (Android only) 2020-12-10 18:02:49 +02:00
Andrea Maria Piana 8748280279 [Fixes: #10777] Always convert value to string
When calling `SendTransaction` sometimes the value would be a string
(most cases), sometimes the value would instead big a `BigInt`, which
would be serialized to an integer, and status-go would be unable to
parse it as it expects values to be a string.
This commit makes sure that values are always serialized as string
before sending them over.

Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2020-12-10 08:26:38 +01:00
Andrea Maria Piana 1b4dcb7103 [Fixes: #11520] Rotate mailservers on error conditions
If a mailserver request is failing we disconnect at the 3rd attempt.

Though once we are disconnected, we connect again to the same mailserver
based on ping time.

This commit changes the behavior so that mailservers are penalized if
they are returning errors.

Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2020-12-10 08:26:00 +01:00
Churikova Tetiana 5259de7423 e2e:nightly fixes
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2020-12-09 18:01:36 +01:00
Serhy e167773258 Update tests and get balance method
Signed-off-by: Serhy <sergii@status.im>
2020-12-08 18:47:56 +02:00
snyk-bot 57c0e835e2 fix: test/appium/requirements.txt to reduce vulnerabilities
The following vulnerabilities are fixed by pinning transitive dependencies:
- https://snyk.io/vuln/SNYK-PYTHON-URLLIB3-1014645

Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2020-12-08 15:56:04 +01:00
Roman Volosovskyi 7055c46a60 [#11507] Fix e2e tests 2020-12-07 15:37:16 +02:00
Andrea Maria Piana 2f1e5c819e [Fixes: #11518] Fix dependabot directory
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2020-12-07 12:14:16 +01:00
Andrea Maria Piana 2df5eccff0 [Fixes: #9851] Allow setting ens & transaction verify url, and fix
pending transaction

This commit fixes an issue where pending transactions would be marked as
confirmed in commands, due to the fact that we would default to pending
if no transaction was in the database.

Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2020-12-07 11:19:12 +01:00
Serhy a70b07e83d Interact with ropsten web3 to send assets
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2020-12-04 21:16:58 +01:00
Churikova Tetiana 8a97331779 e2e: testrail report
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2020-12-04 21:10:01 +01:00
Andrea Maria Piana fdf91cff80 [Fixes: #8280] Remove unused transport security entries
Removes not used security transport entries from ios

Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2020-12-04 12:42:01 +01:00
Andrea Maria Piana f04042c643 [Fixes: #10801] Send chat messages in order
Chat messages are now sent in order using a different endpoint
`sendChatMessages`.
Text should always be displayed after images.

This is not implementing a Caption field, that would require either a
protocol change or leverage the `text` in the message.
It applies for both normal chats and timelines.

Move also all inputs under `chat/inputs` so we avoid re-renders as
`chats` has changed.

Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2020-12-03 18:29:40 +01:00
Churikova Tetiana fd5be21207 e2e: TODO resolve
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2020-12-03 14:10:42 +01:00
jakub c62abf10c1 nix: add docs about NodeJS modules, small refactor
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2020-12-02 20:47:23 +01:00
jakub 458ef05740 bump jenkins library to 1.2.8 to add keychain password
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2020-12-02 19:34:10 +01:00
andrey 609a7120b6 flatlist render changes
Signed-off-by: andrey <motor4ik@gmail.com>
2020-12-02 16:04:15 +01:00
jakub b62ff59f16 ci: make GitHub build links use CDN for downloads
Should speed up downloads for some geographical locations.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2020-12-02 15:53:17 +01:00
Serhy c381fc2e2f E2e for mentions is chat
Signed-off-by: Serhy <sergii@status.im>
2020-12-02 16:04:55 +02:00
andrey d2493c0725 [#11470] Statuses issues
Signed-off-by: andrey <motor4ik@gmail.com>
2020-12-02 10:39:07 +01:00
Andrea Maria Piana b9f896f4e3 Don't allow multiple pop ups to be shown
This commit makes sure that we don't display multiple pop ups when
mailserver connection has failed.
It also fixes the navigation to avoid being stuck on Profile tab.

Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2020-12-02 09:50:23 +01:00
Jonathan Rainville 7e069ed342 fix: linting and variable name 2020-12-02 09:49:47 +01:00
Jonathan Rainville b2cdc59670 fix: fix mailserver popup showing after canceling it
Fixes #10065
After clicking cancel, the popup is `dismissed`, so it will not appear again
Selecting a new mail server sets `dismissed` as false, so the error can appear again
2020-12-02 09:49:46 +01:00
Andrea Maria Piana a6e08f0d8e fix typo on branch name 2020-12-02 09:12:42 +01:00
Andrea Maria Piana 0e6d191e58 Point to master for easier testing 2020-12-02 08:55:47 +01:00
Andrea Maria Piana 852838f777 add assigned 2020-12-02 08:42:24 +01:00
jakub 32efcb06a0 nix: make status-go version regex even more lax
In release `1.7.0` we had an issue with `status-go` version `v0.62.3.hotfix.3`
not matching [Semantic Versionig](https://semver.org/#spec-item-11) so a fix was
introduced in https://github.com/status-im/status-react/pull/11331 that made the regex a bit more lax.

Again in `1.9.0` we had the same issue and the release not appears as `develop`
instead of the actual `status-go` version, which this time was `0.63.8+hotfix.2`.
Notice the `+` instead of `-` or `.` before `hotfix.2`.

I've added `+` to allowed characters after the 3 digit standard version format.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2020-12-01 20:18:03 +01:00
Churikova Tetiana 179e389e37 align e2e 11478
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2020-12-01 16:15:00 +01:00
Andrea Maria Piana a4716cc494 [Fixes: #9181] Reset edit mailserver on add pressed
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2020-12-01 14:44:34 +01:00
Roman Volosovskyi 92aaa194a8 [wallet] Pull to refresh tx history 2020-11-30 16:13:55 +02:00
Andrea Maria Piana 64840f74a7 [Fixes: #11351] Pass topics when querying the mailserver
Currently we are still using a bloom filter when querying mailserver.
This commit changes the behavior so that topics are used instead.

Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2020-11-30 12:08:08 +01:00
Andrea Maria Piana bd281e6c9f Upgrade workflows 2020-11-30 12:01:24 +01:00
Andrea Maria Piana e8350414f3 Use our own fork for actions 2020-11-30 10:31:24 +01:00
Andrea Maria Piana ae900a4cd9 Add action for creating branches 2020-11-30 10:14:38 +01:00
Andrea Maria Piana 46cd4aa893 Create zenhub-pr.yml
Create action for zenhub-pr
2020-11-30 10:12:02 +01:00
jakub f0d9f2ac54 nix: add a way to deal with new gradle version to docs
Also adjusted the `generate.sh` script and split stuff into separate function
to make it easier to run specific stages of the generation process.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2020-11-27 14:56:42 +01:00
Churikova Tetiana f47c816ce0 fix e2e and align to new 11465
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2020-11-26 18:34:22 +01:00
andrey 88889930ae :accessibility-label :message-image
Signed-off-by: andrey <motor4ik@gmail.com>
2020-11-26 17:57:22 +01:00
andrey e2717ade98 [#11438] Add "sent" message confirmations 2020-11-26 17:57:10 +01:00
andrey f9095a492e [#11214] Add option for user to increase the gas payment for a pending transaction
[#11215] Add option for user to cancel a pending transaction.

Signed-off-by: andrey <motor4ik@gmail.com>
2020-11-26 14:51:18 +01:00
Churikova Tetiana 1f7e40cede updated libs + e2e fix
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2020-11-25 18:58:29 +01:00
Roman Volosovskyi 7bfaa9255c [wallet history] Stop watching each new block 2020-11-25 16:44:16 +02:00
Serhy 166bdbf798 Update mailserver locator
Signed-off-by: Serhy <sergii@status.im>
2020-11-23 14:17:11 +02:00
shivekkhurana ecc41bebe0 Moved text-input props to their own functions, renamed get-suggestions to get-user-suggestions
Signed-off-by: shivekkhurana <shivek@status.im>
2020-11-23 16:33:08 +05:30
shivekkhurana 4cb058f1ca Add notes on testing, translations, merging and starting Refrisk
Signed-off-by: shivekkhurana <shivek@status.im>
2020-11-23 11:23:31 +05:30
shivekkhurana a55dd51064 Rename mailserver to history nodes on settings screen, changed en.json to reflect changes.
Signed-off-by: shivekkhurana <shivek@status.im>
2020-11-20 16:43:36 +05:30
Andrea Maria Piana d260ea9e03 [Fixes: #11452] Don't allow more than x pictures if taken from camera
This commit fixes an issue with taking pictures from camera, where
the check for image count was not checked.

Signed-off-by: andrey <motor4ik@gmail.com>
2020-11-20 10:15:03 +01:00
Andrea Maria Piana 36f90fc567 Dont send unprocessed images
When selecting an image from camera roll we would immediately setting
the filepath with the raw image, process and later once it was processed
we would replace the file path.
On slow devices, the user might press send while the image is still
processing, causing the raw image to be sent, which might be discarded
as too large and never sent.

This commit changes the behavior so that we only set the uri once the
image is processed, it might add some delay, but the image should be
correctly sent.

Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2020-11-19 16:17:11 +01:00
Andrea Franz 22c6635d93 show tx data in keycard web3 request screen
Signed-off-by: Andrea Franz <andrea@gravityblast.com>
2020-11-19 11:28:25 +01:00
Andrea Maria Piana ae2d9b996c Limit max batch of images
There's an issue reported on slow devices when sending a batch of
images.

All the requests are send concurrently, and the sending of messages is
processed concurrently in the background.
On slow devices or connection with slow upload speed this may result in
expired envelopes, as the POW calculation or the upload takes too long,
and either they never leave the device, or worse they reach the
mailserver but won't be stored because already expired on arrival.

This commit allows setting the max-images-batch config value, setting it
to 1 for release and keeping it to 5 for other builds.

Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2020-11-19 09:13:06 +01:00
Andrea Maria Piana 7c9bb5b21c Fix bug when coming back from background
Fixes: #11441
Fixes: #11416

The issue was due to a nil pointer exception with the
localNotificationService.
Upon upgrade it would be disabled and therefore it would not be
available.
This was due to the fact that initialization comes from the database and
not from status-react, so on upgrade it would not be available.

Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2020-11-19 08:17:53 +01:00
Andrea Maria Piana 80ac4a8dc2 Remove status-core from codeowners
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2020-11-19 07:12:05 +01:00
andrey e30962ca75 [#11446] Can't sell item on opensea
Signed-off-by: andrey <motor4ik@gmail.com>
2020-11-18 17:27:20 +01:00
Churikova Tetiana 2bcc832cca fix ru date short values
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2020-11-17 17:35:31 +01:00
jakub 0b8c673094 ci: fix iOS signing, use same keychain name
Using different temporary keychains does not work if we do not set
`default_keychain=true`, because `codesign` then can't find the cert:
```
error: No signing certificate "iOS Distribution" found: No "iOS Distribution" signing certificate matching team ID
```
But if we set `default_keychain=true` then we cause a race condition
when the keychain is deleted by a parallel job while another is using it
as its default.

For this reason we have to use a static keychain name and keep it
between builds.

I tried disabling `default_keychain=true` in #11378 but it worked only
because the default user keychain already had the cert.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2020-11-17 10:16:32 +01:00
jinhojang6 dbabcc223e Update translations
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2020-11-16 17:09:07 +01:00
andrey 9f7ad853f0 [#11411] App is crashed on account creation after navigating to access key and back
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2020-11-16 17:04:02 +01:00
Churikova Tetiana 28d3cf03d9 fix 6305 e2e
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2020-11-16 15:49:14 +01:00
andrey 7b46c445a7 [#11383] Status Updates : Add reactions and copy to clipboard
Signed-off-by: andrey <motor4ik@gmail.com>
2020-11-16 14:15:15 +01:00
andrey cf911aa246 [#11236] Deeplink to public chat on onboarding
Signed-off-by: andrey <motor4ik@gmail.com>
2020-11-16 14:12:14 +01:00
Volodymyr Kozieiev a91bdfb047 Don't make inability to unfurl url a user's problem
Signed-off-by: Volodymyr Kozieiev <vkjr.sp@gmail.com>
2020-11-16 13:57:40 +02:00
andrey 61105e15f6 fix ens content resolution
Signed-off-by: andrey <motor4ik@gmail.com>
2020-11-16 12:31:00 +01:00
Gheorghe Pinzaru 13c81a34b3 Add pinch to zoom deps
Add image interactions

Add image preview to timeline

Signed-off-by: Gheorghe Pinzaru <feross95@gmail.com>
2020-11-14 21:56:46 +03:00
shivekkhurana fbb606b859 Escape address so newlines and spaces don't interfere
Signed-off-by: shivekkhurana <shivek@status.im>
2020-11-13 20:11:48 +05:30
shivekkhurana 30753f8766 Make right item occupy entire space instead of left one. Make left grow if nothing on right.
Signed-off-by: shivekkhurana <shivek@status.im>
2020-11-13 20:09:53 +05:30
Churikova Tetiana 6b4f2901ae reduce number of parallel sessions
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2020-11-13 15:29:35 +01:00
Gheorghe Pinzaru 40e2839793 Exclude google deps based on env
Export all vars from .env

Signed-off-by: Gheorghe Pinzaru <feross95@gmail.com>
2020-11-13 11:05:28 +03:00
Churikova Tetiana d14f232abf status e2e
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2020-11-12 18:43:49 +01:00
Churikova Tetiana 8310749696 fix e2e nightly
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2020-11-11 16:42:22 +01:00
Roman Volosovskyi fac4f0c871 [#10798] Fix unviewed counter on receiving response 2020-11-11 15:04:17 +02:00
Roman Volosovskyi ae3936eff2 [#11240] Clarify assets Status wallet supports 2020-11-10 22:17:56 +02:00
Churikova Tetiana 920000c3e8 e2e: failures
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2020-11-10 18:10:04 +01:00
andrey b3a3a753d2 fix timeline non contacts
Signed-off-by: andrey <motor4ik@gmail.com>
2020-11-10 15:45:07 +01:00
andrey e5ada29ed8 [#11384] Status Updates : Open profile when tapping on username or avatar
Signed-off-by: andrey <motor4ik@gmail.com>
2020-11-10 13:44:46 +01:00
Roman Volosovskyi 35381a55c0 [#10239] Remove "Fetch last 24 hours" option 2020-11-10 13:33:53 +02:00
Serhy 473c5135b2 Update number of parallel sessions to align with Sauce
Signed-off-by: Serhy <sergii@status.im>
2020-11-09 21:32:20 +02:00
Michele Balistreri 4384d979e7 update Keycard SDK, remove workaround
Signed-off-by: Michele Balistreri <michele@bitgamma.com>
2020-11-09 20:10:58 +01:00
andrey b1ea04900e [#11398] Error at attempt to sign typed message in simpledapp.eth
Signed-off-by: andrey <motor4ik@gmail.com>
2020-11-09 17:43:35 +01:00
Churikova Tetiana 627e1d0e14 e2e align new wallet cards
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2020-11-09 16:44:51 +01:00
Churikova Tetiana f7d7c282cd nightly e2e fixes
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2020-11-09 16:40:22 +01:00
tbenr 07e36096cc new-account-cards
Signed-off-by: andrey <motor4ik@gmail.com>
2020-11-09 16:38:00 +01:00
Gheorghe Pinzaru 6311077cec Don't crash if token is missing referrals
Signed-off-by: Gheorghe Pinzaru <feross95@gmail.com>
2020-11-09 13:41:53 +03:00
andrey 6d104d60e2 [#11382] Status Updates: Add URL unfurling
Signed-off-by: andrey <motor4ik@gmail.com>
2020-11-09 11:27:53 +01:00
Gheorghe Pinzaru 72591f576d Update to Quo Readme
Signed-off-by: Gheorghe Pinzaru <feross95@gmail.com>
2020-11-09 10:28:41 +03:00
Roman Volosovskyi 6eb840c8b2 [#10362] Allow receiving old messages after rejoining a pubchat 2020-11-06 17:37:18 +02:00
andrey f1d070ed82 [#11333] personal_sign method does not work in status
Signed-off-by: andrey <motor4ik@gmail.com>
2020-11-06 15:51:19 +01:00
Churikova Tetiana 9e466976dc align e2e timeline
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2020-11-06 14:24:31 +01:00
andrey ee61244770 timeline
Signed-off-by: andrey <motor4ik@gmail.com>
2020-11-06 14:23:02 +01:00
jakub 34c6292af4 fastlane: disable default_keychain to avoid race condition
If we run parallel job and a job sets a temporary keychain into a
default than another job can assume that is the user default.

The result is that one of the jobs will attempt to set a non-existent
temporary keychain into the default keychain.

This happens when we call `Fastlane::Actions::DeleteKeychainAction`:
https://github.com/fastlane/fastlane/blob/2.164.0/fastlane/lib/fastlane/actions/delete_keychain.rb#L21

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2020-11-05 16:09:32 +01:00
shivekkhurana 0d82dab5c5 Fix scroll issue
Signed-off-by: shivekkhurana <khuranashivek@gmail.com>
2020-11-05 20:26:42 +05:30
Michele Balistreri 206ce8849f closes #11373
Signed-off-by: Michele Balistreri <michele@bitgamma.com>
Signed-off-by: andrey <motor4ik@gmail.com>
2020-11-05 14:20:04 +01:00
Andrea Maria Piana 7cef533a8a [Fixes: #11349] Split large messages in batches
When sending messages in quick succession, it might be that multiple
messages are batched together in datasync, resulting in a single large
payload.

This commit changes the behavior so that we can pass a max-message-size
and we split the message in batches before sending.

Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2020-11-05 12:49:53 +01:00
Roman Volosovskyi e7807202c9 [#11354] Add error alerts on denying access 2020-11-04 17:11:47 +02:00
Roman Volosovskyi d17f7c67b9 [#10957] Fix slow assets list 2020-11-04 14:05:35 +02:00
Roman Volosovskyi 82aca6bd76 [#10771] Fix loading of tx history before 10000000th block 2020-11-04 11:26:31 +02:00
Churikova Tetiana c7b3efe6ad new e2e
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2020-11-03 17:57:36 +01:00
Serhy d8713fe3c7 Fix more e2e
Signed-off-by: andrey <motor4ik@gmail.com>
2020-11-03 16:30:25 +01:00
Serhy 6f86f73ac6 Update e2e 2020-11-03 16:30:16 +01:00
andrey b7948b9869 navigate to home when press chat tab on chat screen 2020-11-03 16:30:16 +01:00
Andrea Maria Piana d380186051 Upgrade status-go to 0.63.0
No functional changes, just removing code that is unused

Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2020-11-03 11:20:35 +01:00
Andrea Maria Piana a91fa39547 [Fixes: #11355] Fix crash on logout
On shutdown the app was calling `PeersCount`, but sometimes the server
would be unavailable, resulting in a call to a nil pointer.

Upgrades status-go version with the fix.

Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2020-11-03 10:01:03 +01:00
jakub 3b780f4ff2 fastlane: Create temporary Keychain for iOS signing
This is a new approach to signing the iOS app by using a temporary
Keychain created only for that specific build and unlocked in advance.

By doing it this way we can avoid issues with `errSecInternalComponent`
appearing when there is no UI to open a Keychain password prompt when
running build in CI. I've described this problem in details in:
https://github.com/fastlane/fastlane/issues/15185

Thanks to `codesign:` partition ID being added to key partition list by
Fastlane `match` when importing a Keychain this approach now works:
https://github.com/fastlane/fastlane/pull/17456

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2020-11-03 00:03:38 +01:00
Churikova Tetiana d8eb33e330 e2e fixes+new check
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2020-11-02 20:20:21 +01:00
Volodymyr Kozieiev 0b5be54fea Allow group creation without contacts
Signed-off-by: Volodymyr Kozieiev <vkjr.sp@gmail.com>
2020-11-02 20:10:22 +02:00
Volodymyr Kozieiev f99b2aa401 Link preview generation
Signed-off-by: Volodymyr Kozieiev <vkjr.sp@gmail.com>
2020-11-02 15:28:31 +02:00
Roman Volosovskyi 27ad8f07c3 Trim url before opening in browser 2020-11-02 13:09:06 +02:00
Gheorghe Pinzaru 7402718e68 Use custom color for disabled state of controls
Signed-off-by: Gheorghe Pinzaru <feross95@gmail.com>
2020-11-02 10:34:59 +03:00
Churikova Tetiana 3ac8f0c5fd e2e refactoring
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2020-10-30 15:51:15 +01:00
Gheorghe Pinzaru cf4bef8268 Add pick multiple images
Add inner border to image message

Add max batch size of 5

Disable camera roll more images

Use interop instead of aget

Add border as a separate layer

Signed-off-by: Gheorghe Pinzaru <feross95@gmail.com>
2020-10-30 12:46:00 +03:00
Gheorghe Pinzaru fe5b5ab4bc use ens for rinkeby contract
Signed-off-by: Gheorghe Pinzaru <feross95@gmail.com>
2020-10-29 15:42:56 +03:00
Gheorghe Pinzaru 050f20cfae Add local notifications for transactions
Pods

Add headless js service

Handle Local Notifications react

CopyPaste driven implementation of java notification

pn demo

Show iOs push in foreground

Show icon in notification

Enable notifications on login

Get chain from status-go

Add UI for switching notifications

go go!

Fixup

Handle notification onPress

Android UI

Handle press iOs

Handle android press and validate

go update

Fix route params in universal link handler

Set show badge explicitly to false

Fix e2e

bump status go

Signed-off-by: Gheorghe Pinzaru <feross95@gmail.com>
2020-10-29 15:40:58 +03:00
Churikova Tetiana 10dcee3e05 nightly fixes
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2020-10-28 22:36:06 +01:00
Churikova Tetiana ce20eddb99 profile e2e
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2020-10-28 17:19:37 +01:00
andrey eae66c967e my status
Signed-off-by: andrey <motor4ik@gmail.com>
2020-10-28 14:42:59 +01:00
jakub 973bdb61b3 nix: make status-go matching regex more lax
We had an issue where the `1.7.0` release was using the `v0.62.3.hotfix.3`
version of `status-go` which didn't match the regex we use to verify
if the specified version is a valid version according to [Semantic Versioning](https://semver.org/).

You can check the current regex here: https://regex101.com/r/OeTQCv/3

I also added a trace message to show when we mark a build as `develop`.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2020-10-26 13:02:50 +01:00
andrey 663f5f41a0 [#11323] Turn off "Block screenshots" by default in nightly and PRs build
Signed-off-by: andrey <motor4ik@gmail.com>
2020-10-26 12:03:21 +01:00
Roman Volosovskyi ba3ca2c818 Remove chitchat duplication in general list 2020-10-23 19:48:58 +03:00
Churikova Tetiana 95aa500119 collectible e2e
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2020-10-23 16:20:23 +02:00
Serhy 2cf4be4b34 Add test to send Max tokens from wallet
Signed-off-by: Serhy <sergii@status.im>
2020-10-23 11:30:14 +03:00
Roman Volosovskyi 5232432ec5 [#7788] Clear mailserver details after deletion 2020-10-23 11:06:04 +03:00
Roman Volosovskyi dca26b3350 [#11317] Prevent joining to pubchats with upper case letter in topic 2020-10-22 17:12:17 +03:00
jakub 466d279e2a nix: Increase stalled-download-timeout to 1 hour
Might help with issues described in: https://github.com/status-im/infra-ci/issues/17.

Details: https://github.com/NixOS/nixpkgs/issues/65015#issuecomment-662675716

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2020-10-22 12:43:01 +02:00
jakub 250b4d4646 upgrade fastlane 2.154.0 to 2.164.0
It's been a while and a fix for an issue I've reported a long time ago
has been merged in https://github.com/fastlane/fastlane/pull/17456. With
this fix we should see less iOS signing issues appearing as `errSecInternalComponent`.

This should also enable me to try a fix I proposed in
https://github.com/fastlane/fastlane/issues/15185 which consists of
creating a temporary unlocked keychain for each build.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2020-10-22 12:42:52 +02:00
Roman Volosovskyi 320d81432f Fix exception on my-profile screen (#11313 leftover) 2020-10-22 12:23:57 +03:00
Roman Volosovskyi 70526f9429 Markdown updates
On status-go side:
- new `strong-emph` node was added for strong emphasised text with triple
  "*" and "_"
- `del` node got proper marshalling and can be recognised (works with single
  and double "~")

On status react side:
- styles for `strong-emph` nodes
- styles for `del` (strikethrough) nodes
- unsuccessful attempt to use monospaced fonts for code/codeblock (we have a font
  which is used as monospaced but doesn't support that property actually)
2020-10-21 22:23:46 +03:00
Roman Volosovskyi 9691626992 [#11189] Backward compatible ENS registrar 2020-10-21 14:28:11 +03:00
Churikova Tetiana e52f6b8753 e2e for mentions, gr chats, fixes
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2020-10-20 18:20:37 +02:00
jinhojang6 04cd74e57d Update translation
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2020-10-19 16:12:45 +02:00
Andrea Maria Piana b826a34f27 Fix coming back from offline
Fixes: #11305

The issue was due to the fact that the first condition was wrapped in a
when in fx merge, causing it to be ignored.

Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2020-10-19 16:07:29 +02:00
jakub 81cfc83ed3 nix: add info about NDK bundle download issues
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2020-10-19 12:07:00 +02:00
andrey ff3f171646 1.8.0 2020-10-16 15:56:29 +02:00
andrey 3ae85cacd5 [#11041] Hardly visible username on replies in dark mode
Signed-off-by: andrey <motor4ik@gmail.com>
2020-10-16 15:54:16 +02:00
Gheorghe Pinzaru 36f9436e12 Fix group chat invitation actions based on state
Fix decline button color and Check if user was removed from group invite

Signed-off-by: Gheorghe Pinzaru <feross95@gmail.com>
2020-10-16 15:39:33 +03:00
Andrea Maria Piana 8c42e717c1 Change settings on toggle
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2020-10-16 12:13:32 +02:00
shivekkhurana cf0cd283a6 Add new UI for mailserver selection, Add feature to disable mailserver usage 2020-10-16 12:13:15 +02:00
Gheorghe Pinzaru 316c6038d7 Fix webview toggle crash ios
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2020-10-15 13:57:49 +02:00
Andrea Maria Piana f5034a4dfa [Fixes: #11290] Increase group size to 20
Increases the maximum size of a group chat to 20.

Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2020-10-15 13:53:01 +02:00
Roman Volosovskyi cf58a84838 [#11192] Prevent replacing of mention with pubkey inside markdown 2020-10-14 22:20:48 +03:00
Churikova Tetiana dcd2655860 nightly fixes
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2020-10-14 14:24:37 +02:00
Serhy 9e0b8e76cf Update refresh webview test
Signed-off-by: Serhy <sergii@status.im>
2020-10-14 13:03:24 +03:00
jinhojang6 40a26f4e10 Upate translation
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2020-10-14 10:53:13 +02:00
jinhojang6 094cf61915 Update Spanish Playstore title and description
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2020-10-13 14:14:08 +02:00
Roman Volosovskyi c238b6bca5 upgrade react-native-webview 2020-10-09 17:13:18 +03:00
jakub 908b5f723c nix: add support for INFURA_TOKEN var for Android build
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2020-10-08 17:55:24 +02:00
jakub 085ae22be1 disable pipefail for update-status-go.sh
This caused a silent failure due to usage of grep matching.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2020-10-08 14:49:02 +02:00
Gheorghe Pinzaru 0368895edf Allow to enabled debug
Optimistic update

Signed-off-by: Gheorghe Pinzaru <feross95@gmail.com>
2020-10-08 13:57:37 +03:00
andrey 905699b686 [#11283] Blank view when open yearn.finance in Status WebView
Signed-off-by: andrey <motor4ik@gmail.com>
2020-10-08 12:16:30 +02:00
andrey b198084b78 [#11263] Entering "0x" in the Recipient throws an error
[#11262] Wallet "Done" and "Add to favorites" only appears when the input box is focused

Signed-off-by: andrey <motor4ik@gmail.com>
2020-10-07 19:43:54 +02:00
Churikova Tetiana 2e7c377343 one more fix
Signed-off-by: andrey <motor4ik@gmail.com>
2020-10-07 19:42:58 +02:00
Churikova Tetiana 9f36bd44b2 fix e2e with scan tokens 2020-10-07 18:07:42 +02:00
Churikova Tetiana 4e9b1001df fix accessibility 2020-10-07 15:10:13 +02:00
andrey e602f0493d do not show zeros for token balances, and fetch all tokens only when creating new account 2020-10-07 11:44:01 +02:00
Andrea Maria Piana 85991d2272 Set infura token and update snx/synth contract
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2020-10-07 10:01:39 +02:00
Churikova Tetiana f3ed1e370a new e2e+fixes
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2020-10-06 16:50:07 +02:00
jakub bdbc48764e add F-Droid update README file
Signed-off-by: Jakub Sokołowski <jakub@status.im>
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2020-10-06 11:23:17 +02:00
Andrea Maria Piana c74a5a5215 [Fix: #11228] Dont drop messages if smaller than 4096
There was an issue with counting characters in status-go that meant that
unicode characters were double counted.

That issue is now fixed. It's still not going to be 100% accurate as
in some languages characters are displayed together if they come one
after the other, but this PR should make it much safer.
To overcome this we could cap the UI input to something a bit lower
(3000 characters for example) and that should give us some room.

This commit includes a migration of the database fixing an issue with
long filenames on desktop.

Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2020-10-06 11:18:08 +02:00
jakub c4cac2cef7 fix availability of INFURA_TOKEN for Android build
The env variable `INFURA_TOKEN` is used at build time of JS bundle, not
the final APK file. We never passed the `secretsFile` to the
derivation for JS bundle so it never saw the `INFURA_TOKEN`.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2020-10-05 16:36:05 +02:00
Andrea Maria Piana 966f6de31a Fix infura token
Setting a top-level closure-defines does not have any effect,
it needs to be for some reason inside each environment.

Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2020-10-05 16:22:14 +02:00
jakub 93ed3eb7ff ci: add public download url to build description
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2020-10-01 17:32:10 +02:00
jakub bc12c90d2e update-status-go: fix case where two matching refs exist
Before it was possible to break the format of `status-go-version.json`:
```
 > git ls-remote https://github.com/status-im/status-go v0.62.3.hotfix.3
59e6602405bfbcf8446d26aca9b8087e84529f8e    refs/heads/release/v0.62.3.hotfix.3
59e6602405bfbcf8446d26aca9b8087e84529f8e    refs/tags/v0.62.3.hotfix.3
```
Which would result in `commit-sha1` key being set to two commits insted of one.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2020-10-01 14:40:30 +02:00
Gheorghe Pinzaru 00ec94b73c Bump navigation libs
Signed-off-by: Gheorghe Pinzaru <feross95@gmail.com>
2020-10-01 10:18:12 +03:00
Gheorghe Pinzaru 5458c7b2db Allow recovering to see referral flow
Signed-off-by: Gheorghe Pinzaru <feross95@gmail.com>
2020-10-01 10:17:23 +03:00
Gheorghe Pinzaru 92fae99cf7 Hide referrals nightly 2020-10-01 10:16:36 +03:00
andrey 9cd1e08aaa upgrade shadow
Signed-off-by: andrey <motor4ik@gmail.com>
2020-10-01 08:53:10 +02:00
Roman Volosovskyi 6cf3a6a98e [#11212] Mention suggestions based on names parts 2020-09-30 14:02:49 +03:00
jakub c866082cde ci: use more buckets for different builds
* `status-im-releases` for release builds
* `status-im-nightlies` for nightlies

I want to reserve the `status-im` bucket for use with the site.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2020-09-28 20:10:14 +02:00
Roman Volosovskyi 22ca98b0f8 [#11216] Fix moving cursor after pressing mention suggestion on samsung device 2020-09-28 17:59:03 +03:00
Roman Volosovskyi b5f7a62b14 Fix some UI warnings 2020-09-25 15:13:51 +03:00
andrey abe6e97728 override custom tokens
Signed-off-by: andrey <motor4ik@gmail.com>
2020-09-25 14:03:44 +02:00
Churikova Tetiana 6940adf1cb disable collectible e2e
Signed-off-by: andrey <motor4ik@gmail.com>
2020-09-25 11:58:20 +02:00
andrey e55cb6b47b [#11218] Hard code fix for SUPR NFT support
Drop collectibles details support
2020-09-25 11:58:09 +02:00
andrey ccd034e7a6 add images
Signed-off-by: andrey <motor4ik@gmail.com>
2020-09-25 11:42:17 +02:00
andrey f2da0cbbdb [#11222] Add aUSDC token and optimize search for Aave (LEND) (aka Ethlend) 2020-09-24 16:05:07 +02:00
andrey 1c6da59611 1.7.0 2020-09-23 18:17:46 +02:00
andrey d9bac4a493 [#10667] Upgrade eth-phishing-detect library
Signed-off-by: andrey <motor4ik@gmail.com>
2020-09-23 18:17:06 +02:00
jinhojang6 ebf3016644 Update translation
Signed-off-by: andrey <motor4ik@gmail.com>
2020-09-23 18:06:42 +02:00
Roman Volosovskyi 345ae359aa [#11179] Nicknames in mention suggestions 2020-09-23 18:34:03 +03:00
Churikova Tetiana b8298dce44 e2e fixes
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2020-09-23 14:56:31 +02:00
Gheorghe Pinzaru 1969f9dfe0 Parse childrens in reply text
Fixes #11161

Signed-off-by: andrey <motor4ik@gmail.com>
2020-09-23 07:43:44 +02:00
andrey 8eed842c62 [#11136] Warning to users sending ERC20 directly to smart contract
Signed-off-by: andrey <motor4ik@gmail.com>
2020-09-22 17:24:36 +02:00
andrey b32367a9b2 [#11185] Add UNI, COMP, AAVE, BAL, AKRO tokens
Signed-off-by: andrey <motor4ik@gmail.com>
2020-09-22 16:46:27 +02:00
andrey 7fb243f9f1 [#10060] Wrong ERC20 decimal rounding in "Set max"
Signed-off-by: andrey <motor4ik@gmail.com>
2020-09-22 16:02:56 +02:00
andrey 6b08194a19 [#11194] Change #status-spanish to #status-espanol
Signed-off-by: andrey <motor4ik@gmail.com>
2020-09-22 14:34:13 +02:00
Roman Volosovskyi 55278828e6 Update mention suggestions on selection change 2020-09-22 14:40:00 +03:00
andrey 99755d08e9 fix labels 2020-09-22 12:10:56 +02:00
andrey e95025333f fix android
Signed-off-by: andrey <motor4ik@gmail.com>
2020-09-22 10:23:35 +02:00
andrey ff790d4152 wallet favourites 2020-09-22 10:23:26 +02:00
Churikova Tetiana 6454df4734 e2e wallet fixes
Signed-off-by: andrey <motor4ik@gmail.com>
2020-09-22 10:22:12 +02:00
andrey 25dbf1fd61 [#9484] Reintroduce back collapsing of long messages in chats
Signed-off-by: andrey <motor4ik@gmail.com>
2020-09-21 18:05:25 +02:00
Roman Volosovskyi 0448edb509 Highlighted mentions in input 2020-09-21 13:10:54 +03:00
Churikova Tetiana 44e3076022 nightly e2e fixes
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2020-09-18 17:30:03 +02:00
Roman Volosovskyi 1009b71908 [#11160] Hide blocked users from mention suggestions 2020-09-17 22:32:58 +03:00
Roman Volosovskyi 80faac0ca7 [#11152] Resolve self mentions in group chat 2020-09-17 17:19:24 +03:00
Roman Volosovskyi b43f9e0dfd [#11173] Open profile on tapping self mention 2020-09-17 17:17:25 +03:00
Gheorghe Pinzaru 20b5ad9ebb Always use waku
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2020-09-17 15:19:32 +02:00
Andrea Maria Piana e2071dc968 [Fixes: #11170] Move some pn settings to advanced
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2020-09-17 15:07:53 +02:00
Serhy 1b1f3c4c9f e2e fix
Signed-off-by: andrey <motor4ik@gmail.com>
2020-09-16 18:08:30 +02:00
andrey 889d4c16a4 [#11163] No margin between "Block this user" button and main tabs panel on user profile view on iOS 2020-09-16 18:08:17 +02:00
Serhy ae0504cbfa Update test to copy formatted text messages
Signed-off-by: Serhy <sergii@status.im>
2020-09-16 18:28:46 +03:00
Volodymyr Kozieiev a95520067f Added ui for asking webview page permissions
Signed-off-by: Volodymyr Kozieiev <vkjr.sp@gmail.com>
2020-09-16 12:17:45 +03:00
Churikova Tetiana 56aec16793 nicknames e2e
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2020-09-15 18:04:52 +02:00
andrey 0594548617 [#11150] Chat icons are black in dark mode
Signed-off-by: andrey <motor4ik@gmail.com>
2020-09-15 14:30:54 +02:00
Gheorghe Pinzaru f7ec945c56 Force transparent color for timestamp android
Signed-off-by: Gheorghe Pinzaru <feross95@gmail.com>
2020-09-15 10:00:57 +03:00
jinhojang6 13e46c2fb0 Update translation
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2020-09-14 17:45:08 +02:00
andrey 301f1c8cf2 fix tokens validation
Signed-off-by: andrey <motor4ik@gmail.com>
2020-09-14 16:06:52 +02:00
andrey 1e5288a016 fix local nicknames 2020-09-14 12:22:46 +02:00
andrey 59e226bab2 fix local names , mute chat translation, replace null crash
Signed-off-by: andrey <motor4ik@gmail.com>
2020-09-14 11:58:45 +02:00
Churikova Tetiana 32cb09c9c6 fix some false failures
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2020-09-11 16:29:04 +02:00
Roman Volosovskyi 16fecc2ac6 Mentions suggestions 2020-09-10 22:07:56 +03:00
Andrey Shovkoplyas 0675d0d8d7 ios pn
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2020-09-10 14:12:18 +02:00
Roman Volosovskyi f9df0f367f Get rid of form-2 subs in defview 2020-09-10 13:58:02 +03:00
Roman Volosovskyi 5aa33fc9c0 [mentions] Fix mention appearance in reply and quoted message 2020-09-10 12:51:34 +03:00
Churikova Tetiana 754b826629 accept agreement remove + group invite e2e
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2020-09-10 11:35:36 +02:00
Roman Volosovskyi 72daf93a75 [mentions] Open profile tab instead of user profile view on pressing own mention 2020-09-08 16:23:23 +03:00
andrey 89ad4f59d0 [#10179] Create invite link for group chat
Signed-off-by: andrey <motor4ik@gmail.com>
2020-09-07 13:32:24 +02:00
andrey 4304a5dd97 [#11046] Add local contact names
Signed-off-by: andrey <motor4ik@gmail.com>
2020-09-07 11:42:35 +02:00
Churikova Tetiana fea916590a marks and new checks in e2e
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2020-09-04 17:58:34 +02:00
jinhojang6 1a98219690 Update translations
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2020-09-04 17:56:51 +02:00
Serhy 3181a7dc20 E2e tests for audio message
Signed-off-by: Serhy <sergii@status.im>
2020-09-04 18:29:39 +03:00
Churikova Tetiana fed52fe309 new e2e and GH report changes
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2020-09-02 20:21:30 +02:00
jakub eac77f84c2 nix: upgrade nixpkgs
Significant updates:
- Git: `2.25.1` to `2.28.0`
- Make: `4.2.1` to `4.3`
- Glibc: `2.30` to `2.31`
- PatchElf: `0.9` to `0.11`
- GoLang: `1.14.0` to `1.14.7`
- NodeJS: `v12.16.2` to `v12.18.3`
- Clojure: `1.10.1.507` to `1.10.1.645`
- OpenJDK: `8u242-b08` to `8u265-ga`
- GoMobile: `20200329` to `20200622`

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2020-09-02 18:06:23 +02:00
Nathan Handler 080584dc2e Add Orchid ERC-20 Token (OXT)
Signed-off-by: andrey <motor4ik@gmail.com>
2020-09-02 14:44:12 +02:00
andrey be25ecd4ea [#10974] ENS resolving for IPNS names.
Signed-off-by: andrey <motor4ik@gmail.com>
2020-09-02 14:39:41 +02:00
Александар Симић 2be70cca9a Aligning react versions
When starting the project the following would be spat out:

NPM dependency "react" has installed version "16.11.0"

"16.13.0" was required by jar:file:/Users/alex/.m2/repository
/reagent/reagent/0.10.0/reagent-0.10.0.jar!/deps.cljs

I've bumped up the version in package.json to to match the one being
pulled in by reagent.

Signed-off-by: andrey <motor4ik@gmail.com>
2020-09-02 12:44:26 +02:00
Александар Симић b2a79b3e89 Update nREPL to the latest stable
With the update of Emacs CIDER 0.26.1, it expects to have the latest
cider-nrepl dependency to be at 0.25.3 otherwise it throws an error
when connecting to the project's REPL.

Signed-off-by: andrey <motor4ik@gmail.com>
2020-09-02 11:27:52 +02:00
Gheorghe Pinzaru fdf8d11913 Use monospace font for address and public-key
Swap monospace header

Signed-off-by: Gheorghe Pinzaru <feross95@gmail.com>
2020-08-31 15:51:39 +03:00
Churikova Tetiana 399be0686c e2e enabled
Signed-off-by: andrey <motor4ik@gmail.com>
2020-08-31 10:52:47 +02:00
andrey 0cb554f5c6 [#11113] Can't send image without description in 1-1 and group chats 2020-08-31 10:52:28 +02:00
jinhojang6 2901f4c7cf Update translations
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2020-08-31 09:36:41 +02:00
Volodymyr Kozieiev 0ab227eef8 Restrict message size on input
Signed-off-by: Volodymyr Kozieiev <vkjr.sp@gmail.com>
2020-08-27 12:53:04 +03:00
Gheorghe Pinzaru 17c408bd06 Use different acquisition gateway based on chain
Do not persist empty tx

Signed-off-by: Gheorghe Pinzaru <feross95@gmail.com>
2020-08-26 14:15:10 +03:00
Churikova Tetiana 716c968a23 new e2e + accessibility
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2020-08-25 16:44:05 +02:00
Gheorghe Pinzaru 8adc32a5c9 Simplify tabbar animation
Fixes #11086

Signed-off-by: Gheorghe Pinzaru <feross95@gmail.com>
2020-08-25 10:17:45 +03:00
Roman Volosovskyi 2934de9b8c [mentions] Replace all mentions with public keys before sending message 2020-08-24 21:29:12 +03:00
Gheorghe Pinzaru 001789f761 Update translation strings for referrals
Signed-off-by: Gheorghe Pinzaru <feross95@gmail.com>
2020-08-24 11:28:21 +03:00
Gheorghe Pinzaru 8d8057036a Hide placeholder timestamp with opacity
Fixes #11084

Signed-off-by: Gheorghe Pinzaru <feross95@gmail.com>
2020-08-24 11:27:37 +03:00
Churikova Tetiana 151ef4a952 e2e false failures fixes
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2020-08-20 14:02:00 +02:00
1253 changed files with 85252 additions and 41083 deletions
+2 -3
View File
@@ -1,6 +1,5 @@
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-im.ios.core/init
@@ -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
@@ -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
+1
View File
@@ -1,5 +1,6 @@
{:lint-as {status-im.utils.views/defview clojure.core/defn
status-im.utils.views/letsubs clojure.core/let
reagent.core/with-let clojkure.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
+1 -1
View File
@@ -13,7 +13,7 @@ update_configs:
update_type: "security"
# Keep /mobile/js_files/yarn.lock up to date, batching pull requests weekly
- package_manager: "javascript"
directory: "/mobile/js_files"
directory: "/"
update_schedule: "weekly"
allowed_updates:
- match:
+10
View File
@@ -24,3 +24,13 @@ 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
DATABASE_MANAGEMENT_ENABLED=1
METRICS_ENABLED=0
DELETE_MESSAGE_ENABLED=1
COLLECTIBLES_ENABLED=1
COMMANDS_ENABLED=1
TWO_MINUTES_SYNCING=1
SWAP_ENABLED=1
+11
View File
@@ -23,3 +23,14 @@ 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_ENS_CHAIN_ID=3
TEST_STATEOFUS=1
DATABASE_MANAGEMENT_ENABLED=1
COMMUNITIES_ENABLED=1
COMMUNITIES_MANAGEMENT_ENABLED=1
METRICS_ENABLED=0
DELETE_MESSAGE_ENABLED=1
TWO_MINUTES_SYNCING=1
+16 -1
View File
@@ -1,6 +1,6 @@
CACHED_WEBVIEWS_ENABLED=1
DEBUG_WEBVIEW=1
DEFAULT_NETWORK=mainnet_rpc
DEFAULT_NETWORK=testnet_rpc
ERC20_CONTRACT_WARNINGS=0
ETHEREUM_DEV_CLUSTER=1
EXTENSIONS=0
@@ -18,7 +18,22 @@ 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=3
VERIFY_ENS_CHAIN_ID=3
TEST_STATEOFUS=1
BLANK_PREVIEW=0
MAX_IMAGES_BATCH=5
GOOGLE_FREE=0
DATABASE_MANAGEMENT_ENABLED=1
COMMUNITIES_ENABLED=1
COMMUNITIES_MANAGEMENT_ENABLED=1
METRICS_ENABLED=0
DELETE_MESSAGE_ENABLED=1
TWO_MINUTES_SYNCING=1
ENABLE_QUO_PREVIEW=1
+7 -1
View File
@@ -17,4 +17,10 @@ RPC_NETWORKS_ONLY=0
PARTITIONED_TOPIC=0
CONTRACT_NODES=1
ENABLE_ROOT_ALERT=1
ENABLE_REFERRAL_INVITE=1
ENABLE_REFERRAL_INVITE=0
MAX_IMAGES_BATCH=5
BLANK_PREVIEW=0
COMMUNITIES_ENABLED=1
DATABASE_MANAGEMENT_ENABLED=1
METRICS_ENABLED=0
DELETE_MESSAGE_ENABLED=1
+4
View File
@@ -16,4 +16,8 @@ SNOOPY=0
RPC_NETWORKS_ONLY=1
PARTITIONED_TOPIC=0
ENABLE_ROOT_ALERT=1
MAX_IMAGES_BATCH=1
ENABLE_REFERRAL_INVITE=0
METRICS_ENABLED=0
DELETE_MESSAGE_ENABLED=1
COLLECTIBLES_ENABLED=1
+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
+1 -11
View File
@@ -5,8 +5,6 @@
# the repo. Unless a later match takes precedence,
# @global-owner1 and @global-owner2 will be requested for
# review when someone opens a pull request.
* @status-im/status-core
/ci @jakubgs
/fastlane @jakubgs
/scripts @jakubgs
@@ -24,12 +22,4 @@
/components @status-im/status-core-ui
desktop/ @vkjr
modules/react-native-desktop*/ @vkjr
modules/react-native-desktop*/ @vkjr
/doc @oskarth @yenda @jeluard
/deployment @vkjr
/test/appium/ @antdanchenko @churik
/test/appium/ @churik
+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-react/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-react/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-react/blob/develop/doc/RELEASE_GUIDE.md), bump VERSION (merge created PR ([example](https://github.com/status-im/status-react/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-react/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-react/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-react/releases (Jakub)
- [ ] 5. Merge PR for updating [RELEASES.md](https://github.com/status-im/status-react/blob/develop/RELEASES.md) (from 1.3 step)
+1 -1
View File
@@ -10,7 +10,7 @@ project-board:
automated-tests:
repo-full-name: 'status-im/status-react'
job-full-name: 'end-to-end-tests/status-app-prs'
job-full-name: 'status-react/e2e/status-app-prs'
kickoff-column-name: 'E2E Tests'
github-team:
+17
View File
@@ -0,0 +1,17 @@
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
NEXT_COLUMN: Z2lkOi8vcmFwdG9yL1BpcGVsaW5lLzMyNzk2MQ
REVIEW_COLUMN: Z2lkOi8vcmFwdG9yL1BpcGVsaW5lLzIyNjk0MTA
+15
View File
@@ -0,0 +1,15 @@
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
NEXT_COLUMN: Z2lkOi8vcmFwdG9yL1BpcGVsaW5lLzMyNzk2MQ
REVIEW_COLUMN: Z2lkOi8vcmFwdG9yL1BpcGVsaW5lLzIyNjk0MTA
+17
View File
@@ -0,0 +1,17 @@
name: Zenhub integration milestoned
on:
issues:
types:
- milestoned
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
NEXT_COLUMN: Z2lkOi8vcmFwdG9yL1BpcGVsaW5lLzMyNzk2MQ
REVIEW_COLUMN: Z2lkOi8vcmFwdG9yL1BpcGVsaW5lLzIyNjk0MTA
+20
View File
@@ -0,0 +1,20 @@
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
NEXT_COLUMN: Z2lkOi8vcmFwdG9yL1BpcGVsaW5lLzMyNzk2MQ
REVIEW_COLUMN: Z2lkOi8vcmFwdG9yL1BpcGVsaW5lLzIyNjk0MTA
+5
View File
@@ -165,3 +165,8 @@ trace.edn
/app/
project.clj
##appium
test/appium/report/
result.xml
test/appium/tests/users.py
+59 -17
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-mk _tmpdir-rm _install-hooks
help: SHELL := /bin/sh
help: ##@other Show this help
@@ -42,7 +42,7 @@ 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
# 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
TMP_BUILD_NUMBER := $(shell ./scripts/version/gen_build_no.sh | cut -c1-10)
@@ -57,13 +57,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
@@ -127,10 +124,22 @@ _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
git clean -dXf
# Remove directories, ignored and non-ignored files
purge: SHELL := /bin/sh
purge: _fix-node-perms _tmpdir-rm ##@prepare Remove all output folders
git clean -dxf
watchman-clean: export TARGET := watchman
watchman-clean: ##@prepare Delete repo directory from watchman
watchman watch-del $${STATUS_REACT_HOME}
@@ -149,12 +158,38 @@ keystore: export KEYSTORE_PATH ?= $(HOME)/.gradle/status-im.keystore
keystore: ##@prepare Generate a Keystore for signing Android APKs
@./scripts/generate-keystore.sh
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
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)
@@ -162,12 +197,22 @@ 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
release-android: keystore ##@build Build release for Android
scripts/release-android.sh
release-fdroid: export BUILD_ENV = prod
release-fdroid: export BUILD_TYPE = release
release-fdroid: export ANDROID_APK_SIGNED = false
release-fdroid: export ANDROID_ABI_SPLIT = false
release-fdroid: export ANDROID_ABI_INCLUDE = armeabi-v7a;arm64-v8a;x86;x86_64
release-fdroid: export READER_FEATURES = google-free
release-fdroid: ##@build Build release for F-Droid
scripts/google-free.sh
scripts/release-android.sh
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
@@ -234,15 +279,12 @@ endif
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
TARGETS=$$(git diff --diff-filter=d --cached --name-only src && echo src) && \
clojure -Scp "$$CLASS_PATH" -m cljfmt.main check --indents indentation.edn $$TARGETS
lint-fix: export TARGET := clojure
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
clojure -Scp "$$CLASS_PATH" -m cljfmt.main fix src --indents indentation.edn
test: export TARGET := clojure
test: ##@test Run tests once in NodeJS
+5 -2
View File
@@ -1,6 +1,9 @@
# 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-react/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")
@@ -24,7 +27,7 @@ Developers are the heart of software and to keep Status beating we need all the
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.
- **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)
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**
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.
-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/
+1260
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -1 +1 @@
1.6.1
1.19.0
+31 -3
View File
@@ -123,6 +123,18 @@ 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", 0) == '1'
def getCommitHash = { ->
if (project.hasProperty("commitHash")) {
return project.commitHash
}
return "unknown"
}
def getVersionCode = { ->
new ByteArrayOutputStream().withStream { stdOut ->
if (project.hasProperty("versionCode")) {
@@ -179,6 +191,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 {
@@ -322,6 +335,16 @@ dependencies {
implementation jscFlavor
}
if (googleFree) {
implementation(project(':react-native-device-info')) {
exclude group: 'com.google.firebase'
exclude group: 'com.google.android.gms'
exclude group: 'com.android.installreferrer'
}
} else {
implementation 'com.google.firebase:firebase-messaging:23.0.0'
}
// react-native-screens
implementation 'androidx.appcompat:appcompat:1.1.0-rc01'
implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0-alpha02'
@@ -335,8 +358,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 = { ->
@@ -358,7 +382,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"
@@ -372,3 +396,7 @@ task hemroidBuild(type: Exec) {
preBuild.dependsOn hemroidBuild
apply from: file("../../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesAppBuildGradle(project)
if (!googleFree) {
apply plugin: "com.google.gms.google-services"
}
+119
View File
@@ -0,0 +1,119 @@
{
"project_info": {
"project_number": "854811651919",
"firebase_url": "https://status-react-app.firebaseio.com",
"project_id": "status-react-app",
"storage_bucket": "status-react-app.appspot.com"
},
"client": [
{
"client_info": {
"mobilesdk_app_id": "1:854811651919:android:11ee7444ded8a00a",
"android_client_info": {
"package_name": "im.status.ethereum"
}
},
"oauth_client": [
{
"client_id": "854811651919-gua52csicclb5p9gr4eeu33ukk0aaphj.apps.googleusercontent.com",
"client_type": 3
}
],
"api_key": [
{
"current_key": "AIzaSyAOF4W1j8GYeXzzVKRfNKlXywD6bx0rJtQ"
}
],
"services": {
"appinvite_service": {
"other_platform_oauth_client": [
{
"client_id": "854811651919-gua52csicclb5p9gr4eeu33ukk0aaphj.apps.googleusercontent.com",
"client_type": 3
},
{
"client_id": "854811651919-30s20e3l0me0ins0vc4185jbnj7ja49o.apps.googleusercontent.com",
"client_type": 2,
"ios_info": {
"bundle_id": "im.status.ethereum"
}
}
]
}
}
},
{
"client_info": {
"mobilesdk_app_id": "1:854811651919:android:15dbe4af1e06ca3e005f3a",
"android_client_info": {
"package_name": "im.status.ethereum.debug"
}
},
"oauth_client": [
{
"client_id": "854811651919-gua52csicclb5p9gr4eeu33ukk0aaphj.apps.googleusercontent.com",
"client_type": 3
}
],
"api_key": [
{
"current_key": "AIzaSyAOF4W1j8GYeXzzVKRfNKlXywD6bx0rJtQ"
}
],
"services": {
"appinvite_service": {
"other_platform_oauth_client": [
{
"client_id": "854811651919-gua52csicclb5p9gr4eeu33ukk0aaphj.apps.googleusercontent.com",
"client_type": 3
},
{
"client_id": "854811651919-30s20e3l0me0ins0vc4185jbnj7ja49o.apps.googleusercontent.com",
"client_type": 2,
"ios_info": {
"bundle_id": "im.status.ethereum"
}
}
]
}
}
},
{
"client_info": {
"mobilesdk_app_id": "1:854811651919:android:1d0d69fe8c1bb89b005f3a",
"android_client_info": {
"package_name": "im.status.ethereum.pr"
}
},
"oauth_client": [
{
"client_id": "854811651919-gua52csicclb5p9gr4eeu33ukk0aaphj.apps.googleusercontent.com",
"client_type": 3
}
],
"api_key": [
{
"current_key": "AIzaSyAOF4W1j8GYeXzzVKRfNKlXywD6bx0rJtQ"
}
],
"services": {
"appinvite_service": {
"other_platform_oauth_client": [
{
"client_id": "854811651919-gua52csicclb5p9gr4eeu33ukk0aaphj.apps.googleusercontent.com",
"client_type": 3
},
{
"client_id": "854811651919-30s20e3l0me0ins0vc4185jbnj7ja49o.apps.googleusercontent.com",
"client_type": 2,
"ios_info": {
"bundle_id": "im.status.ethereum"
}
}
]
}
}
}
],
"configuration_version": "1"
}
+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>
+11 -10
View File
@@ -17,18 +17,13 @@
<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"
@@ -37,8 +32,8 @@
android:theme="@style/AppTheme"
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:label="@string/app_name"
@@ -74,7 +69,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.pushnotifications.ForegroundService"></service>
<provider
android:name="androidx.core.content.FileProvider"
android:authorities="${applicationId}.provider"
@@ -86,6 +81,12 @@
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/file_provider_paths" />
</provider>
<meta-data
android:name="com.google.firebase.messaging.default_notification_icon"
android:resource="@drawable/notification_icon" />
<meta-data
android:name="com.google.firebase.messaging.default_notification_color"
android:resource="@color/notification_icon_color" />
</application>
</manifest>
@@ -23,17 +23,21 @@ import android.provider.Settings;
import android.os.Bundle;
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 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{
@@ -97,6 +101,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);
@@ -167,6 +181,16 @@ 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);
}
}
};
@@ -178,14 +202,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 +259,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,19 +9,24 @@ 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 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 {
public class MainApplication extends NavigationApplication {
private final ReactNativeHost mReactNativeHost = new ReactNativeHost(this) {
private final ReactNativeHost mReactNativeHost = new NavigationReactNativeHost(this) {
@Override
public boolean getUseDeveloperSupport() {
return BuildConfig.DEBUG;
@@ -30,10 +35,12 @@ public class MainApplication extends MultiDexApplication implements ReactApplica
@Override
protected List<ReactPackage> getPackages() {
StatusPackage statusPackage = new StatusPackage(RootUtil.isDeviceRooted());
List<ReactPackage> packages = new PackageList(this).getPackages();
packages.add(statusPackage);
packages.add(new ReactNativeDialogsPackage());
packages.add(new RNStatusKeycardPackage());
packages.add(new PushNotificationPackage());
return packages;
}
@@ -51,7 +58,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.

Before

Width:  |  Height:  |  Size: 482 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 272 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 975 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 495 B

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.

Before

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 826 B

@@ -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,6 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="alert_background">#ffffff</color>
<color name="alert_text">#000000</color>
<color name="notification_icon_color">#4360DF</color>
</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>
+3
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)
@@ -19,7 +20,9 @@ buildscript {
jcenter()
}
dependencies {
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.4.31"
classpath "com.android.tools.build:gradle:${project.ext.gradlePluginVersion}"
classpath "com.google.gms:google-services:4.3.10"
// WARNING: Do not place your application dependencies here!
// They belong in the individual module build.gradle files.
}
+6 -5
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=30
targetSdkVersion=30
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
@@ -48,6 +48,7 @@ ANDROID_APK_SIGNED=true
org.gradle.jvmargs=-Xmx8704M
versionCode=9999
commitHash=unknown
# Flipper
FLIPPER_VERSION=0.35.0
FLIPPER_VERSION=0.54.0
+2
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()
+9 -7
View File
@@ -1,12 +1,12 @@
library 'status-react-jenkins@v1.2.3'
library 'status-jenkins-lib@v1.4.1'
pipeline {
agent { label 'linux' }
agent { label 'linux && x86_64 && nix-2.6' }
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',
@@ -101,12 +101,14 @@ pipeline {
} else { /* if no universal is available pick first */
env.PKG_URL = urls.first()
}
if (utils.isNightlyBuild()) {
env.DIAWI_URL = android.uploadToDiawi()
}
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()
}
}
}
}
@@ -114,7 +116,7 @@ pipeline {
}
stage('Cleanup') {
steps {
sh 'make clean'
sh 'make purge'
}
}
}
+51 -14
View File
@@ -1,4 +1,4 @@
library 'status-react-jenkins@v1.2.3'
library 'status-jenkins-lib@v1.4.1'
pipeline {
agent { label 'linux' }
@@ -16,6 +16,20 @@ 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 {
@@ -27,13 +41,13 @@ pipeline {
stage('Build') {
parallel {
stage('iOS') { steps { script {
ios = jenkins.Build('status-react/combined/mobile-ios')
ios = jenkins.Build('status-react/platforms/ios')
} } }
stage('Android') { steps { script {
apk = jenkins.Build('status-react/combined/mobile-android')
apk = jenkins.Build('status-react/platforms/android')
} } }
stage('Android e2e') { steps { script {
apke2e = jenkins.Build('status-react/combined/mobile-android-e2e')
apke2e = jenkins.Build('status-react/platforms/android-e2e')
} } }
}
}
@@ -44,7 +58,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}"
@@ -65,27 +79,29 @@ pipeline {
]
/* 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-react');
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',
job: 'status-react/e2e/status-app-nightly',
parameters: [string(name: 'APK_NAME', value: e2eApk)],
wait: false
)
@@ -93,3 +109,24 @@ pipeline {
}
}
}
/* 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-react/release')) { return true }
if (previousValue != null) { return previousValue }
return false
}
+5 -4
View File
@@ -1,7 +1,7 @@
library 'status-react-jenkins@v1.2.3'
library 'status-jenkins-lib@v1.4.1'
pipeline {
agent { label 'macos-xcode-11.5' }
agent { label 'macos && x86_64 && nix-2.6 && xcode-12.5' }
parameters {
string(
@@ -99,8 +99,9 @@ pipeline {
steps {
script {
env.PKG_URL = s3.uploadArtifact(api)
jenkins.setBuildDesc(IPA: env.PKG_URL)
/* e2e builds get tested in SauceLabs */
if (btype == 'e2e') {
if (utils.isE2EBuild()) {
env.SAUCE_URL = ios.uploadToSauceLabs()
} else {
env.DIAWI_URL = ios.uploadToDiawi()
@@ -113,7 +114,7 @@ pipeline {
stage('Cleanup') {
steps {
sh 'make watchman-clean'
sh 'make clean'
sh 'make purge'
}
}
}
+18 -7
View File
@@ -1,16 +1,26 @@
library 'status-react-jenkins@v1.2.3'
library 'status-jenkins-lib@v1.4.1'
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)
} }
@@ -88,7 +98,8 @@ pipeline {
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}
| xargs nix-copy-closure -v \
--to ${params.NIX_CACHE_USER}@${params.NIX_CACHE_HOST}
""",
pure: false
)
+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.
+21 -9
View File
@@ -3,15 +3,15 @@ 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.',
)
string(
name: 'KEYWORD_EXPRESSION',
description: 'This will run tests which contain names that match the given string expression (Optional)',
defaultValue: '',
)
}
options {
@@ -44,14 +44,26 @@ pipeline {
credentialsId: 'etherscan-api-key',
variable: 'ETHERSCAN_API_KEY'
),
string(
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 testrail_id \
-m "not upgrade" \
-n24 --rerun_count=2 \
python3 -m pytest \
--numprocesses 15 \
--rerun_count=2 \
--testrail_report=True \
--network=${params.NETWORK} \
-m testrail_id \
-m \"not upgrade\" \
-k \"${params.KEYWORD_EXPRESSION}\" \
--apk=${params.APK_NAME}
"""
}
+27 -13
View File
@@ -1,3 +1,5 @@
library 'status-jenkins-lib@v1.4.1'
pipeline {
agent { label 'linux' }
@@ -8,16 +10,12 @@ pipeline {
description: 'Name of the branch to checkout and build.',
defaultValue: 'develop',
)
string(
name: 'NETWORK',
description: 'Name of test network to use.',
defaultValue: 'ropsten',
)
/* Commented to use TEST_MARKERS values from job params
string(
name: 'TEST_MARKERS',
description: 'Marker expression for matching tests to run.',
defaultValue: 'critical or high',
)
defaultValue: 'critical',
) */
string(
name: 'APK_NAME',
description: 'Filename of APK uploaded to SauceLabs, path, or URL.',
@@ -26,9 +24,14 @@ pipeline {
name: 'PR_ID',
description: 'ID of the Pull Request triggering this build.',
)
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)',
description: 'IDs of the TestRail case, separated by a comma (Optional)',
defaultValue: '',
)
}
@@ -62,7 +65,7 @@ pipeline {
withCredentials([
usernamePassword(
credentialsId: 'status-im-auto-token',
credentialsId: 'status-im-auto',
usernameVariable: 'GIT_HUB_USER', /* ignored */
passwordVariable: 'GIT_HUB_TOKEN'
),
@@ -80,16 +83,27 @@ pipeline {
credentialsId: 'etherscan-api-key',
variable: 'ETHERSCAN_API_KEY'
),
string(
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 -n24 \
python3 -m pytest \
--numprocesses 9 \
--rerun_count=2 \
--testrail_report=True \
-m "${params.TEST_MARKERS}" \
--network=${params.NETWORK} \
-m \"${params.TEST_MARKERS}\" \
-k \"${params.KEYWORD_EXPRESSION}\" \
--apk=${params.APK_NAME} \
--build=PR-${params.PR_ID} \
--build=PR-${params.PR_ID}-${utils.timestamp()} \
--pr_number=${params.PR_ID} \
${extraPytestOpts}
"""
+34 -11
View File
@@ -3,11 +3,6 @@ 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)',
@@ -16,6 +11,16 @@ pipeline {
name: 'APK_NAME_UPGRADE',
description: 'Filename 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: '',
)
}
options {
@@ -32,7 +37,12 @@ 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',
@@ -48,20 +58,33 @@ pipeline {
credentialsId: 'etherscan-api-key',
variable: 'ETHERSCAN_API_KEY'
),
string(
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 \
-n24 --rerun_count=2 \
python3 -m pytest \
-m "upgrade" \
-k \"${params.KEYWORD_EXPRESSION}\" \
--numprocesses 15 \
--rerun_count=2 \
--testrail_report=True \
--network=${params.NETWORK} \
--apk=${params.APK_NAME} \
--apk_upgrade=${params.APK_NAME_UPGRADE}
--apk_upgrade=${params.APK_NAME_UPGRADE} \
${extraPytestOpts}
"""
}
}
}
}
} }
}
post {
+1 -1
View File
@@ -1,4 +1,4 @@
library 'status-react-jenkins@v1.2.3'
library 'status-jenkins-lib@v1.4.1'
pipeline {
agent { label 'macos' }
+2 -2
View File
@@ -1,4 +1,4 @@
library 'status-react-jenkins@v1.2.3'
library 'status-jenkins-lib@v1.4.1'
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'
}
}
}
}
+8
View File
@@ -160,3 +160,11 @@ fixed because even bugfix version upgrade causes runtime errors with current ver
## "web3-utils": "^1.2.1"
used for some abi encoding primitives
## "rn-emoji-keyboard": "https://github.com/status-im/rn-emoji-keyboard"
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
+148
View File
@@ -0,0 +1,148 @@
# 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).
:warning: __WARNING__: Once changes are commited 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 to the [fdroid/fdroiddata](https://gitlab.com/fdroid/fdroiddata) repository.
: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-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-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.
+147
View File
@@ -0,0 +1,147 @@
# Using IntelliJ IDEA and Cursive
## Table of Contents
- [Install Cursive](#install-cursive)
- [Getting Cursive to understand `status-react`](#getting-cursive-to-understand-status-react)
- [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-react`](#connecting-repl-and-intellij-to-status-react)
## Install Cursive
See https://cursive-ide.com/userguide/index.html
## Getting Cursive to understand `status-react`
- Add this file to the root of the `status-react` 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-react
- Display Name = status-react
- 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-react`
**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)
+21
View File
@@ -0,0 +1,21 @@
#### Before submission
- [ ] Feature or improvements release? (Feature release needs more lead time and assets for comms)
- [ ] Sign off by QA
- [ ] App store listing content reviewed and updated ([copy](https://docs.google.com/spreadsheets/d/1fLDr3BD1dcg0dolvLiozXoZU27IQirjBzn0h4_QS2u0/edit#gid=0), [images](https://www.dropbox.com/sh/6baklctvxy3nuoo/AACG9kYIVdt2qREW76rP8SP-a?dl=0) )
- [ ] Play store content reviewed and updated
- [ ] Release notes written and added (500 character limit for updates (Android), no Android references for App store)
- [ ] Comms timeframe agreed on (Mon/Tue ping when both submissions are in)
- [ ] Privacy policy reviewed and updated
- [ ] App translations for key features merged and tested
- [ ] Countries to be excluded
- [ ] Changes to our FAQ made
#### Before publishing
- [ ] Translations for comms available
- [ ] Promotional content ready
- [ ] Update Draft with release on https://github.com/status-im/status-react/releases
- [ ] Add release to DO store and [update site](https://notes.status.im/s/status-release-upload#) (Jakub - requires credentials to upload)
#### At time of publishing
- [ ] validate draft release on github release page https://github.com/status-im/status-react/releases
- [ ] update https://github.com/status-im/status-react/blob/develop/RELEASES.md with release notes
+115
View File
@@ -0,0 +1,115 @@
# Description
This document explains some of the steps that are involved in releases.
# Release process
## Coordination
All the coordination is done in the `#release` channel on discord.
Release readiness can be tracked by watching an appropriate milestone at [milestones](https://github.com/status-im/status-react/milestones) section in github.
When release is building you can check the progress in a testrail. Ask @churik for access if you don't have it
## Preparing branches
Special branches should be created at the start of a release process. That can be done manually or with the script
### Prepare branches with the script
You can use the script to cut a release branch. No arguments needed, the new release version will be deducted automatically:
`scripts/cut-release.sh`
Upon script call two branches will be created:
- `release/a.b.x`
- `chore/update-release-to-$version`
The first one is the main release branch. All bugfixes should be cherry-picked from `develop` to it. Jenkins treats that branch specially and prepares release builds from it.
The second branch only updates the `VERSION` file and all you need to do is to merge it to `develop`. If you have the `gh` command installed, `cut-release` script will automatically create a PR for this.
### Prepare branches manually
#### Create a branch
First, we need to create a release branch cut from develop.
The name of the branch should be `release/a.b.x` where `x` is actually `x`, not a variable, and `a` and `b` are the `MAJOR` and `MINOR` version of the app.
For example, valid branch names are:
`release/1.12.x` or `release/3.12.x`
#### Update version
We need to update the `VERSION` file to reflect the release we want to build.
## Building
Jenkins will automatically build this branch and create release candidates.
Those will go through the QA process and the QA team will let us know when
tested successfully.
## Bugfixes before an app is released
Because both `status-react` and `status-go` might have newer commits that we don't want to include, bug fixes should be applied separately to develop and the release branch.
The best workflow is to send a PR to develop, get it merged, and the cherry-pick on the
release branch.
It is a release manager's responsibility to cherry-pick bugfix from `develop` to release branch. In order to do this, you should be a part of a `release group` on github. Contact @jakubgs to be added.
If cherry-picking not practical for some reason (i.e develop has diverged significantly from release)
other workflows are possible.
To change status-go, a similar workflow applies.
First checkout the tag used in `status-go-version.json` of release branch.
`git checkout v0.62.3`
Create a branch on status-go named: `release/vx.y.z+hotfix.w` where (make sure branch name is not the same as the tag)
`x` is the `MAJOR` version
`y` is the `MINOR` version
`z` is the `PATCH` version
`w` is the `HOTFIX` version
For example valid names are:
`release/v0.62.3+hotfix.2`
`release/v1.3.4+hotfix.4`
Once the branch is ready to use and tested successfully, tag the branch:
`git tag v0.62.3+hotfix.2`
Push the branch and then the tag to origin:
`git push --set-upstream origin release/v0.62.3+hotfix.2`
`git push origin v0.62.3+hotfix.2`
Switch to status-react release branch, and cherry pick the commit you need.
Once that's done, update the status-react release branch with the new tag:
`make shell`
`scripts/update-status-go.sh v0.62.3+hotfix.2`
And commit and push the changes
# Hotfix process
The hotfix process is basically identical to the workflow of a bugfix:
1) Add the changes on status-react
2) Make sure you use a hotfix branch for status-go (unless we are happy to release from develop)
3) Update the `VERSION` in status-react
# PlayStore Metadata Updates
This section is relevant only for the marketing team, no developer participation is required.
You can update Play Store release 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-react/job/tools/job/update-playstore-metadata/
View File
+19 -7
View File
@@ -10,13 +10,6 @@ make shell TARGET=android
```
This step will take a while the first time as it will download all dependencies.
To build the app, your can simply run on of the following:
```
make release-android
make release-ios
```
For more `make` targets run `make help`.
# Development
There are three steps necessary to start development, in this case for Android:
@@ -28,6 +21,25 @@ There are three steps necessary to start development, in this case for Android:
The first two will continue watching for changes and keep re-building the app. They need to be ready first.
The last one will exit once the app is up and ready.
You need to have your emulator or real devices running and visible to adb, before you run `make run-android`.
# Build release
To build the app, your can simply run on of the following:
```
make release-android
make release-ios
```
For more `make` targets run `make help`.
# Updating Dependencies
* `make nix-update-pods` - iOS CocoaPods dependencies (updates `ios/Podfile` and `ios/Podfile.loc`)
* `make nix-update-gradle` - Android Gradle/Maven dependencies (updates `nix/deps/gradle/deps.json`)
* `make nix-update-clojure` - Clojure Maven dependencies (updates `nix/deps/clojure/deps.json`)
* `make nix-update-gems` - Fastlane Ruby dependencies (updates `fastlane/Gemfile.lock` and `fastlane/gemset.nix`)
# Manual Steps
There are a few manual steps you might want to do in order to start contributing.
+69 -20
View File
@@ -1,4 +1,11 @@
# Business Logic Modules
# Codebase Strucuture and Guidelines
## Starting the app
The app is bundled and run in a Nix environment. Information regarding how to run it locally can be found [here](https://status.im/technical/build_status/).
## Business Logic Modules
Each business logic module is managed in a module directory.
@@ -31,7 +38,7 @@ Rationale and how to get there:
Currently a lot of business logic is lost in utils and screens namespaces and should be moved to dedicated top level directories.
This should make core logic of the app more accessible and organized
## core.cljs
### core.cljs
Core namespace must only contain functions that can be called outside of the module (i.e. in events or other modules):
@@ -45,9 +52,8 @@ Core namespace must only contain functions that can be called outside of the mod
{:db (module.db/set-current-account db)})
```
## db.cljs
### 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
@@ -55,26 +61,69 @@ Rationale:
These guidelines make db.cljs namespaces the place to go when making changes to the db layout and minimize breaking changes when adding/refactoring features
# Subscriptions
## re-frame
### Subscriptions
- all subscriptions must be defined in the single `status-im.subs` namespace
- subscriptions must subscribe only on other subscriptions, and never on app-db itself
- `reg-root-key-sub` should be used for the root keys subscriptions
# Events
### 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:
- all events must be defined in the `core.cljs` namespaces
- events must always be declared with `fx/defn` macro
- `: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`.
## 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
- 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:
- If PR doesn't need manual QA (it is small change or change doesn't relate to app) - after passing e2e tests it can be merged (don't use the Github UI to merge, check section on merging PRs).
- If manual QA needed - add label 'request manual qa'. The QA team will process it (make sure the summary and test instructions are clear). QA team will review results and test PR on different platforms and assign one of the three labels:
- No issues - label 'TESTED-OK' and then you can merge it.
- 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.
## 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)
## 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.
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.
## re-frisk
re-frisk is a state visualization tool written by our very own Andrey (@flexsurfer). To start re-frisk, execute the following command:
```bash
$ yarn shadow-cljs run re-frisk-remote.core/start
```
or you can also use make:
```bash
$ 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:
```bash
$ git checkout develop
$ git fetch
$ git reset --hard origin/develop
$ ./scripts/merge-pr.sh 11370
```
Replace 11370 with your PR id.
## Release process
TODO(shivekkhurana): Compile release notes
Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 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

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 655 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 203 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 583 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 585 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 118 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

+57 -21
View File
@@ -11,18 +11,6 @@
# There are a few env variables defined in the .env file in
# this directory (fastlane/.env)
# unlocks keychain if KEYCHAIN_PASSWORD variable is present
# (to be used on CI machines)
def unlock_keychain_if_needed
return unless ENV['KEYCHAIN_PASSWORD']
unlock_keychain(
path: 'login.keychain',
password: ENV['KEYCHAIN_PASSWORD'],
set_default: true
)
end
def curl_upload(url, file, auth, conn_timeout = 5, timeout = 60, retries = 3)
rval = sh(
'curl',
@@ -81,6 +69,45 @@ def upload_to_saucelabs(file)
end
end
# Creates and unlocks a keychain into which Fastlane match imports signing keys and certs.
class Keychain
attr_accessor :name, :pass
def initialize(name)
# Local devs will not have KEYCHAIN_PASSWORD set, and will be prompted for password.
return "login.keychain-db" unless ENV['KEYCHAIN_PASSWORD']
# We user the same keychain every time because we need to set a default.
@name = "#{name}.keychain-db"
@pass = ENV['KEYCHAIN_PASSWORD']
Fastlane::Actions::CreateKeychainAction.run(
name: @name,
password: @pass,
unlock: true,
# Fastlane can't find the signing cert without setting a default.
default_keychain: true,
# Deleting the keychain would cause race condition for parallel jobs.
require_create: false,
# Lock it up after 25 minutes just in case we don't delete it.
lock_when_sleeps: true,
lock_after_timeout: true,
timeout: 1500
)
end
end
# App Store Connect API is an official public API used to manage Apps.
# This includes metadata, pricing and availability, provisioning, and more.
# It provides a JSON API and auth using API Keys to generate a JSON Web Token (JWT).
def asc_api_key()
app_store_connect_api_key(
key_id: ENV['FASTLANE_ASC_API_KEY_ID'],
issuer_id: ENV['FASTLANE_ASC_API_ISSUER_ID'],
key_filepath: ENV['FASTLANE_ASC_API_KEY_FILE_PATH'],
duration: 1200, # seconds, session length
in_house: false,
)
end
# builds an ios app with ad-hoc configuration and put it
# to "status-ios" output folder
# `readonly`:
@@ -95,12 +122,16 @@ def build_ios_adhoc(readonly: false, pr_build: false)
scheme = pr_build ? 'StatusImPR' : 'StatusIm'
app_id = pr_build ? 'im.status.ethereum.pr' : 'im.status.ethereum'
kc = Keychain.new('fastlane')
match(
type: 'adhoc',
force_for_new_devices: true,
readonly: readonly,
api_key: asc_api_key(),
app_identifier: app_id,
keychain_name: 'login.keychain'
force_for_new_devices: true,
keychain_name: kc.name,
keychain_password: kc.pass
)
build_ios_app(
@@ -128,11 +159,15 @@ def build_ios_e2e
showsdks_output = sh('xcodebuild', '-showsdks')
simulator_sdk = showsdks_output.scan(/iphonesimulator\d\d?\.\d\d?/).first
kc = Keychain.new('fastlane')
match(
type: 'adhoc',
force_for_new_devices: true,
readonly: true,
keychain_name: 'login.keychain'
api_key: asc_api_key(),
force_for_new_devices: true,
keychain_name: kc.name,
keychain_password: kc.pass
)
build_ios_app(
@@ -181,7 +216,6 @@ platform :ios do
desc 'It creates an .ipa that can be used by a list of devices, registeded in the App Store Connect.'
desc 'This .ipa is ready to be distibuted through diawi.com'
lane :adhoc do
unlock_keychain_if_needed
build_ios_adhoc(readonly: true)
end
@@ -189,31 +223,32 @@ platform :ios do
desc 'This lane is used for SauceLabs end-to-end testing.'
desc 'It creates an .app that can be used inside of a iPhone simulator.'
lane :e2e do
unlock_keychain_if_needed
build_ios_e2e
end
desc '`fastlane ios pr` - makes a new pr build'
desc 'This lane builds a new adhoc build and leaves an .ipa that is ad-hoc signed (can be uploaded to diawi)'
lane :pr do
unlock_keychain_if_needed
build_ios_adhoc(pr_build: true)
end
desc '`fastlane ios nightly` - makes a new nightly'
desc 'This lane builds a new nightly and leaves an .ipa that is ad-hoc signed (can be uploaded to diawi)'
lane :nightly do
unlock_keychain_if_needed
build_ios_adhoc()
end
desc '`fastlane ios release` builds a release & uploads it to TestFlight'
lane :release do
kc = Keychain.new('fastlane')
match(
type: 'appstore',
readonly: true,
api_key: asc_api_key(),
app_identifier: 'im.status.ethereum',
keychain_name: 'login.keychain'
keychain_name: kc.name,
keychain_password: kc.pass
)
build_ios_app(
@@ -230,6 +265,7 @@ platform :ios do
"ITSAppUsesNonExemptEncryption": false
}
)
upload_to_testflight(
ipa: 'status-ios/StatusIm.ipa',
skip_waiting_for_build_processing: true
+116 -76
View File
@@ -1,57 +1,80 @@
GEM
remote: https://rubygems.org/
specs:
CFPropertyList (3.0.2)
addressable (2.7.0)
CFPropertyList (3.0.5)
rexml
addressable (2.8.0)
public_suffix (>= 2.0.2, < 5.0)
artifactory (3.0.15)
atomos (0.1.3)
aws-eventstream (1.1.0)
aws-partitions (1.350.0)
aws-sdk-core (3.104.3)
aws-eventstream (1.2.0)
aws-partitions (1.579.0)
aws-sdk-core (3.130.2)
aws-eventstream (~> 1, >= 1.0.2)
aws-partitions (~> 1, >= 1.239.0)
aws-partitions (~> 1, >= 1.525.0)
aws-sigv4 (~> 1.1)
jmespath (~> 1.0)
aws-sdk-kms (1.36.0)
aws-sdk-core (~> 3, >= 3.99.0)
aws-sdk-kms (1.56.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-s3 (1.75.0)
aws-sdk-core (~> 3, >= 3.104.1)
aws-sdk-s3 (1.113.1)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sdk-kms (~> 1)
aws-sigv4 (~> 1.1)
aws-sigv4 (1.2.1)
aws-sigv4 (~> 1.4)
aws-sigv4 (1.5.0)
aws-eventstream (~> 1, >= 1.0.2)
babosa (1.0.3)
claide (1.0.3)
babosa (1.0.4)
claide (1.1.0)
colored (1.2)
colored2 (3.1.2)
commander-fastlane (4.4.6)
highline (~> 1.7.2)
commander (4.6.0)
highline (~> 2.0.0)
declarative (0.0.20)
declarative-option (0.1.0)
digest-crc (0.6.1)
rake (~> 13.0)
digest-crc (0.6.4)
rake (>= 12.0.0, < 14.0.0)
domain_name (0.5.20190701)
unf (>= 0.0.5, < 1.0.0)
dotenv (2.7.6)
emoji_regex (3.0.0)
excon (0.76.0)
faraday (1.0.1)
multipart-post (>= 1.2, < 3)
faraday-cookie_jar (0.0.6)
faraday (>= 0.7.4)
emoji_regex (3.2.3)
excon (0.92.2)
faraday (1.10.0)
faraday-em_http (~> 1.0)
faraday-em_synchrony (~> 1.0)
faraday-excon (~> 1.1)
faraday-httpclient (~> 1.0)
faraday-multipart (~> 1.0)
faraday-net_http (~> 1.0)
faraday-net_http_persistent (~> 1.0)
faraday-patron (~> 1.0)
faraday-rack (~> 1.0)
faraday-retry (~> 1.0)
ruby2_keywords (>= 0.0.4)
faraday-cookie_jar (0.0.7)
faraday (>= 0.8.0)
http-cookie (~> 1.0.0)
faraday_middleware (1.0.0)
faraday-em_http (1.0.0)
faraday-em_synchrony (1.0.0)
faraday-excon (1.1.0)
faraday-httpclient (1.0.1)
faraday-multipart (1.0.3)
multipart-post (>= 1.2, < 3)
faraday-net_http (1.0.1)
faraday-net_http_persistent (1.2.0)
faraday-patron (1.0.0)
faraday-rack (1.0.0)
faraday-retry (1.0.3)
faraday_middleware (1.2.0)
faraday (~> 1.0)
fastimage (2.2.0)
fastlane (2.154.0)
fastimage (2.2.6)
fastlane (2.205.2)
CFPropertyList (>= 2.3, < 4.0.0)
addressable (>= 2.3, < 3.0.0)
addressable (>= 2.8, < 3.0.0)
artifactory (~> 3.0)
aws-sdk-s3 (~> 1.0)
babosa (>= 1.0.3, < 2.0.0)
bundler (>= 1.12.0, < 3.0.0)
colored
commander-fastlane (>= 4.4.6, < 5.0.0)
commander (~> 4.6)
dotenv (>= 2.1.1, < 3.0.0)
emoji_regex (>= 0.1, < 4.0)
excon (>= 0.71.0, < 1.0.0)
@@ -60,18 +83,20 @@ GEM
faraday_middleware (~> 1.0)
fastimage (>= 2.1.0, < 3.0.0)
gh_inspector (>= 1.1.2, < 2.0.0)
google-api-client (>= 0.37.0, < 0.39.0)
google-cloud-storage (>= 1.15.0, < 2.0.0)
highline (>= 1.7.2, < 2.0.0)
google-apis-androidpublisher_v3 (~> 0.3)
google-apis-playcustomapp_v1 (~> 0.1)
google-cloud-storage (~> 1.31)
highline (~> 2.0)
json (< 3.0.0)
jwt (>= 2.1.0, < 3)
mini_magick (>= 4.9.4, < 5.0.0)
multipart-post (~> 2.0.0)
naturally (~> 2.2)
optparse (~> 0.1.1)
plist (>= 3.1.0, < 4.0.0)
rubyzip (>= 2.0.0, < 3.0.0)
security (= 0.1.3)
simctl (~> 1.6.3)
slack-notifier (>= 2.0.0, < 3.0.0)
terminal-notifier (>= 2.0.0, < 3.0.0)
terminal-table (>= 1.4.5, < 2.0.0)
tty-screen (>= 0.6.3, < 1.0.0)
@@ -84,60 +109,71 @@ GEM
fastlane-plugin-diawi (2.1.0)
rest-client (>= 2.0.0)
gh_inspector (1.1.3)
google-api-client (0.38.0)
google-apis-androidpublisher_v3 (0.19.0)
google-apis-core (>= 0.4, < 2.a)
google-apis-core (0.4.2)
addressable (~> 2.5, >= 2.5.1)
googleauth (~> 0.9)
httpclient (>= 2.8.1, < 3.0)
googleauth (>= 0.16.2, < 2.a)
httpclient (>= 2.8.1, < 3.a)
mini_mime (~> 1.0)
representable (~> 3.0)
retriable (>= 2.0, < 4.0)
signet (~> 0.12)
google-cloud-core (1.5.0)
retriable (>= 2.0, < 4.a)
rexml
webrick
google-apis-iamcredentials_v1 (0.10.0)
google-apis-core (>= 0.4, < 2.a)
google-apis-playcustomapp_v1 (0.7.0)
google-apis-core (>= 0.4, < 2.a)
google-apis-storage_v1 (0.13.0)
google-apis-core (>= 0.4, < 2.a)
google-cloud-core (1.6.0)
google-cloud-env (~> 1.0)
google-cloud-errors (~> 1.0)
google-cloud-env (1.3.3)
faraday (>= 0.17.3, < 2.0)
google-cloud-errors (1.0.1)
google-cloud-storage (1.27.0)
addressable (~> 2.5)
google-cloud-env (1.6.0)
faraday (>= 0.17.3, < 3.0)
google-cloud-errors (1.2.0)
google-cloud-storage (1.36.2)
addressable (~> 2.8)
digest-crc (~> 0.4)
google-api-client (~> 0.33)
google-cloud-core (~> 1.2)
googleauth (~> 0.9)
google-apis-iamcredentials_v1 (~> 0.1)
google-apis-storage_v1 (~> 0.1)
google-cloud-core (~> 1.6)
googleauth (>= 0.16.2, < 2.a)
mini_mime (~> 1.0)
googleauth (0.13.1)
faraday (>= 0.17.3, < 2.0)
googleauth (1.1.3)
faraday (>= 0.17.3, < 3.a)
jwt (>= 1.4, < 3.0)
memoist (~> 0.16)
multi_json (~> 1.11)
os (>= 0.9, < 2.0)
signet (~> 0.14)
highline (1.7.10)
signet (>= 0.16, < 2.a)
highline (2.0.3)
http-accept (1.7.0)
http-cookie (1.0.3)
http-cookie (1.0.4)
domain_name (~> 0.5)
httpclient (2.8.3)
jmespath (1.4.0)
json (2.3.1)
jwt (2.2.1)
jmespath (1.6.1)
json (2.6.1)
jwt (2.3.0)
memoist (0.16.2)
mime-types (3.3.1)
mime-types (3.4.1)
mime-types-data (~> 3.2015)
mime-types-data (3.2020.0512)
mini_magick (4.10.1)
mini_mime (1.0.2)
mime-types-data (3.2022.0105)
mini_magick (4.11.0)
mini_mime (1.1.2)
multi_json (1.15.0)
multipart-post (2.0.0)
nanaimo (0.3.0)
naturally (2.2.0)
naturally (2.2.1)
netrc (0.11.0)
os (1.1.1)
plist (3.5.0)
public_suffix (4.0.5)
rake (13.0.1)
representable (3.0.4)
optparse (0.1.1)
os (1.1.4)
plist (3.6.0)
public_suffix (4.0.7)
rake (13.0.6)
representable (3.1.1)
declarative (< 0.1.0)
declarative-option (< 0.2.0)
trailblazer-option (>= 0.1.1, < 0.2.0)
uber (< 0.2.0)
rest-client (2.1.0)
http-accept (>= 1.7.0, < 2.0)
@@ -145,21 +181,23 @@ GEM
mime-types (>= 1.16, < 4.0)
netrc (~> 0.8)
retriable (3.1.2)
rexml (3.2.5)
rouge (2.0.7)
rubyzip (2.3.0)
ruby2_keywords (0.0.5)
rubyzip (2.3.2)
security (0.1.3)
signet (0.14.0)
addressable (~> 2.3)
faraday (>= 0.17.3, < 2.0)
signet (0.16.1)
addressable (~> 2.8)
faraday (>= 0.17.5, < 3.0)
jwt (>= 1.5, < 3.0)
multi_json (~> 1.10)
simctl (1.6.8)
CFPropertyList
naturally
slack-notifier (2.3.2)
terminal-notifier (2.0.0)
terminal-table (1.8.0)
unicode-display_width (~> 1.1, >= 1.1.1)
trailblazer-option (0.1.2)
tty-cursor (0.7.1)
tty-screen (0.8.1)
tty-spinner (0.9.3)
@@ -167,18 +205,20 @@ GEM
uber (0.1.0)
unf (0.1.4)
unf_ext
unf_ext (0.0.7.7)
unicode-display_width (1.7.0)
unf_ext (0.0.8.1)
unicode-display_width (1.8.0)
webrick (1.7.0)
word_wrap (1.0.0)
xcodeproj (1.17.1)
xcodeproj (1.21.0)
CFPropertyList (>= 2.3.3, < 4.0)
atomos (~> 0.1.3)
claide (>= 1.0.2, < 2.0)
colored2 (~> 3.1)
nanaimo (~> 0.3.0)
rexml (~> 3.2.4)
xcpretty (0.3.0)
rouge (~> 2.0.7)
xcpretty-travis-formatter (1.0.0)
xcpretty-travis-formatter (1.0.1)
xcpretty (~> 0.2, >= 0.0.7)
PLATFORMS
+2 -2
View File
@@ -1,4 +1,4 @@
{ stdenv, bundlerEnv, ruby, makeWrapper }:
{ stdenv, lib, bundlerEnv, ruby, makeWrapper }:
let
fastlane = stdenv.mkDerivation rec {
@@ -28,7 +28,7 @@ let
export FASTLANE_PLUGINFILE_PATH=$STATUS_REACT_HOME/fastlane/Pluginfile
'';
meta = with stdenv.lib; {
meta = with lib; {
description = "A tool to automate building and releasing iOS and Android apps";
longDescription = "fastlane is a tool for iOS and Android developers to automate tedious tasks like generating screenshots, dealing with provisioning profiles, and releasing your application.";
homepage = https://github.com/fastlane/fastlane;
+306 -120
View File
@@ -5,10 +5,20 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1fvchp2rhp2rmigx7qglf69xvjqvzq7x0g49naliw29r2bz656sy";
sha256 = "022r3m9wdxljpbya69y2i3h9g3dhhfaqzidf95m6qjzms792jvgp";
type = "gem";
};
version = "2.7.0";
version = "2.8.0";
};
artifactory = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0wify8rhjwr5bw5y6ary61vba290vk766cxw9a9mg05yswmaisls";
type = "gem";
};
version = "3.0.15";
};
atomos = {
groups = ["default"];
@@ -25,20 +35,20 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0r0pn66yqrdkrfdin7qdim0yj2x75miyg4wp6mijckhzhrjb7cv5";
sha256 = "1pyis1nvnbjxk12a43xvgj2gv0mvp4cnkc1gzw0v1018r61399gz";
type = "gem";
};
version = "1.1.0";
version = "1.2.0";
};
aws-partitions = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1rwd13lqambjpq94qhccw3ixn6bvwnqcnd3v1rdlmpcvqq2rw49c";
sha256 = "1ilhspsph7icrrz94f3qngjkj585hsyv9bnxr44iabcqqwymr79w";
type = "gem";
};
version = "1.350.0";
version = "1.579.0";
};
aws-sdk-core = {
dependencies = ["aws-eventstream" "aws-partitions" "aws-sigv4" "jmespath"];
@@ -46,10 +56,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1xfv8nfz8n700z29di51mcyyrnmbpq7flff4hx9mm92avnly1ysy";
sha256 = "0hajbavfngn99hcz6n20162jygvwdflldvnlrza7z32hizawaaan";
type = "gem";
};
version = "3.104.3";
version = "3.130.2";
};
aws-sdk-kms = {
dependencies = ["aws-sdk-core" "aws-sigv4"];
@@ -57,10 +67,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0rpwpj4f4q9wdrbgiqngzwfdaaqyz0iif8sv16z6z0mm6y3cb06q";
sha256 = "14dcfqqdx1dy7qwrdyqdvqjs53kswm4njvg34f61jpl9xi3h2yf3";
type = "gem";
};
version = "1.36.0";
version = "1.56.0";
};
aws-sdk-s3 = {
dependencies = ["aws-sdk-core" "aws-sdk-kms" "aws-sigv4"];
@@ -68,10 +78,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "068xx6wp86wkmikdzg4wqxmg570hc3ydp8211j02g13djjr3k28n";
sha256 = "0kxcc3abjxld66ryrivfq9wxxpik8ngr2b2dr7shgrsgf5zmrkh8";
type = "gem";
};
version = "1.75.0";
version = "1.113.1";
};
aws-sigv4 = {
dependencies = ["aws-eventstream"];
@@ -79,40 +89,41 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0aknh3q37rq3ixxa84x2p26g8a15zmiig2rm1pmailsb9vqhfh3j";
sha256 = "0xp7diwq7nv4vvxrl9x3lis2l4x6bissrfzbfyy6rv5bmj5w109z";
type = "gem";
};
version = "1.2.1";
version = "1.5.0";
};
babosa = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "10nn9bw63i4awpzn5vrx6kmpx1sg7z8r3fhw9r8bvg9pz2wh489g";
sha256 = "16dwqn33kmxkqkv51cwiikdkbrdjfsymlnc0rgbjwilmym8a9phq";
type = "gem";
};
version = "1.0.3";
version = "1.0.4";
};
CFPropertyList = {
dependencies = ["rexml"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1825ll26p28swjiw8n3x2pnh5ygsmg83spf82fnzcjn2p87vc5lf";
sha256 = "193l8r1ycd3dcxa7lsb4pqcghbk56dzc5244m6y8xmv88z6m31d7";
type = "gem";
};
version = "3.0.2";
version = "3.0.5";
};
claide = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0kasxsms24fgcdsq680nz99d5lazl9rmz1qkil2y5gbbssx89g0z";
sha256 = "0bpqhc0kqjp1bh9b7ffc395l9gfls0337rrhmab4v46ykl45qg3d";
type = "gem";
};
version = "1.0.3";
version = "1.1.0";
};
colored = {
groups = ["default"];
@@ -134,16 +145,16 @@
};
version = "3.1.2";
};
commander-fastlane = {
commander = {
dependencies = ["highline"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0y8d3ac9qwm1cg6rnpf8rcdsy1yxacrd2g2kl809xsp2vi973g65";
sha256 = "1n8k547hqq9hvbyqbx2qi08g0bky20bbjca1df8cqq5frhzxq7bx";
type = "gem";
};
version = "4.4.6";
version = "4.6.0";
};
declarative = {
groups = ["default"];
@@ -155,26 +166,16 @@
};
version = "0.0.20";
};
declarative-option = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1g4ibxq566f1frnhdymzi9hxxcm4g2gw4n21mpjk2mhwym4q6l0p";
type = "gem";
};
version = "0.1.0";
};
digest-crc = {
dependencies = ["rake"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1nygbn680kmya9vnz0pr9681z8lszr2whln0rxk168vaxbcnga8d";
sha256 = "1czaak53w8n13y1fr0q23gp0fhklvxjac5n562qj3xk6sh5ad0x2";
type = "gem";
};
version = "0.6.1";
version = "0.6.4";
};
domain_name = {
dependencies = ["unf"];
@@ -202,31 +203,31 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0mjl5g6fv8iyf3nnbfyzd64bhl8l1qxyh452797km1aj4c682ia3";
sha256 = "0jsnrkfy345v66jlm2xrz8znivfnamg3mfzkddn414bndf2vxn7c";
type = "gem";
};
version = "3.0.0";
version = "3.2.3";
};
excon = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "05is0kb650j8wrdi4rgkdls662chnhdg2p64pgq3zkd3d7l2a9zw";
sha256 = "01pcl1vx60x3f28rs6iw1lgqxycgb2yxq2p45k7b4a8liadykhba";
type = "gem";
};
version = "0.76.0";
version = "0.92.2";
};
faraday = {
dependencies = ["multipart-post"];
dependencies = ["faraday-em_http" "faraday-em_synchrony" "faraday-excon" "faraday-httpclient" "faraday-multipart" "faraday-net_http" "faraday-net_http_persistent" "faraday-patron" "faraday-rack" "faraday-retry" "ruby2_keywords"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0wwks9652xwgjm7yszcq5xr960pjypc07ivwzbjzpvy9zh2fw6iq";
sha256 = "00palwawk897p5gypw5wjrh93d4p0xz2yl9w93yicb4kq7amh8d4";
type = "gem";
};
version = "1.0.1";
version = "1.10.0";
};
faraday-cookie_jar = {
dependencies = ["faraday" "http-cookie"];
@@ -234,10 +235,111 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1di4gx6446a6zdkrpj679m5k515i53wvb4yxcsqvy8d8zacxiiv6";
sha256 = "00hligx26w9wdnpgsrf0qdnqld4rdccy8ym6027h5m735mpvxjzk";
type = "gem";
};
version = "0.0.6";
version = "0.0.7";
};
faraday-em_http = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "12cnqpbak4vhikrh2cdn94assh3yxza8rq2p9w2j34bqg5q4qgbs";
type = "gem";
};
version = "1.0.0";
};
faraday-em_synchrony = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1vgrbhkp83sngv6k4mii9f2s9v5lmp693hylfxp2ssfc60fas3a6";
type = "gem";
};
version = "1.0.0";
};
faraday-excon = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0h09wkb0k0bhm6dqsd47ac601qiaah8qdzjh8gvxfd376x1chmdh";
type = "gem";
};
version = "1.1.0";
};
faraday-httpclient = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0fyk0jd3ks7fdn8nv3spnwjpzx2lmxmg2gh4inz3by1zjzqg33sc";
type = "gem";
};
version = "1.0.1";
};
faraday-multipart = {
dependencies = ["multipart-post"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "03qfi9020ynf7hkdiaq01sd2mllvw7fg4qiin3pk028b4wv23j3j";
type = "gem";
};
version = "1.0.3";
};
faraday-net_http = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1fi8sda5hc54v1w3mqfl5yz09nhx35kglyx72w7b8xxvdr0cwi9j";
type = "gem";
};
version = "1.0.1";
};
faraday-net_http_persistent = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0dc36ih95qw3rlccffcb0vgxjhmipsvxhn6cw71l7ffs0f7vq30b";
type = "gem";
};
version = "1.2.0";
};
faraday-patron = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "19wgsgfq0xkski1g7m96snv39la3zxz6x7nbdgiwhg5v82rxfb6w";
type = "gem";
};
version = "1.0.0";
};
faraday-rack = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1h184g4vqql5jv9s9im6igy00jp6mrah2h14py6mpf9bkabfqq7g";
type = "gem";
};
version = "1.0.0";
};
faraday-retry = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "153i967yrwnswqgvnnajgwp981k9p50ys1h80yz3q94rygs59ldd";
type = "gem";
};
version = "1.0.3";
};
faraday_middleware = {
dependencies = ["faraday"];
@@ -245,31 +347,31 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0jik2kgfinwnfi6fpp512vlvs0mlggign3gkbpkg5fw1jr9his0r";
sha256 = "1bw8mfh4yin2xk7138rg3fhb2p5g2dlmdma88k82psah9mbmvlfy";
type = "gem";
};
version = "1.0.0";
version = "1.2.0";
};
fastimage = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "11ny2pj0j6pljszrf1w3iqdv2pcl2iwwghjbgcjlizy424zbh0hb";
sha256 = "0nnggg20za5vamdpkgrxxa32z33d8hf0g2bciswkhqnc6amb3yjr";
type = "gem";
};
version = "2.2.0";
version = "2.2.6";
};
fastlane = {
dependencies = ["CFPropertyList" "addressable" "aws-sdk-s3" "babosa" "colored" "commander-fastlane" "dotenv" "emoji_regex" "excon" "faraday" "faraday-cookie_jar" "faraday_middleware" "fastimage" "gh_inspector" "google-api-client" "google-cloud-storage" "highline" "json" "jwt" "mini_magick" "multipart-post" "plist" "rubyzip" "security" "simctl" "slack-notifier" "terminal-notifier" "terminal-table" "tty-screen" "tty-spinner" "word_wrap" "xcodeproj" "xcpretty" "xcpretty-travis-formatter"];
dependencies = ["CFPropertyList" "addressable" "artifactory" "aws-sdk-s3" "babosa" "colored" "commander" "dotenv" "emoji_regex" "excon" "faraday" "faraday-cookie_jar" "faraday_middleware" "fastimage" "gh_inspector" "google-apis-androidpublisher_v3" "google-apis-playcustomapp_v1" "google-cloud-storage" "highline" "json" "jwt" "mini_magick" "multipart-post" "naturally" "optparse" "plist" "rubyzip" "security" "simctl" "terminal-notifier" "terminal-table" "tty-screen" "tty-spinner" "word_wrap" "xcodeproj" "xcpretty" "xcpretty-travis-formatter"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "05y7qn8f1d3q355vf1fvbwz0sf73bwiwbcpzidd1szh49400h65b";
sha256 = "091l4vl909rv6alydwlzhbk0lfmfphb7n2sjybdfy2azr07b6a0d";
type = "gem";
};
version = "2.154.0";
version = "2.205.2";
};
fastlane-plugin-clean_testflight_testers = {
groups = ["default"];
@@ -302,16 +404,60 @@
};
version = "1.1.3";
};
google-api-client = {
dependencies = ["addressable" "googleauth" "httpclient" "mini_mime" "representable" "retriable" "signet"];
google-apis-androidpublisher_v3 = {
dependencies = ["google-apis-core"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1jybks8i00rxrxx9mkx90dbdk6pczh2w757wchlavmrkrk0dp9s1";
sha256 = "0qc501qhgks10qr7dm42bjcsm6yrbg1lxy28akpxindvjk61zh9i";
type = "gem";
};
version = "0.38.0";
version = "0.19.0";
};
google-apis-core = {
dependencies = ["addressable" "googleauth" "httpclient" "mini_mime" "representable" "retriable" "rexml" "webrick"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "19v15vkgg86k79l51gfs7fab4h7fkv8358ckmkyp33jgsx3zr17b";
type = "gem";
};
version = "0.4.2";
};
google-apis-iamcredentials_v1 = {
dependencies = ["google-apis-core"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1yibminaffzz5npq605m0vqc024dcybiw7xk5vr0jxzlsh8nxvhn";
type = "gem";
};
version = "0.10.0";
};
google-apis-playcustomapp_v1 = {
dependencies = ["google-apis-core"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "15wnkbn6kzijbyqkqrh7s6apjf5630yvf2v8zy93zk0x87n2drcd";
type = "gem";
};
version = "0.7.0";
};
google-apis-storage_v1 = {
dependencies = ["google-apis-core"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0lcb9jkjipz1kgg8zyp8a6741andads55bxbldg3x8qmzkv9pv31";
type = "gem";
};
version = "0.13.0";
};
google-cloud-core = {
dependencies = ["google-cloud-env" "google-cloud-errors"];
@@ -319,10 +465,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1qjn7vs8f85vxi1nkikbjfja6bv9snrj26vzscjii0cm8n4dy0i1";
sha256 = "0amp8vd16pzbdrfbp7k0k38rqxpwd88bkyp35l3x719hbb6l85za";
type = "gem";
};
version = "1.5.0";
version = "1.6.0";
};
google-cloud-env = {
dependencies = ["faraday"];
@@ -330,31 +476,31 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0frifczbhs5k699avaxnaypijfmjd2zb1rbdmcb30vdx8sskypa9";
sha256 = "05gshdqscg4kil6ppfzmikyavsx449bxyj47j33r4n4p8swsqyb1";
type = "gem";
};
version = "1.3.3";
version = "1.6.0";
};
google-cloud-errors = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1hvs1x39g77hbdqjxmzcl6gq8160pv3kskvzbbch0ww1np6qwm67";
sha256 = "0nakfswnck6grjpyhckzl40qccyys3sy999h5axk0rldx96fnivd";
type = "gem";
};
version = "1.0.1";
version = "1.2.0";
};
google-cloud-storage = {
dependencies = ["addressable" "digest-crc" "google-api-client" "google-cloud-core" "googleauth" "mini_mime"];
dependencies = ["addressable" "digest-crc" "google-apis-iamcredentials_v1" "google-apis-storage_v1" "google-cloud-core" "googleauth" "mini_mime"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "06pmgk210frapxjjshy9iax6jb5ps8fbylcy0c9ypwji6cwxk990";
sha256 = "09d1bvxma4czbgay9lhcqsrhh6pd8s9i5djflzpsn00h4isdilw3";
type = "gem";
};
version = "1.27.0";
version = "1.36.2";
};
googleauth = {
dependencies = ["faraday" "jwt" "memoist" "multi_json" "os" "signet"];
@@ -362,20 +508,20 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0ldhllhv8mlbalp8a3zb1hsj5p2i8f0vf88r71vm083gq7820iwn";
sha256 = "1y80y72bpz04piiskfn93i5rzfy02mjchp3ym77yf2811gzz33d9";
type = "gem";
};
version = "0.13.1";
version = "1.1.3";
};
highline = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "01ib7jp85xjc4gh4jg0wyzllm46hwv8p0w1m4c75pbgi41fps50y";
sha256 = "0yclf57n2j3cw8144ania99h1zinf8q3f5zrhqa754j6gl95rp9d";
type = "gem";
};
version = "1.7.10";
version = "2.0.3";
};
http-accept = {
groups = ["default"];
@@ -393,10 +539,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "004cgs4xg5n6byjs7qld0xhsjq3n6ydfh897myr2mibvh6fjc49g";
sha256 = "19370bc97gsy2j4hanij246hv1ddc85hw0xjb6sj7n1ykqdlx9l9";
type = "gem";
};
version = "1.0.3";
version = "1.0.4";
};
httpclient = {
groups = ["default"];
@@ -413,30 +559,30 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1d4wac0dcd1jf6kc57891glih9w57552zgqswgy74d1xhgnk0ngf";
sha256 = "1mnvb80cdg7fzdcs3xscv21p28w4igk5sj5m7m81xp8v2ks87jj0";
type = "gem";
};
version = "1.4.0";
version = "1.6.1";
};
json = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "158fawfwmv2sq4whqqaksfykkiad2xxrrj0nmpnc6vnlzi1bp7iz";
sha256 = "1z9grvjyfz16ag55hg522d3q4dh07hf391sf9s96npc0vfi85xkz";
type = "gem";
};
version = "2.3.1";
version = "2.6.1";
};
jwt = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "01zg1vp3lyl3flyjdkrcc93ghf833qgfgh2p1biqfhkzz11r129c";
sha256 = "0bg8pjx0mpvl10k6d8a6gc8dzlv2z5jkqcjbjcirnk032iriq838";
type = "gem";
};
version = "2.2.1";
version = "2.3.0";
};
memoist = {
groups = ["default"];
@@ -454,40 +600,40 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1zj12l9qk62anvk9bjvandpa6vy4xslil15wl6wlivyf51z773vh";
sha256 = "0ipw892jbksbxxcrlx9g5ljq60qx47pm24ywgfbyjskbcl78pkvb";
type = "gem";
};
version = "3.3.1";
version = "3.4.1";
};
mime-types-data = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1z75svngyhsglx0y2f9rnil2j08f9ab54b3l95bpgz67zq2if753";
sha256 = "003gd7mcay800k2q4pb2zn8lwwgci4bhi42v2jvlidm8ksx03i6q";
type = "gem";
};
version = "3.2020.0512";
version = "3.2022.0105";
};
mini_magick = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0lpq12z70n10c1qshcddd5nib2pkcbkwzvmiqqzj60l01k3x4fg9";
sha256 = "1aj604x11d9pksbljh0l38f70b558rhdgji1s9i763hiagvvx2hs";
type = "gem";
};
version = "4.10.1";
version = "4.11.0";
};
mini_mime = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1axm0rxyx3ss93wbmfkm78a6x03l8y4qy60rhkkiq0aza0vwq3ha";
sha256 = "0lbim375gw2dk6383qirz13hgdmxlan0vc5da2l072j3qw6fqjm5";
type = "gem";
};
version = "1.0.2";
version = "1.1.2";
};
multi_json = {
groups = ["default"];
@@ -524,10 +670,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0dzqdawqr4agx7zr1fr5zxdwl8vb5rhpz57l1lk7d2y46ha6l4l7";
sha256 = "04x1nkx6gkqzlc4phdvq05v3vjds6mgqhjqzqpcs6vdh5xyqrf59";
type = "gem";
};
version = "2.2.0";
version = "2.2.1";
};
netrc = {
groups = ["default"];
@@ -539,56 +685,66 @@
};
version = "0.11.0";
};
optparse = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0j9l5a1zszvrlggp1ldx82i4kkqx34g4g3amwp488s499w5l1cvj";
type = "gem";
};
version = "0.1.1";
};
os = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "12fli64wz5j9868gpzv5wqsingk1jk457qyqksv9ksmq9b0zpc9x";
sha256 = "0gwd20smyhxbm687vdikfh1gpi96h8qb1x28s2pdcysf6dm6v0ap";
type = "gem";
};
version = "1.1.1";
version = "1.1.4";
};
plist = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0ra0910xxbhfsmdi0ig36pr3q0khdqzwb5da3wg7y3n8d1sh9ffp";
sha256 = "1whhr897z6z6av85x2cipyjk46bwh6s4wx6nbrcd3iifnzvbqs7l";
type = "gem";
};
version = "3.5.0";
version = "3.6.0";
};
public_suffix = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0vywld400fzi17cszwrchrzcqys4qm6sshbv73wy5mwcixmrgg7g";
sha256 = "1f3knlwfwm05sfbaihrxm4g772b79032q14c16q4b38z8bi63qcb";
type = "gem";
};
version = "4.0.5";
version = "4.0.7";
};
rake = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0w6qza25bq1s825faaglkx1k6d59aiyjjk3yw3ip5sb463mhhai9";
sha256 = "15whn7p9nrkxangbs9hh75q585yfn66lv0v2mhj6q6dl6x8bzr2w";
type = "gem";
};
version = "13.0.1";
version = "13.0.6";
};
representable = {
dependencies = ["declarative" "declarative-option" "uber"];
dependencies = ["declarative" "trailblazer-option" "uber"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0qm9rgi1j5a6nv726ka4mmixivlxfsg91h8rpp72wwd4vqbkkm07";
sha256 = "09xwzz94ryp57wyjrqysiz1sslnxd4r4m9wayy63jb7f8qfx1kys";
type = "gem";
};
version = "3.0.4";
version = "3.1.1";
};
rest-client = {
dependencies = ["http-accept" "http-cookie" "mime-types" "netrc"];
@@ -611,6 +767,16 @@
};
version = "3.1.2";
};
rexml = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "08ximcyfjy94pm1rhcx04ny1vx2sk0x4y185gzn86yfsbzwkng53";
type = "gem";
};
version = "3.2.5";
};
rouge = {
groups = ["default"];
platforms = [];
@@ -621,15 +787,25 @@
};
version = "2.0.7";
};
ruby2_keywords = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1vz322p8n39hz3b4a9gkmz9y7a5jaz41zrm2ywf31dvkqm03glgz";
type = "gem";
};
version = "0.0.5";
};
rubyzip = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0590m2pr9i209pp5z4mx0nb1961ishdiqb28995hw1nln1d1b5ji";
sha256 = "0grps9197qyxakbpw02pda59v45lfgbgiyw48i0mq9f2bn9y6mrz";
type = "gem";
};
version = "2.3.0";
version = "2.3.2";
};
security = {
groups = ["default"];
@@ -647,10 +823,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "10g2667fvxnc50hcd1aywgsbf8j7nrckg3n7zjvywmyz82pwmpqp";
sha256 = "1jwyggz80xb3yi2hycmmw214c4072g8i56y0b0gsmpkiyk5d0vh1";
type = "gem";
};
version = "0.14.0";
version = "0.16.1";
};
simctl = {
dependencies = ["CFPropertyList" "naturally"];
@@ -663,16 +839,6 @@
};
version = "1.6.8";
};
slack-notifier = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1pkfn99dhy5s526r6k8d87fwwb6j287ga9s7lxqmh60z28xqh3bv";
type = "gem";
};
version = "2.3.2";
};
terminal-notifier = {
groups = ["default"];
platforms = [];
@@ -694,6 +860,16 @@
};
version = "1.8.0";
};
trailblazer-option = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "18s48fndi2kfvrfzmq6rxvjfwad347548yby0341ixz1lhpg3r10";
type = "gem";
};
version = "0.1.2";
};
tty-cursor = {
groups = ["default"];
platforms = [];
@@ -751,17 +927,27 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0wc47r23h063l8ysws8sy24gzh74mks81cak3lkzlrw4qkqb3sg4";
sha256 = "0bf120xbq23zjyf8zi8h1576d71g58srr8rndig0whn10w72vrxz";
type = "gem";
};
version = "0.0.7.7";
version = "0.0.8.1";
};
unicode-display_width = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "06i3id27s60141x6fdnjn5rar1cywdwy64ilc59cz937303q3mna";
sha256 = "1204c1jx2g89pc25qk5150mk7j5k90692i7ihgfzqnad6qni74h2";
type = "gem";
};
version = "1.8.0";
};
webrick = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1d4cvgmxhfczxiq5fr534lmizkhigd15bsx5719r5ds7k7ivisc7";
type = "gem";
};
version = "1.7.0";
@@ -777,15 +963,15 @@
version = "1.0.0";
};
xcodeproj = {
dependencies = ["CFPropertyList" "atomos" "claide" "colored2" "nanaimo"];
dependencies = ["CFPropertyList" "atomos" "claide" "colored2" "nanaimo" "rexml"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0mv5rsbgwq4vzri31w2f1474arrsr5j69rdhklrci6jnjps8dmx9";
sha256 = "0xmzb1mdsnkpf7v07whz0n2wc8kg6785sc7i5zyawd8dl8517rp4";
type = "gem";
};
version = "1.17.1";
version = "1.21.0";
};
xcpretty = {
dependencies = ["rouge"];
@@ -804,9 +990,9 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "15b5c0lxz2blmichfdlabzlbyw5nlh1ci898pxwb661m9bahz3ml";
sha256 = "14rg4f70klrs910n7rsgfa4dn8s2qyny55194ax2qyyb2wpk7k5a";
type = "gem";
};
version = "1.0.0";
version = "1.0.1";
};
}
}
@@ -1,12 +1,26 @@
الحاله هي أداة اتصال خاصة وآمنة. يمكنك الدردشة مع الأصدقاء وتخزين الأصول واستكشاف مستقبل الويب دون استغلالها لبياناتك.
مع الحاله ، أنت وحدك تتحكم في معلوماتك.
يجمع Status بين برنامج المراسلة الخاص ومحفظة التشفير الآمنة ومتصفح لتطبيقات إيثريوم اللامركزية في أداة اتصال واحدة قوية. الدردشة مع الأصدقاء والمجتمعات المتزايدة. شراء الأصول الرقمية وبيعها وتخزينها وتبادلها. تصفح الإنترنت اللامركزي دون استغلال بياناتك.
Status هو نظام تشغيل إيثريوم الخاص بك
برنامج المراسلة الخاص
أرسل دردشات خاصة 1: 1 ، ومجموعات خاصة ، ودردشات عامة دون وسطاء غير ضروريين في اتصالاتك. Status عبارة عن تطبيق نصي يزيل نقاط الاختناق المركزية من رسائلك يمنحك لمزيد من الخصوصية والمراسلة الآمنة. تطبيق مراسلة مشفر مع تشفير شامل وخصوصية بشكل افتراضي بحيث لا يمكن لأي شخص آخر غيرك والمرسل إليه استعراض رسائلك - ولا حتى Status. يعتبره البعض برنامج مراسلات سريًه.
دردشة
تزيل الحاله جهات خارجية مركزية من رسائلك. ليس المحتوى الخاص بك محميًا فحسب ، بل أيضًا البيانات الوصفية الخاصة بك - للحصول على الخصوصية المطلقة.
مدفوعات بلا حدود، من النظير إلى النظير
يتيح ماسنجر Status لأي شخص في أي مكان إرسال مدفوعات عالمية مباشرة في الدردشة حيث انه متكامل بسلاسة مع محفظة العملات المشفرة.
المعاملات
تخزين الأصول الرقمية في محفظة الحالة الخاصة بك. إرسال الرموز المميزة من الأصدقاء وطلبها أو التعامل مع التطبيقات اللامركزية.
محفظة إيثريوم آمنة
تتيح لك محفظة تشفير Status إرسال أصول إيثريوم وتخزينها وتداولها وتبادلها بأمان مثل ETH و SNT والعملات المستقرة القيمة مثل DAI و NFTs. يمكنك التحكم بكل ثقة في عملتك المشفرة والأصول الرقمية باستخدام تطبيق محفظة إيثريوم هذه . تدعم محفظة البلوكتشين الخاصة Status حاليًا أصول ERC-20 و ERC-721 فقط ؛ لا تدعم البيتكوين.
اكسب مع DEFI
دع عملاتك المشفرة تعمل مع أحدث تطبيقات التمويل اللامركزية والتبادلات اللامركزية (DEX) مثل Maker و Aave و Uniswap و Synthetix و PoolTogether و Zerion و Kyber وغيرهم الكثير.
يكتشف
الوصول إلى التطبيقات المستندة إلى الايثريوم على الويب٣ . لعب الألعاب وتبادل الأصول الرقمية وأكثر من ذلك.
متصفح تطبيقات الويب 3 اللامركزية
تصفح الويب الآمن وأدنو من النظام الإيكولوجي المتنامي للتطبيقات اللامركزية باستخدام المتصفح الآمن. يتيح Status الوصول إلى أكثر من مجرد DeFi - اكتشف أحدث الأسواق والمقتنيات والألعاب والشبكات الاجتماعية مثل SuperRare و Gitcoin و Dragonereum و Axie Infinity و Open Sea و CryptoKitties و Decentraland وغيرهم الكثير.
تواصل مع مجتمعك
استكشف وتواصل ودردش مع مجتمعاتك و أصدقائك المفضلين لديك. سواء كانت مجموعة صغيرة من الأصدقاء ، أو مجموعة فنانين ، أو تجار تشفير ، أو المؤسسة الكبيرة التالية - أرسل رسائل نصية وتواصل مع مجتمعات Status.
بثّ اﻷنشطة اﻹجتماعية
شارك ما يدور في ذهنك وانشر التحديثات مع جهات الاتصال الخاصة بك في شبكة تواصل اجتماعية لامركزية حديثة ومقاومة للرقابة.
إنشاء حساب خاص
حافظ على خصوصيتك مع إنشاء حساب مستعار. عند إنشاء حسابك المجاني ، لن تضطر أبدًا إلى إدخال رقم هاتف أو عنوان بريد إلكتروني أو حساب مصرفي. يتم إنشاء المفاتيح الخاصة بالمحفظة الخاصة بك وتخزينها على جهازك لضمان وصولك إلى أموالك ومعاملاتك المالية فقط.
Binary file not shown.

After

Width:  |  Height:  |  Size: 451 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 424 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 602 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 556 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 520 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 837 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 MiB

@@ -1 +1 @@
الدردشة والتعامل بشكل آمن
Cryptocurrency wallet, Private messenger, and Ethereum DApp Browser
+1 -1
View File
@@ -1 +1 @@
الحاله - الاتصالات الخاصة
Status: محفظة تشفير ، ماسنجر ، متصفح إيثريوم
@@ -1,12 +1,28 @@
Status ist eine App für private und sichere Kommunikation. Chatten Sie mit Freunden, bewahren Sie Assets auf und erkunden Sie die Zukunft des Internets, ohne Ihre Privatsphäre aufzugeben.
Status kombiniert einen privaten Messenger, eine sichere Krypto-Wallet und einen Ethereum Web3 DApp-Browser in einem leistungsstarken Kommunikationswerkzeug. Chatten Sie mit Freunden und wachsenden Communities. Kaufen, verkaufen, speichern und tauschen Sie digitale Assets. Surfen Sie im dezentralen Internet, ohne dass Ihre Daten ausgebeutet werden.
In Status haben nur Sie die volle Kontrolle über Ihre Informationen.
Status ist Ihr Betriebssystem für Ethereum.
CHATTEN
Status entfernt unnötige Mittelmänner beim Chatten. Nicht nur ihre Nachrichten sind geschützt, sondern auch auch ihre Metadaten - für ultimative Privatsphäre
PRIVATER MESSENGER
Senden Sie private 1:1, private Gruppen und öffentliche Chats ohne unnötige Vermittler in Ihrer Kommunikation. Status ist eine Messenger-App, die zentralisierte Drosselstellen aus Ihren Nachrichten entfernt und so für mehr Privatsphäre und sicheres Messaging sorgt. Eine verschlüsselte Messaging-App mit Ende-zu-Ende-Verschlüsselung und standardmäßigem Datenschutz, so dass niemand außer Ihnen und dem gewünschten Empfänger Ihre Nachrichten sehen kann - nicht einmal Status. Einige betrachten es als einen geheimen Messenger.
TRANSAKTIONEN
Bewahren Sie digitale Assets in Ihrer Status-Wallet auf. Senden und erhalten Sie Tokens von Ihren Freunden oder interagieren Sie mit DApps.
PEER-TO-PEER, GRENZÜBERSCHREITENDE ZAHLUNGEN
Nahtlos in die Kryptowährungs-Wallet integriert, ermöglicht der Status-Messenger jedem und überall, globale Zahlungen direkt in einem Chat zu senden.
SICHERE ETHEREUM-WALLET
Mit der Krypto-Wallet Status können Sie Ethereum-Assets wie ETH, SNT, stable Coins wie DAI sowie NFTs sicher senden, speichern, handeln und tauschen. Übernehmen Sie selbstbewusst die Kontrolle über Ihre Kryptowährungen und digitalen Assets mit dieser Ethereum-Wallet-App. Die Status-Blockchain-Wallet unterstützt derzeit nur ERC-20- und ERC-721-Vermögenswerte; sie unterstützt keine Bitcoin.
VERDIENEN MIT DEFI
Setzen Sie Ihre Kryptowährung mit den neuesten dezentralen Finanz-Apps und dezentralen Börsen (DEX) wie Maker, Aave, Uniswap, Synthetix, PoolTogether, Zerion, Kyber und mehr ein.
WEB3 DAPP BROWSER
Surfen Sie im sicheren Web und greifen Sie auf das wachsende Ökosystem dezentraler Anwendungen mit dem sicheren Browser zu. Status ermöglicht den Zugriff auf mehr als nur DeFi - erkunden Sie die neuesten Marktplätze, Sammlerstücke, Spiele und sozialen Netzwerke wie SuperRare, Gitcoin, Dragonereum, Axie Infinity, Open Sea, CryptoKitties, Decentraland und mehr.
VERNETZEN SIE SICH MIT IHRER COMMUNITY
Erforschen, verbinden und chatten Sie mit Ihren Lieblings-Communities und Freunden. Ob es sich um eine kleine Gruppe von Freunden, ein Künstlerkollektiv, Krypto-Händler oder die nächste große Organisation handelt - texten und kommunizieren Sie mit Status-Communities.
SOZIALE NETZE
Teilen Sie mit Ihren Kontakten, was Sie auf dem Herzen haben und posten Sie Updates in einem wirklich offenen, hochmodernen dezentralen sozialen Netzwerk.
PRIVATE ACCOUNT ERSTELLUNG
Bleiben Sie privat mit pseudo-anonymer Kontoerstellung. Wenn Sie Ihr kostenloses Konto erstellen, müssen Sie NIEMALS eine Telefonnummer, E-Mail-Adresse oder ein Bankkonto angeben. Ihre privaten Wallet-Schlüssel werden lokal generiert und gespeichert, um sicherzustellen, dass nur Sie Zugriff auf Ihr Geld und Ihre finanziellen Transaktionen haben.
ERKUNDEN
Greifen Sie auf Ethereum-basierte Web3-Apps zu. Spielen Sie Spiele, konvertieren Sie Assets u.v.m.
Binary file not shown.

After

Width:  |  Height:  |  Size: 536 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 424 KiB

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