chore(docs): purge stale links to removed test paths and shims#1
Merged
Conversation
explore 스캔으로 발견된 BROKEN 3파일 정리: - packages/app/README.md: 삭제된 test/phase-a/ 증거·체크리스트 경로 2행 제거(상세는 CHANGELOG.md 참조로 대체), test:ime-checklist·test:runtime-terminal shim 행을 test:integration 통합 행으로 교체 - .nexus/context/stack.md: 동일 shim 행 2개를 test:integration 통합 행으로 교체 - packages/app/scripts/runtime/terminal-zombie-checklist.ts: 제거된 test:runtime-terminal 참조를 bun test ./test/e2-terminal-runtime.test.ts로 교체 CHANGELOG.md의 release-evidence/ 복원 안내는 의도된 git 히스토리 참조이므로 유지.
moreih29
added a commit
that referenced
this pull request
May 8, 2026
audit Plan #23 issue #1 / task T1. Extracted three internal helpers in store.ts to eliminate jscpd-detected 18% self-duplication: - computeNextActiveTabId: adjacent-tab fallback for activeTabId - detachTabFromLeaf: removal + active recompute + conditional leaf-hoist - attachTabToLeaf: index-splice-or-push + activeTabId assignment External exports (useLayoutStore, buildInitialLayout, makeEmptyLeaf, LayoutNode) unchanged. Behavior preserved — attachTab kept its distinct de-duplication guard separate from moveTab's destination path. Metrics: - Self-duplication: 18.05% → 0% - LoC: 411 → 398 (helpers themselves consume ~60 LoC, net -13) - Tests: 35/35 PASS Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
moreih29
added a commit
that referenced
this pull request
May 8, 2026
audit Plan #24 issue #1 / task T14 — F4.3 follow-up. Original: src/shared/lsp-types.ts at 479 LoC, 35+ Zod schemas mixed across LSP domains. Architect originally categorized as Important; omitted from Plan #23 — now closed. New: src/shared/lsp/{primitives,text-document,symbols,diagnostics, workspace}.ts + index.ts barrel. Domain mapping: - primitives.ts (45) — DocumentUri, Position, Range, Location, TextEdit, MarkupContent - text-document.ts (80) — TextDocumentIdentifier, ServerCapabilities, TextDocumentSyncKind, content change events, position args - symbols.ts (57) — SymbolKind, SymbolInformation, DocumentSymbol, DocumentHighlight, CompletionItem - diagnostics.ts (140) — Diagnostic*, Hover, ShowMessage*, progress schemas, LspServerEvent - workspace.ts (167) — WorkspaceEdit, ApplyWorkspaceEdit*, Configuration*, FileEvent, Registration, CodeAction 26 files (19 src, 7 tests) updated to import from ../shared/lsp. Schema definitions and exported names unchanged — pure relocation. Validation: bun test 1125/0, typecheck clean. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
moreih29
added a commit
that referenced
this pull request
May 20, 2026
1. Preview no longer overflows at large font sizes
The Editor preview snippet was four lines, the longest ~50 chars. At
fontSize=32 it overflowed the dialog and produced a horizontal scrollbar.
Replaced the snippet with three short lines (~25 chars each) and switched
white-space to pre-wrap + word-break: break-word so any residual overflow
wraps gracefully instead of scrolling. Also quoted the first font-family
token defensively for custom multi-word names like "Fira Code" /
"D2 Coding" (`"${fontFamily}"`) — unquoted CSS family names ARE legal
for whitespace-separated identifier sequences, but the explicit quoting
removes one ambiguity from the diagnosis path.
2. Reset slot reserves its space
Earlier ResetButton was conditionally rendered — when a section first
went dirty, the icon appeared and the label / adjacent controls shifted
by ~20px. Section helpers now always render the ResetButton, toggling
`visibility:hidden` + `pointer-events:none` + `aria-hidden` when not
active. Layout is geometrically stable from first paint.
3. Dialog title uses Radix VisuallyHidden
The "DialogContent requires a DialogTitle" warning fired despite the
sr-only-classed Title — Radix's runtime check seems to favour its own
VisuallyHidden primitive (the linked fix from the error message itself).
Switched to `<VisuallyHidden.Root asChild><Dialog.Title>...` which is the
pattern Radix documents.
Verified: typecheck clean, lint 3/50/11 (unchanged), build OK, tests
1806/1816 (unchanged baseline).
Note on #1's secondary thread (custom font not applied): the inline-style
fontFamily was always correct. If the typed font name is not installed
on the system, the preview silently falls back. The font-availability
indicator below the input shows "(not available)" in that case — please
verify it's appearing for the fonts that didn't take.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
moreih29
added a commit
that referenced
this pull request
May 20, 2026
Each workspace row gains a row of small logo chips — one per supported LSP language (TypeScript, Python). The chips are always visible so a disabled server is discoverable (Nielsen #1 — system status visibility); hiding OFF chips on hover would hide the very state the user needs to debug "why does cmd+click not work?". * SVG logos render with `currentColor` and a single solid path so chip state is expressed through colour alone (brand hex when ON, `grayscale opacity-40` when OFF). Python's official two-colour logo is reinterpreted as a single-colour stylised silhouette to keep the on/off signal unambiguous. * Clicks toggle the per-(workspace, language) enable flag — optimistic store update + `lsp.setEnabledLanguages` IPC. Backend eviction + workspaceReset broadcast (commit 1) takes care of tearing down the disabled server. * Radix Tooltip with `UI_TOOLTIP_DELAY_MS` describes the chip's state and the click effect; `aria-pressed` + focus-visible ring keep keyboard / assistive-tech parity. * Workspace row is wrapped in a Radix ContextMenu so right-click surfaces a "Workspace Settings…" entry. The handler prop is optional, so commit 2 builds cleanly without commit 3's wire-up; the menu becomes functional once Workspaces panel routing lands. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
moreih29
added a commit
that referenced
this pull request
Jun 2, 2026
Follow-up to the idle watchdog (e528ccd). Review surfaced six issues across correctness, scope, and recovery; this addresses all of them. #1 Monotonic clock: lastInbound was stored as wall-clock UnixNano and compared via time.Since on a time.Unix value, which silently falls back to wall-clock arithmetic. A laptop waking from sleep (local agent) or an NTP step (remote) made elapsed jump past the limit and reap a live session. Now anchored to a monotonic startMono via stampInbound/ idleElapsed. #2 Scope: the watchdog ran for local agents too, where parent death already arrives as stdin EOF (plus Pdeathsig on Linux) — pure downside. Now gated on a new --idle-watchdog flag the SSH launch sets and the local launch omits. #3 Threshold: 60s limit with 3-ping margin was tight enough that a stalled Electron main thread (ping is event-loop bound; ssh ServerAlive is not) could trip it. Widened to 90s limit / 15s ping (6 slots), with the check interval decoupled to limit/6 so the kill window stays tight. #4 Contract: client ping was gated on heartbeat advertisement, the agent watchdog on nothing — drift-prone. The agent now advertises idleWatchdogMs in the Ready frame; the client pings iff positive, at idleWatchdogMs/6. #5 Orphans: drainAndExit reaches os.Exit, which skips the `defer pty.Close()`. Linux survived via Pdeathsig; a darwin remote (supported, shipped) had only SIGHUP-on-fd-close, so SIGHUP-ignoring children orphaned. PTY cleanup is now a shutdown hook that SIGKILLs each process group on every OS. #6 Recovery: the watchdog exited 0, which the client's handleClose treats as a clean terminal exit (no reconnect). On a false positive (client alive but stalled) the session died permanently. Now exits 75 (EX_TEMPFAIL) so the client reconnects. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Plan #6의 남은 정리 작업 — 과거 테스트 구조 변경(통합 테스트 평탄화) 과정에서 문서·주석에 남은 오래된 경로·shim 참조를 제거.
Changes
68c2b07: stale doc link purgeVerification
Risk
Note
feat/design-system-repaintPR이 이 commit을 이미 포함하므로, 이 PR을 먼저 병합하거나 feat PR 병합만으로도 이 변경이 main에 반영됩니다. 운영자 판단.