すべての記事

FourA ダイジェスト(2026年4月24日〜5月1日)

今週のFourA:Proxy FinderのダッシュボードがFourAデザインシステムに統合され、ログインエラーから正常に復旧できるようになりました。また、Overviewで製品や結果(outcome)によるフィルタリングが可能になりました。

ハイライト

Proxy Finderのダッシュボードのデザインと挙動が、他のFourA製品と統一されました。同じフォント、同じチャート、そしてサブドメイン間を移動しても維持される同じテーマが適用されます。これまでは400エラーページで行き止まりになっていたログインエラーが、自動で復旧してログイン画面に戻るようになりました。また、Overviewの分析データを製品(Single、Proxy Finder、またはBrowser)ごとにフィルタリングできるようになりました。

新機能・アップデート

Proxy Finderダッシュボード:デザインシステムの適用

今週、Proxy FinderのダッシュボードをFourAのデザインシステムへ移行する作業が完了しました。Outfitタイポグラフィ、インディゴのカラーパレット、統一されたChart.js、メインのダッシュボードと同じサイドバーパターン、ページの背景から際立つテーブルコンテナ、そして統一感のある統計カードが導入されています。Proxy Finderの両方のビューに新しいfaviconも追加されました。

テーマの同期がリアルタイムになりました。メインのダッシュボードでライトモードからダークモードに切り替えると、ミリ秒単位でProxy Finderも追従します。逆の場合も同様です。リフレッシュは不要です。

複数の製品を行き来していたユーザーであれば、その違いを実感できるはずです。3つの別々のアプリを無理やり繋ぎ合わせたような違和感がなくなりました。

ダッシュボードにおける製品および結果(Outcome)フィルター

Overviewのメトリクス上部にチップフィルターが追加されました。SingleProxy Finder、またはBrowserを選択することで、すべてのパネルとチャートの表示範囲を特定の製品に絞り込むことができます。Outcomeも同様で、success、timeout、rate-limitなどでフィルタリングが可能です。

Activityテーブルには各製品に対応する色分けされたシンボルが追加され、カラムのテキストを読まなくても、ログをスキャンするだけでどの製品がrequestを処理したかを一目で判別できるようになりました。

注意点として、製品でフィルタリングを行うと、Concurrencyパネルは無効化されます。このパネルは製品ごとに分割されていないライブ接続数を使用しているため、誤解を招く数値を表示するよりも、グレーアウトする処理を選択しました。

行き止まりのエラーを防ぐログイン復旧機能

不適切なタイミング(戻るボタンの操作、ブックマークからのアクセス、2つのタブの同時起動、cookieの期限切れなど)でログインフローに入ると、OAuthのstateチェックに失敗し、そのまま 400 invalid_state ページが表示されてしまうことがありました。一般的なユーザーによる8つの異なる操作が原因でこれが発生する可能性がありましたが、いずれもシステム上は無害な操作でした。

この問題は解消されました。stateチェック時に古いcookieを破棄し、正常に /auth/login へリダイレクトするようになりました。また、万が一致命的な問題が発生した場合に備え、致命的エラー専用のページもブランドデザインが適用されました。さらに、 /logout 時にセッションと同時にOAuthのstate cookieも適切にクリアされるようになりました。

これまでログイン時にエラー画面に突き当たっていた問題は、これで解決されるはずです。

Single:アップストリーム利用不可時におけるresponseの明確化

Single APIにおいて、従来は区別されていなかった2つの失敗モード(ターゲットサイト自体が利用できない状態と、ターゲットが想定外のJSON以外のデータを返してきた状態)が区別されるようになりました。

Singleのresponseをプログラムでパースしている場合、この変更は重要です。ユーザー自身でbodyを解析することなく、「サイトがダウンしている」ケースと「サイトが異常なHTMLを返した」ケースを異なる事象として処理できます。

API Keys:インプレースのコピーボタンとモーダルの誤操作防止

実際のユーザーの利用状況を観察した結果に基づき、Keysページに2つの小さな修正を加えました。

「Copy」ボタンがモーダルのフッターだけでなく、新規キーのブロック自体に配置されるようになりました。フッターにあるボタンが、その上にあるキーの値に対応していることが伝わりづらかったためです。これで、直感的に分かりやすい位置に配置されました。

また、新規キー作成のモーダルが、背景の誤クリックによって閉じられないように保護されました。モーダルの外側をクリックしても何も起こりません。意図的に閉じる操作を行わない限り、キーが失われることはありません。この修正以前は、誤クリックによって作成直後のキーが消失し、復旧できないリスクがありました。

水面下の改善

Proxy Finderのプールが、毎回フルリストを取得するのではなく、インクリメンタル(差分)に同期するようになりました。また、選択クオリティが再起動後も維持されるようになりました。起動間でスコアリング状態が永続化されるため、再起動のたびにプールをゼロから学習し直す必要がありません。これにより、より安定したproxyクオリティが維持され、デプロイ直後のパフォーマンス低下を防ぐことができます。

Proxy Finderのディスカバリー側では、いくつかの停止しているソースフィードを削除し、新たに25個のソースを追加しました。また、IPv4以外のホストや未知のプロトコルを返すソースを拒否するようになりました。これにより、バックグラウンドでの取り込み精度が向上し、不要な候補が削減されます。

公開ステータスページ上の分析スクリプトがブロックされなくなりました。最近ページを開いた際にデベロッパーコンソールにエラーが表示されていた問題は、これで解決されています。

また、blogにおいて、レイテンシーのケーススタディのチャートが更新されました。大規模ユーザーの1社からの本番トラフィックのみを表示するようにし、中央値が単一の外れ値サイトに引っ張られないよう、1つの敵対的なターゲットを除外しています。記事自体の内容は同じですが、数値の精度がより実態に即したものになりました。