Skip to content

Parade archive silently omits named and same-day variant decks #1012

Description

@jim80net

Classification

Public product issue for the open-source flotilla Parade viewer. Generic fixtures only; no private deployment content or identifiers.

Verified constraint

The Parade archive conflates a deck's identity with an ISO calendar date:

  • internal/dash/parade.go defines paradeDateRe as the exact YYYY-MM-DD shape.
  • readParades silently ignores every directory whose name does not match.
  • asset and conversation routes enforce the same date-only key.
  • the authoring documentation specifies parades-dir/YYYY-MM-DD/slides.md.

This is therefore a documented Parade convention, not an accidental JavaScript parse behavior. The product defect is that the convention is also the only archive identity model and exclusion is silent.

Rendered reproduction

Using the real dash server and Chromium at 1024×768:

  1. Place a generic deck at 2026-08-08/slides.md.
  2. Place a second generic same-day deck at 2026-08-08-eod/slides.md.
  3. Open /parade and switch to “all parades.”
  4. The archive renders exactly one card. The -eod deck is absent with no invalid-entry or unsupported-name state.

The observation was first surfaced in a viewport verdict relayed through two writing/coordination seats. The mechanism above was independently verified in source and with the rendered viewer before filing.

Product impact

  • A second parade/deck variant on the same day cannot coexist in the viewer under a descriptive identity.
  • Copying the bytes into a synthetic date directory makes them render but changes archive identity and is manual per deck.
  • Authors get no viewer-visible refusal or preflight failure; the artifact is simply omitted.
  • The Parade viewer does not need to become a universal presentation platform, but its archive should not require one deck per calendar date as the only representable shape.

Acceptance

  • Decouple safe deck identity from display date. Support at least multiple same-day variants with stable, descriptive slugs (for example, date metadata plus a safe deck id), while preserving existing YYYY-MM-DD archives.
  • Define deterministic ordering and collision behavior.
  • Update deck, asset, and conversation routes to use the same stable identity without weakening traversal, symlink, or inert-image protections.
  • Provide an author-facing preflight or explicit invalid-entry state; unsupported archive entries must not disappear silently.
  • Render a generic archive containing two same-day variants through the real viewer at desktop and phone widths. Both cards must be visible, both decks must open, and their assets/conversations must remain isolated.
  • Capture screenshots and perform human visual inspection. Source/string tests alone are insufficient.

Related viewer findings: #1010 (desktop controls overlap copy) and #1011 (image-only slides render as literal Markdown).

No priority is implied.

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