Skip to content

GitHub #NNN issue/PR refs duplicate and break URL on sync #9072

Open

Description

@aspiers

Affected: Plane Cloud, official GitHub integration. See also: meta-issue on destructive overwrite (issue 01).

Symptom

GitHub issue/PR references in a body or comment are corrupted in three distinct ways after a GH→Plane import + Plane→GH round-trip.

Input (GH markdown): #146

Plane stored HTML, after one import:

<a class="issue-link js-issue-link" data-id="..."
   href="https://github.com/<owner>/<repo>/issues/146"
   rel="noopener noreferrer"></a><a href="https://github.com/<repo>/issues/146"
   rel="noopener noreferrer"><repo> #146</a>

Pushed back to GH markdown:

[](https://github.com/<owner>/<repo>/issues/146)[<repo> #146](https://github.com/<repo>/issues/146)

Three distinct bugs

  1. URL drops the repository owner. <owner>/<repo>/issues/N becomes <repo>/issues/N — i.e. the integration treats the repo name as the owner segment. The resulting link is a 404 on GitHub.
  2. Empty anchor emitted alongside the populated anchor. The first <a> has the correct URL but empty link text. The second <a> has the broken URL and the human-readable text.
  3. Anchors multiply on subsequent re-imports. We observed up to 7 repeated tokens preceding the final #NNN link for a single reference after 11 consecutive Plane→GH pushes (visible in userContentEdits). Each round-trip appears to accumulate another anchor.

Impact

  • Cross-references between issues become unclickable (404).
  • Bodies grow on every round-trip; one issue grew from 2133 bytes to 3461 bytes after a single Plane→GH push, and continued to grow on subsequent pushes.

Ask

Preserve #NNN references as bare #NNN text. GitHub auto-renders these natively.

If conversion to a link is desirable, emit the link once, with the correct <owner>/<repo>/issues/N URL form. Do not emit a companion empty anchor.

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 references another issue with #42. Apply the Plane label.
  3. Within seconds the Plane work item has stored HTML with the doubled-anchor + wrong-owner-URL pattern shown above.
  4. To exercise the destructive Plane→GH push, follow the trigger recipe in meta-issue 01. Re-trigger to observe anchor multiplication.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions