Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Waterfox G6/Firefox 115 - Popup notifications no longer working #665

Open
Avrution opened this issue Aug 9, 2024 · 16 comments
Open

Waterfox G6/Firefox 115 - Popup notifications no longer working #665

Avrution opened this issue Aug 9, 2024 · 16 comments

Comments

@Avrution
Copy link

Avrution commented Aug 9, 2024

When a new email arrives, there is no longer a popup with the details in the lower corner - only the email count.

Clicking on the icon still shows the preview just fine.

Worked fine on Waterfox G5/Firefox 102 yesterday, before upgrading.

Reset notifier settings, but no change. Tested on two machines.

@Avrution
Copy link
Author

Tested on fresh install of regular ESR 115 Firefox as well.

@inbasic
Copy link
Owner

inbasic commented Aug 20, 2024

I tried 115 ESR and it works for me. Try the "inspect" button on about:debugging#/runtime/this-firefox and see if you get an error

@Avrution
Copy link
Author

You are getting the actual preview message popup from the icon? I get the popup if I click, but not the one that used to come up automatically when new email arrived before hiding itself.

I get this in one of the machines before even clicking inspect.

Warning details

Reading manifest: Warning processing background.service_worker: An unexpected property was found in the WebExtension manifest.
Warning details

Reading manifest: Warning processing permissions: Error processing permissions.6: Value "offscreen" must either: must either [must either [be one of ["idle"], be one of ["menus.overrideContext"], be one of ["search"], be one of ["activeTab"], be one of ["cookies"], be one of ["scripting"], or be one of ["webRequest", "webRequestBlocking", "webRequestFilterResponse", "webRequestFilterResponse.serviceWorkerScript"]], must either [be one of ["mozillaAddons"], be one of ["normandyAddonStudy"], be one of ["urlbar"], be one of ["activityLog"], be one of ["networkStatus"], or be one of ["telemetry"]], be one of ["alarms", "storage", "unlimitedStorage"], be one of ["captivePortal"], be one of ["identity"], be one of ["menus", "contextMenus"], be one of ["geckoProfiler"], be one of ["contextualIdentities"], be one of ["declarativeNetRequestWithHostAccess"], be one of ["dns"], or be one of ["theme"]], must either [must either [be one of ["idle"], be one of ["menus.overrideContext"], be one of ["search"], be one of ["activeTab"], be one of ["cookies"], be one of ["scripting"], or be one of ["webRequest", "webRequestBlocking", "webRequestFilterResponse", "webRequestFilterResponse.serviceWorkerScript"]], be one of ["clipboardRead", "clipboardWrite", "geolocation", "notifications"], be one of ["bookmarks"], be one of ["browsingData"], be one of ["devtools"], be one of ["find"], be one of ["history"], be one of ["pkcs11"], be one of ["sessions"], be one of ["tabs", "tabHide"], be one of ["topSites"], be one of ["browserSettings"], be one of ["declarativeNetRequestFeedback"], be one of ["downloads", "downloads.open"], be one of ["management"], be one of ["privacy"], be one of ["proxy"], be one of ["nativeMessaging"], or be one of ["webNavigation"]], be one of ["declarativeNetRequest"], or match the pattern /^experiments(\.\w+)+$/

The other two don't have an error, but also doesn't show the popup preview.

When clicking inspect, which options am I looking at for an error?

@inbasic
Copy link
Owner

inbasic commented Aug 20, 2024

You are getting the actual preview message popup from the icon

If you mean desktop notification, yes
Screenshot 2024-08-20 at 07 15 11

When clicking inspect, which options am I looking at for an error?

Switch to the console tab for logs and errors. Then right click the action button to force refresh.

@Avrution
Copy link
Author

Very odd. I'm guessing mine being 64bit shouldn't make a difference?

This is what I get

Background event page was not terminated on idle because a DevTools toolbox is attached to the extension. [_generated_background_page.html](moz-extension://5f257a9b-24b8-47e8-b999-0544630ce35f/_generated_background_page.html)
[repeater] Reason: "user.request" Type: "now" Delay: 0.10s [log.js:29:11](moz-extension://5f257a9b-24b8-47e8-b999-0544630ce35f/core/utils/log.js)
[repeater] Reason: "alarm.fired" Type: "fired" Delay: 60.00s [log.js:29:11](moz-extension://5f257a9b-24b8-47e8-b999-0544630ce35f/core/utils/log.js)
Some cookies are misusing the recommended “SameSite“ attribute 32
[feed] forced true objects 
Array(3) [ {…}, {…}, {…} ]
[log.js:29:11](moz-extension://5f257a9b-24b8-47e8-b999-0544630ce35f/core/utils/log.js)
[menu] accounts menu is up to date [log.js:29:11](moz-extension://5f257a9b-24b8-47e8-b999-0544630ce35f/core/utils/log.js)
[offscreen] creating... [log.js:29:11](moz-extension://5f257a9b-24b8-47e8-b999-0544630ce35f/core/utils/log.js)
[offscreen iframe] request 
Object { cmd: "play", media: {…}, index: null, prefs: {…} }
[index.js:52:13](moz-extension://5f257a9b-24b8-47e8-b999-0544630ce35f/core/offscreen/index.js)
[offscreen iframe] exit request 1 [index.js:6:11](moz-extension://5f257a9b-24b8-47e8-b999-0544630ce35f/core/offscreen/index.js)
[offscreen iframe] exit request 0

I also found it odd that it says this under the notification section:

Show desktop notification for (in seconds):

This option may not work based on your OS.

@inbasic
Copy link
Owner

inbasic commented Aug 22, 2024

Let's see if you can use the native API to generate a notification. On the console tab, paste the following code:

chrome.notifications.create({
  type: 'basic',
  iconUrl: '/data/icons/notification/48.png',
  title: 'Title',
  message: 'Message body'
});

@Avrution
Copy link
Author

Doesn't seem to do anything

If done in the main console

Uncaught ReferenceError: chrome is not defined
    <anonymous> debugger eval code:1

If done on the page you mentioned before with inspect

Waterfox

Promise { <state>: "pending" }
<state>: "fulfilled"
<value>: "2"
<prototype>: Promise.prototype { … }
catch: function catch()
constructor: function Promise()
finally: function finally()
then: function then()
Symbol(Symbol.toStringTag): "Promise"
<prototype>: Object { … }
__defineGetter__: function __defineGetter__()
__defineSetter__: function __defineSetter__()
__lookupGetter__: function __lookupGetter__()
__lookupSetter__: function __lookupSetter__()
__proto__:
constructor: function Object()
hasOwnProperty: function hasOwnProperty()
isPrototypeOf: function isPrototypeOf()
propertyIsEnumerable: function propertyIsEnumerable()
toLocaleString: function toLocaleString()
toString: function toString()
valueOf: function valueOf()
<get __proto__()>: function __proto__()
<set __proto__()>: function __proto__()

Firefox

Uncaught ReferenceError: chrome is not defined
    <anonymous> debugger eval code:1
    getEvalResult resource://devtools/server/actors/webconsole/eval-with-debugger.js:238
    evalWithDebugger resource://devtools/server/actors/webconsole/eval-with-debugger.js:166
    evaluateJS resource://devtools/server/actors/webconsole.js:940
    evaluateJSAsync resource://devtools/server/actors/webconsole.js:846
    makeInfallible resource://devtools/shared/ThreadSafeDevToolsUtils.js:103

@inbasic
Copy link
Owner

inbasic commented Aug 26, 2024

This is the standard method for triggering notifications from an extension. If it doesn't work, it's likely that none of your extensions will be able to generate desktop notifications.

You need to run it in the console of the extension (inspect => console tab).

@Avrution
Copy link
Author

No other extension I use generates a desktop notification. I'm guessing that means the notification method was changed to no longer use the browser itself for the window?

I have my machines pretty locked down in regards to what they can do, so if it is trying to make a system call to windows for the notification that might explain things.

I ran it from the console of the extension, which is what gave me the messages on the second section from above.

Promise { <state>: "pending" }
​
<state>: "fulfilled"
​
<value>: "3"
​
<prototype>: Promise.prototype { … }

@inbasic
Copy link
Owner

inbasic commented Sep 8, 2024

No other extension I use generates a desktop notification

Firefox is compatible with extensions using both Manifest V3 and V2. The notifier has been updated to use manifest V3. To test if other extensions can create desktop notifications, you can try running the code I provided in their console tabs. It's probable that many of these extensions are still operating on manifest V2.

@Avrution
Copy link
Author

Avrution commented Sep 8, 2024

Firefox is compatible with extensions using both Manifest V3 and V2. The notifier has been updated to use manifest V3. To test if other extensions can create desktop notifications, you can try running the code I provided in their console tabs. It's probable that many of these extensions are still operating on manifest V2.

Sorry, I meant I don't use any other extensions that generate notifications, since you said this is the standard method. So I cannot test if it is only an issue with this one.

@Avrution
Copy link
Author

Avrution commented Sep 8, 2024

Still no actual error that I can see when running the refresh with the console open

notifier

@inbasic
Copy link
Owner

inbasic commented Sep 8, 2024

The problem is the notifier generates notification using

chrome.notifications.create({
  type: 'basic',
  iconUrl: '/data/icons/notification/48.png',
  title: 'Title',
  message: 'Message body'
});

and based on your tests, even when you run the code manually you dont get notifications. So there is no error from the notifier side.

You can also try the browser console Ctrl + Shift + J. See if you get an error when running the above code in the notifier's console.

@Avrution
Copy link
Author

Avrution commented Sep 9, 2024

I get this

Content-Security-Policy: The page’s settings blocked the loading of a resource at inline (“default-src”). 2 [customElements.js:499:24](chrome://global/content/customElements.js)
Content-Security-Policy: The page’s settings blocked the loading of a resource at inline (“default-src”). [panel.js:62:22](chrome://global/content/elements/panel.js)

Same thing when I force a refresh of the extension.

@Avrution
Copy link
Author

Avrution commented Sep 9, 2024

Well, I did find the issue - had to right click on the notification center in the bottom right corner and enable notifications.

I always have notifications disabled for windows itself. Now I get the gmail notification, but it also plays two sound files.

I'm guessing this is what the other thread meant when it said going back to the old style. I really hope there is a possibility of having things how they have been up until this point where it just pops up the preview from the icon - the same way is does when clicking it.

@Avrution
Copy link
Author

Also discovered something else during all this testing. The windows notifications can be disabled and things go back to showing in the browser, though not as nice as previous versions.

For anyone else who ends up with this issue, here is how to fix it (Maybe could include this for people who don't like the new style?)

Open about:config
Search for "alerts.useSystemBackend"
Change to "false"

Can go back to having windows notifications disabled.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants