[Low Priority] Word Filter silently fails when an invalid regex is entered
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 2/5
- Thời gian dự kiến
- 1-3 giờ
- Mức phù hợp với người mới
- 70/100
- Loại issue
- Lỗi
- Độ rõ ràng
- Đặc tả rõ ràng
- Mức độ hoạt động
- Sôi nổi
- Công nghệ
- react, typescript
- Lĩnh vực
- frontend
Hướng nghiên cứu
Lỗi bắt nguồn từ WordFilterModal.tsx tại dòng 137, nơi một RegExp mới được tạo. Hãy bắt đầu bằng cách kiểm tra trình xử lý onSubmit xung quanh dòng 207. Thêm xác thực trước khi tạo RegExp và hiển thị thông báo lỗi cho người dùng. Kiểm tra thư viện thành phần giao diện người dùng để biết cách hiển thị hộp thoại lỗi. Kiểm tra bằng cách nhập regex không hợp lệ như '(' hoặc '[' trong hộp thoại bộ lọc từ.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Did you clear cache before opening an issue?
- I have cleared my cache
Is there an existing issue for this?
- I have searched the existing open and closed issues
Does the issue happen when logged in?
Yes
Does the issue happen when logged out?
Yes
Does the issue happen in incognito mode when logged in?
Yes
Does the issue happen in incognito mode when logged out?
Yes
Account name
onedeath
Account config
Doesn't only happen when logged in, but just in case my config is
{"theme":"metaverse","themeLight":"serika","themeDark":"serika_dark","autoSwitchTheme":false,"customTheme":false,"customThemeColors":["#323437","#e2b714","#e2b714","#646669","#2c2e31","#d1d0c5","#ca4754","#7e2a33","#ca4754","#7e2a33"],"favThemes":["stealth","rgb","terminal","cyberspace","vscode","metaverse","matrix","shadow","midnight","dark","arch","husqy","dev"],"showKeyTips":true,"smoothCaret":"fast","codeUnindentOnBackspace":false,"quickRestart":"tab","punctuation":false,"numbers":false,"words":100,"time":15,"mode":"custom","quoteLength":[0,1,2,3],"language":"english","fontSize":2,"freedomMode":false,"difficulty":"normal","blindMode":false,"quickEnd":false,"caretStyle":"outline","paceCaretStyle":"outline","flipTestColors":false,"layout":"default","funbox":[],"confidenceMode":"off","indicateTypos":"off","compositionDisplay":"replace","timerStyle":"mini","liveSpeedStyle":"mini","liveAccStyle":"mini","liveBurstStyle":"mini","colorfulMode":false,"randomTheme":"off","timerColor":"main","timerOpacity":"1","stopOnError":"off","deleteOnError":"off","showAllLines":false,"keymapMode":"off","keymapStyle":"staggered","keymapLegendStyle":"lowercase","keymapLayout":"overrideSync","keymapKeys":"minimal","keymapSize":1,"fontFamily":"Kanit","smoothLineScroll":false,"alwaysShowDecimalPlaces":false,"alwaysShowWordsHistory":false,"singleListCommandLine":"on","capsLockWarning":true,"playSoundOnError":"off","playSoundOnClick":"off","soundVolume":0.5,"startGraphsAtZero":true,"showOutOfFocusWarning":true,"paceCaret":"off","paceCaretCustomSpeed":100,"repeatedPace":true,"accountChart":["on","on","on","on"],"minWpm":"off","minWpmCustomSpeed":100,"highlightMode":"letter","typedEffect":"keep","typingSpeedUnit":"wpm","ads":"result","hideExtraLetters":false,"strictSpace":false,"minAcc":"off","minAccCustom":90,"monkey":false,"repeatQuotes":"off","resultSaving":true,"oppositeShiftMode":"off","customBackground":"","customBackgroundSize":"cover","customBackgroundFilter":[0,1,1,1],"customLayoutfluid":["qwerty","dvorak"],"customPolyglot":["english","german"],"monkeyPowerLevel":"off","minBurst":"off","minBurstCustomSpeed":100,"burstHeatmap":false,"britishEnglish":false,"lazyMode":false,"showAverage":"off","showPb":false,"tapeMode":"off","tapeMargin":50,"maxLineWidth":0,"playTimeWarning":"off"}
Current Behavior
Entering an invalid regular expression in Custom Text → Word Filter and clicking Set or Add does nothing. No error message appears, no filter is applied, and the Word Filter modal remains open.
Honestly in my testing I've only tried the brackets '[' , ']' , and parentheses , '(' . ')', but I think other invalid regex should produce the same result.
Moreover, the Words Filter screen is unable to be opened until you refresh after you enter the invalid regex expression.
Expected Behavior
I expected the site to clearly show an error such as “Invalid regex expression” so the user knows why the filter was not applied. Instead the only error indicator is the lack of response when clicking Set or Add, or if you're a bit tech-savvy, the error in DevTools ->
WordFilterModal.tsx:137 Uncaught (in promise) SyntaxError: Invalid regular expression: /(/: Unterminated group
at new RegExp ()
at oM (WordFilterModal.tsx:137:18)
at Object.onSubmit (WordFilterModal.tsx:207:24)
at async Rg._handleSubmit (FormApi.js:561:9)
Steps To Reproduce
- Go to the main screen
- Enter the 'Custom' mode
- Click change next to the mode selector
- Click on the button with a funnel icon reading 'words filter'
- In the regex field, put any invalid regex expression such as parentheses or brackets
- No visible error modal
Environment
- OS: Windows 11
- Browser: Google Chrome
- Browser Version: 153.0.8010.54 (Official Build) (64-bit) (cohort: Control)
Anything else?
No response
- Ngôn ngữ chính
- TypeScript
- Star
- 20.7k
- Fork
- 3.3k
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của monkeytypegame/monkeytype
-
Bug: outOfFocusTimeouts array grows unboundedly — cleared timeout ids never removed from array Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 84/100
monkeytypegame/monkeytype#8366 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 84/100
monkeytypegame/monkeytype#8365 · 1 bình luận ·
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 88/100
monkeytypegame/monkeytype#8364 · 1 bình luận ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
monkeytypegame/monkeytype#8363 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
monkeytypegame/monkeytype#8362 · 1 bình luận ·
Tất cả issue của monkeytypegame/monkeytype
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 84/100
bcgov/bc-wallet-mobile#4761 · 1 bình luận ·
-
external-issue to-triage
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
-
area-deployment area-integrations triage:bot-seen
Độ khó 2/5 Nửa ngày Mức phù hợp với người mới 86/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
-
refactor
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 84/100