Commit Graph

738 Commits

Author SHA1 Message Date
tomFlowee 18adf5f63f Add all wallets option to the RepeatPaymentsModel
And the planned payments tab on mobile uses it to filter on the selected
wallet. Or show for all wallets.
2026-03-15 19:44:56 +01:00
tomFlowee e30f86fd8a Also make visual NFTs follow 'all wallets' concept
This includes us moving the population of visual tokens to be placed by
a QML file instead of in C++, which was what we wanted anyway.
2026-03-15 17:52:17 +01:00
tomFlowee ac74aa90bb Tie the 'all wallets' to fungible tokens backend
Only show fungible token UTXOs that actually are in the selected wallet.
2026-03-15 14:57:30 +01:00
tomFlowee e5be95b472 New release version 2026-03-13 20:33:36 +01:00
tomFlowee 8f69779d53 Add GUI option to enable/disable the token UI. 2026-03-13 20:21:30 +01:00
tomFlowee 9ef814f179 Bugfixes to make nfc download and display work. 2026-03-13 18:53:02 +01:00
tomFlowee 8623302b31 Make Image NFTs show up.
This adds a lot of plumbing in the TokensManager and MetadataRepository
to parse the data we have and extract what we need.
The actual visual display is rather simple, this is expected to evolve
as this becomes more nature. For now this works and that is the
important part.
2026-03-12 21:26:43 +01:00
tomFlowee 91e0b2d31c Minor fixlets for tokens/bcmrs 2026-03-07 23:55:39 +01:00
tomFlowee a3e0ec6eaa Fix compile on Android
Seems my IDE inserts the include in stupid location.
2026-03-07 15:40:39 +01:00
tomFlowee a901afc4ee Make tokentabs layout static for now. 2026-03-07 15:40:13 +01:00
tomFlowee 338a81c948 Make the per-token image show in the UI 2026-03-07 14:07:38 +01:00
tomFlowee aedb67ae67 Add download of image and bcmr json
We take into account the server thinking this is a scam token and avoid
downloads based on that.
The image and bcmrs are downloaded from the caching server, based on the
information from the main (info) json.
2026-03-07 13:54:49 +01:00
tomFlowee 81ab3821e1 Make the layout not so ugly. 2026-03-06 22:01:39 +01:00
tomFlowee a10d561de8 Tie tokens and metadata to the UI 2026-03-06 21:08:37 +01:00
tomFlowee 7cd152eb8d More BCMR work. 2026-03-06 19:11:47 +01:00
tomFlowee a212c77e8f Add keeping the index up to date with http head checks. 2026-03-06 11:46:35 +01:00
tomFlowee 2b92e1273c Do a bit of downloading. 2026-03-05 23:59:34 +01:00
tomFlowee bcf6b6e39d Merge branch 'master' into ct 2026-03-05 14:05:17 +01:00
tomFlowee 09546c5418 Defensive programming.
The idea of sending a transaction as a background process is a bit risky
when the OS can decide at any moment to kill the process. Following
yesterdays code this adds to the security where we make sure we store
the new transaction on disk before we (async) broadcast it to the world.
Making a restart later have the right information to continue without
problems.
2026-03-04 13:29:29 +01:00
tomFlowee 2be18bc4d2 Update to new month 2026-03-03 23:26:56 +01:00
tomFlowee 6458185eed Revisit sending repeat payments in the background
This makes the process a bit more mature where we now take
care to only start the repeat payment sending when a wallet
has reached the chain-tip.
We also double check that the payment hasn't already been sent
in order to make extra sure we don't create duplicates (don't trust
that the OS won't kill us at an inconvenient time).
And last we patiently wait for the subsystem that monitors the
transaction broadcast status to give the all clear before shutting
down the application.
2026-03-03 23:26:14 +01:00
tomFlowee 1bec3d2ecd Make log output appear on Linux console. 2026-03-03 22:09:16 +01:00
tomFlowee 82f236eabc Fix self send transactions not showing up 2026-03-03 22:09:16 +01:00
tomFlowee fc3af9d171 UX; rename repeat payment 'disable' to 'pause'.
This makes more sense in the context of payments.
The main UI also has a delete option which makes the set complete.
2026-03-02 10:43:47 +01:00
tomFlowee fdfea02669 Add 'disable' action to Android notification
When a repeat payment is detected to soon be eligable for sending, but
the user has not approve it yet, we show a notification from the
background process to entice the users to go and approve it.

This popup now also carries a 'disable' text which disables the repeat
payment, effectively shutting up this and further notifications.

The tricky part to make this work is that the notification is showing
while the application is (likely) not actually active.

This takes the strategy that the notification carries some extra
details. Among others a newly introduced unique id for a notification
itself, and also some text to show on actually processing the disable
action.

The processing just writes a file, to avoid complexity and side-effects.
The file will then be read on start up (either foreground of background)
to action on the lines in there. So the item will be disabled on first
load.
2026-02-25 16:04:42 +01:00
tomFlowee 3337d36ee7 Also implement the deletion of a repeating payment 2026-02-25 16:04:42 +01:00
tomFlowee 0c71055319 Add hamburger menu to enable/disable the repeat payment 2026-02-25 16:04:42 +01:00
tomFlowee d3a36346af Port create_directories to std 2026-02-22 12:28:56 +01:00
tomFlowee f24a3e05e9 First draft of MetadataRepository classes. 2026-02-22 12:28:35 +01:00
tomFlowee daecc375ee Pass in basedir. 2026-02-21 15:13:06 +01:00
tomFlowee 79245157e3 First draft for a widget 2026-02-17 21:00:12 +01:00
tomFlowee 767d8d136f Add loading and saving to tokens manager. 2026-02-17 19:09:14 +01:00
tomFlowee 34e4a8784c Allow receive screen to use token addresses. 2026-02-17 18:43:40 +01:00
tomFlowee 8703f1f998 Also create the TradableToken instances. 2026-02-16 23:34:23 +01:00
tomFlowee bccd06e510 Figure out how to extract token data from our wallets. 2026-02-16 22:48:36 +01:00
tomFlowee 02469f5831 Merge branch 'master' into ct 2026-02-16 16:43:30 +01:00
tomFlowee 3d2911eb08 Port to new ZXing version 3
The new ZXingCpp release is out, it is a major version (v3) and
it has broken source compatibility towards version 2.

The good news is that we can actually cut out quite a lot of
boring code which is now done in the upstream project.

But to actually benefit from better readability I think the best
approach is the "isolate the old" idea. So this copies the v2
compatible file to CameraController_zxing2.cpp QRCreator_zxing2.cpp
We'll have code duplication that way, but it will never be compiled
into the same binary and indeed we'll just be cleanly able to
delete the old support when that time comes.
2026-02-16 15:35:58 +01:00
tomFlowee f3c8200544 Start with a configurable sheet of gui. 2026-02-15 22:20:19 +01:00
tomFlowee 3039d727c8 Add new feature, select UI language 2026-02-13 20:53:08 +01:00
tomFlowee de115fbb7b fix appendTransactions to update the 'hidden' tx count 2026-02-13 17:26:25 +01:00
tomFlowee 3a8198585a Improve markSeen to now actually remove the line.
Also some other features/fixes.
2026-02-13 13:13:35 +01:00
tomFlowee bca426f2be Update version 2026-02-12 23:10:04 +01:00
tomFlowee 84221a3164 Persist 'last seen' bar index.
This makes the "new transactions above this line" concept more coherent.
We now save the last known transaction in the model, which is only
loaded in the GUI version of Pay.
Then if new transactions are found (or created) in the background runner
then the next time we start Pay, they will be marked as such.

This also adds some logic to the UI to detect that the history is
actually the visible component right now, and if it is then we start
an 80 second timer that, after expiring, will reset the last seen to
the most recent transaction.
2026-02-12 23:06:58 +01:00
tomFlowee 9f54adeb13 Sync modules config loading.
Move the module manager loading to also wait for the unlocking of the
data dir.
2026-02-12 16:39:42 +01:00
tomFlowee 42beac39c6 Change lock to wait instead of notify
We already check for duplicate running, instead of showing the non
functional UI, this changes to instead wait for the lock to become free
after which we run the 'init' and load all the data.
2026-02-11 20:24:41 +01:00
tomFlowee 7aae34ff87 Fix repeating older months as sections. 2026-02-10 17:09:12 +01:00
tomFlowee f6b33dd37c Add text-clear button and update filterCount 2026-02-10 17:09:10 +01:00
tomFlowee 6800514c3c Also add filtering on txid and blockid to find tx's. 2026-02-10 13:02:51 +01:00
tomFlowee 8fbef45073 Improve (user) search.
This rearchitects the search quite a bit in order to allow searching for
addresses while they are being typed, before they validate as correct.
2026-02-09 22:46:15 +01:00
tomFlowee 1ce79ea30f Follow the API review of CashAddress
This follows the renames of properties and methods for more readable code.
2026-02-09 15:34:10 +01:00