Skip to content

Saving multiple tabs does not work on chromium #1774

@DianaNites

Description

@DianaNites

Describe the bug

Saving multiple tabs does not work on the chromium browser. Either manually, by clicking the extension icon on multiple different tabs, or by selecting multiple different tabs and saving them all at once via the context menu.

To Reproduce
Steps to reproduce the behavior:

  1. Open two tabs to https://github.com/gildas-lormeau/SingleFile
  2. While focused on one tab, click the extension icon
  3. While the first tab is saving, switch to the other tab and click the extension icon
  4. One, both, or neither tabs will either 1) error quickly with an orange bar displaying "listener indicated an asynchronous response by returning true, but the message channel closed before a response was received" 2) hang indefinitely in the saving state, with the extension icon displaying 3 dots, or 3) hang for a long time and then display the error.

I have observed all 3 final results, with the most recent one being one tab displayed the error when I checked back a full hour later, and the other was still in the 3 dot state.

Expected behavior

All selected tabs should save correctly and successfully.

The same steps with an identical single-file configuration work on Mozilla Firefox

Screenshots

Environment

  • OS: Arch Linux
  • Browser: Chromium 139.0.7258.154 Arch Linux and Mozilla Firefox 142.0.1
  • Version: 1.22.81 (Both chromium and Firefox)

Additional context

On chromium, the tabs for saving are forcefully focused visibly "scrolled" down in the view port. The browser constantly and forcefully jumps between all tabs selected for saving until they fail or hang.

This does not happen on Firefox, which saves all selected tabs correctly, and does not focus them or jump between them.

This also happens when using the unpacked MV2 extension version from the zip file of the master branch here.

Configuration
{
  "profiles": {
    "Own": {
      "S3AccessKey": "",
      "S3Bucket": "",
      "S3Domain": "s3.amazonaws.com",
      "S3Region": "",
      "S3SecretKey": "",
      "_migratedTemplateFormat": true,
      "acceptHeaders": {
        "audio": "audio/webm,audio/ogg,audio/wav,audio/*;q=0.9,application/ogg;q=0.7,video/*;q=0.6,*/*;q=0.5",
        "document": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
        "font": "application/font-woff2;q=1.0,application/font-woff;q=0.9,*/*;q=0.8",
        "image": "image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8",
        "script": "*/*",
        "stylesheet": "text/css,*/*;q=0.1",
        "video": "video/webm,video/ogg,video/*;q=0.9,application/ogg;q=0.7,audio/*;q=0.6,*/*;q=0.5"
      },
      "addProof": false,
      "allowedBookmarkFolders": [
        ""
      ],
      "applySystemTheme": true,
      "autoClose": false,
      "autoOpenEditor": true,
      "autoSaveDelay": 1,
      "autoSaveDiscard": false,
      "autoSaveExternalSave": false,
      "autoSaveLoad": true,
      "autoSaveLoadOrUnload": false,
      "autoSaveRemove": false,
      "autoSaveRepeat": false,
      "autoSaveRepeatDelay": 10,
      "autoSaveUnload": false,
      "backgroundSave": true,
      "blockAlternativeImages": true,
      "blockAudios": false,
      "blockFonts": false,
      "blockImages": false,
      "blockMixedContent": false,
      "blockScripts": true,
      "blockStylesheets": false,
      "blockVideos": false,
      "browserActionMenuEnabled": true,
      "compressCSS": false,
      "compressContent": true,
      "compressHTML": true,
      "confirmFilename": false,
      "confirmInfobarContent": false,
      "contextMenuEnabled": true,
      "createRootDirectory": true,
      "defaultEditorMode": "normal",
      "delayBeforeProcessing": 0,
      "displayInfobar": true,
      "displayInfobarInEditor": false,
      "displayStats": false,
      "extractDataFromPage": false,
      "filenameConflictAction": "uniquify",
      "filenameMaxLength": "192",
      "filenameMaxLengthUnit": "bytes",
      "filenameReplacedCharacters": [
        "~",
        "+",
        "?",
        "%",
        "*",
        ":",
        "|",
        "\"",
        "<",
        ">",
        "\\\\",
        "\u0000-\u001f",
        ""
      ],
      "filenameReplacementCharacter": "_",
      "filenameReplacementCharacters": [
        "~",
        "+",
        "?",
        "%",
        "*",
        ":",
        "|",
        "\"",
        "<",
        ">",
        "\\"
      ],
      "filenameTemplate": "_SingleFile/{year-utc}/{month-utc}/{day-utc}/{url-hostname}[20]-{time-ms}-%if-empty<%trim<%replace<{page-title}[100]|:|->>|No title>.{filename-extension}",
      "forceWebAuthFlow": false,
      "githubBranch": "main",
      "githubRepository": "SingleFile-Archives",
      "githubToken": "",
      "githubUser": "",
      "groupDuplicateImages": true,
      "groupDuplicateStylesheets": true,
      "ignoredBookmarkFolders": [
        ""
      ],
      "includeBOM": false,
      "includeInfobar": true,
      "infobarPositionAbsolute": false,
      "infobarPositionBottom": "",
      "infobarPositionLeft": "",
      "infobarPositionRight": "16px",
      "infobarPositionTop": "16px",
      "infobarTemplate": "Title: {page-title}\nDescription: {page-description}\nSave Date-time: {datetime-iso}\nVisit Date-time: {visit-datetime-iso}\n\nURL: {url-href}%if-not-empty<{url-original}|\\nURL Original: {url-original}>",
      "insertEmbeddedImage": false,
      "insertEmbeddedScreenshotImage": true,
      "insertMetaCSP": true,
      "insertMetaNoIndex": false,
      "insertSingleFileComment": true,
      "insertTextBody": true,
      "loadDeferredImages": true,
      "loadDeferredImagesBeforeFrames": true,
      "loadDeferredImagesBlockCookies": false,
      "loadDeferredImagesBlockStorage": false,
      "loadDeferredImagesDispatchScrollEvent": false,
      "loadDeferredImagesKeepZoomLevel": false,
      "loadDeferredImagesMaxIdleTime": 1500,
      "logsEnabled": true,
      "maxResourceSize": 10,
      "maxResourceSizeEnabled": false,
      "maxSizeDuplicateImages": 524288,
      "moveStylesInHead": false,
      "networkTimeout": 0,
      "openEditor": false,
      "openInfobar": false,
      "openSavedPage": false,
      "passReferrerOnError": true,
      "password": "",
      "preventAppendedData": false,
      "progressBarEnabled": true,
      "removeAlternativeFonts": true,
      "removeAlternativeImages": false,
      "removeAlternativeMedias": true,
      "removeFrames": false,
      "removeHiddenElements": true,
      "removeSavedDate": false,
      "removeUnusedFonts": true,
      "removeUnusedStyles": true,
      "replaceBookmarkURL": false,
      "replaceEmojisInFilename": false,
      "resolveFragmentIdentifierURLs": false,
      "resolveLinks": true,
      "saveCreatedBookmarks": false,
      "saveFavicon": true,
      "saveFilenameTemplateData": true,
      "saveOriginalURLs": true,
      "saveRawPage": false,
      "saveToClipboard": false,
      "saveToDropbox": false,
      "saveToGDrive": false,
      "saveToGitHub": false,
      "saveToRestFormApi": false,
      "saveToRestFormApiFileFieldName": "",
      "saveToRestFormApiToken": "",
      "saveToRestFormApiUrl": "",
      "saveToRestFormApiUrlFieldName": "",
      "saveToS3": false,
      "saveWithCompanion": false,
      "saveWithWebDAV": false,
      "selfExtractingArchive": true,
      "shadowEnabled": true,
      "sharePage": false,
      "tabMenuEnabled": true,
      "userScriptEnabled": false,
      "warnUnsavedPage": true,
      "webDAVPassword": "",
      "webDAVURL": "",
      "webDAVUser": "",
      "woleetKey": ""
    },
    "__Default_Settings__": {
      "S3AccessKey": "",
      "S3Bucket": "",
      "S3Domain": "s3.amazonaws.com",
      "S3Region": "",
      "S3SecretKey": "",
      "_migratedTemplateFormat": true,
      "acceptHeaders": {
        "audio": "audio/webm,audio/ogg,audio/wav,audio/*;q=0.9,application/ogg;q=0.7,video/*;q=0.6,*/*;q=0.5",
        "document": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
        "font": "application/font-woff2;q=1.0,application/font-woff;q=0.9,*/*;q=0.8",
        "image": "image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8",
        "script": "*/*",
        "stylesheet": "text/css,*/*;q=0.1",
        "video": "video/webm,video/ogg,video/*;q=0.9,application/ogg;q=0.7,audio/*;q=0.6,*/*;q=0.5"
      },
      "addProof": false,
      "allowedBookmarkFolders": [
        ""
      ],
      "applySystemTheme": true,
      "autoClose": false,
      "autoOpenEditor": false,
      "autoSaveDelay": 1,
      "autoSaveDiscard": false,
      "autoSaveExternalSave": false,
      "autoSaveLoad": false,
      "autoSaveLoadOrUnload": true,
      "autoSaveRemove": false,
      "autoSaveRepeat": false,
      "autoSaveRepeatDelay": 10,
      "autoSaveUnload": false,
      "backgroundSave": true,
      "blockAlternativeImages": true,
      "blockAudios": true,
      "blockFonts": false,
      "blockImages": false,
      "blockMixedContent": false,
      "blockScripts": true,
      "blockStylesheets": false,
      "blockVideos": true,
      "browserActionMenuEnabled": true,
      "compressCSS": false,
      "compressContent": true,
      "compressHTML": true,
      "confirmFilename": false,
      "confirmInfobarContent": false,
      "contextMenuEnabled": true,
      "createRootDirectory": false,
      "defaultEditorMode": "normal",
      "delayBeforeProcessing": 0,
      "displayInfobar": true,
      "displayInfobarInEditor": false,
      "displayStats": false,
      "extractDataFromPage": true,
      "filenameConflictAction": "uniquify",
      "filenameMaxLength": "192",
      "filenameMaxLengthUnit": "bytes",
      "filenameReplacedCharacters": [
        "~",
        "+",
        "?",
        "%",
        "*",
        ":",
        "|",
        "\"",
        "<",
        ">",
        "\\\\",
        "\u0000-\u001f",
        ""
      ],
      "filenameReplacementCharacter": "_",
      "filenameReplacementCharacters": [
        "",
        "",
        "",
        "",
        "",
        "",
        "",
        "",
        "",
        "",
        ""
      ],
      "filenameTemplate": "%if-empty<{page-title}|No title> ({date-locale} {time-locale}).{filename-extension}",
      "forceWebAuthFlow": false,
      "githubBranch": "main",
      "githubRepository": "SingleFile-Archives",
      "githubToken": "",
      "githubUser": "",
      "groupDuplicateImages": true,
      "groupDuplicateStylesheets": false,
      "ignoredBookmarkFolders": [
        ""
      ],
      "includeBOM": false,
      "includeInfobar": false,
      "infobarPositionAbsolute": false,
      "infobarPositionBottom": "",
      "infobarPositionLeft": "",
      "infobarPositionRight": "16px",
      "infobarPositionTop": "16px",
      "infobarTemplate": "",
      "insertEmbeddedImage": false,
      "insertEmbeddedScreenshotImage": false,
      "insertMetaCSP": true,
      "insertMetaNoIndex": false,
      "insertSingleFileComment": true,
      "insertTextBody": false,
      "loadDeferredImages": true,
      "loadDeferredImagesBeforeFrames": false,
      "loadDeferredImagesBlockCookies": false,
      "loadDeferredImagesBlockStorage": false,
      "loadDeferredImagesDispatchScrollEvent": false,
      "loadDeferredImagesKeepZoomLevel": false,
      "loadDeferredImagesMaxIdleTime": 1500,
      "logsEnabled": true,
      "maxResourceSize": 10,
      "maxResourceSizeEnabled": false,
      "maxSizeDuplicateImages": 524288,
      "moveStylesInHead": false,
      "networkTimeout": 0,
      "openEditor": false,
      "openInfobar": false,
      "openSavedPage": false,
      "passReferrerOnError": false,
      "password": "",
      "preventAppendedData": false,
      "progressBarEnabled": true,
      "removeAlternativeFonts": true,
      "removeAlternativeImages": true,
      "removeAlternativeMedias": true,
      "removeFrames": false,
      "removeHiddenElements": true,
      "removeSavedDate": false,
      "removeUnusedFonts": true,
      "removeUnusedStyles": true,
      "replaceBookmarkURL": true,
      "replaceEmojisInFilename": false,
      "resolveFragmentIdentifierURLs": false,
      "resolveLinks": true,
      "saveCreatedBookmarks": false,
      "saveFavicon": true,
      "saveFilenameTemplateData": false,
      "saveOriginalURLs": false,
      "saveRawPage": false,
      "saveToClipboard": false,
      "saveToDropbox": false,
      "saveToGDrive": false,
      "saveToGitHub": false,
      "saveToRestFormApi": false,
      "saveToRestFormApiFileFieldName": "",
      "saveToRestFormApiToken": "",
      "saveToRestFormApiUrl": "",
      "saveToRestFormApiUrlFieldName": "",
      "saveToS3": false,
      "saveWithCompanion": false,
      "saveWithWebDAV": false,
      "selfExtractingArchive": true,
      "shadowEnabled": true,
      "sharePage": false,
      "tabMenuEnabled": true,
      "userScriptEnabled": false,
      "warnUnsavedPage": true,
      "webDAVPassword": "",
      "webDAVURL": "",
      "webDAVUser": "",
      "woleetKey": ""
    }
  },
  "rules": [
    {
      "autoSaveProfile": "__Disabled_Settings__",
      "profile": "__Default_Settings__",
      "url": "file:"
    },
    {
      "autoSaveProfile": "Own",
      "profile": "Own",
      "url": "*"
    }
  ],
  "maxParallelWorkers": 32,
  "processInForeground": false
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions