Skip to content

Conversation

@ComputelessComputer
Copy link
Collaborator

Overview

  • Added Open Graph (OG) images for better social media sharing
  • Improved grid layout for OSS Friends section

Changes

  • Enhanced visual presentation of OSS Friends page
  • Implemented responsive grid design
  • Added metadata for improved social media preview

@netlify
Copy link

netlify bot commented Dec 8, 2025

Deploy Preview for hyprnote ready!

Name Link
🔨 Latest commit 0424831
🔍 Latest deploy log https://app.netlify.com/projects/hyprnote/deploys/693796b04f924400088b5c3d
😎 Deploy Preview https://deploy-preview-2176--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.

@netlify
Copy link

netlify bot commented Dec 8, 2025

Deploy Preview for hyprnote-storybook ready!

Name Link
🔨 Latest commit 0424831
🔍 Latest deploy log https://app.netlify.com/projects/hyprnote-storybook/deploys/693796b06e0a550008cc329e
😎 Deploy Preview https://deploy-preview-2176--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 8, 2025

📝 Walkthrough

Walkthrough

Adds image front-matter to many OSS friends MDX files and updates the oss-friends card layout/classes in apps/web/src/routes/_view/oss-friends.tsx.

Changes

Cohort / File(s) Summary
OSS Friends MDX Metadata
apps/web/content/oss-friends/activepieces.mdx, apps/web/content/oss-friends/aptabase.mdx, apps/web/content/oss-friends/argos.mdx, apps/web/content/oss-friends/bifrost.mdx, apps/web/content/oss-friends/cap.mdx, apps/web/content/oss-friends/classroomio.mdx, apps/web/content/oss-friends/epicenter.mdx, apps/web/content/oss-friends/firecrawl.mdx, apps/web/content/oss-friends/formbricks.mdx, apps/web/content/oss-friends/ghostfolio.mdx, apps/web/content/oss-friends/helicone.mdx, apps/web/content/oss-friends/highlight.mdx, apps/web/content/oss-friends/hook0.mdx, apps/web/content/oss-friends/keephq.mdx, apps/web/content/oss-friends/mastra.mdx, apps/web/content/oss-friends/mockoon.mdx, apps/web/content/oss-friends/onyx.mdx, apps/web/content/oss-friends/openbb.mdx, apps/web/content/oss-friends/requestly.mdx, apps/web/content/oss-friends/rivet.mdx, apps/web/content/oss-friends/rybbit.mdx, apps/web/content/oss-friends/shelf.mdx, apps/web/content/oss-friends/sniffnet.mdx, apps/web/content/oss-friends/tiledesk.mdx, apps/web/content/oss-friends/tolgee.mdx, apps/web/content/oss-friends/trieve.mdx, apps/web/content/oss-friends/typebot.mdx, apps/web/content/oss-friends/voltagent.mdx, apps/web/content/oss-friends/webiny.mdx, apps/web/content/oss-friends/webstudio.mdx, apps/web/content/oss-friends/windmill.mdx
Added or updated image field in each file's YAML front matter (OG/social image URLs); mostly metadata-only changes.
OSS Friends Component
apps/web/src/routes/_view/oss-friends.tsx
Updated card layout/classes: added h-full, shrink-0, object-cover, border-t, flex-1/line-clamp-2, mt-auto for link alignment, and cursor-pointer on Load More button.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

  • Review visual result of updated classes across breakpoints in apps/web/src/routes/_view/oss-friends.tsx.
  • Spot-check a few MDX files for correct front-matter formatting and valid image URLs (escaping/quoting).

Possibly related PRs

Suggested reviewers

  • yujonglee

Pre-merge checks and finishing touches

❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. You can run @coderabbitai generate docstrings to improve docstring coverage.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately summarizes the main changes: adding OG images to OSS Friends files and improving the grid layout in the component file.
Description check ✅ Passed The description clearly relates to the changeset, covering the main changes of adding OG images and improving grid layout with responsive design.
✨ 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 feat/og-images-grid-layout

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

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: 3

📜 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 facd410 and f9cfcf6.

📒 Files selected for processing (32)
  • apps/web/content/oss-friends/activepieces.mdx (1 hunks)
  • apps/web/content/oss-friends/aptabase.mdx (1 hunks)
  • apps/web/content/oss-friends/argos.mdx (1 hunks)
  • apps/web/content/oss-friends/bifrost.mdx (1 hunks)
  • apps/web/content/oss-friends/cap.mdx (1 hunks)
  • apps/web/content/oss-friends/classroomio.mdx (1 hunks)
  • apps/web/content/oss-friends/epicenter.mdx (1 hunks)
  • apps/web/content/oss-friends/firecrawl.mdx (1 hunks)
  • apps/web/content/oss-friends/formbricks.mdx (1 hunks)
  • apps/web/content/oss-friends/ghostfolio.mdx (1 hunks)
  • apps/web/content/oss-friends/helicone.mdx (1 hunks)
  • apps/web/content/oss-friends/highlight.mdx (1 hunks)
  • apps/web/content/oss-friends/hook0.mdx (1 hunks)
  • apps/web/content/oss-friends/keephq.mdx (1 hunks)
  • apps/web/content/oss-friends/mastra.mdx (1 hunks)
  • apps/web/content/oss-friends/mockoon.mdx (1 hunks)
  • apps/web/content/oss-friends/onyx.mdx (1 hunks)
  • apps/web/content/oss-friends/openbb.mdx (1 hunks)
  • apps/web/content/oss-friends/requestly.mdx (1 hunks)
  • apps/web/content/oss-friends/rivet.mdx (1 hunks)
  • apps/web/content/oss-friends/rybbit.mdx (1 hunks)
  • apps/web/content/oss-friends/shelf.mdx (1 hunks)
  • apps/web/content/oss-friends/sniffnet.mdx (1 hunks)
  • apps/web/content/oss-friends/tiledesk.mdx (1 hunks)
  • apps/web/content/oss-friends/tolgee.mdx (1 hunks)
  • apps/web/content/oss-friends/trieve.mdx (1 hunks)
  • apps/web/content/oss-friends/typebot.mdx (1 hunks)
  • apps/web/content/oss-friends/voltagent.mdx (1 hunks)
  • apps/web/content/oss-friends/webiny.mdx (1 hunks)
  • apps/web/content/oss-friends/webstudio.mdx (1 hunks)
  • apps/web/content/oss-friends/windmill.mdx (1 hunks)
  • apps/web/src/routes/_view/oss-friends.tsx (3 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/oss-friends.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: fmt
  • GitHub Check: ci
🔇 Additional comments (26)
apps/web/content/oss-friends/mastra.mdx (1)

6-6: Metadata addition looks good, but verify component integration.

The image field has been added correctly to the front matter. Ensure the component that consumes these MDX files properly reads and uses the image field from the front matter.

apps/web/content/oss-friends/firecrawl.mdx (1)

6-6: Image URL format is appropriate.

The image URL points to a PNG file, which is a web-friendly format for og:image to ensure faster loading times and better quality. Verify that the image dimensions meet Open Graph best practices.

apps/web/content/oss-friends/onyx.mdx (1)

6-6: Verify image dimensions meet OG requirements.

The filename suggests this is a thumbnail image. OG images should have dimensions of at least 1,200 x 630 pixels and keep file size under 8 MB. Verify this image meets those specifications.

apps/web/content/oss-friends/windmill.mdx (1)

6-6: Verify component handles relative image paths correctly.

This file uses a relative path (/api/images/oss-friends/windmill.jpg) while all other OSS Friends files use absolute URLs. Ensure the component that consumes this metadata properly resolves relative paths, or clarify whether this inconsistency is intentional.

apps/web/content/oss-friends/rybbit.mdx (1)

6-6: OG image URL appears well-constructed.

The URL filename explicitly indicates this is an OpenGraph image, suggesting it's been properly prepared. Verify the image meets OG size and format requirements.

apps/web/content/oss-friends/sniffnet.mdx (1)

6-6: Metadata addition is valid.

PNG format and absolute URL are correctly configured. Verify the image endpoint is accessible and meets OG requirements.

apps/web/content/oss-friends/helicone.mdx (1)

6-6: OG image URL is well-structured.

The URL path explicitly indicates this is an open-graph image, suggesting it's been designed for social sharing. Verify accessibility and that dimensions meet OG best practices.

apps/web/content/oss-friends/bifrost.mdx (1)

6-6: Verify image dimensions despite "small" filename suffix.

The filename includes "OG-Image-small," which may indicate non-standard dimensions. Open Graph images should have dimensions of at least 1,200 x 630 pixels. Verify this image meets the recommended specifications.

apps/web/content/oss-friends/argos.mdx (1)

6-6: Review image URL with query parameter.

This image URL includes a query parameter (?opengraph-image.17375fb1.jpg) which appears to be a cache-busting suffix. Verify whether this query string is necessary in the front matter or if it should be stripped, especially if the component processes or sanitizes these URLs.

apps/web/content/oss-friends/formbricks.mdx (1)

6-6: LGTM.

The image URL has been updated to the correct endpoint. This maintains consistency with the external CDN pattern used by most OSS Friends entries.

apps/web/content/oss-friends/trieve.mdx (1)

6-6: Component already handles both image URL patterns correctly.

The oss-friends.tsx component properly manages the image field with a fallback pattern: src={friend.image || "/api/images/hyprnote/default-cover.jpg"} (line 162). It uses the Unpic image library which natively supports both external CDN URLs (like https://cdn.trieve.ai/trieve-og.png) and relative API paths (like /api/images/oss-friends/activepieces.jpg). Missing images gracefully fall back to a default cover image.

apps/web/content/oss-friends/classroomio.mdx (1)

6-6: Metadata addition is clean and follows the OG image pattern.

The image field correctly references an official OG image from ClassroomIO's CDN.

apps/web/content/oss-friends/shelf.mdx (1)

6-6: Metadata addition follows the OG image pattern and uses modern format.

The image field correctly references Shelf.nu's OG image via their CDN using WebP format.

apps/web/content/oss-friends/rivet.mdx (1)

6-6: Metadata addition is clean and uses the project's own domain.

The image field correctly references Rivet's OG image directly from their domain.

apps/web/content/oss-friends/cap.mdx (1)

6-6: Metadata addition is clean and follows standard OG naming convention.

The image field correctly references Cap's OG image with straightforward domain-relative path.

apps/web/content/oss-friends/hook0.mdx (1)

6-6: Path format differs from other OSS Friends entries—verify runtime resolution.

This entry uses a relative API path ("/api/images/oss-friends/hook0.jpg") while all other entries use absolute external URLs. Ensure the component correctly resolves this path and the image exists at that location.

apps/web/content/oss-friends/tiledesk.mdx (1)

6-6: Metadata addition follows the OG image pattern.

The image field correctly references Tiledesk's OG image from their domain with a recently dated asset.

apps/web/content/oss-friends/webiny.mdx (1)

6-6: Metadata addition uses CDN with dynamic sizing.

The image field correctly references Webiny's OG image via CloudFront with a width query parameter for optimization.

apps/web/content/oss-friends/ghostfolio.mdx (1)

6-6: Metadata addition follows the OG image pattern.

The image field correctly references Ghostfolio's cover image from their assets directory.

apps/web/src/routes/_view/oss-friends.tsx (2)

155-155: LGTM! Card layout improvements enhance visual consistency.

The styling changes improve the card layout:

  • h-full ensures consistent card heights across the grid
  • shrink-0 on the image container prevents squashing
  • object-cover maintains proper image aspect ratios
  • border-t adds visual separation between image and content
  • flex-1 and line-clamp-2 ensure descriptions truncate consistently
  • mt-auto properly aligns the GitHub link at the bottom

These changes create better visual hierarchy and consistent spacing.

Also applies to: 160-160, 164-164, 169-169, 179-179, 187-187


201-201: Good UX improvement with cursor-pointer.

Adding cursor-pointer to the Load More button improves user experience by making the interactive element more obvious.

apps/web/content/oss-friends/typebot.mdx (1)

6-6: The image URL is valid and accessible.

The URL returns HTTP 200 with proper image headers (content-type: image/png, content-length: 446185 bytes). The asset is actively served and maintained by Cloudflare, last modified on November 24, 2025. No action is required.

apps/web/content/oss-friends/highlight.mdx (1)

6-6: Image URL is currently accessible and properly configured.

The URL returns HTTP 200 with correct JPEG content-type. The cache headers (cache-control: public,max-age=31536000,immutable) indicate the asset is configured with content-addressed naming, meaning the URL will remain stable for the current content. No action needed.

apps/web/content/oss-friends/keephq.mdx (1)

6-6: Image URL is currently accessible. The image at https://assets-global.website-files.com/651fbba3d2d2f809dffbe9c5/6527e87613838166773cf896_isometric-hero-image.png returns HTTP/2 200. However, Webflow CDN URLs can change if the upstream site is redesigned—consider having a backup or fallback strategy if this image becomes critical to the site's functionality.

apps/web/content/oss-friends/requestly.mdx (1)

6-6: The image URL is valid and publicly accessible. The image loads successfully as a Requestly hero graphic and returns proper HTTP headers. No action required.

apps/web/content/oss-friends/mockoon.mdx (1)

6-6: The image URL is acceptable. Mockoon's website is active and actively maintained with recent GitHub commits (Nov 27, 2025), making this a stable, reliable external resource unlikely to change or become unavailable.

@ComputelessComputer ComputelessComputer force-pushed the feat/og-images-grid-layout branch from f9cfcf6 to 0424831 Compare December 9, 2025 03:25
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 (1)
apps/web/content/oss-friends/bifrost.mdx (1)

6-6: Verify the component consumes the new image field and handle external CDN fragility.

The image front matter is added with an external Webflow CDN URL. While this works, a few concerns:

  1. The component file (apps/web/src/routes/_view/oss-friends.tsx) isn't provided in this review, so I cannot verify it properly reads and uses this field.
  2. External CDN dependencies can break if the Webflow project is removed or restructured. Consider storing critical OG images in your own static asset directory (public/ or equivalent) for resilience.

Please confirm:

  • That the component file is updated to read and render the image field from front matter.
  • Whether all other OSS friends MDX files in this directory have been updated with the same pattern (consistency).
  • If storing images in your own CDN or static directory is feasible, to reduce long-term fragility.
📜 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 f9cfcf6 and 0424831.

📒 Files selected for processing (32)
  • apps/web/content/oss-friends/activepieces.mdx (1 hunks)
  • apps/web/content/oss-friends/aptabase.mdx (1 hunks)
  • apps/web/content/oss-friends/argos.mdx (1 hunks)
  • apps/web/content/oss-friends/bifrost.mdx (1 hunks)
  • apps/web/content/oss-friends/cap.mdx (1 hunks)
  • apps/web/content/oss-friends/classroomio.mdx (1 hunks)
  • apps/web/content/oss-friends/epicenter.mdx (1 hunks)
  • apps/web/content/oss-friends/firecrawl.mdx (1 hunks)
  • apps/web/content/oss-friends/formbricks.mdx (1 hunks)
  • apps/web/content/oss-friends/ghostfolio.mdx (1 hunks)
  • apps/web/content/oss-friends/helicone.mdx (1 hunks)
  • apps/web/content/oss-friends/highlight.mdx (1 hunks)
  • apps/web/content/oss-friends/hook0.mdx (1 hunks)
  • apps/web/content/oss-friends/keephq.mdx (1 hunks)
  • apps/web/content/oss-friends/mastra.mdx (1 hunks)
  • apps/web/content/oss-friends/mockoon.mdx (1 hunks)
  • apps/web/content/oss-friends/onyx.mdx (1 hunks)
  • apps/web/content/oss-friends/openbb.mdx (1 hunks)
  • apps/web/content/oss-friends/requestly.mdx (1 hunks)
  • apps/web/content/oss-friends/rivet.mdx (1 hunks)
  • apps/web/content/oss-friends/rybbit.mdx (1 hunks)
  • apps/web/content/oss-friends/shelf.mdx (1 hunks)
  • apps/web/content/oss-friends/sniffnet.mdx (1 hunks)
  • apps/web/content/oss-friends/tiledesk.mdx (1 hunks)
  • apps/web/content/oss-friends/tolgee.mdx (1 hunks)
  • apps/web/content/oss-friends/trieve.mdx (1 hunks)
  • apps/web/content/oss-friends/typebot.mdx (1 hunks)
  • apps/web/content/oss-friends/voltagent.mdx (1 hunks)
  • apps/web/content/oss-friends/webiny.mdx (1 hunks)
  • apps/web/content/oss-friends/webstudio.mdx (1 hunks)
  • apps/web/content/oss-friends/windmill.mdx (1 hunks)
  • apps/web/src/routes/_view/oss-friends.tsx (3 hunks)
✅ Files skipped from review due to trivial changes (3)
  • apps/web/content/oss-friends/argos.mdx
  • apps/web/content/oss-friends/windmill.mdx
  • apps/web/content/oss-friends/tolgee.mdx
🚧 Files skipped from review as they are similar to previous changes (24)
  • apps/web/content/oss-friends/requestly.mdx
  • apps/web/content/oss-friends/tiledesk.mdx
  • apps/web/content/oss-friends/formbricks.mdx
  • apps/web/content/oss-friends/webiny.mdx
  • apps/web/content/oss-friends/shelf.mdx
  • apps/web/src/routes/_view/oss-friends.tsx
  • apps/web/content/oss-friends/cap.mdx
  • apps/web/content/oss-friends/webstudio.mdx
  • apps/web/content/oss-friends/classroomio.mdx
  • apps/web/content/oss-friends/hook0.mdx
  • apps/web/content/oss-friends/rivet.mdx
  • apps/web/content/oss-friends/aptabase.mdx
  • apps/web/content/oss-friends/firecrawl.mdx
  • apps/web/content/oss-friends/rybbit.mdx
  • apps/web/content/oss-friends/activepieces.mdx
  • apps/web/content/oss-friends/voltagent.mdx
  • apps/web/content/oss-friends/typebot.mdx
  • apps/web/content/oss-friends/onyx.mdx
  • apps/web/content/oss-friends/trieve.mdx
  • apps/web/content/oss-friends/keephq.mdx
  • apps/web/content/oss-friends/sniffnet.mdx
  • apps/web/content/oss-friends/mastra.mdx
  • apps/web/content/oss-friends/mockoon.mdx
  • apps/web/content/oss-friends/openbb.mdx
⏰ 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). (8)
  • GitHub Check: Redirect rules - hyprnote
  • GitHub Check: Header rules - hyprnote
  • GitHub Check: Pages changed - hyprnote
  • GitHub Check: Redirect rules - hyprnote-storybook
  • GitHub Check: Header rules - hyprnote-storybook
  • GitHub Check: Pages changed - hyprnote-storybook
  • GitHub Check: fmt
  • GitHub Check: ci
🔇 Additional comments (4)
apps/web/content/oss-friends/highlight.mdx (1)

6-6: The OG image URL is valid and properly configured.

The image at https://highlight.io/_next/static/media/meta-image.f5d10b7f.jpg is accessible (HTTP 200), correctly served as image/jpeg, and hosted on Vercel's CDN with appropriate caching headers. The YAML syntax is correct, and the change aligns with the PR objectives.

apps/web/content/oss-friends/helicone.mdx (1)

6-6: The image field is properly integrated and accessible.

The front-matter addition is syntactically correct and verified to be working:

  • The image URL is accessible (HTTP 200) with proper PNG format and headers
  • The oss-friends.tsx component reads the field at line 162: src={friend.image || "/api/images/hyprnote/default-cover.jpg"}
  • The component properly renders the image with fallback to a default cover
  • Image size (~1.9MB) is acceptable for Open Graph usage
  • Pattern is consistent with other OSS Friends entries that use external image URLs
apps/web/content/oss-friends/ghostfolio.mdx (1)

6-6: No action required—image field is properly integrated.

The rendering component already consumes the image field with appropriate fallback behavior (line 162 in oss-friends.tsx). The URL domain matches the project's href, and the front matter syntax is consistent with other OSS Friends entries.

apps/web/content/oss-friends/epicenter.mdx (1)

6-6: Image path is correctly configured for Supabase-hosted images.

The /api/images/oss-friends/ path follows the established pattern in the codebase. The API route (apps/web/src/routes/api/images.$.ts) proxies requests to Supabase Storage (https://ijoptyyjrfqwaqhyxkxj.supabase.co/storage/v1/object/public/public_images), so images are not stored locally. The MDX file is consistent with other oss-friends files (aider, chatwoot, drizzle, hoppscotch, pocketbase, tabby, teable, unkey, activepieces, hook0, and others) that use the same API pattern.

@ComputelessComputer ComputelessComputer merged commit a61c890 into main Dec 9, 2025
13 checks passed
@ComputelessComputer ComputelessComputer deleted the feat/og-images-grid-layout branch December 9, 2025 03:47
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