最近出たドール素体の可動範囲が凄くて驚いてた。 リンク先裸素体注意 https://mastodoll.net/@zoukin/229154
v1.3.6
- 固定トゥートを読む時にmax_idを見ない(繰り返さない)
- インスタンス情報カラムの表示が他カラムの影響をうけておかしくなることがあった不具合を修正
@petitsurume pawooタンスとか1.6未満だけど独自に固定トゥートしてるとこはどうなるんだろ…
バージョン文字列の比較はこんな感じにしました。 1.0rc が 1.0 より大きくなっちゃうけどアプリ的には別に困らんし
https://github.com/tateisu/SubwayTooter/blob/master/app/src/main/java/jp/juggler/subwaytooter/util/VersionString.java
@petitsurume 1.6未満のタンスだと単にpinnedパラメータが無視されてしまうのだ。タンスAPI呼んでバージョン文字列の比較するしかない
@petitsurume まあPRのサマリにAPIの概要くらいは書いてあるけど、statusのパースにpinned項目を追加、とかは書かれてない
APIから40overの固定トゥートを取得することは現状考慮されてなさそうだし、max_id見て繰り返すのやめるか
1.6rcの固定トゥートについて
- 公開プロフィールではサーバ側レンダリングされる。特にページングは行われず、50個あれば50個表示される。「次へ」を押しても毎ページに固定トゥートが表示される。
- max_idを指定せずにAPIで取得すると適当な件数のリストが返ってくる。ソート順はpinした日時。max_idはリスト中の最後の要素のIDを返す
- max_idを指定してAPIで取得すると「ステータスIDがmax_idより小さい&pinされている」トゥートをpin日時順にソートしたものが返ってくる
- max_idはpin日時を考慮していないのだからページング用のパラメータとしては全く不適切である
- 取得できるステータスにはpinされた日時は含まれない
この仕様だと、固定トゥートを連続的に取得するのはAPIからだと無理じゃね?
アプリ的にはRelationshipを読みなおせば済むので、強硬に主張するとか自分でPRを書くとかいうところまで行かない
v1.3.5
- 1.6未満のタンスで固定トゥートを読み込まないようにした
「フォローできました(実はまだ処理中で成否は分からない)」はゲームにたとえると item dupe bug 並のアレですよ
あーそうか、1.6未満のタンスで /api/v1/accounts/1/statuses?pinned=1 を呼び出したらpinnedパラメータが無視されるだけじゃん。。。 そりゃプロフィール画面の表示が重くなる訳だよ
v1.3.4
- フォローリクエスト申請中/処理中のアイコン図柄を「砂時計+人物」に変更。
- フォローAPI呼び出しの後にRelationshipを読み直す(※1)
※1: Workaround for bad modification of Mastodon API. https://github.com/tootsuite/mastodon/pull/4799
成功したように見えてリロードしたら申請中になるのと、申請中に見えてリロードしたら成功になるのとでは後者の方がまだユーザに説明しやすい
つまりrc2では「locked=falseなユーザへのフォローはその直後はフォローできたようにみえるけどカラムをリロードしてrelationshipを読み直すとrequested状態にみえる」という挙動になる…のか。誤魔化そうとして誤魔化しきれてない感じで、アプリ的には余計ややこしいかな。別にrequested状態が返ってきても問題ないのに
今まで「unfollowしてもrequested状態だったらエラーメッセージを差し替える」って処理をしてたので、200が返ってrequested状態がfalseになってるなら特に問題はないか…
おー。1.6rcだとフォローリクエスト申請中に unfollow APIを呼び出すと成功レスポンスが返る!
@sakko2005 多分1000個くらい固定すると問題でるよー。API側の問題なのでアプリ的にはどうだかなあ…
@sakko2005 多分1000個くらい固定すると問題でるよー。API側の問題なのでアプリ的にはどうだかなあ…
v1.3.3
- システム通知をタップしても通知が消えなかった問題の対策
- アンケート項目の文字数制限を検証
- 1.6の固定トゥート機能に対応
/api/v1/accounts/xxx/statuses?pinned=1 の出力はpinした時刻順だがpinした時刻そのものは出力に含まれてないので勝手にソートしたらダメっぽい
/api/v1/accounts/xxx/statuses?limit=80&pinned=1 を取得した時のLinkヘッダが /api/v1/accounts/xxx/statuses?limit=80&max_id=5780831 になっててpinnedパラメータが失われてる