ytptube/ui/app
Jesse Bate f1365f6fba perf: extend WebSocket batching to item_moved events
Bursts of completions (e.g. small playlist entries) fire one item_moved
frame per item. Route item_moved through the same ItemBatcher mechanism
as item_updated: one frame per 500ms tick, payload always a list.

ItemBatcher gains an optional key callable since item_moved payloads are
{"to", "preset", "item"} dicts rather than ItemDTOs; moves coalesce by
item _id with last write wins, so an item that moves twice within a tick
delivers only its final destination. The notifications service consumes
ITEM_MOVED from the event bus directly and is unaffected.

BREAKING CHANGE: the item_moved WebSocket event payload (data) is now
always an array of {to, preset, item} objects instead of a single one.
2026-06-10 23:47:25 +09:30
..
assets/css rerfactor: add page transition toggle 2026-06-08 07:53:05 +03:00
components perf: lazy-load folders on demand; remove queue from config endpoint 2026-06-10 20:07:19 +09:30
composables perf: extend WebSocket batching to item_moved events 2026-06-10 23:47:25 +09:30
layouts rerfactor: add page transition toggle 2026-06-08 07:53:05 +03:00
pages refactor: fix loading older logs 2026-06-08 09:56:21 +03:00
plugins fix: opacity interaction with the new form guard 2026-04-15 18:14:36 +03:00
types perf: extend WebSocket batching to item_moved events 2026-06-10 23:47:25 +09:30
utils feat: add system diagnostics endpoint. 2026-05-26 19:22:36 +03:00
app.config.ts Refactor: rebase the UI on top of nuxt/ui 2026-03-25 22:59:53 +03:00
error.vue Refactor: rebase the UI on top of nuxt/ui 2026-03-25 22:59:53 +03:00
spa-loading-template.html refactor: minor UI update for diagnostics page 2026-05-31 16:08:45 +03:00