Skip to content

0.5.8 — fixes and features by @Ohualtex - #1018

Merged
Louis-CFM merged 68 commits into
mainfrom
ohualtex-batch
Oct 31, 2026
Merged

Louis-CFM merged 68 commits into
mainfrom
ohualtex-batch

Conversation

@Louis-CFM

Copy link
Copy Markdown
Owner

Mac 0.5.8 and Windows/Linux 0.5.8: the reviewed pull requests by @Ohualtex, each merged with his commits.

Where a review found a problem, a fix commit sits on top of his branch (see each merge). Not included: #449, #982, #983, #987, #1015, #1005, and #445 (the uninstaller editing settings.json needs a decision).

Tests run locally: Windows npm (504 pass), tsc, cargo test (581 + 34), cargo check --locked, gen-strings, localization, What's new, Swift parse on the changed files.


Generated by Claude Code

Ohualtex and others added 30 commits October 10, 2026 11:03
…sions

Allow Claude Desktop sessions on Windows to display permission approval
cards and interactive AskUserQuestion cards on the dynamic island instead
of immediately declining them.

- Add "claude-desktop" to APPROVAL_AGENTS in windows/src/island/agents.ts.
- Allow AskUserQuestion from claude-desktop to form question cards in hooks.ts.
- Add "claude-desktop" to takes_decisions and format decision JSON with
  question answers in windows/hook/src/reply.rs.
- Add test coverage for Claude Desktop approval and question cards in both
  Node.js and Rust test suites.

Fixes #328
…en on startup (#698)

On Windows, the dictation pill webview window could flash or remain visible at default desktop coordinates on application launch even when dictation was disabled.

1. Explicitly reposition the pill window to PARKED (-32000, -32000) upon creation on Windows, and enforce an initial show(app, &pill, false) call during setup so its state is cleanly initialized.
2. In the pill webview frontend, guard render() and reportHot() when !visible so the DOM is emptied, display is set to none, and empty hot hitboxes are reported.
Because the island window is created with WS_EX_NOACTIVATE, user clicks on it do not grant Coucou active foreground window status. As a result, subsequent SetForegroundWindow calls in bring_forward are refused by Windows, causing 'Open terminal' and Claude session focus to always fall back to VS Code even when the window was found.

Temporarily attach thread input between Coucou's thread, the current foreground thread, and the target window's thread around BringWindowToTop and SetForegroundWindow so the window is reliably brought forward.
…t launch (#855)

The new location only protected status lines saved after the update: a copy
saved by 0.5.7 or earlier stayed in bin/, which the uninstaller still wipes.
Move it next to the relay's folder once, at launch, never replacing a copy
already there, and name the legacy path in one place.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LJm3SRL9k3gBPaVtfPhwcT
Keeps main's process_running beside the PR's no_console.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LJm3SRL9k3gBPaVtfPhwcT
claude added 29 commits October 31, 2026 03:00
As on the Mac, the pill that was shown comes back when the island closes
(any close, not only the collapse button). The 5.2 s return to idle no
longer swaps the pill under an open island, where the finished card would
then have named the wrong pill; an agent pill about to be removed still
hands the front back at once.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LJm3SRL9k3gBPaVtfPhwcT
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LJm3SRL9k3gBPaVtfPhwcT
Resolves the conflict with the settings search (#996): the sidebar groups
now live in their own container, the Mail group is kept, and the hub tests
give the search field an empty value, since the fake DOM keeps none.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LJm3SRL9k3gBPaVtfPhwcT
On main the pill re-attaches its capsule only when it has no parent, and
puts its bubble first with prepend (#760). The fake DOM left parentNode set
after replaceChildren/removeChild and had no prepend, so #699's pill tests
failed against main although a real DOM behaves as the page expects.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LJm3SRL9k3gBPaVtfPhwcT
Follow-up to the approval queue:
- a request that waits in line no longer switches the island to its view
  (a queued question turned the approval card into a question view) and no
  longer plays its sound twice; its pill gets the approval badge instead;
- every request gives up on its own 110 s clock, checked by id: the first
  card's timer could drop the request promoted after it;
- a turn that ends releases its requests still in line at once, before the
  card goes, so a moot request never takes the card;
- the next request comes up through island.alert, like a new one.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LJm3SRL9k3gBPaVtfPhwcT
set_ignore_cursor_events right after build() ran on Linux too, where the
pill's window is hidden and not realized yet (Layer mode needs it so): tao
handles the request with window().unwrap() on the missing GdkWindow, which
would panic on the GTK main thread at startup. prepare_pill_window already
does it on Windows, so the extra call goes.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LJm3SRL9k3gBPaVtfPhwcT
…(Ohualtex)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LJm3SRL9k3gBPaVtfPhwcT
…tion is off (Ohualtex)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LJm3SRL9k3gBPaVtfPhwcT
…ings (Ohualtex)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LJm3SRL9k3gBPaVtfPhwcT
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LJm3SRL9k3gBPaVtfPhwcT
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LJm3SRL9k3gBPaVtfPhwcT
…hualtex)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LJm3SRL9k3gBPaVtfPhwcT
…ltex)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LJm3SRL9k3gBPaVtfPhwcT

# Conflicts:
#	windows/src/i18n/extra.json
…altex)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LJm3SRL9k3gBPaVtfPhwcT
…ualtex)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LJm3SRL9k3gBPaVtfPhwcT
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LJm3SRL9k3gBPaVtfPhwcT
@Ohualtex)

- Mac 0.5.8 (build 25): approvals come back after a question (#993), questions
  stay put (#994), desktop Mochi stays visible (#992), dropped files no longer
  overwrite each other (#986), no misplaced Writing Tools button (#997).
- Windows and Linux 0.5.8: #984, #441, #975, #979, #976, #980, #704, #699, #981,
  #989, #995, #977, #988, #705. Android Turkish (#990) ships with the next
  Android release.
- CHANGELOG, README, What's new (16 and 14 languages), each crediting @Ohualtex.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LJm3SRL9k3gBPaVtfPhwcT
…urkish strings

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LJm3SRL9k3gBPaVtfPhwcT
…e/pills.ts again)

The Mail pill (0.5.7) was added to the Windows catalog only, so PillsTest
failed as soon as the Android workflow ran.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LJm3SRL9k3gBPaVtfPhwcT
@Louis-CFM
Louis-CFM merged commit fa72429 into main Oct 31, 2026
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants