Compare commits
6
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c43bd314a1 | ||
|
|
ba63940071 | ||
|
|
555b33d1f1 | ||
|
|
a923c923c9 | ||
|
|
24bc8d2c32 | ||
|
|
6c2c6f24a9 |
+4
-5
@@ -4,11 +4,10 @@ milestone: v1.1
|
|||||||
milestone_name: Operability & Polish
|
milestone_name: Operability & Polish
|
||||||
current_phase: 999.1
|
current_phase: 999.1
|
||||||
current_phase_name: BACKLOG
|
current_phase_name: BACKLOG
|
||||||
status: executing
|
status: "Phase 20 shipped — PR #25"
|
||||||
stopped_at: Phase 20 UI-SPEC approved
|
stopped_at: Phase 20 UI-SPEC approved
|
||||||
last_updated: "2026-06-18T21:47:42.443Z"
|
last_updated: "2026-06-19T00:26:05.257Z"
|
||||||
last_activity: 2026-06-18
|
last_activity: 2026-06-18
|
||||||
last_activity_desc: Phase 20 complete, transitioned to Phase 999.1
|
|
||||||
progress:
|
progress:
|
||||||
total_phases: 27
|
total_phases: 27
|
||||||
completed_phases: 13
|
completed_phases: 13
|
||||||
@@ -30,8 +29,8 @@ See: .planning/PROJECT.md (updated 2026-06-16)
|
|||||||
|
|
||||||
Phase: 999.1 — Treat Fastmail as one calendar provider; framework supports adding more providers (BACKLOG)
|
Phase: 999.1 — Treat Fastmail as one calendar provider; framework supports adding more providers (BACKLOG)
|
||||||
Plan: Not started
|
Plan: Not started
|
||||||
Status: Ready to execute
|
Status: Phase 20 shipped — PR #25
|
||||||
Last activity: 2026-06-18 — Phase 20 complete, transitioned to Phase 999.1
|
Last activity: 2026-06-18
|
||||||
|
|
||||||
### ✅ Resolved Checkpoint — Phase 15 Plan 15-03 Task 2 (human-action)
|
### ✅ Resolved Checkpoint — Phase 15 Plan 15-03 Task 2 (human-action)
|
||||||
|
|
||||||
|
|||||||
@@ -20,6 +20,10 @@ test.describe('Admin Timezone section — 18-04 round-trip', () => {
|
|||||||
test.skip(testInfo.project.name !== 'desktop', 'Admin timezone UI is desktop-only');
|
test.skip(testInfo.project.name !== 'desktop', 'Admin timezone UI is desktop-only');
|
||||||
await page.goto('/admin');
|
await page.goto('/admin');
|
||||||
await expect(page.getByRole('heading', { name: 'Admin Settings' })).toBeVisible();
|
await expect(page.getByRole('heading', { name: 'Admin Settings' })).toBeVisible();
|
||||||
|
// Phase 17 (D-10) reworked /admin into a two-tab layout; the Timezone section
|
||||||
|
// now lives in the "Settings" tab panel, which is hidden until selected. Open
|
||||||
|
// it before asserting the section.
|
||||||
|
await page.getByRole('tab', { name: 'Settings' }).click();
|
||||||
// Wait for the Timezone section to load (requires the 18-02 GET endpoint)
|
// Wait for the Timezone section to load (requires the 18-02 GET endpoint)
|
||||||
const tzSection = page.getByRole('region', { name: 'Timezone' });
|
const tzSection = page.getByRole('region', { name: 'Timezone' });
|
||||||
await expect(tzSection).toBeVisible({ timeout: 15_000 });
|
await expect(tzSection).toBeVisible({ timeout: 15_000 });
|
||||||
@@ -98,6 +102,8 @@ test.describe('Admin Timezone section — 18-04 round-trip', () => {
|
|||||||
// Reload and verify persistence
|
// Reload and verify persistence
|
||||||
await page.reload();
|
await page.reload();
|
||||||
await expect(page.getByRole('heading', { name: 'Admin Settings' })).toBeVisible();
|
await expect(page.getByRole('heading', { name: 'Admin Settings' })).toBeVisible();
|
||||||
|
// Reload resets to the default "Members & Accounts" tab — re-open Settings.
|
||||||
|
await page.getByRole('tab', { name: 'Settings' }).click();
|
||||||
await expect(tzSection).toBeVisible({ timeout: 15_000 });
|
await expect(tzSection).toBeVisible({ timeout: 15_000 });
|
||||||
const inputAfterReload = page.getByRole('combobox', { name: 'Household timezone' });
|
const inputAfterReload = page.getByRole('combobox', { name: 'Household timezone' });
|
||||||
await expect(inputAfterReload).toHaveValue('America/Chicago');
|
await expect(inputAfterReload).toHaveValue('America/Chicago');
|
||||||
|
|||||||
Reference in New Issue
Block a user