Resolver - Resolver.resolve_range/3: returns the contiguous on-call segments for a schedule across [start_at, end_at). Walks layer handoffs + override boundaries, drops gap segments, and merges adjacent same-user segments. UserColor module - New Towerops.OnCall.UserColor with deterministic id -> color mapping (Tailwind class + matching #RRGGBB hex). Refactored ScheduleLive.Show to use it instead of its own per-page index palette so the same person gets the same color across the schedules list and detail pages. ScheduleLive.Index - Date navigation: Today / prev / next + 1/2/4-week range selector. - URL-driven: ?start=YYYY-MM-DD&range=N for shareable views; falls back to defaults on malformed values. - Per-row card: schedule name link, on-call-now avatar swatch, day-of-week header strip, gantt strip rendered as a CSS grid with one column per day, Today marker overlay. Tests: 5 new resolver tests, 9 new UserColor tests, 5 new ScheduleLive integration tests. Full suite: 10,210 / 0 failures. Format/dialyzer clean. Also: cleaned up two stale inline comments in k8s/deployment.yaml that disagreed with the values they sat next to (replicas/maxSurge). |
||
|---|---|---|
| .. | ||
| channels | ||
| components | ||
| controllers | ||
| graphql | ||
| helpers | ||
| live | ||
| plugs | ||
| changelog_parser.ex | ||
| endpoint.ex | ||
| gettext.ex | ||
| gettext_helpers.ex | ||
| graphql_socket.ex | ||
| permissions.ex | ||
| plug_exceptions.ex | ||
| remote_ip.ex | ||
| router.ex | ||
| scoped_resource.ex | ||
| telemetry.ex | ||
| telemetry_filter.ex | ||
| user_auth.ex | ||