Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
2 Skipped Deployments
|
Codecov Report❌ Patch coverage is
📢 Thoughts on this report? Let us know! |
|
Note Reviews pausedIt looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the Use the following commands to manage reviews:
Use the checkboxes below for quick actions:
📝 WalkthroughWalkthroughAdded a new release blog page at Possibly related PRs
Suggested reviewers
🚥 Pre-merge checks | ✅ 1✅ Passed checks (1 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
There was a problem hiding this comment.
Actionable comments posted: 4
🧹 Nitpick comments (1)
app/pages/blog/release/0.8.md (1)
57-63: Consider clarifying what "noodles" refers to.The section introduces "noodles" but doesn't clearly explain what it is. Readers may be confused about whether it's a feature, a campaign, or something else. Consider adding a brief explanation or rephrasing to make it clearer (e.g., "we decided to launch a new easter egg called 'noodles'" or similar).
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: a28ea76f-07e7-4e2e-95bf-d27f4a961cd2
📒 Files selected for processing (1)
app/pages/blog/release/0.8.md
There was a problem hiding this comment.
Actionable comments posted: 2
♻️ Duplicate comments (2)
app/pages/blog/release/0.8.md (2)
15-15:⚠️ Potential issue | 🟠 MajorDo not publish with unresolved placeholders while
draft: false.With
draft: falseon Line 15, the TODO/placeholder content on Lines 26, 37, 43, 55, and 67 will ship as-is. Either complete these sections or switch back to draft before merge.📝 Minimal safety fix
-draft: false +draft: trueAlso applies to: 26-26, 37-37, 43-43, 55-55, 67-67
53-53:⚠️ Potential issue | 🟡 MinorFix the remaining grammar issues in user-facing copy.
- Line 53: “to thanks” → “to thank”
- Line 71: missing “in” and redundant “about”
📝 Proposed fix
-There is a lot to unpack, a lot of potential for collaborating with other atproto projects on shared lexicons and cross-linking between our websites. We’d like to thanks the organizers and the community at large once more for the warm welcome, and for inviting us to present npmx in one of the keynotes: +There is a lot to unpack, a lot of potential for collaborating with other atproto projects on shared lexicons and cross-linking between our websites. We’d like to thank the organisers and the community at large once more for the warm welcome, and for inviting us to present npmx in one of the keynotes:-We were also featured the latest Igalia Chats episode discussing about the history of npmx, the community, our ideas regarding funding, and more. +We were also featured in the latest Igalia Chats episode discussing the history of npmx, the community, our ideas regarding funding, and more.Also applies to: 71-71
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 9e7e0e40-74cd-4825-ba04-01ec33fd3025
📒 Files selected for processing (2)
app/components/global/BlueskyPostEmbed.client.vueapp/pages/blog/release/0.8.md
There was a problem hiding this comment.
🧹 Nitpick comments (1)
app/components/global/BlueskyPostEmbed.client.vue (1)
29-40: Consider aligning with the sharedCommentEmbedtype definition.The component defines its own
EmbedExternalinterface locally, but there's already a canonical type inshared/types/blog-post.tsthat usesapp.bsky.embed.external.ViewExternal. While the current implementation works, importing from the shared types would ensure consistency and prevent type drift if the API schema evolves.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 5fe72bd2-457e-46df-9145-c4647ed5fc62
📒 Files selected for processing (1)
app/components/global/BlueskyPostEmbed.client.vue
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
There was a problem hiding this comment.
♻️ Duplicate comments (2)
app/pages/blog/release/0.8.md (2)
15-15:⚠️ Potential issue | 🟠 MajorResolve TODO placeholders before publishing this post.
With
draft: false, these placeholders will go live as-is. Please replace all TODOs (or hold publication until they’re complete).📝 Suggested edit pattern
- TODO: demo + - TODO: command palette + - TODO: second image + -[ keynote video: youtube or streamplace ]. +[Keynote video](https://<final-video-url>).Based on learnings, if you temporarily switch to draft while finishing content, keep in mind coordinated external links may be intentionally unpublished until launch.
Also applies to: 26-26, 37-37, 43-43, 55-55
67-67:⚠️ Potential issue | 🟡 MinorReplace the placeholder link target with the real URL.
[alpha launch](link)is a broken link in published content.📝 Proposed fix
-A lot has happened since our [alpha launch](link). You can read Alex’s post for an overview of this past month, and to learn about some of the ideas the community is working on. +A lot has happened since our [alpha launch](https://<alpha-launch-post-url>). You can read Alex’s post for an overview of this past month, and to learn about some of the ideas the community is working on.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: f8488dfb-3b01-4e10-ab7c-2c0a614f58f5
📒 Files selected for processing (1)
app/pages/blog/release/0.8.md
There was a problem hiding this comment.
Actionable comments posted: 2
♻️ Duplicate comments (1)
app/pages/blog/release/0.8.md (1)
15-15:⚠️ Potential issue | 🟠 Major
draft: falseis still inconsistent with unresolved TODO placeholders.With Line 15 set to publish, TODO markers at Lines 26, 37, 43, and 55 will ship as-is.
Also applies to: 26-26, 37-37, 43-43, 55-55
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: c5ca18a7-c411-40dd-8944-b0e55660e76f
📒 Files selected for processing (1)
app/pages/blog/release/0.8.md
| --- | ||
| authors: | ||
| - name: Alex Savelyev | ||
| blueskyHandle: alexdln.com | ||
| - name: Philippe Serhal | ||
| blueskyHandle: philippeserhal.com | ||
| - name: Matias Capeletto | ||
| blueskyHandle: patak.cat | ||
| title: 'npmx 0.8: around the moon' | ||
| tags: ['OpenSource', 'Release'] | ||
| excerpt: "Today we're releasing npmx 0.8 – including a new command palette and a lot of other features." | ||
| date: '2026-04-08' | ||
| slug: '0.8' | ||
| description: "Today we're releasing npmx 0.8 – including a new command palette and a lot of other features." | ||
| draft: false | ||
| --- |
There was a problem hiding this comment.
Add required path to frontmatter to avoid post being dropped.
RawBlogPostSchema requires a path field; this frontmatter omits it. In modules/blog.ts, failed validation is skipped (continue), so the post may never render/list. Please add path (for example, /blog/release/0.8).
🛠️ Proposed fix
title: 'npmx 0.8: around the moon'
tags: ['OpenSource', 'Release']
excerpt: "Today we're releasing npmx 0.8 – including a new command palette and a lot of other features."
date: '2026-04-08'
+path: '/blog/release/0.8'
slug: '0.8'
description: "Today we're releasing npmx 0.8 – including a new command palette and a lot of other features."
draft: false| title: 'npmx 0.8: around the moon' | ||
| tags: ['OpenSource', 'Release'] | ||
| excerpt: "Today we're releasing npmx 0.8 – including a new command palette and a lot of other features." | ||
| date: '2026-04-08' |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
# Verify schema expectation and compare with existing blog frontmatter date patterns.
set -euo pipefail
echo "== RawBlogPostSchema date validator =="
rg -n -C2 "date:\s*pipe\(string\(\),\s*isoTimestamp\(\)\)" shared/schemas/blog.ts
echo
echo "== Sample frontmatter dates in blog markdown files =="
rg -n --iglob "*.md" "^date:\s*['\"]?.+['\"]?$" app/pages/blog | head -n 80
echo
echo "== Check if this file uses date-only format =="
rg -n "^date:\s*['\"]?2026-04-08['\"]?$" app/pages/blog/release/0.8.mdRepository: npmx-dev/npmx.dev
Length of output: 639
🌐 Web query:
valibot isoTimestamp() validator accepts date format ISO 8601
💡 Result:
In Valibot, isoTimestamp() validates an ISO 8601 “timestamp” string in these shapes (timezone required):
yyyy-mm-ddThh:mm:ss.sssZ(UTC “Z”)yyyy-mm-ddThh:mm:ss.sss±hh:mm(offset with colon)yyyy-mm-ddThh:mm:ss.sss±hhmm(offset without colon) (valibot.dev)
Notes about what it accepts beyond those examples:
- The fractional seconds part (
.sss) is optional, and if present can be 1 to 9 digits. (valibot.dev) - It also allows a space instead of
Tbetween date and time. (valibot.dev) - It’s regex-based and won’t catch invalid calendar dates like June 31. (valibot.dev)
If you want an ISO 8601 date-time without a timezone, Valibot has isoDateTime() (format yyyy-mm-ddThh:mm). (valibot.dev)
Citations:
- 1: https://valibot.dev/api/isoTimestamp/?utm_source=openai
- 2: https://valibot.dev/api/isoTimestamp/?utm_source=openai
- 3: https://valibot.dev/api/isoTimestamp/?utm_source=openai
- 4: https://valibot.dev/api/isoTimestamp/?utm_source=openai
- 5: https://valibot.dev/api/isoDateTime/?utm_source=openai
🏁 Script executed:
# Check valibot version and search for any validation errors or documentation in the repo
fd -e json -e ts -e md -e txt . | xargs grep -l "isoTimestamp" 2>/dev/null | head -20Repository: npmx-dev/npmx.dev
Length of output: 83
🏁 Script executed:
# Look for package.json to find valibot version
cat package.json 2>/dev/null | grep -A2 -B2 "valibot" || echo "package.json not found in root"Repository: npmx-dev/npmx.dev
Length of output: 211
🏁 Script executed:
# Search for any comments or documentation about the date format in the schema file
cat -n shared/schemas/blog.ts | head -60Repository: npmx-dev/npmx.dev
Length of output: 1964
Convert date to ISO 8601 timestamp format.
Line 12 uses date-only format (2026-04-08), but the schema requires isoTimestamp(), which only accepts full timestamps with time and timezone (e.g. 2026-04-08T00:00:00.000Z). Update to a valid ISO timestamp.
🧭 Context
0.8 release