summaryrefslogtreecommitdiff
path: root/cmd/dashboard/main.go
diff options
context:
space:
mode:
authorPeter Stone <thepeterstone@gmail.com>2026-01-26 16:44:33 -1000
committerPeter Stone <thepeterstone@gmail.com>2026-01-26 16:44:33 -1000
commit8de1b5cb8915ed9a6e32566431d05fafafeb338d (patch)
tree5a3f6e495537a9a9cab33d5adc6d89cd3cbdc60f /cmd/dashboard/main.go
parentb4d061cb93d992febb5b70c9d7645afdd3a41890 (diff)
Fix calendar timezone handling with configurable display timezone
- Add TIMEZONE config option (defaults to Pacific/Honolulu) - Store display timezone in GoogleCalendarClient - Convert all event times to configured display timezone - Parse events in their native timezone then convert for display This fixes the issue where events were showing 10 hours off due to server running in UTC while user is in Hawaii. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Diffstat (limited to 'cmd/dashboard/main.go')
-rw-r--r--cmd/dashboard/main.go12
1 files changed, 6 insertions, 6 deletions
diff --git a/cmd/dashboard/main.go b/cmd/dashboard/main.go
index b3eab14..f639944 100644
--- a/cmd/dashboard/main.go
+++ b/cmd/dashboard/main.go
@@ -93,16 +93,16 @@ func main() {
// Use timeout context to prevent startup hangs if credentials file is unreachable
initCtx, cancel := context.WithTimeout(context.Background(), config.GoogleCalendarInitTimeout)
var err error
- googleCalendarClient, err = api.NewGoogleCalendarClient(initCtx, cfg.GoogleCredentialsFile, cfg.GoogleCalendarID)
+ googleCalendarClient, err = api.NewGoogleCalendarClient(initCtx, cfg.GoogleCredentialsFile, cfg.GoogleCalendarID, cfg.Timezone)
cancel()
if err != nil {
log.Printf("Warning: failed to initialize Google Calendar client: %v", err)
} else {
- log.Printf("Google Calendar client initialized for calendars: %s", cfg.GoogleCalendarID)
+ log.Printf("Google Calendar client initialized for calendars: %s (timezone: %s)", cfg.GoogleCalendarID, cfg.Timezone)
}
}
- // Initialize handlers
+ // Initia lize handlers
h := handlers.New(db, todoistClient, trelloClient, planToEatClient, googleCalendarClient, cfg)
// Set up router
@@ -112,9 +112,9 @@ func main() {
r.Use(middleware.Logger)
r.Use(middleware.Recoverer)
r.Use(middleware.Timeout(config.RequestTimeout))
- r.Use(appmiddleware.SecurityHeaders(cfg.Debug)) // Security headers
- r.Use(sessionManager.LoadAndSave) // Session middleware must be applied globally
- r.Use(authHandlers.Middleware().CSRFProtect) // CSRF protection
+ r.Use(appmiddleware.SecurityHeaders(cfg.Debug)) // Security headers
+ r.Use(sessionManager.LoadAndSave) // Session middleware must be applied globally
+ r.Use(authHandlers.Middleware().CSRFProtect) // CSRF protection
// Rate limiter for auth endpoints
authRateLimiter := appmiddleware.NewRateLimiter(config.AuthRateLimitRequests, config.AuthRateLimitWindow)