mirror of
https://codeberg.org/yeentown/barkey
synced 2024-11-26 23:53:01 +00:00
dbfafe25e3
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 |