GitHub `@mentions` corrupted to `[From GitHub: user](url)` on sync
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 59.6k
- Forks
- 5.8k
- Avg merge
- 1d 22h
- Merged PRs (30d)
- 49
Description
Affected: Plane Cloud, official GitHub integration. See also: meta-issue on destructive overwrite (issue 01).
Symptom
GitHub markdown @username written in an issue or comment body, after a GH→Plane import + Plane→GH round-trip, comes back as [From GitHub: username](https://github.com/username).
| stage | content |
|---|---|
| GitHub input | @someuser |
| Plane stored HTML | <a href="https://github.com/someuser" rel="noopener noreferrer">From GitHub: someuser</a> |
| GH after Plane→GH push | [From GitHub: someuser](https://github.com/someuser) |
The From GitHub: <handle> text is injected at GH→Plane import time by the closed makeplane/silo-commercial image. The Plane→GH markdown serialisation then faithfully emits it.
Impact
- Loses GitHub-native mention semantics: no notification to the mentioned user, no avatar in GH rendering, no auto-link styling.
- Visually ugly:
@userbecomesFrom GitHub: usereverywhere. - Words that look like mentions but aren't valid users still get linked to broken URLs. e.g. the literal text
@mentionsbecomes[From GitHub: mentions](https://github.com/mentions)— a 404.
Ask
Preserve @user mentions as bare @user text across the round-trip. Do not invent [From GitHub: user](url) link forms.
If conversion to a link is unavoidable, validate the handle against GitHub's user API and skip the rewrite for non-existent users rather than producing a broken link.
Reproduction
- Connect a GitHub repo to a Plane workspace via the official GitHub integration. Set sync to bidirectional.
- Create a GitHub issue with body
cc @someuser. Apply thePlanelabel. - Within seconds the Plane work item appears with
description_htmlalready containing<a href="https://github.com/someuser">From GitHub: someuser</a>. - To exercise the destructive Plane→GH push, follow the trigger recipe in meta-issue 01.
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 source file or test is identified; start by tracing the official GitHub integration's Plane→GitHub markdown serialization and compare it with the closed silo-commercial import behavior described here. Done means preserving bare @user mentions across the round-trip without inventing broken links, but the import-side change may be outside this repository.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- github, typescript
- Domain
- api, backend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100