Add link_url field to campaign variants for link-post support #19

Closed
opened 2026-05-27 11:00:22 -07:00 by pyr0ball · 0 comments
Owner

Problem

When copying a post from Magpie to post manually (or when Lemmy/Reddit posting auto-fires), there is no dedicated URL field on a variant. The repo/product link is embedded in the body text, making it hard to:

  1. Copy just the link for link-style posts (where the URL appears under the title, not in the body)
  2. Quickly grab the canonical URL without parsing the body
  3. Support Lemmy/Reddit link posts vs text posts cleanly

Proposed change

Add an optional link_url field to the variant schema:

ALTER TABLE campaign_variants ADD COLUMN link_url TEXT;

In the Magpie UI (campaign detail / variant editor):

  • Show link_url as a dedicated field below the title
  • Make it one-click copyable
  • When posting to Reddit/Lemmy: if link_url is set and body is empty, post as a link post; if both are set, post as a text post with the URL also embedded

Example

Discarr campaign 13, selfhosted variant:

When copying manually, all three are visible and independently copyable without digging through the body.

## Problem When copying a post from Magpie to post manually (or when Lemmy/Reddit posting auto-fires), there is no dedicated URL field on a variant. The repo/product link is embedded in the body text, making it hard to: 1. Copy just the link for link-style posts (where the URL appears under the title, not in the body) 2. Quickly grab the canonical URL without parsing the body 3. Support Lemmy/Reddit link posts vs text posts cleanly ## Proposed change Add an optional `link_url` field to the variant schema: ```sql ALTER TABLE campaign_variants ADD COLUMN link_url TEXT; ``` In the Magpie UI (campaign detail / variant editor): - Show `link_url` as a dedicated field below the title - Make it one-click copyable - When posting to Reddit/Lemmy: if `link_url` is set and body is empty, post as a link post; if both are set, post as a text post with the URL also embedded ## Example Discarr campaign 13, selfhosted variant: - `title`: Discarr: disc rip → Sonarr/Radarr pipeline, no npm deps [GPL-3.0] - `link_url`: https://git.opensourcesolarpunk.com/Circuit-Forge/discarr - `body`: (full post text) When copying manually, all three are visible and independently copyable without digging through the body.
Sign in to join this conversation.
No labels
bug
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: Circuit-Forge/magpie#19
No description provided.