89 lines
4.2 KiB
Markdown
89 lines
4.2 KiB
Markdown
# 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.
|