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

Firefox extension rendering AJAX webmail client unuseable #193

Open
chamomile93 opened this issue Jan 13, 2025 · 3 comments
Open

Firefox extension rendering AJAX webmail client unuseable #193

chamomile93 opened this issue Jan 13, 2025 · 3 comments

Comments

@chamomile93
Copy link

chamomile93 commented Jan 13, 2025

Environment: Firefox 134.0 (64-bit) , Snap for Ubuntu canonical-002-1.0, Ubuntu 24.04.1 LTS Desktop

Jump Cutter is interfering with the operation of my webmail client: Zimbra 9.0.0_GA_4718 (build 20241203044225) . I can log in and see the emails, but when I try to open an email It opens with the subject visible and everything else blank.

I troubleshoot the problem to Jump Cutter by turning off all my addon and activate one at the time. I also use Private Browsing to not have to disable the addon.

The email client has HTML and AJAX options but only the AJAX option fails with Jump Cutter active.

I found a recent related issue with Bitwarden https://community.bitwarden.com/t/firefox-extension-rendering-ajax-webmail-client-unuseable/68565.

I expect the addon to be activated and to read my email from my webmail.

A potential fix would be to integrate a blacklist URL, for example like "Ublock" or "I don't care about cookies". My suggestion relates to the workaround in #181 which relates to #26 (comment)

I confirm that using the handy shortcut of Alt+Shift+X to toggle the extension on and off allow to email to render properly.

@WofWca
Copy link
Owner

WofWca commented Jan 18, 2025

Hey, thanks for the report!
That Bitwarden post is helpful.

Do you know how I can test it myself? Is there a free server running Zimbra?

And what is the error message? I wonder if we can do much, besides blacklist / whitelist. Jump Cutter shouldn't be that intrusive to the point of breaking entire pages, especially ones that don't contain any media elements.

@chamomile93
Copy link
Author

chamomile93 commented Jan 25, 2025

You are welcome @WofWca , I don't know were you can get a free running server of Zimbra.

I forgot to mention some settings for Jump Cutter v1.27.5.

In the settings, I checked or choose :

  • 🧪 Use experimental algorithm
  • I want to control playback rate (sounded speed) through the website's UI or through other extensions, not just this one. This will update sounded speed whenever playback rate gets changed.
  • Apply to both Videos and Audios
  • ❌ Don't apply to muted media elements
  • relative to sounds
  • 🔄 Use separate silence skipping settings for different algorithms (related to the "Use experimental algorithm" setting)
  • ⌨️ Enable hotkeys
  • ⌨️🚫 Disable hotkeys while an input is in focus
  • 🔗 Show the "open a local file" link

The error I get in the console when trying to open an email with the feature enabled is the following :

Uncaught TypeError: w.body is null                                                       

[z.foo.com:3896:40](https://z.foo.com/#1%20line%201173%20%3E%20eval)

    _displayContent https://z.foo.com/#1 line 1173 > eval:3896
    _renderMessageBody1 https://z.foo.com/#1 line 1173 > eval:4216
    run https://z.foo.com/#1:1010
    getBodyPart https://z.foo.com/#1 line 1173 > eval:770
    _renderMessageBody https://z.foo.com/#1 line 1173 > eval:4178
    _renderMessage https://z.foo.com/#1 line 1173 > eval:4028
    set https://z.foo.com/#1 line 1173 > eval:3546
    setItem https://z.foo.com/#1 line 1173 > eval:2937
    _displayItem https://z.foo.com/#1 line 1173 > eval:8193
    _handleResponseSetSelectedItem https://z.foo.com/#1 line 1173 > eval:8313
    run https://z.foo.com/#1:1010
    _getLoadedMsg https://z.foo.com/#1 line 1173 > eval:7625
    _setSelectedItem https://z.foo.com/#1 line 1173 > eval:8300
    _listSelectionListener https://z.foo.com/#1 line 1173 > eval:8286
    notifyListeners https://z.foo.com/zimbra/js/Startup1_1_all.js.zgz?v=241203050719:2329
    _itemClicked https://z.foo.com/zimbra/js/Startup1_1_all.js.zgz?v=241203050719:9673
    _itemClicked https://z.foo.com/zimbra/js/Startup1_2_all.js.zgz?v=241203050719:7660
    _itemClicked https://z.foo.com/#1 line 1173 > eval:2657
    _mouseUpListener https://z.foo.com/zimbra/js/Startup1_1_all.js.zgz?v=241203050719:9564
    notifyListeners https://z.foo.com/zimbra/js/Startup1_1_all.js.zgz?v=241203050719:2329
    notifyListeners https://z.foo.com/zimbra/js/Startup1_1_all.js.zgz?v=241203050719:7444
    __mouseEvent https://z.foo.com/zimbra/js/Startup1_1_all.js.zgz?v=241203050719:8181
    __processMouseUpEvent https://z.foo.com/zimbra/js/Startup1_1_all.js.zgz?v=241203050719:8135
    __mouseUpHdlr https://z.foo.com/zimbra/js/Startup1_1_all.js.zgz?v=241203050719:8096
    capture https://z.foo.com/zimbra/js/Startup1_1_all.js.zgz?v=241203050719:6285
    __mouseDownHdlr https://z.foo.com/zimbra/js/Startup1_1_all.js.zgz?v=241203050719:8020
    setHandler https://z.foo.com/zimbra/js/Startup1_1_all.js.zgz?v=241203050719:5220
    _setEventHdlrs https://z.foo.com/zimbra/js/Startup1_1_all.js.zgz?v=241203050719:7858
    _setMouseEventHdlrs https://z.foo.com/zimbra/js/Startup1_1_all.js.zgz?v=241203050719:7850
    DwtListView https://z.foo.com/zimbra/js/Startup1_1_all.js.zgz?v=241203050719:8785
    ZmListView https://z.foo.com/zimbra/js/Startup1_2_all.js.zgz?v=241203050719:7375
    ZmMailListView https://z.foo.com/#1 line 1173 > eval:2150
    ZmMailMsgListView https://z.foo.com/#1 line 1173 > eval:4611
    _createMailListView https://z.foo.com/#1 line 1173 > eval:3099
    ZmDoublePaneView https://z.foo.com/#1 line 1173 > eval:2883
    ZmTradView https://z.foo.com/#1 line 1173 > eval:3092
    _createDoublePaneView https://z.foo.com/#1 line 1173 > eval:8816
    _initialize https://z.foo.com/#1 line 1173 > eval:8138
    _setup https://z.foo.com/zimbra/js/Startup1_2_all.js.zgz?v=241203050719:9497
    show https://z.foo.com/#1 line 1173 > eval:8086
    show https://z.foo.com/#1 line 1173 > eval:8808
    _handleLoadShowSearchResults https://z.foo.com/zimbra/js/Startup1_2_all.js.zgz?v=241203050719:16602
    _postLoadCallback https://z.foo.com/#1:1511
    require https://z.foo.com/#1:1470
    showSearchResults https://z.foo.com/zimbra/js/Startup1_2_all.js.zgz?v=241203050719:16598
    _showResults https://z.foo.com/zimbra/js/Startup1_2_all.js.zgz?v=241203050719:11564
    _handleResponseDoSearch https://z.foo.com/zimbra/js/Startup1_2_all.js.zgz?v=241203050719:11545
    run https://z.foo.com/#1:1010
    _handleResponseExecute https://z.foo.com/zimbra/js/Startup1_2_all.js.zgz?v=241203050719:3345
    run https://z.foo.com/#1:1010
    _handleResponseSendRequest https://z.foo.com/zimbra/js/Startup1_2_all.js.zgz?v=241203050719:12388
    sendRequest https://z.foo.com/zimbra/js/Startup1_2_all.js.zgz?v=241203050719:12323
    sendRequest https://z.foo.com/zimbra/js/Startup1_2_all.js.zgz?v=241203050719:13049
    _executeJson https://z.foo.com/zimbra/js/Startup1_2_all.js.zgz?v=241203050719:3307
    execute https://z.foo.com/zimbra/js/Startup1_2_all.js.zgz?v=241203050719:3188
    _doSearch https://z.foo.com/zimbra/js/Startup1_2_all.js.zgz?v=241203050719:11539
(https://z.foo.com/#1%20line%201173%20%3E%20eval)
    _displayContent https://z.foo.com/#1 line 1173 > eval:3896
    _renderMessageBody1 https://z.foo.com/#1 line 1173 > eval:4216
    run https://z.foo.com/#1:1010
    getBodyPart https://z.foo.com/#1 line 1173 > eval:770
    _renderMessageBody https://z.foo.com/#1 line 1173 > eval:4178
    _renderMessage https://z.foo.com/#1 line 1173 > eval:4028
    set https://z.foo.com/#1 line 1173 > eval:3546
    setItem https://z.foo.com/#1 line 1173 > eval:2937
    _displayItem https://z.foo.com/#1 line 1173 > eval:8193
    _handleResponseSetSelectedItem https://z.foo.com/#1 line 1173 > eval:8313
    run https://z.foo.com/#1:1010
    _getLoadedMsg https://z.foo.com/#1 line 1173 > eval:7625
    _setSelectedItem https://z.foo.com/#1 line 1173 > eval:8300
    _listSelectionListener https://z.foo.com/#1 line 1173 > eval:8286
    notifyListeners https://z.foo.com/zimbra/js/Startup1_1_all.js.zgz?v=241203050719:2329
    _itemClicked https://z.foo.com/zimbra/js/Startup1_1_all.js.zgz?v=241203050719:9673
    _itemClicked https://z.foo.com/zimbra/js/Startup1_2_all.js.zgz?v=241203050719:7660
    _itemClicked https://z.foo.com/#1 line 1173 > eval:2657
    _mouseUpListener https://z.foo.com/zimbra/js/Startup1_1_all.js.zgz?v=241203050719:9564
    notifyListeners https://z.foo.com/zimbra/js/Startup1_1_all.js.zgz?v=241203050719:2329
    notifyListeners https://z.foo.com/zimbra/js/Startup1_1_all.js.zgz?v=241203050719:7444
    __mouseEvent https://z.foo.com/zimbra/js/Startup1_1_all.js.zgz?v=241203050719:8181
    __processMouseUpEvent https://z.foo.com/zimbra/js/Startup1_1_all.js.zgz?v=241203050719:8135
    __mouseUpHdlr https://z.foo.com/zimbra/js/Startup1_1_all.js.zgz?v=241203050719:8096
    (Async: EventListener.handleEvent)
    capture https://z.foo.com/zimbra/js/Startup1_1_all.js.zgz?v=241203050719:6285
    __mouseDownHdlr https://z.foo.com/zimbra/js/Startup1_1_all.js.zgz?v=241203050719:8020
    (Async: EventHandlerNonNull)
    setHandler https://z.foo.com/zimbra/js/Startup1_1_all.js.zgz?v=241203050719:5220
    _setEventHdlrs https://z.foo.com/zimbra/js/Startup1_1_all.js.zgz?v=241203050719:7858
    _setMouseEventHdlrs https://z.foo.com/zimbra/js/Startup1_1_all.js.zgz?v=241203050719:7850
    DwtListView https://z.foo.com/zimbra/js/Startup1_1_all.js.zgz?v=241203050719:8785
    ZmListView https://z.foo.com/zimbra/js/Startup1_2_all.js.zgz?v=241203050719:7375
    ZmMailListView https://z.foo.com/#1 line 1173 > eval:2150
    ZmMailMsgListView https://z.foo.com/#1 line 1173 > eval:4611
    _createMailListView https://z.foo.com/#1 line 1173 > eval:3099
    ZmDoublePaneView https://z.foo.com/#1 line 1173 > eval:2883
    ZmTradView https://z.foo.com/#1 line 1173 > eval:3092
    _createDoublePaneView https://z.foo.com/#1 line 1173 > eval:8816
    _initialize https://z.foo.com/#1 line 1173 > eval:8138
    _setup https://z.foo.com/zimbra/js/Startup1_2_all.js.zgz?v=241203050719:9497
    show https://z.foo.com/#1 line 1173 > eval:8086
    show https://z.foo.com/#1 line 1173 > eval:8808
    _handleLoadShowSearchResults https://z.foo.com/zimbra/js/Startup1_2_all.js.zgz?v=241203050719:16602
    _postLoadCallback https://z.foo.com/#1:1511
    require https://z.foo.com/#1:1470
    showSearchResults https://z.foo.com/zimbra/js/Startup1_2_all.js.zgz?v=241203050719:16598
    _showResults https://z.foo.com/zimbra/js/Startup1_2_all.js.zgz?v=241203050719:11564
    _handleResponseDoSearch https://z.foo.com/zimbra/js/Startup1_2_all.js.zgz?v=241203050719:11545
    run https://z.foo.com/#1:1010
    _handleResponseExecute https://z.foo.com/zimbra/js/Startup1_2_all.js.zgz?v=241203050719:3345
    run https://z.foo.com/#1:1010
    _handleResponseSendRequest https://z.foo.com/zimbra/js/Startup1_2_all.js.zgz?v=241203050719:12388
    sendRequest https://z.foo.com/zimbra/js/Startup1_2_all.js.zgz?v=241203050719:12323
    sendRequest https://z.foo.com/zimbra/js/Startup1_2_all.js.zgz?v=241203050719:13049
    _executeJson https://z.foo.com/zimbra/js/Startup1_2_all.js.zgz?v=241203050719:3307
    execute https://z.foo.com/zimbra/js/Startup1_2_all.js.zgz?v=241203050719:3188
    _doSearch https://z.foo.com/zimbra/js/Startup1_2_all.js.zgz?v=241203050719:11539

Followed by another error which also happen in the console once when the page loads for the first time. :

Error: Could not establish connection. Receiving end does not exist. [305.js:2:163](moz-extension://7ec862c8-1eac-446c-aec5-a0ea103d4846/chunks/305.js)

Where z.foo.com refers to the webmail client made available on subdomain z of foo.com

Kindly,

@WofWca
Copy link
Owner

WofWca commented Feb 4, 2025

Hmm this is a weird issue.

I'm tempted to blame Zimbra here since it also doesn't work with other extensions with content scripts.
Again, I am not sure if much can be done besides blacklist / whitelist. But maybe I'm missing something. But then we need to debug, a reproduction example.

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