What's Changed
- feat(desktop): copyable sign-in command with config dir on expired usage accounts by @Kitenite in #6628
- fix(host-service,relay2): pin tunnel v2 dial-back to loopback; bind standalone host to 127.0.0.1 by @saddlepaddle in #6636
- fix(mobile): theme markdown table body rows in the PR description by @saddlepaddle in #6639
- chore(desktop): bump version to 1.23.0 by @Kitenite in #6637
- fix(host-service): treat cancelled CI checks as failure, not success by @AviPeltz in #6611
- fix(terminal): disarm leaked TUI input modes that corrupt the shell after sleep/wake by @Kitenite in #6642
- feat(mobile): cloud workspaces — list, open, terminal, provisioning, actions by @saddlepaddle in #6596
- fix(host-service): don't reuse a tombstoned workspace on same-branch create by @distroinfinity in #6552
- Disable autocapitalization in mobile terminal composer by @saddlepaddle in #6647
- Show skipped PR checks in mobile sheet by @saddlepaddle in #6648
- Remove agent presets page from mobile settings by @saddlepaddle in #6650
- refactor(automations): one shared trigger tail, verify helpers, one options call — every provider by @saddlepaddle in #6635
- feat(mobile,trpc): create cloud workspaces from the phone by @saddlepaddle in #6651
- fix(trpc,mobile): resolve the default branch server-side, paginate branch listing by @saddlepaddle in #6656
- feat(skills): engine-generic browser skill with Browser Use 3.0 option by @Kitenite in #6646
- fix(desktop): keep agent-driven browser panes responsive while hidden by @Kitenite in #6654
- fix(mobile): PR card failing-checks treatment and merged/closed rows by @saddlepaddle in #6655
- fix(mobile): move home search in-page — iOS 26 header search bar swallows all touches by @saddlepaddle in #6659
- fix(desktop): don't kill the main process when a CDP command hits a destroyed pane by @saddlepaddle in #6661
- fix(desktop): keep image alt/src/title strings so markdown preview can't crash on numeric alt text by @saddlepaddle in #6663
- fix(host-service): classify a missing project directory as NOT_FOUND in workspaces.create by @saddlepaddle in #6664
- chore(api): sync the Slack manifest with the live app by @saddlepaddle in #6662
- chore(ci): own the QStash schedules in the repo by @saddlepaddle in #6665
- fix(ci): read the QStash token from the production environment by @saddlepaddle in #6668
- fix(ci): use the configured QStash base URL in the schedule sync by @saddlepaddle in #6669
- fix(desktop): hide star-repo button unless GitHub confirms unstarred by @AviPeltz in #6657
- chore(ci): drop the QStash schedule sync workflow by @saddlepaddle in #6670
- fix(desktop,host-service): stop the Changes pane from hanging on large diffs by @AviPeltz in #6658
- feat(email): remove app store badges from the footer for now by @saddlepaddle in #6671
- ci: pass the Notion integration env to the production api deploy by @saddlepaddle in #6674
- chore(ci): drop the ripgrep lint guards by @saddlepaddle in #6672
- feat(skills): add computer control with Cua Driver by @f-trycua in #6644
- chore(dev): remove Electric and Caddy from the dev stack by @saddlepaddle in #6667
- ci: pass Sentry integration credentials to the production deploy by @saddlepaddle in #6675
- fix(mobile): make the ⏎ quick key a real Enter, ordered after esc by @saddlepaddle in #6633
- ci: pass Gmail Pub/Sub push config to the production api deploy by @saddlepaddle in #6680
- feat(marketing): add /starchart page with real GitHub star history by @AviPeltz in #6683
- docs: weekly update for PRs merged 2026-08-12 to 2026-08-19 by @Kitenite in #6681
- fix(desktop): keep the diff pane scrolled to the clicked file as content loads by @AviPeltz in #6679
- fix(marketing): hide decorative GridCross corner marks from screen readers by @AviPeltz in #6686
- ci: pass Microsoft Teams integration credentials to the production deploy by @saddlepaddle in #6687
- feat(desktop): add top bar ports dropdown as an alternative ports layout by @AviPeltz in #6684
- feat(mobile): tap links, native text selection, and a scrollbar in the terminal by @saddlepaddle in #6685
- feat(desktop,host-service): provision account profiles as complete environments with shared history by @Kitenite in #6645
- feat(mobile): working photo/file/camera pickers, image paste, and themed system surfaces by @saddlepaddle in #6660
- feat(mobile): all-native SwiftUI attachments sheet by @saddlepaddle in #6688
- fix: repair main CI after #6645 by @Kitenite in #6694
- fix(desktop): make image paste work in remote and cloud workspace terminals by @Kitenite in #6692
- fix(desktop): hide the v1/v2 switch once the flip is locked by @Kitenite in #6693
- feat(email): redesign lifecycle emails and branch activation nudges on install by @Kitenite in #6696
- fix(desktop): mount git-init confirm dialog for all routes that reach folder-first import by @Kitenite in #6703
- feat(browser): import history and logins from Chromium browsers by @Kitenite in #6691
- feat(trpc): emit app.first_opened on first onboarding completion by @Kitenite in #6702
- feat(email): version the Resend lifecycle automations in a sync script by @Kitenite in #6705
- feat(desktop): design mode in the browser pane — pick an element, send it to an agent by @Kitenite in #6695
- fix(desktop): recover the Files tab from listings that fail during a host outage by @Kitenite in #6706
- fix(desktop): stop the file tree truncating names that fit by @aiwebb in #6264
- feat(mobile): optimistic workspace create with creating/failed interstitial states by @saddlepaddle in #6678
- fix(desktop): stop painting Remove from Sidebar red in sidebar context menus by @Kitenite in #6711
New Contributors
Full Changelog: desktop-v1.23.0...desktop-v1.24.0