Commit Graph

533 Commits

Author SHA1 Message Date
Matiss Janis Aboltins
0dd5536914 🐛 navigation back to config-server page after clicking on "no server" (#851)
Closes #842

---------

Co-authored-by: Jed Fox <git@jedfox.com>
2023-04-04 18:34:59 +01:00
Matiss Janis Aboltins
072c3504fe Ported NewAutocomplete to TypeScript (#831)
Small migration of `NewAutocomplete`.

---------

Co-authored-by: Jed Fox <git@jedfox.com>
2023-04-04 18:06:42 +01:00
Jed Fox
5d921f7ab1 Update to latest stable date-fns version (#849)
Previously, we were using an alpha version of date-fns v2. Now we’re
using the latest stable v2.
2023-04-03 14:28:24 -04:00
Jed Fox
267bd8cc07 Remove Safari pinned tab icon (#848)
Safari now supports real favicons, and the existing icon was just a
solid circle which isn’t very clear.

Before/After:
<img width="139" alt="Screenshot_2023-04-03 14 05 06"
src="https://user-images.githubusercontent.com/25517624/229590886-b814d622-6780-4222-804c-edc84c43a2f6.png">
<img width="140" alt="Screenshot_2023-04-03 14 06 56"
src="https://user-images.githubusercontent.com/25517624/229591285-d808fa92-6141-4a23-8e50-e1f46e5b3d03.png">
2023-04-03 14:24:59 -04:00
Alberto Gasparin
79ad04dd88 Convert loot-core to TS p1 (#841)
Part 1 of the conversion. Mostly renaming js to ts and making sure
things make still sense. Added also handy TS ESLint rules.

In order to support the various .web/.electron/... I ended up adopting
`index.d.ts` as pattern to share type definition. Let me know if that
makes sense for you too. Right now the function type definition is
duplicated, but the solution will be importing from `index.d.ts` and
using `const fn: FnDef = () => ...` that way we can keep all variants in
sync from a single type file.

Such rewrite however is better done in another PR otherwise we risk
confusing git and loosing history (rename + too many changes). Another
thing that might do in the next PR is convert all files to ESModules, as
things get confusing between CJS exports, ESM default/named and TS adds
extra complains.
2023-04-03 10:29:59 -04:00
Matiss Janis Aboltins
405a92e926 (e2e) improve stability of budget e2e tests (#845)
Sometimes the test failed because..


`parseFloat("1,234.55") === 1)`
2023-04-02 20:21:22 +01:00
Matiss Janis Aboltins
69140d6290 🐛 (autocomplete) remove portal from table view for smoother experience (#839) 2023-04-01 20:13:09 +01:00
Matiss Janis Aboltins
e8da21fc80 🐛 (autocomplete) set min-height used to calculate the flip (top-bottom) (#837) 2023-04-01 08:10:40 +01:00
Matiss Janis Aboltins
ad9a4067a8 🐛 (autocomplete) delay when switching from Select to CreatableSelect (#836) 2023-03-31 22:17:54 +01:00
Matiss Janis Aboltins
7e6b760796 ♻️ (bank-sync) improved UX for linking nordigen accounts (#792)
Improving the UX for Nordigen bank-sync account import modal.
2023-03-31 20:33:49 +01:00
Matiss Janis Aboltins
45c06c2303 🐛 (autocomplete) set min-width of the autocomplete (#834)
Implement min-width for the autocomplete to make it look better on small
screens.


https://github.com/actualbudget/actual/issues/773#issuecomment-1482254636

<img width="304" alt="Screenshot 2023-03-31 at 19 02 06"
src="https://user-images.githubusercontent.com/886567/229195868-7d858f18-0c1a-4a9d-95be-5dd0e4aef92c.png">
2023-03-31 19:15:42 +01:00
Jed Fox
440093b30a Allow data: URLs for images in Netlify deploys (#832) 2023-03-31 12:28:34 -05:00
Alberto Gasparin
f76a07c3cf Add "all" or "any" conditions in rules (#811) 2023-03-29 22:29:07 +01:00
Alberto Gasparin
c009a0c7fb Start Typescript inception (#816) 2023-03-28 16:49:51 -05:00
Jed Fox
c025e516fb Fix error when running importTransactions from the API (#819) 2023-03-27 11:26:01 -05:00
Matiss Janis Aboltins
649b4c90e0 (e2e) adding onboarding and budget tests (#813)
Added onboarding and budget e2e tests. Also fixed an issue for
first-time flows using imports: currently people end up with a blank
white screen after importing. Instead they should see the budget table.

Related: https://github.com/actualbudget/actual/issues/583
2023-03-26 18:25:22 +01:00
Aidan Harbison
28c6894021 transaction-import: treat (amount) as -amount (#808)
- When parsing an amount string, consider surrounding parentheses to
mean the amount is negative.
- Ensures all input to `parseFloat()` is sanitized.

Closes: #807
2023-03-24 17:57:50 +00:00
Jed Fox
e71d4dc680 Move all loot-design code into desktop-client (#800)
Seems to build fine, will test later.
2023-03-24 13:56:09 -04:00
Matiss Janis Aboltins
ba778c9e9f (bank-sync) add explicit nordigen bank-sync warning (#801)
Adding an explicit bank-sync warning disclaimer.
#724 

<img width="542" alt="Screenshot 2023-03-21 at 20 09 54"
src="https://user-images.githubusercontent.com/886567/226729803-29606532-3d9f-4114-8987-9612bd92181b.png">
2023-03-23 12:23:56 +00:00
Alberto Gasparin
605a0d82ed Allow rules creation from account page (#802)
Adding a "create rule" menu item in the transactions dropdown to open
the create new rule modal, pre-filled with the payee information.
Fixes #749
2023-03-23 08:14:25 -04:00
Matiss Janis Aboltins
edf2122059 🐛 (dev-server) retry loading backend script in web-worker (#806)
Co-authored-by: Jed Fox <git@jedfox.com>
2023-03-22 19:59:52 +00:00
Tomek Modrzyński
070bd212c5 Re-enable goal templates by passing flag values to the budget summary component (#797) 2023-03-21 18:23:40 -04:00
Jed Fox
8e94d1777b Improve visual consistency on the settings page (#799)
This PR improves the consistency of the settings UI by moving everything
(except the budget name field on mobile) into `<Setting>` boxes.
Additionally, it adds a “Settings” option to the file dropdown menu (I
keep expecting it to be there, and I think it’s reasonable to expose it
in both locations so it’s easier to access)
2023-03-21 16:11:18 -04:00
Jed Fox
3cb18683c6 nit: use curly apostrophes throughout the UI (#791) 2023-03-21 13:48:31 -04:00
Jakub Kuczys
6c01e6eaaf Accept .blob files when importing Actual export (#785)
I'm not sure if this is something you want but it was a simple change so
I figured I might as well contribute it. This PR allows the user to
upload `.blob` files that they may have gotten from server's
`user-files/` folder. This can be useful if the user didn't export the
file but has server backups.

---------

Co-authored-by: Jed Fox <git@jedfox.com>
2023-03-21 09:39:54 -04:00
Matiss Janis Aboltins
84cbe6e54c 💚 disabling flaky unit test step (#795)
Disabling the flaky unit test step. We should re-enable it eventually,
but right now it just creates unnecessary noise..
2023-03-20 19:44:05 +00:00
Jed Fox
181d088e76 Match spacing in autocomplete (#793) 2023-03-20 14:51:42 -04:00
Matiss Janis Aboltins
5a75befc05 (bank-sync) expose demo-bank in the UI for DEV & preview builds (#790)
Depends on server change:
https://github.com/actualbudget/actual-server/pull/168
2023-03-20 18:37:21 +00:00
Matiss Janis Aboltins
c099e1ff10 🐛 (autocomplete) consistent input height between multi/single input (#787)
Making consistent height between multi/single input autocomplete.
2023-03-19 17:20:04 +00:00
Piero Mamberti
15e6843acf 753 - Clarify Account type cannot be changed (#774) 2023-03-19 08:33:13 -04:00
Matiss Janis Aboltins
e7bfd35b9a (autocomplete) enable new version for dev/preview deploys (#789)
Enabling the new autocomplete for dev/preview deployments.

This will allow us to spot any more issues there might be before we
release the new autocomplete.

https://github.com/actualbudget/actual/issues/773
2023-03-18 20:48:37 +00:00
Matiss Janis Aboltins
1df7acdca7 ♻️ refactor Nordigen and Category autocomplete usage (#784)
The final `Autocomplete` refactors. After this is merged what's
remaining is to do extensive testing and address the bugs in
https://github.com/actualbudget/actual/issues/773

This PR moves `Nordigen` autocomplete to the new one without using a
feature flag. IMO this is a safe change given the simple nature of the
Nordigen autocomplete component.
2023-03-18 20:30:01 +00:00
Matiss Janis Aboltins
67c3be97a1 ♻️ move all feature flags to use useFeatureFlag hook (#786)
Refactored all feature flags to use the new `useFeatureFlag` hook.

Also added a new functionality to this feature flag: ability to define
custom "default" value for a feature flag. This will allow us to enable
the new autocomplete component for everyone using Netlify builds
eventually (need to address some issues before doing so).
2023-03-18 18:41:45 +00:00
Jed Fox
8def8393da Remove a few unused class components, convert a few components to functions (#783) 2023-03-18 10:59:24 -04:00
Matiss Janis Aboltins
c3c2861dbd ♻️ further autocomplete refactors (#778)
Further iterations on the new autocomplete.

1. Created `AccountAutocomplete`
2. Started using new autocomplete in `GenericInput` (used for notes
field)
3. Extracted common functionality between the three new autocompletes to
a generic component: `Autocomplete`
2023-03-18 14:25:24 +00:00
Jed Fox
97b1b6f815 Improve handling of large currency amounts (#725)
- Add a “hide decimal places” setting to visually hide the `.xx` from
currency values globally
- When hiding the fractional digits, slightly decrease character spacing
to allow more digits to show up

Ref: #327

New settings:
<img width="566" alt="Screenshot_2023-03-17 14 19 46"
src="https://user-images.githubusercontent.com/25517624/225986815-b884b93d-02f9-48b3-a73d-d27f90b678cf.png">


Before/after:
<img width="149" alt="Screenshot_2023-02-27 21 47 07"
src="https://user-images.githubusercontent.com/25517624/222916856-21ab4f03-56c6-4b24-8fc1-ac4b883138b7.png"><img
width="131" alt="Screenshot_2023-02-27 22 02 01"
src="https://user-images.githubusercontent.com/25517624/222916859-cf882ca3-6087-4994-818e-239c3374e412.png">
2023-03-18 09:41:38 -04:00
Matiss Janis Aboltins
7063af9e58 revert change to useTableNavigator (#775) 2023-03-18 13:28:31 +00:00
Jed Fox
beef97d7b8 Move the welcome modal to an interstitial, add import button (#762)
I noticed that the first run flow is suboptimal for people who want to
import an existing file from Actual/YNAB. I’ve moved the welcome modal
into the management app and set it up to appear when there are no
budgets available (which also has the benefit of allowing people to see
the modal again!)

I think there’s some weirdness around getting the modal to reappear when
deleting a budget file which I want to work out before merging this.

This PR also reorganizes the management app a bit to reduce usage of
modals (currently, hitting escape while the budget list is open leaves
you with a blank page).

<img width="539" alt="Screenshot_2023-03-18 08 53 54"
src="https://user-images.githubusercontent.com/25517624/226107462-b2b88791-1015-4397-b290-c64e7fcc0f41.png">

- [x] Ensure modal consistently appears when needed (no longer a modal!)
- [x] Fix e2e tests
2023-03-18 09:21:53 -04:00
Matiss Janis Aboltins
98948744ca change unit test usage of notes field (#780)
Added an extra `waitFor` after a flaky unit test step.

I'm not really super happy with this workaround.. but it does make the
test much more stable (re-ran 5x and no failures:
https://github.com/actualbudget/actual/actions/runs/4455134799).

I think there is some internal timeout happening somewhere which is
causing this issue.. But not really sure where. And this will hopefully
get auto-fixed once we migrate to a new table. 🤞
2023-03-18 12:44:55 +00:00
Matiss Janis Aboltins
2903fd0037 🔥 remove unused tableNavigatorOpts code-path (#781)
Just cleaning up things: removing an unused code-path.
2023-03-18 12:16:24 +00:00
Matiss Janis Aboltins
ce40e61ab7 🐛 (TransactionsTable) bring back missing onHover (#777)
Brining back `onHover`. This is a small regression.
2023-03-18 11:09:03 +00:00
Matiss Janis Aboltins
fc9ca18f1c ⬆️ finish react v18 upgrade: react-dom change (#776)
Finishing off the React v18 upgrade by doing a change in `react-dom`.
Effectively this upgrades from v17 to v18.

https://react.dev/blog/2022/03/08/react-18-upgrade-guide
2023-03-17 23:19:35 +00:00
Matiss Janis Aboltins
141035cdf0 ♻️ (autocomplete) refactor PayeeAutocomplete to react-select (#741) 2023-03-17 22:36:53 +00:00
Matiss Janis Aboltins
610a044f5f ♻️ (TransactionsTable) port to react hooks (#769) 2023-03-17 21:20:20 +00:00
Matiss Janis Aboltins
26363ed82d ⬆️ upgrade fast-check to improve unit test perf (#772)
Upgraded `fast-check` to improve unit test performance.
2023-03-17 21:20:01 +00:00
Matiss Janis Aboltins
815413e48c reducing flakiness of tests by removing randomization (#771)
This is not a full fix for the flakiness. One of the test cases will
still be flaky. But at least this fixes the other test cases thus
improving stability.
2023-03-17 18:37:02 +00:00
Jed Fox
4a3fe1d9fb node-libofx: add transaction_acct_name function (#670)
I am currently not working on adding support for importing to multiple
accounts, but I wanted to give anyone who takes that on a starting point
by updating the underlying C library to provide access to the account
name field.
2023-03-17 14:00:35 -04:00
Jed Fox
c5c4cbbeb2 Update wording across the UI to clarify that we don’t own any servers (#768) 2023-03-17 13:59:10 -04:00
Matiss Janis Aboltins
5d7ead44aa ⬆️ upgrade React from v16 to v18 (#696) 2023-03-17 12:10:40 +00:00
Matiss Janis Aboltins
d9bc64e792 🐛 making desktop-client tests independent (#765)
Tests cases should be independent. You should be able to run them in
whatever order you want. And they should still pass.

Currently this is not the case. The order of the tests is very important
due to the "pseudo" randomization algorithm.

This PR makes the mock data IDs truly unique thus better exposing the
issue in our tests. Also this PR fixes the dependency issues thus making
each test case truly independent.

---------

Co-authored-by: Jed Fox <git@jedfox.com>
2023-03-16 23:49:43 +00:00