Add bounded component-property inspection - #172
Conversation
📊 PR Size: size/LTotal changes: 904 lines (16 files) Top files changed:
...and 6 more files Size calculated as additions + deletions. Labels: XS (<10), S (<50), M (<250), L (<1000), XL (1000+) |
|
| Test Suite | Result |
|---|---|
| valdi_web Integration Test | ✅ success |
| macOS: C++ & Platform Tests | ❌ failure |
| Test Coverage Delta | ✅ success |
| Linux: Hotreload Smoke | ✅ success |
| Snapshot Tests | ✅ success |
| Valdi Smoke Tests | ✅ success |
| API Surface Check | ✅ success |
| Linux: C++ Tests | ✅ success |
| Linux: Build & Export | ✅ success |
| Linux: Registry Validation | ✅ success |
| Linux: Module Tests | ✅ success |
| Linux: Build Compiler | ✅ success |
Some tests failed. Please check the workflow logs for details.
🚀 Bazel remote cache is now enabled - future builds will be faster!
Workflow: Valdi CI
clholgat
left a comment
There was a problem hiding this comment.
Review of bounded component-property inspection. The bounds and fail-closed handling of hostile/revoked Proxies look solid. One low-severity performance note:
- 🟢 Low —
captureObjectinDebuggerValueSnapshot.tsonly counts enumerable descriptors against the entry/byte caps; non-enumerable own keys are skipped (continue) without consuming budget or incrementing the entry count. A hostile object/Proxy with millions of non-enumerable own keys therefore forces onegetOwnPropertyDescriptor(trap) call per key, with work bounded only by total own-key count rather than the 50-entry / 64 KiB caps → CPU stall on the snapshot path. Suggested fix: count every own key inspected against a hard iteration cap (or decrement the entry budget for skipped non-enumerable keys too) so traversal cost is bounded by the caps, not by the object's key count.
Note for the squash: please carry this feedback into the squashed PR that contains component-property inspection.
|
Superseded by #180, which consolidates this patch into the reviewed debugger capabilities landing unit. The replacement carries forward the feedback and fixes discussed here. Closing this draft to reduce the active stack; this PR and its discussion remain the historical review record. |
Description
Adds bounded read-only component-property inspection for exact web targets.
Type of Change
Testing
bazel test //...)Testing Details
npm testpassed 436/436; the CLI production build passed.//src/valdi_modules/src/valdi/web_renderer:testpassed.bazel query //...passed.Checklist
Related Issues
Relates to #154
Additional Context
Stack 19/22. Stacked on #171 (
bjd/debugger-target-picker). Review this PR as the single incremental commit012775d6against that base; do not merge it before its parent.