Issue with the Scheduling feature from Gmail affecting all compose views

160 views
Skip to first unread message

Raphaël

unread,
Apr 16, 2019, 1:24:17 PM4/16/19
to InboxSDK
Hi inboxsdk,

We just saw that there is conflict with the scheduling feature from gmail (currently rolling out) that prevent the composeview handlers to work correctly.

The error is that the send button (that seems to be an anchor on your side) is not found at the compose opening even if the dom element is present.

Did you already see this issue ? It seems that you have a logging system, so you are maybe already aware of that.

The error message is :
Uncaught Error: Failed to find element with selector: .IZ .Up > div > [role=button]:not([class*=inboxsdk])
    at r (platform-implementation.js:99)
    at t.value (platform-implementation.js:81)
    at t.value (platform-implementation.js:81)
    at eval (platform-implementation.js:81)
    at Object._handleValue (platform-implementation.js:42)
    at Object._handleAny (platform-implementation.js:42)
    at _$handleAny (platform-implementation.js:42)
    at m (platform-implementation.js:42)
    at Object._on (platform-implementation.js:42)
    at Object.onAny (platform-implementation.js:42)
    at Object._onActivation (platform-implementation.js:42)
    at Object._setActive (platform-implementation.js:42)
    at Object._on (platform-implementation.js:42)
    at Object.onAny (platform-implementation.js:42)
    at Object._onActivation (platform-implementation.js:42)
    at Object._setActive (platform-implementation.js:42)
    at Object._on (platform-implementation.js:42)
    at Object.onError (platform-implementation.js:42)
...



You will find the HTML of the compose "send" toolbar below :

<table id=":ry" class="IZ" role="group">
    <colgroup>
        <col id=":rz">
            <col class="Uf">
                <col class="UA">
                    <col class="Uy">
                        <col class="az8">
                            <col id=":q3">
    </colgroup>
    <tbody>
        <tr class="btC">
            <td class="gU Up">
                <div id=":pu" class="J-J5-Ji btA">
                    <div id=":qy" class="J-J5-Ji"></div>
                    <div class="dC">
                        <div id=":s0" class="T-I J-J5-Ji aoO v7 T-I-atl L3" role="button" tabindex="1" data-tooltip="Send &#8234;(Ctrl-Enter)&#8236;" aria-label="Send &#8234;(Ctrl-Enter)&#8236;" data-tooltip-delay="800" style="user-select: none;">Send</div>
                        <div id=":rw" class="T-I J-J5-Ji hG T-I-atl L3" role="button" tabindex="1" aria-label="More send options" data-tooltip="More send options" data-tooltip-delay="800" aria-expanded="false" aria-haspopup="true" style="user-select: none;">
                            <div class="G-asx"></div>
                        </div>
                    </div>
                    <div id=":qz" class="J-J5-Ji"></div>
                </div>
            </td>
            <td id=":qk" class="oc gU">
                <div data-tooltip="Formatting options" aria-label="Formatting options">
                    <div id=":tr" class="J-Z-I J-J5-Ji" role="button" aria-pressed="false" aria-haspopup="true" aria-expanded="false" style="user-select: none;">
                        <div class="J-J5-Ji J-Z-I-Kv-H">
                            <div class="J-J5-Ji J-Z-I-J6-H">
                                <div class="dv">
                                    <div class="a3I">&nbsp;</div>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
            </td>
            <td class="gU btB">
                <div class="Uz" aria-hidden="true"></div>
            </td>
            <td id=":qe" class="a8X gU">
                <div class="bAK" style="user-select: none; position: relative;">
                    <div class="wG J-Z-I" command="Files" data-tooltip="Attach files" aria-label="Attach files" tabindex="1" id=":tt" role="button" aria-pressed="false" aria-haspopup="true" aria-expanded="false" style="user-select: none;">
                        <div class="J-J5-Ji J-Z-I-Kv-H" style="user-select: none;">
                            <div class="J-J5-Ji J-Z-I-J6-H" style="user-select: none;">
                                <div id=":ts" class="a1 aaA aMZ" style="user-select: none;">
                                    <div class="a3I" style="user-select: none;">&nbsp;</div>
                                </div>
                            </div>
                        </div>
                    </div>
                    <input type="file" name="Filedata" multiple="" style="position: absolute; overflow: hidden; height: 0px; width: 0px; opacity: 0; left: 0px; top: 0px; display: none;">
                    <div class="wG J-Z-I" command="+link" data-tooltip="Insert link &#8234;(Ctrl-K)&#8236;" aria-label="Insert link &#8234;(Ctrl-K)&#8236;" tabindex="1" id=":tv" role="button" aria-pressed="false" aria-haspopup="true" aria-expanded="false" style="user-select: none;">
                        <div class="J-J5-Ji J-Z-I-Kv-H" style="user-select: none;">
                            <div class="J-J5-Ji J-Z-I-J6-H" style="user-select: none;">
                                <div id=":tu" class="e5 aaA aMZ" style="user-select: none;">
                                    <div class="a3I" style="user-select: none;">&nbsp;</div>
                                </div>
                            </div>
                        </div>
                    </div>
                    <div class="wG J-Z-I" command="+emoticon" data-tooltip="Insert emoji &#8234;(Ctrl-Shift-2)&#8236;" aria-label="Insert emoji &#8234;(Ctrl-Shift-2)&#8236;" tabindex="1" id=":tx" role="button" aria-pressed="false" aria-haspopup="true" aria-expanded="false" style="user-select: none;">
                        <div class="J-J5-Ji J-Z-I-Kv-H" style="user-select: none;">
                            <div class="J-J5-Ji J-Z-I-J6-H" style="user-select: none;">
                                <div id=":tw" class="QT aaA aMZ" style="user-select: none;">
                                    <div class="a3I" style="user-select: none;">&nbsp;</div>
                                </div>
                            </div>
                        </div>
                    </div>
                    <div class="wG J-Z-I" command="docs" data-tooltip="Insert files using Drive" aria-label="Insert files using Drive" tabindex="1" id=":tz" role="button" aria-pressed="false" aria-haspopup="true" aria-expanded="false" aria-disabled="false" style="user-select: none;">
                        <div class="J-J5-Ji J-Z-I-Kv-H" style="user-select: none;">
                            <div class="J-J5-Ji J-Z-I-J6-H" style="user-select: none;">
                                <div id=":ty" class="aA7 aaA aMZ" style="user-select: none;">
                                    <div class="a3I" style="user-select: none;">&nbsp;</div>
                                </div>
                            </div>
                        </div>
                    </div>
                    <div class="wG J-Z-I" command="image" data-tooltip="Insert photo" aria-label="Insert photo" tabindex="1" id=":u1" role="button" aria-pressed="false" aria-haspopup="true" aria-expanded="false" aria-disabled="false" style="user-select: none;">
                        <div class="J-J5-Ji J-Z-I-Kv-H" style="user-select: none;">
                            <div class="J-J5-Ji J-Z-I-J6-H" style="user-select: none;">
                                <div id=":u0" class="a2X aaA aMZ" style="user-select: none;">
                                    <div class="a3I" style="user-select: none;">&nbsp;</div>
                                </div>
                            </div>
                        </div>
                    </div>
                    <div class="wG J-Z-I" command="locker" data-tooltip="Turn confidential mode on / off" aria-label="Turn confidential mode on / off" tabindex="1" id=":u3" role="button" aria-pressed="false" aria-haspopup="true" aria-expanded="false" style="user-select: none;">
                        <div class="J-J5-Ji J-Z-I-Kv-H" style="user-select: none;">
                            <div class="J-J5-Ji J-Z-I-J6-H" style="user-select: none;">
                                <div id=":u2" class="buc aaA aMZ" style="user-select: none;">
                                    <div class="a3I" style="user-select: none;">&nbsp;</div>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
            </td>
            <td class="gU az5">
                <div id=":r8" class="J-J5-Ji btx">
                    <div id=":qw" class="J-J5-Ji bty">
                        <div id=":ud" class="J-JN-M-I J-J5-Ji Xv L3 T-I-ax7 T-I" role="button" tabindex="1" aria-haspopup="true" aria-expanded="false" data-tooltip="More options" aria-label="More options" style="user-select: none;">
                            <div class="J-J5-Ji J-JN-M-I-Jm"><img class="Y1" src="images/cleardot.gif" alt="">
                                <div class="a3I">&nbsp;</div>
                            </div>
                            <div class="J-J5-Ji J-JN-M-I-JG"></div>
                        </div>
                    </div>
                    <div class="Uz aw4 J-J5-Ji" aria-hidden="true"></div>
                    <div class="J-J5-Ji bty">
                        <div id=":q1" class="oh J-Z-I J-J5-Ji T-I-ax7" tabindex="1" role="button" data-tooltip="Discard draft &#8234;(Ctrl-Shift-D)&#8236;" aria-label="Discard draft &#8234;(Ctrl-Shift-D)&#8236;" style="user-select: none;">
                            <div class="J-J5-Ji J-Z-I-Kv-H" style="user-select: none;">
                                <div class="J-J5-Ji J-Z-I-J6-H" style="user-select: none;">
                                    <div class="og T-I-J3" style="user-select: none;"></div>
                                </div>
                            </div>
                        </div>
                    </div>
                    <div tabindex="1" style="background-color: transparent; width: 1px; height: 1px; position: absolute;"></div>
                </div>
            </td>
        </tr>
    </tbody>
</table>

Florian

unread,
Apr 16, 2019, 1:28:08 PM4/16/19
to InboxSDK
Same issue! No buttons inserted by the InboxSDK are visible when the new Gmail scheduling feature is present in a compose window.

Aleem Mawani

unread,
Apr 16, 2019, 2:23:29 PM4/16/19
to Florian, InboxSDK
We're taking a look at this now.

--
You received this message because you are subscribed to the Google Groups "InboxSDK" group.
To unsubscribe from this group and stop receiving emails from it, send an email to inboxsdk+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/inboxsdk/3fe0af10-569b-4e94-9ee7-42d48510bcad%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

kdanie...@hubspot.com

unread,
Apr 16, 2019, 4:56:53 PM4/16/19
to InboxSDK
+1

It looks like this issue started showing up for us earlier today, and we're now seeing a few hundred users per hour running into this (and rising rapidly).
To unsubscribe from this group and stop receiving emails from it, send an email to inbo...@googlegroups.com.

Aleem Mawani

unread,
Apr 16, 2019, 5:02:47 PM4/16/19
to kdanie...@hubspot.com, InboxSDK
This has been fixed, thanks for the reports. 

Users just need to refresh.

To unsubscribe from this group and stop receiving emails from it, send an email to inboxsdk+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/inboxsdk/7abf9a54-be1b-4900-ad44-4ce6f168d2b3%40googlegroups.com.

Amiram Korach

unread,
Apr 18, 2019, 10:17:14 AM4/18/19
to InboxSDK
I don't have the scheduling feature yet and starting today the presending event stopped firing when there is a send and archive button in reply. Could it be that this fix caused it?

Amiram Korach

unread,
Apr 18, 2019, 10:59:14 AM4/18/19
to InboxSDK
This fix caused another problem. You changed the sendButton selector to be different from the sendButtonGroup but the new selector results to the send and archive button.
Currently the selector is:
'.IZ .Up div > [role=button]:not([aria-haspopup=true]):not([class^=inboxsdk_])'

If you use it with querySelectorAll you get 3 nodes: the send and archive, its icon and the send button. A quick fix is to get the last node. A better one is to change the selector. I don't know how you did it before (I don't have your code history), but I'm doing it according to aria-label.

Please write when this will be fixed.

BTW, this demonstrate the necessity of making your library open source. We all makes mistakes but I'm sure that if more people saw the fix before it was merged, they could have said it will cause the bug. Also, right now I have no idea how many users has this bug because I can't set the inboxsdk version I'm using. I could publish a fix for that of my own, but then if you fix it they may collide.
Please consider the open source matter or at least say what you think about it.

Thnaks


On Wednesday, April 17, 2019 at 12:02:47 AM UTC+3, Aleem Mawani wrote:

Chris Cowan

unread,
Apr 18, 2019, 4:56:26 PM4/18/19
to InboxSDK
Thanks for the information! We've fixed the issues now. It turned out that Gmail's schedule send button broke our code for finding the send button and the send-and-archive button, and our original change fixed finding the send button except when the send-and-archive button was present.
Reply all
Reply to author
Forward
0 new messages