From 580c0d0c80c8a50bb589922dc1597a5b2b20d23e Mon Sep 17 00:00:00 2001 From: cproudlock Date: Wed, 26 Aug 2026 13:13:41 -0400 Subject: [PATCH] Record the tab title and Guides packaging fixes in the changelog --- CHANGELOG.md | 18 ++++++++++++++++++ docs/PROJECT-MAP.md | 6 ++++-- 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f4a773bf..ca64bf69 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -90,6 +90,24 @@ ADR-007 and ADR-002. ### Fixed +- **Every detail page had the same browser tab title.** A machine, a PC and a + printer all read "West Jefferson ShopDB - Machine" or the equivalent, so two + tabs on two different records were indistinguishable, a bookmark said nothing + about what it pointed at, and a link shared into Teams previewed as the + section rather than the thing. Detail pages now name the record: machines, + PCs, printers, network devices, subnets, measuring tools, USB devices, + printed parts, applications, employees, knowledge base articles and guides. + A record with no usable name, or one that failed to load, keeps the section + name, and a long name is cut at a word boundary. Report pages gained proper + titles too, which also fixes "Pc Relationships". + +- **Guides would have been dropped at provisioning.** The plugin was missing + from `deploy/site-profile-universal.json`, the profile the released Windows + installer is built from, so the wizard would not have offered it and + `flask plugin prune-schema` drops the tables of any plugin absent from the + profile (ADR-014). Its model also imported core directly rather than through + `shopdb.api`, which the contract test catches. + - **The shipped catalog offered two ways to spell the same vendor, and one row that should never have left a test.** `HP Inc.` and `Zebra Technologies` were empty rows duplicating `HP` and `Zebra`, which carry every model between diff --git a/docs/PROJECT-MAP.md b/docs/PROJECT-MAP.md index 92fde5da..96e5bc10 100644 --- a/docs/PROJECT-MAP.md +++ b/docs/PROJECT-MAP.md @@ -28,6 +28,7 @@ with `flask plugin upgrade-all`. Both are needed on a deploy. | computers | `computers0001anchor` | | employees | `employees0002photo` | | geenforce | `geenforce0004minlib` | +| guides | `guides0001baseline` | | knowledgebase | `knowledgebase0001anchor` | | machines | `machines0002rename` | | measuringtools | `measuringtools0001baseline` | @@ -40,7 +41,7 @@ with `flask plugin upgrade-all`. Both are needed on a deploy. | usb | `usb0002dropmachineid` | | warranty | `warranty0002proof` | -## Bundled plugins (15) +## Bundled plugins (16) | plugin | version | core_version | owns migrations | |---|---|---|---| @@ -48,6 +49,7 @@ with `flask plugin upgrade-all`. Both are needed on a deploy. | computers | 1.0.0 | >=0.20.0,<1.0.0 | yes | | employees | 1.0.0 | >=0.1.0,<1.0.0 | yes | | geenforce | 0.1.0 | >=0.18.0,<1.0.0 | yes | +| guides | 1.0.0 | >=0.1.0,<1.0.0 | yes | | knowledgebase | 1.0.0 | >=0.1.0,<1.0.0 | yes | | machines | 1.0.0 | >=0.20.0,<1.0.0 | yes | | measuringtools | 1.0.0 | >=0.20.0,<1.0.0 | yes | @@ -86,6 +88,6 @@ Manifest-less directories under `plugins/` are core frontend surface and always ## Size -- test functions defined: **1256** (parametrised cases collect higher) +- test functions defined: **1305** (parametrised cases collect higher) - documented API paths: **285** (`docs/openapi.json`, regenerate with `scripts/gen_openapi.py`)