Skip to content

Commit ca3f7c3

Browse files
Merge pull request #66 from hoangkien1703/release/v1.0.1
Publish DualSub Replay v1.0.1
2 parents 8e318f5 + 7cee91f commit ca3f7c3

2 files changed

Lines changed: 10 additions & 13 deletions

File tree

‎.github/workflows/release-on-main.yml‎

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -160,24 +160,21 @@ jobs:
160160
161161
Preview builds install separately as **DualSub Replay Preview**, so installing an official release does not require removing the preview app.
162162
163-
## v1.0.0 highlights
163+
## v1.0.1 highlights
164164
165-
- **Spoken-word highlighting**: Restore v0.9.5's automatic timing and keep live caption tracking active in portrait, landscape, and fullscreen overlays (#63).
166-
- **Bilingual caption formats**: Choose Short paired phrases or Whole sentence, with each displayed unit translated independently while retaining source-word timestamps (#62).
167-
- **Playback timing**: Share a rate-aware clock across subtitle layouts, with stale-sample rejection and recovery after pauses, buffering, and seeks (#62, #63).
168-
- **Existing features preserved**: On-device translation, vocabulary, Word Learning, Practice backup and transfer, replay, caption colors, and visibility controls remain available.
165+
- **Word pronunciation**: Pronounce now tries the preferred Android speech engine and other installed engines, selecting an available offline voice first and falling back to a supported network voice if needed (#65).
166+
- **Recovery**: Word Learning and Saved words offer Speech settings when no suitable voice works. Retry Pronounce after installing or selecting a voice (#65).
167+
- **Playback handling**: Speech waits for the utterance to finish, handles playback errors, and stops when a new pronunciation starts or the app goes to the background (#65).
169168
170169
## Validation
171170
172-
- PR checks cover unit tests, formatting, complexity, lint, debug and optimized release builds, and 42 API 36 emulator tests.
173-
- The landscape regression exercises the complete player and live caption capture through landscape/fullscreen transitions with an offline WebView fixture.
174-
- The user confirmed PR #63 build 271 works well on their phone before approving this official release.
171+
- PR #65 passed formatting, complexity, unit tests, lint, and debug build checks, including 15 pronunciation regression cases.
172+
- The official APK is built with production signing and verified by this release workflow.
175173
176174
## Known limitations
177175
178-
- Live word timing depends on eligible auto-generated captions and YouTube's page behavior; transcript timing is used when live timing is unavailable.
179-
- ML Kit translations can still be literal or imprecise.
180-
- Phone acceptance does not establish synchronization accuracy for every video or device; emulator fixtures do not measure real audio latency.
176+
- Pronunciation requires an installed Android speech engine with a suitable voice. Network voices need connectivity.
177+
- Pronunciation audio on a physical phone has not been verified for this release.
181178
182179
The `.sha256` file can be used to verify the APK download.
183180
files: |

‎app/build.gradle.kts‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ plugins {
33
id("org.jetbrains.kotlin.plugin.compose")
44
}
55

6-
val appVersionCode = 31
7-
val appVersionName = "1.0.0"
6+
val appVersionCode = 32
7+
val appVersionName = "1.0.1"
88
val releaseStoreFile = providers.environmentVariable("ANDROID_RELEASE_STORE_FILE").orNull
99
val releaseStorePassword = providers.environmentVariable("ANDROID_RELEASE_STORE_PASSWORD").orNull
1010
val releaseKeyAlias = providers.environmentVariable("ANDROID_RELEASE_KEY_ALIAS").orNull

0 commit comments

Comments
 (0)