-
-
Notifications
You must be signed in to change notification settings - Fork 1.4k
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
feat(frontend): スワイプやボタンでタイムラインを再読込する機能 #12113
Conversation
Codecov ReportAttention:
Additional details and impacted files@@ Coverage Diff @@
## develop #12113 +/- ##
===========================================
- Coverage 79.12% 78.98% -0.14%
===========================================
Files 940 176 -764
Lines 100933 23052 -77881
Branches 8210 493 -7717
===========================================
- Hits 79860 18208 -61652
+ Misses 21073 4844 -16229
☔ View full report in Codecov by Sentry. |
データセーバーと連動させてもいいかも(ややこしくなるかもしれないけど) |
うーん...データセーバーがonなら自動更新が一度も手動で変更されてなければ自動で更新無効をつける...とか? その場合だったらあまり連動のメリットは無さそうに見える気がします(しゅいろさんがどうしたいのかにもよりますが) |
たしかにややこしそうなのでこれはいいか データセーバーのスイッチをタイムライン自動更新のスイッチの隣に置き直すのがいいかも |
iPadOS 17.1 Safariでは引っ張ることができなかった |
ぷえー 色々見直してみます。ちなみにどういう挙動か教えていただけますか(iPad持っていないので検証ができない) |
下方向に動かそうとしても動かず、文字通り引っ張れない感じです(後で録画共有します) |
RPReplay_Final1698057946.mp4 |
あー...デバイス判定うまく行ってないっぽいですね PointerEventが存在してかつdeviceKindがPCのときにpointermoveを使用してるようにしてるのでデバイス設定をタブレットにすると多分動きそうです...たぶん |
ipados Safariはmacosらしい😇 https://scrapbox.io/shokai/iPadOS%E3%81%AEUserAgent%E5%88%A4%E5%88%A5 |
近年はプライバシーとかなんとかでUAはあてにできなくなってる |
scrollStopはスクロールY座標がscrollStop以上(タッチ操作の場合はscrollStopに引っ張ったときの長さ分加える)のときに強制的に引張イベントをキャンセルするために使います。
|
ふむ |
(あとそもそも非タッチ操作の場合はPull to Refreshできる必要がなさそうに思った) |
このPRによるapi.jsonの差分 差分はこちら |
👍🏻 👍🏻 👍🏻 |
* pc reloading * add: disable TL websocket option * fix: stream disconnect when reload * add: pull to refresh * fix: pull to refresh * add changelog * fact: change to disableStreamingTimeline * lint * remove: en-US text * refactor * refactor * add license identifier * tweak * Update MkPullToRefresh.vue * Update MkPullToRefresh.vue * change name timeoutHeartBeat * tweak * 🎨 --------- Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
* feat(frontend): スワイプやボタンでタイムラインを再読込する機能 (misskey-dev#12113) * tweak MkPullToRefresh cheery-picked from 52dbab5 Co-authored-by: syuilo <Syuilotan@yahoo.co.jp> * enhance(frontend): improve pull to refresh cheery-picked from d0d32e8 Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
これ、既に良い感じにされているでしょうか? (忘れられてしまっているような気がしました) 確認したサーバー: https://mi.7mi.site/ (develop追従タイプのサーバー) |
(その後のコードがどう変わったかわからないのでこのPR上でですが) 文字通りタイムラインでのwebsocketからの受信をしないようにします 通知やその他のwebsocketに依存してるものは通常通り受信されているはずです |
あっと…機能自体についてではなく、機能の切り替えスイッチの配置位置の話について気になっています |
コミットではしゅいろさんが変えた形跡がないので忘れているか、それとも気にしていないかの2択ですね... |
What
タイムラインの再読み込みとWebSocketの再接続が行われます。
WebSocket全体を無効にすると通知やその他更新もなくなってしまい利便性が下がるためタイムラインだけの無効化です。
スワイプ部分
自動更新を無効時
Why
resolve #9119 , resolve #11855
メインのタイムラインがスマートフォンの場合ブラウザやPWAから一時的に離れて数分後に戻るとWebSocketが止まった状態になり、全体を読み込み直す必要があるためその分データが余分に取られるため。
Additional info (optional)
ChromeでのPC表示、スマートフォン表示、iPhoneでの表示で正常に動作することを確認しています。
Checklist