|
| 1 | +# Week 21 Recap — May 11–17, 2026 |
| 2 | + |
| 3 | +Fifth week. The agents completed a full data-testid migration across all E2E specs, upgraded Lexical to 0.44.0, shipped workspace home improvements (image paste, import markdown, new database button), and added 116 new tests — while closing 47 issues. |
| 4 | + |
| 5 | +## Highlights |
| 6 | + |
| 7 | +- **E2E selectors are now fully data-testid based.** Five PRs migrated every remaining parent-traversal selector across workspace home, sidebar, members, favorites, trash, and database specs. This eliminates the selector fragility that caused 14 E2E bugs in prior weeks. |
| 8 | +- **Clipboard image paste works in the editor.** Users can paste images directly from the clipboard into any page. PR #1035. |
| 9 | +- **Workspace home gained three new actions.** Import Markdown, New Database button, and page type indicators make the home page more functional. PRs #1037, #1095, #1099. |
| 10 | +- **Lexical upgraded from 0.31.0 to 0.44.0** with no regressions. PR #1071. |
| 11 | + |
| 12 | +## By the Numbers |
| 13 | + |
| 14 | +| Metric | This Week | Cumulative | Delta | |
| 15 | +|---|---|---|---| |
| 16 | +| Lines of code | +2,896 | 75,805 | +3.97% | |
| 17 | +| PRs merged | 76 | 646 | | |
| 18 | +| Test coverage | 37.15% | | +0.51pp | |
| 19 | +| Tests (unit + E2E) | +116 | 2,322 | +5.3% | |
| 20 | +| Issues completed | 47 | 445 done, 4 remaining | | |
| 21 | +| CI pass rate | 93.2% | | (69/74 runs) | |
| 22 | +| Human time | not yet recorded | not yet recorded | | |
| 23 | +| Agent time | not yet recorded | not yet recorded | | |
| 24 | + |
| 25 | +## Features Shipped |
| 26 | + |
| 27 | +### Workspace Home (Days 29–32) |
| 28 | +- **Clipboard image paste** — paste images from clipboard directly into the editor. PR #1035. |
| 29 | +- **New Database button** — create databases from the workspace home page. PR #1037. |
| 30 | +- **Page type indicator** — workspace home list items show whether an entry is a page or database. PR #1095. |
| 31 | +- **Import Markdown action** — import `.md` files as new pages from the workspace home. PR #1099. |
| 32 | +- **Focus-visible styles** — keyboard navigation highlights on workspace home list items and sidebar tree items. PRs #1043, #1057. |
| 33 | + |
| 34 | +### API Hardening (Days 30–33) |
| 35 | +- **Rate limiting on page versions** — sliding window limiter on version create/restore routes. PR #1082. |
| 36 | +- **Network retry for API routes** — `retryOnNetworkError` added to routes missing transient failure resilience. PR #1092. |
| 37 | +- **HeadlessChrome feedback filter** — automated browser sessions no longer pollute the feedback queue. PR #1102. |
| 38 | +- **Keyboard shortcuts for Duplicate and Export** — `⌘+D` and `⌘+Shift+E` for page actions. PR #1094. |
| 39 | + |
| 40 | +### Bug Fixes (Days 29–34) |
| 41 | +- **Date picker popover clipping** — popover now repositions when near container edges. PR #1103. |
| 42 | +- **Mobile header overflow** — workspace home buttons no longer overflow on small screens. PR #1040. |
| 43 | +- **FK violation in version restore** — returns 404 instead of sending noise to Sentry. PR #1115. |
| 44 | +- **Proxy cookie null guard** — prevents crash when cookie values are null. PR #1085. |
| 45 | +- **Transient fetch warning suppression** — server-side fetch warnings no longer flood logs. PR #1093. |
| 46 | +- **Performance monitor alignment** — bundle measurement now matches CI script methodology. PR #1053. |
| 47 | + |
| 48 | +### Test Infrastructure (Days 29–35) |
| 49 | +- **data-testid migration completed** — 5 PRs added `data-testid` attributes and migrated all E2E specs. PRs #1055, #1062, #1064, #1066, #1073. |
| 50 | +- **Deterministic E2E waits** — replaced all `waitForTimeout` calls with condition-based waits. PR #1081. |
| 51 | +- **Axe-core extended** — accessibility audit now covers gallery, list, account, forgot-password, and reset-password pages. PRs #1031, #1111. |
| 52 | +- **API route error-handling consistency test** — structural test validates all mutation routes handle FK violations. PR #1119. |
| 53 | +- **Person property E2E** — full interaction test for the member avatar picker. PR #1106. |
| 54 | +- **Column resize E2E** — drag-to-resize test for database table columns. PR #1104. |
| 55 | +- **Workspace home E2E** — interaction tests for the home page. PR #1046. |
| 56 | +- **Backlinks E2E** — verifies backlink rendering when pages reference each other. PR #1129. |
| 57 | +- **Page tree actions unit tests** — 35 tests covering create, delete, duplicate, move, nest, unnest, and favorite. PR #1128. |
| 58 | +- **Import/export edge cases** — expanded E2E coverage for import and export flows. PR #1077. |
| 59 | + |
| 60 | +### Maintenance (Days 31–32) |
| 61 | +- **Lexical 0.31.0 → 0.44.0** — major editor dependency upgrade. PR #1071. |
| 62 | +- **Patch-level dependency updates** — Next.js, React, Sentry, Supabase. PR #1068. |
| 63 | +- **Sentry module decomposition** — split monolithic `sentry.ts` into focused error classification modules. PR #1034. |
| 64 | +- **Typed Supabase query helpers** — eliminated remaining `as unknown as` casts in join queries. PRs #1051, #1063. |
| 65 | + |
| 66 | +### Performance (Days 29–30) |
| 67 | +- **Shared base JS reduced** — 152 kB → 150 kB gzip. PR #1039. |
| 68 | +- **DB health endpoint latency reduced** — faster health check response. PR #1032. |
| 69 | + |
| 70 | +## What's Next |
| 71 | + |
| 72 | +- **Command palette (⌘+P)** — quick page switching by title, the most-requested navigation improvement. Issue #1107 (awaiting human approval). |
| 73 | +- **Bundle size reduction** — all 12 pages exceed the 200 kB budget after the Lexical upgrade. Issue #1121 (awaiting human approval). |
| 74 | +- **DB latency investigation** — health endpoint latency has exceeded 500ms for two consecutive weeks. Issue #1123 (awaiting human approval). |
| 75 | + |
| 76 | +## Challenges & Learnings |
| 77 | + |
| 78 | +- **CI pass rate dropped to 93.2% from 100% last week.** May 13 had a 77.8% pass rate (4 failures out of 18 runs), likely related to the Lexical upgrade and data-testid migration landing on the same day. The failures were transient — all resolved without code changes — but the overlap of a major dependency upgrade with a broad selector migration created a rough day. |
| 79 | +- **Four open issues are all blocked on human approval.** The automation system correctly gates high-risk changes (browser print override, bundle restructuring, infrastructure investigation, cross-browser CI) behind human review. The backlog is otherwise empty, so the agents are effectively idle until these are unblocked. |
0 commit comments