This actually checks the need for downloading more headers,
then decides on which headers to download (from which known checkpoint,
really) and downloads them to a file.
Plugins can be plugged into the main menu and the send menu already,
this adds the ability for a (section of a) plugin to be loaded as
custom component in the main app, among others.
Seems that the problem we saw on Android is also present on
Linux and Wayland.
A lot of components no longer use the palette which makes it
not possible to use them as-is with our light/dark theme feature.
This changes the many components to the Flowee specific ones
where we already solved this for the Android UI.
This follows the re-designed the 'import wallet' to
now have the same design and featureset from mobile also on
desktop.
The 'new-wallet' pages in general have also been changed as to
avoid wasting most of the space on the advertisment style
content and aim to have a vertical design so we avoid forcing
people having to scroll.
In case the configure step found the QtMultimedia libs, we also
include the camera / QR-scanner functionality in the desktop
app since users may use a laptop which contains a camera.
Make the selector more compact, Instead of showing empty space, make
the size just fit the actual content.
This makes it more usable on mobile layouts.
Also improve the UX of the NewAccount page on mobile, less implicit text
and more explicit intention based titles.
Last, make the title-label's font scale to fit the size it is given.
This completely re-designed the 'import wallet' screens on
mobile.
We use the various new features available now, most importantly the
ability to detect derivation and start-height from an electrum
indexing server.
We now get an actual endpoint from the IndexerServices which is handed
to the ImportHandler for remote services.
This also includes a bunch of bugfixes and basic 'make it work' stuff.
Fix ComboBox general colors to fit in the theme.
This also adds enabled usage, so the enabled comboboxes fall in
line with the textfield color settings, same for disabled ones.
We also added a focus indicator.
This moves the component out to its own file while fixing some UX
issues.
* It is now always visible for (UI) discovery purposes.
* When we paste when there is no matching text we show negative
feedback.
This does not hardcode any indexers, as that would be fragile as
well as painting a bulls-eye on the backs of the server operators
for ddos targets.
Instead this reuses the same concept from Satoshi's Bitcoin. We have
DNS feeds (currently only one) maintained by a crawler.
This finds us a handful of Electrum servers.
We connect to one of those to find more servers, notice that this is
not SSL encrypted because we only have an IP address at that time
while SSL wants a hostname.
This quick connection over plainnet is there just to fetch the
server list known to the server, we can then open an SSL connection
to any of those.
This is purely a future-proofing measure, don't accept transactions that
are likely to be handled differently than todays transactions.
Since the May 2023 upgrade versions other than 1 or two are not allowed
on-chain, but before that some version 4 transactions were mined (and some
negative numbered ones longer ago).
Talks about a version 10 transaction has started, so make sure this software,
if it is still running at someone's machine, will already reject higher
version transactions because we can't know if they are compatible or not.