Skip to content

Feat/issue engagement table - #6

Merged
chris-short merged 2 commits into
mainfrom
feat/issue-engagement-table
Aug 12, 2026
Merged

chris-short merged 2 commits into
mainfrom
feat/issue-engagement-table

Conversation

@chris-short

Copy link
Copy Markdown
Owner

No description provided.

chris-short and others added 2 commits August 12, 2026 10:14
Drops the manual column alignment in loadStats and regaps the diskData
struct tags. Whitespace only, so `gofmt -l .` is clean and the CI
formatting check has nothing to flag on future changes.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The Issues tab previously required typing an issue number before it
showed anything. It now leads with a table of the last 10 issues
carrying total clicks, total opens, open rate, and click rate, with the
link breakdown below it. Rows are clickable and highlight the selected
issue in both the table and the overview trend chart.

/api/issues gains date, deliveries, opens, open_rate, and click_rate,
sourced from the analytics endpoint through the existing disk cache the
Trends tab already warms. Analytics failures are best effort: they log
and leave the fields zeroed, and the dashboard renders a dash rather
than a misleading 0% when deliveries is 0.

Issue totals now skip excluded domains via sumIncluded. The summary
counted buttondown.com clicks while the drilldown filtered them, so the
table and the links below it disagreed.

Clicks and click rate deliberately do not divide into each other:
clicks counts every click event, while click rate uses Buttondown's own
per-subscriber figure. A note under the table explains it.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@chris-short
chris-short merged commit d6f86f5 into main Aug 12, 2026
1 check 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