diff --git a/package.json b/package.json index 694a990..1890c52 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "royalrefresh", - "version": "1.5.0", + "version": "1.6.0", "description": "A web extension for royalroad.com. For people who juggle multiple stories", "main": "background.js", "directories": { diff --git a/src/assets/patches/v1.6.0.json b/src/assets/patches/v1.6.0.json new file mode 100644 index 0000000..6da5d13 --- /dev/null +++ b/src/assets/patches/v1.6.0.json @@ -0,0 +1,12 @@ +{ + "version": "1.6.0", + "releasedOn": "2026-01-20", + "summary": "Enhanced scrolling options and accessibility improvements.", + "new": [ + "You can now choose between 'Auto' and 'Instant' scrolling speeds when jumping to recaps" + ], + "fixes": [ + "Clearer explanations when your device's Reduced Motion settings affect animations", + "Improved reliability when jumping to the recap section" + ] +} diff --git a/src/components/settings/BasicSettings.svelte b/src/components/settings/BasicSettings.svelte index 29b40e4..98e7848 100644 --- a/src/components/settings/BasicSettings.svelte +++ b/src/components/settings/BasicSettings.svelte @@ -46,11 +46,6 @@ onValidationChange(wordCountValidation.isValid) } }) - - // Compute effective scroll behavior - respects OS reduced motion preference - const effectiveScrollBehavior = $derived( - userPrefersReducedMotion ? "instant" : settings.scrollBehavior, - )

Recap Settings

@@ -77,26 +72,20 @@ {#if settings.enableJump} - {#if userPrefersReducedMotion} + {#if userPrefersReducedMotion && settings.scrollBehavior === "smooth"}

- Scroll animations are disabled because prefers-reduced-motion is enabled in your system settings. + System Reduced Motion Detected

- To enable smooth scrolling, change your system's accessibility - settings to allow motion. + Your system has reduced motion enabled, so "Auto" will use + instant scrolling. If you prefer not to jump at all, disable + "Enable jump to recap" above.

{/if} diff --git a/src/entrypoints/background.ts b/src/entrypoints/background.ts index 257ac95..e8a65e6 100644 --- a/src/entrypoints/background.ts +++ b/src/entrypoints/background.ts @@ -5,10 +5,9 @@ import { restoreSelectors, setSettings } from "~/lib/utils/storage-utils" export default defineBackground(() => { browser.runtime.onInstalled.addListener(async (details) => { if (details.reason === "install") { - // Use conservative defaults - first-time detection happens on UI side + // Use defaults await setSettings({ ...DEFAULTS, - hasDetectedReducedMotion: false, // Flag to trigger first-time detection }) } @@ -27,10 +26,9 @@ export default defineBackground(() => { if (typeof message !== "object" || message === null) return if ("request" in message && message.request === "getDefaultSettings") { - // Return basic defaults - first-time detection happens on UI side + // Return basic defaults return Promise.resolve({ ...DEFAULTS, - hasDetectedReducedMotion: false, // Flag to trigger first-time detection }) } diff --git a/src/entrypoints/options/Options.svelte b/src/entrypoints/options/Options.svelte index 0f01544..b0ea8e9 100644 --- a/src/entrypoints/options/Options.svelte +++ b/src/entrypoints/options/Options.svelte @@ -5,8 +5,8 @@ BackButton, GitHubButton, PatchNotesButton, - } from "@/components/buttons" - import PatchNotes from "@/entrypoints/popup/PatchNotes.svelte" + } from "~/components/buttons" + import PatchNotes from "~/entrypoints/popup/PatchNotes.svelte" import { PageHeader } from "~/components/layout" import { AdvancedSettings, BasicSettings } from "~/components/settings" import { getDefaults } from "~/lib/config/defaults" diff --git a/src/entrypoints/popup/Popup.svelte b/src/entrypoints/popup/Popup.svelte index 101d69f..a9f352a 100644 --- a/src/entrypoints/popup/Popup.svelte +++ b/src/entrypoints/popup/Popup.svelte @@ -1,17 +1,17 @@