Skip to content
Snippets Groups Projects
  1. Jul 24, 2023
  2. Jul 20, 2023
  3. Jul 18, 2023
  4. Jul 02, 2023
  5. Jun 28, 2023
  6. Jun 27, 2023
  7. Jun 25, 2023
  8. Jun 24, 2023
  9. Jun 23, 2023
  10. Jun 20, 2023
  11. Jun 16, 2023
  12. Jun 15, 2023
  13. Jun 06, 2023
    • Jed Fox's avatar
      Remove account types (#948) · a25327d3
      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)~
      a25327d3
  14. May 20, 2023
  15. May 18, 2023
    • Shazib Hussain's avatar
      Fix electron app (#1003) · 461132b9
      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: default avatarShazib Hussain <contact@shazib.com>
      Co-authored-by: default avatarJed Fox <git@jedfox.com>
      461132b9
  16. May 10, 2023
  17. May 05, 2023
  18. Apr 29, 2023
  19. Apr 23, 2023
  20. Apr 20, 2023
  21. Apr 16, 2023
  22. Apr 12, 2023
  23. Apr 10, 2023
    • Alberto Gasparin's avatar
      Convert commonjs to esm (#877) · cd00da76
      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.
      cd00da76
  24. Apr 03, 2023
    • Alberto Gasparin's avatar
      Convert loot-core to TS p1 (#841) · 79ad04dd
      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.
      79ad04dd
  25. Mar 29, 2023
  26. Mar 28, 2023
  27. Mar 24, 2023
  28. Mar 21, 2023
  29. Mar 18, 2023
  30. Mar 17, 2023
  31. Feb 28, 2023
    • Jed Fox's avatar
      Intelligently adjust field for newly added action (#680) · 9ead7d50
      Jed Fox authored
      * Intelligently adjust field for newly added action
      
      * Remove unnecessary switch case
      
      * Dedupe list of fields
      
      * Remove unnecessary conditionFields prop
      
      * Intelligently adjust field for newly added condition
      
      * Use a less specific condition
      9ead7d50
  32. Feb 24, 2023
    • Jed Fox's avatar
      Updates to the @actual-budget/api package (#464) · 93a1f8a9
      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
      93a1f8a9
  33. Feb 23, 2023
    • Jed Fox's avatar
      Fix error cases in displaying filters/rules (#678) · 2a8b25a3
      Jed Fox authored
      * Add missing imported_payee case
      
      * Switch over to a `switch` to ensure no other cases are missed
      
      * Fix switching from “amount” to “amount (inflow/outflow)”
      
      * fix crash when parsing null value as number
      
      * Fix formatting for “payee/category/account contains” filters
      2a8b25a3
  34. Feb 10, 2023
  35. Feb 05, 2023
  36. Jan 31, 2023
Loading