Skip to content

adr: avoid submitting while IME composition is active - #140

Closed
foxytanuki wants to merge 1 commit into
yc-software:mainfrom
foxytanuki:fix/web-composer-ime
Closed

adr: avoid submitting while IME composition is active#140
foxytanuki wants to merge 1 commit into
yc-software:mainfrom
foxytanuki:fix/web-composer-ime

Conversation

@foxytanuki

@foxytanuki foxytanuki commented Aug 2, 2026

Copy link
Copy Markdown
Contributor

I hit this while using QM with Japanese input: Enter used to confirm an IME conversion can submit partial text and leave the rest in the composer.

The short proposal is in adrs/web-composer-ime.md. I originally opened this as an implementation PR before noticing the contribution guidance, so I changed this PR to the informal proposal instead.

The tested implementation is preserved on foxytanuki:hotfix/web-composer-ime if it's useful later.

@foxytanuki
foxytanuki marked this pull request as ready for review August 2, 2026 23:59
@foxytanuki foxytanuki closed this Aug 3, 2026
@foxytanuki foxytanuki changed the title Fix IME composition handling in the web composer adr: avoid submitting while IME composition is active Aug 3, 2026
@foxytanuki foxytanuki reopened this Aug 3, 2026
@foxytanuki
foxytanuki force-pushed the fix/web-composer-ime branch from 496aa28 to a361dec Compare August 3, 2026 00:09
@16francej 16francej added adr Text proposal in adrs/ per CONTRIBUTING adr-looks-human ADR reads as human-written per guidelines bug Something isn't working labels Aug 4, 2026
@ReganBell

Copy link
Copy Markdown
Collaborator

Fixed on our side, going out shortly with you as co-author on the commit 🙏

@ReganBell ReganBell closed this Aug 4, 2026
ReganBell added a commit that referenced this pull request Aug 13, 2026
…ack (#476)

cuts, jsonb-safe serialization, CAS promotion, mid-run files, IME Enter Seven first-principles fixes for reported bugs, one commit per bug. bench:memory and the twin-instance script broke under any directory containing a space (new URL(...).pathname keeps percent-escapes) — use fileURLToPath everywhere a file URL becomes a path (#77). The audit redactor missed base64url-shaped (JWT-alphabet) secrets and its --with-token rule replaced the match with itself, a literal no-op (#80). Slack section splitting, clip, and inlineCode cut with bare slice, bisecting emoji surrogate pairs, <url|label> entities, and format runs — one safe-boundary cutter now backs all three (#82). The Postgres-backed durable map JSON.stringifies into jsonb, which rejects NULs and lone surrogates the system's own truncation helpers manufacture — sanitize at the serialization boundary (#62). Scratch-memory promotion wrote back with a blind replace, reverting any edit that landed during its model call — the write is now compare-and-set against the revision read at the start (#79). Steering a live run with a captionless file dropped the file while reporting steered:true — wakes now carry attached file names so the file is announced to the run (#89). And the Enter that confirms an IME composition (Japanese/Chinese/Korean) no longer submits the half-composed message (#140, issue #225).  toyoshi

**Deployment notes**

Batch of small fixes; mostly behavior-neutral (fileURLToPath, base64url secret masking, Slack
safe-cut splitter, durable-map jsonb tweak).
Secret masking now redacts base64url tokens and --with-token payloads — audit lines get MORE
redaction; any org tooling that parsed raw tokens out of audit logs (unlikely, undesirable) loses
them.
Slack messages near the 2900-unit boundary split at slightly different points; cosmetic.

<!-- codesmith:footer -->
---
<a href="https://app.blacksmith.sh/yc-software/codesmith/qm/pr/391"><picture><source media="(prefers-color-scheme: dark)" srcset="https://pr-comments-assets.blacksmith.sh/codesmith/view-with-codesmith-dark-v2.svg"><source media="(prefers-color-scheme: light)" srcset="https://pr-comments-assets.blacksmith.sh/codesmith/view-with-codesmith-light-v2.svg"><img alt="View with [code]smith" src="https://pr-comments-assets.blacksmith.sh/codesmith/view-with-codesmith-dark-v2.svg"></picture></a> <a href="https://backend.blacksmith.sh/track/enable-autofix?expires=1789237844&installation_model_id=19911&pr_number=391&repository=yc-software%2Fqm&return_to=https%3A%2F%2Fgithub.com%2Fyc-software%2Fqm%2Fpull%2F391&signature=c27a6ff0974722bac9130ebc317938623848f6112d26d6c5c75bd474dc19e8b2"><picture><source media="(prefers-color-scheme: dark)" srcset="https://pr-comments-assets.blacksmith.sh/codesmith/autofix-with-codesmith-dark.svg"><source media="(prefers-color-scheme: light)" srcset="https://pr-comments-assets.blacksmith.sh/codesmith/autofix-with-codesmith-light.svg"><img alt="Autofix with [code]smith" src="https://pr-comments-assets.blacksmith.sh/codesmith/autofix-with-codesmith-dark.svg"></picture></a>
<sup>Need help on this PR? Tag <code>@codesmith-bot</code> with what you need. Autofix is disabled.</sup>

<!-- codesmith:autofix:disabled -->
<!-- /codesmith:footer -->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

adr Text proposal in adrs/ per CONTRIBUTING adr-looks-human ADR reads as human-written per guidelines bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants