Skip to content

feat(ui): add changelog page and dedicated OG images#301

Merged
kodiakhq[bot] merged 16 commits into
mainfrom
claude/changelog-og-image-it868j
Jul 21, 2026
Merged

feat(ui): add changelog page and dedicated OG images#301
kodiakhq[bot] merged 16 commits into
mainfrom
claude/changelog-og-image-it868j

Conversation

@RedStar071

@RedStar071 RedStar071 commented Jul 16, 2026

Copy link
Copy Markdown
Member

Add a /changelog page that lists the project's GitHub releases (fetched
from ungh.cc) using Nuxt UI's ChangelogVersions/ChangelogVersion with MDC
for release notes, revalidated hourly via ISR. Header nav gains a
Changelog link and the footer link now points to the internal page.

Introduce dedicated Takumi OG image components for blog posts and the
changelog, keeping the WolfStar house style (themed radial gradient +
branding) while adding the publish date and stacked author avatars. Blog
posts without a frontmatter image now use the BlogPost OG template. Both
new components are exempted from the hardcoded-color guardrail, matching
the existing Page OG component.

Co-Authored-By: Claude Opus 4.8 noreply@anthropic.com
Claude-Session: https://claude.ai/code/session_01LJcAGG6gk6ZQFtsYTWL17C


View with Codesmith
Need help on this PR? Tag /codesmith with what you need. Autofix is enabled.

Confidence Score: 5/5

Safe to merge with minimal risk.

The changed code is mostly isolated to UI, routing, metadata, and parsing logic. The new parser, heading ID helper, changelog components, and accessibility paths have tests. No verified functional or security bugs were found in the changed paths.

No files require special attention.

T-Rex T-Rex Logs

What T-Rex did

  • T-Rex ran the requested general contract validation proof for proofIndex 0.
  • The verification completed with a note that local artifact references were not uploaded.

T-Rex Ran code and verified through T-Rex

Reviews (8): Last reviewed commit: "Merge branch 'claude/changelog-og-image-..." | Re-trigger Greptile

@codecov

codecov Bot commented Jul 16, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 78.94737% with 16 lines in your changes missing coverage. Please review.
✅ Project coverage is 71.72%. Comparing base (8718987) to head (b32e40c).
✅ All tests successful. No failed tests found.

Files with missing lines Patch % Lines
app/utils/parse-release-contributors.ts 75.86% 0 Missing and 7 partials ⚠️
app/utils/changelog-heading-ids.ts 70.00% 0 Missing and 6 partials ⚠️
app/pages/(marketing)/blog/[slug].vue 0.00% 2 Missing ⚠️
app/components/changelog/Contributors.vue 83.33% 0 Missing and 1 partial ⚠️
Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##             main     #301      +/-   ##
==========================================
+ Coverage   71.53%   71.72%   +0.18%     
==========================================
  Files         167      171       +4     
  Lines        3302     3377      +75     
  Branches      702      720      +18     
==========================================
+ Hits         2362     2422      +60     
- Misses        447      448       +1     
- Partials      493      507      +14     
Flag Coverage Δ
component 65.91% <55.31%> (-0.19%) ⬇️
unit 67.86% <73.46%> (+0.19%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
app/components/changelog/ContributorMention.vue 100.00% <100.00%> (ø)
app/composables/useFooter.ts 100.00% <ø> (ø)
app/composables/useHeader.ts 88.88% <ø> (ø)
app/utils/format-date-by-locale.ts 100.00% <ø> (ø)
app/utils/marketing-routes.ts 50.00% <ø> (ø)
package.json 100.00% <ø> (ø)
app/components/changelog/Contributors.vue 83.33% <83.33%> (ø)
app/pages/(marketing)/blog/[slug].vue 84.78% <0.00%> (-1.89%) ⬇️
app/utils/changelog-heading-ids.ts 70.00% <70.00%> (ø)
app/utils/parse-release-contributors.ts 75.86% <75.86%> (ø)
🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@RedStar071
RedStar071 force-pushed the claude/changelog-og-image-it868j branch from 4f1e08a to 1b06543 Compare July 16, 2026 21:07
@RedStar071 RedStar071 changed the title feat(changelog): add changelog page and dedicated OG images feat(ui): add changelog page and dedicated OG images Jul 16, 2026
@codspeed-hq

codspeed-hq Bot commented Jul 16, 2026

Copy link
Copy Markdown

Merging this PR will not alter performance

✅ 44 untouched benchmarks


Comparing claude/changelog-og-image-it868j (b32e40c) with main (8718987)

Open in CodSpeed

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 4f1e08ae4b

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +63 to +64
const { data: versions } = await useFetch(
"https://ungh.cc/repos/wolfstar-project/wolfstar.rocks/releases",

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Allow ungh.cc in the connect CSP

On client-side navigation to /changelog, this absolute useFetch runs in the browser, but the global connect-src list in nuxt.config.ts does not permit https://ungh.cc. The browser therefore blocks the release request, and the default: () => [] fallback makes the page incorrectly render “No releases have been published yet”; proxy this request through the app or add the origin to CSP.

Useful? React with 👍 / 👎.

Comment on lines +58 to +61
{
label: "Changelog",
to: "/changelog",
},

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Register the changelog as a marketing route

This new navigation target is absent from MARKETING_PATHS in app/utils/marketing-routes.ts. As a result, classifyNavigation() returns no route type for navigation to /changelog, so the view-transition plugin skips the configured marketing transition (unlike the adjacent /blog route); direct loads also take the eager session-fetch path intended to be deferred for public marketing pages. Add /changelog to that route registry.

Useful? React with 👍 / 👎.

@RedStar071 RedStar071 self-assigned this Jul 16, 2026
claude and others added 4 commits July 18, 2026 11:36
Add a /changelog page that lists the project's GitHub releases (fetched
from ungh.cc) using Nuxt UI's ChangelogVersions/ChangelogVersion with MDC
for release notes, revalidated hourly via ISR. Header nav gains a
Changelog link and the footer link now points to the internal page.

Introduce dedicated Takumi OG image components for blog posts and the
changelog, keeping the WolfStar house style (themed radial gradient +
branding) while adding the publish date and stacked author avatars. Blog
posts without a frontmatter image now use the BlogPost OG template. Both
new components are exempted from the hardcoded-color guardrail, matching
the existing Page OG component.

Claude-Session: https://claude.ai/code/session_01LJcAGG6gk6ZQFtsYTWL17C

Co-authored-by: Codesmith <codesmith-bot@users.noreply.github.com>
Co-authored-by: Codesmith <codesmith-bot@users.noreply.github.com>
Co-authored-by: Codesmith <codesmith-bot@users.noreply.github.com>
…ables

- Added Nuxt Studio module to nuxt.config.ts.
- Updated .env.example to include GitHub OAuth credentials for Nuxt Studio.
- Added nuxt-studio dependency to package.json and pnpm-lock.yaml, specifying version 1.7.0.
@RedStar071
RedStar071 force-pushed the claude/changelog-og-image-it868j branch from 295aaba to 41591e0 Compare July 18, 2026 11:39

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 41591e0aaa

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread nuxt.config.ts Outdated
modules: [
"@nuxt/ui",
"@nuxt/content",
"nuxt-studio",

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Whitelist Nuxt Studio users before enabling it

When production sets the new NUXT_STUDIO_AUTH_GITHUB_CLIENT_ID/SECRET vars, this registers the self-hosted Studio app at /_studio; Nuxt Studio's auth docs say GitHub/GitLab moderator lists are optional and, if empty, all OAuth-authenticated users get Studio access (https://nuxt.studio/auth-providers#access-control-with-moderators). For this public dashboard that exposes a content editor, add/require NUXT_STUDIO_AUTH_GITHUB_MODERATORS or gate the module to trusted environments so random GitHub users can't enter the editor.

Useful? React with 👍 / 👎.

v-for="version in versions"
:key="version.tag"
:title="version.title"
:date="formatDateByLocale('en', version.date)"

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Normalize release dates to UTC before rendering

When a GitHub release is published near UTC midnight, this local-time formatter can render a different day on the UTC SSR host than it does during hydration in US time zones (for example 2026-07-18T00:30:00Z becomes July 18 on the server but July 17 in America/Los_Angeles). Because UChangelogVersion receives that already-localized string and formats it again, /changelog can hydrate with mismatched/wrong dates; format with a fixed timeZone: 'UTC' or provide a preformatted date slot instead.

Useful? React with 👍 / 👎.

RedStar071 and others added 2 commits July 18, 2026 12:00
Co-authored-by: Codesmith <codesmith-bot@users.noreply.github.com>
…ismatch

Co-authored-by: Codesmith <codesmith-bot@users.noreply.github.com>
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

Co-authored-by: Codesmith <codesmith-bot@users.noreply.github.com>
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@RedStar071 RedStar071 added this to the v3 milestone Jul 18, 2026
RedStar071 and others added 2 commits July 18, 2026 15:43
Use the generated BlogPost OG image as og:image for every blog post,
including posts that define a frontmatter image, so social shares get the
branded card with title, date, and authors. The frontmatter image is
still used for the blog listing thumbnails. Future posts inherit this
automatically via the shared [slug] route.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LJcAGG6gk6ZQFtsYTWL17C
Comment thread app/pages/(marketing)/blog/[slug].vue Outdated
RedStar071 and others added 3 commits July 18, 2026 15:01
Co-authored-by: Codesmith <codesmith-bot@users.noreply.github.com>
Co-authored-by: Codesmith <codesmith-bot@users.noreply.github.com>
@blacksmith-sh

This comment has been minimized.

RedStar071 and others added 3 commits July 18, 2026 21:58
Co-authored-by: Codesmith <codesmith-bot@users.noreply.github.com>
Replace the popover badge layout with a three-column stats grid
(commits, on this repo, contributed here) and wrap tooltip tests in UApp.
…r-project/wolfstar.rocks into claude/changelog-og-image-it868j

@lorypelli lorypelli left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This repository has used its 100 free open-source review credits for this billing period. An organization admin can enable additional billed reviews, or reviews resume next period.

@kodiakhq
kodiakhq Bot merged commit 88743ca into main Jul 21, 2026
22 of 24 checks passed
@kodiakhq
kodiakhq Bot deleted the claude/changelog-og-image-it868j branch July 21, 2026 19:09
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.

3 participants