mirror of
https://github.com/SoPat712/Speeder.git
synced 2026-08-19 11:52:31 -04:00
v6.0.1-beta.1
This commit is contained in:
@@ -733,6 +733,13 @@ function getRememberedSpeed(video) {
|
||||
var videoSpeed = tc.settings.speeds[sourceKey];
|
||||
if (isValidSpeed(videoSpeed)) return videoSpeed;
|
||||
}
|
||||
|
||||
// No per-source entry yet — fall back to the most recently used speed.
|
||||
// This ensures e.g. YouTube Shorts carry the user's chosen speed to the
|
||||
// next Short even when that exact source URL hasn't been visited before.
|
||||
if (isValidSpeed(tc.settings.lastSpeed)) {
|
||||
return tc.settings.lastSpeed;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "Speeder",
|
||||
"short_name": "Speeder",
|
||||
"version": "6.0.0",
|
||||
"version": "6.0.1",
|
||||
"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",
|
||||
|
||||
@@ -72,7 +72,7 @@ describe("durable playback-speed intent", () => {
|
||||
expect(window.tc.settings.rememberSpeed).toBe(true);
|
||||
});
|
||||
|
||||
it("does not seed a brand-new Short from unrelated global lastSpeed", async () => {
|
||||
it("seeds a brand-new Short from lastSpeed when remember is active", async () => {
|
||||
bootInject(
|
||||
{ lastSpeed: 1.8 },
|
||||
"https://www.youtube.com/shorts/new-source"
|
||||
@@ -80,6 +80,33 @@ describe("durable playback-speed intent", () => {
|
||||
const video = await createVideo();
|
||||
|
||||
expect(window.tc.settings.rememberSpeed).toBe(true);
|
||||
expect(window.getRememberedSpeed(video)).toBe(1.8);
|
||||
expect(video.playbackRate).toBe(1.8);
|
||||
});
|
||||
|
||||
it("prefers per-source speed over lastSpeed fallback", async () => {
|
||||
bootInject(
|
||||
{ lastSpeed: 2.0, rememberSpeed: true },
|
||||
"https://example.org/watch",
|
||||
{
|
||||
rememberedSpeeds: {
|
||||
"https://example.org/a.mp4": { speed: 1.4, updatedAt: 100 }
|
||||
}
|
||||
}
|
||||
);
|
||||
const video = await createVideo();
|
||||
|
||||
expect(window.getRememberedSpeed(video)).toBe(1.4);
|
||||
expect(video.playbackRate).toBe(1.4);
|
||||
});
|
||||
|
||||
it("does not fall back to lastSpeed when remember is off", async () => {
|
||||
bootInject(
|
||||
{ lastSpeed: 1.8, rememberSpeed: false },
|
||||
"https://example.org/watch"
|
||||
);
|
||||
const video = await createVideo();
|
||||
|
||||
expect(window.getRememberedSpeed(video)).toBeNull();
|
||||
expect(video.playbackRate).toBe(1);
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user