Skip to content

Release v2026.5.0#171

Merged
sasagar merged 24 commits into
mainfrom
dev
May 13, 2026
Merged

Release v2026.5.0#171
sasagar merged 24 commits into
mainfrom
dev

Conversation

@sasagar
Copy link
Copy Markdown
Collaborator

@sasagar sasagar commented May 13, 2026

v2026.4.1 からの安定版リリース。サプライチェーン堅牢化、Waku beta 移行、bun:sqlite への置換が主な変更。

Versions

Component Version
Rox (Project) `2026.5.0`
Hono Rox (Backend) `1.6.0`
Waku Rox (Frontend) `1.6.0`
Shared `1.6.0`

Highlights

🔐 Supply-chain hardening

Phase 1 (#164)

  • 全 GitHub Actions を commit SHA に固定tj-actions/changed-files 攻撃対策)
  • bun install --frozen-lockfile を CI で強制
  • ワークフローのデフォルト権限を contents: read 最小化
  • actions/dependency-review-action を PR チェックに追加(high severity で fail)
  • Dependabot 設定: GitHub Actions と npm を週次自動更新
  • Bun 1.3.14 / Node.js 24 にバージョン固定

Phase 2 (#169)

  • リリース時に SBOM (SPDX-JSON) を自動生成して GitHub Release に添付
  • Build provenance attestation を Sigstore (GitHub OIDC) で付与
  • 利用者は `gh attestation verify` で出自を検証可能

🚀 Major dependency updates (#165)

  • Waku: 1.0.0-alpha.6 → 1.0.0-beta.0
  • React 19.2.4 → 19.2.6, react-aria-components 1.16 → 1.17
  • Hono 4.12.12 → 4.12.18, zod 4.3.6 → 4.4.3, bullmq 5.73 → 5.76
  • @aws-sdk/client-s3, mysql2, better-sqlite3, vite, tailwindcss など軒並み更新

⚡ Runtime simplification (#167)

  • better-sqlite3 (C++ native) を bun:sqlite に置換
  • ネイティブビルド依存 (python / build-essential) 不要
  • CI から Node.js を撤廃: Bun 単一ランタイム化
  • vitest 削除、テスト全てを bun:test に統合
  • SQLite ファイルフォーマット完全互換(既存 DB 動作確認済み)

🧹 Housekeeping

  • .playwright-mcp/ を gitignore に追加
  • workflow: BUN_VERSION 環境変数の統一

Verification

  • ✅ CI 全 pass(lint, typecheck, unit tests 1012 件, SQLite integration 28 件, build)
  • ✅ VPS (rox.love-rox.cc) で dev ブランチ稼働確認済み
    • 全 endpoint で 200 応答(root, /.well-known/nodeinfo, /manifest.json)
    • Backend (43000) + Frontend Waku (43001) 正常起動
    • Memory 266 MB(上限 1.5 GB)

Post-merge

  • `auto-tag.yml` が `v2026.5.0` タグと GitHub Release を自動生成
  • リリースに SBOM (`rox-2026.5.0.spdx.json`) が添付される
  • `sync-dev.yml` が main → dev を fast-forward 同期

Summary by CodeRabbit

リリースノート

  • New Features

    • 開発ワークフローと自動化機能を強化。イシュー駆動開発の標準化、自動マージとブランチ同期、依存関係の自動更新に対応。
  • Chores

    • ビルドツールを最新化。複数パッケージを v1.6.0 へアップデート。SQLite処理エンジンを最適化し、パフォーマンスを向上。テスト基盤を強化。

sasagar added 21 commits April 10, 2026 23:58
All listed plugins (Waku RSC, Lingui) are required framework plugins
that cannot be optimized. Disable the diagnostic to reduce build noise.
- Add .claude/rules/git-workflow.md defining branch strategy
- Add sync-dev.yml workflow to auto-sync dev after main merge
- Update CLAUDE.md rules table
Stable releases now compare against the last stable tag (skipping
alpha/beta/rc), so release notes include all changes since the
previous production release.
chore: add git workflow rules and dev sync automation
docs: clarify branch deletion steps in git workflow rules
- Merge release flow and branch strategy into github-workflow.md
- Remove redundant .claude/rules/git-workflow.md
- Add workflow reference to CLAUDE.md
chore: unify workflow rules into issue-driven development
GitHub only auto-closes issues on merge to default branch (main).
This workflow parses Closes/Fixes/Resolves from PR bodies and
closes referenced issues when PRs merge to dev.
chore: auto-close issues when PRs merge to dev
- Pin all GitHub Actions to commit SHAs (third-party + official)
- Pin Bun to 1.3.14 and Node to 24 (was: latest/20)
- Add bun install --frozen-lockfile to all install steps
- Default workflow GITHUB_TOKEN to contents: read; opt-in to write per job
- Add Dependency Review action to PR checks (fails on high severity)
- Add Dependabot config for github-actions and npm (root + 3 packages)

Mitigates: tj-actions/changed-files style tag-rewrite attacks,
shai-hulud-style malicious dep injection via lockfile drift,
over-privileged tokens leaking via compromised actions.
- waku: ^1.0.0-alpha.6 → ^1.0.0-beta.0 (semver range bump, registry latest)
- Apply all in-range minor/patch updates across root + 3 packages

Backend:
- @aws-sdk/client-s3 3.1025 → 3.1045 (patch)
- better-sqlite3 12.8 → 12.10 (minor)
- bullmq 5.73 → 5.76 (minor)
- hono 4.12.12 → 4.12.18 (patch)
- mysql2 3.20 → 3.22 (minor)
- zod 4.3.6 → 4.4.3 (minor)
- bun-types 1.3.11 → 1.3.14, vitest 4.1.3 → 4.1.6

Frontend:
- jotai 2.19 → 2.20 (minor)
- lucide-react 1.7 → 1.14 (minor)
- react/react-dom/react-server-dom-webpack 19.2.4 → 19.2.6 (patch)
- react-aria-components 1.16 → 1.17 (minor)
- react-hook-form 7.72 → 7.75 (minor)
- vite 8.0.7 → 8.0.12 (patch)
- @rolldown/plugin-babel 0.2.2 → 0.2.3
- @tailwindcss/vite, tailwindcss 4.2.2 → 4.3.0 (minor)
- @storybook/* 10.3.4 → 10.3.6 (patch)

Root: @playwright/test, playwright 1.59 → 1.60 (minor), typedoc patch,
vite-plus 0.1.15 → 0.1.21, bun-types/types/bun patch.

Shared: vite-plus and bun-types patches.

Verification:
- bun run typecheck (backend + frontend) — pass
- bun run lint — 0 warnings, 0 errors (577 files)
- bun test src/tests/unit/ — 1012 pass, 0 fail
- bun run build (backend + frontend) — succeeds

Note on axios: this repo has no direct nor transitive axios dependency
(verified in source, package.json, and bun.lock).

Skipped (require dedicated PRs due to breaking changes):
- typescript 5.9 → 6.0
- @lingui/* 5 → 6
- @hono/zod-validator 0.7 → 0.8
- mfm-js 0.25 → 0.26
- rollup-plugin-visualizer 6 → 7
Address CodeRabbit nitpick: hoist Bun version to env.BUN_VERSION
in docs.yml for consistency with ci.yml.

Skipped: trailing-newline nitpick on dependabot.yml — file
already ends with LF (verified via wc -l / tail -c).
…rdening

chore: harden CI/CD against supply-chain attacks
…a-and-deps

chore: bump Waku to 1.0.0-beta.0 and audit dependencies
Eliminates the C++ native module `better-sqlite3` in favor of Bun's
built-in `bun:sqlite`, removing the need for Node.js in CI and
simplifying the toolchain.

Driver swap (db/index.ts):
- drizzle-orm/better-sqlite3 → drizzle-orm/bun-sqlite
- better-sqlite3 → bun:sqlite (built-in)
- sqlite.pragma("journal_mode = WAL") → sqlite.exec("PRAGMA ...")
- Export SqliteDatabase type for shared use

Type renames across 22 repositories:
- BetterSQLite3Database → BunSQLiteDatabase

Tests consolidated to Bun test runner:
- Removed src/tests/node/sqlite-repositories.test.ts (vitest)
- Migrated full coverage into src/tests/integration/sqlite-repositories.test.ts
  using bun:test + bun:sqlite
- 28 SQLite integration tests pass under bun test

Dependencies removed:
- better-sqlite3 (native module)
- @types/better-sqlite3
- vitest (only used for the SQLite tests above)

CI simplification:
- Drop actions/setup-node step from sqlite-tests job
- bunx vitest → bun test

Verification (local):
- bun run typecheck (backend + frontend) — pass
- bun run lint — 0 warnings, 0 errors
- bun test src/tests/unit/ — 1012 pass / 0 fail
- bun test src/tests/integration/ — 70 pass / 0 fail
- bun run build (backend) — succeeds
- node_modules/better-sqlite3 — not installed (optional peer only)
…ation

chore: replace better-sqlite3 with bun:sqlite
Adds SBOM generation and build provenance attestation to release
workflows. Users can now audit dependency trees and verify that
release artifacts originate from this repository at a specific commit.

Workflows:
- auto-tag.yml, release.yml: generate SPDX-JSON SBOM via Syft
  (anchore/sbom-action), attest provenance via Sigstore
  (actions/attest-build-provenance), attach SBOM to GitHub Release
- Permissions: opt-in id-token: write, attestations: write per job

Pinned to SHA:
- anchore/sbom-action@e22c389 (v0.24.0)
- actions/attest-build-provenance@a2bbfa2 (v4.1.0)

Side fix:
- .gitignore: add .playwright-mcp/ to prevent Playwright MCP
  snapshot/screenshot artifacts from being tracked
…ase2

chore: phase 2 supply-chain hardening (SBOM + provenance)
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 13, 2026

Warning

Rate limit exceeded

@sasagar has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 46 minutes and 28 seconds before requesting another review.

You’ve run out of usage credits. Purchase more in the billing tab.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 81678eb9-22f8-472a-b20a-8a8c13d82539

📥 Commits

Reviewing files that changed from the base of the PR and between 744cbd3 and 0ef8813.

📒 Files selected for processing (4)
  • .github/workflows/close-issues.yml
  • .github/workflows/sync-dev.yml
  • packages/backend/src/db/index.ts
  • packages/backend/src/tests/integration/sqlite-repositories.test.ts
📝 Walkthrough

ウォークスルー

SQLiteドライバをbetter-sqlite3からbun:sqliteに移行し、GitHub Actions用のワークフロー(自動タグ付け、CI、dev/mainの同期)を導入しました。複数のパッケージバージョンを更新し、テスト実行をvitestからbun testに統一し、Dependabot設定を追加しました。

変更内容

SQLiteドライバ移行とリポジトリ型更新

Layer / File(s) Summary
SQLiteドライバの初期化と型定義
packages/backend/src/db/index.ts, packages/backend/src/db/schema/sqlite.ts
SQLiteドライバをbetter-sqlite3からbun:sqliteに移行。BetterSQLite3DatabaseBunSQLiteDatabaseに置き換え、WALモード設定を.pragma()から.exec()に変更。
SQLiteリポジトリの型更新
packages/backend/src/repositories/sqlite/*.ts(24ファイル)
全SQLiteリポジトリ実装でSqliteDatabase型エイリアスをBunSQLiteDatabaseに統一。SqliteUserRepository, SqliteNoteRepository, SqliteFollowRepository等のコンストラクタ型が自動的に更新される。
SQLite統合テストの書き直し
packages/backend/src/tests/integration/sqlite-repositories.test.ts, packages/backend/src/tests/node/sqlite-repositories.test.ts
vitestベースのテストを削除し、bun testを使用した新しい統合テストスイートに統合。bun:sqliteのインメモリDB、Drizzleスキーマ初期化、5つのリポジトリ(User/Note/Session/Follow/InstanceBlock)に対する包括的なCRUD+機能テスト(+825行)を実装。
テスト実行スクリプト更新
packages/backend/package.json
test:sqliteスクリプトをvitestからbun testに変更。better-sqlite3vitestを依存関係から削除。

CI/ワークフロー自動化の構築

Layer / File(s) Summary
ワークフロー実行環境の統一
.github/workflows/ci.yml, .github/workflows/docs.yml
全ワークフローでBUN_VERSION: "1.3.14"をpinし、bun install --frozen-lockfileを統一。sqlite-testsジョブでbunx vitestからbun testに移行。
自動リリース・タグ管理
.github/workflows/auto-tag.yml, .github/workflows/release.yml
安定版/プレリリース版を区別して前回タグを検出。SPDX JSON形式のSBOM生成・署名・リリースアセット化を追加。id-token: write, attestations: write権限を設定。
ブランチ同期・issue自動クローズ
.github/workflows/sync-dev.yml, .github/workflows/close-issues.yml
mainへのpush時にdevをfast-forward同期するワークフロー。devへのマージPRを監視し、"Closes #N"パターンからissueを抽出して自動クローズ。
依存関係アップデート自動化
.github/dependabot.yml
GitHub Actions+npm(root/backend/frontend/shared)の週次アップデート。Commitメッセージプリフィックス、グループ化(minor/patch)、ラベリング(backend/frontend)を設定。

ドキュメント・バージョン管理

Layer / File(s) Summary
開発ワークフロー整備
.claude/workflows/github-workflow.md, CLAUDE.md
Issue駆動の開発フロー(feature branch→dev→main)、リリースフロー、コミット規約({type}: {説明})、自動化マッピング表を文書化。
パッケージ版アップグレード
package.json, packages/backend/package.json, packages/frontend/package.json, packages/shared/package.json
全パッケージを1.5.11.6.0に更新。ルートは2026.5.0へ。wakuをalpha→betaに、dev依存関係(Playwright/TypeDoc/Vite)を新バージョンに更新。
その他の設定更新
.gitignore, packages/frontend/waku.config.ts
cipherdata/cipher.yml.playwright-mcp/.gitignoreに追加。waku.config.tsでRolldownプラグイン警告を無効化。

推定コード審査工数

🎯 4 (Complex) | ⏱️ ~60 minutes

複数の異質な変更が含まれています:24個のSQLiteリポジトリ型更新(繰り返しパターンだが型の追跡が必要)、複雑なワークフロー設定(権限・SBOM・タグロジック)、大規模なテスト書き直し(+825行)、バージョンバンプ、ドキュメント追加。これらは相互に依存しており、全体の一貫性の確認が必要です。

関連する可能性のあるissue

  • chore: replace better-sqlite3 with bun:sqlite to eliminate Node.js dependency #166: このPRはbetter-sqlite3からbun:sqliteへの完全な移行を実装しています。packages/backend/src/db/index.tsの更新、全リポジトリのBetterSQLite3DatabaseBunSQLiteDatabaseへの変更、SQLiteテストのbun testへの移行、CI/スクリプト変更が含まれており、issue#166と直結しています。

関連する可能性のあるPR

  • Love-Rox/rox#156: Issue駆動のリリースフローをドキュメント化し、このPRと同じsync-dev.ymlmaindevのfast-forward同期)を導入しています。
  • Love-Rox/rox#153: 両PRともpackage.jsonおよびパッケージマニフェスト内のバージョンフィールドを更新しており(PR#153は2026.4.0への安定化、このPRは2026.5.0へのバンプ)、バージョニングレベルで重複しています。

ポエム

🐰 SQLiteのドライバ、bun式へ羽ばたき
ワークフロー自動で、dev と main は心優しく同期し
テストは bun で颯爽と、issue は自動でクローズ〜
型とタグと SBOM が整列する、美しい流れ

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed タイトル「Release v2026.5.0」はプロジェクトバージョンをバージョン 2026.4.1 から 2026.5.0 にリリースする主要な変更を正確に示しており、PR の主な目的と完全に一致している。
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch dev

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
Copy Markdown
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: 2

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
packages/backend/src/db/index.ts (1)

143-147: ⚠️ Potential issue | 🟠 Major | ⚡ Quick win

D1 の公開型が実装ドライバと不一致です

Line 143-147 の createD1Databasedrizzle-orm/d1 ドライバを使用していますが、Line 183 の D1DatabaseInstanceBunSQLiteDatabase として定義されており、型契約がズレています。D1 経路で誤ったメソッドシグネチャ前提を通してしまい、型安全性が失われるリスクがあります。

修正案
-export function createD1Database(d1Binding: D1Database): D1DatabaseInstance {
+export function createD1Database(d1Binding: D1Database) {
   // Dynamic import to avoid loading d1 driver in non-Workers environment
   // eslint-disable-next-line `@typescript-eslint/no-require-imports`
   const { drizzle: drizzleD1 } = require("drizzle-orm/d1");
   return drizzleD1(d1Binding, { schema: sqliteSchema });
 }

-export type D1DatabaseInstance = BunSQLiteDatabase<typeof sqliteSchema>;
+export type D1DatabaseInstance = ReturnType<typeof createD1Database>;
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@packages/backend/src/db/index.ts` around lines 143 - 147, The
createD1Database function uses the drizzle-orm/d1 driver but the declared return
type D1DatabaseInstance is currently defined as BunSQLiteDatabase, causing a
type mismatch; update the types so the function signature matches the actual
driver return: either change D1DatabaseInstance to the correct drizzle D1
database type (import the proper type from "drizzle-orm/d1" or declare a
union/adapter type that encompasses both BunSQLiteDatabase and the drizzle D1
instance), or adjust createD1Database to return the declared BunSQLiteDatabase
wrapper by adding a small adapter that conforms to D1DatabaseInstance; update
references to D1DatabaseInstance, createD1Database, and any uses of sqliteSchema
accordingly so the exported type matches the real implementation.
🧹 Nitpick comments (2)
.github/workflows/sync-dev.yml (1)

1-27: ⚡ Quick win

同時実行レースを避けるため concurrency を追加してください。

main への連続 push で古いジョブが後勝ち/後負けになり、git push origin dev が不要に失敗する可能性があります。

♻️ 提案差分
 name: Sync dev with main
 
 on:
   push:
     branches:
       - main
 
+concurrency:
+  group: sync-dev-with-main
+  cancel-in-progress: true
+
 permissions:
   contents: write
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.github/workflows/sync-dev.yml around lines 1 - 27, Add a concurrency block
to the workflow to avoid race conditions when multiple pushes to main trigger
overlapping runs; inside the top-level (or the "jobs: sync" scope) add a
concurrency configuration with a stable group key (e.g., "sync-dev-${{
github.ref }}" or a fixed "sync-dev") and cancel-in-progress: true so older runs
are cancelled before a new run performs git merge/push; update the workflow
where the job is defined (the "name: Sync dev with main" / job "sync") to
include this concurrency stanza.
.claude/workflows/github-workflow.md (1)

96-96: 💤 Low value

Markdown フォーマットの軽微な問題

静的解析ツールが、テーブルの前後に空行が必要であることを検出しました。

📝 修正案
 ## 自動化
+
 | イベント | ワークフロー |
 |---------|------------|
 | mainへのpush時にタグ + リリース作成 | `auto-tag.yml` |
 | mainマージ後にdevを同期 | `sync-dev.yml` |
 | PR/push時のCI実行 | `ci.yml` |
+
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.claude/workflows/github-workflow.md at line 96, The markdown table line "|
イベント | ワークフロー |" is missing surrounding blank lines; add a single empty line
immediately before the table and another empty line immediately after it (i.e.,
ensure there is a blank line separating the table from surrounding paragraphs or
headings) so the static checker accepts the table formatting.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In @.github/workflows/close-issues.yml:
- Around line 32-40: The loop currently calls github.rest.issues.update for
every issueNumber and may close PRs; before calling github.rest.issues.update,
call github.rest.issues.get for the same owner/repo/issue_number (using the
issueNumber variable) and inspect response.data.pull_request — if that field is
present, skip/continue to avoid closing PRs; only call github.rest.issues.update
when response.data.pull_request is undefined. Keep the existing try/catch and
logging behavior while adding this pre-check to safely filter out pull requests.

In `@packages/backend/src/tests/integration/sqlite-repositories.test.ts`:
- Around line 392-395: The beforeEach cleanup currently calls sqlite.exec with a
DELETE that excludes testUserId, leaving test fixtures behind; update the
beforeEach (the sqlite.exec call) in the sqlite-repositories.test.ts test suite
so it deletes all rows from the notes table (e.g., use a plain "DELETE FROM
notes" statement or equivalent) to ensure no test data (including records with
testUserId) persists between tests.

---

Outside diff comments:
In `@packages/backend/src/db/index.ts`:
- Around line 143-147: The createD1Database function uses the drizzle-orm/d1
driver but the declared return type D1DatabaseInstance is currently defined as
BunSQLiteDatabase, causing a type mismatch; update the types so the function
signature matches the actual driver return: either change D1DatabaseInstance to
the correct drizzle D1 database type (import the proper type from
"drizzle-orm/d1" or declare a union/adapter type that encompasses both
BunSQLiteDatabase and the drizzle D1 instance), or adjust createD1Database to
return the declared BunSQLiteDatabase wrapper by adding a small adapter that
conforms to D1DatabaseInstance; update references to D1DatabaseInstance,
createD1Database, and any uses of sqliteSchema accordingly so the exported type
matches the real implementation.

---

Nitpick comments:
In @.claude/workflows/github-workflow.md:
- Line 96: The markdown table line "| イベント | ワークフロー |" is missing surrounding
blank lines; add a single empty line immediately before the table and another
empty line immediately after it (i.e., ensure there is a blank line separating
the table from surrounding paragraphs or headings) so the static checker accepts
the table formatting.

In @.github/workflows/sync-dev.yml:
- Around line 1-27: Add a concurrency block to the workflow to avoid race
conditions when multiple pushes to main trigger overlapping runs; inside the
top-level (or the "jobs: sync" scope) add a concurrency configuration with a
stable group key (e.g., "sync-dev-${{ github.ref }}" or a fixed "sync-dev") and
cancel-in-progress: true so older runs are cancelled before a new run performs
git merge/push; update the workflow where the job is defined (the "name: Sync
dev with main" / job "sync") to include this concurrency stanza.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 6efa937d-b1e5-4cde-9c28-912f605053db

📥 Commits

Reviewing files that changed from the base of the PR and between d51f0da and 744cbd3.

⛔ Files ignored due to path filters (1)
  • bun.lock is excluded by !**/*.lock
📒 Files selected for processing (41)
  • .claude/workflows/github-workflow.md
  • .github/dependabot.yml
  • .github/workflows/auto-tag.yml
  • .github/workflows/ci.yml
  • .github/workflows/close-issues.yml
  • .github/workflows/docs.yml
  • .github/workflows/release.yml
  • .github/workflows/sync-dev.yml
  • .gitignore
  • CLAUDE.md
  • package.json
  • packages/backend/package.json
  • packages/backend/src/db/index.ts
  • packages/backend/src/db/schema/sqlite.ts
  • packages/backend/src/repositories/sqlite/SqliteCustomEmojiRepository.ts
  • packages/backend/src/repositories/sqlite/SqliteDriveFileRepository.ts
  • packages/backend/src/repositories/sqlite/SqliteDriveFolderRepository.ts
  • packages/backend/src/repositories/sqlite/SqliteFollowRepository.ts
  • packages/backend/src/repositories/sqlite/SqliteInstanceBlockRepository.ts
  • packages/backend/src/repositories/sqlite/SqliteInstanceSettingsRepository.ts
  • packages/backend/src/repositories/sqlite/SqliteInvitationCodeRepository.ts
  • packages/backend/src/repositories/sqlite/SqliteModerationAuditLogRepository.ts
  • packages/backend/src/repositories/sqlite/SqliteNoteRepository.ts
  • packages/backend/src/repositories/sqlite/SqliteNotificationRepository.ts
  • packages/backend/src/repositories/sqlite/SqliteOAuthAccountRepository.ts
  • packages/backend/src/repositories/sqlite/SqlitePasskeyChallengeRepository.ts
  • packages/backend/src/repositories/sqlite/SqlitePasskeyCredentialRepository.ts
  • packages/backend/src/repositories/sqlite/SqliteReactionRepository.ts
  • packages/backend/src/repositories/sqlite/SqliteRemoteInstanceRepository.ts
  • packages/backend/src/repositories/sqlite/SqliteRoleAssignmentRepository.ts
  • packages/backend/src/repositories/sqlite/SqliteRoleRepository.ts
  • packages/backend/src/repositories/sqlite/SqliteScheduledNoteRepository.ts
  • packages/backend/src/repositories/sqlite/SqliteSessionRepository.ts
  • packages/backend/src/repositories/sqlite/SqliteUserReportRepository.ts
  • packages/backend/src/repositories/sqlite/SqliteUserRepository.ts
  • packages/backend/src/repositories/sqlite/SqliteUserWarningRepository.ts
  • packages/backend/src/tests/integration/sqlite-repositories.test.ts
  • packages/backend/src/tests/node/sqlite-repositories.test.ts
  • packages/frontend/package.json
  • packages/frontend/waku.config.ts
  • packages/shared/package.json
💤 Files with no reviewable changes (1)
  • packages/backend/src/tests/node/sqlite-repositories.test.ts

Comment thread .github/workflows/close-issues.yml
Comment thread packages/backend/src/tests/integration/sqlite-repositories.test.ts
sasagar added 2 commits May 14, 2026 02:50
- close-issues.yml: skip pull requests when auto-closing
  references. The `Closes #N` pattern can match PR numbers; since
  PRs are issues in GitHub's data model, the previous code would
  close a PR if its number was referenced. Now we issues.get first
  and skip when target.data.pull_request is set.

- sqlite-repositories.test.ts: delete all notes in beforeEach
  cleanup. The previous WHERE clause kept testUserId rows, which
  leaked between tests. Drop the predicate so each test starts
  from a clean state.
- db/index.ts: fix D1DatabaseInstance type mismatch. The type was
  declared as BunSQLiteDatabase<typeof sqliteSchema> (bun:sqlite
  driver) but createD1Database actually returns the drizzle-orm/d1
  driver. Drop the explicit return type and derive D1DatabaseInstance
  via ReturnType<typeof createD1Database> so the public type follows
  what the function really produces.

- sync-dev.yml: add concurrency group to prevent races on
  consecutive pushes to main (older runs cancel-in-progress so the
  latest sync wins).
…-v2026.5.0

fix: address CodeRabbit nitpicks from Release PR #171
@sasagar sasagar merged commit 1d61d34 into main May 13, 2026
11 checks passed
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.

1 participant