Skip to content

Allow minting a replacement short link for small shared plans #1427

Description

@backnotprop

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.

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

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions