Misskey v12では、クライアントが設計し直され、全く新しいUIに生まれ変わりました。
レスポンシブになり、ひとつのコードで様々なデバイスに対応できるようにしました。
各部で使用されるアニメーションは、ブラウザネイティブのトランジションを使用することでよりスムーズになりました。
目に見える変更だけではなく、内部的にも軽量化などの改善があります。
また、指定した条件にマッチする投稿を抽出できるタイムラインの追加や、インタラクティブな通知など、新機能もいくつかあります。
まだ未実装の機能(ウィジェット、テーマエディタ、リバーシ、フグパンチボタンなど)がありますが、今後のアップデートで復活します。
内部的には、コンポーネントの重複が解消され、ローカリゼーションも整理されたので、今後メンテナンスしやすくなっています。
さらに技術的なことを言うと、スタイルの記述に従来のStylusに代わってSCSSを採用し、開発の際にブラウザで編集したスタイルを持ってきやすくなるなどの改善が行なわれています。また、FontAwesomeコンポーネントに文字列形式でアイコンを指定するのをやめ、使用する都度アイコンをインポートするようにしました。これによりTree ShakingやCode Splittingとの相性が良くなります。
v12ではいくつかインスタンスにとって破壊的な変更がありますので、アップデートする前に以下の変更をお読みになりデータ(お知らせ)のバックアップなどお願いします。
アップデートが上手くいかない場合は、クリーンビルド(builtディレクトリを消した後、再度build)をお試しください。
⚠Breaking Changes
- お知らせがリセットされます。
- 通知がリセットされます。
- アカウントの外部サービス連携情報がリセットされます。
- インスタンスの閉鎖情報がリセットされます。
- プロキシアカウント設定情報がリセットされます。
- モデレーターがインスタンス設定を閲覧したり変更したりできなくなります(それらができるのはAdminのみになります)。
- モデレーターが出来るのは、ユーザーのサイレンス/凍結などに限られます。
- 従来と同じ権限を与えたい場合、モデレーターをAdminに設定することを検討してください(Adminは複数人設定可能です)。
- notes/search APIのページングがoffsetではなくuntilId方式に
- クライアントのテーマのフォーマットが調整されました。
- 旧テーマを変換してインポートする機能が予定されています
- ノートに位置情報を添付できる機能を廃止
- ノートに何のアプリから投稿したかという情報を含めるのを廃止
- Meta APIでサーバー内部の情報(マシン名、CPU情報など)を含めるのを廃止
✨Improvements
- Webクライアントを一新
- Syuilo Design System (仮称)を採用し、各コンポーネントが統一され一貫したデザインに
- レスポンシブデザインになり、デスクトップ/タブレット/スマートフォンで同じ機能が使えるように
- 複数アカウントに対応し、簡単に別のアカウントに切り替えられるように
- フォロー通知から直接フォローバックすることができるように
- 通知から直接フォローリクエストを許可/拒否できるように
- ユーザーの登録日を表示するように
- タイムラインウィジェットを追加
- 投稿フォームでメンションを追加するのが簡単に
- Renoteを解除できるように
- スマホ/タブレットでも絵文字ピッカーを使えるように
- ユーザーを選択する操作が便利に
- ユーザーページからユーザーにメッセージを送れるように
- ユーザーページからユーザーとトークを開始できるように
- ユーザーページからユーザー名をコピーできるように
- 非ログイン時のトップページにLTLではなくハイライトを表示するように
- 「戻る」ボタンを追加し、PWAフレンドリーに
- ストリーミングが切断された時にリロードできるようになり、PWAフレンドリーに
- タイムラインからユーザーページ等に遷移して戻ったときにタイムラインが初期化されないように
- 管理画面のカスタム絵文字一覧でページネーションを実装
- 二段階認証のトークンの有効期限を長く
- ESCキーでダイアログを閉じられるように
- 軽量化
- お知らせ機能の強化
- お知らせが未読か既読か管理されるようになり、未読のお知らせがあると分かりやすく表示されるように
- 何人がお知らせを読んだか分かるように
- アンテナ機能
- 指定した条件(キーワード、ファイル添付の有無など)にマッチする投稿のタイムラインを見れる機能
- 新しい投稿があったとき通知するようにもできる
- ウィジェットとしても表示可能
- Elasticsearchをインストールしなくても全文検索できるように
- リモートのカスタム絵文字をコピーしてくる機能を追加
- 自分の送ったフォローリクエストが承認されたときの通知を追加
- 絵文字判定正規表現と絵文字テーブルにUnicode 12.1分を追加
- TwemojiではサポートしているけどピッカーにないShibuya 109の絵文字を追加
- 韓国語のnyaizeを強化
- 外部サービス連携情報をプロフィールに表示しないように
- 今後個別に表示するかどうか設定できるようになる予定
- ハイライト投稿の並びを人気順ではなく投稿日時順に
- AIDのノイズがあまりよくないのを改善
- WebAuthNで internal というタイプもあるようなのでそれも使えるように
- Allow CORS requests in /.well-known/* routes
- AP: リモート投稿にリモートでされたリアクションが表示されるように
- AP: Eventタイプのアクティビティをサポート
- AP: GroupとOrganizationを正規のActorとして受け付けるように
- AP: deliver/inbox 処理にインスタンス全体で流量制限をかけられるように
- AP: deliverのリトライ期間を長めにして、回数を変更できるように
- AP: Actorの鍵とkeyIdのフォーマットの変更
- 投稿する度にMastodonから3つずつリクエストが飛んできてしまう問題が解決し、双方の負荷が減って MastodonへのAP 配信所要時間が1/4~1/5に
- PixelFedへの配信ができるように
- AP: PixelFedのハッシュタグをハッシュタグ扱いできるように
- 他多数
🐛Fixes
- ミュートしている人からのリアクション通知があると、通知があると表示される問題を修正
- 投稿メニューを開いて操作した後にもう一度メニューを開こうとしてもできない問題を修正
- リモートのノートのURLが書かれていた場合、動作がおかしい問題を修正
- リストTLだとTでのTLフォーカスが効かない問題を修正
- OAuth認証画面の配色がおかしい問題を修正
- 設定画面で、アバターを更新してもアバターの画像がその場で更新されない問題を修正
- 投稿詳細/ユーザー詳細 画面でadminや公式アカウントマークが表示されない問題を修正
- ハッシュタグ検索が遅い問題を修正
- APIのリクエスト方法(websocket/HTTP)によって返ってくるエラーの内容に違いがある問題を修正
- ストリーミングのuserListチャンネルで存在しないリストでもsubscribeできて、リストのIDがわかれば他人のリストでもsubscribeできる問題を修正
- Redis subscriberで認証ができないのを修正
- ファイルと画像認識処理の改善
- カスタム絵文字リアクションでないものは絵文字クエリをしないように
- トレンドで非公開な投稿のハッシュタグを集計しないように
- nyaizeの適用範囲の修正
- URLまでnyaizeされている問題を修正
- ハッシュタグまでnyaizeされている問題を修正
- 他
- 投稿フォームでCWが下書きに保存されない問題を修正
- 投稿フォームで公開範囲が下書きに保存されない問題を修正
- messaging/messages/read APIが正しく動作していなかった問題を修正
- TypeError: Cannot read property 'stack' of undefined が出ることがある問題を修正
- AP: カスタム絵文字を連続して書くと他のサービスでカスタム絵文字と認識されない問題を修正
- AP: audience (visibility) パースの修正
- AP: inboxの最小リトライ間隔 1秒→1分
- Pages: VERSION 変数が常に null な問題を修正
- Pages: DRPWPMが最初のしか出てこない問題を修正
- Pages: MY_NOTES_COUNT 変数が機能していなかったので削除
- Pages: MY_FOLLOWERS_COUNT 変数が機能していなかったので削除
- Pages: MY_FOLLOWING_COUNT 変数が機能していなかったので削除