Commit Graph

1822 Commits

Author SHA1 Message Date
tomFlowee 63e7f988f6 Fixlets for fiat price changes pane. 2024-02-28 11:45:16 +01:00
tomFlowee d07a8f3355 new version 2024-02-27 19:42:39 +01:00
tomFlowee d1dc483b18 A little counter balance for big bloom filters
Last year I increased the bloom filters to make sure that bcom wallets
could be imported with their weird behavior.
The side-effect has been that wallets imported that have 3K addresses
and up start to have massive amounts of false-positives on their bloom
filter during import.
So while the hacks done before were for wallet vendors intentionally
keeping their list of private keys small (100 or so), we know we can
thus turn off said weird workarounds when the wallet is in actual fact
much larger. And thus save bandwidth.
2024-02-27 19:41:35 +01:00
tomFlowee 15411010b0 Avoid rollback when not needed
This now uses a shared-pointer and moves the creation to the point where
we know the new data is actually a transaction for us, avoiding work
when the bloom filter caught a transaction not actually for us.
2024-02-27 19:41:09 +01:00
tomFlowee 920e5d470c Split bloom filter and private-key ownership.
Now we view the creation of more private keys, and how many, as a
separate concept as the bloom-filter 'gap' counts.

This cleans up the concepts of bloom filters, we now use the
design as documented on;

https://codeberg.org/Flowee/pay/wiki/dev/bloom
2024-02-27 16:07:02 +01:00
tomFlowee fc407ee7f2 Improve debug output features. In debug builds.
This removes the 'debug' logging (again) in non-debug builds,
but it also adds a new 'debugFile' argument where the user can
point to the logs.conf (as used by all flowee server components)
which allows setting of log levels per section, and more.
2024-02-26 23:09:56 +01:00
tomFlowee 6e2eb8797a Fix typo. 2024-02-14 00:23:47 +01:00
tomFlowee a2560d98a7 Separate 'singleAccount' concept between UIs
The isSingleAccount property controls if the UI is simple or more
complex.
The single account setup doesn't show you that you have any concept on
differnt accounts at all. No account chooser etc.

On Desktop, however, we choose to always show the archived wallets
anyway. Even though its not in-your-face. Which makes the behavior
between those UIs slightly different.
The addition of the limitedArchiveView property is meant to
facilitate that.
2024-02-14 00:02:53 +01:00
tomFlowee 04c4c7ec03 Avoid using a not existing account 2024-02-14 00:02:53 +01:00
tomFlowee e127574b7a Improve keyboard usage of listViews
The page-up/page-down now actually scroll a significant chunk of a
page and not an annoyingly small distance.

As we scroll, we make it a point to show the ScrollBar-thumb in order
to give the user feedback on where in the list they are.
2024-02-14 00:02:53 +01:00
tomFlowee 6312a468af Improve the entry of pin and numbers. 2024-02-14 00:02:53 +01:00
tomFlowee 19b8c497cf Improve text
The help text now is more clear about how the payment may be started.
2024-02-13 14:25:54 +01:00
tomFlowee d6bde257cc Fix components scaling
We simply use the font size, which is our basic scaling system anyway.
This avoids sizing issues for really large fonts when items start taking
multiple lines.
2024-02-12 23:55:12 +01:00
tomFlowee 347a23bc72 Make the PIN panel take more space
This makes entering the PIN much easier simply because we use as much
space on the screen as there is available.
2024-02-12 23:20:36 +01:00
tomFlowee 1ec24150c1 Add icons and colors to the placeholder buttons. 2024-02-12 23:01:14 +01:00
tomFlowee b8d650b9b3 Add UI scaling to desktop 2024-02-12 23:01:14 +01:00
tomFlowee 8c0210b0fe Add content to desktop TransactionDetails screen. 2024-02-12 23:01:14 +01:00
tomFlowee c6e626ea01 Slight code cleanups 2024-02-12 23:01:14 +01:00
tomFlowee 2ccbb62377 Remove no longer needed versions
General cleanup.

Qt5 had the need to add versions to imports, this has (for
very good reasons) been removed from Qt6.

This removed the versions from the import lines.
2024-02-12 23:01:14 +01:00
tomFlowee bc7891757d Make the TransactionInfo on desktop better
This follows the general idea and design from mobile,
but adapted for the desktop form-factor.
2024-02-12 23:01:10 +01:00
tomFlowee f06add936e Small UX fixes
The main font on Android seems to not ship with 'semi-bold' on
various devices. Which means that the title just was the same
as the content and while I like subtlety, in this case if failed.
Better to go with bold than with no difference at all...

Additionally small spacing / sizing fixes.
2024-02-11 17:52:54 +01:00
tomFlowee dfa96a79a5 Handle transactions being deleted while scrolling. 2024-02-10 21:56:59 +01:00
tomFlowee 3a254cdb69 Add mutex lockers where the m_wallet is used. 2024-02-10 21:56:59 +01:00
tomFlowee f0c9db2703 Improve debug logging slightly 2024-02-10 21:56:59 +01:00
tomFlowee c48f8500b5 Fix virtual transaction showing up in some cases
In very rare cases on flusing the 'new since' feature we'd end up with a
virtual transaction created at the bottom of the list.
We now avoid this.
2024-02-10 21:56:59 +01:00
tomFlowee 523499cf7d Fix the 'archive' button not showing up.
We now fix archive being there when it makes sense, and
also fix the focus being lost after toggling the archivi-ness of a
wallet. Which means that hitting 'Ctrl-Q' will correctly close the app
after.
2024-02-10 21:56:59 +01:00
tomFlowee a6af4c8771 Remap 'tried' to a more logical backing value.
This changes 'tried' being about the amount of peers we actually
handshaked with to the amount of peers we tried to connect to at all.
2024-02-10 21:56:59 +01:00
tomFlowee 3872b7a8ba Have the thumb be grabbable while its hiding.
The 200ms hiding animation now triggers the thumb to not be grabbably
only after it completes, not when it starts.
2024-02-10 21:56:59 +01:00
tomFlowee a8c9fdca29 Add asserts and avoid duplicate work
When a wallet is updating we may get a lot of new transactions added in
a short amount of time, this avoids calling updateMap for each one in
turn and instead triggers an update only if there isn't one in-flight.

This takes advantage of the fact that the wallet does its update in a
different thread than the UI-one.
2024-02-10 00:28:00 +01:00
tomFlowee 61ff5172d7 Add asserts and ensure thread-safety.
Add asserts making sure we're only called in the GUI thread.
Add missing mutex locks.
2024-02-10 00:28:00 +01:00
tomFlowee 30c29fd364 Add asserts to make requirement clear. 2024-02-10 00:28:00 +01:00
tomFlowee 037aff628b Move the paste/flash buttons on the scanner screen.
The newer Android versions overlay a "Flowee Pay pasted from your
clipboard" text.
The location is dependent on model, but generally it is located at the
bottom.
So avoid the chance when the paste button is under that helpful OS text.
2024-02-10 00:28:00 +01:00
tomFlowee 2391de723f Make Blur an optional component
As we still support older versions of Qt, this moves to load
the MultiEffect (blurring specifically) dynamically and avoids
the entire project failing if the effects module is not found.

The effects module was introduced in Qt6.5
2024-02-10 00:28:00 +01:00
tomFlowee 2facea90d8 Make this compile with older ZXIng libs too 2024-02-10 00:28:00 +01:00
tomFlowee 539d52820e update build instructions 2024-02-04 15:53:03 +01:00
tomFlowee 073ffe6e3b New feature; show fusion icon on TransactionDetails
When an input used in a transaction comes from a cash-fusion
transaction, we now put the CF logo next to it in order to
make this fact clear to the user and allow them to understand
how tracable this specific payment was.
2024-02-03 23:52:27 +01:00
tomFlowee 3599385784 minor spacing tweaks 2024-02-03 23:36:44 +01:00
tomFlowee b24a939b93 Be nice to devs. 2024-01-30 17:22:12 +01:00
tomFlowee 87d5789bc7 Move the property to the right location 2024-01-30 17:21:57 +01:00
tomFlowee b842c401d9 Increase Android version 2024.01.3 2024-01-28 20:12:29 +01:00
tomFlowee 4f23501908 Fix some possible memory corruption issues.
Use deleteLater for the QObject

Use sender() in the slot instead of assuming that the class member still
points to it.
2024-01-28 20:11:46 +01:00
tomFlowee 437ee5634d Don't assert that isn't really a problem.
Hit this assert when I had the app open in the debugger for
some minutes.
2024-01-28 20:02:36 +01:00
tomFlowee 2d55f1b508 Avoid exception.
Simplify the loop by using lock() on the std::shared_ptr, which doesn't
throw.
Also follow the API change in the libs and some deeper introspection for
the actual connection status.
2024-01-28 20:01:56 +01:00
tomFlowee 2eff679495 Improve list UX
We add animations on remove and give an indication of connectionid
2024-01-28 19:58:27 +01:00
tomFlowee 34b676d043 Make the un-finished connections show lighter too 2024-01-28 15:28:51 +01:00
tomFlowee 483b8455b2 Improve TransactionDetails screen
* make it much faster for large transactions to open by not drawing and
then hiding the inputs/outputs that are not relevant to us.

* Allow expanding cloaked addresses by clicking on them.
* instead of a right mouse button menu, show a copy icon next to each
address.
* Add the chainprefix to the clipboard on copy.
2024-01-28 14:42:53 +01:00
tomFlowee 0fadec043b Make this method also work for transactions I receive
This now finds if there is a single output address we can honstly point
at and say "this is the beneficiary of this transaction" and we return
this.

This will be in the context of the wallet it is in, naturally.
2024-01-28 13:04:23 +01:00
tomFlowee 5ef8860492 Import translations 2024-01-28 12:16:12 +01:00
tomFlowee 4e1c6ced07 Skip including not used plugins 2024-01-28 11:56:20 +01:00
tomFlowee 9758ead829 New version 2024-01-28 11:30:33 +01:00