inbasic / ignotifier

Multiple account Gmail notifier (without storing passwords)
https://webextension.org/listing/gmail-notifier.html
Other
390 stars 116 forks source link

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

Open Avrution opened 1 month ago

Avrution commented 1 month ago

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 commented 1 month ago

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

inbasic commented 3 weeks ago

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 commented 3 weeks ago

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 commented 3 weeks ago

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 commented 3 weeks ago

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 commented 3 weeks ago

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 commented 3 weeks ago

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 commented 2 weeks ago

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 commented 2 weeks ago

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 commented 1 week ago

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 commented 1 week ago

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 commented 1 week ago

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

notifier

inbasic commented 1 week ago

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 commented 1 week ago

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 commented 6 days ago

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 commented 6 days ago

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.