Remove unnecessary check for swipe info to fix #4717 (#4718) * - Removed unneccessary check for swipe info. Swipes are valid and can be read by the chat message UI just fine without the dates and details surrounding generation settings. * + Swipe info will now be backfilled if it's missing using placeholder data, to improve compatibility. * + Fix big oopsie.

5f35a38963a0ee21f63ef9d7e3be584d39e4a2a3

docfail <4965997+docfail@users.noreply.github.com>

Signed
1 files changed, +12 -2Ignore whitespace
public/script.js+12 -2
@@ -6059,17 +6059,27 @@ export function syncSwipeToMes(messageId = null, swipeId = null) {
60596059 return false;
60606060 }
60616061 // If swipes structure is invalid, exit out
60626062 if (!Array.isArray(targetMessage.swipe_info) || !Array.isArray(targetMessage.swipes)) {
60636063 return false;
60646064 }
60656065
6066+ // Backfill swipe_info if missing.
6067+ if (!Array.isArray(targetMessage.swipe_info)) {
6068+ targetMessage.swipe_info = targetMessage.swipes.map(_ => ({
6069+ send_date: targetMessage.send_date,
6070+ gen_started: void 0,
6071+ gen_finished: void 0,
6072+ extra: {},
6073+ }));
6074+ }
6075+
60666076 const targetSwipeId = targetMessage.swipe_id;
60676077 if (typeof targetMessage.swipes[targetSwipeId] !== 'string') {
60686078 console.warn(`[syncSwipeToMes] Invalid swipe ID: ${targetSwipeId}`);
60696079 return false;
60706080 }
60716081
60726082 const targetSwipeInfo = targetMessage?.swipe_info?.[targetSwipeId];
60736083 if (typeof targetSwipeInfo !== 'object') {
60746084 console.warn(`[syncSwipeToMes] Invalid swipe info: ${targetSwipeId}`);
60756085 }