Skip to content

The update prompt has a release-notes block that no release ever fills #69

Description

@vmillet-dev

update-prompt.component.html:12 already renders update.notes, and .update-notes-body (update-prompt.component.scss:45) is already bounded and scrolling, with a comment saying exactly why. None of it has ever been on screen.

latest.json is assembled by hand in release.yml (step "Assembler latest.json") and the manifest it writes is { version, pub_date, platforms }no notes key. So update.body is always undefined, AvailableUpdate.notes with it, and the @if never opens. The markup is dead code that looks like a shipped feature.

Two changes, and the front-end half is the smaller one.

The manifest has to carry the notes

The text already exists at that point in the job: the step above runs scripts/release-notes.mjs extract into $RUNNER_TEMP/release-notes.md, for the GitHub release body. Reading the same file into the manifest's notes is a few lines in the same inline script.

generate_release_notes: true appends the raw PR list, the new contributors and the compare link — but that happens inside action-gh-release and does not touch the extracted file. The manifest would carry the hand-written section alone, which is what we want.

It should not be behind a disclosure

A <details> closed by default means the user installs without reading. Worse, opening it changes the dialog's height: the notes body is bounded at 160 px but the collapsed <details> is a single summary line, so the panel grows under the cursor and moves "Install now" out from under the mouse.

Show it open, at a height that does not depend on the release. The prompt is a fitted dialog (--dialog-width: 460px, no --dialog-height), so it is sized by its content — a fixed-height notes block is precisely what makes the geometry independent of a two-line release versus a forty-line one. The block keeps its overflow-y: auto.

It stays untranslated, and that is consistent

CHANGELOG.md is deliberately untranslated, and so is the "Nouveautés" panel that reads it. A release note in one language beats no release note.

Raw or rendered, to decide

The section is Markdown (## , ### , - ). The <pre> shows it as written, bullets and all — readable, plain, and already there. changelog/model.rs parses that same grammar on the Rust side and "Nouveautés" renders it properly, so reusing that path is possible. The <pre> is the cheap answer and not a wrong one; picking one is part of the ticket.

Done when: the prompt shows the version's notes without a click, a long section scrolls inside a block whose height does not move, and the dialog is the same size whatever the release contains.

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 feature or request

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions