fix(cli): validate channel name and clarify invalid-name error#3095
Open
jorgemoya wants to merge 2 commits into
Open
fix(cli): validate channel name and clarify invalid-name error#3095jorgemoya wants to merge 2 commits into
jorgemoya wants to merge 2 commits into
Conversation
The Catalyst channels API rejects channel names containing unsupported characters (e.g. an apostrophe in "Bob's Store") with an opaque server error, leaving users to guess what went wrong. Validate the name in the shared channel-creation flow used by both `catalyst create` and `catalyst channel create`: the interactive prompt validates as you type, and an invalid `--name` flag throws a UserActionableError before the API call. Either way the message names the offending input and lists the allowed characters (letters, numbers, spaces, hyphens, underscores). Refs LTRAC-1088 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
🦋 Changeset detectedLatest commit: 99f16ad The changes in this PR will be included in the next version bump. This PR includes changesets to release 1 package
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Contributor
Bundle Size ReportComparing against baseline from No bundle size changes detected. |
Apply eslint --fix (prettier) to create-channel-flow.ts and its spec to satisfy the CI lint step (--max-warnings 0). Refs LTRAC-1088 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Contributor
Unlighthouse Performance Comparison — VercelComparing PR preview deployment Unlighthouse scores vs production Unlighthouse scores. Summary ScoreAggregate score across all categories as reported by Unlighthouse.
Category Scores
Core Web Vitals
|
Contributor
Author
|
Testing |
mfaris9
reviewed
Jul 10, 2026
mfaris9
approved these changes
Jul 10, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Linear: LTRAC-1088
What/Why?
Creating a channel with an unsupported name (e.g. an apostrophe in "Bob's Store") failed with an opaque API error, forcing users to guess. This validates the channel name in the shared
runCreateChannelFlow, so bothcatalyst createandcatalyst channel createbenefit. The interactive prompt validates as you type, and an invalid--nameflag fails fast with aUserActionableErrorbefore hitting the API. Both paths name the offending input and list the allowed characters.Note/tradeoff: this is a client-side allowlist (Unicode letters/numbers, spaces, hyphens, underscores). Names the API might currently accept with other punctuation (
&,#,(,.) are now rejected client-side. There's no documented character constraint for the channels API, so this follows a conservative set — easy to widen the regex + message if the API is more permissive.Testing
create-channel-flow.spec.ts(13 tests): validator matrix (accepts plain/hyphen/underscore/accented/padded; rejects apostrophe/ampersand/hash/parens/empty/whitespace) and flow wiring (invalid--namethrows before the API call, promptvalidatewired, valid--namepasses through).typecheckandlintpass.Migration
None.