Repository navigation
feat(architectures): dates, catalog sort, and tag search chips - #1964
Merged
Merged
Conversation
Each architecture record now carries published and updated dates (YYYY-MM-DD, UTC). For records from cncf/architecture, published is the upstream front-matter date and updated is the last upstream commit to the architecture directory at the pinned sourceCommit. Issue-sourced records take them from the issue's created_at and updated_at. Catalog cards show the updated date, and a new sort control orders the catalog alphabetically (default) or by most recently updated. The sort is not a filter: it is not counted as active and Clear filters keeps it. validate:architectures rejects missing, malformed or inverted dates. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Signed-off-by: Bob Killen <bkillen@linuxfoundation.org>
✅ Deploy Preview for endusers ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
A new "Add a tag" select puts tags into the search box as removable chips. Selected tags match any one of them, case-insensitively, and combine with the other filters; Backspace in an empty search box removes the last chip. Typed search now also matches tags, alongside organization, title and summary. Tags are stored with spaces rather than underscores: the shipped records are updated, the issue importer converts them, and validate:architectures rejects an underscore. FilterToolbar gains an optional searchChips prop, and useFilterToolbar counts a list-valued filter as active only while it is non-empty. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Signed-off-by: Bob Killen <bkillen@linuxfoundation.org>
Drop two guards the catalog UI cannot reach (the addTag dedupe, since the tag select lists only unselected tags, and optional chaining on the always-present search input), add a browser test for Backspace removing the last chip, and record the no-chip toolbar arm as span drift. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Signed-off-by: Bob Killen <bkillen@linuxfoundation.org>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Remit: maintainer-requested feature;
/architecturescards show when each architecture was last updated, the catalog can be sorted alphabetically or by most recently updated, and it can be narrowed by tag through chips in the search box.Changes
data/architectures/records/andcatalog.jsongainspublishedandupdated(YYYY-MM-DD, UTC), sourced from cncf/architecture at each record's pinnedsourceCommit:published: the upstream page's front-matterdateupdated: date of the last upstream commit touchingcontent/en/architectures/<id>/publishedfrom the issue'screated_atandupdatedfromupdated_at(falling back tocreated_at); a payload without a validcreated_atis rejected.validate:architecturesrequires both dates to be real calendar dates andupdated >= published.<time>element, using the shared UTCformatDate.FilterToolbar; a select may now omitallLabelto drop the empty "All" option.Kubernetes,kubernetes) are listed once.FilterToolbargains an optionalsearchChipsprop;useFilterToolbarcounts a list-valued filter as active only while it is non-empty.private_cloudis nowprivate cloud) in 5 records and the catalog. The issue importer converts underscores, andvalidate:architecturesrejects them.Validation
npm run test:unit:coverage:check: passes (3678 tests)src/files: score 100% (one equivalent mutant annotated)check:format,check:spelling,check:markdown,check:lint,check:unused,check:duplication,validate:architectures,build:production: all passtests/e2e/interactions.spec.jscover the sort control, adding and clearing tag chips, and Backspace removing the last chip. The full local end-to-end coverage lane passes (419 tests) at the CI thresholds, and ArchitectureFilters, ReferenceArchitectures, FilterToolbar and useFilterToolbar are at 100% source and region coverage. Two guards the UI cannot reach were removed (theaddTagdedupe, since the tag select lists only unselected tags, and optional chaining on the search input focus). The bare-input arm of FilterToolbar is recorded asspan-driftintests/e2e/fixtures/accepted-regions.json: the member and case study toolbars take it in other chunks.