Skip to content

[Toolset Publications] Identify publication requests by display name instead of internal name #4534

Description

@DP-4

Description

Approvals → Toolset Publications identifies a request by the toolset's internal name and internal version. Everywhere else in the product the same toolset is shown by its display name and display version.

The two differ whenever a toolset has been renamed, because the internal name is fixed at creation and does not follow a rename.

Published from DIAL Chat NG: Personal kitty toolset, display version 0.0.3. The queue lists it as Test toolset 0.0.3, with the Author column empty:

Queue row labelled with the internal name and a blank Author

Opening the request repeats the internal name in the header, the breadcrumb and the page URL, while the display name sits one field lower:

Field Value
ID Test toolset
Display Name Personal kitty toolset
Version 0.0.1
Request page: header shows the internal name, Display Name field shows the real one

Both values are present in the stored record. The internal one is the one chosen for the label:

"requestName": "Test toolset 0.0.3",
"author": "",
"displayAuthor": "<the publisher's name>",
"toolSetResource": {
    "name": "Test toolset",
    "display_name": "Personal kitty toolset",
    "display_version": "0.0.3"
}
Stored record holding both name and display_name

Nothing is broken. The storage paths are built from the internal name and are internally consistent, so the correct resource publishes. This is about which of two available values is put in front of the approver.

Why it matters

Approval is a gate. The approver decides on a label, and today that label is not the name anyone else in the product uses.

An approver cannot match a request to what was published. The publisher reports sending "Personal kitty toolset 0.0.3". Nothing in the queue says that. The approver either declines something they cannot identify, or approves on trust.

Rows become indistinguishable from one another. The queue already holds several named New request by <user> and Nouvelle demande de <user>. Sorting or scanning by name does not separate them, and the Author column is blank for some rows, so neither field narrows the list.

The Author column is the smaller half of the same problem. The record carries displayAuthor while author is an empty string, and the column reads the empty one. It is in the criteria below because it is the same screen and the same shape of fix, but it can be split out.

Acceptance criteria

The queue

  1. The Name column shows the toolset's display_name and display_version. For the request above that is Personal kitty toolset 0.0.3.
  2. A toolset whose display name matches its internal name is unaffected.
  3. The Author column shows the requester. When author is empty and displayAuthor is populated, the column falls back to displayAuthor.

The request page

  1. The page header and the breadcrumb show the display name and display version.
  2. The internal name and internal version remain visible on the page, so they can still be used for debugging. They are no longer the primary label.
  3. Opening a request whose underlying toolset was deleted still shows a usable label rather than an empty header.

Not changing what already works

  1. Routing is unchanged. The resource published is the same one as today, and the storage paths still derive from the internal name.
  2. The same treatment can be applied to the other publication queues, but this request covers Toolset Publications only.

Where it was seen

FE 0.21.0-dev.165, BE 0.21.0-dev.11, publishing from DIAL Chat NG v0.0.1. First seen on FE 0.21.0-dev.147, BE 0.21.0-dev.10 and unchanged since.

requestName is stored in the publication record, so the component that writes that record may be where the change belongs rather than the frontend that renders it. Raised here because this is where the value is visible and because the correct value is demonstrably present in the same payload.

Related issues

Confidential information

  • I confirm that do not share any confidential information

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

    enhancementNew requested features or functional improvements to existing components.to-be-documentedTasks or features that require documentation but have not yet been covered.

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions