feat(channels)!: rename accounts to channels (v0.4.0) - #1
Conversation
Tunnel env now follows CLI config precedence (HOOKMYAPP_ENV > config.json 'env' > DEFAULT_ENV) rather than heuristic substring matching on the effective API base URL. The old detectEnv(url) returned 'local' for any localhost URL and 'staging' only when the substring 'staging' appeared, both of which were wrong when an operator used a surgical HOOKMYAPP_API_URL override against a non-standard host, or when the configured env disagreed with the URL pattern. Added unit test src/commands/__tests__/sandbox-listen-env.test.ts locking in the three precedence rules so this cannot regress. Quick task: 260415-nym.
…OS env local.workosClientId → client_01KPAJA2CKGFMASZMABKDTS2X8 (new dedicated Sandbox environment on the separate Local HookMyApp WorkOS account). Prior value was the shared staging client_id. Splitting WorkOS so local dev user/org data no longer cross-contaminates the staging environment used by QA and integration testing. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
HookMyApp monorepo Phase 116 renames `Account` to `Channel` as the
canonical noun for a WhatsApp connection (industry standard: Twilio,
Intercom, Front, Zendesk). This CLI change lands in lockstep.
Changes:
- commands/accounts.ts -> commands/channels.ts (6 subcommands renamed:
list, show, connect, disconnect, enable, disable)
- registerAccountsCommand -> registerChannelsCommand
- runAccountsConnect -> runChannelsConnect (post-login wizard entrypoint)
- resolveAccount -> resolveChannel (shared helper)
- API URLs /meta/accounts -> /meta/channels across webhook, token, env,
health commands
- `hookmyapp login --next accounts` -> `--next channels`
- `hookmyapp workspace current` now reads `channelCount` and prints
`Channels:` label (was `Accounts:` / `accountCount`)
- __tests__/accounts.test.ts -> __tests__/channels.test.ts (renamed,
fixtures + assertions flipped)
- Added Nyquist Dim-3 boundary test: `accounts list` must exit with
unknown-command error (proves absence, not just presence of rename)
- package.json 0.3.0 -> 0.4.0 (breaking); CHANGELOG.md created
Not renamed (intentionally):
- README.md "WhatsApp Business account" — Meta product name
- accounts.ts OAuth redirect URI `${appUrl}/cli/callback` — not a
/dashboard/accounts/* path
Backend Phase 116 lands first and serves /meta/channels/*; the short
window of broken v0.3.0 CLI is acceptable pre-prod.
|
Caution Review failedPull request was closed or merged during review 📝 WalkthroughWalkthroughThis pull request performs a breaking version update (0.3.0 → 0.4.0) that renames the CLI "accounts" command group to "channels" across the codebase. All related functionality, API endpoints ( Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~30 minutes Poem
🚥 Pre-merge checks | ✅ 2 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
Monorepo Phase 116 renames Account to Channel as the canonical noun for a WhatsApp connection (industry standard: Twilio, Intercom, Front, Zendesk). This CLI rename lands in lockstep.
Summary
Not renamed (intentionally)
Release flow
Per CONTEXT: monorepo PR lands FIRST (Phase 116 backend + frontend + workers serve `/meta/channels/*`), then this CLI PR merges and tag `v0.4.0` ships. Short window of broken v0.3.0 CLI is acceptable pre-prod.
Test plan
Summary by CodeRabbit
Breaking Changes
accountscommand group tochannels(includes list, show, connect, disconnect, enable, disable subcommands)--next accountsflag to--next channels/meta/accountsto/meta/channelsaccountscommand no longer available; no aliases providedDocumentation