Commit Graph

579 Commits

Author SHA1 Message Date
Pol Eyschen
6e7e98e139 Allow templates to follow named schedules (#885)
Co-authored-by: Jed Fox <git@jedfox.com>
2023-04-16 17:11:25 -04:00
Matiss Janis Aboltins
b89b74c3fa 🔖 (23.4.1) fix rule creation from transaction list (#911) v23.4.1 2023-04-16 18:00:13 +01:00
shall0pass
3fb69e1b1c Fill category field when selecting 'Create rule' (#886) 2023-04-16 11:49:01 -04:00
biohzrddd
19a8f14ad9 Fixes Issue 495 Transfer allowed from same account (#902) 2023-04-16 07:36:22 -04:00
biohzrddd
df63c7e141 Add daily option to schedules (#900) 2023-04-16 07:33:47 -04:00
shall0pass
adb20868cc Improve error reporting for goal templates (#895)
This improves the error reporting when issues are found with Goal
Templates. Before these changes, the only error that would be reported
is the "Bills" error in the image while the other issues would be
ignored and not funded.
2023-04-13 18:01:57 -04:00
Matiss Janis Aboltins
ec3efc7191 🎨 (mobile) settings page header (#887) 2023-04-13 20:00:02 +01:00
Jed Fox
ba59deae5f Add CodeQL action (#890) 2023-04-12 23:28:53 -04:00
Jed Fox
ad9cd5fc4d Remove usage of realpath (#893)
It turns out this command is not installed by default on macOS.
Fortunately the code doesn’t really require it to be used.
2023-04-12 16:38:26 -04:00
Alberto Gasparin
5dec98e754 Migrate core to TS p2 (#889)
Another batch of files from `loot-core` migrated to TS (loose mode)
2023-04-12 11:09:42 -04:00
shall0pass
8597b0a373 Use single decimal places to define targets (#891)
Resolves issue https://github.com/actualbudget/actual/issues/888
2023-04-12 11:07:49 -04:00
Jed Fox
15e9c0405d Upgrade @typescript-eslint packages (#884) 2023-04-11 13:48:20 -04:00
Alberto Gasparin
cd00da76ef Convert commonjs to esm (#877)
This PR converts everything (aside from electron) from CommonJS to ESM.
It is needed to reduce the changes that will happen during the migration
to Typescript (as TS does not play nice with CJS).

Basically:
- rewrite `require()` to `import`
- rewrite `module.exports` to `exports`
- introduce `ts-node` to run importers so we can convert them to TS too

Lastly, sorry for this larg-ish PR, not my preference but when I tried
to reduce its scope, I would end up with mixed commons/esm that was even
more tricky to handle.
2023-04-10 20:40:40 +01:00
Jed Fox
d7d5820c1c Recognize numpad enter key as enter key (#883) 2023-04-10 08:36:02 -04:00
Matiss Janis Aboltins
82482f4182 🐛 (autocomplete) show 'create payee' only if no payee matched (#881) 2023-04-09 22:00:43 +01:00
Matiss Janis Aboltins
88fb95b230 🐛 (rules) creation from account page (#882) 2023-04-09 20:33:41 +01:00
Matiss Janis Aboltins
7e33cda7b2 🔖 (api) 5.1.2 (#880)
<!-- Thank you for submitting a pull request! Make sure to follow the
instructions to write release notes for your PR — it should only take a
minute or two:
https://github.com/actualbudget/docs#writing-good-release-notes -->
2023-04-09 19:29:44 +01:00
Jed Fox
bf05b759aa Remove duplicate migration and default-db.sqlite files (#870)
These files will be automatically recreated by `yarn build:api`,
`yarn build:browser`, and `yarn start:browser`, so we don’t need
them in the repo.
2023-04-09 14:21:59 -04:00
Jakub Kuczys
835c1a54f7 Use Unicode-aware implementations of LOWER() and UPPER() in SQL queries (#865)
Fixes #840 by creating application-defined SQL functions
(https://www.sqlite.org/appfunc.html) for Unicode-aware implementations
of `LOWER()` and `UPPER()`. This uses
`String.prototype.toLower/UpperCase()` JS method.

I initially wanted to just redefine `LOWER()` and `UPPER()` but due to
[sql.js not supporting the definition of deterministic
functions](https://github.com/sql-js/sql.js/issues/551), I had to just
define them as separate functions and use that in the appropriate
places. It's probably better like that anyway...
2023-04-07 16:33:19 -04:00
Jed Fox
aa2e837e7e Don’t check for release notes on release/* branches (#864) 2023-04-07 16:15:12 -04:00
Jed Fox
98a32432ef Disable ESLint in CI again (#869)
This should speed up builds in CI, and must not have gotten caught when
upgrading `react-scripts`.
ref: arackaf/customize-cra#278
2023-04-07 16:15:00 -04:00
Matiss Janis Aboltins
7abbdcc5bb 🔖 (5.1.1) api (#873) 2023-04-07 21:11:12 +01:00
shall0pass
adf205db86 Allow goal template 'by' matches to compound (#860)
I believe this change allows for having multiple 'by' rules in the same
category. It seems to be working well for my purposes, but I would
appreciate further testing to assure there aren't regressions.

Example:

#template 300 by 2023-06
#template 3000 by 2023-08

Before this PR, having these two lines in the notes would only budget
funds for the earliest of the two strings and ignore the 3000 funding
target. With this PR, the sum of the two funding targets will be
respected.
2023-04-07 15:54:14 -04:00
Matiss Janis Aboltins
f9a1b094cc 🔖 23.4.0 (#863) v23.4.0 2023-04-06 22:04:12 +01:00
Jed Fox
5d559afe30 Enable linting for all packages (#861)
<!-- Thank you for submitting a pull request! Make sure to follow the
instructions to write release notes for your PR — it should only take a
minute or two:
https://github.com/actualbudget/docs#writing-good-release-notes -->
2023-04-06 15:49:43 -04:00
Matiss Janis Aboltins
4d0e9cadd3 🐛 (autocomplete) height of the input box (#862) 2023-04-06 20:44:15 +01:00
Matiss Janis Aboltins
bfe896a30e (autocomplete) turn on feature flag by default (#850) 2023-04-06 18:28:42 +01:00
chris heazlewood
44573c0fe5 Store payee in imported_payee during ynab4/ynab5 import (#736) 2023-04-06 17:49:24 +01:00
Matiss Janis Aboltins
7fbb26f2c9 🐛 (autocomplete) allow editing selected payee name (#856) 2023-04-05 22:44:48 +01:00
Jed Fox
143ddeaa96 Force the sidebar to always float when the window is narrow (#835)
This improves usability of narrow screen widths, and also prepares for
further optimizations that would allow us to use the sidebar largely
as-is on mobile, instead of having to have a tab bar.

---------

Co-authored-by: Matiss Janis Aboltins <matiss@mja.lv>
2023-04-05 17:25:57 -04:00
Matiss Janis Aboltins
61f1802840 🐛 dismiss update notification only after clicking close (#854)
Closes #764

Dismiss the update notification only after clicking "close" button
2023-04-04 21:18:12 +01:00
Matiss Janis Aboltins
e23f9d822b 🐛 normalize value when switching between single/multi select (#855)
Closes #779

Normalize the input value when switching between single/multi select
fields. Most visible when using the "notes" field filter.
2023-04-04 21:17:47 +01:00
Jed Fox
6ef1f3d15d Fix display of loading indicator in management app (#853)
Fixes #852.
2023-04-04 13:48:30 -04:00
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