Commit Graph

1527 Commits

Author SHA1 Message Date
Icaro Motta c1dcd7a764
Introduce malli library (#17867)
This commit is the foundational step to start using malli
(https://github.com/metosin/malli) in this project.

Take in consideration we will only be able to realize malli's full power in
future iterations.

For those without context: the mobile team watched a presentation about malli
and went through a light RFC to put everyone on the same page, among other
discussions here and there in PRs.

To keep things relatively short:

1. Unit, integration and component tests will short-circuit (fail) when
   inputs/outputs don't conform to their respective function schemas (CI should
   fail too).
2. Failed schema checks will not block the app from initializing, nor throw an
   exception that would trigger the LogBox. Exceptions are only thrown in the
   scope of automated tests.
3. There's zero performance impact in production code because we only
   instrument. Instrumentation is removed from the compiled code due to the
   usage of "^boolean js.goog/DEBUG".
4. We shouldn't expect any meaningful slowdown during development.

**What are we instrumenting in this PR?**

Per our team's agreement, we're only instrumenting the bare minimum to showcase 2 examples.

- Instrument a utility function utils.money/format-amount using the macro
  approach.
- Instrument a quo component quo.components.counter.step.view/view using the
  functional approach.

Both approaches are useful, the functional approach is powerful and allow us to
instrument anonymous functions, like the ones we pass to subscriptions or event
handlers, or the higher-order function quo.theme/with-theme. The macro approach
is perfect for functions already defined with defn.

**I evaluated the schema or function in the REPL but nothing changes**

- If you evaluate the source function, you need to evaluate schema/=> or
  schema/instrument as well.
- Remember to *var quote* when using schema/instrument.
- You must call "(status-im2.setup.schema/setup!)" after any var is
  re-instrumented. It's advisable to add a keybinding in your editor to send
  this expression automatically to the CLJS REPL, or add the call at the end of
  the namespace you are working on (similar to how some devs add "(run-tests)"
  at the end of test namespaces).

**Where should schemas be defined?**

For the moment, we should focus on instrumenting quo components, so define each
function schema in the same namespace as the component's public "view" var.

To be specific:

- A schema used only to instrument a single function and not used elsewhere,
  like a quo component schema, wouldn't benefit from being defined in a separate
  namespace because that would force the developer to constantly open two files
  instead of one to check function signatures.
- A common schema reused across the repo, like ":schema.common/theme" should be
  registered in the global registry "schema.registry" so that consumers can just
  refer to it by keyword, as if it was a built-in malli schema.
- A common schema describing status-go entities like message, notification,
  community, etc can be stored either in the respective
  "src/status_im2/contexts/*" or registered globally, or even somewhere else.
  This is yet to be defined, but since I chose not to include schemas for them,
  we can postpone this guideline.
2023-11-18 11:04:48 -03:00
Jamie Caprani 2e2d15adfb
chore: add floating button page component (#17737)
Co-authored-by: Ulises M <ulises.ssb@hotmail.com>
2023-11-17 09:16:55 -08:00
Yevheniia Berdnyk 1d1d586223
e2e: added back status link opening 2023-11-17 18:09:57 +02:00
Yevheniia Berdnyk 2e0643fabe
e2e: fixes 15.11 2023-11-16 15:54:35 +02:00
Jakub Sokołowski 5ceb7c2215
tests/appium: use requests for fetching APK
Also add more context for the error.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-11-15 18:08:11 +01:00
Jakub Sokołowski 2043e9353b
tests/appium: refactor conftest.py to be more readable
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-11-15 18:08:10 +01:00
Yevheniia Berdnyk 83a7402210
e2e: fix for terminated session 2023-11-13 02:27:36 +02:00
Yevheniia Berdnyk 4eda8bb6b3
e2e: temp fix for opening a link in Status 2023-11-08 18:47:56 +02:00
Yevheniia Berdnyk 422004f146
e2e: fix for creating a new user 2023-11-07 14:43:30 +02:00
Dmitri Akatov a5bb95cd18
add translation linting to the "make lint" pipeline. (#17820) 2023-11-07 11:33:59 +01:00
Yevheniia Berdnyk f1de077d9d
e2e: making 2 tests independent 2023-11-03 18:02:16 +02:00
Yevheniia Berdnyk 579b382c44
e2e: fix for edit message with a mention 2023-11-02 12:38:26 +02:00
yqrashawn 859cb19886
fix(universal-link): more new link format, handle old link format (#17721)
Co-authored-by: pavloburykh <pavlo@status.im>
2023-11-02 15:31:49 +08:00
Nikolay 94a3e266a9
Edit derivation path (#17741) 2023-11-01 14:04:21 +01:00
Yevheniia Berdnyk 25381b601f
e2e: test for sending image with camera 2023-10-31 23:23:04 +02:00
Yevheniia Berdnyk 88b3d7d2e6
e2e: fix for app closed after closing gallery 2023-10-31 12:04:46 +02:00
Yevheniia Berdnyk 90d3a5a39d
e2e: test fixes 2023-10-31 02:21:52 +02:00
diana 071d8f0925
e2e: new link format 2023-10-23 11:26:53 +02:00
Yevheniia Berdnyk 17e9ce7513
e2e: added test for Add contact validation 2023-10-20 16:17:11 +03:00
Yevheniia Berdnyk 6436e82990
e2e: join community when node owner is offline 2023-10-20 16:05:21 +03:00
Yevheniia Berdnyk 7da899e29f
e2e: updated GH report and fixed 2 tests 2023-10-18 13:47:50 +03:00
Churikova Tetiana 6acae424d7
e2e: add new floating screen 2023-10-17 21:48:46 +05:30
Yevheniia Berdnyk 272e8e80d8
e2e: fixed issue with naming 2023-10-10 17:24:28 +03:00
Lungu Cristian b432aab701
Changes to onboarding/new-to-status (quo/fonts/spacings/copy) (#17562)
* fix: changes to onboarding/new-to-status (quo/fonts/spacings/copy)

* e2e: updated button  locator

---------

Co-authored-by: Yevheniia Berdnyk <ie.berdnyk@gmail.com>
2023-10-09 10:45:28 +03:00
Yevheniia Berdnyk 7c1850b901
e2e: some fixes and moved old ui tests to a separate dir 2023-10-07 03:24:51 +03:00
Tetiana Churikova 5b765f873b
e2e: small alignments (#17477) 2023-10-03 14:53:57 +02:00
Yevheniia Berdnyk 70d6291c57
e2e: some todos and updates 2023-09-26 18:55:42 +03:00
Tetiana Churikova 5d6800cee0
e2e: update cython and pyyaml (#17297) 2023-09-19 13:52:30 +02:00
Yevheniia Berdnyk 2c52001e22
e2e: fixes 12.09 2023-09-12 16:46:49 +03:00
Yevheniia Berdnyk 7609a07cc2
e2e: fixes 6.09 2023-09-06 16:23:24 +03:00
Yevheniia Berdnyk 69aeffd943
e2e: removed deprecated metods usage 2023-09-06 12:48:57 +03:00
Yevheniia Berdnyk 726b76a290
e2e: split 1-1 chat test group 2023-09-06 12:30:17 +03:00
Yevheniia Berdnyk 56b13cbdca
e2e: updated join communities flow 2023-09-06 12:17:08 +03:00
Yevheniia Berdnyk 37af9d9b97
e2e: updated community channel element 2023-09-05 01:48:49 +03:00
Yevheniia Berdnyk 5647bb4ac9
e2e: fixes navigation, long press and so on 2023-09-01 18:21:03 +03:00
Yevheniia Berdnyk e1616ae514
e2e: split community and activity center tests to reduce time 2023-08-31 01:24:01 +03:00
Yevheniia Berdnyk 551ac22085
e2e: updated communities join flow (#17132) 2023-08-30 10:49:31 +02:00
Yevheniia Berdnyk a416267094
e2e: appium upgrade 2023-08-25 17:32:54 +03:00
Yevheniia Berdnyk 21be0ed16c
e2e: fixes 25.08 2023-08-25 15:59:51 +03:00
flexsurfer 8701f3545d
[#16864] Design review: messages home (#17050)
---------

Co-authored-by: Yevheniia Berdnyk <ie.berdnyk@gmail.com>
Co-authored-by: Churikova Tetiana <tatiana@status.im>
2023-08-24 14:30:47 +02:00
Yevheniia Berdnyk 89c2b1c818
e2e: nightly fixes 23.08 2023-08-24 04:31:27 +03:00
Yevheniia Berdnyk 4dd5d88f0f
e2e: updated community tests 703086 and 702786 2023-08-22 21:15:14 +03:00
Yevheniia Berdnyk 92403f5d30
e2e: fix for navigation issue 2023-08-21 16:37:48 +03:00
Yevheniia Berdnyk 774687bef6
e2e: updated test_group_chat_mute_chat to unmute by time 2023-08-18 16:00:55 +03:00
Churikova Tetiana aecad2136e
e2e: starting to-dos 2023-08-17 05:09:19 +03:00
Yevheniia Berdnyk 625510d6c9
e2e: Added test for message with hashtag in communtiy channel 2023-08-10 18:09:25 +03:00
Yevheniia Berdnyk 8bab9f8f22
e2e: pulling geth log in teardown if setup is failed 2023-08-10 15:34:41 +03:00
Tetiana Churikova 5a3d886055
e2e: discover communities (#16957) 2023-08-09 18:14:42 +02:00
Yevheniia Berdnyk e5b6378e15
e2e: updated tests with new communitites creation flow 2023-08-04 01:37:33 +03:00
Yevheniia Berdnyk 049e958992
e2e: added test for markdown support (702809) 2023-08-02 21:53:03 +03:00
Yevheniia Berdnyk 3f433d6f19
e2e: group chat unread messages 2023-08-02 19:05:29 +03:00
Brian Sztamfater 21807cb761
feat: implement wallet graph component (#16789)
Signed-off-by: Brian Sztamfater <brian@status.im>
2023-08-01 11:10:16 -03:00
Yevheniia Berdnyk 96ff8ab382
e2e: fix for creating second user 2023-07-31 15:39:37 +03:00
Yevheniia Berdnyk ce08131c01
e2e: new pub key (#16779)
Co-authored-by: Churikova Tetiana <tatiana@status.im>
2023-07-27 13:14:09 +02:00
Omar Basem e49a3ab5cd
feat: category reorder component (#16719)
* feat: category reorder component

---------

Co-authored-by: Milad <mmilad.sanati@gmail.com>
2023-07-26 11:11:17 +04:00
Yevheniia Berdnyk 99dc79842d
e2e: nigthly fixes 24.07 2023-07-24 23:14:16 +03:00
Yevheniia Berdnyk eb3de978ce
e2e: mute chats 2023-07-24 17:43:44 +03:00
flexsurfer 00f39225ea
Do not show biometrics onboarding screen if biometric is not available (#16744)
* fix biometric screen

* updated e2e

---------

Co-authored-by: Yevheniia Berdnyk <ie.berdnyk@gmail.com>
2023-07-24 13:06:35 +02:00
Churikova Tetiana 1b2ad33926
e2e: TimeoutException 2023-07-20 20:06:43 +03:00
Yevheniia Berdnyk 1d0186a12e
fix for airplane mode 2023-07-15 00:17:17 +03:00
Tetiana Churikova 7282ba04bc
e2e: fixes shell nav (#16545) 2023-07-12 11:21:39 +02:00
Yevheniia Berdnyk 362aa476ae
e2e: fix for nightly apk upload (#16517) 2023-07-07 11:08:13 +02:00
Yevheniia Berdnyk 26dcc16ea6
e2e: fix for endless apk upload + teardown 2023-07-06 17:47:35 +03:00
Tetiana Churikova c52bf965f7
e2e: more groups (#16483) 2023-07-05 11:55:40 +02:00
Yevheniia Berdnyk 8978e92042
e2e: nightly fixes 2023-07-04 20:26:05 +03:00
Yevheniia Berdnyk ef99bf2ad6
e2e: tests for reactions in community and group chats 2023-07-04 13:17:48 +03:00
Yevheniia Berdnyk ca2ed9d37e
e2e: fixes for backup users and unread indicator tests 2023-07-03 15:55:05 +03:00
Yevheniia Berdnyk 5f441dfa93
e2e: Reactions in 1-1 chats 2023-06-29 17:49:15 +03:00
Tetiana Churikova 3058ebe018
e2e: small adjustments (#16439) 2023-06-29 14:05:13 +02:00
Tetiana Churikova ba8c08650b
e2e: updated wait_to (#16416) 2023-06-28 14:27:57 +02:00
Yevheniia Berdnyk cd32806c96
e2e: Updated error message in 702783 2023-06-27 02:52:28 +03:00
Yevheniia Berdnyk fc52d5f062
e2e: added attempts for MaxRetryError handling 2023-06-26 11:12:53 +03:00
Yevheniia Berdnyk 0cb525aade
e2e: updated test_restore_multiaccount_with_waku_backup_remove_switch 2023-06-23 00:50:38 +03:00
Yevheniia Berdnyk 5b5a29a2e1
e2e: tests fixes 2023-06-20 03:42:14 +03:00
Rahul Pratap c80992b6bf
Update prettier config for the project. (#16303)
* Update prettier config for the project.

* Add prettier to make lint-fix.
2023-06-19 19:09:12 +05:30
Yevheniia Berdnyk cfefc2d734
e2e: fixes 2023-06-14 02:50:41 +03:00
Yevheniia Berdnyk 6f920afcf7
e2e: Fixes for jump-to 2023-06-13 06:24:21 +03:00
Yevheniia Berdnyk 032c254d19
e2e: Updated report 2023-06-08 15:47:36 +03:00
Yevheniia Berdnyk f3b5a9db67
e2e: Fixes for nightly failures 2023-06-08 05:06:43 +03:00
Omar Basem a5455739c6
Add Images count to reply (#16194)
* fix: images reply count

---------

Co-authored-by: pavloburykh <pavlo@status.im>
2023-06-07 18:35:51 +04:00
Yevheniia Berdnyk eea737625d
e2e: fixes for emoji and xfails added 2023-06-03 02:16:17 +03:00
Churikova Tetiana 4fe2ccaa84
e2e: gallery test + links preview 2023-05-22 11:22:06 +02:00
John Ngei e8682ccbf6
home screen updates
* community home screen updates

* removed green border color on status indicator

* added accent color to plus button and jump-to button

* code reviews

* e2e: fix acc id new comm button

* resolved bugs

---------

Co-authored-by: pavloburykh <pavlo@status.im>
2023-05-19 16:08:52 +03:00
Siddarth Kumar eea55b22d7
Dont check `app-state` for `Android` when evaluating universal links routing (#15896)
* Dont check app-state for android before routing PN

On Android devices, right after account creation and before a log out, the :app-state value in reframe db is set to background. The value becomes active after a log out and then log in which causes tapping on push notifications to do nothing.

This behaviour breaks E2E and hence in this PR, I remove the checking of this case only for Android platforms.
More work should be done to figure out why the app state event handler is behaving this way on Android but for now I would like to unblock E2E.

* e2e: remove xfailed tests

---------

Co-authored-by: Churikova Tetiana <tatiana@status.im>
2023-05-18 00:20:38 +05:30
Mohamed Javid 7d0dfec22c
Design Feedbacks on "Create profile password" screen (#15863)
Signed-off-by: Mohamed Javid <19339952+smohamedjavid@users.noreply.github.com>
Co-authored-by: pavloburykh <pavlo@status.im>
2023-05-16 18:03:45 +05:30
Churikova Tetiana 7ef466078a
e2e: image test 2023-05-15 19:08:03 +02:00
Churikova Tetiana 409c0a9e60
e2e: small fixes 2023-05-12 14:25:32 +02:00
Churikova Tetiana dbaaa54c83
e2e: remove/switch profiles 2023-05-04 16:27:55 +02:00
Brian Sztamfater e5913cc3ea
feat: audio component
Signed-off-by: Brian Sztamfater <brian@status.im>
2023-05-04 10:48:05 -03:00
Churikova Tetiana 6c0c742676
e2e: align with new communities / cleanup 2023-04-28 13:56:31 +02:00
Jamie Caprani 52c6687608
feat: add identifiers screen to onboarding-flow (#15684) 2023-04-26 21:26:32 -07:00
flexsurfer 0ca6ee3934
Request to join community screen is not scrollable on Android #15748 (#15750)
Co-authored-by: Churikova Tetiana <tatiana@status.im>
2023-04-26 13:33:00 +02:00
flexsurfer cd69d0423a
fix (fn[]) usage in hiccup (#15713) 2023-04-25 15:13:14 +02:00
pavloburykh d11ce135a6
e2e: fix xpath for link preview 2023-04-12 14:35:40 +03:00
flexsurfer 103e154076
improve navigation and bottom sheet (#15467)
Co-authored-by: Churikova Tetiana <tatiana@status.im>
2023-03-31 16:13:27 +02:00
Churikova Tetiana 4f2f8dea4c
e2e: new onboarding 2023-03-30 15:15:42 +02:00
Alexander 006b11d508
Scrollable list of pinned messages (#15506)
* Scrollable list of pinned messages

* e2e: fix accessibility id

---------

Co-authored-by: pavloburykh <pavlo@status.im>
2023-03-28 20:23:30 +02:00
Churikova Tetiana 11726df060
e2e: add to run_in_parallel args handling 2023-03-26 20:57:06 +02:00
Churikova Tetiana 5fffc230c9
e2e: new community screens 2023-03-24 11:22:02 +01:00
Churikova Tetiana 401f7d7383
e2e: activity centre and more checks 2023-03-22 18:20:48 +01:00