Use Arrow Keys or Space to Navigate Swipe to Navigate
Slide 1 of 3Remaining 2◀▶
HonoGear拡張機能の開発において、長年の課題だった「Note.com連携の不安定さ」がついに解消されました。
v2.1アップデートにより、Amazonの商品選定から記事の下書き作成、そしてNote.comへの投稿までが、文字通り ワンクリック (あるいはゼロクリック)で完結するようになりました。
v2.1の主な変更点
今回のアップデートは、ユーザー体験(UX)の向上と、自動化プロセスの堅牢性強化に焦点を当てています。
1. 堅牢なNote.com投稿自動化
これまでは、Note.comのダッシュボード構造の変化や、DOM読み込みのタイミングによって、自動スクリプトが「投稿」ボタンを見失うことがありました。
v2.1では、以下の改善を行いました:
- マルチセレクター戦略 :
href="/notes/new、aria-label="投稿、SVGアイコンなど、複数の要素を優先順位をつけて探索することで、UI変更に強いロジックを実装しました。
graph TD
Start[Extension Trigger] */} Check{Is Logged In?}
Check */}|No| Login[Alert Login]
Check */}|Yes| Nav[Navigate to /notes/new]
Nav */} Load[Wait for Editor]
Load */} Inject[Inject Content from Storage]
Inject */} Publish[Click Publish Button]
Publish */}|Success| Done[Notification]
Publish */}|Fail| Retry[Retry with Alt Selectors]
Retry */}|Fail| Error[Log Error]
style Start fill:#22c55e,stroke:#fff
style Publish fill:#f97316,stroke:#fff
style Retry fill:#ef4444,stroke:#fff
- Editor自動ペーストの強化 :
ダッシュボードからエディタに遷移した後、ローカルストレージに保存された記事データを自動的に読み込み、タイトルと本文を適切なエリアに注入します。
- バリデーションの緩和 :
これまでは厳格なMarkdownヘッダーがないとペーストを拒否していましたが、警告のみに変更し、自由なテキスト形式を受け入れるようになりました。
2. コンテキスト無効化エラーの撲滅
Chrome拡張機能開発あるあるですが、拡張機能を更新した直後に古いタブでスクリプトが走り続け、Extension context invalidated というエラーで停止する問題がありました。
これに対し、ランタイムIDの存在チェック (chrome.runtime?.id) を各所のポーリング処理に追加し、拡張機能が無効化された時点で即座にスクリプトを停止するように修正しました。
Chrome Extension Context Invalidated Fix
Understanding the lifecycle of Chrome Extensions.
Stack Overflow
3. 開発者向けワークフローの整備
自分自身が最大のユーザーであるため、デバッグと検証のフローも整備しました。
- Puppeteerによるローカル検証 :
scripts/test-extension-flow.mjs を作成し、ログイン不要な範囲でUIの注入テストを自動化しました。
- エラーチェック・ワークフロー :
.agent/workflows/check-extension-errors.md に標準的なトラブルシューティング手順をまとめました。
今後の展望
これで「書く」という行為の摩擦係数は限りなくゼロに近づきました。
次は、生成されるコンテンツの質(Content Quality)そのものにフォーカスし、AIプロンプトの改善を進めていきます。
Automation is not just about speed, it’s about removing friction.