Created new PhoneNumberValidator + Test. Validator hides
no arg constructor; public constructor requires two letter
ISO country code for validating inputs.
After successful validation, inputs are transformed into E.164
format and cached in a field, accessible via a getter method.
However, area and region codes are not checked for correctness.
End users are responsible for correctness of area/region codes.
Four i18n properties (validation.phone.*) were added to
displayStrings.properties
This is a partial fix for Issue #3042. The validator
will be integrated into the GUI if PR is approved & patch is
merged.
Question for Bisq devs:
Another new pkg protected class, CountryCallingCodes, contains
an immutable map of ISO country codes -> country calling codes;
it is the only non-validator class in its package. The map
declaration is too large to live in the PhoneNumberValidator class,
even after tweaking idea.properties in an attempt to prevent
the IDE from freezing. Is it OK to leave CountryCallingCodes
where it is, or is there a more appropriate home for it?
When loading the preferences view, it would always log a warning
indicating that DAO full node is selected without providing required
parameters even though it wasn't selected.
Bisq's SearchComboBox implements a simple autocomplete. It is used
on the "add new altcoin account" form.
This fixes the following bugs in the SearchComboBox:
* no more dropdown flickering (fixed hide+show hack)
* space key no longer resets the text input
* unconfirmed changes no longer affect the form
* empty list no longer renders empty dropdown
This is a preparation step for using SearchComboBox more widely
in the project.
When activating the ProposalsView, the table height is updated on the
user thread. Sometimes the scene is unavailable and causes a
NullPointerException. This should at least prevent the exception.
Fixes#2883 and #3116
When adding a payment account Bisq requires IBAN to be whitespace free.
It is annoying for the user to manually clean pasted IBAN of spaces.
In online banking IBAN-s are usually displayed *with* spaces for
better readability.
This commit auto-removes whitespace when user is leaving the input
field, right before validation, effectively allowing to paste
real world IBAN-s.
When exporting to CSV, both portfolio/trades and funds/transactions
were lacking the column headers.
Additionally, portfolio/trades colum values were outdated and
not matching the intended export.
Both issues are fixed.
this is the correct way to do it. the way it is currently done means
that if a component is not declared in a module, guice still finds it
but does not use the singleton lifecycle
binding as singleton in the module is meant to be used for classes that
we don't have the sourcecode for (i.e. jdk classes)
A checkpoint at block 586920 with hash
523aaad4e760f6ac6196fec1b3ec9a2f42e5b272 to avoid that clients in
a corrupt state continue running.
Ignore checkpointing if ignoreDevMsg is set
* this class is not a clock but it watches the clock, detects standby
and runs periodic tasks.
* there is already a jdk method called clock
First i thought it should be called PeriodicTaskManager, now i find
ClockWatcher more fitting.
For very low volume offers, it can happen that the minimum buyer security
deposit by coin value is bigger than the maximum security deposit by
percentage of trade amount.
This caused the security deposit validity check in the offer editor to fail,
making it impossible to edit these offers.
This commit fixes the problem by setting the default percentage value to
the model instead of the calculated one in this specific case.
Implements the "possible fix" described in issue #2840 by appending the directive `java.net.preferIPv4Stack=true` to the JVM options.
Tested successfully on Debian 9 and Tails 3.14, using platform Tor and onion-grater.
- Add communication messages to Trade protobuf message to be able to
save chat messages per trade
- Add Type enum and field to DisputeCommunicationMessage protobuf to
be able to dispatch Dispute and Trade chat messages properly
- Rename some function as isClient instead of isTrader to make it easier
to understand who is who when two traders are communicating with each
other
Move session classes to core. Break out DisputeCommunicationMessage
handling from DisputeManager and put in ChatMananger prepare for other
uses of ChatManager.
Renaming of DisputeCommunicationMessage would be nice but it's
representing the protobuf messages so the name has to stay.
The naming of DisputeCommunicationMessage has to stay but they otherwise
fit what would be more aptly named ChatCommunicationMessage or something
in that spririt.
On the way to adding chat for traders this is a first step. Mainly just
moving functionality out of TraderDisputeView to Chat class. There are
still remaining dispute functionality that needs to be factored away.
After restoring from seed, the text shown under DAO /
BSQ Wallet / Transactions displays an incorrect progress - the numbers
are swapped. For example:
"Awaiting blocks... Verified 575,868 blocks out of 554,857"
Normally we get the latest block height from BitcoinJ as the
target height, and we request BSQ blocks from seed nodes up to latest
block.
But when restoring from seed, we receive the latest block height
from the seed nodes while BitcoinJ has not received all blocks yet and
is still syncing.
Fixes https://github.com/bisq-network/bisq/issues/2825