Add/fix support for web reader in Brave browser
Despite Brave simply being a slightly more secure and privacy-friendly version of Chrome for which every other website seems to function identically, in the Readlang web interface there's some breakage with the Formatting Options panel that keeps it from being usable for me. Note: the Readlang extension works identically in Chrome and Brave with no issues. Particularly, all of the buttons in Change Size do the right thing, but none of the buttons below have any effect. This wouldn't be so much of an issue if these settings stuck per account, but they seem to need to be set per browser and I am unable to, for instance, turn on dark mode, turn off merging, or set it to underline to make it usable for me. I've tried turning off all of the security and privacy features in Brave, which did nothing, and there are no messages in the console to indicate an issue behind the scenes, it's just that the buttons simply do nothing. While I understand adding support for all sorts of niche browsers and platforms is infeasible, it would be nice to have the basic web frontend working across modern browsers (especially one that is not just WebKit-based but Chromium-based).
I've just tested on the latest version of Brave (1.66.115) on macOS and the formatting options work fine for me. (with one exception which isn't Brave specific: changing the "Show Streak in Topbar" doesn't apply until you refresh the page - I'll work on fixing that soon!)
If you can give me any hint as to how to reproduce this problem you're having please let me know. What operating system are you running Brave on? If you know how to open the Javascript developer console it might help to see if any errors pop up there when clicking the formatting options, and to let me know.
-
Gavin Drew commented
It frustrating when a small issue like this hinders the user experience. Read and Brave are both awesome, so making them work well together should be a priority.
https://housecleanerserviceusa.com/regular-home-cleaning-in-sacramento-ca/
-
Harry Kai commented
I totally get your frustration! It’s odd that Brave, being so similar to Chrome, is causing these issues with Readlang’s formatting options. I’ve faced similar quirks with other sites on Brave too. Have you tried reaching out to Readlang support? Sometimes a quick message can bring these bugs to their attention, and they might have a workaround or a fix in the pipeline. Hang in there!
https://royaldocline.com/webinar -
tritiumoxide commented
Following up again: everything is finally working in Brave now since one of your recent changes, perhaps the one that fixed the Show Streak in Topbar refresh thing. Thanks so much, and glad you're back maintaining things!
-
tritiumoxide commented
To follow-up again, I was able to confirm this behavior in Chromium 125.0.6422.112 on the same Linux system as well as a much older server running Ubuntu 22.04, and then managed to test Chromium 125.0.6422.142 in Windows (I don't maintain any Windows machines so I tested with what I could get my hands on, and neither Edge nor Brave were installed, so I couldn't confirm the issue on any other Chromium-based browser on Windows, sorry). Oddly, the reader works fine in Opera 110.0.5130.49 (based on Chromium 124.0.6367.233), even though the Brave browser based on 124.x had this problem along with perhaps a dozen versions prior to that.
Additionally, I was able to confirm that hitting the buttons not only calls the right endpoint, as mentioned earlier, but it appears that settings are actually per account, and I will see changes in a separate Chrome window after refreshing while the Brave/Chromium window I hit the buttons in doesn't reflect them, even with a refresh. I also tried this on two different Readlang accounts, with the same behavior, just to rule out some account/backend wierdness. This appears to be an odd frontend issue for some Chromium-based browsers in Linux (it works fine on Android, though) and Windows that has been present at very least for all releases of Brave in the past year.
Is there anything else I can try? I'm honestly baffled that there aren't any javascript errors or at least warnings hinting at a disconnect somewhere. I tried stepping through the handling of api/splitTests/trackEvent/pageStart which seems to be the call that sets things up initially, just to see if there was anything obvious, but to no avail. The call returns my settings correctly, the reader just never switches to dark mode, or underline/gloss mode, or the handful of others mentioned in the previous update.
-
tritiumoxide commented
Oh, wow, thanks for checking this out so quickly! I was running 1.65.126 on Ubuntu 24.04 when I posted this, but after you mentioned it, I noticed 1.66.115 was available and I upgraded, though it doesn't seem to have changed much, if anything. This has been an issue with various installs of Brave and a mix of OSes over the past year or so. The Javascript console is the console I meant in the initial description, so there are no messages of any sort, even with Verbose checked.
I tried the Show Streak In Topbar options and found that those buttons worked, but required a refresh! Then I realized I needed to test each button systematically with refresh. Auto-Highlight Words worked after a refresh as well. On Deselect Word/Phrase seems to work with no refresh needed (with auto-highlight on I can actually see the change easily), as do Merge and Don't Merge. Translations On/Off, and Sentence Breaks On/Off work, but only after a refresh. The following still do nothing, even after a refresh: Highlight/Underline/Replace, Align Left/Justify, Light/Dark, and any of the fonts. It should be noted that none of the buttons change color when toggled, only when hovering, whether or not they work.
My apologies for not having been more thorough the first time through. The buttons I was trying to use weren't working and when I tried to hit others near them, I didn't notice the changes due to either the need to refresh or the more obvious signs being turned off. I left the console open during all of my testing and there are still no messages, though.
Since there was nothing in the console, I decided to check Network while hitting each of the buttons that don't work. For each one I see the PATCH calls to api/user going through with seemingly sane values and returning with "OK" and status 200.