Commit Graph
16 Commits
Author SHA1 Message Date
502e61ef38 [AI] Fix OpenID login in the iOS and Android apps (#9394)
The login page used the web view's own origin (capacitor://localhost) as
the OpenID return URL and then navigated the web view to the provider, so
the callback had nowhere to land. Register an `actualbudget://` URL scheme
in both native shells, use it as the return URL inside the native apps,
and route the `appUrlOpen` callback from @capacitor/app to the existing
/openid-cb page, which writes the token and finishes the login. Navigating
the web view to the provider is what hands the sign-in to the system
browser: Capacitor opens any top-level navigation to an outside host with
the OS and keeps the web view on the login page.

Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
2026-11-04 14:43:29 +00:00
3f5b93808d [AI] Sync and re-check the server when the mobile app resumes (#9384)
* [AI] Add isNativeMobileApp platform flag and gate web-only UI behind it

The native Capacitor builds were detected ad hoc with 'Capacitor' in window.
Expose a real isNativeMobileApp flag from shared/platform (false on electron
and the API) based on Capacitor.isNativePlatform(), which stays false on the
plain web even once @capacitor/core is bundled there.

Use it to skip what has no meaning in an App Store build: service worker
registration (assets ship in the bundle and update via the store), the
"new version of Actual is available" notification, the "learn how to set
up a server" hint on the server config screen, and the "Use the current
domain" shortcut, whose origin is the capacitor:// scheme.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

* [AI] Gate the GitHub release check itself in the native mobile apps

Skipping the fetch in getLatestVersion covers the update notification, the
Settings "Updates" row and the GitHub rate limit in one place, so the
per-consumer gate in FinancesApp goes away. Also inline the one-use type
alias in platform.ts and tighten the service worker comment.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

* [AI] Unregister any service worker left by earlier native mobile builds

Skipping registration alone leaves a worker installed by a previous native
build in control of page loads, serving the old precached bundle after a
store update. Drop existing registrations on native startup only.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

* [AI] Revert "Unregister any service worker left by earlier native mobile builds"

The only native builds that ever registered a service worker were TestFlight
test builds, so there are no store users with a stale worker to clean up.

This reverts commit 2eb95f623f3bc0ba7a8dd7b0e2b94b6a4ebc0c0e.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

* [AI] Sync and re-check the server when the mobile app resumes

The Capacitor apps only synced on an interval or a manual pull, so returning
to the app after a while showed stale data. `useOnVisible` now also listens to
`@capacitor/app` `appStateChange` on native platforms, so the existing
visibility-driven sync and server-version check run on resume too. User data
is refreshed first so the online/offline status reflects the server's
reachability.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

* [AI] Track server reachability from sync events everywhere

The online/offline reconciliation lived in LoggedInUser, which the narrow
(mobile) layout never renders, so the status never updated there. Move it
into the global sync-event listener so every layout keeps the status in step
with sync results, and drop the extra user-data fetch from the visibility
callback. Also fold the native app-state listener into the existing
visibility effect and trim the test mocks.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

* [AI] Use the isNativeMobileApp platform flag for the resume listener

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

* [AI] Apply CodeRabbit review feedback

Use a single foreground event source per platform in useOnVisible so a
resume in the native apps does not run the callback twice.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

* [AI] Coalesce visibility events that arrive during a running callback

A resume event that lands while the previous callback is still running was
dropped, so if that run failed the resume sync was lost. Queue one follow-up
run instead.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

* [AI] Drop a queued visibility run once the hook is cleaned up

An event coalesced while the callback was still running would start one more
run after the hook unmounted or was disabled. Clear the pending flag in both
cleanup paths.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

* [AI] Ignore native app-state events that land after cleanup

Capacitor removes listeners asynchronously, so an appStateChange arriving
between cleanup and removal could still run the callback. Flag the listener
as removed in cleanup and skip events after that.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

* [AI] Simplify the resume listener and guard the reachability refresh

Collapse useOnVisible into one effect with a shared active flag and a loop
for the coalesced follow-up run, so both platforms share the same cleanup.
Refresh user data one request at a time when sync errors arrive in a burst.
Trim the test scaffolding.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

* [AI] Apply CodeRabbit review feedback

Keep a queued visibility run when the callback rejects, and drop the
in-flight guard on the reachability refresh so a sync error that lands
mid-validation is not lost and a stalled request cannot block later ones.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

* [AI] Return useOnVisible to the minimal native listener

Drop the per-platform event source, the coalesced follow-up run and the
cleanup guards added during review. The hook keeps its original logic and
only adds the native app-state listener next to it.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

* [AI] Restore LoggedInUser to its original sync handling

Keep the title bar's own user-data refresh so it stays in "Connecting..."
until validation completes. The global sync-events listener still covers the
mobile layout, which never renders this component.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

* [AI] Leave reachability reconciliation to the global sync listener

LoggedInUser only tracks sync start/stop for its loading state; the
re-fetch on a contradicting sync result lives in sync-events alone. The
status text may lag by one validate request until the store updates.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

* [AI] Resolve follow-redirects to 1.16.2 as on master

The merge conflict resolution kept the lockfile entry from the branch.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

---------

Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
2026-11-04 14:19:53 +00:00
github-actions[bot]GitHubgithub-merge-queuegithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>Julian Dominguez-Schatz
741d1615b7 🔖 (26.11.0) (#9321)
* 🔖 (26.11.0)

* Generate release notes for v26.11.0

* Generate release notes for v26.11.0

* [AI] Add November release highlights and upgrade notices

* Generate release notes for v26.11.0

---------

Co-authored-by: github-merge-queue <118344674+github-merge-queue@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Julian Dominguez-Schatz <julian.dominguezschatz@gmail.com>
2026-11-02 00:11:25 +00:00
5226912e39 [AI] Add native haptic feedback to the iOS and Android apps (#9382)
* [AI] Add native haptic feedback to the Capacitor mobile apps

The calculator keypad relied on navigator.vibrate, which iOS does not
support. Route keypad presses, swipe-action and pull-to-refresh threshold
crossings through a shared helper that uses @capacitor/haptics inside the
native apps and falls back to the Vibration API elsewhere.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Q8X9eMnLyeJnMJFhQHDcCG

* [AI] Extract pull-to-refresh haptic into a named hook and drop helper test

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Q8X9eMnLyeJnMJFhQHDcCG

* [AI] Keep swipe-action revealed state in sync when the spring start is a no-op

When a swipe overshoots the full reveal (or close), the spring is already
at its target on release, so react-spring treats the final start as a
no-op and never calls onRest. isRevealed then stayed stale, which made the
next drag jump instead of follow the finger and skipped the threshold
haptic. Set the state at release time instead.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

* [AI] Ignore the haptics plugin dependency in knip

The native app's package.json declares @capacitor/haptics so Capacitor
links the plugin, but no JS in that package imports it, same as the
splash-screen plugin.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

* [AI] Start swipe drags from the spring's live position

Read x.get() when a drag starts instead of tracking an isRevealed flag.
A swipe that interrupts a snap animation now continues from where the
item actually is, and the flag (which could go stale) is no longer needed.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

* [AI] Rename haptics helpers for clarity

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude <noreply@anthropic.com>
2026-11-01 14:21:56 +00:00
bd2b08240d [AI] Submit App Store releases automatically and move TestFlight uploads to nightly (#9330)
* [AI] Submit App Store releases automatically and move TestFlight uploads to nightly

On a published release both the iOS and Mac App Store workflows now wait for
Apple to process the uploaded build, attach it to the App Store version for
the release, fill in the release notes and submit it for review with
automatic release after approval. The TestFlight uploads run on a nightly
schedule instead of on every master push.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

* [AI] Publish App Store builds with the Codemagic App Store Connect CLI

Replace the hand-written submission script and the altool upload with
`app-store-connect publish`, which uploads the build, waits for processing
and submits it for review in one step. The iOS export now writes the .ipa
locally so the CLI can upload it, matching the Mac flow.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

* [AI] Run the App Store Connect CLI through pipx instead of a virtualenv

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

* [AI] Share the App Store Connect publish step between the iOS and Mac workflows

Move the upload and review submission into one composite action so the CLI
version and submission flags live in a single place, drop step outputs that
nothing read, clean up signing material right after signing instead of after
the processing wait, and remove export options that were already defaults.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

* [AI] Do not submit prereleases for App Store review

Prereleases still upload to TestFlight; only full releases are submitted.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

* [AI] Send TestFlight builds to the external beta testers group

Every uploaded build is now added to the "Beta testers" TestFlight group and
submitted for Beta App Review, so external testers get the nightly builds
without a manual step. The FAQ links to the public TestFlight invite.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

* [AI] Wait for the uploaded build to appear before the processing wait

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

---------

Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-26 15:00:51 +00:00
1f868b890f [AI] Leave source maps out of the Capacitor mobile apps (#9329)
Capacitor copied the whole web build into the native bundle, including
`*.map` files that are ~70% of it. Stage the build into `www/` without
them before `cap sync`, cutting the web payload from 55 MB to 18 MB.


Claude-Session: https://claude.ai/code/session_012QFXyMC7tVoYP9pebbQzCh

Co-authored-by: Claude <noreply@anthropic.com>
2026-10-26 11:12:22 +00:00
9231ec8f3a [AI] Fix iOS mobile app startup and add TestFlight release script (#9311)
The Capacitor iOS app was stuck on the splash screen: the splash was
configured to never auto-hide and nothing hid it, and underneath the web
app failed because the capacitor:// scheme is never cross-origin isolated
so SharedArrayBuffer is unavailable. Drop the splash setting and run the
native app in the existing no-SharedArrayBuffer fallback mode.

Pad the mobile page header by the top safe-area inset so it is not hidden
behind the notch (a no-op in the PWA and browsers).

iOS project: bundle ID com.actualbudget.actual, arm64 device capability,
export-compliance flag, light status bar text. `release:ios` now archives
with the team from APPLE_TEAM_ID, derives the build number from a UTC
timestamp and the version from the package version, uploads to App Store
Connect, and accepts optional xcodebuild auth flags for CI.

Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-24 17:06:19 +00:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>Julian Dominguez-Schatz
01060f636a Bump the npm_and_yarn group across 1 directory with 6 updates (#9138)
Bumps the npm_and_yarn group with 6 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [@capacitor/android](https://github.com/ionic-team/capacitor) | `8.4.2` | `8.4.3` |
| [compression](https://github.com/expressjs/compression) | `1.8.1` | `1.8.2` |
| [http-cache-semantics](https://github.com/kornelski/http-cache-semantics) | `4.2.0` | `4.3.0` |
| [joi](https://github.com/hapijs/joi) | `17.13.7` | `17.13.8` |
| [proxy-addr](https://github.com/jshttp/proxy-addr) | `2.0.7` | `2.0.8` |
| [source-map-js](https://github.com/7rulnik/source-map-js) | `1.2.1` | `1.2.2` |



Updates `@capacitor/android` from 8.4.2 to 8.4.3
- [Release notes](https://github.com/ionic-team/capacitor/releases)
- [Changelog](https://github.com/ionic-team/capacitor/blob/8.4.3/CHANGELOG.md)
- [Commits](https://github.com/ionic-team/capacitor/compare/8.4.2...8.4.3)

Updates `compression` from 1.8.1 to 1.8.2
- [Release notes](https://github.com/expressjs/compression/releases)
- [Changelog](https://github.com/expressjs/compression/blob/master/HISTORY.md)
- [Commits](https://github.com/expressjs/compression/compare/v1.8.1...v1.8.2)

Updates `http-cache-semantics` from 4.2.0 to 4.3.0
- [Commits](https://github.com/kornelski/http-cache-semantics/commits)

Updates `joi` from 17.13.7 to 17.13.8
- [Commits](https://github.com/hapijs/joi/compare/v17.13.7...v17.13.8)

Updates `proxy-addr` from 2.0.7 to 2.0.8
- [Release notes](https://github.com/jshttp/proxy-addr/releases)
- [Changelog](https://github.com/jshttp/proxy-addr/blob/master/HISTORY.md)
- [Commits](https://github.com/jshttp/proxy-addr/compare/v2.0.7...v2.0.8)

Updates `source-map-js` from 1.2.1 to 1.2.2
- [Release notes](https://github.com/7rulnik/source-map-js/releases)
- [Changelog](https://github.com/7rulnik/source-map-js/blob/main/CHANGELOG.md)
- [Commits](https://github.com/7rulnik/source-map-js/compare/v1.2.1...v1.2.2)

---
updated-dependencies:
- dependency-name: "@capacitor/android"
  dependency-version: 8.4.3
  dependency-type: direct:production
  dependency-group: npm_and_yarn
- dependency-name: compression
  dependency-version: 1.8.2
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: http-cache-semantics
  dependency-version: 4.3.0
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: joi
  dependency-version: 17.13.8
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: proxy-addr
  dependency-version: 2.0.8
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: source-map-js
  dependency-version: 1.2.2
  dependency-type: indirect
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Julian Dominguez-Schatz <julian.dominguezschatz@gmail.com>
2026-10-09 00:19:20 +00:00
github-actions[bot]GitHubgithub-merge-queuegithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>Matt Fiddamanautofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
3a77479e14 🔖 (26.10.0) (#9011)
* 🔖 (26.10.0)

* Generate release notes for v26.10.0

* add frontmatter

* [autofix.ci] apply automated fixes

* Generate release notes for v26.10.0

* Generate release notes for v26.10.0

* link to experimental sidebar docs

* [autofix.ci] apply automated fixes

* cleanup from cherrypicks

* Generate release notes for v26.10.0

* cleanup cp notes

* update release date

* [autofix.ci] apply automated fixes

---------

Co-authored-by: github-merge-queue <118344674+github-merge-queue@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>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-10-02 15:23:08 +00:00
github-actions[bot]GitHubgithub-merge-queuegithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>Tim SmartJulian Dominguez-Schatz
d05aa0f11a 🔖 (26.9.0) (#8789)
* 🔖 (26.9.0)

* Generate release notes for v26.9.0

* add release notes for 26.9.0

* tweak wording

* Generate release notes for v26.9.0

* Generate release notes for v26.9.0

* wording tweaks

* [AI] Add Tim Smart to blog authors

* update authors

* Use relative doc links in 26.9.0 release notes

* Update packages/docs/blog/2026-09-01-release-26-9-0.md

Co-authored-by: Julian Dominguez-Schatz <julian.dominguezschatz@gmail.com>

* tweak schedule button

* fix links

* Apply suggestion from @jfdoming

Co-authored-by: Julian Dominguez-Schatz <julian.dominguezschatz@gmail.com>

---------

Co-authored-by: github-merge-queue <118344674+github-merge-queue@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Tim Smart <hello@timsmart.co>
Co-authored-by: Julian Dominguez-Schatz <julian.dominguezschatz@gmail.com>
2026-09-01 02:30:38 +00:00
ecf069d35b 🔖 (26.8.1) (#8671)
* 🔖 (26.8.1)

* generate release notes

* add header

* add account context note

* change date

---------

Co-authored-by: matt-fidd <81489167+matt-fidd@users.noreply.github.com>
Co-authored-by: Matt Fiddaman <github@m.fiddaman.uk>
2026-08-07 21:02:23 +00:00
github-actions[bot]GitHubgithub-merge-queuegithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>github-actions[bot] <matiss@mja.lv>Claude Fable 5
011b49e550 🔖 (26.8.0) (#8563)
* 🔖 (26.8.0)

* Generate release notes for v26.8.0

* Add release notes for version 26.8.0, highlighting new stable features, mobile banking improvements, and day-level date range selection in reports.

* Update authorship in release notes for version 26.8.0 to reflect MatissJanis as the author.

* [AI] Apply review feedback to 26.8.0 release notes: clarify onboarding/mobile bank sync wording and note per-file credentials are Pluggy.ai only

* [AI] Copy review-feedback wording fixes into releases.md for 26.8.0

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

---------

Co-authored-by: github-merge-queue <118344674+github-merge-queue@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <matiss@mja.lv>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-08-02 20:20:21 +00:00
Julian Dominguez-SchatzandGitHub 5c774f3d85 [AI] Match mobile app branding to PWA (#8552) 2026-07-23 00:57:49 +00:00
Julian Dominguez-SchatzandGitHub 841f29a598 Update build configuration to support mobile app (#8388)
* Update build configuration to support mobile app

* Add release notes

* Fix build

* Depcheck

* Typo

* Deps

* Typo

* fix

* PR feedback

* Typo

* CodeRabbit

* Changing approach

* Scope changes

* Hot-reload

* Remove mobile update and simplify build

* Fix android build

* Unsigned builds

* Revert compat

* Pull from workspace, not relative path

* Attempt to fix build (run on macos)

* [AI] Diagnose Android SDK on mobile runner

* [AI] Configure Android SDK on mobile runner
2026-07-22 22:10:00 +00:00
Matt FiddamanGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>Matiss Janis Aboltins
ff1b6045a1 ⬆️ mid month dependency update (#8533)
* @types/node (^22.19.21 → ^22.20.1)

* eslint (^10.5.0 → ^10.7.0)

* eslint-plugin-perfectionist (^5.9.0 → ^5.10.0)

* knip (^6.17.1 → ^6.27.0)

* lage (^2.15.13 → ^2.15.17)

* vitest (^4.1.8 → ^4.1.10)

* better-sqlite3 (^12.10.0 → ^12.11.1)

* vite (^8.0.16 → ^8.1.5)

* react-aria-components (^1.18.0 → ^1.19.0)

* @storybook/addon-a11y (^10.4.4 → ^10.5.2)

* @storybook/addon-docs (^10.4.4 → ^10.5.2)

* @storybook/react-vite (^10.4.4 → ^10.5.2)

* @vitejs/plugin-react (^6.0.2 → ^6.0.3)

* eslint-plugin-storybook (^10.4.4 → ^10.5.2)

* storybook (^10.4.4 → ^10.5.2)

* @bufbuild/protobuf (^2.12.0 → ^2.12.1)

* @bufbuild/protoc-gen-es (^2.12.0 → ^2.12.1)

* @codemirror/language (^6.12.3 → ^6.12.4)

* @uiw/react-codemirror (^4.25.10 → ^4.25.11)

* csv-stringify (^6.7.0 → ^6.8.1)

* es-toolkit (^1.47.1 → ^1.49.0)

* i18next (^26.3.1 → ^26.3.6)

* lru-cache (^11.5.1 → ^11.5.2)

* react-aria (^3.49.0 → ^3.50.0)

* react-hotkeys-hook (^5.3.2 → ^5.3.3)

* react-i18next (^17.0.8 → ^17.0.10)

* rolldown (^1.1.1 → ^1.2.0)

* @docusaurus/core (^3.10.1 → ^3.10.2)

* @docusaurus/plugin-content-docs (^3.10.1 → ^3.10.2)

* @docusaurus/plugin-ideal-image (^3.10.1 → ^3.10.2)

* @docusaurus/preset-classic (^3.10.1 → ^3.10.2)

* @docusaurus/theme-common (^3.10.1 → ^3.10.2)

* @docusaurus/theme-mermaid (^3.10.1 → ^3.10.2)

* unist-util-visit-parents (^6.0.0 → ^6.0.2)

* @docusaurus/module-type-aliases (^3.10.1 → ^3.10.2)

* @docusaurus/types (^3.10.1 → ^3.10.2)

* @oxlint/plugins (^1.69.0 → ^1.74.0)

* @types/estree (^1.0.8 → ^1.0.9)

* fast-check (^4.8.0 → ^4.9.0)

* @capacitor/android (^8.0.0 → ^8.4.2)

* @capacitor/core (^8.0.0 → ^8.4.2)

* @capacitor/ios (^8.0.0 → ^8.4.2)

* @capacitor/splash-screen (^8.0.1 → ^8.0.2)

* @capgo/capacitor-updater (^8.50.1 → ^8.51.2)

* @capacitor/cli (^8.0.0 → ^8.4.2)

* @capgo/cli (^8.22.0 → ^8.28.2)

* express-rate-limit (^8.5.2 → ^8.6.0)

* @types/supertest (^7.2.0 → ^7.2.1)

* http-proxy-middleware (^4.1.1 → ^4.2.0)

* oxlint (^1.69.0 → ^1.74.0) & oxlint-tsgolint (^0.23.0 → ^0.25.0)

* @codemirror/state (^6.6.0 → ^6.7.1) & @codemirror/view (^6.43.1 → ^6.43.6)

* @tanstack/react-query (^5.101.0 → ^5.101.2)

* recharts (^3.8.1 → ^3.9.2)

* note

* oxfmt (^0.44.0 → ^0.59.0)

* @babel/core (^7.29.7 → ^8.0.1)

* downshift (9.3.6 → 9.4.0)

* react-router (7.17.0 → 8.2.0)

* csv-parse (^6.2.1 → ^7.0.1)

* pluggy-sdk (^0.85.3 → ^0.89.0)

* yarn (4.13.0 -> 4.17.1)

* yarn dedupe

* Update VRT screenshots

Auto-generated by VRT workflow

PR: #8533

* crdt version bump

* [autofix.ci] apply automated fixes

* Update packageManager version to yarn@4.17.1

---------

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>
Co-authored-by: Matiss Janis Aboltins <matiss@mja.lv>
2026-07-21 20:24:31 +00:00
Julian Dominguez-SchatzandGitHub 5fc6f7638c Check in mobile app scaffolding generated by Capacitor (#8387)
* Check in app scaffolding generated by Capacitor

All files generated by `npx cap init` and `npx cap sync`.

* Add release notes

* Add package.json file

* Update capacitor

* Prune deps

* CodeRabbit feedback
2026-07-03 21:31:30 +00:00