Unjoined public channel is reported as a private channel
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 0
- Forks
- 0
- Avg merge
- 6h 35m
- Merged PRs (30d)
- 10
Description
What happened. tdc thread view id:Cef56SqAhC6dgFNn5R4f4 (a thread in a public channel I have not joined) fails with:
NOT_FOUND: This thread belongs to a private channel.
Use --include-private-channels to access it
With the flag it reads fine, and the channel is public.
Why. assertChannelIsPublic checks the channel id against getPublicChannelIds, which is built from client.channels.getChannels({ workspaceId }) (src/lib/public-channels.ts). That list did not contain the channel for me, so anything outside it is reported as private, joined or not. Comms has two levels here, private and public-not-yet-joined, and the message only names one.
Ask. Either of these; the first is enough on its own:
- Reword the error to what the check actually knows: "This thread is in a channel you have not joined, or a private one. Pass
--include-private-channelsto read it." - Check the channel itself (its
publicflag) so an unjoined public channel passes the guard without the flag, and only private ones need it.
Why it matters. Agents relay this message as a fact. Mine told me the thread was private twice, once inside a draft reply that warned colleagues the link would not work for them. Version 3.1.0.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with src/lib/public-channels.ts and the assertChannelIsPublic check, then reproduce the issue with the tdc thread view id:Cef56SqAhC6dgFNn5R4f4 command. Done means an unjoined public channel is no longer reported as private, or the error accurately distinguishes unjoined public and private channels while the --include-private-channels behavior remains clear.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- cli
- Issue type
- Bug
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Active
- Clarity
- Clearly specified
- Newbie friendliness
- 84/100