Commit Graph

738 Commits

Author SHA1 Message Date
tomFlowee 7da8bac289 Rename qml file 2025-03-03 13:58:05 +01:00
tomFlowee 3991869dfa Stop the service afterwards 2025-03-03 13:42:36 +01:00
tomFlowee a85f5e7894 Add background sync for Android
On Android this enables the application to run just a simple
quick sync and then exit the app on regular intervals.
The main benefit is that when the user doesn't run the app very
often they will avoid having a long sync time.
2025-03-02 19:57:02 +01:00
tomFlowee cf9c3f7191 Move the explore down
Since we have an explore tab, we can make this one be much less
visible.
2025-03-02 19:57:02 +01:00
tomFlowee 9c35049372 Start new app 'pay-headless'
this is a command line only application that syncs the wallets
and then exits.
2025-03-02 19:57:02 +01:00
tomFlowee 21eeab2f98 Add offline checking for Android.
Add logic to notice that the device is offline and notify the
user of this fact on screen.
Repeat checking so we can notify the user that network is back.

This shows in the UI (of the mobile form factor) that the device
is offline and we avoid starting the p2p layer until network
is detected to be there again.
2025-03-02 19:57:02 +01:00
tomFlowee 0e6dd39d2e Move platform specific code to platform files.
This removes the various ifdef based differences which are platform
specific and instead moves the code to a file that will only be
compiled for that target platform.

We also remove the backwards compatible 'darktheme-from-system' code
which is by now no longer needed.
2025-02-26 17:45:02 +01:00
tomFlowee 3d821d4be4 Add NewIndicator on socialFeedModule 2025-02-25 19:38:39 +01:00
tomFlowee 7b693e9a60 Add priority to modules for display purposes. 2025-02-25 17:04:13 +01:00
tomFlowee d9e6374ef6 new version 2025-02-24 22:28:16 +01:00
tomFlowee 4d921a2748 Make the list of addresses be cloaked by default 2025-02-24 22:20:59 +01:00
tomFlowee 7d675d26e6 fix comparison with different signs. 2025-02-24 21:25:32 +01:00
tomFlowee 8c8fbe2263 Check for 'already running'.
This adds a lock to ensure that the app is not started twice, which
would be bad for data consistency.

The second version will just show a simple window stating it is already
running. While it would be nice to make it more advanced, I don't think
that is useful to spent time and code on.
2025-02-24 18:22:22 +01:00
tomFlowee 6c3af0f3c1 Avoid number overflow issues
The backend still used an int for the fiat price, this is now a qint64.
Additionally the BitcoinValue now optimistically (pessimistically?)
converts the input with the current price in order to avoid a second
order overflow.
2025-02-17 15:07:01 +01:00
tomFlowee 3e2c247801 Remove the reindex idea again
The people that needed this have been able to use it, new wallets
really have no need for something as destructive as this feature.
2025-02-13 22:13:13 +01:00
tomFlowee 6420523847 Port asio to stop using deprecated methods. 2025-02-11 19:52:03 +01:00
tomFlowee eeba43969d new month, new version 2025-02-10 20:20:39 +01:00
tomFlowee ddd6266cbf Add in-app notifications 2025-02-10 20:17:31 +01:00
tomFlowee ede6093118 Ignore more txs for PaymentRequest
Transactions submitted that are older than an hour won't be used for the
PaymentRequest fulfillment. This is relevant when the user syncs the
wallet after being offline for a longer time.

Also ignore incoming transactions for a request when the request has no
price set. For those transactions we should really just have a generic
popup.
2025-02-10 12:32:27 +01:00
tomFlowee 63385c8a8c Follow upstream; port asio usage 2025-02-08 21:16:12 +01:00
tomFlowee b89570f0b5 The Ubuntu long term support ships too old Qt.
When Ubuntu released its 2024.04 release late April, they included
Qt 6.4 which was by then already old and out of support. For some
reason they did not include the Qt LTS 6.5 which at that point was
already out for a year.

So, people are stuck with a really old Qt that has been out of
support for a very long time already on ubuntu and derivatives
like mint.

(re) add a backwards compatible define to make stuff compile
on this old version of Qt.
2025-02-07 00:13:59 +01:00
tomFlowee b82bf5c753 Add quick recieve on lock screen.
This moves the creation of the portfolio to happen the moment we
finished loading. (wallets were loaded either way)
The networking is the part that now waits for the user to unlock before
it does anything.
2025-02-07 00:13:59 +01:00
tomFlowee 95ca9d02ce Add a small keyboard to unlock
The default now is a "small" one at the bottom that users will be able
to use with their thumbs. A common input way.
For fat-fingered people we keep the current full screen input widget,
easy to toggle by the button at the top which now is a 3-state and on
top of that gets rememebered between instantiations.
2025-02-05 16:39:43 +01:00
tomFlowee 300c6842ac Make user comment editable on first popup
This revisits the usage of the Info object and who owns it,
in order to increase the stability of the UI/UX

And, as said, it adds a way to edit the user comment directly
in the first popup in a nice user experience.
2025-02-04 16:58:15 +01:00
tomFlowee 705137e649 Make sure we put the time on historical transactions. 2025-02-04 12:12:34 +01:00
tomFlowee 383c9f7deb Check for more derivation paths. 2025-02-03 17:41:47 +01:00
tomFlowee 62b5465598 New version 2025-02-01 20:09:34 +01:00
tomFlowee 122234c2e3 Add getter to find a certain plugin, any section 2025-02-01 17:17:57 +01:00
tomFlowee 6c9f1c4651 Merge all the instances of QNetworkAccessManager
Instead of all places having their own copy and being wasteful
in that way, we move ownership of an app wide version to the
application singleton.
2025-02-01 11:33:54 +01:00
tomFlowee 0efd9463af Add searching all outputs for an address
This actually reads all the raw transactions from disk in order
to parse the outputs and compare it with the user typed address.

To my surprise, it's actually fast. 4000 transactions took 26ms
to filter.
2025-01-27 23:14:19 +01:00
tomFlowee 6b6f5383a0 Make free text search work in Desktop
It interprets block-id,
it finds on txid
it finds on (own) address
and it searches the comment.
2025-01-27 20:39:27 +01:00
tomFlowee a694e970e2 Show some feedback before we start the sync.
This now has a bit of a jittery bahavior when we're waiting on the
network and maybe to find some peers.
Going back to normal smooth progressbar behavior as soon as one block
has been downloaded.
2025-01-27 13:18:18 +01:00
tomFlowee a0856469b1 Fiat fixes
This removes Qt bug workarounds for a the old 6.5 we no longer use on
mobile.
This adds a new workaround for CHF as that somehow no longer has a
'symbol' set, so now we provide our own.

Also make sure we run a fetch when the user changes the currency.
2025-01-23 16:20:27 +01:00
tomFlowee a8ad9450f8 Move to next month 2025-01-07 20:40:38 +01:00
tomFlowee 5d93c0efb8 Clarify api docs. 2025-01-07 00:35:33 +01:00
tomFlowee fa4c49479d Clarify method name. 2025-01-06 15:00:35 +01:00
tomFlowee edcf1a403b Add wallet/backup new indicator 2025-01-03 17:54:49 +01:00
tomFlowee 560b62960b Add NewIndicatorProvider
This provides a backend for a 'new indicator' on menus we want to entice
users to open.
2025-01-03 17:54:49 +01:00
tomFlowee 91d7abcd44 Fix fresh new wallet showing it is in need of sync. 2025-01-02 18:50:48 +01:00
tomFlowee 44d3a267eb Improve API, make private method private 2025-01-01 17:35:36 +01:00
tomFlowee 0519317443 New version 2024-12-31 15:57:17 +01:00
tomFlowee cb46be382e Make the module icon show up on the Explore tab 2024-12-31 15:57:17 +01:00
tomFlowee 837bad6a13 Add Module section type; other-default
This section type means that the module will have it's icon shown in
the 'Explore' tab always, it can not be disabled by users and as such
it just becomes an overflow of the main app avoiding worry about a
module not being found.
2024-12-31 15:57:17 +01:00
tomFlowee 42df2fb2c8 Fix new wallet being marked as import for a little
This moves the decision if it is importing out of the wallet and we stop
using a broken heuristic.

Also cleanup the API usage of the hd masterkey format in the wallet
header.
2024-12-31 15:57:17 +01:00
tomFlowee 3ccd90cc4b Add most of the workflow to the bigtransfer module
We don't actually send any transactions yet.
2024-12-26 23:41:39 +01:00
tomFlowee 2fff1ebcb4 New version 2024-12-23 19:03:43 +01:00
tomFlowee e200766dda Split camera and intent out of the handling pages
In the send-sweep module as well as in the PayWithQR this removes
the UserIntent handling and instead moves that to the main.qml
exclusively.
Additionally in the send-sweep module the camera work is split
into its own page, like in the other parts of the app. This helps
us avoiding hacks when we want the main functionality without the
camera.

This is the last of the series of reworks, we should have all
former functionality working again.
2024-12-23 18:36:36 +01:00
tomFlowee 3e2c9b957c Remove unneeded repetition of defintions 2024-12-22 22:44:33 +01:00
tomFlowee 29fa685c09 Fix isPayment property for QR scanner page 2024-12-22 17:37:04 +01:00
tomFlowee 33799f0c1f Add new tab 'Explore'.
Continuing the 'rework send page' series.

This moves stuff that had no business being on the "Send" page to
live on a new tab instead. Prime example was the 'sweep' module
that creates a transaction we send, but to ourselves. So it's far
fetched that it fits in 'send'.
2024-12-22 17:23:27 +01:00