diff --git a/.eslintrc.json b/.eslintrc.json
deleted file mode 100644
index 5337977..0000000
--- a/.eslintrc.json
+++ /dev/null
@@ -1,17 +0,0 @@
-{
- "env": {
- "browser": true,
- "es2021": true,
- "jquery": true,
- "webextensions": true
- },
- "extends": "eslint:recommended",
- "parserOptions": {
- "ecmaVersion": "latest",
- "sourceType": "module"
- },
- "rules": {
- "no-undef": "off",
- "no-extra-semi": "off"
- }
-}
diff --git a/.github/ISSUE_TEMPLATE/0-bug.yaml b/.github/ISSUE_TEMPLATE/0-bug.yaml
index 494fe42..f175b39 100644
--- a/.github/ISSUE_TEMPLATE/0-bug.yaml
+++ b/.github/ISSUE_TEMPLATE/0-bug.yaml
@@ -31,14 +31,13 @@ body:
- type: textarea
id: logs
validations:
- required: false
+ required: true
attributes:
- label: Log Output
- description: Paste any relevant logs or output in this box.
- placeholder: Output is automatically wrapped in a code block.
+ label: Support Information
+ description: Open the extension options, scroll to the bottom, click Copy Support Information and paste below.
render: shell
- type: markdown
attributes:
value: |
- Thank you for taking the time to make this report!
+ All issues/bugs that we can verify will be fixed. Thank you for taking the time to make this report!
diff --git a/README.md b/README.md
index ec8d4b1..88b532c 100644
--- a/README.md
+++ b/README.md
@@ -23,23 +23,23 @@
# Auto Auth
-
-
-
-- [Install](#Install)
-- [Features](#Features)
- - [Upcoming Features](#Upcoming-Features)
- - [Known Issues](#Known-Issues)
-- [Configuration](#Configuration)
-- [Migration](#Migration)
- - [AutoAuth](#AutoAuth)
- - [Basic Authentication](#Basic-Authentication)
- - [Other or Manual](#Other-or-Manual)
-- [Security](#Security)
-- [Support](#Support)
-- [Development](#Development)
- - [Building](#Building)
-- [Contributing](#Contributing)
+
+
+
+- [Install](#install)
+- [Features](#features)
+ - [Upcoming Features](#upcoming-features)
+ - [Known Issues](#known-Issues)
+- [Configuration](#configuration)
+- [Migration](#migration)
+ - [AutoAuth](#autoauth)
+ - [Basic Authentication](#basic-authentication)
+ - [Other or Manual](#other-or-manual)
+- [Security](#security)
+- [Support](#support)
+- [Development](#development)
+ - [Building](#building)
+- [Contributing](#contributing)
Modern Chrome Web Extension and Firefox Browser Addon for Automatic Basic HTTP Authentication with many Options and
Features.
@@ -88,10 +88,9 @@ Long-term Goals for Improved Security:
- Add Optional Password Encryption Feature
- Add a Sync Service for Cross-Browser Synchronization
-> [!TIP]
+> [!TIP]
> **Don't see your feature here?**
-> Request one on
-> the [Feature Request Discussion](https://github.com/cssnr/auto-auth/discussions/categories/feature-requests).
+> Submit a [Feature Request](https://github.com/cssnr/auto-auth/issues/new?template=1-feature.yaml).
### Known Issues
@@ -105,9 +104,9 @@ Long-term Goals for Improved Security:
- Chrome: Shows a default credentials prompt, Cancel and press `Ctrl+F5`
- This behavior may continue after saving credentials.
-> [!TIP]
+> [!TIP]
> **Don't see your issue here?**
-> Open one on the [Issues](https://github.com/cssnr/auto-auth/issues).
+> Open a [New Issues](https://github.com/cssnr/auto-auth/issues).
## Configuration
@@ -166,7 +165,7 @@ You can do this yourself, or get ChatGPT to convert the data for you. Convert th
To import the data, visit the extension's Options Page, click `Import Text` and paste the JSON text.
-You can also [request a migration](https://github.com/cssnr/auto-auth/discussions/categories/feature-requests) be added
+You can also [request a migration](https://github.com/cssnr/auto-auth/issues/new?template=1-feature.yaml) be added
for your extension. If it is popular enough, it might get added.
## Security
@@ -183,20 +182,20 @@ If there is enough popularity/requests for these features, there are a couple op
## Support
-For help using the web extension, see:
-
-- Documentation: https://auto-auth.cssnr.com/docs/
-- Q&A Discussion: https://github.com/cssnr/auto-auth/discussions/categories/q-a
-- Request a Feature: https://github.com/cssnr/auto-auth/discussions/categories/feature-requests
+Logs can be found inspecting the page (Ctrl+Shift+I), clicking on the Console, and;
+Firefox: toggling Debug logs, Chrome: toggling Verbose from levels dropdown.
-If you are experiencing an issue/bug or getting unexpected results, you can:
+If you run into any issues or need help getting started, please do one of the following:
-- Report an Issue: https://github.com/cssnr/auto-auth/issues
-- Chat with us on Discord: https://discord.gg/wXy6m2X8wY
-- Provide General Feedback: https://cssnr.github.io/feedback
+- Report an Issue:
+- Q&A Discussion:
+- Request a Feature:
+- Chat with us on Discord:
-Logs can be found inspecting the page (Ctrl+Shift+I), clicking on the Console, and;
-Firefox: toggling Debug logs, Chrome: toggling Verbose from levels dropdown.
+[](https://github.com/cssnr/auto-auth/issues/new?template=1-feature.yaml)
+[](https://github.com/cssnr/auto-auth/issues)
+[](https://github.com/cssnr/auto-auth/discussions)
+[](https://discord.gg/wXy6m2X8wY)
To support this project, see the [Contributing](#Contributing) section at the bottom.
diff --git a/manifest-chrome.json b/manifest-chrome.json
index 946500d..7c16a6d 100644
--- a/manifest-chrome.json
+++ b/manifest-chrome.json
@@ -2,5 +2,5 @@
"background": {
"service_worker": "js/service-worker.js"
},
- "minimum_chrome_version": "120"
+ "minimum_chrome_version": "127"
}
diff --git a/manifest-firefox.json b/manifest-firefox.json
index 23ef5a1..6bc5dc9 100644
--- a/manifest-firefox.json
+++ b/manifest-firefox.json
@@ -10,7 +10,7 @@
"required": ["none"]
}
},
- "gecko_android ": {
+ "gecko_android": {
"strict_min_version": "128.0"
}
}
diff --git a/package-lock.json b/package-lock.json
index e07b136..d8919e3 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -19,8 +19,8 @@
"gulp": "^5.0.1",
"json-merger": "^3.0.0",
"prettier": "^3.8.1",
- "puppeteer": "^24.37.5",
- "web-ext": "^9.3.0"
+ "puppeteer": "^24.38.0",
+ "web-ext": "^9.4.0"
}
},
"node_modules/@babel/code-frame": {
@@ -212,9 +212,9 @@
}
},
"node_modules/@eslint/eslintrc": {
- "version": "3.3.4",
- "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.4.tgz",
- "integrity": "sha512-4h4MVF8pmBsncB60r0wSJiIeUKTSD4m7FmTFThG8RHlsg9ajqckLm9OraguFGZE4vVdpiI1Q4+hFnisopmG6gQ==",
+ "version": "3.3.5",
+ "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.5.tgz",
+ "integrity": "sha512-4IlJx0X0qftVsN5E+/vGujTRIFtwuLbNsVUe7TO6zYPDR1O6nFwvwhIKEKSrl6dZchmYBITazxKoUYOjdtjlRg==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -225,7 +225,7 @@
"ignore": "^5.2.0",
"import-fresh": "^3.2.1",
"js-yaml": "^4.1.1",
- "minimatch": "^3.1.3",
+ "minimatch": "^3.1.5",
"strip-json-comments": "^3.1.1"
},
"engines": {
@@ -285,9 +285,9 @@
}
},
"node_modules/@eslint/eslintrc/node_modules/minimatch": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.3.tgz",
- "integrity": "sha512-M2GCs7Vk83NxkUyQV1bkABc4yxgz9kILhHImZiBPAZ9ybuvCb0/H7lEl5XvIg3g+9d4eNotkZA5IWwYl0tibaA==",
+ "version": "3.1.5",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz",
+ "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==",
"dev": true,
"license": "ISC",
"dependencies": {
@@ -461,9 +461,9 @@
}
},
"node_modules/@mdn/browser-compat-data": {
- "version": "7.3.0",
- "resolved": "https://registry.npmjs.org/@mdn/browser-compat-data/-/browser-compat-data-7.3.0.tgz",
- "integrity": "sha512-B7X53zLkrQOVNzsWg4d+iE5vbrreOYB9H/2Ikeit9LPb3tqRNRsEAxysQduFLODBJBSgFGr2FkJLq7tMQkqLZQ==",
+ "version": "7.3.3",
+ "resolved": "https://registry.npmjs.org/@mdn/browser-compat-data/-/browser-compat-data-7.3.3.tgz",
+ "integrity": "sha512-kjpAS3PlCvm0Ab59lXsGMaF6afnUiKwyNmRFOWFh3nXXhsKnTmPPrBg3LFngIZ38GVYxSBPzPlsnz+3cW3LKkA==",
"dev": true,
"license": "CC0-1.0"
},
@@ -685,9 +685,9 @@
"license": "MIT"
},
"node_modules/@types/node": {
- "version": "25.3.0",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-25.3.0.tgz",
- "integrity": "sha512-4K3bqJpXpqfg2XKGK9bpDTc6xO/xoUP/RBWS7AtRMug6zZFaRekiLzjVtAoZMquxoAbzBvy5nxQ7veS5eYzf8A==",
+ "version": "25.3.5",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-25.3.5.tgz",
+ "integrity": "sha512-oX8xrhvpiyRCQkG1MFchB09f+cXftgIXb3a7UUa4Y3wpmZPw5tyZGTLWhlESOLq1Rq6oDlc8npVU2/9xiCuXMA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -700,6 +700,7 @@
"integrity": "sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==",
"dev": true,
"license": "MIT",
+ "optional": true,
"dependencies": {
"@types/node": "*"
}
@@ -728,33 +729,33 @@
}
},
"node_modules/addons-linter": {
- "version": "9.6.0",
- "resolved": "https://registry.npmjs.org/addons-linter/-/addons-linter-9.6.0.tgz",
- "integrity": "sha512-hoZFDg/4Ial7xw2SDrnQJ6iyLtf0KdP/NRhLP1bX+SKNmFLJskDIvWOCbDAC1qUq7cNrt4yCvGlr3UO0VZaluw==",
+ "version": "9.9.1",
+ "resolved": "https://registry.npmjs.org/addons-linter/-/addons-linter-9.9.1.tgz",
+ "integrity": "sha512-cgvE3s8dGAkK41LL0Ykyz91d1zHKWn2T/60V2HwyLarphKfniAMFcAqljwTqynwepSsaSOsQLEDl6+S1gn+YcA==",
"dev": true,
"license": "MPL-2.0",
"dependencies": {
"@fluent/syntax": "0.19.0",
"@fregante/relaxed-json": "2.0.0",
- "@mdn/browser-compat-data": "7.3.0",
+ "@mdn/browser-compat-data": "7.3.3",
"addons-moz-compare": "1.3.0",
- "addons-scanner-utils": "10.2.0",
- "ajv": "8.17.1",
+ "addons-scanner-utils": "12.0.0",
+ "ajv": "8.18.0",
"chalk": "4.1.2",
"cheerio": "1.2.0",
"columnify": "1.6.0",
"common-tags": "1.8.2",
"deepmerge": "4.3.1",
"eslint": "9.39.2",
- "eslint-plugin-no-unsanitized": "4.1.4",
- "eslint-visitor-keys": "5.0.0",
- "espree": "11.1.0",
+ "eslint-plugin-no-unsanitized": "4.1.5",
+ "eslint-visitor-keys": "5.0.1",
+ "espree": "11.1.1",
"esprima": "4.0.1",
"fast-json-patch": "3.1.1",
"image-size": "2.0.2",
"json-merge-patch": "1.0.2",
- "pino": "10.3.0",
- "semver": "7.7.3",
+ "pino": "10.3.1",
+ "semver": "7.7.4",
"source-map-support": "0.5.21",
"upath": "2.0.1",
"yargs": "17.7.2",
@@ -768,15 +769,15 @@
}
},
"node_modules/addons-linter/node_modules/@eslint/config-array": {
- "version": "0.21.1",
- "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.1.tgz",
- "integrity": "sha512-aw1gNayWpdI/jSYVgzN5pL0cfzU02GT3NBpeT/DXbx1/1x7ZKxFPd9bwrzygx/qiwIQiJ1sw/zD8qY/kRvlGHA==",
+ "version": "0.21.2",
+ "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.2.tgz",
+ "integrity": "sha512-nJl2KGTlrf9GjLimgIru+V/mzgSK0ABCDQRvxw5BjURL7WfH5uoWmizbH7QB6MmnMBd8cIC9uceWnezL1VZWWw==",
"dev": true,
"license": "Apache-2.0",
"dependencies": {
"@eslint/object-schema": "^2.1.7",
"debug": "^4.3.1",
- "minimatch": "^3.1.2"
+ "minimatch": "^3.1.5"
},
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -846,9 +847,9 @@
}
},
"node_modules/addons-linter/node_modules/ajv": {
- "version": "8.17.1",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz",
- "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==",
+ "version": "8.18.0",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.18.0.tgz",
+ "integrity": "sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -955,16 +956,6 @@
}
}
},
- "node_modules/addons-linter/node_modules/eslint-plugin-no-unsanitized": {
- "version": "4.1.4",
- "resolved": "https://registry.npmjs.org/eslint-plugin-no-unsanitized/-/eslint-plugin-no-unsanitized-4.1.4.tgz",
- "integrity": "sha512-cjAoZoq3J+5KJuycYYOWrc0/OpZ7pl2Z3ypfFq4GtaAgheg+L7YGxUo2YS3avIvo/dYU5/zR2hXu3v81M9NxhQ==",
- "dev": true,
- "license": "MPL-2.0",
- "peerDependencies": {
- "eslint": "^8 || ^9"
- }
- },
"node_modules/addons-linter/node_modules/eslint-scope": {
"version": "8.4.0",
"resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.4.0.tgz",
@@ -982,19 +973,6 @@
"url": "https://opencollective.com/eslint"
}
},
- "node_modules/addons-linter/node_modules/eslint-visitor-keys": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-5.0.0.tgz",
- "integrity": "sha512-A0XeIi7CXU7nPlfHS9loMYEKxUaONu/hTEzHTGba9Huu94Cq1hPivf+DE5erJozZOky0LfvXAyrV/tcswpLI0Q==",
- "dev": true,
- "license": "Apache-2.0",
- "engines": {
- "node": "^20.19.0 || ^22.13.0 || >=24"
- },
- "funding": {
- "url": "https://opencollective.com/eslint"
- }
- },
"node_modules/addons-linter/node_modules/eslint/node_modules/ajv": {
"version": "6.14.0",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.14.0.tgz",
@@ -1050,24 +1028,6 @@
"dev": true,
"license": "MIT"
},
- "node_modules/addons-linter/node_modules/espree": {
- "version": "11.1.0",
- "resolved": "https://registry.npmjs.org/espree/-/espree-11.1.0.tgz",
- "integrity": "sha512-WFWYhO1fV4iYkqOOvq8FbqIhr2pYfoDY0kCotMkDeNtGpiGGkZ1iov2u8ydjtgM8yF8rzK7oaTbw2NAzbAbehw==",
- "dev": true,
- "license": "BSD-2-Clause",
- "dependencies": {
- "acorn": "^8.15.0",
- "acorn-jsx": "^5.3.2",
- "eslint-visitor-keys": "^5.0.0"
- },
- "engines": {
- "node": "^20.19.0 || ^22.13.0 || >=24"
- },
- "funding": {
- "url": "https://opencollective.com/eslint"
- }
- },
"node_modules/addons-linter/node_modules/esprima": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
@@ -1090,9 +1050,9 @@
"license": "MIT"
},
"node_modules/addons-linter/node_modules/minimatch": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.3.tgz",
- "integrity": "sha512-M2GCs7Vk83NxkUyQV1bkABc4yxgz9kILhHImZiBPAZ9ybuvCb0/H7lEl5XvIg3g+9d4eNotkZA5IWwYl0tibaA==",
+ "version": "3.1.5",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz",
+ "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==",
"dev": true,
"license": "ISC",
"dependencies": {
@@ -1102,42 +1062,6 @@
"node": "*"
}
},
- "node_modules/addons-linter/node_modules/pino": {
- "version": "10.3.0",
- "resolved": "https://registry.npmjs.org/pino/-/pino-10.3.0.tgz",
- "integrity": "sha512-0GNPNzHXBKw6U/InGe79A3Crzyk9bcSyObF9/Gfo9DLEf5qj5RF50RSjsu0W1rZ6ZqRGdzDFCRBQvi9/rSGPtA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@pinojs/redact": "^0.4.0",
- "atomic-sleep": "^1.0.0",
- "on-exit-leak-free": "^2.1.0",
- "pino-abstract-transport": "^3.0.0",
- "pino-std-serializers": "^7.0.0",
- "process-warning": "^5.0.0",
- "quick-format-unescaped": "^4.0.3",
- "real-require": "^0.2.0",
- "safe-stable-stringify": "^2.3.1",
- "sonic-boom": "^4.0.1",
- "thread-stream": "^4.0.0"
- },
- "bin": {
- "pino": "bin.js"
- }
- },
- "node_modules/addons-linter/node_modules/semver": {
- "version": "7.7.3",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz",
- "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==",
- "dev": true,
- "license": "ISC",
- "bin": {
- "semver": "bin/semver.js"
- },
- "engines": {
- "node": ">=10"
- }
- },
"node_modules/addons-linter/node_modules/wrap-ansi": {
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
@@ -1193,23 +1117,21 @@
"license": "MPL-2.0"
},
"node_modules/addons-scanner-utils": {
- "version": "10.2.0",
- "resolved": "https://registry.npmjs.org/addons-scanner-utils/-/addons-scanner-utils-10.2.0.tgz",
- "integrity": "sha512-U6XRBTP/2EhLnTN/GHioBWvzaJAKwjVhoGjytwHdA+dIUx8n/9Hr7YTJwsBwJN5GpqV/3Ma87RQh+vEE4X4fwA==",
+ "version": "12.0.0",
+ "resolved": "https://registry.npmjs.org/addons-scanner-utils/-/addons-scanner-utils-12.0.0.tgz",
+ "integrity": "sha512-EPjnj+0svVq5eFYgSynRgBKTD0WiRxUpne5a2IERACc9Xs6rhLXAg13ao8yvjSRgBkC8kIiZ5MMErh34CQmCeQ==",
"dev": true,
"license": "MPL-2.0",
"dependencies": {
- "@types/yauzl": "2.10.3",
"common-tags": "1.8.2",
"first-chunk-stream": "3.0.0",
"strip-bom-stream": "4.0.0",
"upath": "2.0.1",
- "yauzl": "2.10.0"
+ "yauzl": "3.2.0"
},
"peerDependencies": {
"body-parser": "2.2.2",
"express": "5.2.1",
- "node-fetch": "2.6.11",
"safe-compare": "1.1.4"
},
"peerDependenciesMeta": {
@@ -1219,14 +1141,25 @@
"express": {
"optional": true
},
- "node-fetch": {
- "optional": true
- },
"safe-compare": {
"optional": true
}
}
},
+ "node_modules/addons-scanner-utils/node_modules/yauzl": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-3.2.0.tgz",
+ "integrity": "sha512-Ow9nuGZE+qp1u4JIPvg+uCiUr7xGQWdff7JQSk5VGYTAZMDe2q8lxJ10ygv10qmSj031Ty/6FNJpLO4o1Sgc+w==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "buffer-crc32": "~0.2.3",
+ "pend": "~1.2.0"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
"node_modules/adm-zip": {
"version": "0.5.16",
"resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.5.16.tgz",
@@ -1492,12 +1425,11 @@
}
},
"node_modules/bare-fs": {
- "version": "4.5.4",
- "resolved": "https://registry.npmjs.org/bare-fs/-/bare-fs-4.5.4.tgz",
- "integrity": "sha512-POK4oplfA7P7gqvetNmCs4CNtm9fNsx+IAh7jH7GgU0OJdge2rso0R20TNWVq6VoWcCvsTdlNDaleLHGaKx8CA==",
+ "version": "4.5.5",
+ "resolved": "https://registry.npmjs.org/bare-fs/-/bare-fs-4.5.5.tgz",
+ "integrity": "sha512-XvwYM6VZqKoqDll8BmSww5luA5eflDzY0uEFfBJtFKe4PAAtxBjU3YIxzIBzhyaEQBy1VXEQBto4cpN5RZJw+w==",
"dev": true,
"license": "Apache-2.0",
- "optional": true,
"dependencies": {
"bare-events": "^2.5.4",
"bare-path": "^3.0.0",
@@ -1518,12 +1450,11 @@
}
},
"node_modules/bare-os": {
- "version": "3.6.2",
- "resolved": "https://registry.npmjs.org/bare-os/-/bare-os-3.6.2.tgz",
- "integrity": "sha512-T+V1+1srU2qYNBmJCXZkUY5vQ0B4FSlL3QDROnKQYOqeiQR8UbjNHlPa+TIbM4cuidiN9GaTaOZgSEgsvPbh5A==",
+ "version": "3.7.1",
+ "resolved": "https://registry.npmjs.org/bare-os/-/bare-os-3.7.1.tgz",
+ "integrity": "sha512-ebvMaS5BgZKmJlvuWh14dg9rbUI84QeV3WlWn6Ph6lFI8jJoh7ADtVTyD2c93euwbe+zgi0DVrl4YmqXeM9aIA==",
"dev": true,
"license": "Apache-2.0",
- "optional": true,
"engines": {
"bare": ">=1.14.0"
}
@@ -1534,7 +1465,6 @@
"integrity": "sha512-tyfW2cQcB5NN8Saijrhqn0Zh7AnFNsnczRcuWODH0eYAXBsJ5gVxAUuNr7tsHSC6IZ77cA0SitzT+s47kot8Mw==",
"dev": true,
"license": "Apache-2.0",
- "optional": true,
"dependencies": {
"bare-os": "^3.0.1"
}
@@ -1545,7 +1475,6 @@
"integrity": "sha512-reUN0M2sHRqCdG4lUK3Fw8w98eeUIZHL5c3H7Mbhk2yVBL+oofgaIp0ieLfD5QXwPCypBpmEEKU2WZKzbAk8GA==",
"dev": true,
"license": "Apache-2.0",
- "optional": true,
"dependencies": {
"streamx": "^2.21.0",
"teex": "^1.0.1"
@@ -1569,7 +1498,6 @@
"integrity": "sha512-ZMq4gd9ngV5aTMa5p9+UfY0b3skwhHELaDkhEHetMdX0LRkW9kzaym4oo/Eh+Ghm0CCDuMTsRIGM/ytUc1ZYmw==",
"dev": true,
"license": "Apache-2.0",
- "optional": true,
"dependencies": {
"bare-path": "^3.0.0"
}
@@ -1738,13 +1666,13 @@
}
},
"node_modules/boxen/node_modules/strip-ansi": {
- "version": "7.1.2",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz",
- "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==",
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz",
+ "integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==",
"dev": true,
"license": "MIT",
"dependencies": {
- "ansi-regex": "^6.0.1"
+ "ansi-regex": "^6.2.2"
},
"engines": {
"node": ">=12"
@@ -1754,9 +1682,9 @@
}
},
"node_modules/brace-expansion": {
- "version": "5.0.3",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.3.tgz",
- "integrity": "sha512-fy6KJm2RawA5RcHkLa1z/ScpBeA762UF9KmZQxwIbDtRJrgLzM10depAiEQ+CXYcoiqW1/m96OAAoke2nE9EeA==",
+ "version": "5.0.4",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.4.tgz",
+ "integrity": "sha512-h+DEnpVvxmfVefa4jFbCf5HdH5YMDXRsmKflpf1pILZWRFlTbJpxeU55nJl4Smt5HQaGzg1o6RHFPJaOqnmBDg==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -2225,9 +2153,9 @@
"license": "MIT"
},
"node_modules/cosmiconfig": {
- "version": "9.0.0",
- "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.0.tgz",
- "integrity": "sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==",
+ "version": "9.0.1",
+ "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.1.tgz",
+ "integrity": "sha512-hr4ihw+DBqcvrsEDioRO31Z17x71pUYoNe/4h6Z0wB72p7MU7/9gH8Q3s12NFhHPfYBBOV3qyfUxmr/Yn3shnQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -2483,9 +2411,9 @@
}
},
"node_modules/devtools-protocol": {
- "version": "0.0.1566079",
- "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1566079.tgz",
- "integrity": "sha512-MJfAEA1UfVhSs7fbSQOG4czavUp1ajfg6prlAN0+cmfa2zNjaIbvq8VneP7do1WAQQIvgNJWSMeP6UyI90gIlQ==",
+ "version": "0.0.1581282",
+ "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1581282.tgz",
+ "integrity": "sha512-nv7iKtNZQshSW2hKzYNr46nM/Cfh5SEvE2oV0/SEGgc9XupIY5ggf84Cz8eJIkBce7S3bmTAauFD6aysMpnqsQ==",
"dev": true,
"license": "BSD-3-Clause"
},
@@ -2777,6 +2705,16 @@
}
}
},
+ "node_modules/eslint-plugin-no-unsanitized": {
+ "version": "4.1.5",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-no-unsanitized/-/eslint-plugin-no-unsanitized-4.1.5.tgz",
+ "integrity": "sha512-MSB4hXPVFQrI8weqzs6gzl7reP2k/qSjtCoL2vUMSDejIIq9YL1ZKvq5/ORBXab/PvfBBrWO2jWviYpL+4Ghfg==",
+ "dev": true,
+ "license": "MPL-2.0",
+ "peerDependencies": {
+ "eslint": "^9 || ^10"
+ }
+ },
"node_modules/eslint-scope": {
"version": "9.1.1",
"resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-9.1.1.tgz",
@@ -3160,9 +3098,9 @@
}
},
"node_modules/flatted": {
- "version": "3.3.3",
- "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz",
- "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==",
+ "version": "3.3.4",
+ "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.4.tgz",
+ "integrity": "sha512-3+mMldrTAPdta5kjX2G2J7iX4zxtnwpdA8Tr2ZSjkyPSanvbZAcy6flmtnXbEybHrDcU9641lxrMfFuUxVz9vA==",
"dev": true,
"license": "ISC"
},
@@ -3190,9 +3128,9 @@
}
},
"node_modules/fs-extra": {
- "version": "11.3.3",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.3.tgz",
- "integrity": "sha512-VWSRii4t0AFm6ixFFmLLx1t7wS1gh+ckoa84aOeapGum0h+EZd1EhEumSB+ZdDLnEPuucsVB9oB7cxJHap6Afg==",
+ "version": "11.3.4",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.4.tgz",
+ "integrity": "sha512-CTXd6rk/M3/ULNQj8FBqBWHYBVYybQ3VPBw0xGKFe3tuH7ytT6ACnvzpIQ3UZtB8yvUKC2cXn1a+x+5EVQLovA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -4286,9 +4224,9 @@
}
},
"node_modules/jsonpath": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/jsonpath/-/jsonpath-1.2.1.tgz",
- "integrity": "sha512-Jl6Jhk0jG+kP3yk59SSeGq7LFPR4JQz1DU0K+kXTysUhMostbhU3qh5mjTuf0PqFcXpAT7kvmMt9WxV10NyIgQ==",
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/jsonpath/-/jsonpath-1.3.0.tgz",
+ "integrity": "sha512-0kjkYHJBkAy50Z5QzArZ7udmvxrJzkpKYW27fiF//BrMY7TQibYLl+FYIXN2BiYmwMIVzSfD8aDRj6IzgBX2/w==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -4542,9 +4480,9 @@
}
},
"node_modules/minimatch": {
- "version": "10.2.2",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.2.tgz",
- "integrity": "sha512-+G4CpNBxa5MprY+04MbgOw1v7So6n5JY166pFi9KfYwT78fxScCeSNQSNzp6dpPSW2rONOps6Ocam1wFhCgoVw==",
+ "version": "10.2.4",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.4.tgz",
+ "integrity": "sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg==",
"dev": true,
"license": "BlueOak-1.0.0",
"dependencies": {
@@ -4619,9 +4557,9 @@
}
},
"node_modules/multimatch/node_modules/minimatch": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.3.tgz",
- "integrity": "sha512-M2GCs7Vk83NxkUyQV1bkABc4yxgz9kILhHImZiBPAZ9ybuvCb0/H7lEl5XvIg3g+9d4eNotkZA5IWwYl0tibaA==",
+ "version": "3.1.5",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz",
+ "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==",
"dev": true,
"license": "ISC",
"dependencies": {
@@ -5256,9 +5194,9 @@
"license": "MIT"
},
"node_modules/pump": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.3.tgz",
- "integrity": "sha512-todwxLMY7/heScKmntwQG8CXVkWUOdYxIvY2s0VWAAMh/nd8SoYiRaKjlr7+iCs984f2P8zvrfWcDDYVb73NfA==",
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.4.tgz",
+ "integrity": "sha512-VS7sjc6KR7e1ukRFhQSY5LM2uBWAUPiOPa/A3mkKmiMwSmRFUITt0xuj+/lesgnCv+dPIEYlkzrcyXgquIHMcA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -5293,9 +5231,9 @@
}
},
"node_modules/puppeteer": {
- "version": "24.37.5",
- "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-24.37.5.tgz",
- "integrity": "sha512-3PAOIQLceyEmn1Fi76GkGO2EVxztv5OtdlB1m8hMUZL3f8KDHnlvXbvCXv+Ls7KzF1R0KdKBqLuT/Hhrok12hQ==",
+ "version": "24.38.0",
+ "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-24.38.0.tgz",
+ "integrity": "sha512-abnJOBVoL9PQTLKSbYGm9mjNFyIPaTVj77J/6cS370dIQtcZMpx8wyZoAuBzR71Aoon6yvI71NEVFUsl3JU82g==",
"dev": true,
"hasInstallScript": true,
"license": "Apache-2.0",
@@ -5303,9 +5241,9 @@
"@puppeteer/browsers": "2.13.0",
"chromium-bidi": "14.0.0",
"cosmiconfig": "^9.0.0",
- "devtools-protocol": "0.0.1566079",
- "puppeteer-core": "24.37.5",
- "typed-query-selector": "^2.12.0"
+ "devtools-protocol": "0.0.1581282",
+ "puppeteer-core": "24.38.0",
+ "typed-query-selector": "^2.12.1"
},
"bin": {
"puppeteer": "lib/cjs/puppeteer/node/cli.js"
@@ -5315,17 +5253,17 @@
}
},
"node_modules/puppeteer-core": {
- "version": "24.37.5",
- "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-24.37.5.tgz",
- "integrity": "sha512-ybL7iE78YPN4T6J+sPLO7r0lSByp/0NN6PvfBEql219cOnttoTFzCWKiBOjstXSqi/OKpwae623DWAsL7cn2MQ==",
+ "version": "24.38.0",
+ "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-24.38.0.tgz",
+ "integrity": "sha512-zB3S/tksIhgi2gZRndUe07AudBz5SXOB7hqG0kEa9/YXWrGwlVlYm3tZtwKgfRftBzbmLQl5iwHkQQl04n/mWw==",
"dev": true,
"license": "Apache-2.0",
"dependencies": {
"@puppeteer/browsers": "2.13.0",
"chromium-bidi": "14.0.0",
"debug": "^4.4.3",
- "devtools-protocol": "0.0.1566079",
- "typed-query-selector": "^2.12.0",
+ "devtools-protocol": "0.0.1581282",
+ "typed-query-selector": "^2.12.1",
"webdriver-bidi-protocol": "0.4.1",
"ws": "^8.19.0"
},
@@ -5614,9 +5552,9 @@
"license": "MIT"
},
"node_modules/sax": {
- "version": "1.4.4",
- "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.4.tgz",
- "integrity": "sha512-1n3r/tGXO6b6VXMdFT54SHzT9ytu9yr7TaELowdYpMqY/Ao7EnlQGmAQ1+RatX7Tkkdm6hONI2owqNx2aZj5Sw==",
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/sax/-/sax-1.5.0.tgz",
+ "integrity": "sha512-21IYA3Q5cQf089Z6tgaUTr7lDAyzoTPx5HRtbhsME8Udispad8dC/+sziTNugOEx54ilvatQ9YCzl4KQLPcRHA==",
"dev": true,
"license": "BlueOak-1.0.0",
"engines": {
@@ -6011,9 +5949,9 @@
}
},
"node_modules/tar-fs": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.1.1.tgz",
- "integrity": "sha512-LZA0oaPOc2fVo82Txf3gw+AkEd38szODlptMYejQUhndHMLQ9M059uXR+AfS7DNo0NpINvSqDsvyaCrBVkptWg==",
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.1.2.tgz",
+ "integrity": "sha512-QGxxTxxyleAdyM3kpFs14ymbYmNFrfY+pHj7Z8FgtbZ7w2//VAgLMac7sT6nRpIHjppXO2AwwEOg0bPFVRcmXw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -6026,13 +5964,14 @@
}
},
"node_modules/tar-stream": {
- "version": "3.1.7",
- "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.7.tgz",
- "integrity": "sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==",
+ "version": "3.1.8",
+ "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.8.tgz",
+ "integrity": "sha512-U6QpVRyCGHva435KoNWy9PRoi2IFYCgtEhq9nmrPPpbRacPs9IH4aJ3gbrFC8dPcXvdSZ4XXfXT5Fshbp2MtlQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"b4a": "^1.6.4",
+ "bare-fs": "^4.5.5",
"fast-fifo": "^1.2.0",
"streamx": "^2.15.0"
}
@@ -6153,9 +6092,9 @@
}
},
"node_modules/typed-query-selector": {
- "version": "2.12.0",
- "resolved": "https://registry.npmjs.org/typed-query-selector/-/typed-query-selector-2.12.0.tgz",
- "integrity": "sha512-SbklCd1F0EiZOyPiW192rrHZzZ5sBijB6xM+cpmrwDqObvdtunOHHIk9fCGsoK5JVIYXoyEp4iEdE3upFH3PAg==",
+ "version": "2.12.1",
+ "resolved": "https://registry.npmjs.org/typed-query-selector/-/typed-query-selector-2.12.1.tgz",
+ "integrity": "sha512-uzR+FzI8qrUEIu96oaeBJmd9E7CFEiQ3goA5qCVgc4s5llSubcfGHq9yUstZx/k4s9dXHVKsE35YWoFyvEqEHA==",
"dev": true,
"license": "MIT"
},
@@ -6441,15 +6380,15 @@
}
},
"node_modules/web-ext": {
- "version": "9.3.0",
- "resolved": "https://registry.npmjs.org/web-ext/-/web-ext-9.3.0.tgz",
- "integrity": "sha512-RDAJvyIyJ/iIFssx2w7VrD7mtkc4X+8VJFPq8Ax3mL2auF4KQsV9ZQmPZOzqP9Ji0k0D6YKAzGZ1Ae67qavDVQ==",
+ "version": "9.4.0",
+ "resolved": "https://registry.npmjs.org/web-ext/-/web-ext-9.4.0.tgz",
+ "integrity": "sha512-uecruQ2BVkgfArZDcVMeE4vGAmYeuN7G/4eGJkZbCAA3MyZbVXYNZZWLOi5bSfUfpgo4GTawJ4kjdAh/2HkPgw==",
"dev": true,
"license": "MPL-2.0",
"dependencies": {
"@babel/runtime": "7.28.6",
"@devicefarmer/adbkit": "3.3.8",
- "addons-linter": "9.6.0",
+ "addons-linter": "9.9.1",
"camelcase": "8.0.0",
"chrome-launcher": "1.2.0",
"debounce": "1.2.1",
@@ -6679,13 +6618,13 @@
}
},
"node_modules/widest-line/node_modules/strip-ansi": {
- "version": "7.1.2",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz",
- "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==",
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz",
+ "integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==",
"dev": true,
"license": "MIT",
"dependencies": {
- "ansi-regex": "^6.0.1"
+ "ansi-regex": "^6.2.2"
},
"engines": {
"node": ">=12"
@@ -6781,13 +6720,13 @@
}
},
"node_modules/wrap-ansi/node_modules/strip-ansi": {
- "version": "7.1.2",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz",
- "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==",
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz",
+ "integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==",
"dev": true,
"license": "MIT",
"dependencies": {
- "ansi-regex": "^6.0.1"
+ "ansi-regex": "^6.2.2"
},
"engines": {
"node": ">=12"
diff --git a/package.json b/package.json
index 4cb4645..2b41e2a 100644
--- a/package.json
+++ b/package.json
@@ -1,5 +1,6 @@
{
"name": "auto-auth",
+ "private": true,
"scripts": {
"postinstall": "npx gulp",
"lint:eslint": "npx eslint src/js tests",
@@ -31,7 +32,7 @@
"gulp": "^5.0.1",
"json-merger": "^3.0.0",
"prettier": "^3.8.1",
- "puppeteer": "^24.37.5",
- "web-ext": "^9.3.0"
+ "puppeteer": "^24.38.0",
+ "web-ext": "^9.4.0"
}
}
diff --git a/src/html/options.html b/src/html/options.html
index 21c5df0..4acdc08 100644
--- a/src/html/options.html
+++ b/src/html/options.html
@@ -172,15 +172,15 @@ Saved Credentials
+ Import Text
+
diff --git a/src/js/export.js b/src/js/export.js
index cba43dc..2f36314 100644
--- a/src/js/export.js
+++ b/src/js/export.js
@@ -2,6 +2,11 @@
export const githubURL = 'https://github.com/cssnr/auto-auth'
+// noinspection JSUnresolvedReference
+export const isFirefox =
+ typeof browser !== 'undefined' &&
+ typeof browser?.runtime?.getBrowserInfo === 'function'
+
export class Hosts {
/** @type {[String]} */
static keys = [...'abcdefghijklmnopqrstuvwxyz0123456789']
@@ -340,11 +345,7 @@ export async function updateManifest() {
* @return {Promise}
*/
export async function updateBrowser() {
- let selector = '.chrome'
- // noinspection JSUnresolvedReference
- if (typeof browser?.runtime?.getBrowserInfo === 'function') {
- selector = '.firefox'
- }
+ const selector = isFirefox ? '.firefox' : '.chrome'
console.debug('updateBrowser:', selector)
document.querySelectorAll(selector).forEach((el) => el.classList.remove('d-none'))
}
@@ -484,6 +485,7 @@ export async function onRemoved(permissions) {
/**
* Open Popup Click Callback
+ * NOTE: Requires Chrome>=127
* @function openPopup
* @param {Event} [event]
*/
diff --git a/src/js/options.js b/src/js/options.js
index f46e2ac..ae41397 100644
--- a/src/js/options.js
+++ b/src/js/options.js
@@ -79,10 +79,12 @@ const bgVideoInput = document.getElementById('bgVideoInput')
const editHostname = document.getElementById('hostname')
const editUsername = document.getElementById('username')
const editPassword = document.getElementById('password')
+const usernameSwitch = document.getElementById('usernameSwitch')
-document
- .getElementById('usernameSwitch')
- .addEventListener('change', (e) => (editUsername.required = !e.currentTarget.checked))
+usernameSwitch.addEventListener(
+ 'change',
+ (e) => (editUsername.required = !e.currentTarget.checked),
+)
const confirmDelete = document.getElementById('confirm-delete')
const confirmDeleteHost = document.getElementById('delete-host')
@@ -247,11 +249,12 @@ async function deleteHost(event) {
* @param {MouseEvent} event
*/
async function editClick(event) {
- console.debug('editClick:', event)
const target = event.currentTarget
+ console.debug('editClick:', target)
const inputs = editModalEl.querySelectorAll('input')
if (target.dataset.action === 'add') {
// Process Add
+ usernameSwitch.checked = false
console.debug('%c Add Host editClick', 'color: Lime')
document.getElementById('edit-modal-label').textContent = 'Add Host'
editForm.dataset.action = 'add'
@@ -277,6 +280,7 @@ async function editClick(event) {
editPassword.value = password
editPassword.dataset.original = password
editPassword.type = 'password'
+ usernameSwitch.checked = username === ''
editModal.show()
}
diff --git a/src/js/service-worker.js b/src/js/service-worker.js
index ccbfdac..39fc5fa 100644
--- a/src/js/service-worker.js
+++ b/src/js/service-worker.js
@@ -1,6 +1,13 @@
// JS Background Service Worker
-import { Hosts, checkPerms, showPanel, githubURL, openPopup } from './export.js'
+import {
+ Hosts,
+ checkPerms,
+ openPopup,
+ showPanel,
+ githubURL,
+ isFirefox,
+} from './export.js'
chrome.runtime.onInstalled.addListener(onInstalled)
chrome.runtime.onStartup.addListener(onStartup)
@@ -188,8 +195,7 @@ async function onStartup() {
const { options } = await chrome.storage.sync.get(['options'])
// console.debug('options:', options)
await updateIcon(options)
- // noinspection JSUnresolvedReference
- if (typeof browser?.runtime?.getBrowserInfo === 'function') {
+ if (isFirefox) {
console.log('Firefox CTX Menu Workaround')
if (options.contextMenu) {
createContextMenus()
@@ -387,8 +393,8 @@ function createContextMenus() {
const contexts = [
// [['all'], 'showPanel', 'Open Panel'],
// [['all'], 'separator'],
- [['all'], 'openPopup', 'Open Popup'],
- [['all'], 'openOptions', 'Auto Auth Options'],
+ [['all'], 'openPopup', 'Activate Popup'],
+ [['all'], 'openOptions', 'Open Options'],
]
contexts.forEach(addContext)
}
@@ -396,7 +402,7 @@ function createContextMenus() {
/**
* Add Context from Array
* @function addContext
- * @param {[chrome.contextMenus.ContextType[],String,String,chrome.contextMenus.ContextType?]} context
+ * @param {[chrome.contextMenus.ContextType[],String,String?,chrome.contextMenus.ContextType?]} context
*/
function addContext(context) {
console.debug('addContext:', context)
diff --git a/src/js/theme.js b/src/js/theme.js
index e59722d..b44f207 100644
--- a/src/js/theme.js
+++ b/src/js/theme.js
@@ -74,7 +74,6 @@
document.querySelectorAll('[data-bs-theme-value]').forEach((el) => {
el.addEventListener('click', () => {
- // const value = el.getAttribute('data-bs-theme-value')
const value = el.dataset.bsThemeValue
setStoredTheme(value)
setTheme(value)