2022-11-29T15:38:59.000Z優しい写真|nsfw1086@gnusocial.jpreplying to ぐぬ管 (GNU social JP管理人)|gnusocialjp@gnusocial.jp@gnusocialjp 遅くなってしまいごめんなさい、 前回アバター画像を変更したときの手順はこうです。 Classic UI を使用している状態から、 settings/qvitter にて [Disable Qvitter] のチェックを外したあと、[Save]。 メニューの [HOME] で Qvitter の ホーム画面に遷移する。 ホーム画面の [プロフィールを編集する] の文字をクリックすると アバター画像に重なってカメラマークが表示されるので、 カメラマークをクリックして手元にある jpeg ファイルをアップロードしました。 そのときのファイル名は jr2uj0fp_400x400 - コピー.jpg でした。
一部のユーザーがアバター画像類を変更すると、ユーザー画面を開くと、以下のJavaScriptエラーが出ていて、表示できない。
何らかの理由で
obj.backgroundimage is null
になっていて、後続処理が失敗しているようだ。報告元 https://gnusocial.jp/notice/1136099。検証環境で再現できないので、このエラーから原因を推測して対応するしかなさそう。
問題になっているbackgroundimageを設定しているのは以下の3箇所。
このuserArrayがなんか変か。backgroundimageは基本的に背景画像のURL。中途半端にfalseが入って型がごちゃまぜになっているのがまずい。
コールスタックで例外の発生場所とその時のobjの内容。
if文がまずい気がする。
変数類がnullの場合を考慮できていなくて、nullアクセスで例外が発生していた。使用するオブジェクトのnullガードを入れて解決した。
Add null guard · 57b4e728cf - NotABug.org: Free code hosting
APIがbackgroud-image=falseを返すことがあり、falseのURLを参照しにいってしまっていたので、falseの場合は空になるように修正した。
Consider API returning false background-image value · d630b65e52 - NotABug.org: Free code hosting