fix(desktop): propagate canonical deep-link length validation - #1982
Conversation
…8dcb68971e6a0e6`. Implemented F1 only on base head `48f85811addf4bccfd390961e8dcb68971e6a0e6`. Changes: - [security.ts](/tmp/git-processor/worktrees/integry/propr/pr-1979-followup-2026-08-29T20-41-29/apps/desktop/src/security.ts) now checks the serialized canonical candidate’s length/controls and requires its dashboard path to equal the validated input path before returning it. - Added desktop and renderer regressions for percent-expansion beyond 2,048 and an exactly 2,048-character valid canonical link. - Existing traversal, encoded-delimiter, auth/pairing, query, and hash tests remain passing. Verification: - Desktop tests: 28 passed. - Focused renderer tests: 5 passed. - Desktop and UI typechecks: passed. - Production package: passed. - `git diff --check`: passed. - Packaged smoke: environment-blocked because no usable Chromium sandbox helper is installed/configured. - Full suite: reached file 155/320 before blocking on unavailable Redis (`127.0.0.1:6379`); neither Redis nor Docker is installed. Only the three scoped files are modified. Per instruction, I did not commit or push; the system must publish the resulting branch head. PR: #1979 Comment by: @integry (ID: 5464771154) Model: gpt-5.6-sol
|
/review Review exact head d99f006 propagated from the runtime epic into top epic branch 1950. Verify the three-file delta is exactly the canonical deep-link serialization fix plus focused regressions, preserves every top-epic runtime/UX change, and introduces no semantic conflict. Reproduce canonical length boundaries and re-audit encoded traversal/auth/reserved/external rejection. No code changes. Report blockers and score only after exact-head checks. |
|
✅ AI Code Review Complete requested by @integry Posted 1 review: |
🔍 AI Code Review — codex:gpt-5.6-solOverall EvaluationAt exact head The code itself has no verified merge blocker, but the PR needs minor follow-up before merge because the authoritative current status includes a failed Validate Changes check and two pending full-suite runs. ✅ Canonical value is revalidated — ✅ Length boundaries are correctly covered — Both desktop and renderer regressions demonstrate rejection when serialization expands beyond 2,048 characters and acceptance at exactly 2,048. ✅ Security invariants remain preserved — The changed path continues through the existing credential, encoded traversal, reserved route/parameter, and absolute/external destination checks. Merge blockersNo merge blockers. SuggestionsThese are optional follow-ups and are not sent to No suggestions. ScoreThe scoped implementation appears correct and well tested, but the current failed validation check prevents declaring the exact head merge-ready until its cause is resolved; the pending full-suite checks should also complete. Score: 7/10 🤖 Review Details
🤖 Review by ProPR |
|
/review Re-review exact unchanged head d99f006 now that all nine exact-head checks, including rerun Validate Changes and Full Test Suite, are green. Confirm prior no-blocker canonical deep-link assessment, exact three-file propagation into top epic, 673/674 serialization boundaries, and preserved security/runtime behavior. No code changes. Report final blockers and score from current evidence. |
|
✅ AI Code Review Complete requested by @integry Posted 1 review: |
🔍 AI Code Review — codex:gpt-5.6-solOverall EvaluationThis exact three-file delta is focused, correct, and ready to merge into the intended non-main desktop epic branch. ✅ Canonical serialization enforced — ✅ Boundary behavior is correct — The 2,048-character case is accepted while the next expansion beyond the limit is rejected, covering the intended 673/674 serialization transition. ✅ Security behavior preserved — Existing traversal, authentication, reserved-parameter, malformed, and external-path rejection remains intact; production renderer behavior is unchanged. Current-head status reports 0 failed, 0 pending, and 27 passed checks. Merge blockersNo merge blockers. SuggestionsThese are optional follow-ups and are not sent to No suggestions. ScoreThe implementation fully satisfies the scoped objective, adds focused desktop and renderer regressions, and has no identified behavioral or security regressions at a fully green current head. Score: 10/10 🤖 Review Details
🤖 Review by ProPR |
Propagates the final canonical deep-link serialization invariant from the runtime epic into the top desktop epic.
This PR targets the non-main desktop epic branch. It must be reviewed and merged only into that branch. Related: #1950 #1952 #1979.