* Add ESM loader support and update sync-server modules
* Update TypeScript configuration and fix bank file import filter in sync-server
* Remove deprecated loader and register files, update TypeScript configuration to use ES2021, and add a new script for automatically adding import extensions to JavaScript files.
* Update test script in package.json to include a custom loader and clean up import extensions script by removing unused 'stat' import.
* feat: Add warning for unresolved imports
Co-authored-by: matiss <matiss@mja.lv>
* [autofix.ci] apply automated fixes
* Remove unused 'import/extensions' rule from ESLint configuration
* Refactor import statements in sync-server
- Updated import path for migrations to remove file extension.
- Added ESLint directive to ignore import extension rule for reset-password script.
---------
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
* fix(reports): exclude transfers from dashboard summary cards
The income and expense summary cards were incorrectly including transfer transactions, which inflated the displayed values.
Added 'payee.transfer_acct': null filter to the AQL queries to exclude transfers.
Fixes#6258
* Add release notes for PR #6263
* Revert "fix(reports): exclude transfers from dashboard summary cards"
This reverts commit ba9baa5c6d.
* fix(reports): exclude transfers from summary cards in the default dashboard
* Update release notes for PR #6263
* Add mobile schedules pages and fix routing issues
- Add MobileSchedulesPage with list view and search functionality
- Add MobileScheduleEditPage for creating/editing schedules
- Add supporting components: SchedulesList, SchedulesListItem, AddScheduleButton
- Fix MobileNavTabs routing to include /schedules route
- Fix wide view routing: wrap schedule edit route with WideNotSupported
- Update MobileNavTabs to enable schedules navigation
- Add responsive exports for mobile schedules components
* Refactor MobileScheduleEditPage and SchedulesListItem for improved layout and navigation
- Remove modal dispatch for editing rules, replacing it with direct navigation to the rule edit page.
- Update SchedulesListItem to streamline the display of payee and account information using SpaceBetween for better alignment.
- Enhance ScheduleEditForm with responsive design adjustments for narrow widths, ensuring a more flexible layout.
- Replace Account and Payee autocomplete components with a more generic input approach for better reusability.
* Enhance MobileScheduleEditPage and ScheduleEditForm with improved footer and optional callbacks
- Add a footer to MobileScheduleEditPage with a Save button for better user interaction.
- Update ScheduleEditForm to make onSave and onCancel props optional, allowing for more flexible usage.
- Adjust layout and styling for better responsiveness and user experience.
* Improve error message styling in ScheduleEditForm by adding margin for better visibility
* Refactor ScheduleEditForm and MobileScheduleEditPage for improved layout and functionality
- Simplify the structure of ScheduleEditForm by removing unnecessary wrapper elements and enhancing responsiveness.
- Update MobileScheduleEditPage to include padding adjustments for better visual consistency.
- Introduce a footer with Save and Cancel buttons in ScheduleEditModal for improved user interaction.
- Ensure optional callbacks for onSave and onCancel in ScheduleEditForm for greater flexibility.
* Add aria-label for accessibility in PayeeAutocomplete component
- Introduced translation support for the 'Payee' label using useTranslation.
- Enhanced accessibility by adding an aria-label to the input field in PayeeAutocomplete.
* [autofix.ci] apply automated fixes
* Refactor MobileScheduleEditPage and related components for improved functionality and structure
- Simplified the MobileScheduleEditPage by removing unnecessary imports and restructuring state management with the new useScheduleEdit hook.
- Extracted updateScheduleConditions logic into a separate utility file for better reusability and clarity.
- Enhanced ScheduleEditModal to utilize the new form dispatch mechanism, improving state management and error handling.
- Updated ScheduleEditForm to streamline field management and improve overall responsiveness.
* Enhance AccountAutocomplete component with accessibility improvements
- Added aria-label for the input field in AccountAutocomplete using translation support for better accessibility.
* Refactor imports in MobileScheduleEditPage, ScheduleEditModal, and useScheduleEdit for consistency
- Reintroduced the ScheduleEditForm import in MobileScheduleEditPage and ScheduleEditModal for clarity.
- Moved the updateScheduleConditions import in useScheduleEdit to maintain a consistent import structure across components.
* Update VRT screenshots
Auto-generated by VRT workflow
PR: #6158
* Refactor MobileScheduleEditPage and useScheduleEdit for improved loading state management
- Removed local loading state from MobileScheduleEditPage and integrated it into the useScheduleEdit hook for better state handling.
- Enhanced error handling by displaying a "Schedule not found" message when the schedule is null.
- Streamlined the loading state check in the component to improve user experience.
* Remove unused import of 't' from ScheduleEditModal.tsx
* Update VRT screenshots
Auto-generated by VRT workflow
PR: #6158
* Refactor schedule edit dispatch handling in MobileScheduleEditPage and ScheduleEditModal
- Replace formDispatch with a unified dispatch in MobileScheduleEditPage and ScheduleEditModal for handling form errors and transaction switches.
- Update useScheduleEdit hook to remove the formDispatch wrapper, simplifying the dispatch mechanism.
- Change the type of the date field in DiscoverScheduleEntity from ScheduleEntity['_date'] to RecurConfig for better type accuracy.
* Refactor ScheduleEditModal and useScheduleEdit for improved schedule initialization
- Utilize useMemo in ScheduleEditModal to streamline initial schedule creation based on transaction data.
- Introduce useEffectEvent in useScheduleEdit to enhance schedule loading logic on component mount.
- Simplify the handling of initial schedule conditions and actions, improving code readability and maintainability.
* Add mobile schedules functionality with comprehensive tests
- Introduced Mobile Schedules page and navigation integration.
- Created end-to-end tests for various functionalities including visual checks, empty state handling, schedule creation, editing, and search/filter capabilities.
- Added necessary page model classes to support the new features.
- Updated existing components to accommodate new mobile schedules functionality and ensure proper layout and user experience.
- Included visual regression test snapshots for the new features.
* Refactor navigation method in MobileNavigation class for improved readability
- Simplified the goToSchedulesPage method by removing unnecessary await, enhancing code clarity.
* Update VRT screenshots
Auto-generated by VRT workflow
PR: #6158
* Remove deprecated test for schedule creation and associated visual regression test snapshots
* Add Schedules Page Menu Modal and enhance Mobile Schedules Page
- Introduced SchedulesPageMenuModal to the modals system.
- Updated MobileSchedulesPage to include a button that opens the new Schedules Page Menu.
- Refactored schedule filtering logic to incorporate a local preference for showing completed schedules.
- Added local preference for 'schedules.showCompleted' to manage completed schedule visibility.
- Updated SchedulesTable to utilize the new local preference for completed schedules.
* Update VRT screenshots
Auto-generated by VRT workflow
PR: #6158
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* fix(core): handle unicode minus in number parsing
Fixes#6206. Added support for Unicode minus (U+2212) in looselyParseAmount, currencyToAmount, and stringToInteger. Added unit tests.
* Refactor: Improve currency parsing logic
Co-authored-by: matiss <matiss@mja.lv>
* Refactor: Simplify currency parsing logic
Co-authored-by: matiss <matiss@mja.lv>
* [autofix.ci] apply automated fixes
* fix: Handle Unicode minus inside parentheses correctly
Fixed bug where amounts with both parentheses and Unicode minus (e.g.,
(−3.45)) were parsed as null instead of negative numbers. The Unicode minus
is now removed from within parentheses before the parentheses-to-minus
conversion, preventing double minus signs that caused parseFloat to return NaN.
Added test cases for parenthesized amounts containing Unicode minus.
* Add release notes for PR #6247
---------
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* docs: Add comprehensive developer documentation
- Add development-setup.md with environment setup and essential commands
- Add testing.md documenting Lage, Vitest, and Playwright workflows
- Add code-style.md with TypeScript, React, and coding conventions
- Add troubleshooting.md for common development issues
- Enhance contributing/index.md with development workflow section
- Expand project-details/index.md with detailed package descriptions
- Enhance architecture.md with technical details and remove outdated references
- Update AGENTS.md to reflect docs are now part of monorepo
- Fix outdated command examples and Node.js version references
- Update sidebar to include new documentation sections
* fix: Correct link path in code-style.md
* docs: Update documentation references and remove outdated notes
- Clarify that the documentation website is now part of the monorepo in AGENTS.md
- Remove the import organization section from code-style.md to streamline guidelines
- Update project-details/index.md to reflect the current status of the documentation website
* Update release-notes workflow to exclude AGENTS.md from non-docs file checks
* Update release-notes workflow to remove AGENTS.md exclusion and add upcoming release notes for missing information in Agents.md
* Refactor documentation to streamline testing and project structure guidelines
- Removed outdated test commands from AGENTS.md and development-setup.md for clarity.
- Updated code-style.md to correct a formatting issue in the contribution checklist.
- Consolidated package command references in project-details/index.md to focus on essential information.
- Enhanced troubleshooting documentation by removing redundant steps and clarifying solutions.
* Update VRT screenshots
Auto-generated by VRT workflow
PR: #6120
---------
Co-authored-by: Matt Fiddaman <github@m.fiddaman.uk>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* 🔖 (25.12.0)
* force ci
* Remove used release notes
* add blog post
* fix spelling
* make netlify happy?
* last one
* fix some formatting
* remove icns from allowed spelling to avoid accidental missspellings
* Update VRT screenshots
Auto-generated by VRT workflow
PR: #6285
* force ci
* force ci
* Update VRT screenshots
Auto-generated by VRT workflow
PR: #6285
* revert flaky vrt. please don't update again...
* make the release dates match
---------
Co-authored-by: youngcw <28542559+youngcw@users.noreply.github.com>
Co-authored-by: youngcw <calebyoung94@gmail.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* Revise reconciliation instructions for clarity
Updated the reconciliation documentation to clarify the process and improve readability.
* Update button text for reconciling action
Changes wording of 'Done reconciling' button to 'Exit reconciling'.
* Modify button text for reconciliation process
Updates button wording based on reconciliation status.
* Update button wording in release notes
* Refine language in reconciliation documentation
Updated wording for clarity and consistency throughout the reconciliation documentation.
* Add files via upload
* Update reconciliation screenshots
* Update reconciliation images for 2025
* Add files via upload
* Clarify exit option in reconciliation process
Added a note about exiting reconciliation without locking transactions.
* Fix cleared transactions total in reconciliation guide
Corrected the cleared transactions total from 324.82 to -82.60 in the reconciliation instructions.
* Update reconciliation.md
* Update reconciliation.md to resolve conflicts
* Add files via upload
* Update reconciliation.md unlocking transactions
* Update 6220.md
* Update 6220.md
* make it easier to download the desktop app artifacts
* release notes
* naming the artifacts *.zip becuase zips are mandatory
* Revert "naming the artifacts *.zip becuase zips are mandatory"
This reverts commit 02f9fcaa69.
* update downloads page table to have less duplication
* color from variable
* add component to exclude for spell check
* adding workflow to docs files for release notes exclusion
* release notes
* cli tool added to the server download list
* Rename button text from 'Done reconciling' to 'Complete Reconciling'
* Change button text from 'Done' to 'Complete'
* Update button text in reconciliation test
* Update button text for reconciliation completion
* Modify reconciliation completion messages
Updated reconciliation messages to provide clearer instructions.
* Change button text from 'Complete Reconciliation' to 'Exit reconciling'
* Fix capitalization in 'Exit Reconciling' text
* [autofix.ci] apply automated fixes
* Update release notes for reconciliation changes
Changes wording for clarity and adds exit option.
* Update release notes with button wording changes
Changes wording for clarity and adds a new exit option.
* Update category and button wording in release notes
Changes the category from 'Changes' to 'Enhancements' and updates button wording.
* Clarify wording for reconciliation exit options
* Update test expectation for reconciled message
* Update test to check for reconciled message
* [autofix.ci] apply automated fixes
* Clean up reconciliation view text
Removed unnecessary line breaks and exit message from the reconciliation view.
* [autofix.ci] apply automated fixes
* Update reconciliation test for improved text matching
* [autofix.ci] apply automated fixes
* Update packages/desktop-client/src/components/accounts/Reconcile.tsx
Co-authored-by: Matt Fiddaman <github@m.fiddaman.uk>
* [autofix.ci] apply automated fixes
* Change button click from 'Exit reconciling' to 'Lock transactions'
* Enhance release notes for reconciliation button changes
Updates authors and clarifies button wording for reconciliation.
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Matt Fiddaman <github@m.fiddaman.uk>
* Exclude test files from build artifacts
- Update crdt tsconfig.dist.json to exclude test files from dist output
- Update desktop-electron tsconfig.dist.json to exclude test files from build output
This prevents test files from being compiled into dist directories and
ensures they won't be picked up by test runners in CI/CD.
* Add release notes for PR #6216
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* update pwa icons to new one
* release notes
* icon
* color update for menu
* icon tiny bit smaller
* favicons as well - why not
* keeping the old icons for reference
* last icon archived
* Update VRT screenshots
Auto-generated by VRT workflow
PR: #6204
---------
Co-authored-by: youngcw <calebyoung94@gmail.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* Update index.md
New screenshots. Add new settings
* Add files via upload
New screenshots for setting page
* Update index.md
Small adjustments
* Update VRT screenshots
Auto-generated by VRT workflow
PR: #6197
* Update index.md
More small adjustments to formatting.
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>