#343 Google Fonts blocked automatically each time Firefox opens in spite of previous settings

Open
opened 3 weeks ago by elsandosgrande · 11 comments

It's as the title says. Whenever I open Firefox Nightly, I can see the weird in-between state that the Google Fonts setting is in. Even in that in-between state, it is blocking Google Fonts, which breaks Google Meet and such, so I have to go into the settings on a regular basis to check and then uncheck the box to get LocalCDN to not block Google Fonts; in short, the setting resets itself to this in-between state every time that I close or open the browser (I don't know which action resets it exactly, but the end result is the same).

Here is a screenshot of what that in-between state looks like:image

When I check it:image

When I uncheck it:image


If you need any more information, I'll gladly provide it.

Have a nice day and thank you in advance.

It's as the title says. Whenever I open Firefox Nightly, I can see the weird in-between state that the Google Fonts setting is in. Even in that in-between state, it is blocking Google Fonts, which breaks Google Meet and such, so I have to go into the settings on a regular basis to check and then uncheck the box to get LocalCDN to not block Google Fonts; in short, the setting resets itself to this in-between state every time that I close or open the browser (I don't know which action resets it exactly, but the end result is the same). Here is a screenshot of what that in-between state looks like:![image](/attachments/3c9228b6-1c65-49e5-9e22-1bdc303bc6cb) When I check it:![image](/attachments/0779efcf-6da7-4d08-9bdf-ed544e8bf379) When I uncheck it:![image](/attachments/b1758400-35f9-465b-acf4-9037c035a14e) --- If you need any more information, I'll gladly provide it. Have a nice day and thank you in advance.
118 KiB
118 KiB
117 KiB
elsandosgrande changed title from Google Fonts blocked automatically, even when blocking is disabled to Google Fonts blocked automatically each time Firefox opens in spite of previous settings 3 weeks ago
nobody commented 2 weeks ago
Owner

Thanks for your report. The issue with the text field has been fixed recently (a703ba34fb) and will be rolled out with version 2.6.5. The recognition of font URLs has also been improved (b6e188f0cc).

The setting itself should actually work all the time. Do you sync the settings with your Firefox Sync account?

Thanks for your report. The issue with the text field has been fixed recently (a703ba34fb) and will be rolled out with version 2.6.5. The recognition of font URLs has also been improved (b6e188f0cc). The setting itself should actually work all the time. Do you sync the settings with your Firefox Sync account?
Poster

From what I can tell, it doesn't matter whether I sync or not (I currently have it set to local, but I originally had it set to sync). I'll test that out later.


Edit

I forgot to mention that it doesn't break the fonts right away, but, if I refresh a few times with the in-between state, the fonts break until I check and uncheck the setting manually. I'll have to do proper testing to give a more detailed description though 😅.

From what I can tell, it doesn't matter whether I sync or not (I currently have it set to local, but I originally had it set to sync). I'll test that out later. --- **Edit** I forgot to mention that it doesn't break the fonts right away, but, if I refresh a few times with the in-between state, the fonts break until I check and uncheck the setting manually. I'll have to do proper testing to give a more detailed description though 😅.
nobody commented 2 weeks ago
Owner

Hmm, that sounds very strange.

With the sync mode, it is sometimes very different when and how the sync is triggered. An extension has no control of this, because it is all managed by the browser and only an interface is used.

I could not reproduce it so far. Do you use a user.js and disable certain Firefox preferences?

Hmm, that sounds very strange. With the sync mode, it is sometimes very different when and how the sync is triggered. An extension has no control of this, because it is all managed by the browser and only an interface is used. I could not reproduce it so far. Do you use a `user.js` and disable certain Firefox preferences?
Poster

I haven't even heard of the user.js file, but I do know that some Firefox preference (or combination of preferences) is capable of nuking IME functionality in Firefox, but I have no clue where to even begin searching for them (I know that that is likely unrelated to the issue at hand, but I just wanted to mention the scale at which preferences are apparently able to affect Firefox; https://bugzilla.mozilla.org/show_bug.cgi?id=1701047). I'll try a clean profile and report back.


If this ends up being a case of a user's preferences being able to do this, will this bug still be valid? I mean, as I said in the ticket linked above, I have no clue what could have caused this, let alone how to solve the issue.


Edit

Side note
It seems that Google Meet currently is having no issues (I'll try switching back to sync and seeing how it goes), but Google Classroom seems to be missing a few icons. The badge color (I know that that's beta, but still) indicates that Google Material Icons is missing in the in-between state, and that it's not missing after checking and unchecking the box, but a couple of the icons are constantly missing, no matter how many times I reload the page: image

I'm not sure if that's related, but I thought that I should let you know.

I haven't even heard of the `user.js` file, but I do know that some Firefox preference (or combination of preferences) is capable of nuking IME functionality in Firefox, but I have no clue where to even begin searching for them (I know that that is likely unrelated to the issue at hand, but I just wanted to mention the scale at which preferences are apparently able to affect Firefox; https://bugzilla.mozilla.org/show_bug.cgi?id=1701047). I'll try a clean profile and report back. --- If this ends up being a case of a user's preferences being able to do this, will this bug still be valid? I mean, as I said in the ticket linked above, I have no clue what could have caused this, let alone how to solve the issue. --- **Edit** Side note It seems that Google Meet currently is having no issues (I'll try switching back to sync and seeing how it goes), but Google Classroom seems to be missing a few icons. The badge color (I know that that's beta, but still) indicates that Google Material Icons is missing in the in-between state, and that it's not missing after checking and unchecking the box, but a couple of the icons are constantly missing, no matter how many times I reload the page: ![image](/attachments/59a85eb2-1d20-4770-8a80-08eb47b69fe6) I'm not sure if that's related, but I thought that I should let you know.
nobody commented 2 weeks ago
Owner

I'll try a clean profile

This is always the best way to exclude settings or other extensions. You can also use about:debugging and This Firefox to check for error messages of LocalCDN. To check the settings of LocalCDN you could use the export function (LocalCDN Settings -> Other -> Back up to file) and see what is stored there.

Google Meet

Google Meet probably doesn't use Google Material Icons, but Google Material Icons Extended. These icons are not described anywhere in the official documentation, so I don't know if it's allowed to use them. (see #308)

> I'll try a clean profile This is always the best way to exclude settings or other extensions. You can also use `about:debugging` and `This Firefox` to check for error messages of LocalCDN. To check the settings of LocalCDN you could use the export function (`LocalCDN Settings` -> `Other` -> `Back up to file`) and see what is stored there. > Google Meet Google Meet probably doesn't use Google Material Icons, but Google Material Icons **Extended**. These icons are not described anywhere in the official documentation, so I don't know if it's allowed to use them. (see #308)
Poster

I'll try a clean profile

This is always the best way to exclude settings or other extensions. You can also use about:debugging and This Firefox to check for error messages of LocalCDN. To check the settings of LocalCDN you could use the export function (LocalCDN Settings -> Other -> Back up to file) and see what is stored there.

👍

Google Meet

Google Meet probably doesn't use Google Material Icons, but Google Material Icons Extended. These icons are not described anywhere in the official documentation, so I don't know if it's allowed to use them. (see #308)

Google Meet is actually fine right now 😅. I'll try going back to sync and seeing if that breaks it (I'm currently strapped for time because of school and because I'm writing a Bash build script for the community surrounding a certain project).

> > I'll try a clean profile > > This is always the best way to exclude settings or other extensions. You can also use `about:debugging` and `This Firefox` to check for error messages of LocalCDN. To check the settings of LocalCDN you could use the export function (`LocalCDN Settings` -> `Other` -> `Back up to file`) and see what is stored there. 👍 > > Google Meet > > Google Meet probably doesn't use Google Material Icons, but Google Material Icons **Extended**. These icons are not described anywhere in the official documentation, so I don't know if it's allowed to use them. (see #308) Google Meet is actually fine right now 😅. I'll try going back to sync and seeing if that breaks it (I'm currently strapped for time because of school and because I'm writing a Bash build script for the community surrounding a certain project).
nobody commented 2 weeks ago
Owner

Google Meet is actually fine right now

Come on 😂

I'm currently strapped for time

No problem. Which version of Firefox Nightly and OS are you using?

> Google Meet is actually fine right now Come on :joy: > I'm currently strapped for time No problem. Which version of Firefox Nightly and OS are you using?
Poster

The latest build of Firefox Nightly (it updates roughly twice a day, so…; it comes straight from Firefox's servers) and Ubuntu Groovy Gorrilla (20.10).


Edit

There don't seem to be any extension errors or warnings.

image

image

The latest build of Firefox Nightly (it updates roughly twice a day, so…; it comes straight from Firefox's servers) and Ubuntu Groovy Gorrilla (20.10). --- **Edit** There don't seem to be any extension errors or warnings. ![image](/attachments/27ff9424-65a2-4115-9c5b-dbb4e431fa32) ![image](/attachments/f9873100-0ee7-445b-9d65-eecb165d8d73)
nobody commented 2 weeks ago
Owner

Sorry, my description was incomplete.

  • open about:debugging
  • This Firefox
  • Inspect LocalCDN
  • Console

These messages can be ignored:
sendRemoveListener on closed conduit {...}


At the moment I cannot reproduce the problem. However, it won't be the first time that there are bugs in nightly and beta versions that are fixed in the release.

Sorry, my description was incomplete. * open `about:debugging` * `This Firefox` * `Inspect` LocalCDN * `Console` These messages can be ignored: `sendRemoveListener on closed conduit {...}` --- At the moment I cannot reproduce the problem. However, it won't be the first time that there are bugs in nightly and beta versions that are fixed in the release.
nobody added the
need info
label 2 weeks ago
Poster

I'm not sure if this is a Firefox bug or what, but all I'm seeing is errors referencing other extensions (a97475d9-05a7-4158-9774-387a704bb634 → DuckDuckGo Privacy Essentials; d95e336d-856f-4477-b687-bcc9486ae6a5 → Bitwarden - Free Password Manager): image


I'm currently not able to reproduce this either 😅. It could have been a Firefox Nightly bug brought out by my specific profile though, since I first noticed it on March 29th (I messaged some friends on Discord about it while I was in a call; I believe that this was right after switching from Decentraleyes to LocalCDN, so I think that the only things that I had changed were disabling Google Font blocking and switching to sync): image

Here's the full screenshot from that day (I just blurred the names): image


Regarding Google Classroom, it looks like the HTML filter is to blame for the missing icons, but I personally don't quite understand what it does. The diagram in the README says that it filters out cross-origin and integrity attributes and the wiki then goes on to say that special characters can sometimes get mangled because of the filter, which looks to be the case here, but the way that the filter works is never explained in any sort of detail. I get that it might be a bit too technical for the wiki, but having a more in-depth explanation somewhere would be helpful, since I frankly don't understand how the filter is capable of causing these issues.

Edit

It seems like the HTML filter only affects the two icons that I shared in a previous screenshot:image

I'm not sure if this is a Firefox bug or what, but all I'm seeing is errors referencing other extensions (`a97475d9-05a7-4158-9774-387a704bb634` → DuckDuckGo Privacy Essentials; `d95e336d-856f-4477-b687-bcc9486ae6a5` → Bitwarden - Free Password Manager): ![image](/attachments/605dff75-b7ff-4e7a-b634-c45d2d005940) --- I'm currently not able to reproduce this either 😅. It could have been a Firefox Nightly bug brought out by my specific profile though, since I first noticed it on March 29th (I messaged some friends on Discord about it while I was in a call; I believe that this was right after switching from Decentraleyes to LocalCDN, so I think that the only things that I had changed were disabling Google Font blocking and switching to sync): ![image](/attachments/6f81338c-4654-490a-a3ff-48ba3750cdb5) Here's the full screenshot from that day (I just blurred the names): ![image](/attachments/6aa674ed-197a-448f-b077-742fce03adfe) --- Regarding Google Classroom, it looks like the HTML filter is to blame for the missing icons, but I personally don't quite understand what it does. The diagram in the README says that it filters out cross-origin and integrity attributes and the wiki then goes on to say that special characters can sometimes get mangled because of the filter, which looks to be the case here, but the way that the filter works is never explained in any sort of detail. I get that it might be a bit too technical for the wiki, but having a more in-depth explanation _somewhere_ would be helpful, since I frankly don't understand how the filter is capable of causing these issues. **Edit** It seems like the HTML filter only affects the two icons that I shared in a previous screenshot:![image](/attachments/d20ad173-54af-480a-ad21-b6e7d1ed8b81)
nobody commented 2 weeks ago
Owner

The diagram in the README says that it filters out cross-origin and integrity attributes and the wiki then goes on to say that special characters can sometimes get mangled because of the filter, which looks to be the case here, but the way that the filter works is never explained in any sort of detail

No, the HTML filter is not responsible for this. Take a look at the HTML source code. There is Google Material Icons Extended loaded somewhere. (see #308 (comment))

In case of problems with the HTML filter, it looks something like this.

To understand the problem, it's important to know what character encoding [1] is. The HTML filter reads the HTML source code with TextDecoder [2] and the character set that's either specified in the HTML source code or transmitted by the webserver.

Then it looks for these two attributes and removes them. When everything is done, TextEncoder [3] writes the HTML source back to the tab. That was actually all.

There is a small problem: TextDecoder can read many character sets, but TextEncoder can write UTF-8 only. This will cause errors during the conversion. These conversion errors are caused by the different character sets. The first 128 characters are the same in ASCII [4] and UTF-8 [5], but after that there are differences that produce these errors.

If a website is written in UTF-8, then there should be no problems with the conversion, because no conversion happens. With the other character sets it depends on which character should be displayed and if these bits mean something different in UTF-8 [6].

[1] https://en.wikipedia.org/wiki/Character_encoding
[2] https://developer.mozilla.org/en-US/docs/Web/API/TextDecoder/TextDecoder
[3] https://developer.mozilla.org/en-US/docs/Web/API/TextEncoder/TextEncoder
[4] https://en.wikipedia.org/wiki/US-ASCII
[5] https://en.wikipedia.org/wiki/UTF-8
[6] http://string-functions.com/encodingtable.aspx?encoding=1258&decoding=65001

> The diagram in the README says that it filters out cross-origin and integrity attributes and the wiki then goes on to say that special characters can sometimes get mangled because of the filter, which looks to be the case here, but the way that the filter works is never explained in any sort of detail No, the HTML filter is not responsible for this. Take a look at the HTML source code. There is Google Material Icons Extended loaded somewhere. (see [#308 (comment)](https://codeberg.org/nobody/LocalCDN/issues/308#issuecomment-182745)) In case of problems with the HTML filter, it looks something like [this](https://www.localcdn.org/img/screenshots/screenshot9869.png). To understand the problem, it's important to know what [character encoding [1]](https://en.wikipedia.org/wiki/Character_encoding) is. The HTML filter reads the HTML source code with [TextDecoder [2]](https://developer.mozilla.org/en-US/docs/Web/API/TextDecoder/TextDecoder) and the character set that's either specified in the HTML source code or transmitted by the webserver. Then it looks for these two attributes and removes them. When everything is done, [TextEncoder [3]](https://developer.mozilla.org/en-US/docs/Web/API/TextEncoder/TextEncoder) writes the HTML source back to the tab. That was actually all. There is a small problem: TextDecoder can read many character sets, but TextEncoder can write UTF-8 only. This will cause errors during the conversion. These conversion errors are caused by the different character sets. The first 128 characters are the same in [ASCII [4]](https://en.wikipedia.org/wiki/US-ASCII) and [UTF-8 [5]](https://en.wikipedia.org/wiki/UTF-8), but after that there are differences that produce these errors. If a website is written in UTF-8, then there should be no problems with the conversion, because no conversion happens. With the other character sets it depends on which character should be displayed and if [these bits mean something different in UTF-8 [6]](http://string-functions.com/encodingtable.aspx?encoding=1258&decoding=65001). [1] https://en.wikipedia.org/wiki/Character_encoding [2] https://developer.mozilla.org/en-US/docs/Web/API/TextDecoder/TextDecoder [3] https://developer.mozilla.org/en-US/docs/Web/API/TextEncoder/TextEncoder [4] https://en.wikipedia.org/wiki/US-ASCII [5] https://en.wikipedia.org/wiki/UTF-8 [6] http://string-functions.com/encodingtable.aspx?encoding=1258&decoding=65001
Sign in to join this conversation.
No Milestone
No Assignees
2 Participants
Notifications
Due Date

No due date set.

Dependencies

This issue currently doesn't have any dependencies.

Loading…
There is no content yet.