You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Removed battery, fuel, location, tires, and doors subcommands from
'mcs status'. The main command shows all info, and --json can be used
for scripting. This eliminates redundancy and inconsistency (some
sections had subcommands, others didn't).
Fixes: mcs-278q
{"id":"mcs-27","title":"Add context.Context support to API client","description":"The API client doesn't support Go's context.Context for cancellation and timeouts. This is important for CLI applications where users might want to cancel long-running operations.\n\nAdd context parameter to API methods:\n func (c *Client) APIRequest(ctx context.Context, method, uri string, ...) error\n func (c *Client) DoorLock(ctx context.Context, internalVIN string) error\n\nFiles: internal/api/client.go, control.go, vehicle.go","design":"## Migration:\n1. Add ctx param to APIRequest, use http.NewRequestWithContext\n2. Update control.go and vehicle.go functions\n3. CLI: use cmd.Context() from cobra or context.WithTimeout\n\nStart with context.TODO() during migration, replace incrementally","status":"closed","priority":1,"issue_type":"feature","created_at":"2025-12-18T03:19:25.041813-08:00","updated_at":"2025-12-18T22:36:26.035167-08:00","closed_at":"2025-12-18T11:34:23.679134-08:00"}
34
+
{"id":"mcs-278q","title":"Remove redundant mcs status subcommands","description":"The `mcs status` command has subcommands (battery, fuel, location, tires, doors) that are redundant with the main status output.\n\n## Current state\n- `mcs status` shows all info: battery, fuel, HVAC, doors, windows, hazards, tires, location, odometer\n- Subcommands show individual sections: battery, fuel, location, tires, doors\n- Inconsistent: some sections have subcommands, some don't (windows, hvac, odometer)\n\n## Proposal\nRemove all subcommands. The main `mcs status` command provides all the info, and `mcs status --json` can be used for scripting.\n\n## Subcommands to remove\n- `mcs status battery`\n- `mcs status fuel`\n- `mcs status location`\n- `mcs status tires`\n- `mcs status doors`","status":"in_progress","priority":2,"issue_type":"task","created_at":"2025-12-29T10:12:51.254642-08:00","updated_at":"2025-12-29T10:13:02.980464-08:00"}
34
35
{"id":"mcs-28","title":"Replace custom base64Encode with stdlib","description":"A custom base64 encoding function (30 lines) is implemented when Go's standard library provides this.\n\nLocation: internal/api/auth.go:379-410\n\nReplace with:\n encoding/base64.StdEncoding.EncodeToString(data)\n\nwhich is already used elsewhere in the codebase (crypto.go:32).","status":"closed","priority":1,"issue_type":"chore","created_at":"2025-12-18T03:19:47.250193-08:00","updated_at":"2025-12-18T22:36:26.034948-08:00","closed_at":"2025-12-18T11:09:39.669959-08:00"}
35
36
{"id":"mcs-29","title":"Remove hardcoded vehicle model from status output","description":"The vehicle model is hardcoded in status.go:223:\n output := \"\\nCX-90 GT PHEV (2025)\\n\"\n\nThis should be extracted from vecBaseInfos or made configurable to support other vehicle models.\n\nFiles: internal/cli/status.go","design":"## Options:\n1. Extract from vecBaseInfos response (preferred) - look for CarName/ModelName/ModelYear fields\n2. Add to config.toml as fallback\n\nRun `mcs raw status` to see actual JSON structure for field names","status":"closed","priority":1,"issue_type":"bug","created_at":"2025-12-18T03:19:47.315867-08:00","updated_at":"2025-12-18T22:36:26.034754-08:00","closed_at":"2025-12-18T11:08:33.964914-08:00"}
36
37
{"id":"mcs-29on","title":"Nil pointer dereference when TokenCache.Load returns nil","description":"TokenCache.Load returns nil when the cache file does not exist, but callers may not check for nil before dereferencing, risking runtime panics","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-19T23:14:33.414852-08:00","updated_at":"2025-12-20T16:20:04.064735-08:00","closed_at":"2025-12-20T16:20:04.064735-08:00","close_reason":"Not a bug. Load() returning nil is documented behavior. TestLoad_NoCache verifies this. Callers are expected to check for nil."}
0 commit comments