esapp.private 本日の修正 by #ChatGPT

image

2025年5月22日、結城さんの開発環境における作業ログです。以下に本日の主な作業を5つのカテゴリに分けて記録します。

1. サーバーエンドポイント関連

  • /esa/reloader という新しいAPIエンドポイントを Express サーバーに追加し、ローカルの ./reloader スクリプトを非同期実行する処理を実装。
  • クライアント側では fetch を使ってこのエンドポイントを呼び出し、レスポンスに応じたメッセージを画面に表示。
  • 成功時・失敗時ともに画面を適切に更新する処理を付加。

2. OpenAI連携とプロンプト分離

  • AI Transcribe 処理のプロンプトを外部テキストファイル(ai-transcribe.txt)として分離。
  • JavaScript 側では fetch() を使ってこのテキストを読み込み、OpenAI API へ送信するリクエストボディに組み込むよう変更。
  • サーバーからのレスポンスをもとに、テキストエリアの内容を更新。バックアップも取るようにした。

3. JavaScriptのモダン化

  • ONESHEET-MEMO のjQuery実装を廃止し、純粋なJavaScriptでのローカルストレージ保存・読込処理に書き換え。
  • .EMOJI-BUTTON による絵文字挿入処理も jQuery 依存を除去し、モダンな addEventListener を使う形式に更新。
  • wrapup モーダルも Bootstrap 依存をやめ、CSSと純JavaScriptで制御される形に移行。

4. Bootstrap 5移行関連とマージ作業

  • bootstrap5-migration という新しいブランチを作成。

  • Bootstrap 4 → 5 に移行するため、以下の修正を実施:

    • ml-*, mr-*ms-*, me-*
    • form-groupmb-3
    • .navbar-nav ml-automs-auto など
    • .mr-1.me-1 などアイコン用マージンの変更
  • Bootstrap 5 CSS/JSのCDNリンクを挿入し、bootstrap.min.js など旧ファイルの読み込みを停止。

  • レイアウト崩れの原因となっていた py-1 のカードヘッダー指定を削除し、正常表示を確認。

  • マージ後、ブランチは master に統合。

5. CGIと環境変数の取り扱い

  • .env を読まない構成に移行するための方針を確認。
  • ENV['ESAPP_PRIVATE_ESA_ACCESS_TOKEN'] などの存在チェックを先に行い、なければ .env を読み込む。
  • .env がない場合のエラーメッセージを HTML で返すよう実装し、その際の文字コード混乱を避けるために英語表記に統一。
  • ただし、最終的にこの実験は保留とし、本番には組み込まない。

また次回も、楽しく一緒に開発していきましょうね。

original gist

(2025年5月23日)