MV3 Service Worker時代にGoogle Drive同期エンジンを作るには何を捨てるべきか
Chrome拡張のManifest V3(MV3)では、Service Workerがいつ死ぬかわからないので、昔のような「メモリに状態を持つ」設計が通用しない そのため、データの正本は chrome.storage.local に置く「disk-first」な作り方が重要になる オフラインや通信断を前提にし、ローカルとGoogle Drive上のデータを安全にマージする必要がある Googleの公式SDKを捨て、native fetch でDrive APIを叩くことで、軽量で速い拡張機能を目指している ただしその代わり、multipart/related のHTTPリクエストを手書きするという、なかなか骨の折れる作業が発生する 制約は面倒だが、うまく付き合うと「ブラウザに自然になじむ」設計に近づく、というのがこの記事の主張 Stack Overflowの記事「Building a Google Drive Sync Engine that Survives MV3 Service Workers」は、Chrome拡張の世界で起きている地味だけ
papoo.work