- Apr 22, 2023
-
-
shall0pass authored
I've changed the method of calculating the budgeted amount. There may be a more efficient way of writing the loop, so I'm looking forward to the review. This change implements the mathematics of (Target1+Target2+TargetN-Last_months_category_balance) / (MonthsRemaing1 + MonthsRemaining2 + MonthsRemaingN) * N. This is an averaged approach for multiple templates in the same category. It will appear to overbudget or underbudget some months compared to multiple single targets in different categories, yet there should always be enough saved in the category to satisfy the target due. Setting a target, it's assumed that money will be spent in the appropriate month, When a target reaches maturity, the money in the category associated with that target should be spent or moved so the remaining targets continue to be funded. I don't see an easy way of fixing that, but I hope this change will be of some help. Current method: Notice how the Bills (flexible) category reduces each month, resulting in larger budgeted amounts later in the goal cycle.  Proposed method: **Note: The fact that the initial fill in this example equals the expected fill is a coincidence based on the template values I chose. The initial fills can be different from expected fill. 
-
- Apr 16, 2023
-
-
Pol Eyschen authored
Co-authored-by:
Jed Fox <git@jedfox.com>
-
- Apr 13, 2023
-
-
shall0pass authored
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.
-
- Apr 12, 2023
-
-
Alberto Gasparin authored
Another batch of files from `loot-core` migrated to TS (loose mode)
-
shall0pass authored
Resolves issue https://github.com/actualbudget/actual/issues/888
-
- Apr 10, 2023
-
-
Alberto Gasparin authored
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.
-
- Apr 07, 2023
-
-
Jakub Kuczys authored
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...
-
shall0pass authored
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.
-
- Apr 06, 2023
-
-
Jed Fox authored
<!-- 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 -->
-
- Apr 03, 2023
-
-
Alberto Gasparin authored
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.
-
- Mar 29, 2023
-
-
Alberto Gasparin authored
-
- Mar 24, 2023
-
-
Jed Fox authored
Seems to build fine, will test later.
-
- Mar 21, 2023
-
-
Jed Fox authored
-
Jakub Kuczys authored
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>
-
- Mar 20, 2023
-
-
Matiss Janis Aboltins authored
Depends on server change: https://github.com/actualbudget/actual-server/pull/168
-
- Mar 17, 2023
-
-
Matiss Janis Aboltins authored
Upgraded `fast-check` to improve unit test performance.
-
- Mar 16, 2023
-
-
Matiss Janis Aboltins authored
Removing - Debugger - `perf-deeets` - `codemirror`
-
- Mar 14, 2023
-
-
Jed Fox authored
-
Jed Fox authored
Thanks @kidglove57 for spotting this issue and helping me track down the cause! --------- Co-authored-by:
Matiss Janis Aboltins <matiss@mja.lv>
-
Waseem Hassan Shahid authored
Fixes https://github.com/actualbudget/actual/issues/724#issuecomment-1468453526 And add the missing fallback condition that wasn't catered in https://github.com/actualbudget/actual/pull/745
-
- Mar 13, 2023
-
-
Matiss Janis Aboltins authored
Related to: https://github.com/actualbudget/actual/issues/724#issuecomment-1455160250 Depends on https://github.com/actualbudget/docs/pull/126 to be merged first. Two changes here: 1. show "link account" only if actual-server is used (user is "online"); 2. allow linking accounts only if Nordigen is configured (using new API to get the status for it); Also ported the `CreateAccount` modal to a functional component.
-
Matiss Janis Aboltins authored
Fallback to `bookingDate` if `valueDate` is empty. Fix for: https://github.com/actualbudget/actual/issues/724#issuecomment-1464914546
-
- Mar 12, 2023
-
-
James Long authored
Route aggregate queries in transaction grouped mode through the correct layer to remove deleted transactions (#247) I recently migrated my personal usage of Actual over to the open-source version and imported a bunch of transactions. I have a _lot_ of history in Actual, including a lot of weird edge cases like deleted split transactions. While reconciling I noticed that my account balance shown at the top was incorrect, even though the running balance was current. Digging into this, I discovered that we aren't correctly handling aggregate queries when querying transactions in the "grouped" mode. Aggregate queries don't make sense in the "grouped" mode. Grouped means that you want a list of transactions that include both the parent and child transactions (when they are split). If you are summing up all the amount, you only want to consider non-parent transactions. So we switch it back to "inline" mode, but the way we did this previously was to manually stitch the query together. Even though was add SQL to ignore deleted transactions, we still possibly include them. A child transaction may not be marked as deleted, even though the parent transaction is deleted. When a parent transaction is deleted, all child transactions should be considered deleted as well, regardless of their tombstone status. This is what the `v_transactions_internal_alive` view does. Previously we weren't going through this view though, so we could still potentially include split transactions even though they've been deleted. This is little hacky, but it fixes the immediate problem. We fall back to the inline mode by modifying the where clause, and we also adjust the view that it queries to use the correct one.
-
Jakub Kuczys authored
Try falling back to `remittanceInformationUnstructuredArray.join(', ')` when neither `debtor/creditorName` nor `remittanceInformationUnstructured` fields are present. Addresses a suggestion from https://github.com/actualbudget/actual/issues/724#issuecomment-1464907064
-
Jakub Kuczys authored
Check if the transaction amount is a positive 0 rather than -0. I went for casting the string with `Number` but I could instead replace the whole condition with `!trans.amount.startsWith('-')` or with `trans.amount > 0 || trans.amount == '0.00'` if either of these variants are preferred. Fix for https://github.com/actualbudget/actual/issues/724#issuecomment-1464907064
-
- Mar 06, 2023
-
-
Matiss Janis Aboltins authored
Related to: https://github.com/actualbudget/actual-server/pull/144 See the above PR for more details. --- <img width="577" alt="Screenshot 2023-03-05 at 17 54 10" src="https://user-images.githubusercontent.com/886567/222977363-605f8b1e-be7d-4594-93c7-dfaa6cb15ac3.png">
-
- Mar 05, 2023
-
-
Jed Fox authored
-
- Mar 04, 2023
-
-
Filip Stybel authored
* Update gitignore about .idea folder The .idea folder is generated by IntelliJ IDEA * Add integration with Nordigen * Fix linter * Use longer access to the account * Move normalizatoin of accounts to the backend side * Fix possibility to force remove account * Move normalization of transactions to the backend side * Fix Settings.js after merge * fix enableing bank sync * delete old Settings component * Use camelCase for nordigen/remove-account call * WIP refactor * Fix auto-selecting existing accounts * Fix unlinking accounts * Align to backend changes for Nordigen integration * Fix AnimatedLoading * Code review changes * Fix TZ date issue * rm mobile package * rm BankSync settings section * rm console.log * rm comment * applies some alignments from code review * applies some alignments from code review * Add prefix for nordigen specific functionality * Use arrow char * Add prefix for nordigen functionalities * Fix linter * Display only open accounts * Update packages/desktop-client/src/nordigen.js Co-authored-by:
Jed Fox <git@jedfox.com> * Fix incorrect calc of TZ for endDate * Improved error checking * Fix throwing invalid-schema error * Fix for syncing large batches in Safari --------- Co-authored-by:
Filip Stybel <filip.stybel@ynd.co> Co-authored-by:
Leon Ebel <24588023+ebelleon@users.noreply.github.com> Co-authored-by:
Jed Fox <git@jedfox.com>
-
- Mar 02, 2023
-
-
Jed Fox authored
-
- Feb 28, 2023
-
-
Jed Fox authored
* Sort transactions by date in updateCategoryRules * Update better-sqlite3 to 7.5.0 * Update better-sqlite3 to v8
-
Jed Fox authored
* Run `yarn dedupe` * Update to better-sqlite3@latest * Remove react-native * Remove a bunch more unused deps * Update mitt to 3.0 * Remove a few more * Remove react-native-gesture-handler * Revert "Update to better-sqlite3@latest" This reverts commit d436bc8d73f2745f484def4e40596322d0c56458. * Dedupe better-sqlite3 versions * snapshots! * Fix jsdom error * Revert "Dedupe better-sqlite3 versions" This reverts commit f99d2ab6f9311663e3312ab5b00bc81c068f040d. * Add back jest-watch-typeahead * Fix conflicting Jest version (The jest-environment-jsdom package that is magically available seems to only be compatible with Jest 27)
-
Matiss Janis Aboltins authored
-
- Feb 24, 2023
-
-
Jed Fox authored
* Make it easier to build the bundle.api.js for the API * Remove budgetId parameter, move config to top level of API * that’s a breaking change * Add support for signing into the server in init() * Add api.downloadBudget(syncId, { password }) method * Fix lint errors * Refactor: extract out getSyncError * api/download-budget: sync if possible instead of downloading * Don’t bother with fetching remote files and installing key if the file is local * *groupId * FIx lint issues * Remove extra close+reopen * Refactor out duplicate load-budget logic * Trailing commas
-
- Feb 21, 2023
-
-
Jed Fox authored
* Allow the server to auto-configure the server URL for the client * Extract server URL/version logic out to ensure consistent updates * () * Be more explicit about when the server version is re-fetched * Use a single layer of context provider * Move the bootstrap route to /account/needs-bootstrap * No more `isActual` * Refactor to call subscribe-needs-bootstrap instead of fetch() * Dedupe calls to subscribe-needs-bootstrap * Don’t revalidate the server when we just validated it * simplify * Fix setServerURL
-
Jed Fox authored
* Provide more debugging information when throwing an invalid-schema sync error * Don’t log the errors directly * Update dynamic cell warning to be clearer * rebuild
-
- Feb 15, 2023
-
-
Matiss Janis Aboltins authored
-
- Feb 12, 2023
-
-
Jed Fox authored
* Dedupe loot-core webpack configs * Swap to parsing using Peggy * Actually record syntax errors * Refactor template types * Add notifications after applying the templates * “Successfully” * Try a Nearley grammar * Revert "Try a Nearley grammar" This reverts commit 1e11c07b855a492b905f1291c3eadd93f78ac3de. Not going with this approach since the error messages are inscrutable. * switch to PEG.js which has slightly better tooling support * fix parser * Fix error reporting * Adjust grammar for better error messages Also allow spaces between currency symbol and number * Fix grammar * Make #template prefix case insensitive * Trailing commas * Remove patch-package from loot-core
-
- Feb 10, 2023
-
-
Matiss Janis Aboltins authored
*
(prettier) adding trailing commas * More commas
-
- Feb 05, 2023
-
-
Rich Howell authored
* Remove all references to help@actualbudget.com Replaced help@actualbudget.com with link to GitHub issues * Lint Fixes Lint Fixes * Added React React required for href expansion as per lint rules https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/react-in-jsx-scope.md * Changed links to contact page and fixed linting Changed links to contact page and fixed linting * Update packages/desktop-client/src/components/accounts/AccountSyncCheck.js Co-authored-by:
Jed Fox <git@jedfox.com> * Lint fixes * JSX removal * Lint * Update packages/desktop-client/src/components/tutorial/Final.js Co-authored-by:
Matiss Janis Aboltins <matiss@mja.lv> * Update packages/desktop-client/src/components/accounts/AccountSyncCheck.js Co-authored-by:
Matiss Janis Aboltins <matiss@mja.lv> * Lint fixes --------- Co-authored-by:
Jed Fox <git@jedfox.com> Co-authored-by:
Matiss Janis Aboltins <matiss@mja.lv>
-
- Feb 04, 2023
-
-
Jed Fox authored
-