Skip to content

Release v1.98.1 - #1289

Merged
hitalin merged 8 commits into
mainfrom
develop
Oct 26, 2026
Merged

hitalin merged 8 commits into
mainfrom
develop

Conversation

@hitalin

@hitalin hitalin commented Oct 26, 2026

Copy link
Copy Markdown
Collaborator

変更一覧

🤖 Generated with Claude Code

hitalin and others added 8 commits October 27, 2026 02:31
…の直呼びを外す (#1258)

Misskey API は adapter 経由 (ApiAdapter に不足していたメソッドを足す)、
クエリ購読・手元のアーカイブ検索・キャッシュ・バックアップ・画像・
ログインなどのローカル command は小さな composable に寄せる。
凍結一覧から common 11 / deck 27 を外し、残りは window 系だけにする。

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…し、凍結一覧を空にする (#1258)

ウィンドウとポップアップは useMultiAccountAdapters の forView / apiFor で
adapter を引き、ローカルの command は用途別の composable を通す。
カラムの dom テストは adapter の生成に要るサーバー情報をテストキットで
先に置き、IPC の記録は従来どおり bindings のモックで見る。

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
- frame scheduler は Vue 非依存の engine/frameScheduler に移し、store は直接使う
- adaptive quality は platform glue として utils へ、back button の履歴スタックも utils へ
- snapshot は composable ではないので stores/snapshots へ、PiP の窓操作は windows/pip へ
- adapters/factory は stores を知らず、起動時に wireAdapterFactory で注入する
- entityResolution はアカウントを引数で受け、accountScopeKey は services へ

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
… ハンドルを crate の中に閉じる (#1098 §7)

コマンド本体が `core.db().await` で取った Database を tokio の worker 上で
呼んでいた 33 箇所を `blocking` / `with_archive` / `spawn_archive_write`
(待たない書込) に寄せ、`db()` と `try_db()` を pub(crate) にしてアプリ側から
同期ハンドルを取れなくする。資格情報は `Core::credentials` で口座の所在を
キャッシュ越しに引く。ログインの DB 書込とキーチェーンも blocking スレッドへ。

notecli に async API を足す案は不採用 (接続 1 本ずつの設計では中身が
spawn_blocking になるだけ。プール化は notecli#30 で、この境界の裏で差し替える)。

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…て分ける (#1098 §9)

Capability を capabilities/types に置き、宣言 (capabilities.json5) から
implement() が組む側と dispatcher / tool schema / HTTP / slash の消費側を
そこへ寄せる。Command はラベル / アイコン / ショートカット / 露出と
execute() だけのパレット専用になり、register の capability registry への
ミラー登録は廃止。Nd:register_command は Command を登録し、options で
aiTool と signature を宣言したものだけ Capability としても別に登録する。
id の名前空間も型で分かれる (Command は kebab、capability は dotted)。

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…pability の分離を文書化する (#1098 §9)

react / unreact / renote / delete / follow / unfollow / favorite / unfavorite
は dispatchCapability を user principal で呼ぶ (slash と同じ確認を通る)。
capability に無い引数を持つ post (--local-only) と update は IPC 直呼びのまま。

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
永続化された輸送路 (polling) の再適用を streaming store に置き、
offlineMode の解除時はそこを直接呼ぶ。realtimeMode → offlineMode の
一方向だけが残り、循環 lint の凍結はゼロになる。

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Oct 26, 2026

Copy link
Copy Markdown

Important

Review skipped

Too many files!

This PR contains 225 files, which is 125 over the limit of 100.

To get a review, reduce the PR to 100 files or fewer by splitting it into smaller PRs or changing its base branch.

Upgrade to a paid plan to raise the limit.

This review couldn't start because sufficient usage credits or metered capacity aren't available. Add credits or update usage-based reviews in the billing tab, then retry.

Run configuration
Commits

Reviewing files that changed from the base of the PR and between 2daa825 and 4a0ae1e.

Files ignored due to path filters: 3
  • Cargo.lock is excluded by !**/*.lock
  • src-tauri/openapi.json is excluded by !src-tauri/openapi.json
  • src/capabilities/declarations.generated.ts is excluded by !**/*.generated.*
Files selected for processing: 225
  • ARCHITECTURE.md
  • CODEMAP.md
  • DEVELOPMENT.md
  • PERFORMANCE.md
  • crates/notecore/src/auth_service.rs
  • crates/notecore/src/backup_service.rs
  • crates/notecore/src/commands/admin.rs
  • crates/notecore/src/commands/content.rs
  • crates/notecore/src/commands/enrichment.rs
  • crates/notecore/src/commands/health.rs
  • crates/notecore/src/commands/messaging.rs
  • crates/notecore/src/commands/query.rs
  • crates/notecore/src/commands/streaming.rs
  • crates/notecore/src/commands/timeline.rs
  • crates/notecore/src/commands/user.rs
  • crates/notecore/src/context.rs
  • crates/notemaid/Cargo.toml
  • package.json
  • scripts/gen-capabilities.mjs
  • src-tauri/Cargo.toml
  • src-tauri/src/commands/resident.rs
  • src-tauri/src/lib.rs
  • src-tauri/tauri.conf.json
  • src/App.vue
  • src/adapters/factory.ts
  • src/adapters/misskey/api/chat.ts
  • src/adapters/misskey/api/collections.ts
  • src/adapters/misskey/api/drive.ts
  • src/adapters/misskey/api/notes.ts
  • src/adapters/misskey/api/server.ts
  • src/adapters/misskey/api/users.ts
  • src/adapters/types.ts
  • src/aiscript/notedeck-api.test.ts
  • src/aiscript/notedeck-api.ts
  • src/aiscript/plugin-api.test.ts
  • src/capabilities/builtins/account.ts
  • src/capabilities/builtins/ai.test.ts
  • src/capabilities/builtins/ai.ts
  • src/capabilities/builtins/aiSessions.ts
  • src/capabilities/builtins/aiscript.ts
  • src/capabilities/builtins/announcements.ts
  • src/capabilities/builtins/antenna.ts
  • src/capabilities/builtins/app.ts
  • src/capabilities/builtins/backup.ts
  • src/capabilities/builtins/channel.ts
  • src/capabilities/builtins/chat.ts
  • src/capabilities/builtins/clipboard.ts
  • src/capabilities/builtins/clips.ts
  • src/capabilities/builtins/column.ts
  • src/capabilities/builtins/drafts.ts
  • src/capabilities/builtins/drive.ts
  • src/capabilities/builtins/favorites.ts
  • src/capabilities/builtins/federation.ts
  • src/capabilities/builtins/files.ts
  • src/capabilities/builtins/flash.ts
  • src/capabilities/builtins/gallery.ts
  • src/capabilities/builtins/heartbeat.ts
  • src/capabilities/builtins/http.ts
  • src/capabilities/builtins/index.ts
  • src/capabilities/builtins/keybinds.ts
  • src/capabilities/builtins/list.ts
  • src/capabilities/builtins/logs.ts
  • src/capabilities/builtins/memos-read.ts
  • src/capabilities/builtins/memos.ts
  • src/capabilities/builtins/meta.ts
  • src/capabilities/builtins/metrics.ts
  • src/capabilities/builtins/misstore.ts
  • src/capabilities/builtins/navbar.ts
  • src/capabilities/builtins/notes-write.ts
  • src/capabilities/builtins/notes.ts
  • src/capabilities/builtins/notifications.ts
  • src/capabilities/builtins/pages.ts
  • src/capabilities/builtins/performance.ts
  • src/capabilities/builtins/persona.ts
  • src/capabilities/builtins/plugins.ts
  • src/capabilities/builtins/queries.ts
  • src/capabilities/builtins/registry.ts
  • src/capabilities/builtins/role.ts
  • src/capabilities/builtins/skills.ts
  • src/capabilities/builtins/styles.ts
  • src/capabilities/builtins/tasks.test.ts
  • src/capabilities/builtins/tasks.ts
  • src/capabilities/builtins/theme.ts
  • src/capabilities/builtins/time.ts
  • src/capabilities/builtins/ui.ts
  • src/capabilities/builtins/user.ts
  • src/capabilities/builtins/vault.ts
  • src/capabilities/builtins/widgets.ts
  • src/capabilities/builtins/windows.ts
  • src/capabilities/declare.ts
  • src/capabilities/deviceTools.test.ts
  • src/capabilities/deviceTools.ts
  • src/capabilities/dispatcher.test.ts
  • src/capabilities/dispatcher.ts
  • src/capabilities/goldenTools.test.ts
  • src/capabilities/registry.test.ts
  • src/capabilities/registry.ts
  • src/capabilities/toolSchema.test.ts
  • src/capabilities/toolSchema.ts
  • src/capabilities/types.ts
  • src/commands/cliHandlers.test.ts
  • src/commands/cliHandlers.ts
  • src/commands/definitions.ts
  • src/commands/registry.test.ts
  • src/commands/registry.ts
  • src/components/common/MkChatMessage.vue
  • src/components/common/MkDrivePicker.vue
  • src/components/common/MkMediaLightbox.vue
  • src/components/common/MkNote.vue
  • src/components/common/MkNoteEmbed.vue
  • src/components/common/MkReactionUsersPopup.vue
  • src/components/common/MkUserPopup.vue
  • src/components/common/NoteMoreMenu.vue
  • src/components/common/NoteReactionUsersModal.vue
  • src/components/common/RenoteMoreMenu.vue
  • src/components/common/TitleBar.vue
  • src/components/common/TitleBarMenu.vue
  • src/components/deck/AddColumnDialog.vue
  • src/components/deck/DeckAboutMisskeyColumn.vue
  • src/components/deck/DeckAchievementsColumn.vue
  • src/components/deck/DeckAnnouncementsColumn.vue
  • src/components/deck/DeckAntennaColumn.vue
  • src/components/deck/DeckApiConsoleColumn.dom.test.ts
  • src/components/deck/DeckApiConsoleColumn.vue
  • src/components/deck/DeckApiDocsColumn.vue
  • src/components/deck/DeckChannelColumn.vue
  • src/components/deck/DeckChartsColumn.dom.test.ts
  • src/components/deck/DeckChatColumn.vue
  • src/components/deck/DeckClientSearchColumn.vue
  • src/components/deck/DeckColumn.vue
  • src/components/deck/DeckColumnsArea.vue
  • src/components/deck/DeckDriveColumn.vue
  • src/components/deck/DeckEmojiColumn.dom.test.ts
  • src/components/deck/DeckEmojiColumn.vue
  • src/components/deck/DeckExploreColumn.dom.test.ts
  • src/components/deck/DeckExploreColumn.vue
  • src/components/deck/DeckFederationColumn.dom.test.ts
  • src/components/deck/DeckFollowRequestsColumn.vue
  • src/components/deck/DeckGalleryColumn.vue
  • src/components/deck/DeckLayout.vue
  • src/components/deck/DeckListColumn.vue
  • src/components/deck/DeckLookupColumn.vue
  • src/components/deck/DeckMentionsColumn.vue
  • src/components/deck/DeckNavbar.vue
  • src/components/deck/DeckNotificationColumn.vue
  • src/components/deck/DeckPageColumn.vue
  • src/components/deck/DeckPlayColumn.vue
  • src/components/deck/DeckRoleColumn.vue
  • src/components/deck/DeckSearchColumn.vue
  • src/components/deck/DeckServerInfoColumn.vue
  • src/components/deck/DeckTimelineColumn.vue
  • src/components/deck/columnTestKit.ts
  • src/components/window/AboutContent.vue
  • src/components/window/BackupContent.vue
  • src/components/window/CacheEditorContent.vue
  • src/components/window/ClipDetailContent.vue
  • src/components/window/DriveFileDetailContent.dom.test.ts
  • src/components/window/DriveFileDetailContent.vue
  • src/components/window/FollowListContent.vue
  • src/components/window/GalleryDetailContent.vue
  • src/components/window/InstanceProfileContent.vue
  • src/components/window/ListDetailContent.vue
  • src/components/window/LoginContent.vue
  • src/components/window/NoteDetailContent.vue
  • src/components/window/NoteInspectorContent.vue
  • src/components/window/NotificationInspectorContent.vue
  • src/components/window/PageDetailContent.vue
  • src/components/window/PageEditContent.vue
  • src/components/window/PermissionsContent.vue
  • src/components/window/PlayDetailContent.vue
  • src/components/window/PlayEditContent.vue
  • src/components/window/UserActivityFollowingChart.vue
  • src/components/window/UserActivityHeatmap.vue
  • src/components/window/UserActivityNotesChart.vue
  • src/components/window/UserActivityPvChart.vue
  • src/components/window/UserProfileContent.vue
  • src/components/window/user-profile/UserProfileAchievementsPane.vue
  • src/components/window/user-profile/UserProfileClipsPane.vue
  • src/components/window/user-profile/UserProfileGalleryPane.vue
  • src/components/window/user-profile/UserProfileListsPane.vue
  • src/components/window/user-profile/UserProfilePagesPane.vue
  • src/components/window/user-profile/UserProfilePlayPane.vue
  • src/components/window/user-profile/UserProfileQrCode.vue
  • src/composables/appDiagnostics.ts
  • src/composables/archiveSearch.ts
  • src/composables/backupFiles.ts
  • src/composables/cacheMaintenance.ts
  • src/composables/chatStream.ts
  • src/composables/httpApiServer.ts
  • src/composables/imageFiles.ts
  • src/composables/login.ts
  • src/composables/querySubscriptions.ts
  • src/composables/useBackButton.ts
  • src/composables/useCrossAccountNoteActions.test.ts
  • src/composables/useCrossAccountNoteActions.ts
  • src/composables/useFileDrop.ts
  • src/composables/useFrameScheduler.ts
  • src/composables/useMultiAccountAdapters.ts
  • src/composables/useNoteColumn.ts
  • src/composables/usePipAlwaysOnTop.ts
  • src/composables/useSlashCommand.test.ts
  • src/engine/frameScheduler.ts
  • src/main.ts
  • src/services/accountScope.ts
  • src/services/entityResolution.test.ts
  • src/services/entityResolution.ts
  • src/stores/accounts.ts
  • src/stores/adapterFactoryDeps.ts
  • src/stores/chatMessageStore.ts
  • src/stores/deck.ts
  • src/stores/notes.ts
  • src/stores/offlineMode.ts
  • src/stores/performance.ts
  • src/stores/realtimeMode.ts
  • src/stores/servers.ts
  • src/stores/snapshots.ts
  • src/stores/streaming.ts
  • src/stores/windows.ts
  • src/utils/adaptiveQuality.test.ts
  • src/utils/adaptiveQuality.ts
  • src/utils/overlayBackStack.ts
  • src/windows/pip.ts
  • tests/lint/importCycles.test.ts
  • tests/lint/layerImports.test.ts
  • tests/lint/moduleCaches.test.ts

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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.

@github-actions

Copy link
Copy Markdown

API surface diff

外部アプリ向け API 面 (src-tauri/openapi.json / src/bindings.ts) が変更されています。
互換性への影響 (#709) をレビューしてください。

src-tauri/openapi.json | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
Full diff
diff --git a/src-tauri/openapi.json b/src-tauri/openapi.json
index a56378f..db2070d 100644
--- a/src-tauri/openapi.json
+++ b/src-tauri/openapi.json
@@ -6,7 +6,7 @@
     "license": {
       "name": "MIT"
     },
-    "version": "1.98.0"
+    "version": "1.98.1"
   },
   "paths": {
     "/api": {

@github-actions github-actions Bot added 📖Doc Documentation related issue/PR 🛠️Dev Development of NoteDeck itself rust Pull requests that update rust code javascript Pull requests that update javascript code labels Oct 26, 2026
@hitalin hitalin self-assigned this Oct 26, 2026
@cloudflare-workers-and-pages

Copy link
Copy Markdown

Deploying notedeck with  Cloudflare Pages  Cloudflare Pages

Latest commit: 4a0ae1e
Status: ✅  Deploy successful!
Preview URL: https://636c7ed7.notedeck-d3a.pages.dev
Branch Preview URL: https://develop.notedeck-d3a.pages.dev

View logs

@claude

claude Bot commented Oct 26, 2026

Copy link
Copy Markdown

Code review

No issues found. Checked for bugs and CLAUDE.md compliance.

@hitalin
hitalin merged commit 6f305ae into main Oct 26, 2026
29 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

🛠️Dev Development of NoteDeck itself 📖Doc Documentation related issue/PR javascript Pull requests that update javascript code rust Pull requests that update rust code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant