mirror of
https://codeberg.org/yeentown/barkey.git
synced 2025-11-26 01:58:35 +00:00
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) |
||
|---|---|---|
| .. | ||
| .storybook | ||
| .vscode | ||
| @types | ||
| assets | ||
| lib | ||
| public | ||
| src | ||
| test | ||
| .eslintrc.cjs | ||
| .gitignore | ||
| package.json | ||
| tsconfig.json | ||
| vite.config.local-dev.ts | ||
| vite.config.ts | ||
| vite.json5.ts | ||
| vue-shims.d.ts | ||