Skip to content

fix: one date+time picker, and what a browser walk of the app turned up - #428

Merged
vladenisov merged 2 commits into
mainfrom
fix/ui-bug-hunt
Oct 8, 2026
Merged

vladenisov merged 2 commits into
mainfrom
fix/ui-bug-hunt

Conversation

@vladenisov

Copy link
Copy Markdown
Collaborator

Summary

These fixes come from walking the app on the demo workspace in a browser, at 1440px and 390px.

  • One date+time picker. It replaces the date button and the separate native time field that sat side by side.
    • One button shows both values, e.g. "Oct 8, 2026, 10:00 PM". It opens a calendar with the time field, Now and Done under it.
    • Picking a day moves focus to the time field. Enter or Done closes the picker.
    • The value contract (YYYY-MM-DDTHH:mm, local time) is unchanged, so callers are untouched.
  • Planned events form:
    • The two pickers had no visible captions; they now read Starts and Ends.
    • The local-time hint and the "Ends after it starts" alert move under the row, so the fields line up.
  • Planned events card hid future windows. It queried only the chart's range, so a sale planned for next month vanished right after Add. The card now lists windows from the range start onward. The chart already skips windows it has no buckets for.
  • Annotations page: planned-event and annotation rows were flush against the card border. They now have the same inset as the panel header.
  • Anomalies list:
    • Times used a 24-hour clock ("Oct 8, 22:00") while the signal's own page said "10:00 PM". The list now uses the app's 12-hour format.
    • On phones, "Incident · open" squeezed the scope name to a few letters. The status word is hidden below sm, as "within total" already is.
  • Dev stack:
    • postgres now runs with init: true. Under load, a killed healthcheck probe's orphan was reaped by the postmaster, which read it as a crashed child and restarted the cluster. This also applies to compose.yaml.
    • The dev worker ran one fork per core (8 × ~250 MB) inside a 1 GB limit and was OOM-killed mid-task. It now runs --concurrency from CELERY_WORKER_CONCURRENCY, default 2.

Test plan

  • Vitest: picker, monitoring, annotations and anomalies suites (170 + 72).
  • New hook test usePlannedEvents.test.tsx.
  • tsc -b and bun run lint pass.
  • New e2e date-time-picker.spec.ts passes locally against the dev stack. It drives both pickers, Enter and Done, then reads the stored instants back.
  • Screenshots checked at 1440px and 390px after the fixes.
  • CI.

🤖 Generated with Claude Code

Copilot AI balanced review requested due to automatic review settings October 8, 2026 22:43

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

vladenisov and others added 2 commits October 9, 2026 00:46
- The date+time picker is one control: a button showing both opens a calendar
  with the time field, Now and Done under it. Picking a day moves to the time;
  Enter or Done closes it. The button reads in the app's timestamp format.
- Planned events: Starts / Ends captions, fields aligned on one row, the
  local-time hint and the order alert under the row.
- Planned events card lists upcoming windows too: one planned after the
  chart's range vanished right after Add.
- Annotations page: list rows are inset like the panel header.
- Anomalies list uses the app's 12-hour clock, as the signal page does; on
  phones the incident status no longer squeezes the scope name.
- Dev stack: postgres runs under init (a killed healthcheck probe's orphan made
  the postmaster restart the cluster); the dev worker runs two processes in its
  1 GB limit instead of one per core.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@vladenisov
vladenisov merged commit e448b01 into main Oct 8, 2026
18 checks passed
@vladenisov
vladenisov deleted the fix/ui-bug-hunt branch October 9, 2026 12:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants