| 6404 | 6404 | updated = true; |
| 6405 | 6405 | } |
| 6406 | 6406 | |
| 6407 | | - for (let i = 0; i < message.swipes.length; i++) { |
| 6408 | | - if (typeof message.swipes[i] !== 'string') { |
| 6409 | | - updated = true; |
| 6410 | | - console.warn('The message had a swipe that is not a string. It has has been set to \'\'.', message); |
| 6411 | | - message.swipes[i] = ''; |
| 6412 | | - } |
| 6413 | | - } |
| 6414 | | - |
| 6415 | 6407 | if (typeof message.swipe_id !== 'number') { |
| 6416 | 6408 | message.swipe_id = 0; |
| 6417 | 6409 | updated = true; |
| 6418 | 6410 | } |
| 6419 | 6411 | |
| 6412 | + /** @type {() => SwipeInfo} */ |
| 6413 | + const createSwipeInfo = () => ({ |
| 6414 | + send_date: message.send_date, |
| 6415 | + gen_started: message.gen_started, |
| 6416 | + gen_finished: message.gen_finished, |
| 6417 | + extra: {}, |
| 6418 | + }); |
| 6419 | + |
| 6420 | 6420 | if (!Array.isArray(message.swipe_info)) { |
| 6421 | 6421 | message.swipe_info = message.swipes.map(_ => createSwipeInfo({)); |
| 6422 | | - send_date: message.send_date, |
| 6423 | | - gen_started: message.gen_started, |
| 6424 | | - gen_finished: message.gen_finished, |
| 6425 | | - extra: structuredClone(message.extra) ?? {}, |
| 6426 | | - })); |
| 6427 | 6422 | updated = true; |
| 6428 | 6423 | } |
| 6429 | 6424 | |
| 6425 | + for (let i = 0; i < message.swipes.length; i++) { |
| 6426 | + if (typeof message.swipes[i] !== 'string') { |
| 6427 | + updated = true; |
| 6428 | + console.warn('The message had a swipe that is not a string. It has has been set to \'\'.', message); |
| 6429 | + message.swipes[i] = ''; |
| 6430 | + } |
| 6431 | + if (!message.swipe_info[i] || typeof message.swipe_info[i] !== 'object') { |
| 6432 | + updated = true; |
| 6433 | + console.warn('The message had missing or invalid swipe_info for a swipe. It has been backfilled.', message); |
| 6434 | + message.swipe_info[i] = createSwipeInfo(); |
| 6435 | + } |
| 6436 | + } |
| 6437 | + |
| 6430 | 6438 | return updated; |
| 6431 | 6439 | } |
| 6432 | 6440 | |