dakkar
dbfafe25e3
rework pagination - fixes #491
...
previously, when adding items either at the beginnig (e.g. new notes
coming in while we're not looking at the top of the timeline) or a the
end (e.g. more items arriving from a background fetch) of a paginated
view, the resulting list got truncated to `displayLimit`, potentially
throwing data away and causing a new fetch.
This, coupled with the async nature of scrolling & fetching, could
cause weird results.
Also, `offset` was always incremented by the size of the fetched
results, even if not all of them were displayed, meant that it was
possible for offset-based pagination to drop items.
Finally, the "queue" of new items (usually, new notes) also got
truncated to `displayLimit`, which again could drop items (this effect
was usually masked by the first point: when scrolling to the top of
the timeline, if the queue's length was equal to `displayLimit`, those
notes displaced any existing ones, `unshiftItems` set
`more.value=true`, you got scrolled to the top, and notes were fetched
again, so you lost your position but at least all notes got shown,
eventually)
2024-04-19 13:35:18 +01:00
tamaina
c1514ce91d
(re) update SPDX-FileCopyrightText
...
Fix #13290
2024-02-13 15:59:27 +00:00
tamaina
311c2172d7
Revert "update SPDX-FileCopyrightText"
...
This reverts commit 9b5aeb76d8
.
2024-02-13 15:50:11 +00:00
syuilo
9b5aeb76d8
update SPDX-FileCopyrightText
2024-02-12 11:37:45 +09:00
yukineko
a6a91fec3a
refactor: frontendのcomponentsの型エラーを改善 ( #12926 )
...
* add: safeFloatParserを追加
* fix: 欠けていた型を追加
* refactor: pageBlockTypesをjson-schemaに移植
* refactor: components/global内の型エラーが出ている箇所を修正
* lint: fix null check style
* refactor: fix type error
* refactor: fix some type errors
* fix: 翻訳が抜けていた箇所を修正
* refactor: getJsonSchemaで正しいスキーマが返されるように修正
* fix: MkChartの型エラーとbytesオプションが機能していない問題を修正
* fix(misskey-js): `drive`->`folderUpdated`のpayloadの型が間違っていたのを修正
* refactor: fix some type errors
* change: Captcha読み込み中の文言をLoadingに変更
* refactor(backend/misskey-js): MainEventの型を改善
* refactor: chartjs-plugin-gradientが二重でpluginに登録されていたのを修正
* update: misskey-js.api.md
* refactor: fix some type errors
* fix: backendのtypecheckが落ちていたのを修正
* update: misskey-js.api.md
* add: json-schemaのnoteにpollの型定義を追加
* refactor: noteのjson-schemaの型を改善
* refactor: MkPoll
* refactor: fix some type errors
* change: UserLiteにisLockedを持たせるように
* fix: notificationスキーマにroleが含まれていないのを修正
* Revert "change: UserLiteにisLockedを持たせるように"
This reverts commit 1bb0c8e7a9b19a4e9f21bf7381712b98f27672a5.
* fix: フォロー通知から鍵垢へのフォローを行うと処理中のまま止まってしまう問題を修正
* refactor: noteスキーマのvisibilityにenumを追加
* change: deepCloneのCloneableTypeにundefinedを追加
* refactor: fix some type errors
* refactor: `allowEmpty: false`を使用していた箇所を`minLength: 1`に置き換え
* enhance: API 'retension' のresponseの型を追加
* fix: Chart関連のtooltipが正しい位置に表示されない問題を修正
* refactor: fix some type errors
* fix: 型情報が不足していたのを修正
* enhance: announcementスキーマにenumを追加
* enhance: ロールポリシーの型定義をRoleServiceからjson-schemaに移植
* refactor: policiesを`ref: RolePolicies`に統一
* fix: API `meta` のレスポンスの型にpoliciesが含まれていないのを修正
* refactor: fix some type errors
* fix: backendのlintが落ちているのを修正
* fix: MkFoldableSectionの開閉時のanimationが適用されていない問題を修正
* fix: backendのtypecheckが落ちているのを修正
* update: run build-misskey-js-with-types
* fix: MkDialogのmount時に文字数制限の判定が行われない問題を修正
* update: CHANGELOG.md
* refactor: MkUserSelectDialogの型を改善
* fix: deepCloneでundefinedはcloneしないように (#9207 )
* change: frontendのcloneをbackend側にも反映
* update: CHANGELOG.md
* fix: RoleServiceからPackを通して型RolePoliciesに依存させないように
* Update packages/frontend/src/scripts/get-note-summary.ts
* revert RoleService.ts changes
* change: optional chaining -> non-null assertion
* remove: unused import
* fix: propsで渡されたuserがUserLiteの場合に意図しない動作になってしまうのを修正
* change: fix null check style
* refactor: fix type error
* change: fix null check style
* Update packages/frontend/src/components/MkDrive.vue
Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
* refactor: css moduleでglobalを使わないように
* refactor: roleのiconUrlは必ず存在するものとして扱うように
* enhance: MenuButtonのactiveにcomputedを受け付けられるように
* Update packages/frontend/src/components/MkNotePreview.vue
* Update MkWindow.vue
* refactor: notification.noteは必ず存在するものとして扱うように
* Update packages/frontend/src/components/MkNotification.vue
Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
* fix: MkSignupDialogでdoneのemit時にresを含んでいなかったのを修正
* Update packages/frontend/src/scripts/clone.ts
Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
* refactor: 不要な返り値の型を削除
* refactor: 不要なnullチェックを削除
* update: misskey-js-autogen
* update: clone.ts
* refactor
* Update MkNotification.vue
* Update MkNotification.vue
* ✌️
* Update MkNotification.vue
* Update MkNotification.vue
* Update MkNotification.vue
* Update MkNotifications.vue
* Update MkUserSetupDialog.Profile.vue
* Update MkUserCardMini.vue
* ✌️
* Update MkMenu.vue
---------
Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
2024-01-30 19:53:53 +09:00
おさむのひと
fa9c4a19b9
refactor(frontend): os.tsに引き込んだscripts/api.tsの再exportをやめる ( #12694 )
...
* refactor(frontend): os.tsに引き込んだscripts/api.tsの再exportをやめる
* fix
* fix
* renate to "misskeyApi"
* rename file
2024-01-04 18:32:46 +09:00
zyoshoka
0009aa332b
refactor(frontend): import宣言周りのエラーを修正 ( #12773 )
2023-12-24 16:16:58 +09:00
zyoshoka
406b4bdbe7
refactor(frontend): 非推奨となったReactivity Transformを使わないように ( #12539 )
...
* refactor(frontend): 非推奨となったReactivity Transformを使わないように
* refactor: 不要な括弧を除去
* fix: 不要なアノテーションを除去
* fix: Refの配列をrefしている部分の対応
* refactor: 不要な括弧を除去
* fix: lint
* refactor: Ref、ShallowRef、ComputedRefの変数の宣言をletからconstに置換
* fix: type error
* chore: drop reactivity transform from eslint configuration
* refactor: remove unnecessary import
* fix: 対応漏れ
2023-12-07 14:42:09 +09:00
anatawa12
a631b976c9
Refine fanout timeline ( #12507 )
...
* chore(endpoints/hybrid-timeline): don't pack inside getFromDb
* chore(endpoints/hybrid-timeline): Redisから取得する部分のうちSTLに依存しなそうなところを別のServiceに切り出し
* chore(endpoints/local-timeline): FanoutTimelineEndpointServiceで再実装
* chore(endpoints/channels/timeline): FanoutTimelineEndpointServiceで再実装
* chore(endpoints/timeline): FanoutTimelineEndpointServiceで再実装
* chore(endpoints/user-list-timeline): FanoutTimelineEndpointServiceで再実装
* chore(endpoints/users/notes): FanoutTimelineEndpointServiceで再実装
* chore: add useDbFallback to FanoutTimelineEndpointService.timeline and always true for channel / user note list
* style: fix lint error
* chore: split logic to multiple functions
* chore: implement redis fallback
* chore: 成功率を上げる
* fix: db fallback not working
* feat: allowPartial
* chore(frontend): set allowPartial
* chore(backend): remove fallbackIfEmpty
HTL will never be purged so it's no longer required
* fix: missing allowPartial in channel timeline
* fix: type of timelineConfig in hybrid-timeline
---------
Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
2023-12-02 18:25:07 +09:00
おさむのひと
ec04c76ee5
通知グルーピング設定の即時反映対応 ( #12485 )
...
* wip
* ログ出しの削除
* fix CHANGELOG.md
---------
Co-authored-by: osamu <46447427+sam-osamu@users.noreply.github.com>
2023-11-28 20:43:25 +09:00
おさむのひと
96f1728573
fix: 表示済みのカラムから別のチャンネルを選択した時、タイムラインの内容が追従して変更されない問題に対処 ( #12237 )
...
* 表示済みのカラムから別のチャンネルを選択した時、タイムラインの内容が追従して変更されない問題に対処
* fix CHANGELOG.md
* fix code style
* Update MkTimeline.vue
* コメント対応(MkButtonのimportとonBeforeUpdate->watch)
* fix CHANGELOG.md
* Update MkPagination.vue
---------
Co-authored-by: osamu <46447427+sam-osamu@users.noreply.github.com>
Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
2023-11-15 11:24:54 +09:00
_
c239058624
feat(frontend): スワイプやボタンでタイムラインを再読込する機能 ( #12113 )
...
* 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>
2023-10-30 09:12:20 +09:00
syuilo
7436e0da18
lint fixes
2023-10-29 16:09:20 +09:00
syuilo
b0f6c44f36
refactor(frontend): use ESM
2023-09-19 16:37:43 +09:00
syuilo
1f7a81aae7
update deps ( #11764 )
...
* update deps
* node16
* wip
* wip
* wip
* Update test-utils.ts
* wip
* Update tsconfig.json
* wip
* Update package.json
* wip
* Update following.vue
* Update followers.vue
* Update index.vue
* Update share.vue
* Update MkUserPopup.vue
* Update MkPostForm.vue
* wip
* Update MkTokenGenerateWindow.vue
* Update MkPagination.vue
* refactor
* update deps
* update deps
* Update sw.ts
* wip
* wip
* wip
* Update FetchInstanceMetadataService.ts
* Update FetchInstanceMetadataService.ts
* update node
* update deps
* 🎨
2023-09-04 13:33:38 +09:00
Shun Sakai
c2370a1be6
chore: 著作権とライセンスについての情報を各ファイルに追加する ( #11348 )
...
* chore: Add the SPDX information to each file
Add copyright and licensing information as defined in version 3.0 of
the REUSE Specification.
* tweak format
---------
Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
2023-07-27 14:31:52 +09:00
okayurisotto
2b6dbd4fcb
refactor: 可読性のため一部でArray.prototype.at
を使うように ( #11274 )
...
* refactor: `Array.prototype.at`を使うように
* fixup! refactor: `Array.prototype.at`を使うように
2023-07-14 10:45:01 +09:00
tamaina
06bf5c1ff1
fix(frontend): In MkPagination, init() also initializes items
...
ユーザーページのノートタブで小タブを変更すると前のタイムラインが残る問題を修正
2023-07-06 06:43:05 +00:00
tamaina
92d9946f59
enhance(frontend): Better Timeline(MkPagination) Experience ( #11066 )
...
* enhance(frontend): Better MkPagination Appearance
* fix
* fix
* 新規投稿が空でも先頭に戻ったらunshiftItemsする
* use Map
* refactor, 型エラー潰し
* refactor
2023-07-05 00:59:37 +09:00
Ebise Lutica
34a32a8334
エラー画像URLを設定可能に ( #10959 )
...
* エラー画像URLを設定可能に
* Update CHANGELOG.md
* 設定したエラーアイコンをprefetchするようにbase.pugを変更
* 不足していたデータを追加
* enhance(frontend): デザイン調整
2023-06-09 14:00:53 +09:00
syuilo
6a5ef5b6f2
refactor
2023-05-19 13:58:09 +09:00
syuilo
c032dd1214
fix(frontend): tweak MkPagination behaviouyr
2023-04-03 11:50:17 +09:00
syuilo
c823cbe63b
refactor(frontend): remove $store
2023-04-01 13:42:40 +09:00
syuilo
353b1cc682
[ci skip] 🎨
2023-03-05 20:52:26 +09:00
YS
cc8d60e53b
バックグラウンドで一定時間経過したらページネーションのアイテム更新をしない ( #10053 )
2023-02-25 08:18:12 +09:00
syuilo
0fb9c372dd
lint
2023-02-22 15:28:17 +09:00
futchitwo
1ac7c154d7
fix: pagenation ( #9885 )
2023-02-12 08:21:40 +09:00
tamaina
a9acd72eb7
fix(client): Fix #9600 chat paging issue
...
Previous chat history not shown
2023-01-15 14:28:02 +00:00
syuilo
9a78bbf0f1
refactor(client): use css modules
2023-01-14 15:01:28 +09:00
tamaina
d2204fd5c8
refactor: pagination/date-separated-list系処理を良い感じに? ( #8209 )
...
* pages/messaging/messaging-room.vue
* wip
* wip
* wip???
* wip?
* ✌️
* messaaging-room.form.vue rewrite to compositon api
* refactor
* 関心事でないのでとりあえず置いておく
* 🎨
* 🎨
* i18n.ts
* fix scroll container find function
* fix
* FIX
* ✌️
* Fix scroll bottom detect
* wip
* aaaaaaaaaaa
* rename
* fix
* fix?
* ✌️
* ✌️
* clean up
* clena up
* refactor
* scroll event once or not
* fix
* fix once
* add safe-area-inset-bottom to spacer
* fix
* ✌️
* 🎨
* fix
* fix
* wip
* ✌️
* clean up
* fix lint
* Update packages/client/src/components/global/sticky-container.vue
Co-authored-by: Johann150 <johann.galle@protonmail.com>
* Update packages/client/src/components/ui/pagination.vue
Co-authored-by: Johann150 <johann.galle@protonmail.com>
* Update packages/client/src/pages/messaging/messaging-room.form.vue
Co-authored-by: Johann150 <johann.galle@protonmail.com>
* clean up: single line comment
* https://github.com/misskey-dev/misskey/pull/8209#discussion_r867386077
* fix
* asobi → tolerance
* pick form
* pick message
* pick room
* fix lint
* fix scroll?
* fix scroll.ts
* fix directives/sticky-container
* update global/sticky-container.vue
* fix, 🎨
* revert merge
* ✌️
* fix lint errors
* 🎨
* Update packages/client/src/types/date-separated-list.ts
Co-authored-by: Acid Chicken (硫酸鶏) <root@acid-chicken.com>
* https://github.com/misskey-dev/misskey/pull/8209#discussion_r917225080
* use '
* Update packages/client/src/scripts/scroll.ts
Co-authored-by: Acid Chicken (硫酸鶏) <root@acid-chicken.com>
* use Number.EPSILON
Co-authored-by: acid-chicken <root@acid-chicken.com>
* revert
* fix
* fix
* Use % instead of vh
* 🎨
* 🎨
* 🎨
* wip
* wip
* css modules
Co-authored-by: Johann150 <johann.galle@protonmail.com>
Co-authored-by: Acid Chicken (硫酸鶏) <root@acid-chicken.com>
2023-01-13 18:25:40 +09:00
syuilo
047262ab20
refactor
2023-01-05 21:04:56 +09:00
syuilo
2184240ef1
perf(client): use shallowRef for html element ref
2023-01-03 10:12:37 +09:00
syuilo
a0af80f8c5
tweak displayLimit of pagination
2023-01-03 09:41:32 +09:00
syuilo
632c7d2ac6
refactor
2022-12-30 13:37:14 +09:00
syuilo
4f15b6f7c2
Revert "perf?(client): remove needless scoped annotation for style"
...
This reverts commit ada04c1932
.
2022-12-27 18:29:39 +09:00
syuilo
ada04c1932
perf?(client): remove needless scoped annotation for style
2022-12-27 18:01:06 +09:00
syuilo
9384f5399d
rename: client -> frontend
2022-12-27 14:36:33 +09:00