improve debugging stack traces in MkPagination.vue

This commit is contained in:
Hazelnoot 2025-04-02 21:27:05 -04:00
parent b5a3066a06
commit d7784ea4ff

View file

@ -244,9 +244,10 @@ const reload = (): Promise<void> => {
const fetchMore = async (): Promise<void> => {
if (!more.value || fetching.value || moreFetching.value || items.value.size === 0) return;
moreFetching.value = true;
try {
const params = getActualValue<Paging['params']>(props.pagination.params, {});
const offsetMode = getActualValue(props.pagination.offsetMode, false);
await misskeyApi<MisskeyEntity[]>(props.pagination.endpoint, {
const res = await misskeyApi<MisskeyEntity[]>(props.pagination.endpoint, {
...params,
limit: SECOND_FETCH_LIMIT,
...(offsetMode ? {
@ -254,13 +255,13 @@ const fetchMore = async (): Promise<void> => {
} : {
untilId: Array.from(items.value.keys()).at(-1),
}),
}).then(res => {
});
for (let i = 0; i < res.length; i++) {
const item = res[i];
if (i === 10) item._shouldInsertAd_ = true;
}
const reverseConcat = _res => {
const reverseConcat = (_res: typeof res) => {
const oldHeight = scrollableElement.value ? scrollableElement.value.scrollHeight : getBodyScrollHeight();
const oldScroll = scrollableElement.value ? scrollableElement.value.scrollTop : window.scrollY;
@ -281,28 +282,24 @@ const fetchMore = async (): Promise<void> => {
if (props.pagination.reversed) {
reverseConcat(res).then(() => {
more.value = false;
moreFetching.value = false;
});
} else {
items.value = concatMapWithArray(items.value, res);
more.value = false;
moreFetching.value = false;
}
} else {
if (props.pagination.reversed) {
reverseConcat(res).then(() => {
more.value = true;
moreFetching.value = false;
});
} else {
items.value = concatMapWithArray(items.value, res);
more.value = true;
moreFetching.value = false;
}
}
}, err => {
} finally {
moreFetching.value = false;
});
}
};
const fetchMoreAhead = async (): Promise<void> => {