feat: add tags to all resources; feature flag to view tags as folders#9283
Draft
feat: add tags to all resources; feature flag to view tags as folders#9283
Conversation
…anization - Add `tags` field to ExploreSpec and CanvasSpec protos and parsers - Render tag chips on each dashboard row in the project dashboards list - Add a tags filter dropdown to the left of search (OR semantics) on the project home page Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Tag filter is now stored in the `tags` query param (comma-separated), so the selection is shareable and survives navigating into a dashboard and back. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
…zation When `tagAsFolders` is enabled in rill.yaml: - Dashboard list groups into collapsible tag folders; dashboards with multiple tags appear under each folder; untagged dashboards get an "Untagged" section - Navigating into a dashboard from a folder carries ?tags=<tag> so back- navigation returns to the same folder context - Breadcrumb gains a tag segment (> Tag > Dashboard) derived from the active ?tags= URL param; clicking it returns to the filtered list Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
…order - Tags dropdown is hidden when tagAsFolders is on (folders replace it) - All tag folders share a single parent border+rounded container with divide-y separators instead of each folder having its own border Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
The folder header already shows the tag, so the chips on each row are redundant. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
…s is on - Add depth:2 to visualization PathOptions so the tag segment in the breadcrumb does not leak into the dashboard URL path - Hide tag pills in the composite cell whenever tagAsFolders is enabled, covering both the flat/home preview list and the folder grouped view Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…te syncs The explore URL state system was replacing redirectUrl.search entirely when syncing state, which stripped any non-explore params like ?tags= used for folder breadcrumb context. Now unknown params are carried over when the URL is replaced. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Derive active tag from URL param, else the dashboard's primary tag, else "not-tagged" so the folder breadcrumb is always present on dashboard pages
- Render tag-level dropdown with per-tag submenus of dashboards ("^" lists tags, ">" expands to its dashboards)
- Sort dashboard-level dropdown by tag with group headers
- Use "not-tagged" as the untagged folder/URL key and handle it as a virtual tag in the list filter
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
When a tag folder is active, the dashboard-level dropdown now lists only dashboards in that tag (instead of all dashboards grouped by every tag). Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
begelundmuller
requested changes
Apr 23, 2026
Contributor
begelundmuller
left a comment
There was a problem hiding this comment.
Do you think we will want to add tags to other resources in future? I'm wondering if we should make it a generic resource property (i.e. parse it generically for all YAML resources and store it in the ResourceMeta proto type)
Contributor
There was a problem hiding this comment.
Handling is missing in the code for unified metrics and explores in parse_metrics_view.go
Contributor
Author
i would love that! this was more a poc than anything but if it looks good i can move forward with implementation of tags on all resources ;) |
…-dashboard-organization # Conflicts: # web-admin/src/features/projects/status/resource-table/ProjectResources.svelte # web-admin/src/features/projects/status/tables/ProjectTables.svelte
Svelte couldn't resolve the dependency through the conditional spread, so `filterGroups` ran with `availableTags` undefined and threw on `.length`, crashing the component during hydration (SSR is disabled on this page, so the crash produced a blank render).
…-dashboard-organization
The merge of main left two `onFilterChange` definitions in the file — the existing one (line 147, handles `type` and `tags`) and a partial new one main introduced (line 191, only `type`). Drop the partial duplicate; the existing handler already covers both keys. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
- Display the untagged virtual group as "Not Tagged" in the dashboard folder header and the breadcrumb dropdown. Add a sibling `UNTAGGED_LABEL` constant alongside `UNTAGGED_KEY`; the kebab-case key still flows through URLs / state / map keys, while the human-readable label only surfaces at the two display sites (`DashboardsTagFolder`, `ProjectHeader`). - Add the `tags?: string[]` field to `V1ResourceMeta` in the Orval-generated `index.schemas.ts`. The proto and swagger already declare the field, but `index.schemas.ts` is not part of `make proto.generate` so it had not picked up this branch's new field, breaking svelte-check on `DashboardsTable.svelte`. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
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.
https://rilldata.slack.com/archives/C01A9DYP013/p1776880953322839
https://www.loom.com/share/659cd4592c4b466b8c1f2be3cbbf34c6
tagsfield to all meta, for all resourcesAs designed here: https://www.figma.com/design/JtG3sbaopjO0xQlyeCjmho/RILL-WIP?node-id=6861-325995&m=dev
Needs:
#9173 (done)
Checklist: