Skip to content

A shared ?sig= link silently matches nothing once the environment list changes #123

Description

@gaurav

The drift panel groups results by their outcome pattern and links each pattern into /results/ as ?sig=…. The signature is positional — one character per environment, in DEPLOYMENT_ORDER — so it only means anything against the environment list it was built for.

Add a target to targets.ini, or remove one, and every previously shared ?sig= link silently matches nothing. Not the wrong rows: no rows. The page renders an empty result set with the filter chip showing, which reads as "nothing is in this state any more" rather than "this link is from a different shape of report". A link shared in Slack a month ago is exactly the case that hits this.

Worth fixing because the drift panel's whole purpose is producing links people pass around.

Options, roughly in order of effort:

  1. Carry the environment list in the link (?sig=…&sigenv=exp,dev,ci,ci-es,test,prod) and, when it doesn't match the current report, say so where the empty result set would otherwise be: "this link was built for a different set of environments (…), which no longer matches this report."
  2. Show the environments a signature covers in the drift panel itself, so the meaning of the pattern is visible before anyone copies it.
  3. Make the signature self-describing — keys rather than positions — at the cost of a longer URL.

(1) is the smallest change that turns a silent wrong answer into a legible one, and is probably enough on its own.

Deliberately not done in #120: it needs a call on how the mismatch is presented, and it changes the semantics of a shareable URL, so it wants its own review rather than being folded into a redesign.

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

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions