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:
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 |
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"
}
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
- The Name column shows the toolset's
display_name and display_version. For the request above that is Personal kitty toolset 0.0.3.
- A toolset whose display name matches its internal name is unaffected.
- The Author column shows the requester. When
author is empty and displayAuthor is populated, the column falls back to displayAuthor.
The request page
- The page header and the breadcrumb show the display name and display version.
- 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.
- Opening a request whose underlying toolset was deleted still shows a usable label rather than an empty header.
Not changing what already works
- Routing is unchanged. The resource published is the same one as today, and the storage paths still derive from the internal name.
- 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
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:Opening the request repeats the internal name in the header, the breadcrumb and the page URL, while the display name sits one field lower:
Test toolsetPersonal kitty toolset0.0.1Both values are present in the stored record. The internal one is the one chosen for the label:
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>andNouvelle 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
displayAuthorwhileauthoris 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
display_nameanddisplay_version. For the request above that isPersonal kitty toolset 0.0.3.authoris empty anddisplayAuthoris populated, the column falls back todisplayAuthor.The request page
Not changing what already works
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.
requestNameis 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
display_nameinstead of the internal name in Evaluation. The same change, already accepted and made elsewhere in this console.Confidential information