Repository navigation
Conversation
|
@claude review the current head against dev for correctness and regression risks. Please inspect the actual diff and existing tests; do not modify code. This is the current downloads-group review. |
|
Claude finished @kshivang's task in 6m 22s —— View job Downloads-group review - PR #571 (
|
|
Review-agent commit e60f904 disables autoRefreshToken and persistSession only in the fake Supabase client used by download-hash.test.ts. The original new test leaked an auth-refresh interval under Deno test resource sanitization. With the fixture repaired, all 63 plugin-store tests pass using deno test --allow-env --allow-net --allow-read tests. Production URL encoding and separate HMAC remain @Raghav-Bansal-15's contribution. Kotlin tests and root ktlint/detekt are queued under the shared build lock; hosted CI is not yet validated. |
|
Assessed the completed review at 4cb1007. The existing test timer leak is fixed by e60f904. Bounded follow-up 7c14ae2 adds a once-per-isolate missing/invalid-key warning that names only the variable, tests the exact warning/count, and adds DOWNLOAD_ANALYTICS.md with provisioning, exact key-material semantics, historical SHA vs HMAC boundary, rotation, untrusted forwarded-header limitations and gateway validation scope. All 63 Deno tests pass. Retained the deliberate 32-256 non-whitespace configuration contract: silently trimming key material would change hashes, and HMAC accepting longer keys does not make a documented configuration limit a correctness defect. Blank path values are encoded safely; only empty/dot segments are rejected for route ambiguity. The reviewer verified static routes correct, so speculative static-path churn and exception-type changes were not applied. The deployed gateway and broader Gradle publishing paths remain operational/cross-group context, not claimed fixed. Original production work remains @Raghav-Bansal-15's; these follow-ups are review-agent work. Kotlin validation queued; hosted fork workflow requires maintainer approval. No live service changed and no repeated review request. |
|
Your centralized URL-segment encoding and independent HMAC key materially improve store request integrity and download analytics privacy. Claude found no working-flow correctness regression. Review-agent follow-ups fix the test client's leaked auth timer (e60f904) and add secret-free configuration diagnostics, regression assertions and rollout documentation (7c14ae2). All 63 Deno plugin-store tests pass at the repaired head; your original implementation remains credited and preserved. Remaining gates are infrastructure/validation, not an unresolved demonstrated production defect. Hosted fork Build & Test requires maintainer approval and has not executed (the preceding repaired-head run 34736500478 is action_required; the current head must independently pass). Local plugin-repository tests and root ktlintCheck/detekt are still waiting for the shared build lock. No approval bypass was attempted. Next steps: a maintainer must approve the current-head workflow, then require all checks green on 7c14ae2. Inspect the queued 571-gradle.log in the downloads result directory or run the command below through the shared lock. Resolve any actual failures, recheck current dev compatibility, then mark ready. Before rollout provision the documented independent key; preserve the exact key format rather than silently trimming it. A deployed gateway check is still needed before describing client encoding as an end-to-end gateway guarantee; no live service was exercised here. Validation commands: python3 /Users/kshivang/Development/Boss/.pr-review-sessions/with-build-lock.py ./gradlew :plugin-platform:plugin-repository:desktopTest ktlintCheck detekt; and, from supabase/functions/plugin-store, deno test --allow-env --allow-net --allow-read tests. Under the updated bounded-review policy I am marking this PR draft pending these gates, preserving the useful change and repaired tests. Workflow authorization and build-queue capacity are maintainer infrastructure issues, not author defects. |
cd88490 to
5a2e818
Compare
7c14ae2 to
9373ada
Compare
|
Review follow-up: Encode dynamic path segments and use a separate HMAC key for download analytics. Add safe configuration warnings, rotation/provisioning notes, and a fixture that does not leak an auth-refresh timer. Validation: 63 store route tests pass locally. The current-head full fork CI passed. Production HMAC provisioning and deployed gateway behavior remain operational checks. The PR is ready for review and the existing author/reviewer commits are retained. Upstream CI needs maintainer approval. I am following the latest-head checks and have not merged or released anything. |
|
@Raghav-Bansal-15 Your shared endpoint encoder and independent HMAC key remain useful, distinct improvements: dynamic IDs cannot change the client-emitted path structure, and analytics no longer derives its hash key from a predictable service-role JWT prefix. I checked all changed route call sites, the nullable download-recording consumers, and the retained warning/provisioning/rotation documentation. These belong in the host store transport and server analytics service; they do not add vault algorithms to the host. Validation at The remaining merge gate is upstream Build & Test 34867355227. I approved its pending fork workflow once; jobs are now queued, not green. This is maintainer infrastructure/execution, not an author defect. Let current-head upstream CI complete, address any actual failures, then refresh dev and recheck integration before marking ready. No check bypass or repeated Claude request is needed. The applicable Claude findings retain their documented dispositions: secret-free warning and fixture timer cleanup are present; exact key-material validation is deliberate, and whitespace is safely encoded. Static routes still match the server. Before deployment, provision the documented independent key and verify missing-key downloads still work; a controlled gateway check must show encoded separators survive routing before claiming end-to-end gateway protection. These operational checks were not performed, and no secret or live service was accessed. Manual store detail/install/version/rating/admin UI checks remain unperformed. Under the bounded review policy I am converting this PR to draft pending upstream validation. Original and prior reviewer contributions remain separately credited. No merge or auto-merge. |
05c9994 to
95e53e9
Compare
|
@claude Please review current head @Raghav-Bansal-15 Your original implementation and follow-up fixes are preserved with authorship. I removed the unrelated old-dev history (including cross-group health/CLI work) so this PR can integrate safely into current dev. Fresh CI is required; pending execution is not an author defect. |
|
Claude finished @kshivang's task in 6m 59s —— View job Bounded re-review - PR #571 at
|
|
@Raghav-Bansal-15 Bounded review checkpoint at Validation: 63 plugin-repository tests, 63 Deno tests, and root ktlintCheck/detekt pass locally under the shared build lock for Gradle. Both scoped heads pass diff checks and integrate cleanly with latest dev (the subsequent doctor-output change does not affect these paths). Prior substantive review findings retain the documented fixes/dispositions. One current-head Claude review was requested and is still running. Upstream full Build & Test 34959541979 is running after approval. This is pending validation, not a failing author test. Keeping this PR ready/open on dev; no draft conversion, merge or auto-merge. Before merge, inspect the completed current-head review and all required checks, refresh dev under the shared merge lock, and use the exact verified head. The earlier real-store/gateway operational checks remain explicitly unperformed; no production publish, secrets or app operation was used for validation. |
|
Completed current-head review assessed: no blocking correctness/regression finding. Reserved single-segment route names are a pre-existing server schema/routing limitation, not introduced by the endpoint encoder; this PR only guarantees encoding of dynamic separators on emitted client requests. Changing route naming/schema would expand scope and is not needed for this improvement. The once-per-isolate warning test has no competing hashIp caller in today's suite; exposing/resetting production state for hypothetical future tests is unnecessary. Existing deployment/gateway limitations remain documented. No speculative rewrite or repeat review request. The exact head 95e53e9 has all upstream CI green (34959541979), and the previous 63 repository / 63 Deno tests plus ktlint/detekt pass. Revalidating the combined current-dev tree before serialized dev merge. Original @Raghav-Bansal-15 contribution and prior reviewer repairs remain separately credited. |
|
@Raghav-Bansal-15 Merged into dev as e75d1e5 after completed review and green exact-head CI. Under the shared merge lock, rechecked dev/head/state/checks and used squash with --match-head-commit 95e53e9. No main merge or bypass. Fresh combined-dev repository tests and root ktlint/detekt completed successfully via non-TTY execution; previous 63 Deno tests remain applicable. Original and prior reviewer authorship stays credited. The pre-existing reserved-route-name limitation and documented gateway/HMAC provisioning checks remain operational follow-up context, not claims that this PR solves server routing or deploys secrets. |
Store identifiers were inserted into URL paths without segment encoding, and download analytics reused authentication-related secret material.
Encode dynamic path segments and use a separate HMAC key for download analytics. Add safe configuration warnings, rotation/provisioning notes, and a fixture that does not leak an auth-refresh timer.
Original implementation and subsequent contributor fixes: @Raghav-Bansal-15. Prior review-agent repairs remain in their separately authored commits. This review replayed only the topic commits onto rebased dev
77c4a4071, preserving author identities and removing unrelated old-dev integration history. No new production implementation was added by this replay.Current head:
95e53e9825265dc7d898af3c2d301a20fbed6c79. Current-head upstream CI passed at95e53e98: 🔨 Build & Test. Older fork CI is historical evidence only. No live publishing, gateway rollout, or production secret provisioning was performed.