6 Commits
Author SHA1 Message Date
Sale Djenic 5441359bb3 feat(accounts): add wrapped-DEK envelope and profile secret resolution 2026-08-21 21:19:21 +02:00
Igor Sirotin 23febf1645 refactor: dissolve the root common package
`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
2026-08-20 20:59:45 +02:00
osmaczkoandIgor Sirotin 67f8720f54 refactor: remove deadcode (#7279)
Remove code reported by golang.org/x/tools/cmd/deadcode.

Co-authored-by: Igor Sirotin <igor@logos.co>
2026-08-14 09:36:13 +01:00
Jonathan Rainville 8d01427a4a perf(login): speed up login
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
2026-08-04 11:28:33 -04:00
8082fea1d4 chore: merge branch 'release/10.34.x' into develop (#7453)
* 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

fixes status-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

fixes status-app/status-im#20767

* fix(wc): recreate ws connection on start

* fixes broken wc after restoring from the background

fixes status-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>
2026-05-20 09:54:59 +02:00
Igor Sirotin 6c9070fbe9 refactor: project layout (databases, abi-spec, connection) (#7205)
* chore: move databases to internal/db

* chore: move internal/db/sqlite

* chore: internal/abi-spec

* chore: move internal/connection

* chore: internal/circuitbreaker

* chore: internal/transactions

* fix: rebase issues
2025-12-15 12:01:03 +00:00