mirror of
https://github.com/Youzini-afk/ST-Bionic-Memory-Ecology.git
synced 2026-06-13 18:31:16 +08:00
fix(recall): preserve reroll user-floor reuse
This commit is contained in:
@@ -467,9 +467,15 @@ export function onMessageUpdatedController(runtime, messageId, meta = null) {
|
||||
}
|
||||
|
||||
export async function onMessageSwipedController(runtime, messageId, meta = null) {
|
||||
runtime.invalidateRecallAfterHistoryMutation("已切换楼层 swipe");
|
||||
const parsedFloor = Number(messageId);
|
||||
const fromFloor = Number.isFinite(parsedFloor) ? parsedFloor : undefined;
|
||||
const preparedRerollReuse = runtime.prepareRerollRecallReuse?.({
|
||||
fromFloor,
|
||||
meta,
|
||||
});
|
||||
if (!preparedRerollReuse) {
|
||||
runtime.invalidateRecallAfterHistoryMutation("已切换楼层 swipe");
|
||||
}
|
||||
let result = {
|
||||
success: false,
|
||||
rollbackPerformed: false,
|
||||
@@ -503,6 +509,9 @@ export async function onMessageSwipedController(runtime, messageId, meta = null)
|
||||
{ messageId, meta },
|
||||
);
|
||||
}
|
||||
if (!result?.success) {
|
||||
runtime.clearPendingRerollRecallReuse?.("swipe-reroll-failed");
|
||||
}
|
||||
runtime.refreshPersistedRecallMessageUi?.();
|
||||
return result;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user