Commit Graph

59 Commits

Author SHA1 Message Date
Jed Fox
2108712f2d Fix size comparison workflow on fork PRs (#1214)
This PR moves the size comparison action back to a separate workflow
which now uses the `pull_request_target` event. This event is triggered
at all the same times as the `pull_request` action, except that the
workflow file content comes from the target branch of the PR, and it is
run in the context of the repo owning the target branch. Practically,
this means that it will still have access to post a comment even if the
PR comes from a fork.

We don’t want the build actions to be run in a `pull_request_target`
workflow because they would get access to the secrets and be able to
perform arbitrary actions on the repository, even from fork PRs.

See the current version failing here:
https://github.com/actualbudget/actual/actions/runs/5395184895/jobs/9797388016?pr=1122
2023-06-28 12:04:15 -04:00
Jed Fox
081c9d068f Display bundle size changes in comments on opened PRs (#1205) 2023-06-27 12:46:27 -04:00
Jed Fox
d48add55b6 Fix completed feature request handling (#1183) 2023-06-25 12:55:27 -04:00
Matiss Janis Aboltins
2b64a49359 🔥 removing needs-triage github label (#1157) 2023-06-21 20:08:42 +01:00
Matiss Janis Aboltins
610c42a1ae ♻️ (crdt) moved re-used utils in actual-server to separate package (#1150)
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.
2023-06-18 20:16:50 +01:00
Jed Fox
15bc3c45a0 Partition GitHub Actions cache based on Node version (#1118)
This should fix the test failures on `master` — currently tests are
failing because the cache was created with an old version of Node.
2023-06-11 13:37:20 -04:00
Jed Fox
c1af40ff5c Update recommended version to Node.js 18 (#1117)
After #1115, new Node.js versions will be able to be used for
development of the frontend. This PR changes the recommended Node.js
version to 18 (the current LTS version). I have also tested with 16 and
20 and it works.

I also took the opportunity to:

- move the build script that was at the project root to the `bin/`
folder
- update the `browserslist` to target Electron 24 (which is the version
we currently build against). This results in a slightly smaller bundle
due to no longer having to transpile optional chaining.
2023-06-10 13:12:42 -04:00
Jed Fox
6e6d765699 Fix migration ID for “remove account type” migration (#1109)
Good catch @Jackenmen in
https://github.com/actualbudget/actual/pull/948#issuecomment-1580501909
— I’ve also added a CI check to ensure bad migrations aren’t introduced
in the future.

I think if you have a budget that has managed to have this migration
applied successfully, you’ll need to manually patch
`getAppliedMigrations` in
`packages/loot-core/src/server/migrate/migrations.ts` and inject a query
to remove the old migration ID and insert the new one.
2023-06-08 14:52:13 -04:00
Matiss Janis Aboltins
a0dfb8afbd 🔖 (23.6.0) category hiding and filters for reports (#1087)
Web: https://github.com/actualbudget/actual/pull/1087
Server: https://github.com/actualbudget/actual-server/pull/207
Docs: https://github.com/actualbudget/docs/pull/179

---------

Co-authored-by: Jed Fox <git@jedfox.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-06-01 20:58:42 +01: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
d400ebfda0 Fix the API (again) (#1002) 2023-05-16 14:56:24 -04:00
Jed Fox
c9576d98e4 Remove “needs votes” label from feature requests that have been implemented (#1001) 2023-05-06 18:06:05 -04:00
Matiss Janis Aboltins
3d4b0c0e25 👷 run feature-request management action once (#982)
Run the feature-request github action only once for the "feature" label.

Demo: https://github.com/MatissJanis/actual/issues/8


Also fixed the link to issue list.
2023-05-01 20:37:54 +01:00
Matiss Janis Aboltins
99cf51c159 👷 run feature-request action on labeled action (#980)
Run the feature request management action when adding "feature" label.

This will allow us to..
1. remove "feature" label
2. add back "feature" label

Thus execute the workflow on the existing issues.
2023-05-01 20:26:04 +01:00
Matiss Janis Aboltins
e6b5782c64 👷 auto-close feature requests (#954) 2023-05-01 19:53:35 +01:00
Jed Fox
ba59deae5f Add CodeQL action (#890) 2023-04-12 23:28:53 -04:00
Jed Fox
aa2e837e7e Don’t check for release notes on release/* branches (#864) 2023-04-07 16:15:12 -04:00
Alberto Gasparin
c009a0c7fb Start Typescript inception (#816) 2023-03-28 16:49:51 -05:00
Jed Fox
2762495a68 Fix end-to-end testing workflow (#758) 2023-03-14 19:33:15 -04:00
Jed Fox
319679fd65 Add support for automatically generating release notes (#746)
See https://github.com/actualbudget/docs/pull/129 for more details. If
this is accepted, I’ll fill in release notes for the PRs that have been
submitted since the last release and submit a corresponding PR to
`actual-server`.

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-03-14 14:18:14 -04:00
Jed Fox
2793beab6f Create an artifact with the built web UI for each commit (#729)
Part of fixing the horrendously slow Docker build for the server edge
images.
2023-03-06 16:57:50 -05:00
Matiss Janis Aboltins
7d2adfa02e 👷 upgrade github actions (#711)
* 👷  upgrade github actions

* Upgrade actions/checkout
2023-03-02 17:02:50 +00:00
Jed Fox
93a1f8a944 Updates to the @actual-budget/api package (#464)
* 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
2023-02-23 23:01:05 -05:00
Jed Fox
f6973bfdb3 Add a suggestion to upload the imported file if reporting an import bug (#605) 2023-01-31 18:04:56 -05:00
Rich Howell
8d8eab3421 Delete stale-pr.yml
Removing as this isn't used.
2023-01-26 16:59:21 +00:00
Jed Fox
8fa127abd0 Add an issue template for feature requests (#575)
* Bug report: switch “please search first” to a checkbox

* Add an issue template for feature requests

* Add a “willing to implement” checkbox

* + section about docs/learning

* Wording improvements
2023-01-25 15:32:58 -05:00
Matiss Janis Aboltins
82869d85b8 👷 disable failing electron builds (#472) 2023-01-18 22:16:05 +00:00
Matiss Janis Aboltins
62df8e2ffb 👷 remove waiting-for-review auto label github action (#483) 2023-01-18 22:08:38 +00:00
Rich Howell
02718b9dfd Update opened-pr-triage.yml 2023-01-18 18:30:03 +00:00
Rich Howell
a613412c85 Update opened-pr-triage.yml 2023-01-18 18:19:29 +00:00
Rich Howell
e8d736cead Update opened-pr-triage.yml 2023-01-18 18:16:33 +00:00
Rich Howell
efc43ea773 Update opened-pr-triage.yml 2023-01-18 18:09:43 +00:00
Rich Howell
b390a83650 Update opened-issues-triage.yml 2023-01-18 18:09:29 +00:00
Rich Howell
d7d1f5a29e Update opened-pr-triage.yml
Dropped checkout back to v1
2023-01-18 18:02:09 +00:00
Rich Howell
e223c50062 Update opened-issues-triage.yml
Dropped checkout back to v1
2023-01-18 18:01:58 +00:00
Rich Howell
c13c0abbc5 Update stale workflow (#474) 2023-01-17 22:41:42 +00:00
Matiss Janis Aboltins
0e1cef699e 👷 improving playwright install speed (#452)
* 👷  improving playwright install speed

* use chromium
2023-01-16 19:48:52 +00:00
Matiss Janis Aboltins
50a71335e6 test: bare-bones e2e testing with playwright (#416) 2023-01-12 22:43:32 +00:00
Rich Howell
93f0093c1d Update stale.yml
Removed auto close
2022-10-20 07:37:53 +01:00
Rich Howell
0e441eeed2 Update stale.yml 2022-10-19 18:48:11 +01:00
Rich Howell
f190443272 Create stale.yml 2022-10-19 18:47:08 +01:00
Tom French
5a00bf6b43 ci: fix CI to an exact node version (#240) 2022-09-02 20:28:33 +01:00
Rich Howell
f09f2dfe7b Update bug-report.yml (#228)
Added Mac OSX and updated description
2022-08-31 19:10:01 +01:00
Tom French
6f86bd77e8 github fix indentation in issue template 2022-08-24 21:25:48 +01:00
Tom French
d83c75d1ae github: update issue template 2022-08-24 21:24:13 +01:00
Tom French
c7a32ec8d0 Update bug-report.yml 2022-08-24 20:18:32 +01:00
Rich Howell
a94def9c55 Merge branch 'actualbudget:master' into master 2022-08-24 18:12:38 +01:00
Rich In SQL
6d31a1cda9 Addition: Issue template
Issue template and configuration.
2022-08-24 18:11:56 +01:00
Tom French
31e2b01df3 Merge pull request #129 from TomAFrench/issue-triage-action
Add action to mark new issues for triage
2022-08-24 17:52:46 +01:00
Tom French
c40b5e4d5d ci: run tests on github actions 2022-08-23 17:14:46 +01:00