From 1a7dc3097e7356963a3c78033778b7510d3151bd Mon Sep 17 00:00:00 2001
From: Josh Patra
Date: Fri, 10 Apr 2026 15:04:29 -0400
Subject: [PATCH] Release v5.2.4
---
.github/FUNDING.yml | 2 +-
images/kofi_symbol.svg | 13 ++++
importExport.js | 2 +-
manifest.json | 2 +-
options.css | 97 ++++++++++++++++++++++++--
options.html | 84 +++++++++++++++++-----
shared/import-export.js | 24 +++++++
tests/helpers/browser.js | 72 ++++++++++++++++---
tests/helpers/extension-test-utils.js | 89 ++++++++++++++++++++---
tests/helpers/jsdom-globals.js | 30 ++++++++
tests/importExport.integration.test.js | 97 +++++++++++++++++++++-----
tests/importExport.spec.js | 30 ++++++++
tests/inject.test.js | 11 +--
tests/setup.js | 6 +-
tests/shared.test.js | 10 +++
15 files changed, 502 insertions(+), 67 deletions(-)
create mode 100644 images/kofi_symbol.svg
create mode 100644 tests/helpers/jsdom-globals.js
diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml
index 129ece4..3e2e6b2 100644
--- a/.github/FUNDING.yml
+++ b/.github/FUNDING.yml
@@ -10,6 +10,6 @@ liberapay: # Replace with a single Liberapay username
issuehunt: # Replace with a single IssueHunt username
lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry
polar: # Replace with a single Polar username
-buy_me_a_coffee: # Replace with a single Buy Me a Coffee username
+buy_me_a_coffee: treeman183
thanks_dev: # Replace with a single thanks.dev username
custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
diff --git a/images/kofi_symbol.svg b/images/kofi_symbol.svg
new file mode 100644
index 0000000..1e8a6ca
--- /dev/null
+++ b/images/kofi_symbol.svg
@@ -0,0 +1,13 @@
+
diff --git a/importExport.js b/importExport.js
index 19b9f4f..f63c899 100644
--- a/importExport.js
+++ b/importExport.js
@@ -12,7 +12,7 @@ function exportSettings() {
chrome.storage.local.get(null, function (localStorage) {
const backup = importExportUtils.buildBackupPayload(
storage,
- localStorage,
+ importExportUtils.filterLocalSettingsForExport(localStorage),
new Date()
);
diff --git a/manifest.json b/manifest.json
index 5307d46..cfee6d8 100644
--- a/manifest.json
+++ b/manifest.json
@@ -1,7 +1,7 @@
{
"name": "Speeder",
"short_name": "Speeder",
- "version": "5.2.1",
+ "version": "5.2.4",
"manifest_version": 2,
"description": "Speed up, slow down, advance and rewind HTML5 audio/video with shortcuts (New and improved version of \"Video Speed Controller\")",
"homepage_url": "https://github.com/SoPat712/speeder",
diff --git a/options.css b/options.css
index e4c16a9..871ad93 100644
--- a/options.css
+++ b/options.css
@@ -1010,17 +1010,85 @@ button.lucide-result-tile.lucide-picked {
display: none;
}
-.support-footer {
- padding: 16px 20px;
+.support-cta {
+ margin-top: 14px;
+ padding: 14px 16px;
+ border: 1px solid var(--border);
+ border-radius: 12px;
+ background: var(--panel-subtle);
+}
+
+.support-cta-text {
+ margin: 0 0 12px;
color: var(--muted);
+ font-size: 13px;
+ line-height: 1.45;
}
-.support-footer p {
- margin: 0;
+.support-cta-links {
+ display: flex;
+ flex-wrap: wrap;
+ align-items: center;
+ gap: 10px;
}
-.support-footer a {
- font-weight: 600;
+.support-cta-link {
+ display: inline-flex;
+ align-items: center;
+ justify-content: center;
+ width: 42px;
+ height: 42px;
+ border-radius: 10px;
+ border: 1px solid var(--border);
+ background: var(--panel);
+ color: var(--text);
+ text-decoration: none;
+ transition: background 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
+}
+
+.support-cta-link:hover {
+ background: var(--toggle-open-bg);
+ border-color: var(--toggle-open-border);
+}
+
+.support-cta-link:focus-visible {
+ outline: 2px solid var(--accent);
+ outline-offset: 2px;
+}
+
+.support-cta-link svg {
+ width: 24px;
+ height: 24px;
+ display: block;
+}
+
+.support-cta-link--kofi {
+ background: #fff4ef;
+}
+
+.support-cta-link--kofi:hover {
+ background: #ffe8de;
+}
+
+.support-cta-kofi-img {
+ display: block;
+ height: 26px;
+ width: auto;
+}
+
+.support-cta-link--bmc {
+ color: #0d0c22;
+ background: #ffdd00;
+}
+
+.support-cta-link--bmc:hover {
+ background: #f7d500;
+}
+
+.support-cta-link--bmc svg {
+ width: 22px;
+ height: 22px;
+ display: block;
}
@media (max-width: 720px) {
@@ -1162,4 +1230,21 @@ button.lucide-result-tile.lucide-picked {
filter: brightness(0) invert(1);
opacity: 0.92;
}
+
+ .support-cta-link--kofi {
+ background: #2c241f;
+ }
+
+ .support-cta-link--kofi:hover {
+ background: #3a312a;
+ }
+
+ .support-cta-link--bmc {
+ color: #ffdd00;
+ background: #2a2618;
+ }
+
+ .support-cta-link--bmc:hover {
+ background: #3d3510;
+ }
}
diff --git a/options.html b/options.html
index 189fddf..c3863af 100644
--- a/options.html
+++ b/options.html
@@ -24,6 +24,72 @@
v
+
+
+ If Speeder has been useful, please consider supporting its development!
+
+
+
@@ -701,24 +767,6 @@
-