docs: record context menu integration

This commit is contained in:
2026-09-07 18:10:08 +08:00
parent 6fbb9c077e
commit 171602f302
2 changed files with 103 additions and 0 deletions

View File

@@ -4,6 +4,21 @@ This file is the integrated default-branch snapshot. Feature tasks record progre
## Integrated Through
- Native text context-menu source frontier
`6fbb9c077ecda23e2ee6472631fe374527c49cb7` from task
`20260907-input-context-menu-a7c31e` is fast-forwarded onto local `main` by
task `20260907-integrate-context-menu-5a9e3c71`. The primary Renderer window
now receives one Electron Main-owned native menu for editable controls or an
existing text selection, exposing Chinese Cut, Copy, Paste, and Select All
roles according to Chromium edit capabilities. The same window-level listener
covers both Code and AI Design textareas without Renderer clipboard IPC or a
duplicate Canvas listener; ordinary non-editable content remains unaffected.
Verification passed the 5 focused unit cases, typecheck, full lint with 0
errors and 5 existing warnings, all Vite targets, and an Electron E2E that
observed one popup for each Composer. The full unit run passed 1,938 tests with
2 skips; its only failure was the unchanged Pi real-process two-second timing
assertion, which passed all 6 tests in isolation. No push, package, deployment,
publication, Provider call, or user-data mutation was performed.
- Local AI Design activity frontier
`4b894c7e320cdf829888f63f501d176f051be7d7` and fetched remote frontier
`918f8f80dca61b0f561f96b168e4ef541734d414` are reconciled by the ordinary

View File

@@ -0,0 +1,88 @@
# Task: Integrate native text context menu
## Identity
- Task ID: 20260907-integrate-context-menu-5a9e3c71
- Mode: Integration
- Branch: main
- Worktree: D:\Datas\OthersProjects\makelore
- Base commit: 6fbb9c077ecda23e2ee6472631fe374527c49cb7
- Owner: codex-root
- Status: Ready for Integration
## Scope
- Integrate the reviewed source branch
`codex/20260907-input-context-menu-a7c31e-input-context-menu@6fbb9c0` onto
local `main`.
- Integrate the Main-owned native text context menu for editable controls and
selected text, including explicit Code and AI Design textarea coverage.
- Re-run focused verification on merged `main`, update the canonical integrated
snapshot, and retain the source task record in source history unchanged.
## Intent And Constraints
- Preserve the source task's Electron Main ownership boundary: no Renderer,
Preload, IPC, Host API, or direct clipboard surface is added.
- Preserve the three explicitly adopted untracked task records byte-for-byte;
do not add, edit, delete, move, or commit them.
- Do not merge the superseded August implementation branch separately; the
current source already revalidates that behavior against the latest window
lifecycle and covers both Code and Design textareas.
- Do not change unrelated Pi timing code or thresholds, package, deploy,
publish, push to `origin`, or alter user data as part of this integration.
## Outcome
- After the user's explicit confirmation, released the completed prior
Integration ownership and claimed `main` while adopting the three known
untracked task records by fingerprint. Their files remain byte-for-byte
untouched and outside this integration commit.
- Verified that local `main@8c13ae7` was an ancestor of the reviewed source tip
`6fbb9c0`, then fast-forwarded `main` without conflicts or history rewriting.
- Re-established this Integration task's comparison base at the accepted source
tip using the bundled ownership scripts, so the source task record remains
read-only source history rather than being attributed to this task.
- Integrated one Electron Main-owned native text menu for editable controls and
selected text. Code and AI Design textarea controls share the same primary
Renderer listener; no duplicate Canvas listener or Renderer clipboard surface
was introduced.
- Retained the source task record and README update, and recorded the source tip
under `Current State / Integrated Through`. No additional ADR or architecture
change was required.
## Verification
- Before fast-forward, the source tip matched the reviewed
`6fbb9c077ecda23e2ee6472631fe374527c49cb7`, `git merge-base --is-ancestor`
passed, and `git diff --check` reported no source whitespace errors.
- `corepack pnpm --version` — exact pinned `10.33.4`.
- `corepack pnpm exec vitest run tests/unit/context-menu.test.ts` — 5 passed.
- `corepack pnpm run typecheck` — passed.
- Focused ESLint for the Main module, window registration, unit test, and E2E —
passed with no output.
- `corepack pnpm run build:vite` — Renderer, Main, Preload, and release utility
bundles passed; only existing Browserslist, mixed-import, and chunk-size
warnings were emitted.
- `corepack pnpm exec playwright test tests/e2e/context-menu.spec.ts` — 1 passed,
observing two native popups across the Code and AI Design textarea controls.
- `corepack pnpm run lint:check` — passed with 0 errors and 5 existing warnings
in untouched files.
- `corepack pnpm test` — 226 files / 1,938 tests passed with 2 skipped; the only
failure was the unchanged Pi real-process two-second timing assertion (2112ms
against 2000ms in the final report). Its isolated rerun with one worker passed
all 6 tests, so no unrelated Pi code or threshold was changed.
- Task-aware documentation drift and adopted-record fingerprint checks passed;
`git diff --check` also passed.
## Follow-ups
- A rebuilt or development client is required to observe the newly integrated
Main bundle; this task does not package or publish an installer.
- Push `main` to `origin` only if the user separately requests publication.
## Promotion Candidates
- Applied in this integration: `current-state.md` records the source frontier,
Main ownership boundary, shared Code/Design behavior, and verification result.
No further promotion is pending.