App version prototype
Table of Contents
| Item | Where |
|---|---|
| Prototype | the prototype |
| Group | Compute prototypes |
| Journey | Keep what the grid runs |
1. Summary
A job pins an app version, and the job page links to it. A person who follows that link asks "what is this release, and what changed in it?" The catalogue holds the build and the packages and holds no answer to the second question. This prototype draws the page of one app version with a release note beside the build.
It is throwaway. It reads no service. Open the app version page.
2. Detail
2.1. What it argues
- The release note belongs to the app version. A release is one engine build with one wrapper build, and it is packaged for several platforms. One note describes the release, so it is not stored on each package.
- The note is stored with the bundle. The shell's
compute publish-packageuploads the package and registers the rows. The same call carries the note, so a release and its note are written together and cannot drift apart. - The page reads for every signed-in person and writes for a super administrator. A reader sees the note. A writer also sees a button to edit it. The write controls are withheld from the other roles, as the journey states for the whole catalogue.
- A version with no package is marked. The page says the version is stored and never runs, because the wrapper has nothing to download.
- A release with no note says so, and says who writes it.
2.2. Variants and states
?role=operator|tenant|member, ?state=loaded|loading|empty|error|refused and
?version=newest|older|nopackage. The bar at the foot of the page switches all
three.
| Version | What it shows |
|---|---|
| newest | A note with a summary, changes and known issues. Four packages, one for an inactive platform. |
| older | A shorter note. The same packages. |
| nopackage | No note and no package. The page marks both. |
2.3. What is real and what is not
The app, the version ids and the platform codes follow the development database. The engine versions, the digests, the package names and the release notes are invented.
The Release Note panel is the one exception to the fields-only rule. The app
version model has no such column today. The story Browse and follow the grid's
jobs holds a task that adds a text column named release_note to
app_version, so the page waits for that task. The panel reads two marks in the
stored text: a line that starts with "## " is a heading, and a line that starts
with "- " is an item.
2.4. What is left out
- A mark that says a version is the newest of its app. The model states no flag and no order, and the journey lists that as a gap.
- The jobs that pinned this version, and how many still run it. No aggregate read exists.
- The versions-in-flight matrix and the concurrency panel of the full catalogue screen.
3. See also
- Keep what the grid runs — the journey this prototype answers.
- Follow a job — the page that links here.
- Compute prototypes — the group page.