fix(ux): keep customer-facing editor guidance actionable - #391
fix(ux): keep customer-facing editor guidance actionable#391seonghobae wants to merge 21 commits into
Conversation
…daries - Toolbar image title drops base64 jargon - Inline-image policy error names accepted formats instead of URI internals - Converter/blob errors give size limits, retry, or alternate-file guidance - Paste failures state what to try next (less content / plain text) - Doc-contract tests updated to the shipped phrasing Audit rules: no internal implementation boundaries in customer-visible text; every explanation guides the next action.
…-honest Early-return the Error path and scope the v8 ignore to the unreachable fallback arm only, keeping the global 100% threshold truthful.
Replace suppression pragmas with truthful coverage: the Error passthrough and the hostile non-Error fallback are both exercised, and the fallback message is asserted to stay actionable without echoing hostile input.
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review. 📝 WalkthroughWalkthrough툴바의 인라인 이미지 라벨에서 Changes사용자 지향 메시지 변경
Estimated code review effort: 2 (Simple) | ~10 minutes Merge Risk: ⚪ Minimal · up to This PR makes localized editor guidance and accessibility-label updates with regression coverage and does not change editor capabilities or deployment behavior. No actionable merge-blocking risk remains beyond normal checks and review. 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches 💡 1🛠️ Fix failing CI checks 💡
📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
@coderabbitai review |
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
|
Devin informational finding reviewed: this remains intentional fail-closed behavior. The structured-clone brand check avoids walking an untrusted rejected value prototype chain; unsupported or non-cloneable values receive the bounded actionable fallback. Shipped Inkspan error subclasses used by this path carry cloneable fields, so no code change is required. |
|
|
@opencode-agent review exact current head The scheduler run spawned by the head update ( |
|
@opencode-agent review exact current head |
|
Exact-head local validation for 20f9064: CI=true pnpm exec vitest run src/components/Toolbar.test.tsx src/components/Toolbar.customerCopy.test.tsx src/extensions/SafeClipboard.test.ts src/extensions/SafeClipboard.coverageContract.test.ts src/extensions/SafeClipboardExtension.test.ts Result: 5 files / 38 tests passed. This is local evidence only; the PR remains governed by current hosted Strix/OpenCode results and qualifying independent approval. |
|
Exact-head local validation for 3edd749: CI=true vitest run src/components/Toolbar.test.tsx src/components/Toolbar.customerCopy.test.tsx src/extensions/SafeClipboard.test.ts src/extensions/SafeClipboard.coverageContract.test.ts src/extensions/SafeClipboardExtension.test.ts Result: 5 files / 38 tests passed. This supersedes the earlier local evidence for 20f9064. Hosted current-head checks, formal approval, and governance gates remain authoritative. |
|
@opencode-agent review exact current head 3edd749 against protected main 128a239. Issue a fresh current-head formal verdict only; do not reuse predecessor evidence. |
|
Current-head gate update for 3edd749 (protected main at 128a239): the required opencode-review job failed closed at the step named Fail closed without a current-head OpenCode verdict (https://github.com/ContextualWisdomLab/inkspan/actions/runs/33146959271/job/98771103570). The current-head review API still has 0 formal reviews and 0 approvals, so this is not a review verdict and the PR remains blocked. Exact-head local targeted validation remains 5 files and 38 tests passed; no merge or bypass is authorized. |
|
Terminal current-head Strix update for 3edd749: the required job failed at Run Strix (quick), job https://github.com/ContextualWisdomLab/inkspan/actions/runs/33146959357/job/98772054778. Its uploaded strix-reports artifact records contextual-orchestrator HTTP 400 invalid_tools because each tool.function.description must be at most 1024 characters, followed by STRIX_PROVIDER_UNAVAILABLE. The artifact's displayed Vulnerabilities 0 is not vulnerability-clear evidence because the scan did not complete. Current-head formal reviews and approvals remain 0, so PR 391 stays blocked. |
|
Exact-current-head local validation for
The initial default 5-second test limit timed out one existing broad test under this environment; rerunning with the repository's behavior unchanged and a 15-second per-test ceiling passed all assertions. No source, lockfile, or root tracked files were changed by this validation. Hosted provider checks and the required independent formal approval remain authoritative; no Ready or merge action is claimed. |
Summary
Keeps the buyer-facing toolbar image action actionable without expanding this PR into an overlapping source lane:
Insert Base64 Imageimplementation-oriented label withInsert inline image;base64jargon in toolbar button names.Ownership boundary
This PR is now intentionally Toolbar-only. Its effective changed paths are limited to
src/components/Toolbar.tsxand the directly owned toolbar regressions.src/extensions/SafeClipboard.tsand its existing tests are not owned here. The live canonical SafeClipboard resource/customer-guidance writer is Draft #359, which already owns the actionable messages for the rejection codes it emits and must reconcile that work with its earlier SafeClipboard dependency order. The overlapping SafeClipboard edits formerly present in this PR were restored to protected-main bytes rather than copied or raced across writers.src/converter/**remains owned by #160,src/policy/inlineImagePolicy.tsby #166, andsrc/extensions/Base64Image.tsis unchanged here. No transport, persistence, credentials, tenancy, model/provider, network, deployment, durable-audit, or release authority moves into this lane.Verification contract
The toolbar behavior remains test-first: the customer-copy accessibility regression predates the toolbar-label repair. Any head movement invalidates predecessor workflow/review evidence. Acceptance must use the exact current contributor head against an independently resolved live protected base and inspect actual required workflow steps/source identity.
Pending, queued, skipped-required, cancelled, absent, neutral, failed, stale, predecessor, status-only, model-only, wrong-checkout, synthetic-source-only, or otherwise vacuous evidence is non-passing. Aggregate green cannot override a skipped Dependency Review action or a scanner that did not inspect the submitted source.
The central fail-closed Dependency Review repair remains foreign-owned by
.github#897; exact-submitted-head SAST remains foreign-owned by.github#941; and the current Strixinvalid_toolsprovider-compatibility failure is owned bycontextual-orchestrator#901. Do not add Inkspan-local workflow/provider workarounds.Keep this PR unmerged until the unchanged exact head is gate-clean under then-live governance with qualifying independent formal approval and zero valid unresolved review threads. Stable publication remains owned by #118.