diff options
| author | Peter Stone <thepeterstone@gmail.com> | 2026-06-29 10:29:12 +0000 |
|---|---|---|
| committer | Peter Stone <thepeterstone@gmail.com> | 2026-06-29 10:29:12 +0000 |
| commit | 8c55b9b10fecd45ac5acf3f13fc23d342a4aa53b (patch) | |
| tree | d0e596f79980af79eed6e0e657d667e4758a9520 /cmd/dashboard | |
| parent | d826bf5e9561a8c66a2c52bb1c2a3835fc6de32c (diff) | |
fix: calendar/meals sync, tomorrow flat layout, /health endpoint
- Calendar: fall back to GOOGLE_CALENDAR_ID config when no source_configs
synced yet (fixes blank calendar after fresh deploy)
- Meals: call fetchMeals in HandleTimeline so PlanToEat cache refreshes
on every timeline load, not just during manual refresh
- Tomorrow section: replace calendar-grid with flat chronological list
matching widget layout (time label | source bar | title)
- Add /health endpoint (no auth required) for deploy health checks
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Diffstat (limited to 'cmd/dashboard')
| -rw-r--r-- | cmd/dashboard/main.go | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/cmd/dashboard/main.go b/cmd/dashboard/main.go index 9f69d46..7e58125 100644 --- a/cmd/dashboard/main.go +++ b/cmd/dashboard/main.go @@ -207,6 +207,13 @@ func main() { // Rate limiter for agent auth (stricter - 10 requests/minute per IP) agentAuthRateLimiter := appmiddleware.NewRateLimiter(10, time.Minute) + // Health check (no auth) + r.Get("/health", func(w http.ResponseWriter, r *http.Request) { + w.Header().Set("Content-Type", "text/plain") + w.WriteHeader(http.StatusOK) + _, _ = w.Write([]byte("ok")) + }) + // Public routes (no auth required) r.Get("/login", authHandlers.HandleLoginPage) r.With(authRateLimiter.Limit).Post("/login", authHandlers.HandleLogin) |
