Initial utility for live data binding in the new wallet.
- Add prices namespace to get fiat prices from Cryptocompare
- Events to init wallet balance and load prices
- Listen to these events in wallet main view
- Show accurate ETH balance, USD value and %change from yesterday
- Enable wallet tab in Jenkins
Mapview component accepts the `:initialCenterCoordinate` which always must have
longitude and latitude attributes. This ensures that they will always be present
even when they are missing from the map passed retreived from the app state.
Also accomplished was removal of redundant preview loading
and command markup is now stored as cljs data in app-db,
only being translated to RN components in subscriptions
This commit ensures messages are ordered correctly when participants join and
leave a group chat. Specifically, the last received message will appear last.
Previously the user and chat clock was queried and updated in an ad hoc manner.
With this change there are only two clock changes to keep track of:
Sending messages:
time = time+1;
time_stamp = time;
send(message, time_stamp);
Receiving messages:
(message, time_stamp) = receive();
time = max(time_stamp, time)+1;
(See https://en.wikipedia.org/wiki/Lamport_timestamps)
Note that this means we can get rid of all the non-message clock queries and
updates.
Transactions with 15 significant digits crashes the app due to something weird
going on in the Clojurescript -> web3 -> BigNumber chain. This fix converts the
number into a BigNumber before converting it into Ether.
When the input field includes an unmatched " in the input-text, there's a
mismatch between the parsed command-args and the length of the text field,
causing text selection to be out of bounds. By bounding the new selection to a
maximum of the input text, this is avoided.
A single unbalanced ')' shouldn't count as nesting, so ')' and 'a)' etc don't make the form ''.
console: add ad-hoc test script for suggestions
This creates a quicker feedback loop for testing console suggestions, as well as making sure we don't introduce suggestions regressions.
chat, parameter-box: hide parameter-box when {markup: null} is returned