Commit graph

256 commits

Author SHA1 Message Date
Daniel
bb44afc848
feat: simple progress report for scheduled transactions (#262)
* Add progress css

* Update progress

* Clean up

* Clean up

* i18n

* Unify placeholders

* Shwo alert when single colab tx is running

* Reload schedule

* Clean up

* Deactivate testing toggle

* Fix typo

* Update src/components/Jam.jsx

Co-authored-by: Thebora Kompanioni <theborakompanioni@users.noreply.github.com>

* Update src/components/Jam.jsx

Co-authored-by: Thebora Kompanioni <theborakompanioni@users.noreply.github.com>

* Update src/components/Jam.jsx

Co-authored-by: Thebora Kompanioni <theborakompanioni@users.noreply.github.com>

* Update error check for loading schedule

* Log schedule in dev mode

* Update reload interval

* Revert "Update reload interval"

This reverts commit 6bce69a097.

Co-authored-by: Thebora Kompanioni <theborakompanioni@users.noreply.github.com>
2022-05-13 14:27:16 +02:00
Daniel
0e3b7b8b94
feat: simple progress report for scheduled transactions (#262)
* Add progress css

* Update progress

* Clean up

* Clean up

* i18n

* Unify placeholders

* Shwo alert when single colab tx is running

* Reload schedule

* Clean up

* Deactivate testing toggle

* Fix typo

* Update src/components/Jam.jsx

Co-authored-by: Thebora Kompanioni <theborakompanioni@users.noreply.github.com>

* Update src/components/Jam.jsx

Co-authored-by: Thebora Kompanioni <theborakompanioni@users.noreply.github.com>

* Update src/components/Jam.jsx

Co-authored-by: Thebora Kompanioni <theborakompanioni@users.noreply.github.com>

* Update error check for loading schedule

* Log schedule in dev mode

Co-authored-by: Thebora Kompanioni <theborakompanioni@users.noreply.github.com>
2022-05-13 14:15:41 +02:00
Gigi
8f527d7be8
feat: rearrange order of tabs (#258)
* feat: reorder tabs; add jam indicator

* feat(wallet): switch order of send/receive buttons

* fix: remove unused const

* Simplify state

* Fix warning

Co-authored-by: Daniel <10026790+dnlggr@users.noreply.github.com>
2022-05-13 12:00:09 +02:00
Thebora Kompanioni
593981dfd3
fix: prevent starting/stopping scheduler while data is loading (#260) 2022-05-12 17:28:24 +02:00
Gigi
030f51aa50
feat(scheduler): invert external/internal toggle (#257)
* feat(schedule): invert toggle

* fix(schedule): use subtitle label for toggle

* feat(scheduler): add note on frozen funds

* feat(scheduler): add a short note on fees

* feat(scheduler): only show fee note if scheduler isn't running

Co-authored-by: Daniel <10026790+dnlggr@users.noreply.github.com>
2022-05-12 14:20:38 +02:00
Daniel
0e1d0a8a69
feat: scheduled transactions prototype (#242)
* Use backend fork

* Add minimal schedule tab

* Add feature flag

* Update title

* Change branch in regtest setup

* Revert ts config

* Change weird formik behavior

* Fix warning

* Reset alerts

* Use loading flag when starting / stopping
2022-05-11 10:05:01 +02:00
neb_b
adb33e5b14
ui: prevent password unlock input from resizing on error (#243) 2022-05-10 18:53:13 +02:00
Gigi
75a50ca4c7
docs(readme): add features 2022-05-06 16:30:33 +02:00
Thebora Kompanioni
3cfa071163
refactor: Report overlay (#238) 2022-05-06 10:48:31 +02:00
Thebora Kompanioni
a7e95845bc
refactoir: formik validation in wallet component (#235)
* refactor: use Formik in Wallet component

* fix: handle lock attempt of currently unactive wallet

* fix: let Formik know that onSubmit handlers are async

* chore: remove unused utils function 'serialize'

* fix: remove redundant comment
2022-05-05 09:30:36 +02:00
Thebora Kompanioni
edd5818b82
feat: reload wallet data after send (#236)
* fix: wait for utxos to update after send operation

* fix: split 'taker started' and 'payment success' alerts

* refactor: move 'isOperationDisabled' from function to property

* fix: reload data after taker operation finished

* chore: improve readability

* fix: abort waiting for wallet sync on errors
2022-05-05 09:30:00 +02:00
Thebora Kompanioni
9b571c2621
refactor: reusable copy-to-clipboard mechanism (#232)
* refactor: move method  from Receive to utils

* refactor: externalize copy-to-clipboard functionality to own components

* refactor: use component CopyButtonWithConfirmation on Receive screen

* refactor: utils from js to ts
2022-05-03 13:59:12 +02:00
Đorđe Spasić
1fac2cda86
refactor: css modules (#230)
* Move CreateWallet css into module

* Move Seedphrase css into module

* Fix accordion button styling

* Fix dark theme regression, delete Send.css

* Update src/components/Send.module.css

Co-authored-by: Thebora Kompanioni <theborakompanioni@users.noreply.github.com>

Co-authored-by: Thebora Kompanioni <theborakompanioni@users.noreply.github.com>
2022-05-02 09:57:01 +02:00
Thebora Kompanioni
223aa1b92f
refactor: use Formik on Earn screen (#234)
* refactor: use Formik on Earn screen

* refactor: separate error and serviceInfo alerts on Earn screen

* review: fix displaying absolute fee input validation message

* review: inline persist form value functions

* review: simplify feeRel validation condition

* review: constant for local storage keys on Earn page

* review: validate form input based on selected offertype
2022-04-29 13:44:20 +02:00
Gigi
a83638284b
docs: add npm start 2022-04-27 10:14:40 +02:00
Thebora Kompanioni
df342722c4
fix: reload session info on Earn and Wallets screen (#231)
* test: mock session api call in App component test

* fix: reload session info on Wallets screen

* fix: reload session info on Earn screen

Co-authored-by: Daniel <10026790+dnlggr@users.noreply.github.com>
2022-04-26 16:04:04 +02:00
Thebora Kompanioni
70ffc99040
fix: reset wallet when token became invalid (#223) 2022-04-25 18:42:16 +02:00
Daniel
23cd01131c
ui: move gh link to settings and remove other footer links (#227)
* Move gh link to settings

* Add social icons to footer

* Add jm twitter to settings
2022-04-25 14:37:58 +02:00
Thebora Kompanioni
76f8c7c7d8
chore: update dependencies (#229)
* chore: update dependencies

* fix: prevent browser warning on Onboarding screen

use unit 'px' instead of 'rem' to prevent warning 'Unexpected value 8rem parsing width attribute.'
2022-04-25 14:15:07 +02:00
Thebora Kompanioni
035dd8034a
fix: prevent operations when maker/taker service is running (#218)
* fix: disable sending if maker or taker service is active

* ui: blur send form when taker or maker service is running

* fix: prevent unfreezing of fidelity bonds before locktime is over

* refactor: expose mechanism for reloading service info to components

* fix: reload service info on send page

* ui: add caret-right icon to info alert when maker is running
2022-04-20 17:27:02 +02:00
René Aaron
ef23b4b085
fix: link to dev docs on contributing page (#224) 2022-04-20 11:24:32 +02:00
Thebora Kompanioni
34bfd0b3cd
ui: small visual adaptions after placeholder PR (#222)
* chore: harmonize sprite definitions

* fix: prevent render errors on invalid token in CurrentWalletMagic screen

* ui: add border-radius to input placeholder

* fix: add relationship 'noopener' to external links on Send screen

Co-authored-by: Đorđe Spasić <34274884+Djo1e@users.noreply.github.com>
2022-04-20 10:45:12 +02:00
Thebora Kompanioni
bb007f841f
fix: remove hardcoded account array (#220) 2022-04-19 15:06:30 +02:00
Đorđe Spasić
58017674c4
ui: add content placeholders (#203)
* Add placeholders for Send section

* Add placeholders for Receive section
2022-04-18 09:39:33 +02:00
Thebora Kompanioni
6e3ebf019b
fix: use 1000 as websocket close code (#219)
Firefox throws a `DOMException` when using `1001` as close code: `A parameter or an operation is not supported by the underlying object`.
Cannot really find out why this is, but in this case it does not really matter, as the code only runs if there is no connection in the first place.
2022-04-15 12:18:47 +02:00
Thebora Kompanioni
825f725053
feat: add cheatsheet (#211)
* feat: add cheatsheet

* show cheatsheet only when wallet is active

* display cheatsheat in dev mode only for now

* add close button to cheatsheet overlay (for mobile users)

* ui: visualize upcoming features in cheatsheet

* ui: show cheatsheet once after first wallet was created

* feat: add simple feature flags

Co-authored-by: Đorđe Spasić <34274884+Djo1e@users.noreply.github.com>
Co-authored-by: Gigi <109058+dergigi@users.noreply.github.com>
2022-04-14 11:50:41 +02:00
Thebora Kompanioni
68da95817c
refactor: reload wallet info (#213)
* feat: add api call to get timelock address

* refactor: reset wallet info in WalletProvider

* refactor: move wallet info loading into WalletProvider

* review: inline function in CurrentWalletAdvanced component

* review: add comment on error handling in auto-reloading wallet info
2022-04-12 14:17:59 +02:00
Thebora Kompanioni
fa131ca596
ui: small ui fixes (#201)
* ui: adapt info alert color to match figma more closely

* ui: adapt connection indicator icon to match figma more closely

* ui: better visibility of disabled input fields in dark-mode

* ui: reorder form fields on send page to match figma

* ui: default to sending as collaborative transaction

* ui: add icons to receive/withdraw buttons in CurrentWalletMagic

* review: use Send/Receive instead of Deposit/Withdraw

* fix: spacing on send screen

* fix: make collapsed accordion buttons visible in dark mode

Co-authored-by: Daniel <10026790+dnlggr@users.noreply.github.com>
2022-04-12 10:30:53 +02:00
Thebora Kompanioni
69fcbaff42
feat: add French translation (#216) 2022-04-11 16:25:40 +02:00
Đorđe Spasić
60847bd059
refactor: add route constants (#215) 2022-04-11 12:54:04 +02:00
Thebora Kompanioni
0c019db742
feat: confirm password on Create Wallet screen (#210)
* feat: add password confirmation on create screen

* fix: labels and feedback in create form according to figma

* test: verify password confirm validation message

* fix: remove unnecessary escape character

* fix: do not escape '-'

* refactor: comments and better name for escape function

* deps: add Formik form validation library

* refactor: use Formik for CreateWallet form validation

* refactor: remove 'isCreating' flag in favor of 'onFinished' callback

* test: adapt tests to be compatible with Formik

see https://github.com/jaredpalmer/formik/issues/1543
2022-04-07 12:07:26 +02:00
Thebora Kompanioni
33b35f7ba9
fix: force-close pending websockets connections (#200)
* fix: force-close pending websockets connections

* review: change websocket close frame status from 1000 to 1001
2022-04-06 15:43:29 +02:00
Thebora Kompanioni
0addb967e2
ui: move seed phrase on settings page to modal (#206)
* ui: move seed phrase on settings page to modal

* custom btn-close style only inside modal-header

* better name for i18n key of seed modal info text

* review: remove unnecessary 'preventDefault' on settings page

* review: remove angle brackets from modal header

Co-authored-by: Daniel <10026790+dnlggr@users.noreply.github.com>

Co-authored-by: Daniel <10026790+dnlggr@users.noreply.github.com>
2022-04-06 15:18:44 +02:00
Thebora Kompanioni
963dc49e72
fix: do not hide CreateWallet component on connection errors (#199)
* refactor: always extract api error message with Api.Helper

* refactor: port WalletContext from jsx to tsx

* fix: do not hide CreateWallet component on connection errors

* chore: remove deprecated 'exact' property of index route

'exact' has been removed in react-router v6 and is not needed anymore.
2022-04-06 12:59:07 +02:00
Thebora Kompanioni
ad58b99aa4
ui: enhance error message on bad request errors (#202) 2022-04-04 09:31:26 +02:00
Thebora Kompanioni
f32e95ac8e
dev: enable npm config engine-strict (#197)
* dev: enable engine-strict to enforce specified npm/node min versions

* dev: update npm min version from v7.0.0 to v8.0.0

* dev: update node min version from v16.0.0 to v16.11.0
2022-04-04 09:30:42 +02:00
Thebora Kompanioni
6c5e149516
fix: Remove skip button quiz screen (#198)
* fix: show skip button on quiz screen only in dev mode

* chore: externalize styles for Seedphrase and CreateWallet components

* fix: slightly increase container width of seedword

* feat: prevent users from leaving page with seedphrase on it by mistake

* feat: prevent leaving page while wallet is being created

* test: verify 'skip' button is not present in test env
2022-04-04 09:27:54 +02:00
Gigi
6fb5b1a896
chore(release): prepare v0.0.5 (#195)
* chore(release): prepare v0.0.5

* build: npm install

* build: npm install

using npm version 8.5.5
2022-03-29 12:54:38 +02:00
Thebora Kompanioni
39019ccbb6
fix: make websocket health state work across browsers (#186)
* fix: Warning: 'value' prop on 'input' should not be null

* cleanup: use AbortController to remove websocket event listener

* dev: enable React.StrictMode globally
2022-03-28 15:10:07 +02:00
dependabot[bot]
591377b654
build(deps): bump minimist from 1.2.5 to 1.2.6 (#194)
Bumps [minimist](https://github.com/substack/minimist) from 1.2.5 to 1.2.6.
- [Release notes](https://github.com/substack/minimist/releases)
- [Commits](https://github.com/substack/minimist/compare/1.2.5...1.2.6)

---
updated-dependencies:
- dependency-name: minimist
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-28 15:03:17 +02:00
Thebora Kompanioni
e5d97d148d
chore: update dependencies (#193)
* build(deps): bump node-forge from 1.2.1 to 1.3.0

Bumps [node-forge](https://github.com/digitalbazaar/forge) from 1.2.1 to 1.3.0.
- [Release notes](https://github.com/digitalbazaar/forge/releases)
- [Changelog](https://github.com/digitalbazaar/forge/blob/main/CHANGELOG.md)
- [Commits](https://github.com/digitalbazaar/forge/compare/v1.2.1...v1.3.0)

---
updated-dependencies:
- dependency-name: node-forge
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

* chore: update dependencies

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-28 14:49:14 +02:00
Daniel
81876b7214
feat: sweep mixdepths (#184)
* feat: sweep mixdepths

* Add sweep amount breakdown
2022-03-23 12:53:25 +01:00
Thebora Kompanioni
228c92ee55
Improve lock/unlock mechanism (#175)
* feat: add ServiceInfoContext

* use ServiceInfo in Navbar component

* move updating ServiceInfo with websocket data from App to ServiceInfoProvider

* use sessionConnectionError in App component

* use taker/maker info from ServiceInfo in App component

* move resetting wallet/walletInfo from App to ServiceInfoProvider

* fix: display wallet active state according to server session state

* always sort wallet array list by name starting with active wallet

* hide wallet list when reloading wallet data

* feat: add activity indicators to wallet list screen

* externalize JoiningIndicator component

* ui: hide unlock option for inactive wallets if maker/taker service is running

* refactor: use WalletContext and ServiceInfoContext consistently

* chore: use statusText as fallbackReason in Api.Helper
2022-03-21 17:31:31 +01:00
Thebora Kompanioni
a096b2ba92
chore: fix linter config (#185) 2022-03-21 10:43:42 +01:00
Thebora Kompanioni
182b09c359
fix: pass correct request body in send-direct request (#180)
* fix: pass correct request body in send requests

* fix: pass sat value of utxos as strings in advanced view

* fix: show config warning after failed send only if necessary
2022-03-17 14:44:51 +01:00
Thebora Kompanioni
80e5da78e5
Add typescript support (#176)
* init typescript support

* chore: update dependencies

@popperjs/core              ^2.11.2  →   ^2.11.4
@testing-library/jest-dom   ^5.16.1  →   ^5.16.2
@testing-library/react      ^12.1.2  →   ^12.1.4
http-proxy-middleware        ^2.0.1  →    ^2.0.4
i18next                    ^21.6.12  →  ^21.6.14
lint-staged                 ^12.3.1  →   ^12.3.6
prettier                     ^2.5.1  →    ^2.6.0
react-bootstrap              ^2.1.1  →    ^2.2.1
react-i18next              ^11.15.5  →  ^11.15.7
react-router-bootstrap      ^0.26.0  →   ^0.26.1
react-router-dom             ^6.2.1  →    ^6.2.2
2022-03-17 12:44:01 +01:00
secondl1ght
0719dc6235
feat: add seed phrase backup confirmation during wallet creation (#156)
* Add seed phrase backup confirmation during wallet creation

* Refactor to use 12 inputs, add skip button and more improvements

* Add reset for no match message

* Move backup confirmation into own component

* Remove verify button, make reactive, disable on correct word and more

* Fix build error

* Fix declaration order

* Remove not needed prop and remove input feedback

* Add slashed zeroes styling and remove input padding

* Dry up code using daniels suggestions

* Remove unused callback

* Make seedword index fixed width

* Run npm install

* Run prettier

* Fix key locations

* Add more translations

* Update src/i18n/locales/en/translation.json

* Update src/components/CreateWallet.jsx

* Update src/i18n/locales/en/translation.json

* Update src/components/CreateWallet.jsx

* Apply suggestions from code review

Co-authored-by: Daniel <10026790+dnlggr@users.noreply.github.com>
2022-03-17 09:24:28 +01:00
Thebora Kompanioni
f8aa3e786b
Update regtest env (#178)
* dev: interact with regtest env via npm scripts

* dev: use default jm_gaplimit in regtest env

* dev: remove tor config from primary regtest container
2022-03-16 13:49:39 +01:00
Thebora Kompanioni
5a17252612
chore: fix typo in en/translation.json (#177)
* chore: fix typo in en/translation.json

* fix translation string in DisplayAccountUTXOs.jsx
2022-03-16 13:32:47 +01:00
Daniel
63018ac96b
feat: translate screens (#174)
* Translate onboarding

* Translate navbar, app, footer

* Translate wallet card

* Translate wallet creation form

* Translate wallet confirmation

* Rename wallets.wallet key

* Translate current wallet

* Translate settings

* Translate send

* Translate receive

* Translate earn

* Fix linter warnings

* Fix tests

* Update src/components/Earn.jsx

Co-authored-by: Thebora Kompanioni <theborakompanioni@users.noreply.github.com>

* Update src/i18n/locales/en/translation.json

Co-authored-by: Thebora Kompanioni <theborakompanioni@users.noreply.github.com>

* Update src/components/CurrentWalletAdvanced.jsx

Co-authored-by: Thebora Kompanioni <theborakompanioni@users.noreply.github.com>

* Update src/components/Earn.jsx

Co-authored-by: Thebora Kompanioni <theborakompanioni@users.noreply.github.com>

* Update src/i18n/locales/en/translation.json

Co-authored-by: Thebora Kompanioni <theborakompanioni@users.noreply.github.com>

* Update src/i18n/locales/en/translation.json

Co-authored-by: Thebora Kompanioni <theborakompanioni@users.noreply.github.com>

* Remove dead code

* Parametrize num collaborators

* Added fallback for branch type

Co-authored-by: Thebora Kompanioni <theborakompanioni@users.noreply.github.com>
2022-03-15 14:01:04 +01:00