Commit Graph

3 Commits

Author SHA1 Message Date
Peter Steinberger
4f5e474059
fix(cli): improve completion and Windows live testing
Co-authored-by: Theodore Aptekarev <aptekarev@gmail.com>
Co-authored-by: gagradebnath <salemdebnath@gmail.com>
2026-04-20 16:05:12 +01:00
Peter Steinberger
76c45ef316 fix(completion): include current token in fish completion (#123) (thanks @GiGurra) 2026-03-08 03:28:59 +00:00
salmonumbrella
05986fb6ce
fix(timezone): honor --timezone local (#79)
* feat(gmail): add timezone support for date output

Add --timezone and --local flags to gmail search and watch serve commands
to control how dates are displayed. By default uses local timezone.
Users can specify any IANA timezone (e.g., America/New_York, UTC).

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* test(gmail): fix execute test for timezone changes

Update TestExecute_GmailSearch_JSON to use explicit --timezone UTC flag
and expect the correctly converted time (22:04 UTC from 15:04 -0700).

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* feat(gmail): add -z short flag for --timezone

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* test(gmail): add unit tests for resolveOutputLocation

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* docs(gmail): clarify timezone flag help text

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* test(gmail): add timezone conversion tests for formatGmailDateInLocation

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* feat(config): add default_timezone setting

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* feat(gmail): support GOG_TIMEZONE env var and config for timezone

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* feat(config): add gog config command for timezone and settings

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* feat(calendar): respect GOG_TIMEZONE and config for timezone

Update calendar time command to follow the same timezone priority as gmail:
1. --timezone flag (explicit)
2. GOG_TIMEZONE env var
3. Config file default_timezone
4. Fall back to Google Calendar's timezone (calendar-specific fallback)

Add getConfiguredTimezone helper that returns nil when no explicit timezone
is configured, allowing calendar commands to use their own fallback behavior.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* test(gmail): add tests for GOG_TIMEZONE env var and getConfiguredTimezone

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* fix(config): warn on invalid timezone instead of error

When default_timezone in config is invalid, print a warning to stderr
and fall back to local timezone instead of returning a hard error.

Invalid flag/env var still returns errors (user mistake in current
session), but invalid config should not break the CLI (stale config).

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* refactor(gmail): remove unused formatGmailDate, add nolint directive

- Remove unused formatGmailDate wrapper function (all callers use
  formatGmailDateInLocation directly with explicit location)
- Add nolint:nilnil directive to getConfiguredTimezone with explanation
  that nil return signals caller to use its own fallback

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* fix(timezone): honor --timezone local

* refactor(cli): unify config/timezone helpers

* test(cmd): isolate config env in timezone tests

* refactor(config): centralize config key metadata

* fix(config): drop unused key spec lookup

* fix(config): standardize config key errors

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-01-17 04:53:31 +00:00