From 7c2d6cf2bbbddbd96c2e98ea66b550e6d2e40535 Mon Sep 17 00:00:00 2001 From: Omar Shahine Date: Thu, 16 Apr 2026 04:49:44 +0000 Subject: [PATCH] fix(cmd): read --date/--from/--to from cobra flags instead of viper viper.BindPFlag with generic names like "date", "from", "to" registers them globally, so flags from different commands stomp on each other. Read these values directly from cmd.Flags() and remove the stale viper bindings. Closes #13 Co-Authored-By: Claude Opus 4.6 (1M context) --- internal/cmd/sleep.go | 3 +-- internal/cmd/sleep_range.go | 6 ++---- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/internal/cmd/sleep.go b/internal/cmd/sleep.go index b790974..5f750d8 100644 --- a/internal/cmd/sleep.go +++ b/internal/cmd/sleep.go @@ -24,7 +24,7 @@ var sleepDayCmd = &cobra.Command{ if err := requireAuthFields(); err != nil { return err } - date := viper.GetString("date") + date, _ := cmd.Flags().GetString("date") if date == "" { date = time.Now().Format("2006-01-02") } @@ -53,6 +53,5 @@ var sleepDayCmd = &cobra.Command{ func init() { sleepCmd.PersistentFlags().String("date", "", "date YYYY-MM-DD (default today)") - viper.BindPFlag("date", sleepCmd.PersistentFlags().Lookup("date")) sleepCmd.AddCommand(sleepDayCmd) } diff --git a/internal/cmd/sleep_range.go b/internal/cmd/sleep_range.go index 55bb029..887d099 100644 --- a/internal/cmd/sleep_range.go +++ b/internal/cmd/sleep_range.go @@ -19,8 +19,8 @@ var sleepRangeCmd = &cobra.Command{ if err := requireAuthFields(); err != nil { return err } - from := viper.GetString("from") - to := viper.GetString("to") + from, _ := cmd.Flags().GetString("from") + to, _ := cmd.Flags().GetString("to") if from == "" || to == "" { return fmt.Errorf("--from and --to are required") } @@ -66,8 +66,6 @@ var sleepRangeCmd = &cobra.Command{ func init() { sleepRangeCmd.Flags().String("from", "", "start date YYYY-MM-DD") sleepRangeCmd.Flags().String("to", "", "end date YYYY-MM-DD") - viper.BindPFlag("from", sleepRangeCmd.Flags().Lookup("from")) - viper.BindPFlag("to", sleepRangeCmd.Flags().Lookup("to")) if sleepCmd != nil { sleepCmd.AddCommand(sleepRangeCmd) }