今日、フロントエンドのv3.1.xと、それに合わせたバックエンドを出しました。中心は二つ。ログインまわりの作り込みと、APIの応答の速さです。
ログインまわりを作り込みました
二段構えのOAuth
OAuthの流れを分解して、耐える部分を作り直しました。
- ポップアップ方式が塞がれたら、リダイレクト方式へ自動で切り替わります
- 署名付きクッキーとオリジンの確認を厳しくしました
- オリジンをまたぐ端の場合も、ひととおり塞ぎました
ログインの成功率と安定性が目に見えて上がります。会社のネットワークの中、タブをたくさん開いた状態、プライバシー設定の厳しいSafariで、とくにはっきり出ます。
アプリ内ブラウザの検出と案内
Instagram、Facebook、Threads、LINE、Twitter/X、DiscordからSlimaのリンクを開くことがあります。
アプリ内ブラウザはGoogleのOAuthへの対応が不安定で、ログインが途中で止まりがちです。
新しい版では、こうなります。
- アプリ内ブラウザの中にいることを検出します
- 「ログインには、ふだんのブラウザで開くことをおすすめします」と穏やかに出します
- ワンタップでSafariやChromeへ移れるボタンを出します
SNSから来た人でも、ログインが引っかからなくなりました。
APIの速さ
蔵書をまとめて返します
GET /api/v1/booksの既定が**per_page=100**になりました。以前より大きい値です。
効くのはこういう場合。
- Slima MCPを使う人 — Claude CodeやCursorなどのクライアントが、蔵書を一度の呼び出しで取れます。ページを繰る必要がありません
- 自動化のスクリプト — 原稿をまとめてバックアップするような処理が目に見えて速くなります
- 作品一覧の表示 — 50冊を超える人ほど速さの差が出ます
この版のその他
- OAuthの署名付きクッキーのオリジンの扱いを厳しくしました。タブを複数開いた状態でも挙動が揃います
- 結合テストの範囲を広げました。ログインの経路はREDからGREENまでテストで守られています
- 多言語の抜け — 脚本スタジオの読み込みまわりで、5言語すべてを埋めました
次に来るもの
エディタの作り込みを続け、脚本スタジオの読み込み元を増やし、そして次のスタジオを考えはじめています。