Skip to content

Library lesser fixes and the tag model frontend - #213

Merged
manager merged 9 commits into
devfrom
feat/library-lesser-fixes-9-9
Sep 8, 2026
Merged

Library lesser fixes and the tag model frontend#213
manager merged 9 commits into
devfrom
feat/library-lesser-fixes-9-9

Conversation

@manager

@manager manager commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

Six fixes collected on Wolf's batching branch, plus the frontend half of the tag model change.

Fixes:

  • Go back on step 2 of the add-object modal rendered its label white on the paper. The shared Text button variant defaulted to white and each consumer restated the brown, one behind an !important; this button carried an override too weak to win. Fixed at the variant, three restatements removed.
  • The cover's fourth building pointed at AsteroidDestroyer, who owns no library, so it opened nothing. It points at Mary13.
  • Favorites now leads the toolbar's jump pills, matching the order the boards stand in.
  • The uniform sepia/saturate/contrast/brightness/hue pass over library card avatars is gone.
  • An About written as one long unbroken run pushed the library card's right column past the card edge and left the page scrolling sideways.

Tag model frontend (pairs with keepsimple-cms-new #407, deploy the CMS first):

  • A tag is created against the library it belongs to, which the CMS now requires.
  • The tag picker appears on a book and nowhere else.
  • The step-2 sequence lens is removed. It filtered the shelf's reorder grid by a tag while saving the shelf's single order, so it read as editing a tag's sequence and never was.

Gates: tsc clean, eslint clean, yarn check:library PASS.

🤖 Generated with Claude Code

manager and others added 6 commits September 8, 2026 21:27
Go back on step 2 of the add-object modal rendered its label white on the
modal's paper. The shared Text button variant defaulted to white and each
consumer restated the brown, one of them behind an `!important`; this button
carried an override too weak to win against `.button.text`. The variant now
carries the brown every surface it sits on asks for, and the three restatements
are gone.

The cover's fourth building pointed at AsteroidDestroyer, who owns no library,
so it opened nothing. It points at Mary13, whose library the anonymous list
returns.

Favorites now leads the toolbar's jump pills, matching the order the boards
stand in on the page. It leaves the row on the same condition it leaves the
page, so a search still counts its matches over the searched shelves only.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Carries the existing tag-to-object links onto the many-to-many relation, gives
every tag the library its owner keeps, starts each tag's sequence, and drops
the leftover global unique index on the tag name if Strapi leaves it behind.
Idempotent and read-only by default; a production apply needs the owner's word.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
The uniform sepia, saturation, contrast, brightness and hue pass over every
avatar on the Libraries page is gone, so a photo shows as its owner uploaded it.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
An About written as one long run of characters pushed the card's right column
past the card's own edge, took the content counts with it and left the page
scrolling sideways. The blurb now breaks mid-run, and the column is allowed to
shrink to the width it is given instead of standing at its widest word.

The cover card and the info panel already had this; the Libraries card was the
last surface without it.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Tags label books, so an older link to a video or an audio is left behind
rather than carried into a model with no place to draw it. Production holds
none; staging holds four, all test data.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Follows the CMS change. A tag is created against the library it belongs to,
which the CMS requires and checks the caller owns. The tag picker appears on a
book and nowhere else.

The old sequence lens in step 2 is gone. It filtered the shelf's reorder grid
by a tag while still saving the shelf's single order, so it read as editing a
tag's sequence and never was. The tag's own order is set by dragging in the
filtered shelf on the library page. Its plumbing is removed with it rather
than left behind.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@github-actions

github-actions Bot commented Sep 8, 2026

Copy link
Copy Markdown

Claude encountered an error —— View job


I'll analyze this and get back to you.

1 similar comment
@github-actions

github-actions Bot commented Sep 8, 2026

Copy link
Copy Markdown

Claude encountered an error —— View job


I'll analyze this and get back to you.

The picker is hidden on a video and an audio, but the field was still built
from whatever the object was carrying. An older video that still held tags
would have gone on sending them and the CMS, which now refuses tags on
anything but a book, would have made it unsaveable.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@github-actions

github-actions Bot commented Sep 8, 2026

Copy link
Copy Markdown

Claude encountered an error —— View job


I'll analyze this and get back to you.

Two faults, both found by running it against the live staging CMS rather than
reading it.

Strapi drops the old link table when the relation changes: after the staging
rollout `tags_object_links` was simply gone, and with it every tag-to-book
link. Production holds four. So the links are copied into a snapshot table
before the CMS is deployed and read back from it after, and the script says so
at the top.

Giving a tag its library was bundled into the same statement as the carry-over,
so on an environment with nothing to carry the whole block was skipped and
every tag silently kept no library. The two steps are now independent.

The lever takes its write flag before the statement, not after. Passing it
after left the session read-only, so the writes vanished without an error.

The probe that proved the model on staging is kept beside the script.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@github-actions

github-actions Bot commented Sep 8, 2026

Copy link
Copy Markdown

Claude encountered an error —— View job


I'll analyze this and get back to you.

The create handler bailed quietly when it had no account or no library to
create against, and the modal reads a quiet resolve as a saved tag: it showed
the success card for a tag that was never written. It reports the failure now.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@github-actions

github-actions Bot commented Sep 8, 2026

Copy link
Copy Markdown

Claude encountered an error —— View job


I'll analyze this and get back to you.

@manager
manager merged commit 5e3f96c into dev Sep 8, 2026
1 of 2 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