Commit graph

2059 commits

Author SHA1 Message Date
cd2357
c7ccc43475
More readable tables and views: Highlight table and list row on hover
The same styling as for a selected row, is applied for a hovered row.

This makes the UI more intuitive, helping users better navigate through and focus on specific rows, especially in large tables.
2020-05-03 14:15:14 +02:00
cd2357
4ba4f66527
More readable tables and views: Alternate row background colors, regardless of theme
A few CSS selectors affecting table and list row coloring were moved the dark theme stylesheet (theme-dark.css) to the common stylesheet (bisq.css).

These selectors are theme-independent, since they re-use variables defined in each theme stylesheet (like -bs-background-color). Therefore a more appropriate place for them is in the common stylesheet.

This move means that alternating row background colors are now available for all tables and lists, in all views, in both dark and light themes.
2020-05-03 14:09:11 +02:00
cd2357
34ff2d6a15
OfferBook: Show min-max range for amount and volume
The OfferBook tables now show the amount and the volume as min-max range, where appropriate.

For the offers that have no range defined, the single values are shown.

Fixes #3129
2020-05-02 16:09:56 +02:00
jmacxx
7350735606
Fix QR code display of offer funding amount
When creating an offer the small QR code displayed for funding
was off by an amount that represent the mining fees.  This was due
to the QR code being displayed simultaneously with the wallet
calulating the fee.

We fix the issue by listening to the data model `missingCoin`
value of the offer object, and updating the QR code image
appropriately.

Fixes #3666
Fixes #4194
2020-05-01 23:17:36 -05:00
cd2357
12dec2c321
BondsView: Fix sorting of numeric columns
The table in the BondsView uses string sorting by default. This results in unexpected behavior when sorting non-string columns.

This commit adds custom comparators to the numeric columns to address that.

Fixes #3231
2020-05-01 20:32:37 +02:00
Christoph Atteneder
0faff472d8
Revert to SNAPSHOT version 2020-04-30 16:30:28 +02:00
chimp1984
93e37dfca1
If a new received protectedStorageEntry is expired we do not store it
and do not broadcast.

It is unclear why we receive expired data (some are very old), but a
manipulated node might produce that and as it only removed at each
batch process running each minute to clean out expired data it still
could propagate. Is an attack vector also to flood the network with
outdated offers where the maker is likely not online.

Should fix https://github.com/bisq-network/bisq/issues/4026
2020-04-30 10:24:16 +02:00
Christoph Atteneder
64f55cb777
Bump version number for v1.3.4 2020-04-30 10:19:27 +02:00
Christoph Atteneder
df56aaddab
Bump version number for v1.3.3 2020-04-29 16:08:54 +02:00
chimp1984
f7dfef253a
Add resync from resources button
We add a second button (displayed as first) to the preferences UI for
resync from latest resources. We add a warning to the resync from
genesis as it takes very long time and causes heavy network load for
seeds.
The resync button at the stateMonitor does now a resync from resources,
not from genesis.
We add handling of the UnconfirmedBsqChangeOutputList file as well.
In Filemanager we add a check if file exists.
2020-04-29 16:06:27 +02:00
jmacxx
8475a5be09
Fix an issue whereby the unread chat message count was not cleared properly
The trader chat view can be opened either by clicking on the chat icon
of a trade in the list, or clicking on "OPEN TRADER CHAT" button for the
currently displayed trade.  In the latter case, the count of new messages
displayed on the chat icon was not cleared even though trader chat
was shown.  The solution is to move the scope of the routine that
updates trader chat message count from within the table cell handler
to the PendingTradesView class so that it can be called whenever
onChat() is invoked (i.e. when the Trader Chat screen is shown).

Clicking on the trader chat icon of a trade that is not selected
should select that row in the trade list. It does not. This causes
confusion as it gives misleading cues as to which trader you are
communicating with.
Issue a call to select the row of the button when clicked.
Fixes #4172
2020-04-25 09:00:26 -05:00
jmacxx
7551cdc73a
Editing an offer should not allow the BTC amount to be changed
When editing an offer to adjust the price the fiat amount is
recalculated to reflect the new price.  The BTC amount should
not change.  Due to a bug, sometimes the BTC amounts were
changed due to a recalculation from the fiat amount.
This PR Fixes 2798 by disabling a call to recalculate BTC and
min BTC amounts when editing.
2020-04-18 23:21:21 -05:00
jmacxx
223a1d3a6c
When accepting an offer do not round the BTC amount outside range
Fixes 3871.  The BTC amount of an offer was being adjusted up in
certain cases due to a rounding calculation from the fiat value
and price.  This would prevent some offers from being taken.

There's an existing check to ensure that the amount is not adjusted
below the minimum, here we add a check to ensure that the amount
is not adjusted higher than the maximum defined in the offer.
2020-04-17 22:05:30 -05:00
Christoph Atteneder
1105a78d51
Revert to SNAPSHOT version 2020-04-16 14:25:59 +02:00
sqrrm
6fc087c72c
Add option to allow faulty delay payout tx
Add more logging during unfail process
2020-04-13 11:38:15 +02:00
sqrrm
016a552836
Allow completion of trades with amount mismatch delayed tx 2020-04-13 11:38:08 +02:00
sqrrm
efee2e43c4
Init unfailed trade when moved to pending trades 2020-04-13 11:38:00 +02:00
sqrrm
e739f9465f
Don't unfail if deposit or delayedpayout txs are missing 2020-04-13 11:37:54 +02:00
sqrrm
c889fbdb8d
Reattach addresses when unfailing trade 2020-04-13 11:37:46 +02:00
sqrrm
77835b95b0
Add shortcut to move failed trade to pending trades 2020-04-13 11:32:54 +02:00
Christoph Atteneder
782921ec55
Bump version number for v1.3.2 2020-04-10 20:02:39 +02:00
Christoph Atteneder
edc4df1826
Merge pull request #4099 from jmacxx/fix_getsupport_traderchat
Replace the Get Support button with Open Trader Chat until trade period is over
2020-04-10 19:53:38 +02:00
Christoph Atteneder
34734c6fe4
Merge pull request #4122 from stejbac/make-UserThread-runAfter-thread-safe
Make UserThread::run* methods thread safe
2020-04-10 15:55:03 +02:00
sqrrm
09141eba92
Add signed witness filter (#4124)
* Add signed witness filter

- Add a filter to pubkeys used in AccountAgeWitness signing
- Fix inverted arbitrator signing of initial account age witnesses from
disputes
- Add test to verify that signed witness filter works
- Add test to verify that the arbitrator signing was fixed

* Fix codacy complaints

* Prevent NullPointerException during toggle group initialization

* Add scrollbar to filter window

* Format test class

Co-authored-by: Christoph Atteneder <christoph.atteneder@gmail.com>
2020-04-10 15:14:01 +02:00
Christoph Atteneder
4b826eb2a9
Merge branch 'master' of github.com:bisq-network/bisq into release/v1.3.1
# Conflicts:
#	build.gradle
#	desktop/package/linux/Dockerfile
#	desktop/package/linux/package.sh
#	desktop/package/linux/release.sh
#	desktop/package/macosx/create_app.sh
#	desktop/package/macosx/finalize.sh
#	desktop/package/macosx/insert_snapshot_version.sh
#	desktop/package/windows/package.bat
#	desktop/package/windows/release.bat
#	relay/src/main/resources/version.txt
2020-04-08 23:03:19 +02:00
Christoph Atteneder
224b140c46
Revert to SNAPSHOT version 2020-04-08 22:59:10 +02:00
chimp1984
005a87b553
Fix issue with tx connected output being null
The moment we are validating the tx is not committed and therefore the
connected tx output is not wired up and thus null.

Refactor and consolidate the validation code to the static class and
improve error handling.
2020-04-08 21:51:52 +02:00
Christoph Atteneder
51ffd9d95c
Bump version number for v1.3.1 2020-04-08 20:04:13 +02:00
chimp1984
38dcb27140
Fix issue with tx connected output being null
The moment we are validating the tx is not committed and therefore the
connected tx output is not wired up and thus null.

Refactor and consolidate the validation code to the static class and
improve error handling.
2020-04-08 12:10:06 -05:00
chimp1984
1c5fc600f4
Add check for donation address at pending trades 2020-04-08 14:05:30 +02:00
chimp1984
96e42954c9
Add more checks for delayed payout tx
Merge Conflict in TradeWalletService
2020-04-08 14:05:18 +02:00
chimp1984
4f28205478
Add check for donation address at pending trades 2020-04-07 23:23:58 -05:00
chimp1984
8cf6d42309
Add more checks for delayed payout tx 2020-04-07 23:04:57 -05:00
Christoph Atteneder
bb75f59b86
Bump version number for v1.3.0 2020-04-07 19:38:16 +02:00
Steven Barclay
a71f1e7e3f
Make UserThread::runAfter* methods thread safe
The runAfter* methods delegate to UITimer::run(Later|Periodically) in
the case of the desktop application. These use the JavaFX TimeLine API
(via bisq.common.reactfx.FXTimer) to schedule future events. However,
this API isn't thread safe and isn't meant to be called outside the FX
application thread. This causes occasional misfirings and out-of-order
scheduling when UserThread::runAfter is called outside the user thread.

Make the UITimer::run* methods safe to call from any thread by checking
we are in the application thread and delegating to UserThread::execute
otherwise. This also improves consistency between the contracts of the
runAfter* and execute methods. As the former has many call sites, this
is safer than trying to track down all the non-thread-safe uses.

(The Timer used in the headless app already appears to be thread-safe.)

This fixes #4055 (Bisq sometimes fails to prompt user for password to
unlock wallet), caused by out-of-order scheduling of the execute and
runAfter tasks in the WalletConfig.onSetupCompleted anonymous class
method in bisq.core.btc.setup.WalletsSetup.initialize.

Also prevent an exception caused by non-thread-safe calls into JavaFX
during the shutdown of OpenOfferManager, which was uncovered by the
above, by adding a missing UserThread::execute call.
2020-04-06 13:52:33 +08:00
jmacxx
0139a51b57
Replace the Get Support with Open Trader Chat until trade period is over
Showing an `Open Trader Chat` button until the trade period is over will
reduce the number of unnecessary support tickets and encourage
trader-to-trader dialogue.  If the trade timer expires without
completing the button changes (as before) to open a mediation ticket.

Implementation of this feature requires the button in TradeStepView to
notify its parent TradeSubView which in turn notify its parent
PendingTradesView that trader chat is to be opened.  Basically a
callback interface is passed two levels down the GUI hierarchy.

Fixes #3801
2020-04-05 04:27:02 -05:00
sqrrm
d0a8890c09
Merge pull request #4093 from jmacxx/fix_dust_wallet
Prevent dust outputs from being created during withdraw from wallet
2020-04-03 15:56:05 +02:00
Christoph Atteneder
a96bfd431d
Merge pull request #4060 from ghubstan/avoid-standby-mode
Improve AvoidStandyModeService
2020-04-01 11:21:32 +02:00
sqrrm
55048dc4a3
Add vwap bsq price (#4098)
* Remove unused code

* Add VWAP calculation for USD/BSQ price

* Remove unused argument
2020-03-31 16:34:14 +02:00
Christoph Atteneder
9891e58f2c
Merge pull request #4047 from freimair/graceful_shutdown
Added graceful shutdown hook
2020-03-31 15:20:58 +02:00
jmacxx
f1de079901
Change wording of the dust informative message per review by m52go
Moved message text into displaystrings.properties
2020-03-30 21:09:19 -05:00
jmacxx
ea8b327f7b
Change the constant used to determine what amount is considered dust
Now using `Restrictions.getMinNonDustOutput()` which equates to 546 sats
2020-03-29 18:23:48 -05:00
jmacxx
378c57492b
Address issues raised in review by sqrrm on 2020-03-26
- added a comment describing the `removeDust` method and its effects.
- use more descriptive variable names.
- made the logging more verbose to help log readers.
- use a constant for the dust limit
- add a notice to the user when dust is padded to the fee
2020-03-28 21:22:40 -05:00
Florian Reimair
0fb4f13319
Fix closing the app by gui exit
Before, the graceful shutdown procedures have been executed in the
user thread. However, the sync mechanics for connections/offers
caused a lockup, as some little parts of the code do execute on the
user thread as well.
2020-03-28 11:27:37 +01:00
Christoph Atteneder
b321cd9272
Merge pull request #4046 from stejbac/add-faster-payments-holder-name
Add holder name for new Faster Payments accounts
2020-03-27 10:03:47 +01:00
Steven Barclay
d84130ff5b
Improve popup text + layout of Faster Payments buyer form fields
Display the account number on the same row as the sort code in the trade
step view, to prevent scrolling with the extra name field (as suggested
in the code review).

(This also affects the layout of old accounts without the extra field.)

Also apply the suggested popup text simplifications.
2020-03-27 16:08:21 +08:00
sqrrm
427d581f27
Merge pull request #4090 from ripcurlx/stake-validation-issue
Only use InputValidation when formatting voting stake
2020-03-26 17:29:22 +01:00
Steven Barclay
a957fb167a
Add popup to advise user to recreate Faster Payments account
Open an info popup in the take/create offer view, upon choosing to take
or make a new offer, to instruct the user to recreate their old Faster
Payments account with an owner full name (and preserved salt). Also show
the popup upon manual selection of any old (i.e. missing full name)
Faster Payments account from the trading account combo box, analogously
to the ClearXchange (Zelle) warning popup logic.

(Also eliminate slight differences between the private
'maybeShow[ClearXchange|FasterPayments]Warning' methods in TakeOfferView
and MutableOfferView, to make the code easier to deduplicate in future.)
2020-03-25 17:48:06 +08:00
jmacxx
057e2c5e7c
Remove dust outputs created during withdraw from wallet
This change fixes an issue whereby dust change outputs are
inadvertently created when users make withdrawals from their
wallets.  (Funds -> Send Funds)

The solution taken here is to detect a dust TXO during the withdrawal
fee estimation process and add that amount to the fee thus eliminating
the dust output.

For example if the user has 1 BTC and goes to withdraw 0.99999900 BTC
it will detect a change TXO of 100 sats which is below the dust limit,
increase the fee by 100 sats and therefore withdraw 1 BTC.

This fix only applies to user withdrawals from their wallet.  Other
use cases such as P2P trading, deposits and fees will be handled
separately.

Related to #4039
2020-03-24 09:23:58 -05:00
Christoph Atteneder
37751c74c4
Make prompt text readable in dark mode 2020-03-24 12:53:11 +01:00