`common` was a grab-bag with no domain: the issue's own preamble names
it as the kind of package that must not exist. Every symbol moves to the
package that owns it, and the directory is deleted.
common/dbsetup -> internal/db/dbsetup
common/devices.go -> internal/platform
common/pausable*.go -> internal/pausable
LogOnPanic -> internal/panics
TruncateWithDot(N) -> internal/logutils
RecoverKey, ValidateDisplayName, display-name errors -> protocol/common
IpfsGatewayURL -> internal/ipfs.GatewayURL
Archives/TorrentTorrentsRelativePath, MainnetEthereumNetworkURL -> params
StatusService -> pkg/backend/node
ErrBigIntSetFromString -> services/wallet
IsNil, Ptr -> inlined at their call sites
IsENSName -> deleted, it had no callers
Notes:
- LogOnPanic gets its own package rather than living in logutils. It
reports to Sentry, and logutils is imported by nearly everything: put
the guard in logutils and the Sentry SDK lands in every dependency
graph in the tree (213 -> 250 packages). internal/panics imports
logutils and sentry, which is the direction root `common` had.
- TruncateWithDot is log redaction, not string formatting: every one of
its 121 call sites is inside a log or error message, so it belongs
next to the logger.
- Moving RecoverKey and ValidateDisplayName into protocol/common removes
the common -> protocol layering inversion; all their callers were
already inside protocol/.
- Makefile lint-panics target follows LogOnPanic to its new path.
refs #7067
Part of https://github.com/status-im/status-app/issues/21462
- Open existing app and wallet SQLCipher databases concurrently, while preserving sequential initialization for new or legacy databases.
- Speed up account selection by preloading the profile keypair and decrypting only the chat private key instead of the full extended key.
- Defer token manager startup until after login completes and run it asynchronously outside the critical startup path.
- Load cached leaderboard market data asynchronously, waiting only when the data is accessed or the service stops.
Before: about 2.15 s for the backend login request
After: about 0.47–0.50 s
Improvement: roughly 1.65–1.70 s saved
Relative reduction: about 77–78%
Speed multiplier: approximately 4.3–4.5× faster
* chore: remove Polygon zkEVM chain (#7429)
* chore: remove status l2 sepolia (#7431)
* fix(wallet-connect): advertise wallet_switchEthereumChain (#7432)
Fixes#20697
* fix(connector): EIP-5792 methods + trusted-only eth_accounts auto-share on requestPermissions (#7428)
fix(connector): partial permissions revocation
fix(connector): parallel dapp requests races
fixesstatus-im/status-app#20591
* feat(connector): ephemeral dApp records (#7435)
* feat(connector): ephemeral dapp records
refs status-im/status-app#20676
* fix: copilot comments
* chore: more descriptive logging added to router package
* feat: implemented log file rotation for new sessions
Added functionality to rotate log files when a new session starts, while the logs from previous sessions
are also kept.
* fix: puzzle-auth providers should not depend on the presence/absence of basic-auth credentials (#7437)
* fix: puzzle-auth providers should not depend on the presence/absence of basic-auth credentials
If the same network has puzzle-auth and basic-auth providers an incorrect enable flag might be used
if there is no ethrpc/status proxy credentials set.
* chore: sync balance/activity fetching (#7438)
* chore: trigger activity fetch when balance updated
* chore: trigger balance update when activity fetched
* fix(wc): reconnect broken pipe
fixesstatus-app/status-im#20767
* fix(wc): recreate ws connection on start
* fixes broken wc after restoring from the background
fixesstatus-app/status-im#20767
* fix: copilot comments
* fix: shrink tests
* fix: use WCClientGetter
* wcclient is recreated when service is paused
* fix: readability
* fix: pr comments
* fix: flaky test
* fix: push notification migration
If the latest migration ran is not present then remove it
* perf: Enrich community members and contacts with visual identity (#7430)
For each community member and contact Status needs to wire another 4 RPCs to fully resolve the members and contacts. This commit adds the necessary info in the community members and contacts response directly.
Needed for: https://github.com/status-im/status-app/issues/20228
* fix(collectibles): disable ink, katana
fixes status-im/status-app#20717
* fix(collectibles): pr comments
* feat(wallet): skip TANGYUAN and POSI tokens on BSCMainnet
Added token keys for TANGYUAN and POSI to the SkippedTokenKeys list.
Closes#20860
* perf: Interrupt stats ticker and throttle mvds on messenger.pause
The messenger needs to keep only critical infrastructure while paused.
This commit stops the stats retrieval while paused - not used. And throttles the mvds datasync to 5 minutes. This means that the ack is confirmed once every 5 minutes (as opposed to 300ms) while paused.
Message sending is also disabled in this time frame.
---------
Co-authored-by: Anthony Laibe <491074+alaibe@users.noreply.github.com>
Co-authored-by: Andrey Bocharnikov <andrey.bocharnikov@gmail.com>
Co-authored-by: Alex Jbanca <47811206+alexjba@users.noreply.github.com>
Co-authored-by: Alex Jbanca <alexjb@status.im>