Skip to content

Commit ec612f8

Browse files
author
DavidQ
committed
Fix actual Workspace Manager tile overflow source - PR 11.33
1 parent 508dc05 commit ec612f8

6 files changed

Lines changed: 189 additions & 35 deletions

File tree

docs/dev/codex_commands.md

Lines changed: 47 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -2,38 +2,58 @@ MODEL: GPT-5.3-codex
22
REASONING: medium
33

44
TASK:
5-
Apply PR 11.32.
6-
7-
Fix the Workspace Manager tool tile grid so tiles do not overflow the container when the browser width shrinks.
8-
9-
Use responsive wrapping:
10-
- allow cards to wrap to fewer columns
11-
- down to one column on narrow widths
12-
- keep cards within container width
13-
- avoid fixed-width layouts that exceed the panel
14-
- use minmax/min-width: 0/box-sizing as needed
15-
- ensure long labels/status text does not force horizontal overflow
16-
17-
Do NOT:
18-
- change tool data or payload logic
19-
- change palette handoff
20-
- change fullscreen behavior
21-
- change navigation behavior
22-
- touch start_of_day folders
23-
- add broad refactors
24-
25-
Likely targets:
26-
- tools/shared/platformShell.js if styles are inline/generated there
27-
- related shared shell CSS/style block if tile grid styles live elsewhere
5+
Apply PR 11.33.
6+
7+
PR 11.32 had no effect. The uploaded platformShell.css already shows responsive grid rules exist for:
8+
- .tools-platform-frame__nav
9+
- .tools-platform-frame__nav-grid
10+
11+
Therefore do not just repeat the same grid rule.
12+
13+
Find and fix the actual overflow source.
14+
15+
Inspect rendered DOM/classes and CSS around Workspace Manager tiles. Check:
16+
1. Is the tile wrapper actually `.tools-platform-frame__nav-grid`?
17+
2. Are tile cards/grid items forcing min-content width?
18+
3. Are badges/links using `white-space: nowrap` and forcing card width?
19+
4. Are parent containers using fixed/calc widths that exceed viewport?
20+
5. Is the visible purple panel inside a wider `.tools-platform-frame`, `.wrap`, `.app`, or header constraint?
21+
6. Are sections/cards missing `min-width: 0` or `max-width: 100%`?
22+
7. Is horizontal overflow hidden on the wrong element only, leaving visual runoff?
23+
24+
Required CSS behavior:
25+
- all Workspace Manager tile grid parents and children must have `min-width: 0`
26+
- tile cards must have `max-width: 100%` and `box-sizing: border-box`
27+
- long labels/status badges may wrap or ellipsize without increasing card width
28+
- grid must use a true responsive definition such as:
29+
`grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));`
30+
or equivalent
31+
- add a narrow-screen media rule if needed:
32+
`grid-template-columns: 1fr;`
33+
- do not rely only on `overflow-x: hidden` as the fix; prevent the overflow source.
34+
35+
Likely file:
36+
- tools/shared/platformShell.css
37+
38+
Only touch platformShell.js if the generated markup is using the wrong class/wrapper.
2839

2940
Validation:
3041
node --check tools/shared/platformShell.js
3142
node ./tests/runtime/LaunchSmokeAllEntries.test.mjs --samples --sample-range=1902-1902 --tools
3243

3344
Manual validation:
3445
Open sample 1902 -> Workspace Manager.
35-
Shrink browser width.
46+
Shrink browser width to match the screenshot.
3647
Confirm:
37-
- tile cards wrap inside the purple container
38-
- no horizontal runoff
39-
- grid can collapse to one column
48+
- no tile runoff beyond the right edge
49+
- cards wrap to fewer columns
50+
- cards can collapse to one column
51+
- labels/badges do not force overflow
52+
53+
REPORT:
54+
Write docs/dev/reports/PR_11_33_validation.txt with:
55+
- changed files
56+
- actual overflow source found
57+
- why PR 11.32 had no effect
58+
- before/after manual validation
59+
- validation command results

docs/dev/commit_comment.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
Make Workspace Manager tile grid wrap responsively - PR 11.32
1+
Fix actual Workspace Manager tile overflow source - PR 11.33
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
PR 11.33 Validation Report (Updated)
2+
3+
Changed files:
4+
- tools/shared/platformShell.css
5+
- docs/dev/reports/PR_11_33_validation.txt
6+
7+
Actual overflow source found:
8+
- The overflow source was not the tile-grid column rule itself.
9+
- `.tools-platform-frame__accordion-content` is a grid with implicit `auto` track sizing, and its `.tools-platform-frame__bottomline` child contributed max-content width.
10+
- This caused `.tools-platform-frame__bottomline` -> `.tools-platform-frame__controls-stack` -> `.tools-platform-frame__nav` to compute around 1030px wide inside a ~705px header host.
11+
12+
Why PR 11.32 had no effect:
13+
- PR 11.32 improved nav/grid internals, but parent grid-track sizing in `.tools-platform-frame__accordion-content` still allowed max-content expansion.
14+
- So child tiles could remain wider than the container even with responsive `nav` / `nav-grid` rules.
15+
16+
Fix applied in this pass:
17+
- Constrained parent grid tracks:
18+
- `.tools-platform-frame__accordion-content { grid-template-columns: minmax(0, 1fr); }`
19+
- `.tools-platform-frame__controls-stack { grid-template-columns: minmax(0, 1fr); }`
20+
- Added width/min-width/max-width/box-sizing constraints on parent wrappers to prevent inherited expansion:
21+
- `.tools-platform-frame__topline`, `.tools-platform-frame__bottomline`, `.tools-platform-frame__controls-stack`, `.tools-platform-frame__actions`, `.tools-platform-frame__shared-status`, `.tools-platform-frame__return-line`, `.tools-platform-frame__project`.
22+
- Kept previous child-level protections (row/link/badge constraints + narrow-screen one-column media rule).
23+
24+
Before/after manual validation:
25+
- Before (captured by iframe DOM probe at 740px viewport):
26+
- headerHost/clientWidth=705, scrollWidth=1041
27+
- bottomline/clientWidth=1030
28+
- nav/clientWidth=1030
29+
- After (same probe conditions):
30+
- headerHost/clientWidth=705, scrollWidth=705
31+
- bottomline/clientWidth=683
32+
- nav/clientWidth=683
33+
- Manual browser check still required for visual confirmation in your session.
34+
35+
Validation command results:
36+
- node --check tools/shared/platformShell.js -> PASS
37+
- node ./tests/runtime/LaunchSmokeAllEntries.test.mjs --samples --sample-range=1902-1902 --tools -> PASS
38+
- Summary: PASS=19 FAIL=0 TOTAL=19
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# PR 11.33 Validation
2+
3+
Changed files:
4+
-
5+
6+
Actual overflow source:
7+
-
8+
9+
Why PR 11.32 had no effect:
10+
-
11+
12+
Before:
13+
- Workspace Manager tiles overflowed past the right edge when browser width shrank.
14+
15+
After:
16+
- Tiles remain inside the container and collapse to one column.
17+
18+
Validation:
19+
- node --check tools/shared/platformShell.js
20+
- node ./tests/runtime/LaunchSmokeAllEntries.test.mjs --samples --sample-range=1902-1902 --tools
21+
22+
Manual:
23+
- sample 1902 -> Workspace Manager -> shrink browser width
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
# PR 11.33 — Fix Workspace Grid Actual Overflow Source
2+
3+
## Purpose
4+
Fix Workspace Manager tile overflow after PR 11.32 had no visible effect.
5+
6+
## Observed Problem
7+
The tile grid still runs off the right edge of the purple Workspace Manager container when browser width shrinks.
8+
9+
## Important Finding
10+
The CSS already contains responsive grid rules for:
11+
- `.tools-platform-frame__nav`
12+
- `.tools-platform-frame__nav-grid`
13+
14+
So the overflow is likely not caused by the grid declaration alone. It is likely caused by one or more of:
15+
- parent/header width constraints
16+
- grid item min-content sizing
17+
- card/badge nowrap forcing min width
18+
- a generated wrapper not using `.tools-platform-frame__nav-grid`
19+
- fixed-width content inside nav buckets
20+
- external container clipping/overflow rules
21+
22+
## Required Change
23+
Fix the actual overflow source so the Workspace Manager tile cards remain inside the container and collapse down to one column.
24+
25+
## Scope
26+
- CSS/layout only.
27+
- Workspace Manager tile/status layout only.
28+
- Do not change tool data, payload logic, palette handoff, fullscreen behavior, or navigation behavior.
29+
- Do not touch start_of_day folders.
30+
31+
## Acceptance
32+
- At narrow browser widths, tiles do not run off the purple container.
33+
- Cards wrap down to one column.
34+
- Tile text/badges do not force horizontal overflow.
35+
- Parent Workspace Manager panel does not force a wider-than-screen layout.
36+
- Runtime smoke test passes.

tools/shared/platformShell.css

Lines changed: 44 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -105,12 +105,17 @@ body.tools-platform-surface {
105105
.tools-platform-frame__accordion-content {
106106
margin-top: 10px;
107107
display: grid;
108+
grid-template-columns: minmax(0, 1fr);
108109
gap: 10px;
109110
}
110111

111112
.tools-platform-frame__topline,
112113
.tools-platform-frame__bottomline {
113114
display: block;
115+
width: 100%;
116+
min-width: 0;
117+
max-width: 100%;
118+
box-sizing: border-box;
114119
}
115120

116121
.tools-platform-frame__bottomline {
@@ -125,7 +130,12 @@ body.tools-platform-surface {
125130

126131
.tools-platform-frame__controls-stack {
127132
display: grid;
133+
grid-template-columns: minmax(0, 1fr);
128134
gap: 8px;
135+
width: 100%;
136+
min-width: 0;
137+
max-width: 100%;
138+
box-sizing: border-box;
129139
}
130140

131141
.tools-platform-frame__eyebrow {
@@ -228,8 +238,9 @@ body.tools-platform-workspace-context .tools-platform-frame__description {
228238

229239
.tools-platform-frame__nav-tool-row {
230240
display: flex;
231-
flex-wrap: wrap;
232-
align-items: center;
241+
flex-direction: column;
242+
flex-wrap: nowrap;
243+
align-items: stretch;
233244
gap: 6px;
234245
padding-bottom: 4px;
235246
margin-bottom: 4px;
@@ -248,17 +259,19 @@ body.tools-platform-workspace-context .tools-platform-frame__description {
248259
}
249260

250261
.tools-platform-frame__binding-badges {
251-
display: inline-flex;
262+
display: flex;
252263
flex-wrap: wrap;
253264
gap: 6px;
254265
margin: 0;
255266
pointer-events: none;
256267
min-width: 0;
257268
max-width: 100%;
269+
width: 100%;
270+
flex: 1 1 100%;
258271
}
259272

260273
.tools-platform-frame__binding-badge {
261-
display: inline-flex;
274+
display: flex;
262275
align-items: center;
263276
min-height: 22px;
264277
padding: 0 8px;
@@ -268,10 +281,12 @@ body.tools-platform-workspace-context .tools-platform-frame__description {
268281
color: var(--muted, #e9ddff);
269282
background: rgba(43, 16, 91, 0.75);
270283
pointer-events: none;
284+
width: 100%;
285+
min-width: 0;
271286
max-width: 100%;
272-
white-space: nowrap;
273-
overflow: hidden;
274-
text-overflow: ellipsis;
287+
white-space: normal;
288+
overflow-wrap: anywhere;
289+
word-break: break-word;
275290
}
276291

277292
.tools-platform-frame__binding-badge.is-active {
@@ -394,6 +409,10 @@ body.tools-platform-workspace-context .tools-platform-frame__description {
394409
gap: 10px;
395410
flex-wrap: wrap;
396411
margin-top: 8px;
412+
width: 100%;
413+
min-width: 0;
414+
max-width: 100%;
415+
box-sizing: border-box;
397416
}
398417

399418
.tools-platform-frame__return-line {
@@ -405,6 +424,10 @@ body.tools-platform-workspace-context .tools-platform-frame__description {
405424
margin-top: 8px;
406425
color: var(--muted, #e9ddff);
407426
text-align: center;
427+
width: 100%;
428+
min-width: 0;
429+
max-width: 100%;
430+
box-sizing: border-box;
408431
}
409432

410433
.tools-platform-frame__return-copy strong {
@@ -435,6 +458,10 @@ body.tools-platform-workspace-context .tools-platform-frame__shared-status stron
435458
margin-top: 0;
436459
padding-top: 0;
437460
border-top: 0;
461+
width: 100%;
462+
min-width: 0;
463+
max-width: 100%;
464+
box-sizing: border-box;
438465
}
439466

440467
.tools-platform-frame__project-copy,
@@ -520,11 +547,21 @@ body.tools-platform-workspace-context .tools-platform-frame__shared-status stron
520547
padding: 6px 10px;
521548
color: var(--muted, #e9ddff);
522549
font-size: 0.88rem;
550+
width: 100%;
523551
min-width: 0;
524552
max-width: 100%;
525553
overflow: hidden;
526554
text-overflow: ellipsis;
527555
white-space: nowrap;
556+
box-sizing: border-box;
557+
justify-content: flex-start;
558+
}
559+
560+
@media (max-width: 760px) {
561+
.tools-platform-frame__nav,
562+
.tools-platform-frame__nav-grid {
563+
grid-template-columns: 1fr;
564+
}
528565
}
529566

530567
.tools-platform-frame__nav-link.is-disabled {

0 commit comments

Comments
 (0)