Repository navigation
Sửa giọng chồng tiếng trong tour, thêm nút loa tắt/bật - #47
Merged
Merged
Conversation
Sửa lỗi: bấm Tiếp/Trước (hoặc bước tự chuyển) trong lúc bản thu đang phát đổi tệp mới nhưng không huỷ sạch lượt phát cũ — lời hứa play() cũ bị huỷ ngang (AbortError), rơi về giọng máy đọc nốt câu CŨ trong khi bản thu MỚI vẫn đang phát, nghe thành hai giọng chồng nhau. Thêm bộ đếm thế hệ: mỗi lượt gọi doc_buoc() tăng số thế hệ, các callback (onended, onerror, catch của play(), onend của giọng máy) tự so lại trước khi làm gì — lượt bị lượt mới đè lên thì im lặng, không tự fallback nữa. Đã kiểm bằng Playwright: bấm Tiếp liên tục qua hết 11 bước không còn giọng máy xen vào lúc nào. Thêm nút loa (🔊/🔇) cạnh nút đóng trong bảng tour, theo yêu cầu: người học tự tắt hẳn giọng đọc (cả bản thu lẫn giọng máy, chỉ còn hiện chữ) và bật lại bất cứ lúc nào, tour vẫn tự chuyển bước theo nhịp cố định khi tắt tiếng. Nhớ lựa chọn qua localStorage. Bump PHIEN_BAN.
thuyhuongctu
marked this pull request as ready for review
November 9, 2026 11:05
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Tóm tắt
Cô báo "vừa có âm thanh tôi và hệ thống" — vừa nghe thấy giọng thật lẫn giọng máy chồng lên nhau. Đã kiểm tra: site trên GitHub Pages đã đúng bản mới nhất (v55, đủ 12/12 bước,
CO_THU_AMbật cả hai ngôn ngữ), nên không phải lỗi thiếu tệp hay chưa cập nhật — tìm ra một lỗi khác trongtour.js.Lỗi chồng tiếng
Bấm Tiếp/Trước (hoặc bước tự động chuyển) trong lúc bản thu đang phát sẽ đổi
tieng.srcsang tệp mới trong khi lượt phát cũ chưa kết thúc. Lời hứa (Promise) củaplay()lượt cũ bị huỷ ngang (AbortError), và.catch()cũ coi đó là "không phát được" nên gọi giọng máy đọc nốt câu CŨ — trong khi bản thu MỚI vẫn đang phát bình thường. Hai giọng chồng nhau.Sửa bằng bộ đếm thế hệ: mỗi lượt gọi
doc_buoc()tăng một số thế hệ riêng; mọi callback của lượt đó (onended,onerror,.catch()củaplay(),onendcủa giọng máy) tự so lại số thế hệ hiện tại trước khi hành động — lượt đã bị lượt mới đè lên thì im lặng.Đã kiểm bằng Playwright: giả lập bấm "Tiếp" liên tục, thật nhanh, qua hết 11 bước — trước khi sửa dễ tái hiện giọng chồng nhau qua các bước; sau khi sửa không còn phép nào ghi nhận giọng máy xen vào lúc bản thu đang phát.
Thêm nút loa (theo yêu cầu riêng)
Nút 🔊/🔇 cạnh nút đóng trong bảng tour — người học tự tắt hẳn giọng đọc (chỉ còn hiện chữ, tour vẫn tự chuyển bước theo nhịp cố định) và bật lại bất cứ lúc nào. Nhớ lựa chọn qua
localStorage.Kiểm tra
python3 tests/kiem_tra.py— 25/26 đạt (1 lỗi quen thuộc do Chromium máy làm việc, không liên quan). Đã chụp màn hình nút loa ở cả nền sáng/tối và màn 390px.Generated by Claude Code