Commit Graph

533 Commits

Author SHA1 Message Date
Matiss Janis Aboltins
353474dacd 🔖 (6.0.1) api (#1057)
<!-- 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-05-24 18:44:14 +01:00
youngcw
5f38b579fe Template: Apply schedule template only on needed month (#1052)
Add option to schedule templates to budget the full amount only in the
needed month. Default behavior stays the same of spreading the expense
out over the available range.

To use the option, use a template like `#template schedule full
SCHEDULE_NAME`


Also some minor cleanup.
2023-05-24 10:57:25 -04:00
Eike Siewertsen
1e2bc29a60 change copy-migrations shebang to bash (#1056) 2023-05-24 10:26:03 -04:00
Jed Fox
fafd162db0 Export api/methods.js at the top level again (#1054)
This allows using the API as documented. In #877, I think this was
unintentionally converted to be a named export.
2023-05-22 18:20:09 -04:00
Jack
ec5e98b934 Fixed a bug where it was possible to make a transfer to the same account as the one making the transfer. (#1038)
The payee autocomplete was always using cached accounts. Added a check
to see if accounts was already passed in as a parameter - only using
cached if it wasnt.
2023-05-21 18:42:05 +01:00
Trevor Farlow
18e3a16299 Update to React Router v5.1 conventions (#1045) 2023-05-20 16:01:10 -06:00
Jed Fox
efe4194f9c A few fixes for Electron (#1048) 2023-05-20 09:46:10 -04:00
chylex
4249a0beb1 Make number parsing agnostic to decimal and thousands separators (#894) (#1029) 2023-05-20 08:27:17 -04:00
Shazib Hussain
461132b95e Fix electron app (#1003)
Updates to the latest version of electron and moves the backend-frontend
communication from node-ipc to websockets. This resolves the previous
roadblock regarding `nodeIntegration` .

Done

- Remove node-ipc in favour of websockets. 
- Move file copying out of `preload.js` to avoid importing module `fs`
there
- Bump all electron pacakge versions to the latest
- Added new package for finding open ports as node-ipc is gone
- Tweaked webpack config for above changes


Partially fixes #468

Questions/ Pending:
- Literally every single test fails for me, presumably some issue with
my setup/environment.
- The websocket communication is not using TLS. I'm not sure how to
enable this, or if we even need to as its all local.
- Still need to create the CI for building/deploying but I'm not sure
where start in this regard as i have no exp with it. Presumably we will
need to point the electron auto-updater to the github releases url's. If
people are happy with this PR I will look at adding the CI before its
merged.
- In dev mode only, I have disabled TLS security becuase my docker
container's cert is not signed. I _assume_ this will be true for other
people who spin up the server on thier own hardware. Perhaps I just need
to change my cert to one from letsencrypt or something...

Notes.
I have not touched javascript in eons so my apologies if the commit
trail is a bit fragmented. I tried to keep them fairly contained and
then there is a slightly gnarly final commit fixing all the linter
issues... Please let me know if you want me to squash some commits etc.

I initially tried to move this to web workers the same way the web app
does it but this was unsuccessful. I have found no way to spin up a
worker in one place (frontend/backend) and then pass this worker to the
other. The electron ipc channels don't allow you to directly pass
objects such as workers, everything is cloned/serialised. Passing a port
number so the other end can spin up its own socket works fine.

---------

Co-authored-by: Shazib Hussain <contact@shazib.com>
Co-authored-by: Jed Fox <git@jedfox.com>
2023-05-18 19:56:48 -04:00
Jed Fox
19af0b36a2 Upgrade react-spring, remove wobble (#1043)
Now we just have one spring animation library
2023-05-17 20:04:07 -04:00
Alberto Gasparin
a6b6295426 Convert client to TS part 2 (#1037)
Another batch of components in `desktop-client` converted to TS
2023-05-18 07:42:53 +10:00
Trevor Farlow
029dfd4688 Responsive context (#964)
Introduces a **ResponsiveProvider** as the sole location that tracks
window size and makes that info available to the entire app. This can be
used for media queries and size-based component switching.
---------

Co-authored-by: Jed Fox <git@jedfox.com>
2023-05-16 21:02:07 -06:00
Jed Fox
2587350d1e Remove messaging around where to find schedules in the future (#1033) 2023-05-16 18:37:51 -04:00
Jed Fox
d400ebfda0 Fix the API (again) (#1002) 2023-05-16 14:56:24 -04:00
Jed Fox
34c8a73ee5 Remove @reactions/component dependency (#1036)
We can use hooks now!
2023-05-16 14:41:36 -04:00
Jack
4ecb58cd5c Updated account ordering in the account autocomplete popup (#1034) 2023-05-15 18:55:17 -04:00
SudoCerb
1305335f0a Add “Show unused payees” button (#1011)
# Add ability to filter the Manage Payees screen to show orphaned payees
only.

I aimed to modify as little code as possible - we now have a button on
the Manage Payees screen that will filter the table to show orphaned
payees only.
2023-05-15 16:18:14 -04:00
youngcw
54f9b712e4 Fix infinite loop in repeat goal (#1019)
I believe I found the infinite loop problem in the repeat goal.  

This doesn't mess things up if you are budgeting the same month that the
goal starts, that's probably why we didn't see it before.

Side note: The logic always starts at the start date in the template,
then increments until falling in the right month window. If this
template gets used for, say, a few years, it will start to bog down the
processing. If someone has a good quick fix I can add that.
2023-05-13 08:36:00 -04:00
shall0pass
5afd76fb45 Goals: Compounding changes for By and Schedules (#1028) 2023-05-13 08:23:59 -04:00
Jed Fox
e4e9267c08 Pull shiftKey state directly from the initiating event (#1022)
Fixes #1021
2023-05-10 18:45:34 -04:00
TheTrueCaligari
655b677961 bugfix: wrong regex in the space-dot format (#1017)
The regex for the "space-dot" format was incorrect.

When entering the amount on a schedule, the number was incorrectly read
(12.34 became 1234.00)
Strangely, it was not an issue with transactions...
2023-05-10 10:54:33 -04:00
TheTrueCaligari
8faa7bd68d Fix for issue #319 (#1008) 2023-05-09 10:11:04 -04:00
Alberto Gasparin
f618055aab Migrate top common components to TS (#979) 2023-05-09 20:31:22 +10:00
Jed Fox
54fa4bccf6 Enable 'curly' rule (#1015)
Multi-line `if`/`for` statements in JS can be confusing since there
aren’t braces to indicate which code is enclosed in the statement. I set
the configuration to `multi-line` to enforce usage of braces for
multi-line statement bodies, but still allow things like `if (foo)
return;`. I additionally added the `consistent` option to require braces
for all elements of an if/else chain if one element has it. As you can
see, this set of options pretty closely matches the existing code style.

I was going to comment in #1008 about this stylistic change but realized
that it’s (IMO) a little impolite to ask for code style changes unless
they can be automatically enforced.

Note that `if (foo) { \n return; \n }` is still valid and won’t be
collapsed. I tried to automatically collapse all such cases but it was a
lot of files and I didn’t want to pick out the useful from the useless
differences.
2023-05-08 22:54:17 -04:00
Matiss Janis Aboltins
24d4070667 🐛 (TransactionTable) fix split-transaction focus field (#999)
Closes #996
2023-05-08 12:06:30 -06:00
youngcw
7d80c3eda6 Goal Templates: add option to prevent removing funds when using "up to" in goal (#1004) 2023-05-07 09:35:04 -04:00
Davis Silverman
f7aa313aea Detect more errors in JS OFX importer. (#1005) 2023-05-07 06:38:41 -04:00
Matiss Janis Aboltins
bcc2abf472 🐛 (reports) 1y date range should be 12 months not 13 months (#1000)
Closes #375
2023-05-05 21:51:30 +01:00
Matiss Janis Aboltins
933ca3ecca (reports) ability to fine-tune reports with filters (#994) 2023-05-05 19:54:23 +01:00
TheTrueCaligari
acaff825c1 Add a new number format (space-dot) (#995) 2023-05-05 10:26:35 -04:00
Matiss Janis Aboltins
f913d99c9f 🔖 (23.5.0) various improvements (#993) 2023-05-04 18:23:08 +01:00
Matiss Janis Aboltins
539cb0e5cf 🐛 (transactions) create transaction when clicking enter (#992)
Closes #943

Creates the transaction when clicking "enter". Irrelevant of which field
is currently active.
2023-05-04 18:05:44 +01:00
Jed Fox
d2185909c3 Add support for credit card OFX files (#987) 2023-05-02 17:48:01 -04:00
Jed Fox
646d0d90a4 Remove unused payee rules feature (#985)
Fixes #615. I would appreciate double-checking that I didn’t
accidentally delete anything that is important.

Since I’m removing the related API methods, this is technically a
breaking change (even if people would have no reason to remove this
stuff), so we should probably do a major release of the API package.
2023-05-02 14:08:05 -04:00
shall0pass
66f7336be8 Priorities for goals (#961)
This attempts to add priorities for goal templates and addresses most of
https://github.com/actualbudget/actual/issues/959.

I couldn't find a good way to preserve both "Apply" and "Overwrite"
operations, so this PR does away with the current "Apply" action
behavior. Every box with a budgeted value will be overwritten if a
template goal is present.

The added syntax to define priorities is as follows:
#template    -- priority 0, highest priority
#template-1  --priority 1, 2nd highest priority
#template-2 --priority 2, 3rd highest priority
#template-N --priority N, as many as you'd like.

~~Leaving as a draft as this may not be the preferred implementation but
I wanted others to be able to try it with netlify.~~

---------

Co-authored-by: Caleb Young <cwy@rincon.com>
2023-05-02 13:53:09 -04:00
Matiss Janis Aboltins
4cebdb537c (nordigen): ability to set secrets via the UI (#968) 2023-05-01 21:04:19 +01:00
Matiss Janis Aboltins
977296361c 🐛 (nordigen) bank-list error handling (#969)
Improving error handling for Nordigen.

Before: if loading banks failed - a loading indicator would be shown
forever.

After: is loading banks fails - an error message is shown.
2023-05-01 18:32:48 +01:00
Matiss Janis Aboltins
4aab3dec0c 🔥 remove unused prop-types dependency (#976)
Removing unused `prop-types` dependency.
2023-05-01 10:47:27 +01:00
Trevor Farlow
bd14b51e1c @typescript-eslint/no-unused-vars (#974)
Switch to TS version of `no-unused-vars` rule.
2023-04-30 17:20:55 -06:00
Alberto Gasparin
2d7e0c3f7a Migrate core to TS p4 (#957)
This is the last PR with lots of renaming for `loot-core`!
2023-04-30 09:25:45 +10:00
Matiss Janis Aboltins
c4d3a1ce76 🐛 position notification banners always at bottom (#972)
Closes #956
2023-04-29 18:58:39 +01:00
Matiss Janis Aboltins
db65e83722 🐛 (Text) single-line text (#967) 2023-04-29 17:26:34 +01:00
Matiss Janis Aboltins
71908b6fb9 🐛 (transaction-table) show checkbox on hover (#966)
Closes #965
2023-04-28 23:32:26 +01:00
Matiss Janis Aboltins
851fa8c7f5 refactor(typescript): move some common components to TS (#962) 2023-04-28 23:13:37 +01:00
Matiss Janis Aboltins
30684a47d7 🐛 (mobile) correct topbar color on settings page (#960)
Closes #935

Before: we render all the pages (even the inactive ones in some cases)

After: we render only the visible pages. Thus the topbar color is set
only 1x.. thus the settings page topbar has the correct color.
2023-04-26 22:23:48 +01:00
Matiss Janis Aboltins
4b712699a8 🐛 (schedules) make transfers appear in both accounts (#955)
Closes #551

Make scheduled transfers appear in both accounts.
2023-04-25 20:24:32 +01:00
Matiss Janis Aboltins
abc4552a78 🐛 (nordigen) fallback button to re-init bank-sync for popover blockers (#950) 2023-04-24 09:27:57 +01:00
Matiss Janis Aboltins
a69d858328 ♻️ re-arrange schedule operation options to be more logical (#953) 2023-04-24 09:27:17 +01:00
biohzrddd
9695043206 Add setting to change first day of the week: Issue #844 (#910)
<!-- 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 -->

Resolves issue #844 .

---------

Co-authored-by: biohzrddd <>
2023-04-23 15:43:34 -04:00
Aaron Eiche
e036397614 Fixes issue #846 by eliminating empty lines during import. (#951) 2023-04-23 20:38:32 +01:00