RocketChat / RocketChat/Rocket.Chat
SlackBridge - potential bug/conflict in channel names
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 46.1k
- Forks
- 13.9k
- Avg merge
- 3d 3h
- Merged PRs (30d)
- 130
Description
Description:
This is a weird one:
I have Rocket.Chat server "RC" linked to a Slack workplace "SLACK".
One of the channels we paired is #0_general i.e. on both SLACK and RC we created a new channel #0_general and added the bot to SLACK/#0_general.
On SLACK, there is no channel #general.
But on RC, there is a channel #general (which predates the SlackBridge setup btw).
In RC, if I post a message in RC/#general it is only posted in RC/#general, since there is no channel SLACK/#general
and, still in RC, if I post a message in RC/#0_general it is sent to SLACK/#0_general.
All good there.
But...
In SLACK, if I post a message in SLACK/#0_general, then the message is received in RC/#general but never received in RC/#0_general !
I guess some characters (numbers and _) are ignored in SlackBridge ??? In any case as you can see this results in a very weird behavior from a user standpoint.
EDIT: After renaming the channel #0_general to #0_general_a in SLACK, the channel #general in RC was automatically renamed to #0_general_a (the channel RC/#0_general however wasn't changed)
Server Setup Information:
- Version of Rocket.Chat Server: 3.15.0
- Operating System: Debian
- Deployment Method: Docker
- Number of Running Instances: 1
- DB Replicaset Oplog: enabled
- NodeJS Version: v12.22.1
- MongoDB Version: 4.0.24 / mmapv1 (oplog Enabled)
- Proxy: traefik
- Firewalls involved: iptables managed by Docker
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
No files, tests, or code entry points are named. Start by reproducing the SlackBridge mapping with RC/#general, RC/#0_general, and SLACK/#0_general, then trace how channel names are matched and renamed; done means messages and rename events target the corresponding channels without collisions.
Written by the indexing model from the issue text.
Assessment
- Domain
- api, backend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100