Bare URLs wrapped in `[url](url)` self-links 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
Bare URLs in a GitHub issue or comment body are wrapped in redundant [url](url) markdown links after a sync round-trip.
| stage | content |
|---|---|
| GitHub input | https://example.com/path?q=1 |
| Plane stored HTML | <a href="https://example.com/path?q=1" rel="noopener noreferrer">https://example.com/path?q=1</a> |
| GH after Plane→GH push | [https://example.com/path?q=1](https://example.com/path?q=1) |
Impact
- GitHub auto-linkifies bare URLs natively. Wrapping them in explicit
[url](url)is redundant. - More importantly, the wrapping breaks for URLs containing characters that need escaping in markdown link syntax (parens, brackets). The original bare-URL form rendered correctly; the wrapped form may render broken.
- Body bytes grow unnecessarily on every round-trip.
Ask
Preserve bare URLs as bare URLs. Don't wrap them in self-referential [url](url) links.
Reproduction
- Connect a GitHub repo to a Plane workspace via the official GitHub integration. Set sync to bidirectional.
- Create a GitHub issue whose body contains a bare URL with special characters in the path (parens or brackets). Apply the
Planelabel. - 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
Start with the official GitHub integration's bidirectional sync path and reproduce the documented round-trip using a bare URL with parentheses or brackets. Compare the GitHub input, Plane-stored HTML, and pushed Markdown; done means bare URLs remain unwrapped and still render correctly after sync.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- github, markdown
- Domain
- api, backend
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100