feat(feed): collapse per-rule list into a sync-log summary - #1908
Merged
Conversation
The sync card in the activity feed listed every rule that fired during
a sync ("Rule A applied to 4 · Rule B applied to 3 · ..."), which wraps
across lines and competes with the headline. The sync-log detail page
already shows the full per-rule breakdown, so the feed only needs a
glanceable top-level summary.
Replace the per-rule loop with a single "N rules applied · M hits" line
that links to the sync log where the breakdown already lives.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0171yfKuybbwUxB76UezKc14
canalesb93
enabled auto-merge (squash)
June 24, 2026 03:51
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.
What
The sync card in the activity feed listed every rule that fired during a sync —
Rule A applied to 4 · Rule B applied to 3 · Rule C applied to 2 · …— which wraps across lines and competes with the card's headline. The sync-log detail page already shows the full per-rule breakdown (the "Rule Hits" section), so the feed only needs a glanceable top-level summary.This replaces the per-rule loop with a single line —
N rules applied · M hits— that links straight to the sync log where the breakdown lives.Change
feedSyncBody(internal/templates/components/pages/feed.templ): thes.RuleOutcomesblock is now one<a>linking to/logs/sync-logs/{id}instead of a per-rule list of/rules/{shortID}links.feedRuleSummaryTexthelper sums hit counts and pluralizes ("1 rule applied · 3 hits" vs "3 rules applied · 9 hits").Evidence
Rendered the real
feedSyncBodycomponent with controlled rule-outcome data (the live dev feed only windows the last 3 days, and the only rule-hit syncs are older). Before = the removed per-rule list; After = the new summary.go build ./...,go vet ./internal/templates/..., andgo test ./internal/templates/...all pass.🤖 Generated with Claude Code