-
Notifications
You must be signed in to change notification settings - Fork 6
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
マルチデバイス同期機能追加 #205
base: master
Are you sure you want to change the base?
マルチデバイス同期機能追加 #205
Conversation
いいですね! |
めちゃくちゃいいですね! |
|
設定をONに変更したとき:syncの中身が空の場合(≒同期機能初使用時)に限りlocalからsyncにデータをコピー |
Co-authored-by: das08 <[email protected]>
Co-authored-by: das08 <[email protected]>
Co-authored-by: das08 <[email protected]>
おっしゃる通りです。localとsyncを切り替える時に初期化されてしまいます。 SettingsのOnChange(?)にtinaxdさんのおっしゃた通りの処理を書こうと思ったのですが、動作がよく分かっていなかった(&じっくり読むのをサボってしまった)ので、syncのオンオフは頻繁に切り替えないだろうという想定の下、リセットを許容することにしてしまいました。 消えるのは課題のチェックぐらいでそんなに困らないだろうだと思っていましたが、そういえばmemoも消えてしまうんでしたね。それは消えると困りそうです。修正してみます。 |
マルチデバイス同期機能追加
Description
chrome.storage.local
をchrome.storage.sync
に変更することで、複数デバイス間で課題の完了状態・設定を共有できるようにしました。ただし、そのままでは1オブジェクトのサイズ制限に引っかかってしまうため、[hostname]-[key] の形でAssignmentsやQuiz, Settingsなどを別々に保存するように変更しました。
storageに対して変更が加わっていて問題が発生する可能性もあるため、sync機能はデフォルトでオフにし、「開発者設定」として有効化できるようにしています。
chromium版Microsoft Edgeについてはテストを行い、複数デバイス同期に成功しましたが、chrome, firefox, safariについてはテストできていません。(ストアからインストールしないと同期のテストができないため。Edgeについては"拡張機能のパック" 機能を用いてテストができた。)
しかし、chrome, firefoxでchrome.storage.syncに保存できていて、問題なく動いているということ自体は確認できました。
panda.mp4
変更点が多かったので不備があるかもしれません。ご確認よろしくお願いいたします。
Type of change
Levels of review