* 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>
* Add Budget Analysis report with full implementation
Co-authored-by: tabedzki <35670232+tabedzki@users.noreply.github.com>
* Add preset time ranges, intervals, bar chart, hide balance, and display controls
Co-authored-by: tabedzki <35670232+tabedzki@users.noreply.github.com>
* Fix duplicate function declaration syntax error in budget-analysis-spreadsheet.ts
Co-authored-by: tabedzki <35670232+tabedzki@users.noreply.github.com>
* Fix floating point precision error in daily/weekly intervals and replace interval button with dropdown
Co-authored-by: tabedzki <35670232+tabedzki@users.noreply.github.com>
* Make card always display monthly data and match report's chart type
Co-authored-by: tabedzki <35670232+tabedzki@users.noreply.github.com>
* fix: adjust widget placement and presentation
* fix: adjusted the dot presentation
* feat: added svg for line chart/barchart
* fix: added one month to the report
* added the upcoming release notes
* amended the upcoming release notes
* fix: removed unused variables
* formatted using prettier --write
* [autofix.ci] apply automated fixes
* feat: added new feature to the Reports Page in the test budget
* fix: amended the reports.test.ts file to expect Budget Analysis
* Update VRT screenshots
Auto-generated by VRT workflow
PR: #6137
* Update VRT screenshots
Auto-generated by VRT workflow
PR: #6137
* revert: removed the inclusion of the Budget Analysis tool from the test file
* Update VRT screenshots
Auto-generated by VRT workflow
PR: #6137
* fix: changed the display to always be monthly since budgets are monthly; removed the 1month view
* [autofix.ci] apply automated fixes
* [autofix.ci] apply automated fixes (attempt 2/3)
* fix: removed comment
* feat: added experimental feature flag for Budget Analysis tool
* feat: Switched option to use SVG Icons instead of words to shorten horizontal layout
* Removed interval possibilities and removed unnecessary compact variable as indicated by CodeRabbit
* Update packages/desktop-client/src/components/reports/reports/BudgetAnalysisCard.tsx
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
* Added basic documentation for Budget Analysis Report
* Update VRT screenshots
Auto-generated by VRT workflow
PR: #6137
* Update VRT screenshots
Auto-generated by VRT workflow
PR: #6137
* fix: added budget-analysis doc to sidebar
* Update VRT screenshots
Auto-generated by VRT workflow
PR: #6137
* feat(reports): improve Budget Analysis report UI and behavior
- Update chart colors to match Cash Flow report style
(Budgeted: blue, Balance: pageTextLight)
- Remove legend items from report view for cleaner UI
- Add 1 month quick select option to header
- Pass isConcise prop to BudgetAnalysisGraph for proper date formatting
- Add dynamic daily/monthly interval switching based on date range
* Update VRT screenshots
Auto-generated by VRT workflow
PR: #6137
* feat(reports): refactor BudgetAnalysisGraph and improve isConcise calculation according to Rabbit AI
* feat(reports): add translation support for Budget Analysis graph labels
* feat(reports): centralize translation for Budget Analysis graph labels
* feat: use the budget values directly from the budget spreadsheet/server
* feat: enhance budget analysis with overspending adjustments and detailed reporting
* style: format code for better readability in BudgetAnalysis and budget-analysis-spreadsheet components
* refactor: remove unused variables
* docs: added in the image to the docs
* fix: reimplement support for conditionsOp
* [autofix.ci] apply automated fixes
* style: simplify budget analysis labels for clarity
* fix: add the on copy function
* feat: tooltip improvements
* feat: enhance budget analysis to track overspending adjustments across months
* fix: removed the absolute value for spent
* feat: update the charts to look closer to the CashFlow report
* fix: correct financial formatting for totalSpent in BudgetAnalysis
* feat: add filterExclude prop to Header and BudgetAnalysis for improved filtering options
* feat: implement privacy mode for Y-axis values in BudgetAnalysisGraph
* feat: change default graph type to Bar in BudgetAnalysis
* feat: remove commented-out filter button code in Header component
* feat: remove commented-out code for filter exclusion in Header component
* fix: update the feedback link to the dedicated issue
* refactor: financial display components to use FinancialText for consistency in Budget Analysis reports
* fix: update the card to also start as bar graph
* docs: update Budget Analysis report to include category filtering information
* style: refactor imports and whitespace
* refactor: simplify inline content structure in BudgetAnalysis component
* [autofix.ci] apply automated fixes
* Update VRT screenshots
Auto-generated by VRT workflow
PR: #6137
* fix: removed color descriptors from the chart
* fix: update color themes for Budget Analysis to use custom theme definitions
* [autofix.ci] apply automated fixes
* feat: update Budget Analysis merge md file
* Update VRT screenshots
Auto-generated by VRT workflow
PR: #6137
* fix: update budget analysis report image
* fix: white space adjustment in descriptor
* [autofix.ci] apply automated fixes
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.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>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: youngcw <calebyoung94@gmail.com>
Add the ability to specify expected monthly contributions to the
crossover report. This will allow users to estimate the growth of their
investments more accurately instead of treating all account growth as
exponential investment returns. When the checkbox is unclicked, the
automatically calculated historical return value will be used. When the
checkbox is clicked, it will display two input fields. One for expected
investment growth, and one for expected monthly contributions to your
retirement accounts.
Signed-off-by: Jonathon Jongsma <jonathon@quotidian.org>
* 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.
* 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>
* 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
* 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
* 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.
* 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>
* 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
* lint: patch some no-empty-function violations
* docs: update ESLint rules and remove unused loadOwner function in UserAccess component
* refactor: remove getRemoteFile function and associated method from budget file handlers
* chore: disable docstring checks in coderabbit configuration
* Update linting rules and replace @ts-ignore with @ts-expect-error
* Add release notes for PR #6636
* Fix TypeScript linting issue by adding @ts-ignore for electron types in server start message
* Change category to Maintenance and update linting rules
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* Add unfiltered median projection type to crossover report
Signed-off-by: Jonathon Jongsma <jonathon@quotidian.org>
* Add a new 'mean' projection type to crossover report
Some people may want to use the average monthly expenses rather than
median expenses.
Signed-off-by: Jonathon Jongsma <jonathon@quotidian.org>
* Remove 'linear trend' from crossover report
The linear projection type almost never provides any useful information
for projecting future expenses. For example, if my expenses have been
declining for the past several months, that doesn't mean that they will
continue to decline until they reach 0 in retirement. It's way too easy
to receive a nonsense projection with the linear projection type. Just
remove it.
Signed-off-by: Jonathon Jongsma <jonathon@quotidian.org>
* Add release notes for crossover point projections
Signed-off-by: Jonathon Jongsma <jonathon@quotidian.org>
* [autofix.ci] apply automated fixes
---------
Signed-off-by: Jonathon Jongsma <jonathon@quotidian.org>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
* Small fix
* Add release notes for PR #6610
* Apply suggestions from code review
Co-authored-by: Joel Jeremy Marquez <joeljeremy.marquez@gmail.com>
* review
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Joel Jeremy Marquez <joeljeremy.marquez@gmail.com>
* Added Global Synced Prefs
* [autofix.ci] apply automated fixes
* Add release notes for PR #6234
* typecheck
* lint fix
* Refactor global synced preferences to server preferences
- Removed global synced preferences implementation and related files.
- Introduced server preferences with a new slice and hooks for managing user settings.
- Updated components and hooks to utilize server preferences instead of global synced preferences.
- Adjusted Redux store and mock configurations to reflect the changes.
- Enhanced user settings consistency across devices with the new server preferences structure.
* Implement server preferences for feature flags and enhance admin permissions
- Updated the Experimental component to conditionally display based on user permissions and login method.
- Refactored feature flag handling to use 'flags.plugins' instead of 'plugins'.
- Introduced server-side checks to restrict access to server preferences for admin users only.
- Added comprehensive tests for server preferences management, ensuring proper handling of user roles and preferences.
* Enhance error handling in saveServerPrefs thunk
- Updated the saveServerPrefs async thunk to handle potential errors from the server response.
- Added a check for the presence of an error in the result and return it accordingly.
- Ensured that preferences are still dispatched to the store upon successful save.
* Feedback: strict "flags.plugins" typing
* Feedback: move state slice
* Feedback: localstorage pref
* Feedback: move serverPrefsSlide into prefsSlice
* Refactor: Remove duplicate import of PostError in app.ts
* Rename serverPrefs state slice property to server (#6596)
---------
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>
Co-authored-by: Matiss Janis Aboltins <matiss@mja.lv>
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
* Add target income adjustment factor to crossover report
Allow the user to specify an adjustment factor to apply to their target
retirement income. This allows them to be a little more conservative
or aggressive on their retirement goals rather than relying only on the
calculated expense projection.
For example, if you want to spend more in retirement (or are simply more
risk-averse), you could set the target income adjustment to 120%. Or if
you expect some retirement income from a defined-benefit pension and
don't need to rely only on the income sources in your budget, you could
set this to 80% to account for that external income.
Originally discussed at https://github.com/actualbudget/actual/issues/6134#issuecomment-3608247467
Co-authored-by: Claude <noreply@anthropic.com>
* [autofix.ci] apply automated fixes
* Add null check in crossover report
Review finding from PR
Signed-off-by: Jonathon Jongsma <jonathon@quotidian.org>
---------
Signed-off-by: Jonathon Jongsma <jonathon@quotidian.org>
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
* fix: prevent renaming category groups to existing names
* fix: prevent category group duplication by ignoring current group in checks
* fix: rename 6498.md to 6499.md to reflect updated content
* Fix number formatting of intlFormatter with a wrapper to handle -0 edge case (#1253)
* Fix Normalize integer currency values in makeBalanceAmountStyle function based on formatting user prefs (#1253)
* [autofix.ci] apply automated fixes
* Add release notes for budget balancing issue when "Hide decimal places" is enabled
* [autofix.ci] apply automated fixes
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Matiss Janis Aboltins <matiss@mja.lv>
* 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>
* Update linting configuration and fix related issues
* Fix type coercion for comment ID in check-first-comment.js to ensure proper comparison with summary comment IDs
This change updates the minimum allowed date for transactions from
2000-01-01 to 1995-01-01, allowing users to enter older transaction
dates without crashes. This addresses the date validation bug that
was causing issues with old dates.
- Updated date validation in schema-helpers.ts
- Updated corresponding tests in schema-helpers.test.ts
* Simplify ESLint config and add oxlint configuration
- Switch from typescript-eslint recommended to base config
- Remove redundant TypeScript-specific rules that are handled by base config
- Add oxlint configuration with appropriate rules
- Simplify globals configuration using globals package
- Add coverage directory to ESLint ignores
- Clean up various TypeScript rule configurations
* Add release notes for PR #6443
* [autofix.ci] apply automated fixes
* Refactor release note generator and update CLI argument parsing
- Adjusted the release note generator to fix string formatting.
- Refactored CLI argument parsing in migrate/cli.ts to use parseSync for improved clarity and consistency.
---------
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>
* Fix schedule upcoming length years off-by-1 calculation
- Replace addYears with addMonths(value * 12) to preserve day precision
- Fixes issue where year-based upcoming schedules always calculated from Jan 1st
- Add test cases for mid-year dates to prevent regression
Fixes#6435
* Fix syntax error in schedules.test.ts and add release notes
* fix(transactions): preserve split categories when merging with imported uncategorized tx; avoid orphaned subtransactions
When merging a split-categorized manual transaction with an uncategorized
imported one, keep the split lines (including categoryId) and avoid leaving
orphaned subtransactions by properly transferring parent_id references.
Fixes#5801.
* docs: add release note for PR #5856
* fix: resolve lint and typecheck errors
- Rename unused variables sub1, sub2 to _sub1, _sub2 to fix lint warnings
- Fix typecheck error by using double type assertion (unknown) in merge.ts
* refactor: optimize subtransaction queries and test db access
Address code review feedback:
- Merge two SQL queries into one using IN clause for better performance
- Use db.first in test to avoid conversion path and match db.all semantics
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
* [autofix.ci] apply automated fixes
* refactor: apply code review feedback with stable branch logic
- Revert test to use db.getTransaction (not db.first) to preserve type conversion
- Refactor SQL query to use explicit branches (IN for 2 parents, = for 1, skip for 0)
- This approach is more stable across different SQL drivers
Addresses: #5856 (review feedback from @joel-jeremy)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
* chore(release-notes): set category to Enhancements and shorten text; fix(merge): use shared deleteTransaction with grouped fetch + batchUpdateTransactions
* resolving lint warnings and recommendation on the test query
* switching to use the getTransaction helper
* corrected is_parent assertion to be true
* updated the PR number
---------
Co-authored-by: Golenspade <2023004079@mails.cust.edu.cn>
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: fankex <2112325885@qq.com>
Co-authored-by: youngcw <calebyoung94@gmail.com>
* Add conditions for transfer field in dashboard for Calendar card
Adding default filter for calendar dashboard card to remove transfers
* Add release notes for calendar summary card bugfix
When using the @actual-app/api package, if authentication failed during
init() (e.g., wrong password, network issue), the error was silently
ignored. This led to confusing 'Could not get remote files' errors later
when calling downloadBudget().
This fix ensures init() properly throws an error when authentication
fails, providing clear feedback like 'Authentication failed: invalid-password'.
Fixes#6320