まめ畑

ゆるゆると書いていきます

Settings APIの動作が怪しい

Jetpack Featureの設定情報を管理するためのSettings APIですが、若干動作が怪しいのでメモしておきます。自分の環境だけかもしれないのですが…。


まず、設定TypeをRangeに設定した場合、設定値が正常に書き込まれなかったり(undefinedになる)、defaultプロパティを設定した場合常にその値が使用されたりします。
また、0.7にバージョンが上がってから、SettingsのボタンがSettings APIを使用していないFeatureに関しては無効になっていますが、FeatureのバージョンアップでSettings APIを使用するように変更が行われても、このボタンが有効にならないバグがあります。このバグは既に修正に入っているようで時期リリースで修正予定です
settings link in install list not working - mozilla-labs-jetpack | Google Groups
536780 – Settings button on about:jetpack enabled only after initial install


あと、Settingsを使用して設定した値を取り出す際に、「jetpack.storage.settings.hogeSetting.password」のようにして参照しますが、例えば「jetpack.storage.settings.hogeSettin.password」のように設定されていない情報を読みだそうとすると、エラーなどが出力されず、そこでFeatureの処理が停止してしまうことがあります。これはJetpack本体からのエラー出力もないのでデバッグの際に注意が必要です(定義されていないというエラーが表示される事もあります…)


さっきFeatureを作成していて出た症状なので、もう少し動作を追ってみよう思います(他の環境ではでないエラーかもしれないので…)