-
Notifications
You must be signed in to change notification settings - Fork 984
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update release branch 2.30.x #20903
Update release branch 2.30.x #20903
Conversation
Jenkins BuildsClick to see older builds (16)
|
This commit: - prevents the user from saving their wallet address as the saved address - fixes button not capturing taps when the keyboard is open in saved address flows Signed-off-by: Mohamed Javid <19339952+smohamedjavid@users.noreply.github.com>
Equality checks in tests using = give a bad experience by default on test failures containing nested data structures. We use the cljs.test directive match? from matcher-combinators library to help compare nested structures. The problem with match? is that its default matcher for maps (embeds) can be too permissive, and this causes surprises. Here we upgrade matcher-combinators to latest, where a new matcher called nested-equals is available. This matcher won't allow extra keys in maps. This matcher eliminates the need for manually adding nested equals matchers as we have to do currently. - Upgrades matcher-combinators from 3.8.8 to 3.9.1 (latest as of 2024-07-19) What changes? When asserting in tests, we now have the option to use match-strict? or match?. Both directives are available by integrating with cljs.test. The code implementing the new match-strict? directive was 100% copied from the library matcher-combinators because we need to wrap the expected value ourselves with matcher-combinators.matchers/nested-equals. It's ugly code, but it's how we can integrate with cljs.test/assert-expr.
* feat: only initialize wc if internet online * feat: no internet toast for session establishment * feat: no internet banner on session requests * feat: reloading walletconnect on connection change * fix: re-initialize only when previously failed to * fix: removed legacy net-info ns * ref: renamed :network-status to :network/status * ref: moved network subs to own "category" * fix: device network fx args * fix: tests & showing persisted dapps when offline * fix: addressed review comments * fix: rebase issues * fix: linting * fix: usage of web3-wallet (#20864) * fix: moved networks to contextx and renaming * ref: moved building supported namespaces into fx
* fix: header align and max width for summary-tag * fix: standard-title show ellipse when text is long * fix: summary-tag long name overflowing
* WalletConnect show expired toast * Fixes * Fix * Post-rebase fix
This commit adds the beta info box with links to chain explorers to the activity tab in the wallet. Signed-off-by: Mohamed Javid <19339952+smohamedjavid@users.noreply.github.com>
…#20875) This commit removes two toggles from legacy advanced settings - "Testnet mode" - duplicate toggle as the user can switch to testnet from wallet settings - "Enable Goerli as test network" - Goerli is depreciated and wallet services use Sepolia testnet as default. Signed-off-by: Mohamed Javid <19339952+smohamedjavid@users.noreply.github.com>
…account cards (#20854) * Create a linear-gradient wrapper to avoid crashes and notify color errors * Fix references to the flamingo color * Add customization color fallback
We do a few things to reduce the initial load and make the app more responsive after login. The scenario we are covering is a user who joined communities with a large number of members and/or which contain token-gated channels with many members. - Related to #20283 - Related to #20285 - Optimize how we convert a community from JS to CLJS. Community members and chat members are no longer transformed to CLJS, they are kept as JS. Read more details below. - Delay processing lower-priority events by creating a third login phase. The goal is to not put on the same queue we process communities less important events, like fetching the count of unread notifications. Around 15 events could be delayed without causing trouble (and this further prevent a big chain of more events to be dispatched right after login). - Tried to use re-frame's flush-dom metadata, but removed due to uncertainty, check out the discussion: #20729 (comment) Use re-frame’s support for the flush-dom metadata whenever a signal arrives. According to the official documentation, this should tell re-frame to only process the event after the UI has been updated. It’s hard to say if this makes any difference, but the theory is sound. - Reduce the amount of data returned to the subscription that renders a list of communities. We were returning too much, like all members, chats, token permissions, etc. Other things I fixed or improved along the way: - Because members are now stored as JS, I took the opportunity to fix how members are sorted when they are listed. - Removed a few unused subs. - Configured oops to not throw during development (in production the behavior is to never throw). This means oops is now safe to be used instead of interop that can mysteriously fail in advanced compilation. - Show compressed key instead of public key in member list for the account currently logged in. Technical details The number one reason affecting the freeze after login was coming from converting thousands of members inside communities and also because we were doing it in an inefficient way using clojure.walk/stringify-keys. We shouldn't also transform that much data on the client as the parent issue created by flexsurfer correctly recommends. Ever since PR #20414 was merged, status-go doesn't return members in open channels, which greatly helps, for example, to load the Status community. The problem still exists for communities with token-gated channels with many members. The current code in develop does something quite inefficient: it fetches the communities, then transforms them recursively with js->clj and keywordizes keys, then transforms again all the potentially thousands of member IDs back to strings. This PR changes this. We now shallowly convert a community and ignore members because they can grow too fast. From artificial benchmarks simulating many members in token-gated channels, or communities with thousands of members, the improvement is noticeable. You will only really notice improvements if you have spectated or joined a community with 1000+ members and/or a community with many token-gated channels, each containing perhaps hundreds of members. What's the ideal solution? We should consider removing community members and channel members from the community entity returned by status-go entirely. The members should be a separate resource and paginated so that the client doesn't need to worry about the number of members, for the most part.
status-im/status-go@2bbdb35...2bbdb35 * add v2 method * rename v2 to get-suggested-route * remove timestamp check on success * handle async signal for suggestion * fix stop get suggested routes * address feedback * rename get-suggest-route * prefer lazy seq * fix formatting * update suggested routes success * refactor get-in calls in start-get-suggested-routes * move transformations to data store * clean suggested routes immediately * fix lint * pass precision as ar * change test name * fix big number division error (issues 1,2) * only trigger router fetch when there address (to/from) * check response data for error response when routes received via signal * update status-go * fix: test failure * update status go * handle error message for generic errors
…requests gracefully (#20799) * 🥅 Filter connected dapps based on testnet mode - Fixes #20794 * 🥅 Remove map, just filter * 💿 Rebase * ❌ Remove greedy fetch * 🙅♀️ Properly reject proposals and requests * 🎗️ Remove newline and move `set` - `set` was applied at the wrong place here * ✏️ Address review comments * 👀 Read proposal to reject from state *◀️ Bring back network filtering * 🧹 Cleanup * ✏️ Move comment around * 🎣 Use filter operable accounts helper * ➕ Add back events deleted during rebase * 🧰 Fix Issue 2, Testnet sessions not visible * 🖊️ Fix lint * 🔗 Make testnet filtering more explicit * 🥢 Use union instead of two subsets call * ✏️ Fix lint * 🔇 Undo changes that creeped in an unrelated ns
In this commit: - we set `ANDROID_ABI_SPLIT` to `true` - we set `ANDROID_ABI_INCLUDE` to `arm64-v8a` for debug & PR android builds - release builds would still contain `armeabi-v7a;arm64-v8a` and there is no change for E2E android builds - we point to relevant changes in `status-jenkins-lib` which also introduces a size check for this `apk`. The agreed threshold is 100 MB.
32e9eab
to
c156225
Compare
status-im/status-go@2bbdb35...9755b3d Co-authored-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
Co-authored-by: Jamie Caprani <jamiecaprani@gmail.com>
* feat: removed wallet connect feature flag * fix: show pending requests when logging out and in * fix: don't show requests across (test/main)nets * format: added env newlines * fix: network state reset on network type change * fix: reject typed-data if wrong chain-id * chore: added logs for future debugging
f3b0726
to
218087c
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ain't nobody got time to read all this shit.
92% of end-end tests have passed
Failed tests (3)Click to expandClass TestActivityCenterContactRequestMultipleDevicePR:
Class TestDeepLinksOneDevice:
Expected to fail tests (1)Click to expandClass TestWalletOneDevice:
Passed tests (47)Click to expandClass TestCommunityMultipleDeviceMergedTwo:
Class TestOneToOneChatMultipleSharedDevicesNewUiTwo:
Class TestActivityMultipleDevicePRTwo:
Class TestOneToOneChatMultipleSharedDevicesNewUi:
Class TestActivityCenterContactRequestMultipleDevicePR:
Class TestGroupChatMultipleDeviceMergedNewUI:
Class TestWalletMultipleDevice:
Class TestWalletOneDevice:
Class TestActivityMultipleDevicePR:
Class TestCommunityMultipleDeviceMerged:
Class TestCommunityOneDeviceMerged:
|
@ilmotta thank you! we're ready to update the branch and start testing |
@churik, it would be good to cherry pick at least this PR about fallback pairing status-im/status-go#5627. The pipeline is already running on the status-go side, if it passes should take 50min more.
Will update 👍🏼 |
@ilmotta we didn't check it on the client side. are you sure that it is working? |
I have tested and it works, but it's safer if you can help test it separately 🙂 |
* fix(wallet): fix bridge transactions Signed-off-by: Brian Sztamfater <brian@status.im> * add support for approve transactions Signed-off-by: Brian Sztamfater <brian@status.im> --------- Signed-off-by: Brian Sztamfater <brian@status.im>
218087c
to
46c1507
Compare
Summary
Update the release branch https://github.com/status-im/status-mobile/tree/release/2.30.x with ALL changes in status-mobile
develop
since revision a1784c5.status: ready