Commit Graph

4597 Commits

Author SHA1 Message Date
Matt Fiddaman
a35fdf4d18 make colours on reports page consistent (#6672)
* add colour definitions

* chart theme definitions

* replace with new colour variables

* clean up chart-theme

* merge fixes

* note

* Update VRT screenshots

Auto-generated by VRT workflow

PR: #6672

* coderabbit

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-01-21 18:06:00 +00:00
Matiss Janis Aboltins
d0a72f10b6 Fix reports to correctly render categories with identical names (#6733)
* Fix reports to correctly render categories with identical names

Use category id instead of name as the data key for chart lookups to prevent
collisions when multiple categories share the same display name.

* Enhance CustomTooltip in LineGraph and StackedBarGraph to utilize legend data for improved display names. This change introduces a new LegendEntity type and updates the tooltip rendering logic to map data keys to their corresponding names, ensuring clarity when displaying chart data.
2026-01-21 18:01:23 +00:00
J B
b651238ad2 Enhance Average Goal Template to allow adjusting the budgetted amount… (#6711)
* Enhance Average Goal Template to allow adjusting the budgetted amount from the average by a percent or fixed amount

* fix typos

* ensure check is for undefined, so zero doesn't cause edge cases

* typo in enhancement message

* scale by cents for fixed amount, fixup tests for this as well

* Add support for fixed values in Schedule template

* [autofix.ci] apply automated fixes

* Changed to 'fixed' from 'amount'. Added unparse logic for Average, also fixed Schedule unparse

* move to generic for syntax from specific number

* consider currency preferences when calculating fixed modifications

* lint

* [autofix.ci] apply automated fixes

* timeframe -> period

* percentage -> value

* pass currency for calculation

* lint

* import from proper local dir

* [autofix.ci] apply automated fixes

* script block around {number} to prevent mdx conflict

* match order of ops between schedule and average for percent adjustment

* diversify example

* Link to schedule>adjustments from average

* Removed example column in favor of extra context
Slight rewording to avoid 'average' overload

* rabbit nitpicks

* number

* period

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: youngcw <calebyoung94@gmail.com>
2026-01-21 17:31:46 +00:00
Michael Clark
8d1f0cf1de :electron: Update flathub screenshots to meet quality guidelines (#6611)
* update desktop app screenshots to meet quality guidelines

* better comply with flathub quality guidelines

* screenshot updates
2026-01-21 09:12:53 +00:00
Copilot
b50c45c9c9 Remove broken bank identifier spreadsheet link from GoCardless README (#6731)
* Initial plan

* Remove broken Google Doc link from GoCardless README

Co-authored-by: MatissJanis <886567+MatissJanis@users.noreply.github.com>

* Add release notes for PR #6731

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: MatissJanis <886567+MatissJanis@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-01-20 21:16:44 +00:00
Matiss Janis Aboltins
8f2369d5b8 Fix desktop notifications positioning (#6729)
* Fix desktop notifications container width

Add explicit width (400px) to the notifications container on desktop
to fix the positioning issue introduced in #6551.

Fixes #6718

* Add release notes for PR #6729

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-01-20 21:14:39 +00:00
Matiss Janis Aboltins
713ac88fee Mobile: navigate to config page when switching budget file (#6728)
Change the "Switch budget file" menu option on mobile to navigate back
to the config/budget selection page instead of opening a modal. This
makes the behavior consistent with the "Switch file" button in settings.

Remove the now-unused BudgetFileSelectionModal component.
2026-01-20 21:14:24 +00:00
Juulz
bcbcd6ad9f 🎨 Add new theme 'Theme from 1970' to customThemeCatalog (#6730)
* Add new theme 'Theme from 1970' to customThemeCatalog

* Add release notes for 1970-inspired light theme

Added release notes for a new custom light theme inspired by 1970 colors.
2026-01-20 20:57:06 +00:00
Matiss Janis Aboltins
c9a0ffa91c Replace theme screenshots with color palette preview (#6722)
* Replace theme screenshots with color palette preview

- Replace screenshot images in theme installer with 3x2 color palette grid
- Add colors array to catalog themes in customThemeCatalog.json
- Update CatalogTheme type to include optional colors property
- Remove getThemeScreenshotUrl function
- Extract ColorPalette component to separate file
- Update documentation to reflect color palette instead of screenshots
- Update tests to verify color palettes instead of images
- Extract actual theme colors from GitHub repositories

* Update ColorPalette component to use data-swatch attribute for color swatches in ThemeInstaller tests

* Update packages/desktop-client/src/data/customThemeCatalog.json

Co-authored-by: Michael Clark <5285928+MikesGlitch@users.noreply.github.com>

* Update color palettes for Simple Dark and Okabe Ito themes

Co-authored-by: matiss <matiss@mja.lv>

---------

Co-authored-by: Michael Clark <5285928+MikesGlitch@users.noreply.github.com>
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
2026-01-20 18:00:34 +00:00
Matiss Janis Aboltins
6a9df6562c Fix AuthSettings - hide when no server configured and show warning when offline (#6723)
* Fix AuthSettings - hide if no server configured and show warning if offline

* Add release notes for auth settings fix

* Refactor AuthSettings component to always display OpenID label hint and remove offline condition check in tests
2026-01-20 18:00:07 +00:00
Matiss Janis Aboltins
d4144f4b9c lint: enable oxfmt on docs package (#6720) 2026-01-19 22:37:56 +00:00
Matiss Janis Aboltins
176336e7f3 Upgrade oxfmt/oxlint and migrate import sorting to oxfmt (#6719)
* Upgrade oxfmt/oxlint and migrate import sorting to oxfmt

Upgrade oxfmt from 0.22.0 to 0.26.0 and oxlint from 1.38.0 to 1.41.0.

Move import sorting configuration from oxlint (perfectionist/sort-imports)
to oxfmt's new experimentalSortImports feature, which provides native
import sorting support in the formatter.

* Add release notes for maintenance updates including oxlint and oxfmt upgrades
2026-01-19 21:46:24 +00:00
Matt Fiddaman
de0f4e9440 ⬆️ upgrade react deps (#6717)
* react & react-dom

* react-virtualized-auto-sizer v2

* react-grid-layout v2

* note

* Update table.tsx

Co-authored-by: Joel Jeremy Marquez <joeljeremy.marquez@gmail.com>

* Update VRT screenshots

Auto-generated by VRT workflow

PR: #6717

---------

Co-authored-by: Joel Jeremy Marquez <joeljeremy.marquez@gmail.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-01-19 18:53:15 +00:00
Matiss Janis Aboltins
65dee4c627 lint: a11y issue fixes (#6679)
* Fix accessibility issues: use semantic HTML and correct tab indices

- Replace View with semantic h1 in ModalHeader
- Fix tabIndex from 1 to 0 in Menu component
- Remove disabled oxlint accessibility rules
- Update components to use proper semantic HTML elements

* Refactor button elements to semantic HTML in Autocomplete and CategoryAutocomplete components

- Replace button elements with div/View while maintaining role="button" for accessibility.
- Update styles and props accordingly to ensure consistent behavior.
- Adjust onClick types in Item and SecondaryItem components for better type safety.

* Add release notes for upcoming maintenance updates addressing various accessibility issues

* Refactor autocomplete components to improve text alignment and button semantics

- Added textAlign: 'left' style to AccountItem and PayeeItem for consistent text alignment.
- Removed type="button" from CategoryItem to streamline button semantics.
- Updated ItemContent to use the Button component instead of a button element, enhancing accessibility and consistency.

* Refactor budget and report components to improve text alignment

- Removed font: 'inherit' style from EnvelopeBudgetComponents and TrackingBudgetComponents for cleaner styling.
- Updated ActionableGridListItem and ReportCard components to replace font: 'inherit' with textAlign: 'left' for consistent text alignment.

* Update ActionableGridListItem to include font inheritance for improved styling consistency

* Refactor button elements to use the Button component for consistency and improved semantics

- Updated various components (EnvelopeBudgetComponents, IncomeCategoryMonth, CategoryMonth, ActionableGridListItem, ReportCard, DesktopLinkedNotes) to replace native button elements with the custom Button component.
- Adjusted styles and event handlers to align with the new Button implementation, ensuring consistent behavior and accessibility across the application.

* Update Button and ActionableGridListItem styles for consistency

- Set a fixed borderRadius of 4 for the Button component, ensuring uniformity across variants.
- Adjusted ActionableGridListItem to have a borderRadius of 0 for a cleaner design.

* Update CategoryAutocomplete to include button type attribute for improved semantics

* Update VRT screenshots

Auto-generated by VRT workflow

PR: #6679

* Update VRT screenshot for Payees search functionality

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-01-19 18:19:13 +00:00
Copilot
9376217c5e Fix mobile Calendar crash from missing DisplayPayeeProvider (#6698)
* Initial plan

* Fix mobile Calendar fatal error by correcting height constraint

The Virtualizer component in TransactionList requires its parent to have a defined height. Changed the View wrapper from height: '100%' to flex: 1 to properly distribute space within the flex container, accounting for the chevron button.

Co-authored-by: MatissJanis <886567+MatissJanis@users.noreply.github.com>

* Add DisplayPayeeProvider to fix mobile Calendar error

The TransactionListItem component uses useDisplayPayee hook which requires DisplayPayeeProvider context. Wrapped TransactionListMobile with DisplayPayeeProvider to fix "useDisplayPayee must be used within a DisplayPayeeContextProvider" error on mobile.

Co-authored-by: MatissJanis <886567+MatissJanis@users.noreply.github.com>

* Change flex to height for View component

* Add release notes for PR #6698

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: MatissJanis <886567+MatissJanis@users.noreply.github.com>
Co-authored-by: Matiss Janis Aboltins <matiss@mja.lv>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-01-19 18:05:02 +00:00
Matiss Janis Aboltins
e6e108ffbd Add error styling to ThemeInstaller component (#6689)
* Add error styling to ThemeInstaller component

* Add upcoming release notes for theme enhancements, including improved error handling and expanded theme catalog.

* Update upcoming-release-notes/6689.md

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* Update ThemeInstaller to set selected catalog theme on click

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2026-01-19 18:04:45 +00:00
Matt Fiddaman
517b1b4a81 fix "show completed schedules" toggle being persisted (#6716)
* make mobile consistent with desktop

* remove old option and modal

* note

* remove some useMemos

* coderabbit
2026-01-19 17:37:42 +00:00
Matt Fiddaman
cdae09e554 fix HyperFormula custom functions and add FIXED formula (#6645)
* fix custom HyperFormula functions

* add FIXED formula

* note

* [autofix.ci] apply automated fixes

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-01-19 17:00:40 +00:00
Juulz
59233c4786 🎨 Add Simple Dark and Okabe Ito custom themes to catalog (#6696)
* Update customThemeCatalog.json

Add Simple Dark and Okabe Ito themes

* Add Simple Dark and Okabe Ito themes to theme catalog

* Update customThemeCatalog.json
2026-01-19 16:54:45 +00:00
Matt Fiddaman
502babd310 add separator between PR body and bundle stats (#6715)
* add seperator line before bundle stats post

* note

* [autofix.ci] apply automated fixes

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-01-19 16:39:36 +00:00
Matt Fiddaman
3c302b3af9 apply tabular number styles more consistently (#6661)
* reports/reports

* reports/graphs

* account balance

* budgets

* goals

* reports stragglers

* rules

* schedules

* table

* bank sync modal

* spreadsheet

* inputs

* cover menu

* note

* agent configs, and coderabbit review rule

* Update VRT screenshots

Auto-generated by VRT workflow

PR: #6661

* fix test

* rename to FinancialText

* lint

* Update VRT screenshots

Auto-generated by VRT workflow

PR: #6661

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-01-19 16:39:16 +00:00
Matt Fiddaman
4c2d3e6998 ⬆️ bump Electron versions (#6703)
* bump electron

* note
2026-01-19 11:19:47 +00:00
Julian Dominguez-Schatz
e79d91b000 Change 'Bugfix' -> 'Bugfixes' in release notes (#6707)
* Change 'Bugfix' -> 'Bugfixes'

* Add release notes for PR #6707

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-01-18 22:03:39 +00:00
Matiss Janis Aboltins
2457a0b454 Add blog post: Next Steps for Funding Contributors (#6673)
* Add blog post: Next Steps for Funding Contributors

* Add release notes for PR #6673

* Delete upcoming-release-notes/6673.md

* Update packages/docs/blog/2026-01-17-next-steps-for-funding-contributors.md

Co-authored-by: Matt Fiddaman <github@m.fiddaman.uk>

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Matt Fiddaman <github@m.fiddaman.uk>
2026-01-18 21:37:22 +00:00
Julian Dominguez-Schatz
84a1d12dae Remove duplicate spelling check (#6691)
* Remove duplicate spelling check

* Correct Flathub store capitalization in release notes

* Fix typo in Flathub store automation entry

* Add release notes for PR #6691

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-01-18 19:27:49 +00:00
Copilot
b50d48a31a Fix sidebar link highlighting for nested routes (#6669)
* Initial plan

* Add release notes for PR #6669

* Fix Reports link highlighting in sidebar for nested routes

Co-authored-by: MatissJanis <886567+MatissJanis@users.noreply.github.com>

* Simplify by hardcoding end={false} in InternalLink

Co-authored-by: MatissJanis <886567+MatissJanis@users.noreply.github.com>

* Update VRT screenshots

Auto-generated by VRT workflow

PR: #6669

* Fix All accounts link to use exact matching

Co-authored-by: MatissJanis <886567+MatissJanis@users.noreply.github.com>

* Update VRT screenshots

Auto-generated by VRT workflow

PR: #6669

* Merge master and accept incoming screenshot changes

Co-authored-by: MatissJanis <886567+MatissJanis@users.noreply.github.com>

* Remove screenshot changes from current branch

Co-authored-by: MatissJanis <886567+MatissJanis@users.noreply.github.com>

* Revert all remaining screenshots to master versions

Co-authored-by: MatissJanis <886567+MatissJanis@users.noreply.github.com>

* Rename 'end' prop to 'isExactPathMatch' for clarity

Co-authored-by: MatissJanis <886567+MatissJanis@users.noreply.github.com>

* Update VRT screenshots

Auto-generated by VRT workflow

PR: #6669

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: MatissJanis <886567+MatissJanis@users.noreply.github.com>
Co-authored-by: Matiss Janis Aboltins <matiss@mja.lv>
2026-01-18 18:11:07 +00:00
Matiss Janis Aboltins
9289932af9 Fix flaky mobile payees VRT test by waiting for navbar animation (#6699)
* Fix flaky mobile payees VRT test by waiting for navbar animation to complete

Add wait timeout after dragNavbarDown() to ensure react-spring animation finishes before screenshots are taken.

* Add release notes for reducing payees e2e test flakiness

* Fix release note formatting: use sentence case and add period

Co-authored-by: matiss <matiss@mja.lv>

---------

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
2026-01-18 18:10:35 +00:00
Matt Fiddaman
fe624f0158 post bundle size comparison comment in the PR body instead (#6677)
* post size-compare comment in pr body instead of comment

* note
2026-01-18 18:07:48 +00:00
Julian Dominguez-Schatz
7443886856 Run yarn dedupe on the repository (#6694)
* Run yarn dedupe

* Add release notes
2026-01-18 16:42:07 +00:00
Matthias Benaets
58b1420c60 fix: limit custom css textarea to resize vertically (#6695) 2026-01-18 13:54:57 +00:00
Michael Clark
7035b32f26 🎨 Custom theme: Black Gold (#6688)
* black gold theme

* release notes

* release note typo

* release note
2026-01-18 09:42:00 +00:00
Matiss Janis Aboltins
ee0e7ed3e0 Refactor theme catalog fetching to use custom hook (#6681)
* Refactor theme catalog fetching to use custom hook

- Move catalog fetching logic from ThemeInstaller to useThemeCatalog hook
- Fetch catalog asynchronously from GitHub instead of direct import
- Update tests to mock useThemeCatalog hook for faster test execution
- Remove catalog validation and translation dependencies from hook

* Remove redundant visibility checks for 'Demo Theme' button in ThemeInstaller tests and add assertion to verify presence of images.

* Refactor ThemeInstaller component to improve error handling and loading state display

- Change conditional rendering for catalog error to use ternary operator for clarity
- Simplify loading state display logic within the theme catalog view
- Ensure consistent styling and structure for theme items in the catalog

* Initialize loading state in useThemeCatalog hook to true

* [autofix.ci] apply automated fixes

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-01-17 10:06:16 +00:00
Matiss Janis Aboltins
b6452f930b lint: add perfectionist/sort-named-imports rule (#6680)
* Apply import sorting with perfectionist/sort-named-imports rule

- Add perfectionist/sort-named-imports oxlint rule
- Sort named imports: value imports before type imports
- Update component-library and desktop-client files to match new rule

* Add release notes for linting updates on named imports
2026-01-16 23:41:45 +00:00
Joel Jeremy Marquez
bf814a6873 Update category schedule indicator to honor the upcoming days length setting (#6559)
* Update category schedule indicator to honor the upcoming days length setting

* [autofix.ci] apply automated fixes

* Update filter

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-01-16 17:40:05 +00:00
Matt Fiddaman
81c5dd347f fix inaccurate net payment/deposit calculations (#6675)
* fix net calculations

* note
2026-01-16 17:22:16 +00:00
Matt Fiddaman
cd87d5a899 give contributor points for marking issues as duplicates (#6659)
* reward closing issues as duplicates

* note

* remove debugging
2026-01-16 15:19:57 +00:00
Asherah Connor
f5e1d5eab4 Only reverse import preview transactions if they appear to be sorted by date ascending (#6543)
* Sort import preview transactions by (parsed) date, descending

* Update VRT screenshots

Auto-generated by VRT workflow

PR: #6543

---------

Co-authored-by: Matt Fiddaman <github@m.fiddaman.uk>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-01-16 14:50:54 +00:00
Matiss Janis Aboltins
6bf119786c lint: re-enable some react rules (#6667)
* Remove hooks disable in electron fixtures

Co-authored-by: matiss <matiss@mja.lv>

* Add release notes for PR #6667

* Re-enable exhaustive-deps for low-risk hooks

Co-authored-by: matiss <matiss@mja.lv>

* Reduce exhaustive-deps overrides

Co-authored-by: matiss <matiss@mja.lv>

* Format useQuery hook

Co-authored-by: matiss <matiss@mja.lv>

* Fix exhaustive-deps warnings in hooks

Co-authored-by: matiss <matiss@mja.lv>

* Format useQuery dependencies

Co-authored-by: matiss <matiss@mja.lv>

* Document dynamic hook dependencies

Co-authored-by: matiss <matiss@mja.lv>

* Use react exhaustive-deps disables

Co-authored-by: matiss <matiss@mja.lv>

* Adjust exhaustive-deps disables

Co-authored-by: matiss <matiss@mja.lv>

* Refactor React hooks to address exhaustive-deps linting issues

- Updated multiple components to use `useEffectEvent` for better handling of dependencies.
- Adjusted dependencies in various hooks to improve code quality and maintainability.
- Removed unnecessary `useCallback` and `useRef` usages where applicable.
- Consolidated linting rules for React hooks to enhance consistency across the codebase.

* Refactor useEffect hooks to improve dependency management

- Updated ManageRules component to correctly return the init function in useEffect.
- Adjusted Modals component to disable exhaustive-deps linting for specific dependencies, enhancing clarity and maintainability.

---------

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-01-16 08:45:29 +00:00
Juulz
14d4c7748d add missing theme variable for custom theming (#6665)
* Update BudgetName color to use sidebarBudgetName 

New theme variable sidebarBudgetName

* Update dark.ts to add sidebarBudgetName variable

* Update development.ts to add sidebarBudgetName variable

* Update light.ts to add sidebarBudgetName variable

* Update midnight.ts to add sidebarBudgetName variable

* Update dark.ts

* Update development.ts

* Update light.ts

* Update midnight.ts

* Update theme.ts

* Create 6665.md

Add `sidebarBudgetName` color variable
2026-01-16 00:19:30 +00:00
Matiss Janis Aboltins
edf61a477a Add code review guidelines for LLM agents (#6670)
* Add code review guidelines and update documentation

* Add release notes for PR #6670

* LLM: add code review guidelines to upcoming release notes

* Update review_status in .coderabbit.yaml to false

* Update CODE_REVIEW_GUIDELINES.md

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2026-01-15 21:13:42 +00:00
Matiss Janis Aboltins
0724f7eaef Add GitHub workflow to welcome fork PR contributors (#6657)
* lint: patch some no-empty-function violations

* docs: update ESLint rules and remove unused loadOwner function in UserAccess component

* Add GitHub workflow to welcome fork PR contributors

* Add release notes for PR #6657

* Update category for upcoming release notes

Changed category from Features to Maintenance.

* Update fork-pr-welcome.yml

Co-authored-by: Matt Fiddaman <github@m.fiddaman.uk>

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Matt Fiddaman <github@m.fiddaman.uk>
2026-01-15 20:34:31 +00:00
Matiss Janis Aboltins
d01d0eacb8 Add custom themes installation feature (#6612)
* Add custom themes feature with GitHub installation support

- Add ThemeInstaller component for installing themes from GitHub
- Implement custom theme validation and CSS parsing
- Add support for installed custom themes in preferences
- Add CustomThemeStyle component with CSS validation
- Update theme system to support custom overlay backgrounds
- Add comprehensive tests for theme installation and validation
- Add documentation and release notes for custom themes feature

* Update custom theme catalog: remove several themes and add 'Miami Beach' from a new repository.

* Enhance CSS validation in custom themes

- Refactor `validatePropertyValue` to implement an allowlist approach for CSS property values, rejecting complex constructs and functions except for rgb/rgba/hsl/hsla.
- Add comprehensive tests for various invalid CSS scenarios, including function calls and at-rules.
- Improve error messages for better clarity on validation failures.
- Ensure property name validation checks for format and allowed characters.

* Update custom theme catalog: rename theme from 'Miami Beach' to 'Shades of Coffee'.

* Remove 'forceReload' feature flag and related code from the application settings and feature flag definitions.

* Enhance ThemeInstaller component to support installed themes

- Add `installedTheme` prop to `ThemeInstaller` for managing custom themes.
- Implement logic to populate the text box with installed custom theme CSS when reopening.
- Update tests to verify behavior for installed themes with and without repositories.
- Improve CSS validation to allow additional CSS keywords and ensure proper structure.
2026-01-15 18:04:35 +00:00
lif
bb70074f35 fix: disable oneOf and notOneOf operations for Notes filter (#6567)
* fix: disable oneOf and notOneOf operations for Notes filter

The Notes field is a free-text field and should not support "one of" /
"not one of" filter operations, as these require predefined values.
Attempting to use these operations with the Notes filter caused the app
to crash with a TypeError.

This change:
- Adds 'oneOf' and 'notOneOf' to disallowedOps for the notes field
- Updates the TypeScript type definitions to reflect this constraint
- Updates existing tests to use imported_payee field for oneOf tests
- Adds unit tests for the isValidOp and getValidOps functions

Fixes #6325

Signed-off-by: majiayu000 <1835304752@qq.com>

* move note

---------

Signed-off-by: majiayu000 <1835304752@qq.com>
Co-authored-by: Matt Fiddaman <github@m.fiddaman.uk>
2026-01-15 00:56:22 +00:00
dependabot[bot]
5860b95c9c [WIP] chore(deps): bump undici from 7.16.0 to 7.18.2 (#6658)
* chore(deps): bump undici from 7.16.0 to 7.18.2

Bumps [undici](https://github.com/nodejs/undici) from 7.16.0 to 7.18.2.
- [Release notes](https://github.com/nodejs/undici/releases)
- [Commits](https://github.com/nodejs/undici/compare/v7.16.0...v7.18.2)

---
updated-dependencies:
- dependency-name: undici
  dependency-version: 7.18.2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

* Add release notes for PR #6658

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-01-14 21:53:46 +00:00
Bradley Nelson
a58bac6de6 Add session token authentication to API init() (#6540)
* add session token authentication to API init()

Allow users to authenticate using a session token directly instead of
username/password when initializing the API. This is useful for
scenarios where a token has already been obtained through other means.

Changes:
- Refactor InitConfig to use union types for type-safe auth method selection
- Add sessionToken option that validates token on init
- Use TypeScript `never` types to make auth methods mutually exclusive

* add release notes for session token authentication
2026-01-14 21:24:33 +00:00
Juulz
d01f38d480 Copy all old colors from colors.ts to palette.ts (#6627)
* Update color palette with old color values

* Update color palette with new values

* Replace old color imports with old color definitions

* Update color exports to use consistent casing

Done in bulk in MS-Word

* Fix export statements for color constants

* Clean up palette.ts by removing old import comment

Removed commented-out import statement for old colors.

* Add oldColor hex color definitions to palette.ts

Copy hex color definitions from colors.ts into palette.ts.

* Delete packages/desktop-client/src/style/colors.ts

no longer needed

* Disable colors export due to file deletion

* [autofix.ci] apply automated fixes

* Remove restricted import comment from index.ts

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-01-14 20:48:04 +00:00
Matt Fiddaman
4b1f127910 update baseline-browser-mapping (#6647)
* update baseline-browser-mapping

* note
2026-01-14 20:40:56 +00:00
Stephen Brown II
f5377ac7b7 chore: migrate from inter-ui to @fontsource-variable/inter (#6436)
* Update inter-ui to latest npm package: ^4.1.1

* chore: migrate from inter-ui to @fontsource-variable/inter

- Replace inter-ui v3.19.3 with @fontsource-variable/inter v5.2.8
- Import variable font CSS directly via @import statements
- Update font-family declarations to use 'Inter Variable' to match Fontsource naming
- Simplifies path resolution and removes custom SCSS overrides

* Add release notes

* Enable Inter font features

Add ss04 to styles.tnum

Remove font feature settings and always apply in tnum style

Always enable alternate digits (ss01) and slashed zero (zero) font features
instead of making them user-configurable preferences.

* Add font feature settings to mobile financial amounts

Apply styles.tnum to mobile components displaying financial amounts
to enable OpenType features (tnum, ss01, ss04) for proper number styling:
- TransactionListItem: transaction amounts and running balance
- BudgetTable: header totals, ToBudget, and Saved amounts
- ExpenseGroupListItem: expense group totals
- BudgetCell, SpentCell, BalanceCell: category amounts
- IncomeGroup: income group amounts
- SchedulesListItem: schedule amounts

This ensures consistent digit rendering with serifs on "1" and open
digit forms across all mobile transaction, budget, and schedule views.

* Update VRT screenshots

Auto-generated by VRT workflow

PR: #6436

* Update VRT screenshots

Auto-generated by VRT workflow

PR: #6436

* revert VRT changes

* remove lint line

* Update VRT screenshots

Auto-generated by VRT workflow

PR: #6436

* Update VRT screenshots

Auto-generated by VRT workflow

PR: #6436

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Matt Fiddaman <github@m.fiddaman.uk>
2026-01-14 20:36:43 +00:00
Matt Fiddaman
826ad86ada ⬆️ mid month dependency bump (#6656)
* @types/node (^22.19.1 → ^22.19.3)

* oxlint (^1.37.0 → ^1.38.0)

* better-sqlite3 (^12.4.1 → ^12.5.0)

* vitest (^4.0.9 → ^4.0.16)

* react-aria-components (^1.13.0 → ^1.14.0)

* @codemirror/autocomplete (^6.19.1 → ^6.20.0)

* @codemirror/language (^6.11.3 → ^6.12.1)

* @codemirror/state (^6.5.2 → ^6.5.3)

* @swc/core (^1.15.2 → ^1.15.8)

* @uiw/react-codemirror (^4.25.3 → ^4.25.4)

* @vitejs/plugin-basic-ssl (^2.1.0 → ^2.1.3)

* @vitejs/plugin-react (^5.1.1 → ^5.1.2)

* hyperformula (^3.1.0 → ^3.1.1)

* i18next (^25.6.2 → ^25.7.4)

* jsdom (^27.2.0 → ^27.4.0)

* react-aria (^3.44.0 → ^3.45.0)

* @swc/helpers (^0.5.17 → ^0.5.18)

* react-error-boundary (^6.0.0 → ^6.0.3)

* react-grid-layout (^1.5.2 → ^1.5.3)

* react-i18next (^16.3.3 → ^16.5.1)

* react-simple-pull-to-refresh (^1.3.3 → ^1.3.4)

* sass (^1.94.0 → ^1.97.2)

* vite (^7.2.2 → ^7.3.1)

* vite-plugin-pwa (^1.1.0 → ^1.2.0)

* fs-extra (^11.3.2 → ^11.3.3)

* @easyops-cn/docusaurus-search-local (^0.52.1 → ^0.52.2)

* react (^19.2.0 → ^19.2.3)

* react-dom (^19.2.0 → ^19.2.3)

* @reduxjs/toolkit (^2.10.1 → ^2.11.2)

* lru-cache (^11.2.2 → ^11.2.4)

* ua-parser-js (^2.0.6 → ^2.0.7)

* workbox-precaching (^7.3.0 → ^7.4.0)

* winston (^3.18.3 → ^3.19.0)

* supertest (^7.1.4 → ^7.2.2)

* playwright (^1.56.0 → ^1.57.0)

* stragglers

* note

* [autofix.ci] apply automated fixes

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-01-14 20:17:55 +00:00
Will Thomas
c1720f35fd Add Report pages (#6411)
* Adding multiple report pages

* Adding release notes

* Updating release note number

* Update VRT screenshots

Auto-generated by VRT workflow

PR: #6411

* Fixing deletion id, allowing empty dashboard name, adding custom report dashboard saving, new dashboard default to empty

* Update VRT snapshots for command bar, payees, and schedules tests

* Update VRT snapshots for payees page visuals and search functionality tests

* Towards move/copy logic (need widget meta copy still!)

* refactor move widget to use add and remove

* Move/Copy modal

* fixes for rename duplicate calls, rename focus issue, and deletion undefined issue

* Update VRT screenshots

Auto-generated by VRT workflow

PR: #6411

* some bug/clarity fixes

* better type discipline, dashboard_pages schema, PR review fixes

* re-org of dashboard pages into dropdown, better mobile support, rename moved to title icon

* dashboard spacing fix (even for ridiculously long names), widget type-checking function

* Fix translation interpolation

* Fixing copy vs. move filename, removing old rename modal, minor review tweaks

* overview change simplification, routing error handling, move -> copy migration

* renaming for dashboard pages and error handling

* abstracting out `isWidgetType` function

* Update VRT screenshots

Auto-generated by VRT workflow

PR: #6411

* Reorganizing dashboard selector and vertical separator, fix widget tombstoning and undoability

* [autofix.ci] apply automated fixes

* Update VRT screenshots

Auto-generated by VRT workflow

PR: #6411

* fix dashboard not found spinner, fix dashboard deletion redirect, add SaveReportWrapper

* fix some deletion navigation issues and idioms

* Update VRT screenshots

Auto-generated by VRT workflow

PR: #6411

* Translate 'modified' status in SaveReport component

* [autofix.ci] apply automated fixes

---------

Co-authored-by: Matiss Janis Aboltins <matiss@mja.lv>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-01-13 22:41:47 +00:00