Repository navigation
Conversation
basecamp people preferences me reads GET /my/preferences.json; with --week-start, --time-format or --time-zone it writes PUT /my/preferences.json and reads the result back. Input is checked before any request, and a failed read-back keeps the update reported as done.
|
@codex review |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
Codex Review: Didn't find any major issues. 🎉 Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
🛡️ Codex Security Review · Automatically triggeredSecurity review completed. No security issues were found in this pull request. Reviewed commit: Only the user who started this review can view the report in Codex. ℹ️ About Codex security reviews in GitHubThis is an experimental Codex feature. Security reviews are triggered when:
Once complete, Codex will leave suggestions, or a comment if no findings are found. |
|
Converged on a934478 and marked ready for a person to merge:
Nothing here is waiting on a decision. |
Why
The gap card [CLI] Read and update my preferences names two operations the SDK has had since v0.29.1 that the CLI didn't reach (found by the coverage report in basecamp/basecamp-sdk#1055). The CLI is pinned to SDK v0.34.0, which has both, so this builds on
mainwith no bump.What changed
GetMyPreferences(GET /my/preferences.json)basecamp people preferences [me]UpdateMyPreferences(PUT /my/preferences.json)basecamp people preferences [me] --week-start <day> --time-format 12h|24h --time-zone <zone>It follows
people out-of-office: the target can only beme, no flags shows your preferences, and flags update them. Each preference is sent only when you pass its flag. Bad input is caught before any request goes out:--week-starttakes Sunday through Saturday in any case,--time-formattakes12h/24hor the API's owntwelve_hour/twenty_four_hour, and none of the three accepts an empty value. These preferences can't be cleared, and the SDK would quietly drop an empty value anyway. The SDK's update returns nothing, so the command reads the preferences back. If that read fails, the update is still reported as done, with a diagnostic, the same waypeople updatehandles it.people update's help used to say week start and time format "are not edited here". It now points topeople preferences me.Also updated: the catalog entry (
commands.go), theAPI-COVERAGE.mdpeople row and the.surfacesnapshot.skills/basecamp/SKILL.mdis unchanged: it works by discovery and doesn't list the profile or out-of-office commands either.Builds on
mainat df22084. Nothing else is needed.Left out
Nothing. The
API-COVERAGE.mdendpoint counts are unchanged: the people row's count of 15 is already higher than the endpoints the row lists, and reconciling those counts is tracked separately, as the file's note says.Tests
internal/commands/people_preferences_test.go: show (bare and withme), an update that sends only the given fields insidepersonand returns the read-back, all three fields together, the time-format names, bad input refused before any request (unknown or empty day, unknown or empty format, blank zone), a target other thanmerefused, and a failed read-back reported as success with a diagnostic.e2e/people.bats: offline usage errors for an unknown day, an unknown format and another target.e2e/smoke/smoke_account.bats:people preferences meagainst a live account.bin/cipasses locally.Gap card
Summary by cubic
Adds
basecamp people preferences [me]to show and update your own preferences — week start, time format, and time zone — using SDK operationsGetMyPreferencesandUpdateMyPreferencesthat the CLI previously didn't reach.--week-start,--time-format, and--time-zoneflags send only the values you pass.meis accepted as the target.Written for commit a934478. Summary will update on new commits.