Skip to content

Conversation

@ComputelessComputer
Copy link
Collaborator

@ComputelessComputer ComputelessComputer commented Dec 1, 2025

Summary

Updates meta titles across the web app to follow a consistent format: "Page Title - Hyprnote [Section]". This affects templates, docs, blog, and changelog pages.

Changes by section:

  • Templates: "Meeting Templates - Hyprnote Templates" and "${template.title} - Hyprnote Templates"
  • Docs: "${doc.title} - Hyprnote Documentation"
  • Blog: "Blog - Hyprnote Blog" and "${article.title} - Hyprnote Blog"
  • Changelog: Added missing head function with "Changelog - Hyprnote Changelog" and "Version ${version} - Hyprnote Changelog"

Also updates corresponding og:title and twitter:title meta tags for consistency.

Review & Testing Checklist for Human

  • Verify the index page titles aren't too redundant - titles like "Blog - Hyprnote Blog" and "Changelog - Hyprnote Changelog" repeat the section name. Confirm this matches the intended format or if index pages should use something like "Hyprnote Blog" instead.
  • Test meta titles in browser - visit each page type (templates index, template detail, docs, blog index, blog post, changelog index, changelog version) and verify the browser tab shows the correct title
  • Check social sharing previews - test that og:title appears correctly when sharing links on social platforms

Recommended test plan: Deploy to preview environment and manually check browser tabs on:

  1. /templates and /templates/[any-slug]
  2. /docs/[any-slug]
  3. /blog and /blog/[any-slug]
  4. /changelog and /changelog/[any-slug]

Notes

…g pages

- Templates: 'Meeting Templates - Hyprnote Templates'
- Docs: '{title} - Hyprnote Documentation'
- Blog: '{title} - Hyprnote Blog'
- Changelog: '{title} - Hyprnote Changelog'

Co-Authored-By: john@hyprnote.com <john@hyprnote.com>
@devin-ai-integration
Copy link
Contributor

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR that start with 'DevinAI' or '@devin'.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment and CI monitoring

@netlify
Copy link

netlify bot commented Dec 1, 2025

Deploy Preview for hyprnote-storybook ready!

Name Link
🔨 Latest commit 7399071
🔍 Latest deploy log https://app.netlify.com/projects/hyprnote-storybook/deploys/692ce1e380b6ca0008092303
😎 Deploy Preview https://deploy-preview-2020--hyprnote-storybook.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Dec 1, 2025

📝 Walkthrough

Walkthrough

This PR updates SEO metadata titles across multiple route files (blog, changelog, docs, templates) by standardizing their format and appending appropriate section identifiers to improve search engine optimization and social media sharing.

Changes

Cohort / File(s) Summary
Blog routes
apps/web/src/routes/_view/blog/$slug.tsx, apps/web/src/routes/_view/blog/index.tsx
Appended " - Hyprnote Blog" to article and blog index titles (title, og:title, twitter:title meta tags) for consistent SEO branding.
Changelog routes
apps/web/src/routes/_view/changelog/$slug.tsx, apps/web/src/routes/_view/changelog/index.tsx
Reversed title order on changelog detail page to "Version {version} - Hyprnote Changelog" and added head() property with SEO metadata (title, description, og:title, og:description) to changelog index.
Docs routes
apps/web/src/routes/_view/docs/$.tsx
Appended " - Hyprnote Documentation" to documentation page titles (title, og:title, twitter:title meta tags).
Templates routes
apps/web/src/routes/_view/templates/$slug.tsx, apps/web/src/routes/_view/templates/index.tsx
Updated template titles from "Meeting Template(s) - Hyprnote" to "Hyprnote Templates" format in title and og:title meta tags.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~5 minutes

All changes are cosmetic, metadata-only updates with consistent patterns across files. No logic modifications, control flow changes, or behavioral alterations detected.

Possibly related PRs

Suggested reviewers

  • yujonglee

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and specifically describes the main changes: updating meta titles across templates, docs, blog, and changelog pages.
Description check ✅ Passed The description provides detailed information about the changes, including specific examples of how titles were updated for each section and includes a testing checklist.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch devin/1764548490-meta-titles

Comment @coderabbitai help to get the list of available commands and usage tips.

@netlify
Copy link

netlify bot commented Dec 1, 2025

Deploy Preview for hyprnote ready!

Name Link
🔨 Latest commit 7399071
🔍 Latest deploy log https://app.netlify.com/projects/hyprnote/deploys/692ce1e3692407000852b42f
😎 Deploy Preview https://deploy-preview-2020--hyprnote.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

🧹 Nitpick comments (2)
apps/web/src/routes/_view/templates/$slug.tsx (1)

27-45: Consider aligning OG/Twitter titles with the new page title suffix

You updated the document title to ${template.title} - Hyprnote Templates, but og:title and twitter:title still use ${template.title} - Meeting Template. If the goal is consistent branding across all title-like tags, consider updating those too:

-        {
-          property: "og:title",
-          content: `${template.title} - Meeting Template`,
-        },
+        {
+          property: "og:title",
+          content: `${template.title} - Hyprnote Templates`,
+        },
@@
-        {
-          name: "twitter:title",
-          content: `${template.title} - Meeting Template`,
-        },
+        {
+          name: "twitter:title",
+          content: `${template.title} - Hyprnote Templates`,
+        },

If you intentionally want different strings for page vs. social titles, a short comment explaining that would help future maintainers.

apps/web/src/routes/_view/changelog/index.tsx (1)

14-29: Changelog index head metadata added; optional naming tweak

The new head block wires up sensible defaults (title, description, og tags) and matches patterns used by other index routes. Implementation looks correct.

If you want slightly less repetition, you could optionally shorten the title to something like "Hyprnote Changelog" while keeping the rest as is, but that’s purely a branding choice, not a code issue.

📜 Review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between f05f5be and 7399071.

📒 Files selected for processing (7)
  • apps/web/src/routes/_view/blog/$slug.tsx (1 hunks)
  • apps/web/src/routes/_view/blog/index.tsx (1 hunks)
  • apps/web/src/routes/_view/changelog/$slug.tsx (1 hunks)
  • apps/web/src/routes/_view/changelog/index.tsx (1 hunks)
  • apps/web/src/routes/_view/docs/$.tsx (1 hunks)
  • apps/web/src/routes/_view/templates/$slug.tsx (1 hunks)
  • apps/web/src/routes/_view/templates/index.tsx (1 hunks)
🧰 Additional context used
📓 Path-based instructions (1)
**/*.{ts,tsx}

📄 CodeRabbit inference engine (AGENTS.md)

**/*.{ts,tsx}: Avoid creating a bunch of types/interfaces if they are not shared. Especially for function props, just inline them instead.
Never do manual state management for form/mutation. Use useForm (from tanstack-form) and useQuery/useMutation (from tanstack-query) instead for 99% of cases. Avoid patterns like setError.
If there are many classNames with conditional logic, use cn (import from @hypr/utils). It is similar to clsx. Always pass an array and split by logical grouping.
Use motion/react instead of framer-motion.

Files:

  • apps/web/src/routes/_view/templates/index.tsx
  • apps/web/src/routes/_view/blog/$slug.tsx
  • apps/web/src/routes/_view/templates/$slug.tsx
  • apps/web/src/routes/_view/changelog/index.tsx
  • apps/web/src/routes/_view/changelog/$slug.tsx
  • apps/web/src/routes/_view/blog/index.tsx
  • apps/web/src/routes/_view/docs/$.tsx
🧠 Learnings (2)
📚 Learning: 2025-11-24T16:32:29.314Z
Learnt from: CR
Repo: fastrepl/hyprnote PR: 0
File: apps/web/content/changelog/AGENTS.md:0-0
Timestamp: 2025-11-24T16:32:29.314Z
Learning: Applies to apps/web/content/changelog/** : Only keep desktop-related changes when maintaining changelog entries from commits and diffs

Applied to files:

  • apps/web/src/routes/_view/changelog/$slug.tsx
📚 Learning: 2025-11-24T16:32:30.770Z
Learnt from: CR
Repo: fastrepl/hyprnote PR: 0
File: apps/web/content/changelog/AGENTS.md:0-0
Timestamp: 2025-11-24T16:32:30.770Z
Learning: Applies to apps/web/content/changelog/** : Only include desktop-related changes in the changelog when reading through commits and diffs

Applied to files:

  • apps/web/src/routes/_view/changelog/$slug.tsx
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (5)
  • GitHub Check: Redirect rules - hyprnote
  • GitHub Check: Header rules - hyprnote
  • GitHub Check: Pages changed - hyprnote
  • GitHub Check: ci (macos, macos-14)
  • GitHub Check: fmt
🔇 Additional comments (5)
apps/web/src/routes/_view/blog/index.tsx (1)

37-45: Blog index meta title suffix looks good and consistent

The updated title and og:title to "Blog - Hyprnote Blog" align with the new branding pattern and with the post page metadata. No issues spotted.

apps/web/src/routes/_view/templates/index.tsx (1)

24-36: Templates index meta titles updated consistently

The title and og:title now use "Meeting Templates - Hyprnote Templates", which matches the new naming scheme and keeps index metadata consistent with the rest of the app.

apps/web/src/routes/_view/blog/$slug.tsx (1)

58-70: Post-level meta titles now consistently use “ - Hyprnote Blog”

title, og:title, and twitter:title all now append " - Hyprnote Blog", which matches the index page and gives consistent SEO/social titles. Looks good.

apps/web/src/routes/_view/docs/$.tsx (1)

51-69: Docs metadata titles correctly standardized

title, og:title, and twitter:title now consistently use ${doc.title} - Hyprnote Documentation, with descriptions unchanged. This cleanly aligns docs pages with the new SEO pattern.

apps/web/src/routes/_view/changelog/$slug.tsx (1)

63-83: Version page title reordered for clearer SEO

Computing title as Version ${changelog.version} - Hyprnote Changelog improves scanability (version first) and keeps all downstream meta tags (og/twitter) in sync via the shared title variable. No issues.

@argos-ci
Copy link

argos-ci bot commented Dec 1, 2025

The latest updates on your projects. Learn more about Argos notifications ↗︎

Build Status Details Updated (UTC)
web (Inspect) ⚠️ Changes detected (Review) 3 changed Dec 1, 2025, 12:35 AM

@ComputelessComputer ComputelessComputer merged commit a776f6d into main Dec 1, 2025
15 of 16 checks passed
@ComputelessComputer ComputelessComputer deleted the devin/1764548490-meta-titles branch December 1, 2025 01:25
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.

2 participants