Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
101 changes: 101 additions & 0 deletions .omo/evidence/v12-full-e2e.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
[WebServer] $ node ./scripts/generate-docs-content.mjs
[WebServer] Docs content already current with 20 HTML-compiled docs
[WebServer] $ NODE_OPTIONS=--no-deprecation next build
[WebServer] ▲ Next.js 16.2.9 (Turbopack)
[WebServer]
[WebServer] Creating an optimized production build ...
[WebServer] ✓ Compiled successfully in 870ms
[WebServer] Running TypeScript ...
[WebServer] Finished TypeScript in 1715ms ...
[WebServer] Collecting page data using 13 workers ...
[WebServer] Generating static pages using 13 workers (0/11) ...
[WebServer] Generating static pages using 13 workers (2/11)
[WebServer] Generating static pages using 13 workers (5/11)
[WebServer] Generating static pages using 13 workers (8/11)
[WebServer] ✓ Generating static pages using 13 workers (11/11) in 650ms
[WebServer] Finalizing page optimization ...
[WebServer]
[WebServer] Route (app)
[WebServer] ┌ ○ /
[WebServer] ├ ○ /_not-found
[WebServer] ├ ƒ /api/github-stars
[WebServer] ├ ○ /apple-icon.png
[WebServer] ├ ○ /docs
[WebServer] ├ ○ /icon.svg
[WebServer] ├ ○ /manifest.webmanifest
[WebServer] ├ ○ /opengraph-image
[WebServer] ├ ○ /robots.txt
[WebServer] ├ ○ /sitemap.xml
[WebServer] └ ○ /twitter-image
[WebServer]
[WebServer]
[WebServer] ○ (Static) prerendered as static content
[WebServer] ƒ (Dynamic) server-rendered on demand
[WebServer]
[WebServer] $ NODE_OPTIONS=--no-deprecation next start
[WebServer] ▲ Next.js 16.2.9
[WebServer] - Local: http://localhost:50813
[WebServer] - Network: http://192.168.0.3:50813
[WebServer] ✓ Ready in 56ms

Running 57 tests using 1 worker

✓ 1 [chromium] › e2e/docs.spec.ts:15:3 › docs page — structure › responds 200 (17ms)
✓ 2 [chromium] › e2e/docs.spec.ts:20:3 › docs page — structure › has exactly one h1 (107ms)
✓ 3 [chromium] › e2e/docs.spec.ts:25:3 › docs page — structure › renders every section as a visible element carrying its id + title (150ms)
✓ 4 [chromium] › e2e/docs.spec.ts:35:3 › docs page — structure › nav lists every section title as links or buttons (160ms)
✓ 5 [chromium] › e2e/docs.spec.ts:46:3 › docs page — structure › documents lazycodex-ai as the npm install alias (118ms)
✓ 6 [chromium] › e2e/docs.spec.ts:63:3 › docs page — structure › documents skills and built-in workflow usage (165ms)
✓ 7 [chromium] › e2e/docs.spec.ts:80:3 › docs page — structure › orders Skills immediately after Commands and before Concepts (0ms)
✓ 8 [chromium] › e2e/docs.spec.ts:91:3 › docs page — navigation › clicking the $ulw-loop nav entry jumps to that section (156ms)
✓ 9 [chromium] › e2e/docs.spec.ts:106:3 › docs page — no-JS SSR › server-renders every section heading without JavaScript (149ms)
✓ 10 [chromium] › e2e/github-stars.spec.ts:21:3 › github stars API › responds with a numeric live star count (167ms)
✓ 11 [chromium] › e2e/github-stars.spec.ts:37:3 › github stars live source parsing › uses GH_TOKEN when GITHUB_TOKEN is absent (2ms)
✓ 12 [chromium] › e2e/github-stars.spec.ts:63:3 › github stars live source parsing › falls back to Shields when GitHub rejects the request (0ms)
✓ 13 [chromium] › e2e/github-stars.spec.ts:87:3 › github stars live source parsing › parses Shields comma and compact star payloads (0ms)
✓ 14 [chromium] › e2e/github-stars.spec.ts:93:3 › github stars live source parsing › caches the non-zero fallback instead of serving a zero-star shell (0ms)
✓ 15 [chromium] › e2e/github-stars.spec.ts:103:3 › github stars live source parsing › rejects zero-star upstream payloads as stale or broken source data (0ms)
✓ 16 [chromium] › e2e/home.spec.ts:17:3 › home page — content › renders the wordmark, hero copy, and footer (102ms)
✓ 17 [chromium] › e2e/home.spec.ts:37:3 › home page — content › does not show launch gating copy (93ms)
✓ 18 [chromium] › e2e/home.spec.ts:44:3 › home page — content › has a single h1 and no broken landmarks (94ms)
✓ 19 [chromium] › e2e/home.spec.ts:52:3 › home page — content › skip-link is hidden until focused (112ms)
✓ 20 [chromium] › e2e/landing-sections.spec.ts:20:3 › team mode section › renders the grounded team mode copy (120ms)
✓ 21 [chromium] › e2e/landing-sections.spec.ts:41:3 › ulw-research section › renders the grounded ulw-research copy (117ms)
✓ 22 [chromium] › e2e/landing-sections.spec.ts:56:3 › information architecture › keeps the planned section order (553ms)
✓ 23 [chromium] › e2e/landing.spec.ts:15:3 › landing page — hero › has exactly one h1 reading the wordmark (94ms)
✓ 24 [chromium] › e2e/landing.spec.ts:23:3 › landing page — hero › shows the eyebrow and both hero lines (102ms)
✓ 25 [chromium] › e2e/landing.spec.ts:41:3 › landing page — install + commands › shows the install command and a copy button (100ms)
✓ 26 [chromium] › e2e/landing.spec.ts:51:3 › landing page — install + commands › renders every command with its name and syntax (99ms)
✓ 27 [chromium] › e2e/landing.spec.ts:59:3 › landing page — install + commands › feature workflow guidance keeps the three command pillars first (100ms)
✓ 28 [chromium] › e2e/landing.spec.ts:70:3 › landing page — install + commands › places skill coverage before the concept section (104ms)
✓ 29 [chromium] › e2e/landing.spec.ts:87:3 › landing page — links + footer › github stars pill links to the stargazers url with a count (96ms)
✓ 30 [chromium] › e2e/landing.spec.ts:96:3 › landing page — links + footer › updates the github stars pill from the live API (93ms)
✓ 31 [chromium] › e2e/landing.spec.ts:104:3 › landing page — links + footer › has a Docs link pointing at /docs (97ms)
✓ 32 [chromium] › e2e/landing.spec.ts:111:3 › landing page — links + footer › links to OmO and shows lazycodex.ai (96ms)
✓ 33 [chromium] › e2e/responsive.spec.ts:37:3 › @responsive renders correctly at mobile-small (360×640) (803ms)
✓ 34 [chromium] › e2e/responsive.spec.ts:37:3 › @responsive renders correctly at mobile-iphone-se (375×667) (818ms)
✓ 35 [chromium] › e2e/responsive.spec.ts:37:3 › @responsive renders correctly at mobile-iphone-14 (390×844) (784ms)
✓ 36 [chromium] › e2e/responsive.spec.ts:37:3 › @responsive renders correctly at mobile-large-android (412×915) (791ms)
✓ 37 [chromium] › e2e/responsive.spec.ts:37:3 › @responsive renders correctly at tablet-ipad-portrait (768×1024) (824ms)
✓ 38 [chromium] › e2e/responsive.spec.ts:37:3 › @responsive renders correctly at tablet-ipad-landscape (1024×768) (783ms)
✓ 39 [chromium] › e2e/responsive.spec.ts:37:3 › @responsive renders correctly at tablet-ipad-pro-portrait (1024×1366) (793ms)
✓ 40 [chromium] › e2e/responsive.spec.ts:37:3 › @responsive renders correctly at desktop-laptop (1280×800) (795ms)
✓ 41 [chromium] › e2e/responsive.spec.ts:37:3 › @responsive renders correctly at desktop-fullhd (1440×900) (797ms)
✓ 42 [chromium] › e2e/responsive.spec.ts:37:3 › @responsive renders correctly at desktop-wide (1536×864) (829ms)
✓ 43 [chromium] › e2e/responsive.spec.ts:37:3 › @responsive renders correctly at desktop-ultrawide (1920×1080) (830ms)
✓ 44 [chromium] › e2e/responsive.spec.ts:81:1 › @responsive iPhone-13 device profile (Playwright preset) (766ms)
✓ 45 [chromium] › e2e/responsive.spec.ts:98:1 › @responsive iPad-Pro device profile (Playwright preset) (769ms)
✓ 46 [chromium] › e2e/seo.spec.ts:25:3 › site SEO + metadata › has a unique <title>, description, canonical, lang, viewport (109ms)
✓ 47 [chromium] › e2e/seo.spec.ts:52:3 › site SEO + metadata › has OpenGraph and Twitter card tags (102ms)
✓ 48 [chromium] › e2e/seo.spec.ts:77:3 › site SEO + metadata › has JSON-LD SoftwareApplication structured data (94ms)
✓ 49 [chromium] › e2e/seo.spec.ts:87:3 › site SEO + metadata › /robots.txt and /sitemap.xml are reachable (7ms)
✓ 50 [chromium] › e2e/seo.spec.ts:101:3 › site SEO + metadata › /docs route is reachable (7ms)
✓ 51 [chromium] › e2e/seo.spec.ts:106:3 › site SEO + metadata › /manifest.webmanifest is reachable and valid (3ms)
✓ 52 [chromium] › e2e/seo.spec.ts:114:3 › site SEO + metadata › opengraph image and twitter image render as PNGs (6ms)
✓ 53 [chromium] › e2e/seo.spec.ts:135:3 › site SEO + metadata › serves the unified LazyCodex favicon assets (98ms)
✓ 54 [chromium] › e2e/ulw-demo.spec.ts:35:3 › ulw demo — chat replay @happy › one ask, then the run appends beneath it (6.1s)
✓ 55 [chromium] › e2e/ulw-demo.spec.ts:78:3 › ulw demo — chat replay @happy › walks the whole run to the checkpoint, then loops (46.9s)
✓ 56 [chromium] › e2e/ulw-demo.spec.ts:99:3 › ulw demo — reduced motion + mobile @edge › reduced motion shows the completed run statically (3.1s)
✓ 57 [chromium] › e2e/ulw-demo.spec.ts:117:3 › ulw demo — reduced motion + mobile @edge › no horizontal overflow at 390x844 and the sidebar collapses (2.0s)

57 passed (1.3m)
60 changes: 60 additions & 0 deletions .omo/evidence/v12-lighthouse.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
[WebServer] $ node ./scripts/generate-docs-content.mjs
[WebServer] Docs content already current with 20 HTML-compiled docs
[WebServer] $ NODE_OPTIONS=--no-deprecation next build
[WebServer] ▲ Next.js 16.2.9 (Turbopack)
[WebServer]
[WebServer] Creating an optimized production build ...
[WebServer] ✓ Compiled successfully in 929ms
[WebServer] Running TypeScript ...
[WebServer] Finished TypeScript in 1830ms ...
[WebServer] Collecting page data using 13 workers ...
[WebServer] Generating static pages using 13 workers (0/11) ...
[WebServer] Generating static pages using 13 workers (2/11)
[WebServer] Generating static pages using 13 workers (5/11)
[WebServer] Generating static pages using 13 workers (8/11)
[WebServer] ✓ Generating static pages using 13 workers (11/11) in 627ms
[WebServer] Finalizing page optimization ...
[WebServer]
[WebServer] Route (app)
[WebServer] ┌ ○ /
[WebServer] ├ ○ /_not-found
[WebServer] ├ ƒ /api/github-stars
[WebServer] ├ ○ /apple-icon.png
[WebServer] ├ ○ /docs
[WebServer] ├ ○ /icon.svg
[WebServer] ├ ○ /manifest.webmanifest
[WebServer] ├ ○ /opengraph-image
[WebServer] ├ ○ /robots.txt
[WebServer] ├ ○ /sitemap.xml
[WebServer] └ ○ /twitter-image
[WebServer]
[WebServer]
[WebServer] ○ (Static) prerendered as static content
[WebServer] ƒ (Dynamic) server-rendered on demand
[WebServer]
[WebServer] $ NODE_OPTIONS=--no-deprecation next start
[WebServer] ▲ Next.js 16.2.9
[WebServer] - Local: http://localhost:51369
[WebServer] - Network: http://192.168.0.3:51369
[WebServer] ✓ Ready in 65ms

Running 2 tests using 1 worker

[Lighthouse mobile] url=http://127.0.0.1:51369 perf=100 a11y=100 bp=100 seo=100
[Lighthouse mobile] Failing audits:
- unused-javascript: score=0.5 (Reduce unused JavaScript)
- bf-cache: score=0 (Page prevented back/forward cache restoration)
- legacy-javascript-insight: score=0.5 (Legacy JavaScript)
- network-dependency-tree-insight: score=0 (Network dependency tree)
- render-blocking-insight: score=0.5 (Render-blocking requests)
✓ 1 [chromium] › e2e/lighthouse.spec.ts:220:3 › @lighthouse — Lighthouse 100/100/100/100 (Playwright Chrome + CDP) › mobile preset hits 100 in every category (16.5s)
[Lighthouse desktop] url=http://127.0.0.1:51369 perf=100 a11y=100 bp=100 seo=100
[Lighthouse desktop] Failing audits:
- unused-javascript: score=0.5 (Reduce unused JavaScript)
- bf-cache: score=0 (Page prevented back/forward cache restoration)
- legacy-javascript-insight: score=0.5 (Legacy JavaScript)
- network-dependency-tree-insight: score=0 (Network dependency tree)
- render-blocking-insight: score=0.5 (Render-blocking requests)
✓ 2 [chromium] › e2e/lighthouse.spec.ts:226:3 › @lighthouse — Lighthouse 100/100/100/100 (Playwright Chrome + CDP) › desktop preset hits 100 in every category (16.0s)

2 passed (39.0s)
48 changes: 48 additions & 0 deletions .omo/evidence/v12-mobile-green.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
[WebServer] $ node ./scripts/generate-docs-content.mjs
[WebServer] Docs content already current with 20 HTML-compiled docs
[WebServer] $ NODE_OPTIONS=--no-deprecation next build
[WebServer] ▲ Next.js 16.2.9 (Turbopack)
[WebServer]
[WebServer] Creating an optimized production build ...
[WebServer] ✓ Compiled successfully in 1017ms
[WebServer] Running TypeScript ...
[WebServer] Finished TypeScript in 2.5s ...
[WebServer] Collecting page data using 13 workers ...
[WebServer] Generating static pages using 13 workers (0/11) ...
[WebServer] Generating static pages using 13 workers (2/11)
[WebServer] Generating static pages using 13 workers (5/11)
[WebServer] Generating static pages using 13 workers (8/11)
[WebServer] ✓ Generating static pages using 13 workers (11/11) in 800ms
[WebServer] Finalizing page optimization ...
[WebServer]
[WebServer] Route (app)
[WebServer] ┌ ○ /
[WebServer] ├ ○ /_not-found
[WebServer] ├ ƒ /api/github-stars
[WebServer] ├ ○ /apple-icon.png
[WebServer] ├ ○ /docs
[WebServer] ├ ○ /icon.svg
[WebServer] ├ ○ /manifest.webmanifest
[WebServer] ├ ○ /opengraph-image
[WebServer] ├ ○ /robots.txt
[WebServer] ├ ○ /sitemap.xml
[WebServer] └ ○ /twitter-image
[WebServer]
[WebServer]
[WebServer] ○ (Static) prerendered as static content
[WebServer] ƒ (Dynamic) server-rendered on demand
[WebServer]
[WebServer] $ NODE_OPTIONS=--no-deprecation next start
[WebServer] ▲ Next.js 16.2.9
[WebServer] - Local: http://localhost:50094
[WebServer] - Network: http://192.168.0.3:50094
[WebServer] ✓ Ready in 70ms

Running 4 tests using 1 worker

✓ 1 [chromium] › e2e/ulw-demo.spec.ts:35:3 › ulw demo — chat replay @happy › one ask, then the run appends beneath it (6.2s)
✓ 2 [chromium] › e2e/ulw-demo.spec.ts:78:3 › ulw demo — chat replay @happy › walks the whole run to the checkpoint, then loops (47.3s)
✓ 3 [chromium] › e2e/ulw-demo.spec.ts:99:3 › ulw demo — reduced motion + mobile @edge › reduced motion shows the completed run statically (3.1s)
✓ 4 [chromium] › e2e/ulw-demo.spec.ts:117:3 › ulw demo — reduced motion + mobile @edge › no horizontal overflow at 390x844 and the sidebar collapses (2.0s)

4 passed (1.1m)
74 changes: 74 additions & 0 deletions .omo/evidence/v12-mobile-red.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
[WebServer] $ node ./scripts/generate-docs-content.mjs
[WebServer] Docs content already current with 20 HTML-compiled docs
[WebServer] $ NODE_OPTIONS=--no-deprecation next build
[WebServer] ▲ Next.js 16.2.9 (Turbopack)
[WebServer]
[WebServer] Creating an optimized production build ...
[WebServer] ✓ Compiled successfully in 967ms
[WebServer] Running TypeScript ...
[WebServer] Finished TypeScript in 1448ms ...
[WebServer] Collecting page data using 13 workers ...
[WebServer] Generating static pages using 13 workers (0/11) ...
[WebServer] Generating static pages using 13 workers (2/11)
[WebServer] Generating static pages using 13 workers (5/11)
[WebServer] Generating static pages using 13 workers (8/11)
[WebServer] ✓ Generating static pages using 13 workers (11/11) in 603ms
[WebServer] Finalizing page optimization ...
[WebServer]
[WebServer] Route (app)
[WebServer] ┌ ○ /
[WebServer] ├ ○ /_not-found
[WebServer] ├ ƒ /api/github-stars
[WebServer] ├ ○ /apple-icon.png
[WebServer] ├ ○ /docs
[WebServer] ├ ○ /icon.svg
[WebServer] ├ ○ /manifest.webmanifest
[WebServer] ├ ○ /opengraph-image
[WebServer] ├ ○ /robots.txt
[WebServer] ├ ○ /sitemap.xml
[WebServer] └ ○ /twitter-image
[WebServer]
[WebServer]
[WebServer] ○ (Static) prerendered as static content
[WebServer] ƒ (Dynamic) server-rendered on demand
[WebServer]
[WebServer] $ NODE_OPTIONS=--no-deprecation next start
[WebServer] ▲ Next.js 16.2.9
[WebServer] - Local: http://localhost:64926
[WebServer] - Network: http://192.168.0.3:64926
[WebServer] ✓ Ready in 69ms

Running 1 test using 1 worker

✘ 1 [chromium] › e2e/ulw-demo.spec.ts:117:3 › ulw demo — reduced motion + mobile @edge › no horizontal overflow at 390x844 and the sidebar collapses (5.3s)


1) [chromium] › e2e/ulw-demo.spec.ts:117:3 › ulw demo — reduced motion + mobile @edge › no horizontal overflow at 390x844 and the sidebar collapses

Error: expect(locator).toBeHidden() failed

Locator: locator('#ulw-demo').locator('.ulw-side')
Expected: hidden
Received: visible
Timeout: 5000ms

Call log:
- Expect "toBeHidden" with timeout 5000ms
- waiting for locator('#ulw-demo').locator('.ulw-side')
14 × locator resolved to <aside class="ulw-side" aria-label="Environment and subagents panel">…</aside>
- unexpected value "visible"


124 | // the transcript owns the fixed window box.
125 | await expect(page.getByRole("navigation", { name: "Sessions" })).toBeHidden()
> 126 | await expect(demo.locator(".ulw-side")).toBeHidden()
| ^
127 |
128 | // The replay must be SEEN, not merely attached: the opening ask is
129 | // visible and the transcript pane occupies most of the 560px window.
at /Users/yeongyu/local-workspaces/lazycodex-wt/code-yeongyu/light-greeny-redesign-interactive-demo/packages/web/e2e/ulw-demo.spec.ts:126:45

Error Context: test-results/ulw-demo-ulw-demo-—-reduce-e033a-4-and-the-sidebar-collapses-chromium/error-context.md

1 failed
[chromium] › e2e/ulw-demo.spec.ts:117:3 › ulw demo — reduced motion + mobile @edge › no horizontal overflow at 390x844 and the sidebar collapses
Binary file added .omo/evidence/v12-mobile/after-demo-m375.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .omo/evidence/v12-mobile/after-demo-m390.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .omo/evidence/v12-mobile/after-demo-t768.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .omo/evidence/v12-mobile/demo-m375.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .omo/evidence/v12-mobile/demo-t768.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .omo/evidence/v12-mobile/docs-m375-full.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .omo/evidence/v12-mobile/docs-t768-full.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .omo/evidence/v12-mobile/landing-m375-full.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .omo/evidence/v12-mobile/landing-t768-full.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .omo/evidence/v12-mobile/s0-header.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .omo/evidence/v12-mobile/s1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .omo/evidence/v12-mobile/s10.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .omo/evidence/v12-mobile/s2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .omo/evidence/v12-mobile/s3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .omo/evidence/v12-mobile/s4.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .omo/evidence/v12-mobile/s5.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .omo/evidence/v12-mobile/s6.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .omo/evidence/v12-mobile/s7.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .omo/evidence/v12-mobile/s8.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .omo/evidence/v12-mobile/s9.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .omo/evidence/v12-mobile/s99-footer.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 2 additions & 1 deletion packages/web/DESIGN.md
Original file line number Diff line number Diff line change
Expand Up @@ -256,7 +256,8 @@ All spacing resolves to a 4px rhythm. Existing Tailwind values map to the same r
so content is readable with JS disabled.
- **Layout stability**: `.ulw-window` is a FIXED 680px box (560px at ≤ 768px); the appending
transcript scrolls internally so the outer box never changes (e2e asserts ≤ 1px drift while
entries append); panes stack single-column at ≤ 768px.
entries append). At ≤ 768px the session sidebar AND the right rail hide (a stacked rail would
starve the transcript row to 0px inside the fixed box) — the transcript owns the window.
- **Integrity**: live DOM only — no raster screenshot, `<img>`, or `background-image` may stand in
for window content.
- **Roster glyph colors**: the subagent glyph squares use the per-theme `--lane-*` identity hues
Expand Down
7 changes: 5 additions & 2 deletions packages/web/app/styles/ulw-demo-panel.css
Original file line number Diff line number Diff line change
Expand Up @@ -129,9 +129,12 @@
}

@media (max-width: 768px) {
/* The window keeps its fixed height on phones, so the rail cannot fit
beneath the transcript inside the box: as a second implicit grid row
it starves the transcript row to 0px. The rail hides and the replay
owns the window (the remaining auto row stretches to fill). */
.ulw-side {
border-left: none;
border-top: 1px solid var(--codex-window-border);
display: none;
}
}

Expand Down
Loading
Loading