Repository navigation
Refine security workstation and prepare verified submission workflow - #1
Conversation
|
Review complete. 🟡 1 medium 💬 Inline comments (1)
The change updates the React workspace with a v2 layout migration that opens the inspector by default, refines
Reviewed commit: db9e770 |
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
ⓘ Qodo reviews are paused because your trial has ended. Ask your workspace admin to add credits to resume reviews. Manage billing |
There was a problem hiding this comment.
This PR refreshes the workspace UI and marketing website with a new default inspector window, GSAP scroll-driven ghost animation, recorded-playback rename, and updated submission documentation/tooling.
Key findings
- 🟡 Operations preset windows overlap on small viewports — workspace-model.ts:35
| const contextWidth = Math.min(bounds.width, Math.max(340, Math.min(390, bounds.width * .3))); | ||
| const placements: Partial<Record<WindowId, Rect>> = preset === "operations" ? { | ||
| network: { x: 0, y: 0, width: bounds.width, height: bounds.height < 650 ? bounds.height : top }, events: { x: 0, y: top + gap, width: bounds.width, height: bottom } | ||
| network: { x: 0, y: 0, width: bounds.width - contextWidth - gap, height: top }, | ||
| events: { x: 0, y: top + gap, width: bounds.width - contextWidth - gap, height: bottom }, | ||
| inspector: { x: bounds.width - contextWidth, y: 0, width: contextWidth, height: bounds.height } |
There was a problem hiding this comment.
🟡 bug · medium
Operations preset windows overlap on small viewports
The new operations preset gives inspector a contextWidth right column while network/events get bounds.width - contextWidth - gap (src/lib/workspace-model.ts:35-39), but constrain floors every rect to min(340, width) × min(220, height) (src/lib/workspace-model.ts:28-29). For viewports narrower than ~692px the floored network pane extends under the inspector (at 600px wide, network spans x 0–340 while inspector starts at x=260), and below ~452px tall the events pane is clamped up onto network. Users on small windows get the default operations layout with open windows stacked on top of each other instead of the intended three-pane arrangement.
📋 Prompt for AI Agents
In src/lib/workspace-model.ts defaultLayout (lines 35-39), make the operations preset respect constrain()'s minimum pane sizes (340×220 or bounds-sized). Clamp contextWidth so bounds.width - contextWidth - gap >= Math.min(340, bounds.width), and clamp top so top + gap + Math.min(220, bounds.height) <= bounds.height; when the viewport is too small for three panes, emit a two-pane or single-column arrangement (e.g. leave inspector out of placements so it stays closed) instead of emitting rects that constrain inflates into overlaps. Add unit tests at widths 320/400/600/692/900 and heights 400/452/650 asserting no two open windows intersect.
The workstation now opens with an agent network, readable security timeline and contextual inspector. Existing draggable windows, layout persistence, recorded playback and protected hosted-mode controls remain intact. The approved pixel mascot gains scroll-responsive hand and panel inertia and an independent pixel hem wave.
A bounded local recording workflow and short founder/submission guides document actual authorization, denial, quarantine and forensic verification. Guild.ai, ClickHouse and Akash remain explicitly awaiting authenticated access; no sponsor execution is claimed.
Validation: website typecheck, lint and static production build; 10 website artifact checks; 10 browser regressions; root typecheck and lint; 87 affected regression tests; actual local MCP allow/deny/quarantine/restore and authentic/tampered forensic checks; staged-file secret checks.