Commit Graph

222 Commits

Author SHA1 Message Date
Matiss Janis Aboltins
6c150cf28a [AI] Publish loot-core (@actual-app/core) nightly first in workflow (#7200)
* [AI] Publish loot-core (@actual-app/core) nightly first in workflow

* [autofix.ci] apply automated fixes

* Refactor imports and update configuration

- Updated .oxfmtrc.json to change "parent" to ["parent", "subpath"].
- Removed unnecessary blank lines in various TypeScript files to improve code readability.
- Adjusted import order in reports and rules files for consistency.

* Add workflow steps to pack and publish the core package nightly

* Remove nightly tag from npm publish command in workflow for core package

* Update post-build script comment to reflect correct workspace command for loot-core declarations

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-03-15 17:35:01 +00:00
Matiss Janis Aboltins
9c61cfc145 [AI] Switch typecheck from tsc to tsgo and fix Menu type narrowing (#7183)
* [AI] Switch typecheck from tsc to tsgo and fix Menu type narrowing

* [autofix.ci] apply automated fixes

* Add .gitignore for dist directory, update typecheck script in package.json to use -b flag, and remove noEmit option from tsconfig.json files in ci-actions and desktop-electron packages. Introduce typesVersions in loot-core package.json for improved type handling.

* Refactor SelectedTransactionsButton to improve type safety and readability. Updated items prop to use spread operator for conditional rendering of menu items, ensuring proper type annotations with MenuItem. This change enhances the clarity of the component's structure and maintains TypeScript compliance.

* Update tsconfig.json in desktop-electron package to maintain consistent formatting for plugins section. No functional changes made.

* [autofix.ci] apply automated fixes

* Update package.json and yarn.lock to add TypeScript 5.8.0 dependency. Adjust typesVersions in loot-core package.json for improved type handling. Enhance tsconfig.json in sync-server package to enable strictFunctionTypes for better type safety.

* Enhance tsconfig.json in ci-actions package by adding composite option for improved project references and build performance.

* [AI] Revert typescript to 5.9.3 for ts-node compatibility

Co-authored-by: Matiss Janis Aboltins <MatissJanis@users.noreply.github.com>

* [AI] Update yarn.lock after TypeScript version change

Co-authored-by: Matiss Janis Aboltins <MatissJanis@users.noreply.github.com>

* Refactor Menu component for improved type safety and readability. Updated type assertions for Menu.line and Menu.label, simplified type checks in filtering and selection logic, and enhanced conditional rendering of menu items. This change ensures better TypeScript compliance and maintains clarity in the component's structure.

* Refactor Select and OpenIdForm components to improve type safety and simplify logic. Updated item mapping to handle Menu.line more effectively, enhancing clarity in selection processes. Adjusted SelectedTransactionsButton to streamline item creation and improve readability.

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: Matiss Janis Aboltins <MatissJanis@users.noreply.github.com>
2026-03-14 21:03:10 +00:00
Matiss Janis Aboltins
541df52441 Enable restrict-template-expressions linting rule (#7181)
* [AI] Promote typescript/restrict-template-expressions to error and fix violations

Convert the oxlint rule from "warn" to "error" and fix all 42 violations
by wrapping non-string template expressions with String(). This ensures
type safety in template literals across the codebase.

https://claude.ai/code/session_01Uk8SwFbD6HuUuo3SSMwU9z

* Add release notes for PR #7181

---------

Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-03-13 18:36:58 +00:00
Matiss Janis Aboltins
e968213977 Use TypeScript project references for incremental builds (#7180)
* [AI] Fix duplicate typechecking by consolidating into lage

Previously `yarn typecheck` ran:
1. `tsc -b` (type-checks all packages via project references)
2. `tsc -p tsconfig.root.json --noEmit` (checks root bin/*.ts)
3. `lage typecheck` (runs `tsc --noEmit` per package - duplicate!)

Now it runs:
1. `tsc -p tsconfig.root.json --noEmit` (checks root bin/*.ts)
2. `lage typecheck` (handles everything via dependency ordering)

Changes:
- Remove `tsc -b` from root typecheck script
- Add `dependsOn: ["^typecheck"]` to lage config for correct ordering
- Change per-package typecheck from `tsc --noEmit` to `tsc -b` so
  declarations are emitted for dependent packages

https://claude.ai/code/session_01P7mtAHphD6f1FsnQRwWBaW

* Add release notes for PR #7180

---------

Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-03-12 21:54:29 +00:00
Matiss Janis Aboltins
282a99db2f lint: promote no-floating-promises and require-array-sort-compare to error and fix violations (#7168)
* lint: promote no-floating-promises and require-array-sort-compare to error and fix violations

- Set typescript/no-floating-promises and typescript/require-array-sort-compare to error in .oxlintrc.json
- Add explicit compare functions to all .sort() calls: migrations (localeCompare), crdt/merkle (localeCompare), FiltersMenu (tuple key), useScheduleEdit (two-arg comparator), exec.test (localeCompare), goal-template and category-template-context (numeric), main.test and transactions.test (localeCompare / amount+id)
- Fix invalid single-arg sort in useScheduleEdit to proper two-arg comparator

Made-with: Cursor

* refactor: update sorting functions to use two-argument comparator

* Update index.ts

---------

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: Matiss Janis Aboltins <MatissJanis@users.noreply.github.com>
2026-03-12 17:50:37 +00:00
Matiss Janis Aboltins
387c8fce16 [AI] Enable TypeScript composite project references across monorepo (#7062)
* [AI] Enable TypeScript composite project references across monorepo

- Add composite and declaration emit to all package tsconfigs
- Wire root and per-package project references in dependency order
- Replace cross-package include-based typing with referenced outputs
- Fix api TS5055 by emitting declarations to decl-output
- Add desktop-client alias for tests; fix oxlint import order in vite.config
- Add UsersState.data null type and openDatabase return type for strict emit

Co-authored-by: Cursor <cursoragent@cursor.com>

* Remove obsolete TypeScript configuration for API and update build script to emit declarations directly to the output directory. This streamlines the build process and ensures compatibility with the new project structure.

* Refactor TypeScript configuration in API package to remove obsolete decl-output directory and update build scripts. The changes streamline the build process by directing declaration outputs to the @types directory, ensuring better organization and compatibility with the new project structure.

* Add TypeScript declaration emission for loot-core in desktop-electron build process

* Refactor TypeScript configuration in API package to utilize composite references and streamline build scripts. Update include and exclude patterns for improved file management, ensuring better organization of declaration outputs and migration SQL files.

* Refactor TypeScript configuration in loot-core and desktop-client packages to streamline path management and remove obsolete dependencies. Update paths in tsconfig.json files for better organization and compatibility, and adjust yarn.lock to reflect changes in workspace dependencies.

* Update desktop-electron package to utilize loot-core as a workspace dependency. Adjust TypeScript import paths and tsconfig references for improved organization and compatibility across packages.

* Enhance Vite configuration for desktop-client to support Electron-specific conditions and update loot-core package.json to include Electron as a platform for client connection. This improves compatibility for Electron builds.

* Refactor TypeScript configuration across multiple packages to streamline path management. Update tsconfig.json files in root, api, and loot-core packages to improve import paths and maintain compatibility with internal typings.

* Update package dependencies and Vite configuration across component-library and desktop-client. Add vite-tsconfig-paths to component-library and remove it from desktop-client. Refactor Storybook preview file to include a TODO for future refactoring.

* Remove Node-specific path from loot-core package.json for client connection, streamlining platform configuration for Electron.

* Remove loot-core as a workspace dependency from desktop-electron package.json

* Update tsconfig.json to remove reference to desktop-client

---------

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-03-04 20:57:06 +00:00
Matiss Janis Aboltins
cf05a7ea01 [AI] Typescript: low hanging fruit (#7091)
* [AI] Use loot-core workspace in desktop-electron and fix related types

- Add loot-core as workspace dependency in desktop-electron
- Import GlobalPrefsJson from loot-core package in desktop-electron
- Allow null in usersSlice data type (UsersState)
- Add explicit SQL.Database return type to openDatabase in sqlite electron

Made-with: Cursor

* Re-add loot-core as a workspace dependency in desktop-electron
2026-03-04 18:32:01 +00:00
Matiss Janis Aboltins
f9e09ca59b 🔖 (26.3.0) (#7097)
* 🔖 (26.3.0)

* Remove used release notes

* Add release notes for PR #7097

* Remove used release notes

* Remove used release notes

* Add release notes for version 26.3.0

* Add new terms to spelling expectation list

* Fix spelling and capitalization in release notes

Corrected spelling of 'reorganisation' to 'reorganization' and updated 'coderabbit' to 'CodeRabbit' for consistency.

* Update patterns.txt to allowlist 'CodeRabbit'

Add 'CodeRabbit' to allowlist of proper nouns.

* Clarify chart theming support in release notes

Updated the release notes to specify bar/pie chart theming support and added details about theme variables for customization.

* Remove 'CodeRabbit' from spelling expectations

* Refactor release notes and improve formatting

Reorganize release notes for clarity and update content.

* Create 2026-03-02-release-26-3-0.md

* Change release date to 2026-03-02

Updated the release date for version 26.3.0.

* Update release notes for version 26.3.0

---------

Co-authored-by: jfdoming <9922514+jfdoming@users.noreply.github.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>
Co-authored-by: Julian Dominguez-Schatz <julian.dominguezschatz@gmail.com>
2026-03-03 01:23:12 +00:00
Matiss Janis Aboltins
0b361e45b4 [AI] Bump version to 26.2.1 (#7052)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-23 15:52:58 +00:00
Matiss Janis Aboltins
31a027fc64 [AI] Add per-package tsconfigs and typescript-strict-plugin for typecheck (#7019)
* [AI] Add per-package tsconfigs and typescript-strict-plugin for typecheck

Co-authored-by: Cursor <cursoragent@cursor.com>

* Update TypeScript configuration across multiple packages to correct plugin path key from "path" to "paths" and add reference to process-worker typings in index.electron.ts.

* Remove reference to process-worker typings in index.electron.ts and add new process-worker typings file for global Process augmentation.

* Refactor TypeScript build configurations across multiple packages by removing tsconfig.dist.json files and updating build scripts to use default TypeScript compilation. Adjusted compiler options to target ES2021 and enable declaration generation.

* Update TypeScript configuration in api package to refine include and exclude patterns for better file management.

* Update build script in api package to ensure migration SQL files are copied to the correct directory by creating the destination folder if it doesn't exist.

* Update TypeScript configurations in crdt and desktop-electron packages to refine include and exclude patterns for improved file management.

* Update TypeScript dependencies across multiple packages to include typescript-strict-plugin for enhanced type checking and maintain consistency in package.json files.

---------

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-21 21:26:22 +00:00
Matiss Janis Aboltins
0472211925 [AI] lint: await-thenable, no-floating-promises (#6987)
* [AI] Desktop client, E2E, loot-core, sync-server and tooling updates

Co-authored-by: Cursor <cursoragent@cursor.com>

* Refactor database handling in various modules to use async/await for improved readability and error handling. This includes updates to database opening and closing methods across multiple files, ensuring consistent asynchronous behavior. Additionally, minor adjustments were made to encryption functions to support async operations.

* Refactor sync migration tests to utilize async/await for improved readability. Updated transaction handling to streamline event expectations and cleanup process.

* Refactor various functions to utilize async/await for improved readability and error handling. Updated service stopping, encryption, and file upload/download methods to ensure consistent asynchronous behavior across the application.

* Refactor BudgetFileSelection component to use async/await for onSelect method, enhancing error handling and readability. Update merge tests to utilize async/await for improved clarity in transaction merging expectations.

* Refactor filesystem module to use async/await for init function and related database operations, enhancing error handling and consistency across file interactions. Updated tests to reflect asynchronous behavior in database operations and file writing.

* Fix typo in init function declaration to ensure it returns a Promise<void> instead of Proise<void>.

* Update VRT screenshots

Auto-generated by VRT workflow

PR: #6987

* Update tests to use async/await for init function in web filesystem, ensuring consistent asynchronous behavior in database operations.

* Update VRT screenshot for payees filter test to reflect recent changes

* [AI] Fix no-floating-promises lint error in desktop-electron

Wrapped queuedClientWinLogs.map() with Promise.all and void operator to properly handle the array of promises for executing queued logs.

Co-authored-by: Matiss Janis Aboltins <MatissJanis@users.noreply.github.com>

* Refactor promise handling in global and sync event handlers

* Update VRT screenshots

Auto-generated by VRT workflow

PR: #6987

---------

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Matiss Janis Aboltins <MatissJanis@users.noreply.github.com>
2026-02-19 14:22:05 +00:00
Matt Fiddaman
a38104244a ⬆️ @playwright/test (1.57.0 → 1.58.2) (#7021)
* @playwright/test (1.57.0 → 1.58.2)

* note

* disable moving nav bar animations

* vrt
2026-02-19 00:19:54 +00:00
Matt Fiddaman
5179ac7c2d ⬆️ mid month dependency bump (#7013)
* baseline-browser-mapping (^2.9.14 → ^2.9.19)

* minimatch (^10.1.1 → ^10.1.2)

* lage (^2.14.15 → ^2.14.17)

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

* @storybook/addon-a11y (^10.2.0 → ^10.2.7)

* p-limit (^7.2.0 → ^7.3.0)

* better-sqlite3 (^12.5.0 → ^12.6.2)

* vitest (^4.0.16 → ^4.0.18)

* @storybook/addon-docs (^10.2.0 → ^10.2.7)

* @storybook/react-vite (^10.2.0 → ^10.2.7)

* eslint-plugin-storybook (^10.2.0 → ^10.2.7)

* storybook (^10.2.0 → ^10.2.7)

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

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

* @tanstack/react-query (^5.90.19 → ^5.90.20)

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

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

* i18next (^25.7.4 → ^25.8.4)

* react-aria (^3.45.0 → ^3.46.0)

* react-hotkeys-hook (^5.2.1 → ^5.2.4)

* react-i18next (^16.5.1 → ^16.5.4)

* sass (^1.97.2 → ^1.97.3)

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

* react (^19.2.3 → ^19.2.4)

* react-dom (^19.2.3 → ^19.2.4)

* component lib peer deps

* eslint-vitest-rule-tester (^3.0.1 → ^3.1.0)

* lru-cache (^11.2.4 → ^11.2.5)

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

* cors (^2.8.5 → ^2.8.6)

* @babel/core (^7.28.5 → ^7.29.0)

* @types/node (^22.19.3 → ^22.19.10)

* react (mixed → 19.2.4)

* @testing-library/react (16.3.0 → 16.3.2)

* react-router (7.12.0 → 7.13.0)

* vite-plugin-node-polyfills (^0.24.0 → ^0.25.0)

* pluggy-sdk (^0.79.0 → ^0.83.0)

* note
2026-02-18 22:09:28 +00:00
Matiss Janis Aboltins
84cebed20b Enforce consistent TypeScript type import style (#6805) 2026-02-10 13:33:20 +00:00
Matiss Janis Aboltins
0d6742664b 🔖 (26.2.0) (#6837)
* 🔖 (26.2.0)

* Remove used release notes

* docs pages

* s/flathub/Flathub

* s/coderabbit/CodeRabbit

* allowlist

---------

Co-authored-by: matt-fidd <81489167+matt-fidd@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Matt Fiddaman <github@m.fiddaman.uk>
2026-02-02 12:12: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
Matt Fiddaman
4c2d3e6998 ⬆️ bump Electron versions (#6703)
* bump electron

* note
2026-01-19 11:19:47 +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
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
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
Michael Clark
4b8feb1dfc :electron: Improve metainfo validation for flathub (#6593)
* manifest validation for flathub

* install builder separately

* confirmed working, now removing validation errors

* updates to metainfo with new validation fixes

* release notes
2026-01-08 09:15:02 +00:00
Matiss Janis Aboltins
bf505c2bd5 Upgrade oxlint and oxfmt dependencies (#6560)
* Update oxlint and oxfmt versions, add suppressions for warnings

* Add release notes for PR #6560

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-01-05 22:59:08 +00:00
Michael Clark
2ed32c4bc4 :electron: Fix electron publish workflow matrix ordering (#6544)
* fix issue with matrix ordering oelectron master publish workflow

* simplify

* image type source

* rabbit
2026-01-04 16:45:33 +00:00
github-actions[bot]
47ffa61f75 🔖 (26.1.0) (#6520)
* 🔖 (26.1.0)

* Trigger CI

* Remove used release notes

* Add release notes for version 26.1.0

This commit introduces the release notes for version 26.1.0, highlighting notable improvements such as currency display in the budget, mobile schedules functionality, link detection in transaction notes, and an extension of historical data. The release also includes various enhancements, bug fixes, and maintenance updates, acknowledging contributions from multiple developers.

* Update spelling expectations and release notes for version 26.1.0

This commit adds new terms to the spelling expectations file and updates the release notes to reflect changes in the documentation, including formatting improvements for clarity. Notable contributions from various developers are acknowledged.

* Add new terms to spelling expectations file

This commit updates the spelling expectations by adding new terms, enhancing the accuracy of the documentation spell-checking process. The changes include the addition of 'jws' and 'oxc' to the list of expected terms.

* Update release notes for version 26.1.0 to include Flathub availability for Linux users

* Update release notes to reflect Docker tag for version 26.1.0 in documentation

---------

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] <41898282+github-actions[bot]@users.noreply.github.com>
2026-01-04 14:00:21 +00:00
Matiss Janis Aboltins
146aeb1f5a lint: fix most eslint/no-empty-function violations (#6457)
* lint: fix most eslint/no-empty-function violations

* Remove unnecessary closing brace in .oxlintrc.json
2025-12-20 21:38:05 +00:00
Matiss Janis Aboltins
d9a1260c91 lint: actual/typography disallow using curly quotes (#6454)
* Update typography rule to disallow curly quotes with auto-fix

- Reverse typography rule to detect and flag curly quotes instead of straight quotes
- Add auto-fixer that converts curly quotes to straight quotes
- Fix auto-fixer to properly escape quotes when they match string delimiters

* Fix quotation marks in error messages and formatting strings across multiple files

- Standardize quotation marks from curly to straight in error messages and string formatting for consistency.
- Update various components and utility files to ensure proper string handling and improve readability.

* Standardize quotation marks across multiple files

- Replace curly quotes with straight quotes in various documentation and code files for consistency and improved readability.
- Update error messages, comments, and documentation to ensure uniformity in string formatting.

* Standardize month formatting across multiple components

- Update month formatting strings from "MMMM 'yy" to "MMMM ''yy" in various components and utility files for consistency.
- Ensure uniformity in how months are displayed throughout the application.

* Refactor typography rule to enhance curly quote handling

- Simplify the error reporting mechanism for curly quotes by creating a shared fix function.
- Update test cases to include various curly quote scenarios for improved coverage.
- Ensure consistent handling of curly quotes in formatting functions across multiple files.

* Refactor typography handling and update tests for curly quotes

- Replace curly quotes with their Unicode equivalents in typography rule and related test cases for consistency.
- Remove unnecessary eslint-disable comments to improve code clarity.
- Ensure proper handling of quotes in arithmetic and utility tests to align with updated typography standards.

* Update VRT screenshots

Auto-generated by VRT workflow

PR: #6454

* Fix: Correct typo in budget cell notification message

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

* Update VRT screenshots

Auto-generated by VRT workflow

PR: #6454

* Temporarily disable i18n string extraction workflow

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
2025-12-20 19:51:16 +00:00
Matiss Janis Aboltins
4fc00ae7f1 lint: patch typescript ignored issues (#6450)
* Updates across multiple packages

* Release notes

* Enhance error handling in budget goals reducer by throwing an error when the template is null
2025-12-19 23:40:28 +00:00
Matiss Janis Aboltins
3b41455ae3 refactor: replace eslint-plugin-import with eslint-plugin-perfectionist for import sorting (#6428) 2025-12-16 21:25:20 +00:00
Matiss Janis Aboltins
094da46fb0 lint: move some more rules to oxlint/oxfmt and upgrade linter versions (#6398) 2025-12-13 22:41:21 +00:00
Matiss Janis Aboltins
32bc254040 Lint: port react and import rules from eslint to oxc (#6312)
* Enforce JSX file extensions for React components

- Update eslint config to enforce .jsx/.tsx extensions for files containing JSX
- Convert docs package JS files to JSX where they contain React code
- Fix unstable nested components in CrossoverGraph and NetWorthGraph
- Update oxlint configuration
- Update e2e fixtures

* Fix: Rename react-hooks/exhaustive-deps to react/exhaustive-deps

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

* Enhance ESLint configuration and update import rules

* Refactor ESLint configuration to enhance import order rules and add eslint-plugin-import

* Fix ESLint directive comments in API files to use correct syntax

* Fix

* Fix ESLint directive comments and update import/extensions rule in configuration

* Refactor ESLint configuration to enforce JSX extension rules and improve code clarity

* Update ESLint configuration: disable 'import/no-unresolved' rule and remove obsolete .oxlintrc.json file

---------

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
2025-12-12 22:40:38 +00:00
Michael Clark
8279271119 :electron: Update desktop file on linux to have keywords and categories (#6335)
* update desktop file on linux to have keywords and categories

* release notes
2025-12-09 09:30:02 +00:00
Michael Clark
f24ec41fd3 :electron: Add flathub store publish pipeline (#6307)
* 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
2025-12-08 17:15:15 +00:00
Matiss Janis Aboltins
1117451b69 Fix lint violations (vol.2) (#6300)
* 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
2025-12-08 16:39:27 +00:00
Michael Clark
7f5f3cc5e9 :electron: Additional icon sizes - for Sequoia (#6321)
* Add files via upload

* Add release notes for Mac desktop app icon sizes
2025-12-08 15:55:17 +00:00
raf-vale
c71e752cbe Add link detection in transaction notes (#6306)
* Add link detection in transaction notes

* update release notes

* Fix trailing punctuation from URLs and add space between segments

* rename openFileInExplorer to openInFileManager
2025-12-06 19:29:50 +00:00
Matiss Janis Aboltins
666b0b80b6 Fix lint violations (#6299) 2025-12-04 23:17:31 +00:00
Matiss Janis Aboltins
879fd1b054 chore: replace Prettier with oxfmt and add oxlint (#6259)
* chore: replace Prettier with oxfmt and add oxlint

- Replace Prettier with oxfmt (Prettier-compatible formatter from OXC project)
- Add oxlint for fast linting alongside ESLint
- Add eslint-plugin-oxlint to disable ESLint rules covered by oxlint
- Update lint scripts to run oxfmt, oxlint, then eslint
- Update lint-staged configuration for pre-commit hooks
- Create .oxfmtrc.json and .oxlintrc.json configuration files
- Remove .prettierrc.json and .prettierignore
- Reformat codebase with oxfmt

* chore: update dependencies in yarn.lock

* chore: update oxlint configuration to disable additional rules

* chore: update oxfmt and oxlint configurations, enhance test readability
2025-12-04 19:55:10 +00:00
github-actions[bot]
bf71fe5992 🔖 (25.12.0) (#6285)
* 🔖 (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>
2025-12-03 16:54:03 +00:00
Matiss Janis Aboltins
8f8d3e7712 Exclude test files from build artifacts (#6216)
* 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>
2025-11-20 22:21:43 +00:00
Matt Fiddaman
1ce2280a49 ⬆️ mid month dependency bump (#6159)
* bump various dependencies

* note

* fix types

* [autofix.ci] apply automated fixes

* Update VRT screenshots

Auto-generated by VRT workflow

PR: #6159

---------

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>
2025-11-16 17:04:34 +00:00
Michael Clark
ffe55244e5 :electron: Remove unneeded prop on flathub store metainfo (#6085)
* display length is no longer valid on newer version of appstream

* release notes
2025-11-07 21:18:06 +00:00
Michael Clark
42c184acb9 :electron: Adding 512x512 image to the icns file (#6076)
* making the linux icon explicit

* putting flatpak back

* regen icns

* adding the 512px image to the icns file

* release notes
2025-11-07 08:58:55 +00:00
Michael Clark
7e2fe5e8dc :electron: Adding hotkeys for mac (#6067)
* adding hotkeys for mac

* release notes

* window mac menu

* fix window
2025-11-05 23:58:37 +00:00
github-actions[bot]
3d47469be3 🔖 (25.11.0) (#6059)
* 🔖 (25.11.0)

* Empty

* Remove used release notes

* Empty

---------

Co-authored-by: jfdoming <9922514+jfdoming@users.noreply.github.com>
Co-authored-by: Julian Dominguez-Schatz <julian.dominguezschatz@gmail.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-11-03 18:12:18 -05:00
Michael Clark
7983ee45e1 :electron: New appx icons (#6043)
* new appx icons

* updates the windows store appx icons to the new style
2025-10-31 21:45:23 +00:00
Michael Clark
844cd3433a :electron: Flathub MetaInfo (#6033)
* updates to flathub metainfo

* update to summary

* release notes

* omit :light

* Update upcoming-release-notes/6033.md

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

* actual budget

---------

Co-authored-by: Matt Fiddaman <github@m.fiddaman.uk>
2025-10-30 17:15:47 +00:00
Matt Fiddaman
80aee4ee71 ⬆️ bump dependencies before 25.11 (#5983)
* bump dependencies

* note

* recharts differences
2025-10-22 17:28:11 +01:00
Michael Clark
8f284e7b60 :electron: New desktop app icons (#5965)
* add new desktop app icons for better display on linux, and to prepare us for mac liquid glass

* png for windows

* release notes

* put old icons in archived folder
2025-10-20 09:24:59 +01:00
Michael Clark
23f1b7d3c0 :electron: Change desktop app execution name (#5954)
* change entrypoint name

* release notes
2025-10-19 18:30:09 +01:00