Skip to content

Commit 603d081

Browse files
chore: weekly recap 2026-W21 (#1135)
Co-authored-by: Ona <no-reply@ona.com>
1 parent fa81bc1 commit 603d081

1 file changed

Lines changed: 79 additions & 0 deletions

File tree

metrics/weekly/2026-W21.md

Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
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

Comments
 (0)