-
Notifications
You must be signed in to change notification settings - Fork 48
[DRAFT] WIP Qml Load Snapshot Onboarding #449
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
base: main
Are you sure you want to change the base?
Conversation
I just tested this, screenshots of my journey are below. There are various visual tweaks that need to be done to match the design, but those can be done in a follow-up PR. The auto-refresh for when headers are synced is nice. I don't think we covered this state ("headers are syncing") in the design, we should make sure to add it in. Functionality-wise, the only problem I had was getting a snapshot file that works. The magnet link in the description did not have enough peers, and the one I downloaded here also did not work. Gee then directly sent me the file and that worked. When using the wrong file, I was expecting a proper error message, but did not get one. The screen just went back to its original state. We should make sure to have good errors here, so people know how to do things correctly. Important requirements that people might frequently stumble over could also be put in the description. I'll leave it to others to decide whether to merge this in or not, based on more technical evaluations and PR planning. |
Thanks @GBKS for testing and reviewing the design! I have incorporated your feedback in #424 since that one has been undrafted. Will update this PR with the error handling next. |
- This introduce the UI flow to load a AssumeUTXO snapshot - It modifies the connection settings - Adds a SnapshotSettings file, Icon, and modified progress bar. - Also it adds error page on snapshotloading failure
- Extend node interface with virtual functions for UTXO snapshot loading - Add signal mechanism to monitor snapshot loading progress - Include predefined signet UTXO dataset in chainparams for validation
- Add SnapshotQml class to encapsulate snapshot loading operations - Integrate QML properties for UTXO snapshot management - Wire up snapshot loading functionality with node interface
- Update visibility conditions in ConnectionSettings and SnapshotSettings to enable loading during onboarding. - Introduce new methods in NodeModel for handling snapshot file paths and loading logic based on header sync status. - Ensure snapshot loading is triggered appropriately when headers are synced and a snapshot file path is set. - Adds error handling on snapshot failure.
5e0f7b4
to
cac8de9
Compare
Based on #424. This is a WIP.
UTXO Snapshot Loading with Onboarding Support
Overview
This PR enables loading a
signet
UTXO snapshot at height 160,000, during the initial onboarding process.What This PR Does
Implementation Details
Core Components Modified
src/qml/models/nodemodel.cpp
)src/qml/components/SnapshotSettings.qml
,src/qml/components/ConnectionSettings.qml
)Key Design Decisions
Testing Instructions
Test onboarding flow:
Verify (see screenshots below):
Ubuntu 22.04 Screenshots
Expected Behavior
Notes for Reviewers
Snapshot Compatibility
signet
UTXO snapshotm_assumeutxo_data
(the changes there can be discarded once synced since
m_assumeutxo_data
is already hardcoded)feedback welcome on the approach and implementation details.