backnotprop / backnotprop/plannotator
Allow minting a replacement short link for small shared plans
- Dominant language
- TypeScript
- Stars
- 8.7k
- Forks
- 649
- Avg merge
- 11h 12m
- Merged PRs (30d)
- 109
Description
## Context
PR #1425 fixes #798 by treating incoming short links as immutable snapshots and removing a stale short URL after the represented content changes.
A remaining product limitation affects small markdown plans: `ExportModal` only offers **Create short link** when the full hash URL exceeds 2048 characters or hash sharing is unavailable. After editing a small plan loaded from a short link, the user gets a correct fresh full URL, but cannot explicitly mint a replacement short link from Export. This leaves the literal short-link step in the workflow reported in #798 incomplete for small plans.
## Intended behavior
After an incoming or locally generated short URL is invalidated by a material edit, Export should offer an explicit way to create a fresh short link even when the current full hash URL is below the large-URL threshold.
## Constraints
- Keep pastes immutable: never update or delete the original paste.
- Creating a replacement remains an explicit user action; do not auto-upload on edits.
- Preserve current payload, encryption, and existing-link compatibility.
- Decide whether the action should appear only after invalidation or be available for every shareable small plan.
## Acceptance criteria
- A small markdown plan loaded from a short link loses the stale URL after an edit.
- Export exposes a replacement short-link action.
- Invoking it creates a distinct encrypted paste representing current content.
- The original paste remains unchanged.
Tracked separately from #1425 per the maintainer review so that PR stays focused on stale-snapshot correctness.
Contributor guide
Research direction
Start in ExportModal and trace how incoming or locally generated short URLs are invalidated after a material edit, along with the existing large-URL and hash-sharing conditions. Verify that a small edited markdown plan can explicitly create a distinct encrypted paste for the current content while leaving the original paste unchanged and preserving existing payload and encryption behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- frontend
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100