Skip to content

content: kit codes on every kit list, model covers on every surface, and a reset screen that says nothing - #254

Merged
carlosvirreira merged 1 commit into
mainfrom
content-update/kit-codes-model-images-and-password-reset
Aug 24, 2026
Merged

carlosvirreira merged 1 commit into
mainfrom
content-update/kit-codes-model-images-and-password-reset

Conversation

@carlosvirreira

Copy link
Copy Markdown
Contributor

Triggered by

  • shelf.nu #2903: feat(kits): show the code chip on every kit-listing surface — View PR
  • shelf.nu #2914: fix(assets): render inherited model cover images on every asset surface — View PR
  • shelf.nu #2916: fix(security): stop account enumeration and the deletion-email relay — View PR
  • shelf.nu #2871: fix(calendar): show an overdue booking in red, like everywhere else — View PR

Content changes

Factual corrections

  • content/glossary/asset-models.mdx and content/updates/one-cover-image-for-a-whole-asset-model.mdx — both pages have been over-claiming since 2026-08-12. Each said the model cover image "shows everywhere the asset does", and named booking and kit lists. #2914's sweep found seven surfaces where an inheriting asset rendered the placeholder instead: the booking overview, the home dashboard's newest assets, both scan pages, the QR and barcode scanned-item endpoints, and Quick find. That is now true, so the vague claim is replaced with the surfaces named one by one, plus the one place it still does not reach (an asset list embedded in a note, whose payload carries no model data).
  • content/knowledge-base/asset-identifiers-qr-id-sam-id-property-id.mdx — the "Where chips appear" list named /kits and the kit detail asset list and stopped there. Five further kit surfaces now render the chip. The whole list was reconciled against the AssetCodeBadge call sites rather than only the delta, so a location's Assets tab, the booking assets sidebar and the kit group header are named too.
  • content/features/calendar.mdx — the colour list read "reserved, checked out, available, or overdue". Available is not a booking status. Replaced with the five real ones and their colours, read from the switch in app/utils/calendar.ts: Reserved blue, Ongoing purple, Overdue red, Complete green, Draft/Cancelled/Archived grey. #2871 is what makes Overdue red rather than amber.

Content enhancements

  • content/knowledge-base/asset-identifiers-qr-id-sam-id-property-id.mdx — new "Kits do not have a SAM ID" section. The article offered SAM ID as a workspace-wide setting without ever saying it is asset-only, so a workspace that picks it sees a QR fallback on every kit row with no explanation. #2903 rewrote that tooltip for the same reason: it used to say "Add one (or change the workspace setting) to fix", which is an instruction nobody can follow, because Kit has no sequentialId column and no UI to set one. The section says what the reader should actually do (prefer QR Code ID if you want kits and assets to read alike) and notes that the per-asset override has the same boundary.
  • content/knowledge-base/how-to-reset-your-password-in-shelf.mdx — new section on why the screen looks identical whether or not a code was sent, and the two reasons one never arrives (no account on that address; the account signs in through SSO and has no Shelf password). Before #2916 the page answered three different ways and told an attacker which addresses were registered and which were federated.

New content

  • content/updates/kit-codes-on-every-kit-list.mdx — changelog entry for #2903, covering the five surfaces and the tooltip correction.

Review notes

Read from source, not from PR bodies. #2916's description says the domain-level "use SSO instead" answer was kept. The merged forgot-password.tsx has no checkDomainSSOStatus call at all, and no static SSO copy in the form either — its comment says such a hint "belongs in the page as static copy", which is a description of what someone could add, not of what shipped. The KB is written against the shipped file: every address gets the same "we've sent a 6-digit code" screen, and the SSO case is something the reader has to be told here because the app does not tell them. If a static hint later lands on that page, this section should be trimmed.

Screenshot. One new image, kit-code-chip-location.webp, captured live and inspected before committing. kit-code-chips.mjs asserts that every kit row on the Kits tab carries a code before it shoots, so a loader regression throws instead of publishing a caption the image does not support. Not registered in run.mjs: three article scripts on the open #244 branch are unregistered for the same reason, and adding an entry on main would break run.mjs all on a missing file. Run it directly with node scripts/media-pipeline/articles/kit-code-chips.mjs.

No changelog entry for #2914, deliberately. The capability was announced on 2026-08-12 in one-cover-image-for-a-whole-asset-model.mdx, naming surfaces that did not work. A second entry would be announcing our own bug rather than a change. Correcting the original entry so /updates is true seemed the honest move instead. Say the word if you would rather have the entry, since a customer reported this one.

No changelog entry for #2916 or #2871. #2916 is a security hardening whose only user-visible effect is a screen that reveals less, and #2871 is a colour that was wrong on one surface. Both are below the bar; the KB and the feature page carry them.

Impact scope

  • End users affected: anyone matching a physical kit label to a screen, anyone whose fleet inherits its photo from an asset model, anyone who cannot get a reset code and does not know why
  • Prospects affected: readers of /features/calendar and /glossary/asset-models, both of which were making claims the product did not fully support
  • Pages modified: 5
  • Pages created: 1
  • Pipeline scripts added: 1

Generated by Shelf Content Intelligence — PR→Website Sync

…and a reset screen that says nothing

- asset-identifiers-qr-id-sam-id-property-id.mdx: the "Where chips appear"
  list was missing five kit surfaces that shelf.nu #2903 filled in, and the
  article never said SAM IDs are asset-only. A workspace preferring SAM ID
  sees a QR fallback on every kit row, and the tooltip now names that as a
  product boundary rather than telling the reader to add one.
- glossary/asset-models.mdx and updates/one-cover-image-for-a-whole-asset-model.mdx:
  both promised the model cover image "shows everywhere the asset does" since
  2026-08-12. Seven surfaces did not, until shelf.nu #2914. The surfaces are
  now named individually, along with the one place it still does not reach.
- how-to-reset-your-password-in-shelf.mdx: shelf.nu #2916 makes the forgot
  password screen answer every address identically. Explains why, and the two
  reasons a code never arrives.
- features/calendar.mdx: shelf.nu #2871 makes an overdue booking red on the
  calendar, matching every other surface. The colour list also named
  "available", which is not a booking status.
- scripts/media-pipeline/articles/kit-code-chips.mjs: read-only capture that
  asserts every kit row carries a code before shooting.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Aug 24, 2026 •

Copy link
Copy Markdown

Warning

Review limit reached

Next included review available in 20 minutes.

View limit details

Limit details: You’ve used the included review currently available.

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Learn how review limits work.

Review configuration:

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 36ad4241-f168-468a-a716-ea7566194d02

📥 Commits

Reviewing files that changed from the base of the PR and between 1e183ca and 724dc30.

📒 Files selected for processing (7)
  • content/features/calendar.mdx
  • content/glossary/asset-models.mdx
  • content/knowledge-base/asset-identifiers-qr-id-sam-id-property-id.mdx
  • content/knowledge-base/how-to-reset-your-password-in-shelf.mdx
  • content/updates/kit-codes-on-every-kit-list.mdx
  • content/updates/one-cover-image-for-a-whole-asset-model.mdx
  • scripts/media-pipeline/articles/kit-code-chips.mjs

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions

Copy link
Copy Markdown

Preview deployment

https://71ca896f.shelf-nu.pages.dev

@carlosvirreira

Copy link
Copy Markdown
Contributor Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Aug 24, 2026 •

Copy link
Copy Markdown
⚠️ Action not completed

Review rate limited.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@carlosvirreira
carlosvirreira merged commit ff9bf83 into main Aug 24, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant