* Refactor how report dates are handled to more closely match pattern oin CashFlow report. Fixes issues with black screen when selecting certain Live date modes
* Add null handling for allMonths and make date clamping more consistent.
* Remove arbitray limit for at least two montsh to calculate expenses. This allows the chart to work (someone) with one previous month of expenses.
* Fix VRT comment posting for fork PRs
Use workflow_run trigger to post VRT failure comments with elevated permissions, enabling comments on PRs from fork repositories where GITHUB_TOKEN is read-only.
* Update permissions in e2e-vrt-comment workflow to allow read access for actions
* Enhance VRT comment posting in workflow by using environment variables for PR number and artifact URL
- Removed temporary ignores for the docs package.
- Updated linting rules for the docs package to improve code quality.
- Refactored variable declarations from `let` to `const` for better consistency.
- Added a new configuration file for oxlint in the docs directory.
- Made minor formatting adjustments across various components.
* fix: hide merge-and-edit-rule when not creating rule
When 'Automatically rename these payees in the future' is unchecked, no rule is created, so 'Merge and edit rule' should not be offered.
Fixes#6377
* docs: add release note for #6393
* fix: use start:browser for playwright webServer to load correct browser-preload
The playwright webServer was running 'yarn start' which doesn't set
IS_GENERIC_BROWSER, causing Vite to not resolve .browser.js files.
This resulted in browser-preload.js (empty electron stub) being loaded
instead of browser-preload.browser.js, making window.Actual undefined.
Changed to 'yarn start:browser' which properly sets IS_GENERIC_BROWSER=1
via the watch-browser script.
* chore: update Playwright configuration and add blob-report to .gitignore
- Modified Playwright config to use 'yarn start' with the correct working directory for local builds.
- Added 'blob-report' to .gitignore to exclude it from version control.
- Created release notes for running e2e tests against a local build instead of Netlify.
* chore: update transaction test snapshots for split and transfer transactions
- Updated binary snapshots for split and transfer test transactions in the e2e tests.
- Ensured that the latest visual changes are reflected in the test suite for accurate regression testing.
* chore: update transaction test snapshots for split and transfer transactions
- Updated binary snapshots for split and transfer test transactions in the e2e tests to reflect recent changes.
- Ensured visual consistency for accurate regression testing.
* refactor: change test lifecycle hooks from beforeAll/afterAll to beforeEach/afterEach
- Updated test files to use beforeEach and afterEach hooks for better isolation of tests.
- This change ensures that each test starts with a fresh state, improving reliability and reducing side effects across tests.
* chore: update e2e test workflow to disable translation downloads
- Modified the e2e test workflow to include a new input parameter `download-translations` set to 'false' for the setup action.
- This change aims to streamline the testing process by preventing unnecessary translation downloads during the test runs.
* chore: update e2e test snapshots for settings page visuals
- Updated binary snapshots for the settings page in e2e tests to reflect recent visual changes.
- Ensured that the latest visual updates are accurately represented for regression testing.
* fix: safely close page in e2e tests
- Updated all e2e test files to use optional chaining when closing the page, ensuring that the close method is only called if the page is defined.
- This change improves the robustness of the tests by preventing potential errors when the page object is not available.
* feat: trigger VRT updates via /update-vrt comment
- Change vrt-update-generate.yml to trigger on issue_comment with /update-vrt
- Update VRT failure comment to inform users about the /update-vrt command
- Add step to fetch PR details since issue_comment events don't provide them
* fix: update VRT trigger condition to use startsWith for command detection
- Modify the condition in vrt-update-generate.yml to use startsWith instead of contains for the /update-vrt command in PR comments, ensuring more accurate command detection.
* Update useTagCSS.ts light = dark
* Update useTagCSS.ts so all themes use the same color scheme
* [autofix.ci] apply automated fixes
* Improve tag readability in light theme.
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
When using the @actual-app/api package, if authentication failed during
init() (e.g., wrong password, network issue), the error was silently
ignored. This led to confusing 'Could not get remote files' errors later
when calling downloadBudget().
This fix ensures init() properly throws an error when authentication
fails, providing clear feedback like 'Authentication failed: invalid-password'.
Fixes#6320
* Refactor e2e-test workflow to improve Playwright test sharding and report handling
- Restore full shard count (5 shards) for Playwright tests to enhance test coverage and performance
- Re-enable functional desktop app tests with proper xvfb setup
- Simplify Playwright test command structure for better readability
- Refactor VRT blob report merging process with improved artifact handling
- Update Playwright reporter configuration to use blob reporter in CI
- Streamline artifact paths and download/merge operations for better organization
* Remove VRT environment variable from e2e-test workflow to streamline test execution
* Update e2e-test workflow to always upload VRT blob report artifacts, ensuring consistent artifact handling regardless of job cancellation.
* Fix detection of crossover point for low expense months
Always compute the expense projection and calculate the crossover point
based on the projection instead of individual historical expense data
because otherwise a low expense month can incorrectly trigger a false
crossover point detection.
See comment at
https://github.com/actualbudget/actual/issues/6134#issuecomment-3608140098
for more information.
Signed-off-by: Jonathon Jongsma <jonathon@quotidian.org>
* Update VRT screenshots
Auto-generated by VRT workflow
PR: #6371
---------
Signed-off-by: Jonathon Jongsma <jonathon@quotidian.org>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* adding path filters to workflows so they only run when required
* trigger them also when the workflow changes
* adding yarn lock in case packages affect e2e
* release notes
* add the package.json in case we modify the scripts
* Remove API changes from size comparison workflow
* Clarify size impact of package changes in workflow
Updated comments to clarify that certain package changes don't affect the size of the web/api.
* Fix comments for VRT update exclusions
* Update VRT screenshots
Auto-generated by VRT workflow
PR: #6364
* Update VRT screenshots
Auto-generated by VRT workflow
PR: #6364
* Fix comment formatting in VRT update workflow
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* Use personal access token securely for VRT update workflow push
* Update button label from 'Apply budget template' to 'Overwrite budget template' in mobile budget menu modal for consistency with recent changes.
* Update button label from 'Overwrite budget template' to 'Overwrite with template' in mobile budget menu modal for clarity and consistency.
GITHUB_TOKEN doesn't have permission to push to fork branches. Use a PAT stored as ACTIONS_UPDATE_TOKEN instead for:
- VRT update workflow (checkout and push to contributor forks)
- AI-generated release notes (commit files to PR branches)
* Fix lint violations
* Refactor code for clarity and consistency
- Updated various components to improve readability and maintainability, including:
- Changed `while (1)` to `while (true)` for better clarity.
- Simplified conditional checks by removing unnecessary boolean casts.
- Added missing `key` props in mapped elements to ensure proper rendering in lists.
- Adjusted the handling of hidden states in budget components for clearer logic.
- Cleaned up linting rules in `.oxlintrc.json` to streamline configuration.
* Enhance accessibility and linting compliance
- Updated `.oxlintrc.json` to add a warning for `jsx-a11y/no-autofocus` and removed several disabled rules.
- Added `aria-level` attributes to improve semantic structure in `Page.tsx`, `Modal.tsx`, and `ReportCardName.tsx`.
- Replaced `<label>` elements with `<Text>` components in various modals to ensure proper accessibility.
- Added `htmlFor` attributes to labels in `ImportTransactionsModal.tsx` for better form accessibility.
- Disabled specific linting rules inline to address accessibility concerns in `Image.jsx` and `Toggle.tsx`.
* Add new keywords to spelling allowlist
- Updated `.github/actions/docs-spelling/allow/keywords.txt` to include `oxfmt` and `oxlint` for improved spell-checking in documentation and code comments.
* Disable no-autofocus rule in .oxlintrc.json
* Update Trans component usage in MergeUnusedPayeesModal
* [autofix.ci] apply automated fixes
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
* Update importing.md
Update to include links to connecting your bank, community projects and added that AB supports CAMT imports.
* Update importing.md
* Update importing.md
* Update importing.md
Added pluggy.ai
* Apply suggestions from code review
Co-authored-by: youngcw <calebyoung94@gmail.com>
---------
Co-authored-by: youngcw <calebyoung94@gmail.com>
* add tokens to replace in release pipeline for metainfo release dates/versions
* validate the metainfo in pipeline
* install appstream first
* release notes in the metainfo
* release notes for metainfo - testing pipeline
* pipeline works
* brand colors as per flathub recommendation
* picked colours following flathubs recommendations
* contrast
* contrast checked
* updating nightly flow to also work with new metainfo for testing
* replacing manifest info and creating pr
* minor improvements
* release notes
* upgrade action
* Fix lint violations
* Refactor code for clarity and consistency
- Updated various components to improve readability and maintainability, including:
- Changed `while (1)` to `while (true)` for better clarity.
- Simplified conditional checks by removing unnecessary boolean casts.
- Added missing `key` props in mapped elements to ensure proper rendering in lists.
- Adjusted the handling of hidden states in budget components for clearer logic.
- Cleaned up linting rules in `.oxlintrc.json` to streamline configuration.
* Fix unused variable warning in electronApp fixture
* Fix linting comment in fixtures.ts
* Fix English grammar in the repair transactions description. "Check if you have any budget transfers that erroneous contain a category" corrected "erroneous" to "errouneously"
* Add release note 6324.md
* Add link detection in transaction notes
* update release notes
* Fix trailing punctuation from URLs and add space between segments
* rename openFileInExplorer to openInFileManager