- Jun 18, 2023
-
-
Matiss Janis Aboltins authored
actual-server does not need to import the full actual-app/api package. It can import only the CRDT stuff.. so I'm extracting it into a new package to reduce the size of actual-server and make the link between things more transparent.
-
- Jun 17, 2023
-
-
Shazib Hussain authored
-
- Jun 16, 2023
-
-
Jed Fox authored
This reverts #1029. As raised in #1097, the formatting chosen doesn’t work well when doing math. There may be a way to balance compatibility with multiple format styles with handling non-currency amounts correctly, but it will require some more careful consideration. Re-opens #894.
-
Jed Fox authored
URLs with the trailing slash don’t work well — requests end up being made to `https://example.com//sync/sync` and such which can 404 --------- Co-authored-by:
Matiss Janis Aboltins <matiss@mja.lv>
-
- Jun 15, 2023
-
-
Jed Fox authored
Depends on https://github.com/actualbudget/docs/pull/202.
-
- Jun 11, 2023
-
-
Jed Fox authored
Previously, the frontend would attempt to make real requests to `https://not-configured/`, which of course failed. I’ve changed the internal structure to have the lack of a server expressed as a `null` server. A new `did-bootstrap` browser-level setting has been added to track if the user clicked “Don’t use a server.” Finally, I updated the auth logic for methods that call out to the server to make them consistent and use the early return style which reduces indentation.
-
youngcw authored
This adds an option to the month drop down to check all the template lines. If there are errors the offending line is shown with its category. I also modified the wording on the regular template return to be more accurate. Fixes #1100
-
- Jun 09, 2023
-
-
Jed Fox authored
Bundle sizes are unchanged but now we no longer pull in the Electron-specific FS code on the web version
-
- Jun 08, 2023
-
-
Davis Silverman authored
Draft because it is untested, maybe tonight I will test it! Just wanted to get some code out cause i had a spare 5 minutes. The new parser isn't immediately good enough to replace the old parser, and I sadly lost the time to contribute more! Sorry! If someone else wants to take maintenance burden of this code, we can not merge this. Otherwise, it should go the way of the Dodo it seems. Thanks! Closes #1044
-
- Jun 06, 2023
-
-
Jed Fox authored
Closes #944, closes #532. ~WIP because something is causing the test budget to fail to create because it’s using INSERT instead of UPDATE sql queries. (Or not? I have no idea)~
-
youngcw authored
Added the option to add a remainder goal template. This will use the remaining available funds and dump them into the respective category. There is optional weighting. The remainder templates will be forced to the lowest priority as to run after all other templates. Usage: `#template remainder <weight>` Add the template line to any categories you want to catch any remaining funds such as savings. The amount added to the category will equal `remaining_budget/total_of_weights*weight`. The default weight is 1.
-
- Jun 04, 2023
-
-
Shazib Hussain authored
- Fix socket connection issues when reloading - Fix external url clicking & middle clicking internal links - Remove broken menu option. Easier for now than refactoring the settings panel it now lives in. We can add it back later if needed?
-
Jed Fox authored
Previously, this would fail with a confusing “cannot read property of `undefined`” error.
-
- Jun 03, 2023
-
-
shall0pass authored
There was one more location where the cleanup script could generate an error. This should fully resolve the error, along with https://github.com/actualbudget/actual/pull/1084.
-
- Jun 02, 2023
-
-
Jed Fox authored
-
- Jun 01, 2023
-
-
shall0pass authored
-
youngcw authored
-
- May 30, 2023
-
-
shall0pass authored
This adds back the functionality, which was inadvertantly removed, that includes the already spent column in the calculation when the template is run. Some transactions may be posted to the account prior to running the templates and would result incorrect budgeted amounts. --------- Co-authored-by:
Jed Fox <git@jedfox.com>
-
shall0pass authored
~This is really just a proof of concept. I have no delusions that this might get included. I'm sure others might have a much cleaner implementation.~ I'm now delusional. Resolves https://github.com/actualbudget/actual/issues/508 Taking @youngcw 's advice, I changed the keyword to #cleanup for the end of month script to keep it separated. This screen video shows two categories that are sources of funds. At the end of the month, any excess in these funds can be redistributed to your highest priorities. Three categories are set as sinks, or recipients, of excess funds. #cleanup source -> Move 'extra' funds to To Budget #cleanup sink -> Fund category with To Budget funds, default weight = 1 #cleanup sink 2 -> Fund category with To Budget funds, weight = 2 Steps of the script: 1. Return funds from any category marked 'source' 2. Fund overspent categories fully if negative carryover is not allowed. 3. Fund each 'sink' category by the desired weight. I run through the script twice. Once to show that if there is a debt category that has a rolling negative balance, it will skip funding that category first and once to show how if a rolling negative balance isn't allowed, it will fund it before applying the weighted remainder. The example shown uses weights of 60, 20, and 20; therefore, the Debt category will receive 60% of the To Budget funds while General and Bills receive 20% each. The weights could have been changed to 6, 2, and 2 or 3 for the Debt category with no additional value for General and Bills to achieve the same result. 
-
- May 29, 2023
-
-
Jed Fox authored
- Enforce that imports from the same package are merged into a single import - In `loot-core`, require that imports of other `loot-core` files use a relative import (like the vast majority of such imports) rather than specifiers starting with `loot-core/` (probably a result of moving files out of other packages into `loot-core`)
-
- May 28, 2023
-
-
Jed Fox authored
-
- May 27, 2023
-
-
Jack authored
-
- May 25, 2023
- May 24, 2023
-
-
shall0pass authored
-
youngcw authored
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.
-
- May 20, 2023
-
-
chylex authored
-
- May 18, 2023
-
-
Shazib Hussain authored
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>
-
- May 17, 2023
-
-
Alberto Gasparin authored
Another batch of components in `desktop-client` converted to TS
-
- May 15, 2023
-
-
SudoCerb authored
# 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.
-
- May 13, 2023
-
-
youngcw authored
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.
-
shall0pass authored
-
- May 10, 2023
-
-
TheTrueCaligari authored
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...
-
- May 09, 2023
-
-
Alberto Gasparin authored
-
Jed Fox authored
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.
-
- May 07, 2023
-
-
youngcw authored
-
Davis Silverman authored
-
- May 05, 2023
-
-
TheTrueCaligari authored
-
- May 02, 2023
-
-
Jed Fox authored
-
Jed Fox authored
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.
-