無限に足せるようにはなってないんだな
https://github.com/tootsuite/mastodon/blob/b9d74d407673a6dbdc87c3310618b22c85358c85/app/javascript/mastodon/reducers/announcements.js#L64 うへ、JVMのPODでもコレやるのか…
長い告知を作るとWebUIはうまく機能しません。この領域は上下にスクロールせず、告知を左右に切り替えるボタンもスマホUIでは投稿ボタンも表示されません。
WebUIをリロードした時に告知の表示順が変わることがあります。ストリーミングで受け取った告知は常に先頭に表示されますが、REST APIで受け取った告知をソートする時はイベント時刻がないものはリストの終端に表示されます。そういうものらしい。
API応答から見るにアナウンス表示はこの程度はテストした方がよさそう。 メンションの2つめは外部のアカウント。
ああ…Android Studioのビルド終了時に #巻乃もなか の声を出せるようにIDEプラグイン書いてよかった。癒される…。
all_day がtrue だと starts_at ,ends_at は "2020-01-28T23:59:00.000Z" のようなUTCタイムゾーンのタイムスタンプを返す。当然だが日本時刻の0時ではない。
また、scheduled_atやイベント期間をチェックしてpublishedフラグを変更したりストリーミングしたりするワーカーは5分おきに動作するそうです。編集したら5分待つ。
告知の管理者UI、オイゲンさんの認識では日時は全てUTCだそうです。そしてscheduled_at(UTC)がくるまで announcements.publiched=falseでAPI応答に含まれません。scheduled_atを日本時間で書くと期待通りには動作しません。
app/javascript/mastodon/actions/streaming.js
case 'announcement':
dispatch(updateAnnouncements(JSON.parse(data.payload)));
case 'announcement.reaction':
dispatch(updateAnnouncementsReaction(JSON.parse(data.payload)));
ストリーミングの関係でホームカラムに置く、1行表示と拡大表示を切り替えられるようにする、くらいが落としどころか