makeplane / makeplane/plane

Bare URLs wrapped in `[url](url)` self-links on sync

Open
#9,075 0 comments 0 reactions 0 assignees View on GitHub

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

  1. Connect a GitHub repo to a Plane workspace via the official GitHub integration. Set sync to bidirectional.
  2. Create a GitHub issue whose body contains a bare URL with special characters in the path (parens or brackets). Apply the Plane label.
  3. To exercise the destructive Plane→GH push, follow the trigger recipe in meta-issue 01.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.