Commit Graph

2349 Commits

Author SHA1 Message Date
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.0
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 6420f0cd55 Make text part of the checkbox also toggle the check. 2026-03-03 22:09:16 +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 542acbb2f4 Replace menu with popup for better usability.
This avoids problems with needing to tap it twice to show and allows for
better reuse of our own components and makes sizing and positioning not
black magic.
2026-03-01 13:01:29 +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 7021a18f93 remove unneeded import. 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 5c93fb25b1 Cleanups
Remove irregular usage of semicolons and use open() for readability
2026-02-25 16:04:42 +01:00
tomFlowee 16020e8e8d Avoid overlapping text
When the title and the 'current value' text are both long, typically
with a huge font selected, they now avoid overlapping by moving the
value label down.
2026-02-25 16:04:42 +01:00
tomFlowee d3a36346af Port create_directories to std 2026-02-22 12:28:56 +01:00
tomFlowee ab59275d44 Import spanish translations from Crowdin 2026-02-17 18:44:51 +01:00
tomFlowee 693c77e67f Fix typo
Auto-complete-o ?
2026-02-16 23:35:00 +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 e676015393 Fix off by one in unit test. 2026-02-14 16:55:23 +01:00
tomFlowee 00ef9c520b Update Dutch translations. 2026.02.1 2026-02-14 13:23:15 +01:00
tomFlowee 1c031189bc Filter out the native name for settings 'value'
List the native name only of the display list in order to help keep it
short. This uses some string manipulations to remove the stuff we don't
need.
2026-02-14 13:23:15 +01:00
tomFlowee 0f78ac53dc Rename 'enabled' to 'on' for terse values. 2026-02-14 13:23:15 +01:00
tomFlowee 3039d727c8 Add new feature, select UI language 2026-02-13 20:53:08 +01:00
tomFlowee 46c6f801d4 Add a timer with markSeen for the desktop too. 2026-02-13 18:26:23 +01:00
tomFlowee 17df2ebe56 Improve the desktop unseendelegate look 2026-02-13 18:25:52 +01:00
tomFlowee d25ad755ca Clean up semicolons 2026-02-13 17:42:23 +01:00
tomFlowee de115fbb7b fix appendTransactions to update the 'hidden' tx count 2026-02-13 17:26:25 +01:00
tomFlowee e5fef98a42 UX fixes, make Android text input smoother. 2026-02-13 14:05:21 +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 7fd5805399 Avoid progressbar on unreadable wallet
This avoids the "i'm starting" animation on an encrypted (unopened) wallet
2026-02-12 20:11:32 +01:00
tomFlowee e44e8e18c3 Indeed start the store after restore. 2026-02-12 19:39:57 +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 0081e76c96 Revert "Make loading screen slightly less boring."
This reverts commit d4cc77c17c.
2026-02-11 13:46:40 +01:00
tomFlowee d4cc77c17c Make loading screen slightly less boring. 2026-02-11 13:27:28 +01:00
tomFlowee 0159cd59cd UX; clarify 'seen transactions' row
This makes the line be much clearer about it being about the items below
it, marking the step from 'seen' to new transactions.
2026-02-10 17:25:17 +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 7bd64274fe Update Layout and add text field for filtering. 2026-02-10 13:55:49 +01:00
tomFlowee 470f88f72a Remove unneeded ;s 2026-02-10 13:55:49 +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
tomFlowee 876120f3f7 Make comment copying declarative
The functional version didn't cover the comment needing to be copied
when the payment went through on instant pay.
2026.02.0
2026-02-06 11:55:09 +01:00
tomFlowee 3d2865dc4c Remove unneeded includes 2026-02-05 22:22:34 +01:00
tomFlowee 1ad1ad5fac Add locks for these reimplemented virtual methods
We don't know for sure if they are called in 'our' thread.
Better safe than sorry.
2026-02-05 22:22:24 +01:00
tomFlowee 32d9e2753a Keep periodic payments exchange rate up to date. 2026-02-05 22:21:28 +01:00
tomFlowee 8452234e47 Add a close button to the edit of price. 2026-02-05 17:50:21 +01:00