← gitpulse
Merged
Size
M
Change Breakdown
Bug Fix60%
Refactoring30%
Maintenance10%
#22fix: populate first-release editions and simplify URL

First-release editions now populate correctly, URLs simplified

GitPulse's first release now renders with actual content instead of blank pages, while release URLs are trimmed from unwieldy multi-segment paths to clean tag-only slugs.

When v0.1.0 was deployed, the release page came up empty. The stat bar, top stories, and changelog were all absent — only the AI-generated quip survived. The root cause was a short-circuit in the release processing logic: when no predecessor release existed (meaning this was the first release on the repo), the code returned an empty SHA list, so no PRs were matched and nothing was populated.

A new function walks the full git history reachable from the release tag instead. The first release now spans every commit since the repo's beginning, giving the matching logic real data to work with and regenerating the quip with actual PR context. The shell invocation uses spawnSync with an args array rather than execSync with string interpolation, guarding against tag names containing shell metacharacters. Failures are now surfaced in deploy logs via console.warn rather than silently producing empty editions.

Separately, release URLs were collapsed from /releases/tag/<tag>/<slug>/ to /releases/<tag>/. The /tag/ infix and trailing slug segment added no SEO value — tags are already stable, distinctive identifiers. The old URL path persists as a meta-refresh redirect to preserve bookmarks.

The changes live in the action package (where git history is analyzed) and the site package (where routing and page rendering happen).