Skip to content

Commit 270788c

Browse files
author
haotool
committed
chore: bump version to 0.8.17
- Add complete error message i18n (25 languages) - Add error code to i18n mapping in popup - Improve popup scrolling behavior - Add microphone permission detection
1 parent a494e01 commit 270788c

3 files changed

Lines changed: 56 additions & 2 deletions

File tree

CHANGELOG.md

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,60 @@ All notable changes to EchoType will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8+
## [0.8.17] - 2026-01-20
9+
10+
### 🌐 Internationalization
11+
- **Complete Error Message i18n** - Added localized error messages for all 25 supported languages:
12+
- `errorConnectionFailed` / `errorConnectionFailedDesc`
13+
- `errorTabNotFound` / `errorTabNotFoundDesc`
14+
- `errorNotLoggedIn` / `errorNotLoggedInDesc`
15+
- `errorAlreadyActive` / `errorAlreadyActiveDesc`
16+
- `errorMicrophoneDenied` / `errorMicrophoneDeniedDesc`
17+
- **Smart Error Display** - Popup now maps error codes to localized messages via `ERROR_I18N_MAP`
18+
19+
### 🔧 Bug Fixes
20+
- **Fixed Hardcoded Error Messages** - Error messages in popup now use i18n instead of raw English strings
21+
- **Added Error Code Mapping** - `showErrorFromCode()` function translates error codes to user-friendly localized messages
22+
23+
### 🧪 Testing
24+
- All 140 unit tests passing
25+
- All 27 E2E tests passing
26+
27+
---
28+
29+
## [0.8.16] - 2026-01-20
30+
31+
### 🔧 Critical Bug Fixes
32+
- **Fixed "Dictation is not idle (unknown)" Error** - Modified `handleStartDictation()` to allow start when status is `unknown` (common in logged-out state). Now only blocks when actively recording/processing.
33+
- **Improved Login Detection** - Enhanced `checkLoginStatus()` to prioritize login/signup button detection, check for dictation button presence, and default to "not logged in" when uncertain.
34+
35+
### ✨ Features
36+
- **Microphone Permission Detection** - Added `checkMicrophonePermission()` and `requestMicrophoneAccess()` functions using the Permissions API
37+
- **Multi-language Permission Messages** - Added `getMicrophonePermissionMessage()` with EN/繁中/简中 support
38+
- **New Error Codes** - Added `ALREADY_ACTIVE` and `MICROPHONE_DENIED` to `ErrorCode` type
39+
40+
### 🔁 Reliability
41+
- **Better State Machine Logic** - `handleStartDictation()` now distinguishes between recoverable states (`idle`, `unknown`, `error`) and active states (`listening`, `recording`, `processing`)
42+
- **Enhanced Debug Output** - `startDictation()` now includes `micPermission` in debug info for troubleshooting
43+
44+
---
45+
46+
## [0.8.15] - 2026-01-19
47+
48+
### 📝 Documentation
49+
- **Comprehensive Error Handling Analysis** - Updated `ERROR_HANDLING_ANALYSIS.md` (EN) and `ERROR_HANDLING_ANALYSIS.zh_TW.md` (繁中) with detailed state machine diagrams, DOM detection strategies, and background tab limitations
50+
- **BDD Test Scenarios** - Added `error-handling.feature` with 20+ scenarios covering login detection, voice availability, health checks, and background tab operations
51+
52+
### 🧪 Testing
53+
- **New Unit Tests** - Added `selectors.test.ts` with 17 tests covering login status detection, health check logic, dictation status detection, and voice input availability
54+
- **DOM Integration Tests** - Added `selectors-dom.test.ts` with 23 tests using jsdom environment for realistic DOM detection testing
55+
- **Test Coverage** - Increased total unit tests from 100 to 140 (+40%)
56+
57+
### 🔁 Reliability
58+
- **Human-like Automation Guidelines** - Documented best practices for anti-detection: variable delays, natural mouse events, graceful degradation
59+
60+
---
61+
862
## [0.8.14] - 2026-01-18
963

1064
### 🔁 Reliability

manifest.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"manifest_version": 3,
33
"name": "__MSG_extName__",
44
"short_name": "EchoType",
5-
"version": "0.8.14",
5+
"version": "0.8.17",
66
"description": "__MSG_extDescription__",
77
"author": { "email": "haotool.org@gmail.com" },
88
"homepage_url": "https://github.com/haotool/echotype",

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "echotype",
3-
"version": "0.8.14",
3+
"version": "0.8.17",
44
"description": "Universal voice dictation via ChatGPT Whisper - Chrome Extension",
55
"private": true,
66
"type": "module",

0 commit comments

Comments
 (0)