From 3aee88c150287ae4c2bde3c38272a334720eecd9 Mon Sep 17 00:00:00 2001 From: sudacode Date: Sun, 14 Jun 2026 20:58:26 -0700 Subject: [PATCH] chore(release): prepare v0.17.0-beta.2 --- launcher/smoke.e2e.test.ts | 28 ++++++++++++++++------------ package.json | 2 +- release/prerelease-notes.md | 31 ++++++++++++++++++++++--------- 3 files changed, 39 insertions(+), 22 deletions(-) diff --git a/launcher/smoke.e2e.test.ts b/launcher/smoke.e2e.test.ts index fb8e97f5..d44a07c4 100644 --- a/launcher/smoke.e2e.test.ts +++ b/launcher/smoke.e2e.test.ts @@ -554,13 +554,15 @@ test( typeof mpvError === 'string' && /eperm|operation not permitted/i.test(mpvError); assert.equal(result.status, unixSocketDenied ? 3 : 0); - assert.equal(appEntries.length > 0, true); - assert.equal( - appEntries.every((entry) => - (entry.argv as string[]).includes('--ensure-linux-runtime-plugin-assets'), - ), - true, - ); + if (process.platform === 'linux') { + assert.equal(appEntries.length > 0, true); + assert.equal( + appEntries.every((entry) => + (entry.argv as string[]).includes('--ensure-linux-runtime-plugin-assets'), + ), + true, + ); + } assert.equal(appStartEntries.length, 0); assert.equal(appStopEntries.length, 0); assert.equal(controlEntries.length, 1); @@ -617,11 +619,13 @@ test( /subminer-auto_start_pause_until_ready_owns_initial_pause=yes/, ); assert.match(result.stdout, /pause mpv until overlay and tokenization are ready/i); - assert.match(result.stdout, /managed plugin\/theme assets/i); - assert.equal( - fs.existsSync(path.join(smokeCase.xdgDataHome, 'SubMiner', 'themes', 'subminer.rasi')), - true, - ); + if (process.platform === 'linux') { + assert.match(result.stdout, /managed plugin\/theme assets/i); + assert.equal( + fs.existsSync(path.join(smokeCase.xdgDataHome, 'SubMiner', 'themes', 'subminer.rasi')), + true, + ); + } }); }, ); diff --git a/package.json b/package.json index 5e813302..8941e4a5 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "subminer", "productName": "SubMiner", "desktopName": "SubMiner.desktop", - "version": "0.17.0-beta.1", + "version": "0.17.0-beta.2", "description": "All-in-one sentence mining overlay with AnkiConnect and dictionary integration", "packageManager": "bun@1.3.5", "main": "dist/main-entry.js", diff --git a/release/prerelease-notes.md b/release/prerelease-notes.md index fb1b4db1..191ae9b6 100644 --- a/release/prerelease-notes.md +++ b/release/prerelease-notes.md @@ -9,23 +9,35 @@ - `z`, `Z`, and `x` adjust `sub-delay`; `Ctrl+Shift+Left/Right` run native `sub-step` and show the current delay on the OSD. - The previous SubMiner-only adjacent-cue delay action has been removed. -- **Update Notifications:** New installs now default update notifications to overlay-only instead of overlay plus system notifications. +- **Update Notifications:** New installs now default to overlay-only update notifications instead of overlay plus system notifications. ### Fixed -- **Linux Support Assets:** Linux updates now create and refresh both managed support assets: the launcher runtime plugin copy and the rofi theme. - - First launcher playback on fresh Linux installs auto-installs those bundled support assets before mpv starts when either asset is missing. - - Support-asset refreshes leave unrelated SubMiner data directories alone and stage plugin copies before replacing the live runtime plugin. +- **Anki Card Enrichment:** Fixed two issues where card fields were not populated correctly after mining. + - Highlight Word now bolds the mined word in Kiku sentence and sentence-furigana fields even when the source Yomitan sentence has no existing bold markup. + - Lapis and Kiku word cards enriched through SubMiner now include the word-and-sentence marker, restoring sentence context on the card front. -- **Linux Visible Overlay Startup:** Auto-paused visible overlay startup stays interactive during the first measurement gap. - - Startup subtitle cache misses paint raw text before tokenization finishes, and temporarily empty mpv subtitle reads refresh parsed cues before synthetic warm readiness resumes playback. +- **Windows Overlay:** Fixed shaky hover and click behavior on the subtitle bar when a video attaches to an already-running SubMiner instance. + +- **Windows Anki & Media:** Fixed two issues affecting Windows users running SubMiner in background-launch mode. + - Known-word cache refreshes no longer fail when no deck is configured. + - Audio and image clipping now works correctly by recreating missing FFmpeg temp directories before processing. + +- **Windows Character Dictionary:** The character dictionary auto-sync now correctly falls back to mpv's current video path on Windows when app media state is not yet ready. + +- **Linux Support Assets:** Linux updates now create and refresh both managed support assets: the launcher runtime plugin copy and the rofi theme. + - First playback on a fresh Linux install auto-installs those bundled assets before mpv starts if either one is missing. + - Asset refreshes leave unrelated SubMiner data directories untouched and stage plugin copies before replacing the live runtime plugin. + +- **Linux Visible Overlay Startup:** Auto-paused visible overlay startup stays fully interactive during the first measurement gap. + - Startup subtitle cache misses paint raw text before tokenization finishes, and temporarily empty mpv subtitle reads refresh parsed cues before warm readiness resumes playback. - **Playlist Transitions:** The visible overlay stays active while mpv advances to the next playlist item, including when the next episode loads after the warm transition delay. - **macOS Yomitan Popup Focus:** Yomitan popup focus is restored after card mining or popup reload. - - Clicking transparent overlay space now closes the popup, then returns passthrough to mpv without a hide/reappear cycle. + - Clicking transparent overlay space now closes the popup and returns passthrough to mpv without a hide/reappear cycle. -- **Stats AniList Search:** Manual AniList linking from the stats anime page now drops generated `Season N` suffixes before searching, so automatic searches use the base anime title. +- **Stats AniList Search:** Manual AniList linking from the stats page now strips generated `Season N` suffixes before searching, so the base anime title is used. - **Desktop Notifications:** System notifications now show the SubMiner app icon when no custom notification image is provided. @@ -33,7 +45,7 @@ ### Docs -- **Linux Update Flow:** Documented that Linux update flows manage the launcher runtime plugin copy and rofi theme from `subminer-assets.tar.gz`, and that normal launcher playback auto-installs those managed support assets if either one is missing. +- **Linux Update Flow:** Documented that Linux update flows manage the launcher runtime plugin copy and rofi theme from `subminer-assets.tar.gz`, and that normal playback auto-installs those managed support assets if either one is missing. ## What's Changed @@ -42,6 +54,7 @@ - fix(overlay): preserve visible state across playlist item transitions by @ksyasuda in #124 - fix(overlay): restore macOS Yomitan popup focus without breaking click-away by @ksyasuda in #125 - fix(linux): auto-install managed plugin copy; include in asset updates by @ksyasuda in #127 +- Fix Windows Anki startup and overlay regressions by @ksyasuda in #128 ## Installation