(
source = "popup",
{ prefix = "" } = {}
)
| 2507 | } |
| 2508 | |
| 2509 | async function consumeLastImportActivity( |
| 2510 | source = "popup", |
| 2511 | { prefix = "" } = {} |
| 2512 | ) { |
| 2513 | try { |
| 2514 | const response = await chrome.runtime.sendMessage({ |
| 2515 | action: "consumeLastImportActivity", |
| 2516 | }); |
| 2517 | if (!response?.success) { |
| 2518 | console.warn( |
| 2519 | `[consumeLastImportActivity:${source}] Invalid response:`, |
| 2520 | response |
| 2521 | ); |
| 2522 | return false; |
| 2523 | } |
| 2524 | const activity = response.activity; |
| 2525 | const count = Number(activity?.count) || 0; |
| 2526 | const duplicateCount = Number(activity?.duplicateCount) || 0; |
| 2527 | const listKey = activity?.listKey; |
| 2528 | if (!activity || (count <= 0 && duplicateCount <= 0) || !listKey) { |
| 2529 | return false; |
| 2530 | } |
| 2531 | |
| 2532 | console.log( |
| 2533 | `[consumeLastImportActivity:${source}] Replaying import activity for ${listKey}: +${count}, duplicate=${duplicateCount}.` |
| 2534 | ); |
| 2535 | const selected = await selectListAndRefreshTextarea(listKey, { |
| 2536 | switchToEditList: true, |
| 2537 | scrollToBottom: true, |
| 2538 | }); |
| 2539 | if (!selected) { |
| 2540 | showDorkList({ focusTextarea: false }); |
| 2541 | } |
| 2542 | showSuccessAnimation( |
| 2543 | formatImportActivityMessage(count, duplicateCount, prefix), |
| 2544 | ".sucessCheck" |
| 2545 | ); |
| 2546 | return true; |
| 2547 | } catch (error) { |
| 2548 | console.warn( |
| 2549 | `[consumeLastImportActivity:${source}] Failed:`, |
| 2550 | error?.message || error |
| 2551 | ); |
| 2552 | return false; |
| 2553 | } |
| 2554 | } |
| 2555 | |
| 2556 | function setupExtensionMessageListener() { |
| 2557 | chrome.runtime.onMessage.addListener((message, sender, sendResponse) => { |
no test coverage detected