Skip to content

fix(chat): create-to-{user,room} の text/fileId を Option 化 + パラメータ名修正#11

Merged
hitalin merged 1 commit into
mainfrom
fix/chat-create-text-file-optional
May 9, 2026
Merged

fix(chat): create-to-{user,room} の text/fileId を Option 化 + パラメータ名修正#11
hitalin merged 1 commit into
mainfrom
fix/chat-create-text-file-optional

Conversation

@hitalin
Copy link
Copy Markdown
Owner

@hitalin hitalin commented May 9, 2026

Summary

Misskey 新 Chat API #15686 (chat/messages/create-to-user / chat/messages/create-to-room) のスキーマに合わせて 2 点修正:

  1. パラメータ名修正: userId / roomIdtoUserId / toRoomId (Misskey の paramDef でこの名前が必須)
  2. text と fileId を Option 化: Misskey 側は両者 nullable で、サーバ側で「どちらか一方は必須」を判定する。テキスト無しでファイル送信したいケースに対応

旧シグネチャは内部から呼ばれていない (notedeck はずっと legacy messaging/messages/create を経由していた) ため breaking 影響は無い。

Why

notedeck で「新規メッセージ送信時に messaging/messages/create (404)」が発生中。原因は Misskey v2025 で legacy messaging API が完全削除されているため。本 PR で新 API ラッパーを実用できる状態にし、続けて notedeck 側を新 API 経由に切り替える。

Test plan

  • cargo build --features specta 通過
  • cargo test --features specta 通過 (140 tests)
  • notedeck 側で送信成功を確認 (上流 PR で実施)

…chema に合わせて toUserId / toRoomId に修正

Misskey 新 Chat API #15686 のスキーマ:

- パラメータ名は `toUserId` / `toRoomId` (`userId` / `roomId` ではない)
- `text` と `fileId` は両方 nullable で、サーバ側で「どちらか一方は必須」を
  バリデーション (テキストなし & ファイルなしは contentRequired エラー)

旧シグネチャは `text: &str` 必須 + パラメータ名間違い (`userId` / `roomId`) で、
実呼び出されると失敗するか想定通りに動かなかった (NoteDeck 側からは呼ばれて
おらず実害なし)。

notedeck の `messaging/messages/create` 404 エラー (Misskey v2025 で legacy
削除済み) を修正するため、本関数経由で新 API に切り替えるための前提整備。
@hitalin hitalin self-assigned this May 9, 2026
@hitalin hitalin merged commit 4b40c34 into main May 9, 2026
1 check failed
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