Skip to content

behavior: legacy laddr URL redirects (/projects?ID=, /people/:username, /tags dot-form, 410 Gone) #78

@themightychris

Description

@themightychris

Gap

specs/behaviors/legacy-id-mapping.md specifies redirect handlers for every laddr URL pattern. None are implemented; every laddr inbound link 404s on next-v2.

Patterns to handle (per spec)

  • `/projects?ID=` → `/projects/` (resolve via `Project.legacyId`)
  • `/people/:username` (laddr's URL shape) → `/members/:slug`
  • `/project-updates?ProjectID=` → `/projects/` (or the update detail if discoverable)
  • `/tags/topic.` (dot-form) → `/tags/topic/` (and same for tech, event)
  • `410 Gone` for URL patterns laddr served but that were intentionally dropped at migration

Scope

  • API + SPA work — backend issues the 301 (or SPA-side router intercepts and replaces history)
  • All four redirect patterns covered
  • Spec-conformance test per pattern

Out of scope

  • SlugHistory-based 90-day redirects after a v1 rename — that's a separate gap (sibling issue)

Why this is a cutover blocker

Existing user bookmarks, links shared on Slack/Twitter/blog posts, links indexed by Google — all break unless this lands.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions