* Phase 1: Add payee locations database schema/types
* Add migration to create payee_locations table with proper indexes
* Add PayeeLocationEntity type definition
* Update database schema to include payee_locations table
* Export PayeeLocationEntity from models index
* Phase 2: Add payee location API/services
* Add constants for default location behavior
* Implement location service with geolocation adapters
* Add new API handlers for payee location operations
* Phase 3: Add location-aware UI components/hooks
* Update mobile transaction editing with location integration
* Enhance PayeeAutocomplete with nearby payee suggestions and forget
functionality
* Implement location permission and placeholder unit of measurement hooks
* Phase 4: Add YNAB5 payee location import support
* Extend YNAB5 types to include location data from payees
* Implement location import logic in YNAB5 importer
* Phase 5: Add unit of measurement support
* Add unit of measurement preference setting in Format.tsx
* Implement distance formatting utilities for imperial/metric units
* Add useUnitOfMeasurementFormat hook for accessing preferences
* Required release note about the PR
* Update VRT screenshots
Auto-generated by VRT workflow
PR: #6157
* Actually get syncing working
This was not obvious to me, esp. with 13 years of data, but the
locations I've been inserting were local only.
Everything appeared to work.
What I failed to notice is that the locations did not sync
across devices. Of course all the location data that was imported worked
fine, but nothing new unless it was created on device.
This changes the schema and uses the proper insert/delete methods such
that syncing works.
* Remove unit of measurement preference
Display feet and meters automatically, and don't bother to format based on miles/kilometers.
* Add payeeLocations feature flag
Place the location permissions check and thus user-facing functionality behind the feature flag
* Missed adding tombstone to payee location query
* Adjust migration name to pass CI
Adjust the indexes as well
* Unify location.ts
If CodeRabbit complains again, reply that we are actively choosing a unified file
* Add bounds testing
The validation is straightforward range-checking — if it's wrong, it'll be obvious quickly. Unless there's a plan to start adding broader test coverage for that file, I'd leave it untested for now
* Prefer camelCase for the method params
* Fix the nested interactive containers
* Fix the majority of CodeRabbit nits
The remainder seem to not be related to my code change (just a lint), outdated (sql migration comment), or infeasible (sql haversine query)
* More CodeRabbit nits
* Revert unnecessary YNAB5 zip import
Turns out the payee_locations were inside the exported budget all along!
* Additional guards and other CR fixes
* Match the pattern used elsewhere in file
* YNAB5.Budget -> Budget
Missed in the merge conflict
* ci: trigger rerun
* Change import from fetch to connection module
* Correct invalid border property
Ah. I never noticed this property wasn't working. I guess the button
looked OK to me!
* Only hide the button on success
* Update packages/loot-core/src/shared/location-utils.ts
Co-authored-by: Matiss Janis Aboltins <matiss@mja.lv>
* Update packages/loot-core/src/server/payees/app.ts
Co-authored-by: Matiss Janis Aboltins <matiss@mja.lv>
* Fully fix typo
Guess I shouldn't commit a suggestion after waking up
* Attempting to address feedback
Manual select nearby payee and save payee location buttons to make the UX more obvi
* Remove stale file that was moved
* Additional cleanup of remnant change
Removed the references to location from a few existing entities
* Additional cleanup of remnant change
* Show the Nearby payees button even when the field is disabled
If there are nearby payees, there's not a payee already selected, and the save button isn't needed
* runQuery is not async
* Add mockNearbyPayeesResult to test
Trying to utilize the real type in the mock
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Matiss Janis Aboltins <matiss@mja.lv>
* Add failing tests for SimpleFin batch sync shared error array bug
Tests prove two bugs in simpleFinBatchSync() catch block (app.ts:1100-1115):
1. All accounts share the same errors array reference
2. Errors accumulate across accounts instead of being isolated
Related: #6623, #6651, #7114https://claude.ai/code/session_011ebiiXRMmbiKxYMohVXL6o
* Fix shared error array in SimpleFin batch sync catch block
When simpleFinBatchSync() threw an error, all accounts received the
same errors array by reference and errors accumulated across accounts.
Each account now gets its own isolated errors array with a single error
specific to that account, matching the pattern used by accountsBankSync().
Fixes#6623https://claude.ai/code/session_011ebiiXRMmbiKxYMohVXL6o
* Remove @ts-strict-ignore from bank sync tests
Use proper non-null assertions instead of disabling strict mode.
https://claude.ai/code/session_011ebiiXRMmbiKxYMohVXL6o
* Add release notes for PR #7125
* [AI] Replace test() with it() to follow repo convention
Co-authored-by: Matiss Janis Aboltins <MatissJanis@users.noreply.github.com>
---------
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: Matiss Janis Aboltins <MatissJanis@users.noreply.github.com>
* fix(csv-import): trim whitespace from amount strings before parsing
looselyParseAmount relies on a regex anchored at $ to detect decimal
markers. Trailing whitespace (e.g. from Excel-saved CSVs) shifts the
pattern match so a thousands separator is misidentified as a decimal
point, producing wildly wrong values.
Adding trim() at the top of the function eliminates trailing/leading
whitespace before any regex logic runs.
Fixes actualbudget/actual#7121
* chore: add release notes for #7149
* [AI] Remove parent path import of window.ts from desktop-client tsconfig
Replace the `../../packages/loot-core/typings/window.ts` include in
desktop-client's tsconfig.json with a proper package import. This adds
a `./typings/*` export to loot-core's package.json and creates a
globals.ts file in desktop-client that imports the window types via
the package name.
https://claude.ai/code/session_01GrgAzjWd3XvqwBTfXLerxc
* [autofix.ci] apply automated fixes
* Add release notes for PR #7142
---------
Co-authored-by: Claude <noreply@anthropic.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>
* [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>
* Add New Taiwan Dollar to currency list
* Add New Taiwan Dollar to currency list
* Fix decimalPlaces for New Taiwan Dollar
Updated decimalPlaces for New Taiwan Dollar from 0 to 2, as suggested by coderabbitai, "Line 62 introduces TWD as zero-decimal, but this codebase currently has an unresolved zero-decimal conversion/storage issue. This risks incorrect persisted amounts for TWD transactions."
* Add upcoming-releass-notes
* Add New Taiwan Dollar (NT$) to available currency
* Add New Taiwan Dollar (NT$) to available currency
* [AI] Refactor YNAB importers to use server-side send() and handler API
Co-authored-by: Cursor <cursoragent@cursor.com>
* Rename 7049.md to 7050.md
---------
Co-authored-by: Cursor <cursoragent@cursor.com>
* [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
* e:electron: electron backups converted to zip for easy importing
* release notes
* fix lint
* suggestion from rabbit
* Change category from Maintenance to Enhancements
* Pushing before weekend to Monday
* release notes
* lint
* Guard against null
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
* fixing AI commit and addressing second comment
* addressing nitpicks
* first attempt at a test
* [autofix.ci] apply automated fixes
* refactor to use condition and fix tests
---------
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
* [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>
* [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
* Update filesystem module to remove web-specific implementations and streamline path handling. Refactor file operations to enhance type safety and consistency across different environments. Add tests for SQLite interactions and ensure proper handling of database transactions.
* Add release notes for maintenance: Remove usage of 'web' file types
* Refactor filesystem module to use type annotations for exports and improve consistency across methods. Remove deprecated web file handling and enhance encryption functions for better browser compatibility.
* Trigger CI
* Add asyncStorage API file to export Electron index module
* Trigger CI
* Feedback: typo
---------
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* [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>
* Move redux state to react-query - account states
* Fix onbudget and offbudget displaying closed accounts
* Move redux state to react-query - payees states
* Add release notes for PR #6880
* Replace usage of logger in desktop-client with console
* Address feedback on adding default data to usePayees (#6931)
* Initial plan
* Add default data to usePayees usages using inline destructuring
Co-authored-by: joel-jeremy <20313680+joel-jeremy@users.noreply.github.com>
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: joel-jeremy <20313680+joel-jeremy@users.noreply.github.com>
* Fix imports
* Update empty payees list test
* Cleanup and simplify AccountEntity definition to fix `satisfies` syntax
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
Co-authored-by: joel-jeremy <20313680+joel-jeremy@users.noreply.github.com>
* Improve category server app and react query mutation error handling
* Add release notes for PR #6958
* Fix test
* Fix throwing async test
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
* Do not swallow exceptions when batching messages - propagate instead
* Update error type to make 'cause' optional
Make 'cause' property optional in error type.
---------
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>
* Fix operator precedence grouping for */ and +/-
* Add release note for #6993
* Fix exponent associativity and add regression test
---------
Co-authored-by: Hadi Ayache <hadiayache@Hadis-Mac-mini.local>
* Retrofit useReports to use react-query under the hood
* Add release notes for PR #6951
* Update 6951.md
* Report mutations
* Fix react query cache not being cleared when switching budgets (#6953)
* Fix react query cache not being cleared when switching budgets
* React does not want to export function from src/index
* Release note
* Use react-query is dashboard queries and mutations
* Add release notes for PR #6957
* [autofix.ci] apply automated fixes
* Fix typecheck errors
* Coderabbit feedback
* Make error cause optional
* Rename useDashboardWidgetCopyMenu and update useDashboardWidget to accept object to prevent need to default id to empty string
---------
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>
* include category group in transaction export
* Apply suggestion from @yzAlvin
Co-authored-by: Alvin Zhao <yzalvin@duck.com>
---------
Co-authored-by: youngcw <calebyoung94@gmail.com>
* Rename loot-core/platform/client/fetch package to connection to match the server side package name. Also to avoid confusion with the native fetch package.
* Update connection/init method to not receive any parameter to so browser and default implementation have the same signature
* Add release notes for PR #6943
* Fix names
* Fix imports
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* Fix send not returning error when catchErrors option is enabled and an unknown method error is encountered
* Add release notes for PR #6942
* Fix send to properly propagate errors from the server
* Update release note
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* Add Tag API
* Add Tag API tests
* Add Release Note for #6746
* Make release note more user-facing
* Remove unnecessary type coercion in tagModel.fromExternal
Since APITagEntity picks all properties from TagEntity, the types are
structurally identical and TypeScript can verify compatibility without
manual coercion.
Co-authored-by: Matiss Janis Aboltins <matiss@mja.lv>
---------
Co-authored-by: Matiss Janis Aboltins <matiss@mja.lv>
* feat: Add optional starting date and balance for bank sync accounts
Adds the ability to specify a custom starting date and balance when
linking new bank sync accounts in the Select Linked Accounts modal.
Addresses: https://discord.com/channels/937901803608096828/1402270361625563186
Changes:
- Frontend: Added inline date and amount input fields in the account
linking table for new accounts
- Redux: Extended link account actions to accept startingDate and
startingBalance parameters
- Backend: Updated account linking handlers to pass custom values to
sync logic
- Sync: Modified syncAccount and processBankSyncDownload to use custom
starting date/balance for initial sync transactions
Features:
- Only displays starting options when creating new accounts (not upgrades)
- AmountInput with smart sign detection based on account balance
(negative for credit cards/loans)
- Defaults to 90 days ago for date and 0 for balance
- Mobile-responsive with separate AccountCard layout
- Works across all sync providers: GoCardless, SimpleFIN, Pluggy.ai
The custom starting balance is used directly for the starting balance
transaction, and the custom starting date determines both the sync
start date and the transaction date for the starting balance entry.
* refactor: Extract shared types and components for starting balance inputs
- Create CustomStartingSettings type to replace repeated inline type definitions
- Extract StartingOptionsInput component to consolidate duplicate UI between mobile/desktop views
- Create LinkAccountBasePayload type shared across GoCardless, SimpleFIN, and PluggyAI link functions
- Apply same base type pattern to server-side link account handlers
This simplifies the code introduced for custom starting date/balance when linking bank accounts.
[autofix.ci] apply automated fixes
* allow explicit zero values
* refactor: add type guard for BankSyncError to remove oxlint-disable
- Create isBankSyncError() type guard function with proper type narrowing
- Remove oxlint-disable-next-line comment that suppressed the no-explicit-any rule
- Add JSDoc comments for both isBankSyncError and handleSyncError functions
- Remove redundant type assertion now that type guard narrows correctly
* refactor: address code review nitpicks for SelectLinkedAccountsModal
- Use locale-aware date formatting instead of toISOString()
- Extract isNewAccountOption helper to reduce duplication
- Align AccountCardProps type definition pattern with TableRowProps
* Add placeholder date/balance for already linked accounts
* [autofix.ci] apply automated fixes
* Use StartingBalanceInfo only, and add mobile view
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
* Apply tag colors to match YNAB flags
* Update tag colors to match YNAB, add description on import
* Tighten types
* Use custom colors
* Use Actual palette equivalents for tag colors
* Nitpick fixes
* Fix nitpick 'fix'
* Handle YNAB flag tag conflicts
* Handle YNAB flag tag conflicts without creating separate color tags
* Simplify
* Reorganize
* Include scheduled transactions in nYNAB imports
* Remove logs and restore schedule name from transaction memo
* Simplify rule actions
* Create schedules with unique names
* Set the note rather than append
* Update ynab5 demo budget and e2e test
* Make arithmetic.ts strict TypeScript compliant
- Add type definitions for ParserState, Operator, OperatorNode, and AstNode
- Add explicit type annotations to all function parameters
- Fix null/undefined handling in parsePrimary function
- Remove type assertion in makeOperatorParser by using explicit Operator type
- Handle null return from currencyToAmount function
- All functions now have proper return type annotations
* Add test for ignoring leftover characters in evalArithmetic function
* Initial plan
* Add clock-drift error handling to sync flow
Co-authored-by: MatissJanis <886567+MatissJanis@users.noreply.github.com>
* Add release notes for PR #6789
* Refactor error handling in sync flow
- Extracted error handling logic into a separate function for better readability and maintainability.
- Updated the receiveMessages and _sendMessages functions to utilize the new errorHandler.
- Removed redundant error handling code from the _sendMessages function.
- Enhanced error handling for SyncError and ClockDriftError to emit specific events.
* Enhance error handling in receiveMessages function
- Added try-catch block to handle Timestamp.ClockDriftError specifically.
- Emitted a sync error event for clock-drift errors to improve synchronization feedback.
- Maintained existing functionality while improving error reporting.
* Update authorship in release notes and refine clock-drift error messaging for clarity
---------
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>
Co-authored-by: Matiss Janis Aboltins <matiss@mja.lv>
* Initial plan
* Add test case for apostrophe-dot format bug
Co-authored-by: MatissJanis <886567+MatissJanis@users.noreply.github.com>
* Fix: Support keyboard apostrophe (U+0027) in arithmetic parser for apostrophe-dot format
The arithmetic parser was only recognizing the typographic apostrophe (U+2019)
that Intl.NumberFormat outputs, but not the regular apostrophe (U+0027) that
users type on their keyboards. This caused amounts like "12'345.67" to be
truncated to "12" when users typed them.
The fix adds U+0027 to the regex character class in arithmetic.ts so both
apostrophe characters are accepted.
Co-authored-by: MatissJanis <886567+MatissJanis@users.noreply.github.com>
* Add explicit character code verification to apostrophe-dot test
Use escape sequences (\u0027 and \u2019) to ensure the test explicitly
uses the correct apostrophe characters, and add assertions to verify
the character codes are as expected.
Co-authored-by: MatissJanis <886567+MatissJanis@users.noreply.github.com>
* Fix lint
* Add comprehensive tests for apostrophe-dot format in arithmetic.test.ts
Added three new test cases to verify both apostrophe types work correctly:
1. Tests keyboard apostrophe (U+0027) with explicit character code verification
2. Tests typographic apostrophe (U+2019) with explicit character code verification
3. Tests arithmetic operations with both apostrophe types
This addresses the feedback to add tests for the new logic in arithmetic.ts.
Co-authored-by: MatissJanis <886567+MatissJanis@users.noreply.github.com>
* [autofix.ci] apply automated fixes
* Add release notes for PR #6795
---------
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: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>