アカウント切り替えと画像添付を1つの投稿フォーム上で同時に行うとノート投稿に失敗する
💡 Summary
Webクライアント上でアカウントAのノート作成フォームにて画像を添付し、かつフォーム上でアカウントBに投稿先を切り替えた上で投稿しようとするとノート投稿に失敗する。画像添付とアカウント切り替えは前後を入れ替えても同様に投稿に失敗する。
🥰 Expected Behavior
・添付画像はノートボタンを押して以降、アカウントBのドライブに紐付けられる。 ・その上で、アカウントBで添付した画像を含んだノートが投稿される。
🤬 Actual Behavior
・添付画像は投稿前の段階でアカウントAのドライブに紐付けられる。 (オブジェクトストレージへのファイル到来時刻も画像添付操作の後、投稿より前のタイミングでした。) ・ノート投稿時に
Some files are not found.
~~~ (UUIDっぽい文字列)
と表示されてアカウントBでの投稿に失敗する(もちろんアカウントAでも何も投稿されない)。 (アカウントBに投稿権限がないアカウントAドライブ上の画像を参照しようとして失敗している?)
📝 Steps to Reproduce
(前提:1つのサーバ上でアカウントを2つ用意し、Webクライアントで投稿フォーム上のアカウント切り替えができるようにする) 1.Webクライアント上でアカウントAのノート作成フォームを開く 2.画像を添付する 3.アカウントBに投稿先を切り替える 4.ノートボタンを押す(投稿する) (2と3は入れ替え可能)
📌 Environment
💻 Frontend
- Model and OS of the device(s): windows 11 22H2 / Android 12 (PWA app) のどちらでも確認
- Browser: Chrome 115.0.5790.171
- Misskey: 13.14.2
余談ですが、1アカウント内で画像を添付する→設定/ドライブから添付画像を削除する→投稿するというフローでも同様のエラーは確認できています。上記のissueと比べて個別に解決するべきものでもなさそうだったので別issueは立てていませんが、ご参考までに。
追加情報としてアカウント切り替えを行っても参照されるドライブはメインで開いてるものになる
複垢運用してると不便すぎるのでなおすか
os.tsに対して現在ログインしているアカウントとの深めの依存関係があり一筋縄ではいかなさそう(パパっと治せる類ではなさそう)
アカウントAのドライブ画像をダウンロードした上でアカウントBのドライブに再度アップロードしなおすような処理が必要やね
(os.tsとかは置いておいて例えば #10425 のようなアプローチをすれば解消するかも?
(アカウントを変えたときに添付ファイルを一度全部消してしまうのが手っ取り早いが直感的ではないわね)
アカウント切り替え時に切り替えた先のドライブのファイル一覧が開けないので
アカウントAのドライブ画像をダウンロードした上でアカウントBのドライブに再度アップロードしなおすような処理が必要やね
だけでは解消しなさそう
アカウント切り替え時に切り替えた先のドライブのファイル一覧が開けない
ここと密接ではあるけど別Issueな気がする
アカウント切り替え時に切り替えた先のドライブのファイル一覧が開けない
ここと密接ではあるけど別Issueな気がする
なるほど(建ててくるか…)
#14174 のような投稿する直前に投稿しようとするアカウントのドライブにファイルをコピーしたうえで投稿する方式は長期間放置によって実質拒否されたと言えるので改めてどういう実装が好ましいかより詳細にしたいです