Skip to content

AMA-teras v1.2.2 — 繋がらないPCの修正と、配布版でも自分のツールを作れるように

Choose a tag to compare

@moriwo-dev-ai moriwo-dev-ai released this 15 Jul 12:47

この版の主役は2つ。別のPCで繋がらなかった不具合の修正と、配布版でも自分のツールを作れるようになったことです。加えて、公開の二度押し防止など細かい手当てをまとめました。

繋がらないPCがあった(v1.2.1 相当の修正を同梱)

別のPCに入れたら、どのプロバイダを選んでも「接続失敗: Connection error.」。そのPCから curl は通り、DNSも引け、ブラウザも普通に動く。アプリだけが外に出られていない。

原因は証明書でした。curl は Windows の証明書ストア(セキュリティソフトが入れたルート証明書を含む)とシステムのプロキシ設定を使いますが、Node の fetch は Node にバンドルされた証明書しか見ず、システムプロキシも読みません。HTTPS を傍受するセキュリティソフトや社内プロキシがいるPCでは、curl は通るのにアプリだけ TLS 検証で落ちていました。

  • OSのネットワークスタックで喋る: Electron の net.fetch(Chromium)を通信経路に差しました。OSの証明書ストアとシステムプロキシに従うので、ブラウザで開けるものはこのアプリでも開けます
  • エラーの本当の原因を隠さない: 名前が引けない・届かない・証明書で弾かれた — "Connection error." の一言に潰されていた原因をそのまま表に出します
  • 接続テストが到達性を測る: どこで止まっているのか(DNS / ファイアウォール・プロキシ / TLS)まで表示します

配布版でも、自分のツールを作れるようになった

これまで「ツールを作れるのは開発機だけ」でした。配布版はレジストリから受け取るだけ。今回、配布版でも足りない機能をその場でコード生成して取り込めるようにしました。

  • プラグイン単位の検証ゲート: 型検査・テスト実行・スモーク(実際に1回動かす)・静的検査を、生成した1ファイルに閉じて回します。アプリ全体のビルドは要りません。プラグインは構造上コアを壊せない葉っぱなので、検証もそこに閉じてよい、という考え方です
  • 作ったツールをコミュニティへ出せる: 検証を通ったツールを、レジストリへPRとして提出できます。送信前に必ず全文を確認・承認します(秘密やローカルパスは機械が止めます)
  • GitHub連携がボタン1つに: ブラウザで承認するだけ(Device Flow)。長いトークンを手作りして貼り付ける必要はありません

コア/UIへの要望を、上流へ運ぶ道

ツールは自分で作れますが、コアやUIは全員で同じものを使う設計です。行き止まりに当たったら、その要望を開発リポジトリへ届ける口を用意しました。人が書いた要望も、AMA-teras 自身が気づいた要望も、同じ門(全文を確認して承認)を通ります。届いた要望は開発側で拾い上げ、効き目の順に整理されます。

その他の手当て

  • 公開ボタンの二度押しを防止: 一度出したツールは「公開済み」を表示し、提出したPRへのリンクに変わります(同じツールで二重にPRを出さないため)
  • 送信した要望を後から確認できる: 送信済みの要望を、Issueリンク付きの一覧で見られるようにしました
  • 要望の提出日時を表示: いつ届いた要望かが分かるようになりました
  • 運営画面の表示・表記を整えました

いつも使ってくれてありがとうございます。不具合や「これができたら」は、アプリの要望チャネルからそのまま送れます。