Skip to content

Scanning info screen#313

Draft
Sosthene00 wants to merge 10 commits intowallet_sqlitefrom
scanning_screen
Draft

Scanning info screen#313
Sosthene00 wants to merge 10 commits intowallet_sqlitefrom
scanning_screen

Conversation

@Sosthene00
Copy link
Copy Markdown
Collaborator

This address #187

When scanning, user can tap on the scan progress bar and open a new screen that display the following information:

  • progress bar
  • starting block
  • current block
  • last block
  • remaining blocks to scan

screenshots

photo_2026-02-28_21-13-26
photo_2026-02-28_21-13-18

@cygnet3
Copy link
Copy Markdown
Owner

cygnet3 commented Mar 1, 2026

Some thoughts about the scanning info screen topic:

  • Instead of having the scan info as a completely separate screen, I think using a Drawer (on the right side) would be nice. We can expand this drawer either by interacting with the scan bar, clicking the '>' arrow, or by clicking on the 'bitcoin' icon in the top right
  • Even when we're not scanning, we should still allow users to open this drawer by clicking the bitcoin icon and it will display a simple 'You're up to date' message, along with (maybe, if we want to) the block height or something
  • We can treat this screen as a general 'chain overview' screen. We could show blindbit connection status there, but we could also display some other cool stuff like the current fee rates

@Sosthene00
Copy link
Copy Markdown
Collaborator Author

Sosthene00 commented Mar 3, 2026

Some thoughts about the scanning info screen topic:

* Instead of having the scan info as a completely separate screen, I think using a Drawer (on the right side) would be nice. We can expand this drawer either by interacting with the scan bar, clicking the '>' arrow, or by clicking on the 'bitcoin' icon in the top right

That's possible, but I think that's contradictory with 3rd point, more on that below.

* Even when we're not scanning, we should still allow users to open this drawer by clicking the bitcoin icon and it will display a simple 'You're up to date' message, along with (maybe, if we want to) the block height or something

Definitely

* We can treat this screen as a general 'chain overview' screen. We could show blindbit connection status there, but we could also display some other cool stuff like the current fee rates

Ok now that's important. I think there are 2 choices here:

  • this new screen is a "simple" scan chain overview, with basic controls (pause, resume, scan a block range). If that's so then let's do a drawer.
  • We want a "chain overview" screen, then a drawer is not enough, let's have an independent screen accessible from settings with a shortcut on home screen (I think the ₿ at the top right hand corner of the screen is a good place for that). This screen should contain (in no particular order):
  1. current chain (mainnet, signet...)
  2. blindbit status (connected/offline) [1]
  3. Look for payments from ... to ... : open a calendar that let you pick a start and end date, either in a period you've already scanned or not, and scan just that period)
  4. background sync toggle on/off : not implemented yet though, but we should allow scanning to happen in the background, we need to look into the technical aspect of that)
  5. sync only on wifi toggle on/off
  6. when syncing: progress bar, start/end date, blocks/time remaining, pause/resume button
  7. how far we are lagging behind in scanning, maybe using time rather than blocks ("less than a day", "x days", "more than a month"...

The "scan just that period" feature is a bit tricky, but I think it's necessary for people to find out a payment they know they received, otherwise that's a bit of a bummer if they haven't opened the app for a while. Worst case is that we will waste scanning work by rescanning blocks we already scanned when doing the "normal" catch up. I've been thinking about that and I think we can mitigate that by keeping the user defined scan ranges in storage (no need for a db for that) and when doing the "normal" scan we read that in storage and skip blocks that we already scanned. The lastScan logic stays inchanged. It's a bit of work, but I think it's not that bad either.

[1] Actually we may allow multiple blindbit instances, it would help scanning reliability in case one of the blindbit is offline/slow on network, and it would also boost the trust since we don't seem to rely on a central backend anymore.

@Sosthene00 Sosthene00 force-pushed the wallet_sqlite branch 3 times, most recently from d147463 to a87a3f8 Compare March 19, 2026 05:54
@cygnet3 cygnet3 force-pushed the wallet_sqlite branch 2 times, most recently from 64a0ab1 to 6a769d5 Compare March 23, 2026 12:22
@Sosthene00 Sosthene00 force-pushed the wallet_sqlite branch 3 times, most recently from fd1bfa3 to 0f37eb7 Compare March 25, 2026 13:50
@Sosthene00 Sosthene00 force-pushed the wallet_sqlite branch 3 times, most recently from a1bf52d to ed4f586 Compare March 26, 2026 14:08
@cygnet3 cygnet3 force-pushed the wallet_sqlite branch 2 times, most recently from 669c815 to 4e9f112 Compare March 30, 2026 13:48
@Sosthene00 Sosthene00 marked this pull request as draft March 31, 2026 12:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants