@inboxsdk/core 0.2.28-alpha.5 → 0.2.28

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (669) hide show
  1. package/inboxsdk.js +28 -62
  2. package/inboxsdk.js.map +1 -1
  3. package/package.json +1 -5
  4. package/pageWorld.js.map +1 -1
  5. package/src/build/exec.d.ts +0 -1
  6. package/src/build/spawn.d.ts +0 -1
  7. package/src/common/ajax.d.ts +0 -1
  8. package/src/common/cachebust-url.d.ts +0 -1
  9. package/src/common/censorHTMLstring.d.ts +0 -1
  10. package/src/common/censorHTMLtree.d.ts +0 -1
  11. package/src/common/censorJSONTree.d.ts +0 -1
  12. package/src/common/connectivity-test.d.ts +0 -1
  13. package/src/common/defer.d.ts +0 -1
  14. package/src/common/find-parent.d.ts +0 -1
  15. package/src/common/get-extension-id.d.ts +0 -1
  16. package/src/common/get-or-fail.d.ts +0 -1
  17. package/src/common/get-session-id.d.ts +0 -1
  18. package/src/common/get-stack-trace.d.ts +0 -1
  19. package/src/common/html-to-text.d.ts +0 -1
  20. package/src/common/isElementVisible.d.ts +0 -1
  21. package/src/common/load-script.d.ts +0 -1
  22. package/src/common/log-error.d.ts +0 -1
  23. package/src/common/quoted-split.d.ts +0 -1
  24. package/src/common/rate-limit-queuer.d.ts +0 -1
  25. package/src/common/rate-limit.d.ts +0 -1
  26. package/src/common/version.d.ts +0 -1
  27. package/src/inboxsdk-js/check-requirements.js +3 -7
  28. package/src/inboxsdk-js/header.js +0 -1
  29. package/src/inboxsdk-js/inboxsdk-NONREMOTE-INTEGRATED-PAGEWORLD.js +6 -5
  30. package/src/inboxsdk-js/inboxsdk-NONREMOTE.js +3 -4
  31. package/src/inboxsdk-js/inboxsdk-REMOTE.js +1 -3
  32. package/src/inboxsdk-js/inboxsdk-TEST.js +3 -4
  33. package/src/inboxsdk-js/inboxsdk.js +39 -33
  34. package/src/inboxsdk-js/loading/load-platform-implementation-DEV.js +18 -15
  35. package/src/inboxsdk-js/loading/platform-implementation-loader.d.ts +0 -1
  36. package/src/inboxsdk.d.ts +27 -10
  37. package/src/injected-js/gmail/constants.d.ts +0 -1
  38. package/src/injected-js/gmail/modify-suggestions.d.ts +0 -1
  39. package/src/injected-js/gmail/modify-suggestions.test.js +9 -8
  40. package/src/injected-js/gmail/setup-gmail-interceptor.js +579 -340
  41. package/src/injected-js/gmail/setup-gmonkey-handler.d.ts +0 -1
  42. package/src/injected-js/gmail/sync-compose-processor-20220909.d.ts +0 -1
  43. package/src/injected-js/gmail/sync-compose-processor.d.ts +0 -1
  44. package/src/injected-js/gmail/sync-compose-request-processor.d.ts +0 -1
  45. package/src/injected-js/gmail/sync-compose-request-processor.test.js +49 -39
  46. package/src/injected-js/gmail/thread-identifier/click-and-get-popup-url.js +33 -20
  47. package/src/injected-js/gmail/thread-identifier/index.js +93 -57
  48. package/src/injected-js/gmail/thread-identifier/thread-row-parser.js +31 -22
  49. package/src/injected-js/gmail/thread-identifier/thread-row-parser.test.js +28 -12
  50. package/src/injected-js/inbox/setupAjaxInterceptor.js +121 -64
  51. package/src/injected-js/inbox/setupClickAndGetNewIframeSrc.js +66 -53
  52. package/src/injected-js/inbox/setupComposeViewDraftIDFinder.js +36 -20
  53. package/src/injected-js/inbox/setupInboxFakeWindowResizeListener.js +13 -13
  54. package/src/injected-js/injected-logger.d.ts +0 -1
  55. package/src/injected-js/main.js +24 -11
  56. package/src/injected-js/message-metadata-holder.js +82 -52
  57. package/src/injected-js/setup-data-exposer.js +148 -89
  58. package/src/injected-js/setup-error-silencer.js +21 -21
  59. package/src/injected-js/setup-event-reemitter.js +22 -30
  60. package/src/injected-js/setupCustomViewEventAssassin.d.ts +0 -1
  61. package/src/injected-js/setupInboxCustomViewLinkFixer.js +29 -24
  62. package/src/injected-js/setupPushStateListener.js +11 -18
  63. package/src/injected-js/xhr-helper.js +65 -62
  64. package/src/injected-js/xhr-proxy-factory.js +445 -195
  65. package/src/injected-js/xhr-proxy-factory.test.js +991 -824
  66. package/src/platform-implementation-js/constants/nav-item-types.d.ts +0 -1
  67. package/src/platform-implementation-js/constants/router.js +9 -17
  68. package/src/platform-implementation-js/constants/toolbars.js +3 -8
  69. package/src/platform-implementation-js/dom-driver/gmail/custom-style.js +13 -13
  70. package/src/platform-implementation-js/dom-driver/gmail/gmail-butter-bar-driver.js +136 -115
  71. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-nav-item.d.ts +2 -3
  72. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-support-item.d.ts +0 -1
  73. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-toolbar-button-for-app.js +14 -13
  74. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/create-link.js +48 -27
  75. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/encodeDraftUrlId.d.ts +0 -1
  76. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-draft-id-for-message-id.js +42 -31
  77. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-native-nav-item.js +40 -30
  78. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-rfc-message-id-for-gmail-message-id.d.ts +0 -1
  79. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-rfc-message-id-for-gmail-thread-id.d.ts +0 -1
  80. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-url-object.js +18 -10
  81. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/getSyncThreadForOldGmailThreadId.js +28 -21
  82. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/getSyncThreadFromSyncThreadId.js +45 -33
  83. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/gmail-load-event.js +49 -31
  84. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/goto-view.js +65 -58
  85. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/isIntegratedViewGmail.d.ts +0 -1
  86. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/keyboard-shortcut-help-modifier.js +124 -40
  87. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/open-compose-window.js +22 -17
  88. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/open-draft-by-message-id.d.ts +0 -1
  89. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/open-draft-by-message-id.test.js +11 -10
  90. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/override-gmail-back-button.js +80 -44
  91. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/register-search-query-rewriter.js +26 -19
  92. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/register-search-suggestions-provider.js +147 -71
  93. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/setup-compose-view-driver-stream.js +148 -91
  94. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/setup-route-view-driver-stream.js +166 -150
  95. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/setup-route-view-driver-stream.test.js +120 -70
  96. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/show-app-id-warning.js +15 -15
  97. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/show-custom-route-view.js +67 -44
  98. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/show-custom-thread-list.js +379 -230
  99. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/show-custom-thread-list.test.js +307 -121
  100. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/show-native-route-view.js +24 -17
  101. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/suppressAddon.js +49 -41
  102. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/temporary-track-download-url-validity.js +40 -30
  103. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/thread-row-identifier.js +60 -28
  104. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/track-events.js +133 -61
  105. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/track-gmail-styles.js +110 -83
  106. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/user-info.js +42 -30
  107. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/user-info.test.js +46 -52
  108. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver.d.ts +3 -13
  109. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver.js +683 -355
  110. package/src/platform-implementation-js/dom-driver/gmail/gmail-element-getter/get-main-content-element-changed-stream.d.ts +0 -1
  111. package/src/platform-implementation-js/dom-driver/gmail/gmail-element-getter/wait-for-gmail-mode-to-settle.d.ts +0 -1
  112. package/src/platform-implementation-js/dom-driver/gmail/gmail-element-getter.d.ts +0 -4
  113. package/src/platform-implementation-js/dom-driver/gmail/gmail-page-communicator.d.ts +0 -1
  114. package/src/platform-implementation-js/dom-driver/gmail/gmail-response-processor.d.ts +0 -1
  115. package/src/platform-implementation-js/dom-driver/gmail/gmail-sync-response-processor.d.ts +0 -1
  116. package/src/platform-implementation-js/dom-driver/gmail/is-compose-titlebar-light-color.d.ts +0 -1
  117. package/src/platform-implementation-js/dom-driver/gmail/make-xhr-interceptor.js +93 -77
  118. package/src/platform-implementation-js/dom-driver/gmail/makePageParserTree.d.ts +0 -1
  119. package/src/platform-implementation-js/dom-driver/gmail/pageParserOptions.d.ts +0 -1
  120. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/index.js +82 -35
  121. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/index.test.js +94 -44
  122. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/primary/add-companion-global-icon-area.js +19 -12
  123. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/primary/add-companion-thread-icon-area.js +29 -17
  124. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/primary/add-to-icon-area.js +26 -26
  125. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/primary/index.js +797 -391
  126. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-toolbar-button-view/monitor-top-banner-size-and-react.js +9 -7
  127. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-toolbar-button-view.js +109 -60
  128. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-attachment-area-view.js +135 -95
  129. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-attachment-card-view.js +211 -103
  130. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-attachment-card-view.test.js +61 -61
  131. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-backdrop.js +17 -17
  132. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-collapsible-section-view.js +541 -188
  133. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-button.js +135 -67
  134. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-compose-notice.js +49 -27
  135. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-inner-sidebar.js +13 -7
  136. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-outer-sidebar.js +22 -9
  137. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-recipient-row.js +63 -36
  138. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-status-bar.d.ts +0 -1
  139. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-tooltip-to-button.js +113 -38
  140. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/detectClassicRecipientsArea.d.ts +0 -1
  141. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/ensure-app-button-toolbars-are-closed.js +16 -11
  142. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/ensure-grouping-is-open.js +17 -11
  143. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/focus.js +11 -8
  144. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/from-manager.js +47 -27
  145. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-additional-action-toolbar.js +24 -11
  146. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-address-changes-stream.js +111 -59
  147. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-address-information-extractor.d.ts +0 -1
  148. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-body-changes-stream.js +14 -15
  149. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-formatting-area-offset-left.js +17 -11
  150. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-minimized-stream.js +24 -18
  151. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-recipients.d.ts +0 -1
  152. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-response-type-changes-stream.js +23 -19
  153. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/gmail-compose-button-view.d.ts +0 -1
  154. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/insert-link-into-body.js +19 -11
  155. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/manage-button-grouping.js +376 -141
  156. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/monitor-selection-range.js +28 -17
  157. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/override-edit-subject.js +70 -34
  158. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/page-parser.d.ts +0 -1
  159. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/position-formatting-toolbar.js +17 -10
  160. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/set-recipients.d.ts +0 -1
  161. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/setupLinkPopovers.d.ts +0 -1
  162. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/size-fixer.js +137 -83
  163. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/update-insert-more-area-left.js +19 -10
  164. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view.js +1190 -632
  165. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-message-view/attachment-icon.d.ts +0 -1
  166. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-message-view/get-updated-contact.js +38 -29
  167. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-message-view.js +617 -327
  168. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-nav-item-view.d.ts +1 -34
  169. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-route-view/gmail-route-processor.js +48 -29
  170. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-route-view/gmail-route-view.js +380 -188
  171. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-row-list-view.js +194 -104
  172. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-support-item-view.d.ts +0 -1
  173. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-row-view.js +811 -382
  174. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-sidebar-view/add-icon-area.js +58 -34
  175. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-sidebar-view.js +581 -330
  176. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-sidebar-view.test.js +277 -123
  177. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-view/width-manager.js +35 -15
  178. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-view.js +571 -216
  179. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-toolbar-view.js +336 -152
  180. package/src/platform-implementation-js/dom-driver/gmail/views/native-gmail-nav-item-view.js +211 -87
  181. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/button-color-classes.d.ts +0 -1
  182. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/button-view.d.ts +0 -1
  183. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/create-accessory-button-view.d.ts +0 -1
  184. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/create-parent-accessory-button-view.d.ts +0 -1
  185. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/inbox-dropdown-button-view.js +11 -10
  186. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/modal-button-view.d.ts +0 -1
  187. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/more-dropdown-button-view.d.ts +0 -1
  188. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/more-parent-accessory-button-view.d.ts +0 -1
  189. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-action-button-view.js +29 -20
  190. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-dropdown-view.d.ts +0 -1
  191. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-label-view.js +76 -41
  192. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-modal-view-driver.js +99 -45
  193. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-mole-view-driver.js +128 -76
  194. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-tooltip-view.js +319 -128
  195. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-top-message-bar-driver.js +78 -45
  196. package/src/platform-implementation-js/dom-driver/inbox/__mocks__/getSidebarClassnames.js +4 -8
  197. package/src/platform-implementation-js/dom-driver/inbox/addNavItem.js +54 -36
  198. package/src/platform-implementation-js/dom-driver/inbox/addRecipientRow.js +53 -35
  199. package/src/platform-implementation-js/dom-driver/inbox/createLink.js +15 -13
  200. package/src/platform-implementation-js/dom-driver/inbox/createLink.test.js +18 -15
  201. package/src/platform-implementation-js/dom-driver/inbox/custom-style.js +13 -14
  202. package/src/platform-implementation-js/dom-driver/inbox/detection/appToolbarLocation/parser.js +20 -14
  203. package/src/platform-implementation-js/dom-driver/inbox/detection/attachmentCard/parser.js +13 -14
  204. package/src/platform-implementation-js/dom-driver/inbox/detection/attachmentOverlay/parser.js +67 -35
  205. package/src/platform-implementation-js/dom-driver/inbox/detection/chatSidebar/parser.js +18 -16
  206. package/src/platform-implementation-js/dom-driver/inbox/detection/compose/parser.js +185 -68
  207. package/src/platform-implementation-js/dom-driver/inbox/detection/message/parser.js +56 -28
  208. package/src/platform-implementation-js/dom-driver/inbox/detection/nativeDrawer/parser.js +10 -12
  209. package/src/platform-implementation-js/dom-driver/inbox/detection/searchBar/parser.js +16 -16
  210. package/src/platform-implementation-js/dom-driver/inbox/detection/thread/parser.js +35 -24
  211. package/src/platform-implementation-js/dom-driver/inbox/detection/thread-row/parser.js +89 -37
  212. package/src/platform-implementation-js/dom-driver/inbox/getComposeViewDriverLiveSet.js +78 -56
  213. package/src/platform-implementation-js/dom-driver/inbox/getInboxMessageIdForInboxThreadId.js +32 -26
  214. package/src/platform-implementation-js/dom-driver/inbox/getSidebarClassnames.js +109 -52
  215. package/src/platform-implementation-js/dom-driver/inbox/getSidebarClassnames.test.js +8 -7
  216. package/src/platform-implementation-js/dom-driver/inbox/gotoView.js +20 -16
  217. package/src/platform-implementation-js/dom-driver/inbox/gotoView.test.js +16 -15
  218. package/src/platform-implementation-js/dom-driver/inbox/inbox-butter-bar-driver.js +83 -75
  219. package/src/platform-implementation-js/dom-driver/inbox/inbox-driver.js +823 -531
  220. package/src/platform-implementation-js/dom-driver/inbox/inbox-page-communicator.js +61 -48
  221. package/src/platform-implementation-js/dom-driver/inbox/inboxResponseProcessor.js +12 -9
  222. package/src/platform-implementation-js/dom-driver/inbox/inboxResponseProcessor.test.js +19 -12
  223. package/src/platform-implementation-js/dom-driver/inbox/makePageParserTree.js +33 -24
  224. package/src/platform-implementation-js/dom-driver/inbox/pageParserOptions.js +388 -201
  225. package/src/platform-implementation-js/dom-driver/inbox/registerSearchSuggestionsProvider.js +265 -249
  226. package/src/platform-implementation-js/dom-driver/inbox/setupCustomAutocompleteSelectionHandling.js +152 -84
  227. package/src/platform-implementation-js/dom-driver/inbox/setupRouteViewDriverStream.js +67 -55
  228. package/src/platform-implementation-js/dom-driver/inbox/setupRouteViewDriverStream.test.js +65 -43
  229. package/src/platform-implementation-js/dom-driver/inbox/views/InboxLabelView.js +56 -31
  230. package/src/platform-implementation-js/dom-driver/inbox/views/InboxMoleViewDriver.js +294 -191
  231. package/src/platform-implementation-js/dom-driver/inbox/views/InboxToolbarButtonView.js +45 -32
  232. package/src/platform-implementation-js/dom-driver/inbox/views/InboxToolbarView.js +39 -21
  233. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-app-sidebar-view.js +240 -153
  234. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-app-toolbar-button-view.js +150 -75
  235. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-app-toolbar-tooltip-view.js +37 -20
  236. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-attachment-card-view.js +114 -60
  237. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-attachment-overlay-view.js +65 -47
  238. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-backdrop.js +52 -41
  239. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-chat-sidebar-view.js +36 -27
  240. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-compose-button-view.js +80 -52
  241. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-compose-view.js +649 -465
  242. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-custom-route-view.js +58 -37
  243. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-custom-route-view.test.js +26 -14
  244. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-drawer-view.js +235 -118
  245. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-dropdown-view.js +11 -10
  246. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-dummy-route-view.js +46 -28
  247. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-message-view.js +202 -131
  248. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-modal-view.js +80 -40
  249. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-route-view.js +61 -35
  250. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-thread-row-view.js +221 -124
  251. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-thread-view.js +213 -125
  252. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-thread-view.test.js +126 -104
  253. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-tooltip-view.js +51 -36
  254. package/src/platform-implementation-js/dom-driver/inbox/views/inboxNavItemView.js +297 -158
  255. package/src/platform-implementation-js/dom-driver/inbox/waitForAnimationClickBlockerGone.js +35 -21
  256. package/src/platform-implementation-js/driver-common/compose/getDiscardStream.js +43 -24
  257. package/src/platform-implementation-js/driver-common/compose/getPresendingStream.js +68 -39
  258. package/src/platform-implementation-js/driver-common/getAccountUrlPart.d.ts +0 -1
  259. package/src/platform-implementation-js/driver-common/getGmailMessageIdForSyncMessageId.js +19 -14
  260. package/src/platform-implementation-js/driver-common/getGmailThreadIdForRfcMessageId.js +35 -27
  261. package/src/platform-implementation-js/driver-common/getOriginalMessagePage.d.ts +0 -1
  262. package/src/platform-implementation-js/driver-common/getRfcMessageIdForSyncMessageId.js +22 -16
  263. package/src/platform-implementation-js/driver-common/getSyncThreadsForSearch.d.ts +0 -1
  264. package/src/platform-implementation-js/driver-common/getThreadIdFromMessageId.js +14 -14
  265. package/src/platform-implementation-js/driver-common/gmailAjax.d.ts +0 -1
  266. package/src/platform-implementation-js/driver-common/inboxAjax.js +7 -12
  267. package/src/platform-implementation-js/driver-common/render-custom-icon.d.ts +0 -1
  268. package/src/platform-implementation-js/driver-common/requestGmailThread.js +20 -19
  269. package/src/platform-implementation-js/driver-common/sidebar/AppSidebar.js +306 -197
  270. package/src/platform-implementation-js/driver-common/sidebar/ContentPanelViewDriver.js +161 -113
  271. package/src/platform-implementation-js/driver-common/update-icon.d.ts +0 -1
  272. package/src/platform-implementation-js/driver-interfaces/compose-view-driver.js +114 -1
  273. package/src/platform-implementation-js/driver-interfaces/driver.d.ts +0 -5
  274. package/src/platform-implementation-js/driver-interfaces/driver.js +126 -1
  275. package/src/platform-implementation-js/driver-interfaces/message-view-driver.js +48 -4
  276. package/src/platform-implementation-js/driver-interfaces/mole-view-driver.js +29 -1
  277. package/src/platform-implementation-js/driver-interfaces/route-view-driver.js +32 -1
  278. package/src/platform-implementation-js/driver-interfaces/thread-row-view-driver.js +11 -1
  279. package/src/platform-implementation-js/lib/ErrorCollector.d.ts +0 -1
  280. package/src/platform-implementation-js/lib/Membrane.d.ts +0 -1
  281. package/src/platform-implementation-js/lib/ScrollableContainByScreen.d.ts +0 -1
  282. package/src/platform-implementation-js/lib/array-to-lifetimes.js +41 -43
  283. package/src/platform-implementation-js/lib/array-to-lifetimes.test.js +155 -139
  284. package/src/platform-implementation-js/lib/attemptWithRetries.d.ts +0 -1
  285. package/src/platform-implementation-js/lib/common-page-communicator.d.ts +0 -1
  286. package/src/platform-implementation-js/lib/copyAndValidateAutocompleteResults.js +38 -19
  287. package/src/platform-implementation-js/lib/css-selector-escape.js +3 -7
  288. package/src/platform-implementation-js/lib/delay-asap.d.ts +0 -1
  289. package/src/platform-implementation-js/lib/delay-idle.d.ts +0 -1
  290. package/src/platform-implementation-js/lib/dom/block-and-reemit-keyboard-events.d.ts +0 -1
  291. package/src/platform-implementation-js/lib/dom/element-view-mapper.js +11 -8
  292. package/src/platform-implementation-js/lib/dom/generic-button-view.d.ts +0 -1
  293. package/src/platform-implementation-js/lib/dom/get-insert-before-element.d.ts +0 -1
  294. package/src/platform-implementation-js/lib/dom/get-selection.js +52 -23
  295. package/src/platform-implementation-js/lib/dom/insert-element-in-order.d.ts +0 -1
  296. package/src/platform-implementation-js/lib/dom/insert-html-at-cursor.js +101 -69
  297. package/src/platform-implementation-js/lib/dom/is-node-in-range.js +10 -8
  298. package/src/platform-implementation-js/lib/dom/keyboard-shortcut-stream.d.ts +0 -1
  299. package/src/platform-implementation-js/lib/dom/make-element-child-stream.d.ts +0 -1
  300. package/src/platform-implementation-js/lib/dom/make-element-stream-merger.d.ts +0 -1
  301. package/src/platform-implementation-js/lib/dom/make-element-view-stream.d.ts +0 -1
  302. package/src/platform-implementation-js/lib/dom/make-mutation-observer-chunked-stream.d.ts +0 -1
  303. package/src/platform-implementation-js/lib/dom/make-mutation-observer-stream.d.ts +0 -1
  304. package/src/platform-implementation-js/lib/dom/on-mouse-down-and-up.js +17 -15
  305. package/src/platform-implementation-js/lib/dom/outsideClicksAndEscape.d.ts +0 -1
  306. package/src/platform-implementation-js/lib/dom/parentNodes.d.ts +0 -1
  307. package/src/platform-implementation-js/lib/dom/querySelectorOne.js +11 -8
  308. package/src/platform-implementation-js/lib/dom/querySelectorOrFail.d.ts +0 -1
  309. package/src/platform-implementation-js/lib/dom/reemitClickEventForReact.d.ts +0 -1
  310. package/src/platform-implementation-js/lib/dom/set-css.js +3 -7
  311. package/src/platform-implementation-js/lib/dom/set-value-and-dispatch-event.js +11 -9
  312. package/src/platform-implementation-js/lib/dom/simulate-drag-and-drop.js +33 -32
  313. package/src/platform-implementation-js/lib/dom/simulate-key.d.ts +0 -1
  314. package/src/platform-implementation-js/lib/dom/simulate-mouse-event.d.ts +0 -1
  315. package/src/platform-implementation-js/lib/dom/trigger-relay-event.d.ts +0 -1
  316. package/src/platform-implementation-js/lib/extract-contact-from-email-contact-string.d.ts +0 -1
  317. package/src/platform-implementation-js/lib/extract-contact-from-email-contact-string.test.js +26 -23
  318. package/src/platform-implementation-js/lib/fake-window-resize.d.ts +0 -1
  319. package/src/platform-implementation-js/lib/from-event-target-capture.d.ts +0 -1
  320. package/src/platform-implementation-js/lib/fromEventsWithOptions.d.ts +0 -1
  321. package/src/platform-implementation-js/lib/handle-compose-link-chips.js +149 -86
  322. package/src/platform-implementation-js/lib/handler-registry.d.ts +0 -1
  323. package/src/platform-implementation-js/lib/idMap.d.ts +0 -1
  324. package/src/platform-implementation-js/lib/imageRequest.d.ts +0 -1
  325. package/src/platform-implementation-js/lib/incrementName.d.ts +0 -1
  326. package/src/platform-implementation-js/lib/inject-script-EMBEDDED.d.ts +0 -1
  327. package/src/platform-implementation-js/lib/inject-script.d.ts +0 -1
  328. package/src/platform-implementation-js/lib/insert-link-chip-into-body.js +57 -42
  329. package/src/platform-implementation-js/lib/is-valid-app-id.d.ts +0 -1
  330. package/src/platform-implementation-js/lib/is-valid-email.d.ts +0 -1
  331. package/src/platform-implementation-js/lib/isNotNil.d.ts +0 -1
  332. package/src/platform-implementation-js/lib/isStreakAppId.d.ts +0 -1
  333. package/src/platform-implementation-js/lib/logger.d.ts +0 -1
  334. package/src/platform-implementation-js/lib/make-revocable-function.js +21 -19
  335. package/src/platform-implementation-js/lib/make-revocable-function.test.js +22 -20
  336. package/src/platform-implementation-js/lib/parseParamsFromRouteID.js +17 -15
  337. package/src/platform-implementation-js/lib/parseParamsFromRouteID.test.js +18 -9
  338. package/src/platform-implementation-js/lib/persistent-queue.d.ts +0 -1
  339. package/src/platform-implementation-js/lib/populateRouteID.js +9 -8
  340. package/src/platform-implementation-js/lib/populateRouteID.test.js +19 -20
  341. package/src/platform-implementation-js/lib/react/ElementContainer.js +20 -23
  342. package/src/platform-implementation-js/lib/rewriteCssWithIdMap.js +9 -10
  343. package/src/platform-implementation-js/lib/rewriteCssWithIdMap.test.js +20 -13
  344. package/src/platform-implementation-js/lib/routeIDmatchesHash.js +18 -13
  345. package/src/platform-implementation-js/lib/routeIDmatchesHash.test.js +17 -11
  346. package/src/platform-implementation-js/lib/safe-event-emitter.d.ts +0 -1
  347. package/src/platform-implementation-js/lib/shared-style.js +13 -14
  348. package/src/platform-implementation-js/lib/stopper-pool.d.ts +0 -1
  349. package/src/platform-implementation-js/lib/stream-wait-for.d.ts +0 -1
  350. package/src/platform-implementation-js/lib/toItemWithLifetimeStream.js +17 -18
  351. package/src/platform-implementation-js/lib/toLiveSet.js +15 -17
  352. package/src/platform-implementation-js/lib/wait-for.d.ts +1 -2
  353. package/src/platform-implementation-js/lib/waitForAsync.d.ts +0 -1
  354. package/src/platform-implementation-js/main-INTEGRATED-PAGEWORLD.js +5 -6
  355. package/src/platform-implementation-js/main.js +24 -9
  356. package/src/platform-implementation-js/namespaces/butter-bar.d.ts +0 -1
  357. package/src/platform-implementation-js/namespaces/compose.js +60 -37
  358. package/src/platform-implementation-js/namespaces/conversations.js +124 -52
  359. package/src/platform-implementation-js/namespaces/global.js +39 -27
  360. package/src/platform-implementation-js/namespaces/keyboard.js +33 -29
  361. package/src/platform-implementation-js/namespaces/lists.js +31 -25
  362. package/src/platform-implementation-js/namespaces/modal.js +28 -34
  363. package/src/platform-implementation-js/namespaces/nav-menu.js +45 -30
  364. package/src/platform-implementation-js/namespaces/router.js +137 -70
  365. package/src/platform-implementation-js/namespaces/search.js +17 -19
  366. package/src/platform-implementation-js/namespaces/toolbars.js +117 -71
  367. package/src/platform-implementation-js/namespaces/user.js +37 -36
  368. package/src/platform-implementation-js/namespaces/widgets.js +61 -54
  369. package/src/platform-implementation-js/platform-implementation.d.ts +0 -2
  370. package/src/platform-implementation-js/platform-implementation.js +226 -98
  371. package/src/platform-implementation-js/views/SimpleElementView.d.ts +0 -1
  372. package/src/platform-implementation-js/views/app-toolbar-button-view.js +47 -26
  373. package/src/platform-implementation-js/views/collapsible-section-view.js +63 -66
  374. package/src/platform-implementation-js/views/compose-button-view.d.ts +0 -1
  375. package/src/platform-implementation-js/views/compose-view.d.ts +0 -1
  376. package/src/platform-implementation-js/views/content-panel-view.js +30 -28
  377. package/src/platform-implementation-js/views/conversations/attachment-card-view.js +44 -21
  378. package/src/platform-implementation-js/views/conversations/custom-message-view.js +104 -44
  379. package/src/platform-implementation-js/views/conversations/message-view.js +202 -131
  380. package/src/platform-implementation-js/views/conversations/thread-view.js +127 -75
  381. package/src/platform-implementation-js/views/keyboard-shortcut-handle.d.ts +0 -1
  382. package/src/platform-implementation-js/views/native-nav-item-view.js +65 -32
  383. package/src/platform-implementation-js/views/nav-item-view.js +115 -51
  384. package/src/platform-implementation-js/views/route-view/custom-route-view.js +20 -25
  385. package/src/platform-implementation-js/views/route-view/dummy-route-view-driver.js +18 -18
  386. package/src/platform-implementation-js/views/route-view/list-route-view.js +52 -30
  387. package/src/platform-implementation-js/views/route-view/route-view.js +35 -24
  388. package/src/platform-implementation-js/views/section-view.js +52 -60
  389. package/src/platform-implementation-js/views/thread-row-view.js +74 -49
  390. package/src/platform-implementation-js/widgets/buttons/basic-button-view-controller.d.ts +0 -1
  391. package/src/platform-implementation-js/widgets/buttons/dropdown-button-view-controller.d.ts +0 -1
  392. package/src/platform-implementation-js/widgets/buttons/dropdown-view.d.ts +0 -1
  393. package/src/platform-implementation-js/widgets/drawer-view.js +36 -29
  394. package/src/platform-implementation-js/widgets/modal-view.js +68 -39
  395. package/src/platform-implementation-js/widgets/mole-view.js +22 -22
  396. package/src/platform-implementation-js/widgets/top-message-bar-view.js +10 -13
  397. package/src/build/exec.d.ts.map +0 -1
  398. package/src/build/exec.js +0 -26
  399. package/src/build/spawn.d.ts.map +0 -1
  400. package/src/build/spawn.js +0 -17
  401. package/src/common/ajax.d.ts.map +0 -1
  402. package/src/common/ajax.js +0 -90
  403. package/src/common/cachebust-url.d.ts.map +0 -1
  404. package/src/common/cachebust-url.js +0 -10
  405. package/src/common/censorHTMLstring.d.ts.map +0 -1
  406. package/src/common/censorHTMLstring.js +0 -37
  407. package/src/common/censorHTMLtree.d.ts.map +0 -1
  408. package/src/common/censorHTMLtree.js +0 -28
  409. package/src/common/censorJSONTree.d.ts.map +0 -1
  410. package/src/common/censorJSONTree.js +0 -15
  411. package/src/common/connectivity-test.d.ts.map +0 -1
  412. package/src/common/connectivity-test.js +0 -21
  413. package/src/common/defer.d.ts.map +0 -1
  414. package/src/common/defer.js +0 -11
  415. package/src/common/find-parent.d.ts.map +0 -1
  416. package/src/common/find-parent.js +0 -10
  417. package/src/common/get-extension-id.d.ts.map +0 -1
  418. package/src/common/get-extension-id.js +0 -7
  419. package/src/common/get-or-fail.d.ts.map +0 -1
  420. package/src/common/get-or-fail.js +0 -8
  421. package/src/common/get-session-id.d.ts.map +0 -1
  422. package/src/common/get-session-id.js +0 -14
  423. package/src/common/get-stack-trace.d.ts.map +0 -1
  424. package/src/common/get-stack-trace.js +0 -6
  425. package/src/common/html-to-text.d.ts.map +0 -1
  426. package/src/common/html-to-text.js +0 -7
  427. package/src/common/isElementVisible.d.ts.map +0 -1
  428. package/src/common/isElementVisible.js +0 -6
  429. package/src/common/load-script.d.ts.map +0 -1
  430. package/src/common/load-script.js +0 -127
  431. package/src/common/log-error.d.ts.map +0 -1
  432. package/src/common/log-error.js +0 -191
  433. package/src/common/quoted-split.d.ts.map +0 -1
  434. package/src/common/quoted-split.js +0 -18
  435. package/src/common/rate-limit-queuer.d.ts.map +0 -1
  436. package/src/common/rate-limit-queuer.js +0 -57
  437. package/src/common/rate-limit.d.ts.map +0 -1
  438. package/src/common/rate-limit.js +0 -14
  439. package/src/common/version.d.ts.map +0 -1
  440. package/src/common/version.js +0 -6
  441. package/src/inboxsdk-js/loading/platform-implementation-loader.d.ts.map +0 -1
  442. package/src/inboxsdk-js/loading/platform-implementation-loader.js +0 -27
  443. package/src/injected-js/gmail/constants.d.ts.map +0 -1
  444. package/src/injected-js/gmail/constants.js +0 -2
  445. package/src/injected-js/gmail/modify-suggestions.d.ts.map +0 -1
  446. package/src/injected-js/gmail/modify-suggestions.js +0 -106
  447. package/src/injected-js/gmail/setup-gmonkey-handler.d.ts.map +0 -1
  448. package/src/injected-js/gmail/setup-gmonkey-handler.js +0 -49
  449. package/src/injected-js/gmail/sync-compose-processor-20220909.d.ts.map +0 -1
  450. package/src/injected-js/gmail/sync-compose-processor-20220909.js +0 -298
  451. package/src/injected-js/gmail/sync-compose-processor.d.ts.map +0 -1
  452. package/src/injected-js/gmail/sync-compose-processor.js +0 -55
  453. package/src/injected-js/gmail/sync-compose-request-processor.d.ts.map +0 -1
  454. package/src/injected-js/gmail/sync-compose-request-processor.js +0 -110
  455. package/src/injected-js/injected-logger.d.ts.map +0 -1
  456. package/src/injected-js/injected-logger.js +0 -50
  457. package/src/injected-js/setupCustomViewEventAssassin.d.ts.map +0 -1
  458. package/src/injected-js/setupCustomViewEventAssassin.js +0 -90
  459. package/src/platform-implementation-js/constants/nav-item-types.d.ts.map +0 -1
  460. package/src/platform-implementation-js/constants/nav-item-types.js +0 -19
  461. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-app-menu-item.d.ts +0 -5
  462. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-app-menu-item.d.ts.map +0 -1
  463. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-app-menu-item.js +0 -21
  464. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-collapsible-panel.d.ts +0 -5
  465. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-collapsible-panel.d.ts.map +0 -1
  466. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-collapsible-panel.js +0 -28
  467. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-nav-item.d.ts.map +0 -1
  468. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-nav-item.js +0 -98
  469. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-support-item.d.ts.map +0 -1
  470. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-support-item.js +0 -4
  471. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/encodeDraftUrlId.d.ts.map +0 -1
  472. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/encodeDraftUrlId.js +0 -8
  473. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-rfc-message-id-for-gmail-message-id.d.ts.map +0 -1
  474. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-rfc-message-id-for-gmail-message-id.js +0 -12
  475. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-rfc-message-id-for-gmail-thread-id.d.ts.map +0 -1
  476. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-rfc-message-id-for-gmail-thread-id.js +0 -33
  477. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/isIntegratedViewGmail.d.ts.map +0 -1
  478. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/isIntegratedViewGmail.js +0 -4
  479. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/open-draft-by-message-id.d.ts.map +0 -1
  480. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/open-draft-by-message-id.js +0 -44
  481. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/track-gmail-styles.d.ts +0 -2
  482. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/track-gmail-styles.d.ts.map +0 -1
  483. package/src/platform-implementation-js/dom-driver/gmail/gmail-element-getter/get-main-content-element-changed-stream.d.ts.map +0 -1
  484. package/src/platform-implementation-js/dom-driver/gmail/gmail-element-getter/get-main-content-element-changed-stream.js +0 -38
  485. package/src/platform-implementation-js/dom-driver/gmail/gmail-element-getter/wait-for-gmail-mode-to-settle.d.ts.map +0 -1
  486. package/src/platform-implementation-js/dom-driver/gmail/gmail-element-getter/wait-for-gmail-mode-to-settle.js +0 -12
  487. package/src/platform-implementation-js/dom-driver/gmail/gmail-element-getter.d.ts.map +0 -1
  488. package/src/platform-implementation-js/dom-driver/gmail/gmail-element-getter.js +0 -253
  489. package/src/platform-implementation-js/dom-driver/gmail/gmail-page-communicator.d.ts.map +0 -1
  490. package/src/platform-implementation-js/dom-driver/gmail/gmail-page-communicator.js +0 -200
  491. package/src/platform-implementation-js/dom-driver/gmail/gmail-response-processor.d.ts.map +0 -1
  492. package/src/platform-implementation-js/dom-driver/gmail/gmail-response-processor.js +0 -533
  493. package/src/platform-implementation-js/dom-driver/gmail/gmail-sync-response-processor.d.ts.map +0 -1
  494. package/src/platform-implementation-js/dom-driver/gmail/gmail-sync-response-processor.js +0 -289
  495. package/src/platform-implementation-js/dom-driver/gmail/is-compose-titlebar-light-color.d.ts.map +0 -1
  496. package/src/platform-implementation-js/dom-driver/gmail/is-compose-titlebar-light-color.js +0 -21
  497. package/src/platform-implementation-js/dom-driver/gmail/makePageParserTree.d.ts.map +0 -1
  498. package/src/platform-implementation-js/dom-driver/gmail/makePageParserTree.js +0 -28
  499. package/src/platform-implementation-js/dom-driver/gmail/pageParserOptions.d.ts.map +0 -1
  500. package/src/platform-implementation-js/dom-driver/gmail/pageParserOptions.js +0 -19
  501. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-menu-item-view.d.ts +0 -43
  502. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-menu-item-view.d.ts.map +0 -1
  503. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-menu-item-view.js +0 -126
  504. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-status-bar.d.ts.map +0 -1
  505. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-status-bar.js +0 -101
  506. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/detectClassicRecipientsArea.d.ts.map +0 -1
  507. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/detectClassicRecipientsArea.js +0 -38
  508. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-address-information-extractor.d.ts.map +0 -1
  509. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-address-information-extractor.js +0 -28
  510. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-recipients.d.ts.map +0 -1
  511. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-recipients.js +0 -22
  512. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/gmail-compose-button-view.d.ts.map +0 -1
  513. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/gmail-compose-button-view.js +0 -233
  514. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/page-parser.d.ts.map +0 -1
  515. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/page-parser.js +0 -223
  516. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/set-recipients.d.ts.map +0 -1
  517. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/set-recipients.js +0 -157
  518. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/setupLinkPopovers.d.ts.map +0 -1
  519. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/setupLinkPopovers.js +0 -109
  520. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-message-view/attachment-icon.d.ts.map +0 -1
  521. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-message-view/attachment-icon.js +0 -5
  522. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-nav-item-view.d.ts.map +0 -1
  523. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-nav-item-view.js +0 -759
  524. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-support-item-view.d.ts.map +0 -1
  525. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-support-item-view.js +0 -84
  526. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/button-color-classes.d.ts.map +0 -1
  527. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/button-color-classes.js +0 -33
  528. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/button-view.d.ts.map +0 -1
  529. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/button-view.js +0 -325
  530. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/create-accessory-button-view.d.ts.map +0 -1
  531. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/create-accessory-button-view.js +0 -58
  532. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/create-parent-accessory-button-view.d.ts.map +0 -1
  533. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/create-parent-accessory-button-view.js +0 -55
  534. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/modal-button-view.d.ts.map +0 -1
  535. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/modal-button-view.js +0 -96
  536. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/more-dropdown-button-view.d.ts.map +0 -1
  537. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/more-dropdown-button-view.js +0 -30
  538. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/more-parent-accessory-button-view.d.ts.map +0 -1
  539. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/more-parent-accessory-button-view.js +0 -10
  540. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-dropdown-view.d.ts.map +0 -1
  541. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-dropdown-view.js +0 -22
  542. package/src/platform-implementation-js/driver-common/getAccountUrlPart.d.ts.map +0 -1
  543. package/src/platform-implementation-js/driver-common/getAccountUrlPart.js +0 -17
  544. package/src/platform-implementation-js/driver-common/getOriginalMessagePage.d.ts.map +0 -1
  545. package/src/platform-implementation-js/driver-common/getOriginalMessagePage.js +0 -33
  546. package/src/platform-implementation-js/driver-common/getSyncThreadsForSearch.d.ts.map +0 -1
  547. package/src/platform-implementation-js/driver-common/getSyncThreadsForSearch.js +0 -49
  548. package/src/platform-implementation-js/driver-common/gmailAjax.d.ts.map +0 -1
  549. package/src/platform-implementation-js/driver-common/gmailAjax.js +0 -65
  550. package/src/platform-implementation-js/driver-common/render-custom-icon.d.ts.map +0 -1
  551. package/src/platform-implementation-js/driver-common/render-custom-icon.js +0 -16
  552. package/src/platform-implementation-js/driver-common/update-icon.d.ts.map +0 -1
  553. package/src/platform-implementation-js/driver-common/update-icon.js +0 -90
  554. package/src/platform-implementation-js/lib/ErrorCollector.d.ts.map +0 -1
  555. package/src/platform-implementation-js/lib/ErrorCollector.js +0 -47
  556. package/src/platform-implementation-js/lib/Membrane.d.ts.map +0 -1
  557. package/src/platform-implementation-js/lib/Membrane.js +0 -22
  558. package/src/platform-implementation-js/lib/ScrollableContainByScreen.d.ts.map +0 -1
  559. package/src/platform-implementation-js/lib/ScrollableContainByScreen.js +0 -30
  560. package/src/platform-implementation-js/lib/attemptWithRetries.d.ts.map +0 -1
  561. package/src/platform-implementation-js/lib/attemptWithRetries.js +0 -16
  562. package/src/platform-implementation-js/lib/common-page-communicator.d.ts.map +0 -1
  563. package/src/platform-implementation-js/lib/common-page-communicator.js +0 -137
  564. package/src/platform-implementation-js/lib/delay-asap.d.ts.map +0 -1
  565. package/src/platform-implementation-js/lib/delay-asap.js +0 -12
  566. package/src/platform-implementation-js/lib/delay-idle.d.ts.map +0 -1
  567. package/src/platform-implementation-js/lib/delay-idle.js +0 -16
  568. package/src/platform-implementation-js/lib/dom/block-and-reemit-keyboard-events.d.ts.map +0 -1
  569. package/src/platform-implementation-js/lib/dom/block-and-reemit-keyboard-events.js +0 -36
  570. package/src/platform-implementation-js/lib/dom/generic-button-view.d.ts.map +0 -1
  571. package/src/platform-implementation-js/lib/dom/generic-button-view.js +0 -39
  572. package/src/platform-implementation-js/lib/dom/get-insert-before-element.d.ts.map +0 -1
  573. package/src/platform-implementation-js/lib/dom/get-insert-before-element.js +0 -39
  574. package/src/platform-implementation-js/lib/dom/insert-element-in-order.d.ts.map +0 -1
  575. package/src/platform-implementation-js/lib/dom/insert-element-in-order.js +0 -38
  576. package/src/platform-implementation-js/lib/dom/keyboard-shortcut-stream.d.ts.map +0 -1
  577. package/src/platform-implementation-js/lib/dom/keyboard-shortcut-stream.js +0 -12
  578. package/src/platform-implementation-js/lib/dom/make-element-child-stream.d.ts.map +0 -1
  579. package/src/platform-implementation-js/lib/dom/make-element-child-stream.js +0 -79
  580. package/src/platform-implementation-js/lib/dom/make-element-stream-merger.d.ts.map +0 -1
  581. package/src/platform-implementation-js/lib/dom/make-element-stream-merger.js +0 -28
  582. package/src/platform-implementation-js/lib/dom/make-element-view-stream.d.ts.map +0 -1
  583. package/src/platform-implementation-js/lib/dom/make-element-view-stream.js +0 -15
  584. package/src/platform-implementation-js/lib/dom/make-mutation-observer-chunked-stream.d.ts.map +0 -1
  585. package/src/platform-implementation-js/lib/dom/make-mutation-observer-chunked-stream.js +0 -15
  586. package/src/platform-implementation-js/lib/dom/make-mutation-observer-stream.d.ts.map +0 -1
  587. package/src/platform-implementation-js/lib/dom/make-mutation-observer-stream.js +0 -5
  588. package/src/platform-implementation-js/lib/dom/outsideClicksAndEscape.d.ts.map +0 -1
  589. package/src/platform-implementation-js/lib/dom/outsideClicksAndEscape.js +0 -39
  590. package/src/platform-implementation-js/lib/dom/parentNodes.d.ts.map +0 -1
  591. package/src/platform-implementation-js/lib/dom/parentNodes.js +0 -8
  592. package/src/platform-implementation-js/lib/dom/querySelectorOrFail.d.ts.map +0 -1
  593. package/src/platform-implementation-js/lib/dom/querySelectorOrFail.js +0 -6
  594. package/src/platform-implementation-js/lib/dom/reemitClickEventForReact.d.ts.map +0 -1
  595. package/src/platform-implementation-js/lib/dom/reemitClickEventForReact.js +0 -22
  596. package/src/platform-implementation-js/lib/dom/simulate-key.d.ts.map +0 -1
  597. package/src/platform-implementation-js/lib/dom/simulate-key.js +0 -46
  598. package/src/platform-implementation-js/lib/dom/simulate-mouse-event.d.ts.map +0 -1
  599. package/src/platform-implementation-js/lib/dom/simulate-mouse-event.js +0 -16
  600. package/src/platform-implementation-js/lib/dom/trigger-relay-event.d.ts.map +0 -1
  601. package/src/platform-implementation-js/lib/dom/trigger-relay-event.js +0 -7
  602. package/src/platform-implementation-js/lib/extract-contact-from-email-contact-string.d.ts.map +0 -1
  603. package/src/platform-implementation-js/lib/extract-contact-from-email-contact-string.js +0 -25
  604. package/src/platform-implementation-js/lib/fake-window-resize.d.ts.map +0 -1
  605. package/src/platform-implementation-js/lib/fake-window-resize.js +0 -5
  606. package/src/platform-implementation-js/lib/from-event-target-capture.d.ts.map +0 -1
  607. package/src/platform-implementation-js/lib/from-event-target-capture.js +0 -12
  608. package/src/platform-implementation-js/lib/fromEventsWithOptions.d.ts.map +0 -1
  609. package/src/platform-implementation-js/lib/fromEventsWithOptions.js +0 -10
  610. package/src/platform-implementation-js/lib/handler-registry.d.ts.map +0 -1
  611. package/src/platform-implementation-js/lib/handler-registry.js +0 -67
  612. package/src/platform-implementation-js/lib/idMap.d.ts.map +0 -1
  613. package/src/platform-implementation-js/lib/idMap.js +0 -45
  614. package/src/platform-implementation-js/lib/imageRequest.d.ts.map +0 -1
  615. package/src/platform-implementation-js/lib/imageRequest.js +0 -8
  616. package/src/platform-implementation-js/lib/incrementName.d.ts.map +0 -1
  617. package/src/platform-implementation-js/lib/incrementName.js +0 -7
  618. package/src/platform-implementation-js/lib/inject-script-EMBEDDED.d.ts.map +0 -1
  619. package/src/platform-implementation-js/lib/inject-script-EMBEDDED.js +0 -14
  620. package/src/platform-implementation-js/lib/inject-script.d.ts.map +0 -1
  621. package/src/platform-implementation-js/lib/inject-script.js +0 -33
  622. package/src/platform-implementation-js/lib/is-valid-app-id.d.ts.map +0 -1
  623. package/src/platform-implementation-js/lib/is-valid-app-id.js +0 -27
  624. package/src/platform-implementation-js/lib/is-valid-email.d.ts.map +0 -1
  625. package/src/platform-implementation-js/lib/is-valid-email.js +0 -14
  626. package/src/platform-implementation-js/lib/isNotNil.d.ts.map +0 -1
  627. package/src/platform-implementation-js/lib/isNotNil.js +0 -5
  628. package/src/platform-implementation-js/lib/isStreakAppId.d.ts.map +0 -1
  629. package/src/platform-implementation-js/lib/isStreakAppId.js +0 -11
  630. package/src/platform-implementation-js/lib/logger.d.ts.map +0 -1
  631. package/src/platform-implementation-js/lib/logger.js +0 -441
  632. package/src/platform-implementation-js/lib/persistent-queue.d.ts.map +0 -1
  633. package/src/platform-implementation-js/lib/persistent-queue.js +0 -107
  634. package/src/platform-implementation-js/lib/safe-event-emitter.d.ts.map +0 -1
  635. package/src/platform-implementation-js/lib/safe-event-emitter.js +0 -17
  636. package/src/platform-implementation-js/lib/stopper-pool.d.ts.map +0 -1
  637. package/src/platform-implementation-js/lib/stopper-pool.js +0 -41
  638. package/src/platform-implementation-js/lib/stream-wait-for.d.ts.map +0 -1
  639. package/src/platform-implementation-js/lib/stream-wait-for.js +0 -30
  640. package/src/platform-implementation-js/lib/wait-for.d.ts.map +0 -1
  641. package/src/platform-implementation-js/lib/wait-for.js +0 -28
  642. package/src/platform-implementation-js/lib/waitForAsync.d.ts.map +0 -1
  643. package/src/platform-implementation-js/lib/waitForAsync.js +0 -19
  644. package/src/platform-implementation-js/namespaces/app-menu.d.ts +0 -38
  645. package/src/platform-implementation-js/namespaces/app-menu.d.ts.map +0 -1
  646. package/src/platform-implementation-js/namespaces/app-menu.js +0 -31
  647. package/src/platform-implementation-js/namespaces/butter-bar.d.ts.map +0 -1
  648. package/src/platform-implementation-js/namespaces/butter-bar.js +0 -163
  649. package/src/platform-implementation-js/views/SimpleElementView.d.ts.map +0 -1
  650. package/src/platform-implementation-js/views/SimpleElementView.js +0 -16
  651. package/src/platform-implementation-js/views/app-menu-item-view.d.ts +0 -23
  652. package/src/platform-implementation-js/views/app-menu-item-view.d.ts.map +0 -1
  653. package/src/platform-implementation-js/views/app-menu-item-view.js +0 -257
  654. package/src/platform-implementation-js/views/collapsible-panel-view.d.ts +0 -50
  655. package/src/platform-implementation-js/views/collapsible-panel-view.d.ts.map +0 -1
  656. package/src/platform-implementation-js/views/collapsible-panel-view.js +0 -222
  657. package/src/platform-implementation-js/views/compose-button-view.d.ts.map +0 -1
  658. package/src/platform-implementation-js/views/compose-button-view.js +0 -45
  659. package/src/platform-implementation-js/views/compose-view.d.ts.map +0 -1
  660. package/src/platform-implementation-js/views/compose-view.js +0 -312
  661. package/src/platform-implementation-js/views/keyboard-shortcut-handle.d.ts.map +0 -1
  662. package/src/platform-implementation-js/views/keyboard-shortcut-handle.js +0 -14
  663. package/src/platform-implementation-js/views/nav-item-view.d.ts +0 -24
  664. package/src/platform-implementation-js/widgets/buttons/basic-button-view-controller.d.ts.map +0 -1
  665. package/src/platform-implementation-js/widgets/buttons/basic-button-view-controller.js +0 -39
  666. package/src/platform-implementation-js/widgets/buttons/dropdown-button-view-controller.d.ts.map +0 -1
  667. package/src/platform-implementation-js/widgets/buttons/dropdown-button-view-controller.js +0 -98
  668. package/src/platform-implementation-js/widgets/buttons/dropdown-view.d.ts.map +0 -1
  669. package/src/platform-implementation-js/widgets/buttons/dropdown-view.js +0 -122
@@ -1,31 +1,32 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.default = setupGmailInterceptor;
8
- exports.setupGmailInterceptorOnFrames = setupGmailInterceptorOnFrames;
9
- var _clone = _interopRequireDefault(require("lodash/clone"));
10
- var _flatten = _interopRequireDefault(require("lodash/flatten"));
11
- var _find = _interopRequireDefault(require("lodash/find"));
12
- var _intersection = _interopRequireDefault(require("lodash/intersection"));
13
- var _includes = _interopRequireDefault(require("lodash/includes"));
14
- var _bignumber = _interopRequireDefault(require("bignumber.js"));
15
- var _kefir = _interopRequireDefault(require("kefir"));
16
- var logger = _interopRequireWildcard(require("../injected-logger"));
17
- var _xhrProxyFactory = _interopRequireDefault(require("../xhr-proxy-factory"));
18
- var _querystring = _interopRequireWildcard(require("querystring"));
19
- var threadIdentifier = _interopRequireWildcard(require("./thread-identifier"));
20
- var messageMetadataHolder = _interopRequireWildcard(require("../message-metadata-holder"));
21
- var GmailResponseProcessor = _interopRequireWildcard(require("../../platform-implementation-js/dom-driver/gmail/gmail-response-processor"));
22
- var GmailSyncResponseProcessor = _interopRequireWildcard(require("../../platform-implementation-js/dom-driver/gmail/gmail-sync-response-processor"));
23
- var _quotedSplit = _interopRequireDefault(require("../../common/quoted-split"));
24
- var _defer = _interopRequireDefault(require("../../common/defer"));
25
- var _modifySuggestions = _interopRequireDefault(require("./modify-suggestions"));
26
- var _syncComposeProcessor = require("./sync-compose-processor");
27
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
28
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
1
+ /* @flow */
2
+
3
+ import clone from 'lodash/clone';
4
+ import flatten from 'lodash/flatten';
5
+ import find from 'lodash/find';
6
+ import intersection from 'lodash/intersection';
7
+ import includes from 'lodash/includes';
8
+ import BigNumber from 'bignumber.js';
9
+
10
+ import Kefir from 'kefir';
11
+ import * as logger from '../injected-logger';
12
+ import XHRProxyFactory from '../xhr-proxy-factory';
13
+ import querystring, { stringify } from 'querystring';
14
+ import * as threadIdentifier from './thread-identifier';
15
+ import * as messageMetadataHolder from '../message-metadata-holder';
16
+ import * as GmailResponseProcessor from '../../platform-implementation-js/dom-driver/gmail/gmail-response-processor';
17
+ import * as GmailSyncResponseProcessor from '../../platform-implementation-js/dom-driver/gmail/gmail-sync-response-processor';
18
+ import quotedSplit from '../../common/quoted-split';
19
+ import defer from '../../common/defer';
20
+ import modifySuggestions from './modify-suggestions';
21
+
22
+ import {
23
+ parseComposeRequestBody,
24
+ parseComposeResponseBody,
25
+ replaceBodyContentInComposeSendRequestBody,
26
+ } from './sync-compose-processor';
27
+
28
+ import type { XHRProxyConnectionDetails } from '../xhr-proxy-factory';
29
+
29
30
  function logErrorExceptEventListeners(err, details) {
30
31
  // Don't log Gmail's errors
31
32
  if (details !== 'XMLHttpRequest event listener error') {
@@ -37,62 +38,78 @@ function logErrorExceptEventListeners(err, details) {
37
38
  }, 1);
38
39
  }
39
40
  }
40
- function setupGmailInterceptor() {
41
- let jsFrame = null;
41
+
42
+ export default function setupGmailInterceptor() {
43
+ let jsFrame: ?WindowProxy = null;
44
+
42
45
  const js_frame_element = top.document.getElementById('js_frame');
43
46
  if (js_frame_element) {
44
47
  jsFrame = js_frame_element.contentDocument.defaultView;
45
48
  } else {
46
49
  logger.eventSdkPassive('noJSFrameElementFound');
47
50
  }
51
+
48
52
  setupGmailInterceptorOnFrames(window, jsFrame);
49
53
  }
50
54
 
51
55
  // Split into a separate step to make it easy for tests to use.
52
- function setupGmailInterceptorOnFrames(mainFrame, jsFrame) {
56
+ export function setupGmailInterceptorOnFrames(
57
+ mainFrame: WindowProxy,
58
+ jsFrame: ?WindowProxy
59
+ ) {
53
60
  const main_wrappers = [],
54
61
  js_frame_wrappers = [];
62
+
55
63
  {
56
64
  const main_originalXHR = mainFrame.XMLHttpRequest;
57
- mainFrame.XMLHttpRequest = (0, _xhrProxyFactory.default)(main_originalXHR, main_wrappers, {
58
- logError: logErrorExceptEventListeners
59
- });
65
+ mainFrame.XMLHttpRequest = XHRProxyFactory(
66
+ main_originalXHR,
67
+ main_wrappers,
68
+ {
69
+ logError: logErrorExceptEventListeners,
70
+ }
71
+ );
60
72
  }
73
+
61
74
  if (jsFrame) {
62
75
  const js_frame_originalXHR = jsFrame.XMLHttpRequest;
63
- jsFrame.XMLHttpRequest = (0, _xhrProxyFactory.default)(js_frame_originalXHR, js_frame_wrappers, {
64
- logError: logErrorExceptEventListeners
65
- });
76
+ jsFrame.XMLHttpRequest = XHRProxyFactory(
77
+ js_frame_originalXHR,
78
+ js_frame_wrappers,
79
+ { logError: logErrorExceptEventListeners }
80
+ );
66
81
  }
82
+
67
83
  threadIdentifier.setup();
68
84
  messageMetadataHolder.setup();
69
85
 
70
86
  //email sending modifier/notifier
71
87
  {
72
- let modifiers = {};
73
- _kefir.default.fromEvents(document, 'inboxSDKregisterComposeRequestModifier').onValue(_ref => {
74
- let {
75
- detail
76
- } = _ref;
88
+ let modifiers: { [key: string]: Array<string> } = {};
89
+
90
+ Kefir.fromEvents(
91
+ document,
92
+ 'inboxSDKregisterComposeRequestModifier'
93
+ ).onValue(({ detail }) => {
77
94
  const keyId = detail.composeid || detail.draftID;
78
95
  if (!modifiers[keyId]) {
79
96
  modifiers[keyId] = [];
80
97
  }
98
+
81
99
  modifiers[keyId].push(detail.modifierId);
82
100
  });
83
- _kefir.default.fromEvents(document, 'inboxSDKunregisterComposeRequestModifier').onValue(_ref2 => {
84
- let {
85
- detail
86
- } = _ref2;
87
- const {
88
- keyId,
89
- modifierId
90
- } = detail;
91
- modifiers[keyId] = modifiers[keyId].filter(item => item !== modifierId);
101
+
102
+ Kefir.fromEvents(
103
+ document,
104
+ 'inboxSDKunregisterComposeRequestModifier'
105
+ ).onValue(({ detail }) => {
106
+ const { keyId, modifierId } = detail;
107
+ modifiers[keyId] = modifiers[keyId].filter((item) => item !== modifierId);
92
108
  if (modifiers[keyId].length === 0) {
93
109
  delete modifiers[keyId];
94
110
  }
95
111
  });
112
+
96
113
  js_frame_wrappers.push({
97
114
  isRelevantTo: function (connection) {
98
115
  return connection.params.act === 'sm';
@@ -100,43 +117,50 @@ function setupGmailInterceptorOnFrames(mainFrame, jsFrame) {
100
117
  originalSendBodyLogger: function (connection, body) {
101
118
  triggerEvent({
102
119
  type: 'emailSending',
103
- body: body
120
+ body: body,
104
121
  });
105
122
  },
106
123
  requestChanger: async function (connection, request) {
107
- let composeParams = _querystring.default.parse(request.body);
124
+ let composeParams = querystring.parse(request.body);
108
125
  const composeid = composeParams.composeid;
109
126
  const composeModifierIds = modifiers[composeParams.composeid];
127
+
110
128
  if (!composeModifierIds || composeModifierIds.length === 0) {
111
129
  return request;
112
130
  }
131
+
113
132
  for (let ii = 0; ii < composeModifierIds.length; ii++) {
114
133
  const modifierId = composeModifierIds[ii];
115
- const modificationPromise = _kefir.default.fromEvents(document, 'inboxSDKcomposeRequestModified').filter(_ref3 => {
116
- let {
117
- detail
118
- } = _ref3;
119
- return detail.composeid === composeid && detail.modifierId === modifierId;
120
- }).take(1).map(_ref4 => {
121
- let {
122
- detail
123
- } = _ref4;
124
- return detail.composeParams;
125
- }).toPromise(Promise);
134
+
135
+ const modificationPromise = Kefir.fromEvents(
136
+ document,
137
+ 'inboxSDKcomposeRequestModified'
138
+ )
139
+ .filter(
140
+ ({ detail }) =>
141
+ detail.composeid === composeid &&
142
+ detail.modifierId === modifierId
143
+ )
144
+ .take(1)
145
+ .map(({ detail }) => detail.composeParams)
146
+ .toPromise(Promise);
147
+
126
148
  triggerEvent({
127
149
  type: 'inboxSDKmodifyComposeRequest',
128
150
  composeid,
129
151
  modifierId,
130
152
  composeParams: {
131
153
  body: composeParams.body,
132
- isPlainText: composeParams.ishtml !== '1'
133
- }
154
+ isPlainText: composeParams.ishtml !== '1',
155
+ },
134
156
  });
157
+
135
158
  let newComposeParams = await modificationPromise;
136
159
  composeParams = Object.assign({}, composeParams, newComposeParams);
137
160
  }
161
+
138
162
  return Object.assign({}, request, {
139
- body: stringifyComposeParams(composeParams)
163
+ body: stringifyComposeParams(composeParams),
140
164
  });
141
165
  },
142
166
  afterListeners: function (connection) {
@@ -144,15 +168,19 @@ function setupGmailInterceptorOnFrames(mainFrame, jsFrame) {
144
168
  triggerEvent({
145
169
  type: 'emailSent',
146
170
  responseText: connection.originalResponseText,
147
- originalSendBody: connection.originalSendBody
171
+ originalSendBody: connection.originalSendBody,
148
172
  });
173
+
149
174
  if (connection.originalSendBody) {
150
- const composeParams = _querystring.default.parse(connection.originalSendBody);
175
+ const composeParams = querystring.parse(
176
+ connection.originalSendBody
177
+ );
151
178
  delete modifiers[composeParams.composeid];
152
179
  }
153
180
  }
154
- }
181
+ },
155
182
  });
183
+
156
184
  js_frame_wrappers.push({
157
185
  isRelevantTo: function (connection) {
158
186
  return connection.params.act === 'sd';
@@ -160,7 +188,7 @@ function setupGmailInterceptorOnFrames(mainFrame, jsFrame) {
160
188
  originalSendBodyLogger: function (connection, body) {
161
189
  triggerEvent({
162
190
  type: 'emailDraftSaveSending',
163
- body: body
191
+ body: body,
164
192
  });
165
193
  },
166
194
  afterListeners: function (connection) {
@@ -173,30 +201,43 @@ function setupGmailInterceptorOnFrames(mainFrame, jsFrame) {
173
201
  method: connection.method,
174
202
  url: connection.url,
175
203
  params: connection.params,
176
- responseType: connection.responseType
177
- }
204
+ responseType: connection.responseType,
205
+ },
178
206
  });
179
207
  }
180
- }
208
+ },
181
209
  });
210
+
182
211
  {
183
212
  // Sync API-based compose sending intercept
184
- const currentSendConnectionIDs = new WeakMap();
185
- const currentDraftSaveConnectionIDs = new WeakMap();
186
- const currentFirstDraftSaveConnectionIDs = new WeakMap();
213
+ const currentSendConnectionIDs: WeakMap<
214
+ XHRProxyConnectionDetails,
215
+ string
216
+ > = new WeakMap();
217
+ const currentDraftSaveConnectionIDs: WeakMap<
218
+ XHRProxyConnectionDetails,
219
+ string
220
+ > = new WeakMap();
221
+ const currentFirstDraftSaveConnectionIDs: WeakMap<
222
+ XHRProxyConnectionDetails,
223
+ string
224
+ > = new WeakMap();
187
225
  main_wrappers.push({
188
226
  isRelevantTo(connection) {
189
227
  return /sync(?:\/u\/\d+)?\/i\/s/.test(connection.url);
190
228
  },
191
229
  originalSendBodyLogger(connection) {
192
230
  if (connection.originalSendBody) {
193
- const composeRequestDetails = (0, _syncComposeProcessor.parseComposeRequestBody)(connection.originalSendBody);
231
+ const composeRequestDetails = parseComposeRequestBody(
232
+ connection.originalSendBody
233
+ );
234
+
194
235
  if (!composeRequestDetails) {
195
236
  return;
196
237
  }
197
- const {
198
- draftID
199
- } = composeRequestDetails;
238
+
239
+ const { draftID } = composeRequestDetails;
240
+
200
241
  switch (composeRequestDetails.type) {
201
242
  case 'FIRST_DRAFT_SAVE':
202
243
  currentFirstDraftSaveConnectionIDs.set(connection, draftID);
@@ -206,76 +247,94 @@ function setupGmailInterceptorOnFrames(mainFrame, jsFrame) {
206
247
  break;
207
248
  case 'SEND':
208
249
  currentSendConnectionIDs.set(connection, draftID);
209
- triggerEvent({
210
- type: 'emailSending',
211
- draftID
212
- });
250
+ triggerEvent({ type: 'emailSending', draftID });
213
251
  break;
214
252
  }
215
253
  }
216
254
  },
217
255
  requestChanger: async function (connection, request) {
218
- const composeRequestDetails = (0, _syncComposeProcessor.parseComposeRequestBody)(request.body);
219
- if (!composeRequestDetails || composeRequestDetails.type !== 'SEND') return request;
220
- const {
221
- draftID,
222
- body,
223
- type
224
- } = composeRequestDetails;
256
+ const composeRequestDetails = parseComposeRequestBody(request.body);
257
+ if (!composeRequestDetails || composeRequestDetails.type !== 'SEND')
258
+ return request;
259
+
260
+ const { draftID, body, type } = composeRequestDetails;
261
+
225
262
  const composeModifierIds = modifiers[draftID];
226
- if (!composeModifierIds || composeModifierIds.length === 0) return request;
263
+ if (!composeModifierIds || composeModifierIds.length === 0)
264
+ return request;
265
+
227
266
  let newEmailBody = composeRequestDetails.body;
228
267
  for (let ii = 0; ii < composeModifierIds.length; ii++) {
229
268
  const modifierId = composeModifierIds[ii];
230
- const modificationPromise = _kefir.default.fromEvents(document, 'inboxSDKcomposeRequestModified').filter(_ref5 => {
231
- let {
232
- detail
233
- } = _ref5;
234
- return detail.draftID === draftID && detail.modifierId === modifierId;
235
- }).take(1).map(_ref6 => {
236
- let {
237
- detail
238
- } = _ref6;
239
- return detail.composeParams;
240
- }).toPromise(Promise);
269
+
270
+ const modificationPromise = Kefir.fromEvents(
271
+ document,
272
+ 'inboxSDKcomposeRequestModified'
273
+ )
274
+ .filter(
275
+ ({ detail }) =>
276
+ detail.draftID === draftID && detail.modifierId === modifierId
277
+ )
278
+ .take(1)
279
+ .map(({ detail }) => detail.composeParams)
280
+ .toPromise(Promise);
281
+
241
282
  triggerEvent({
242
283
  type: 'inboxSDKmodifyComposeRequest',
243
284
  draftID,
244
285
  modifierId,
245
286
  composeParams: {
246
287
  body: newEmailBody,
247
- isPlainText: false
248
- }
288
+ isPlainText: false,
289
+ },
249
290
  });
291
+
250
292
  const newComposeParams = await modificationPromise;
251
293
  newEmailBody = newComposeParams.body;
252
294
  }
295
+
253
296
  return Object.assign({}, request, {
254
- body: (0, _syncComposeProcessor.replaceBodyContentInComposeSendRequestBody)(request.body, newEmailBody)
297
+ body: replaceBodyContentInComposeSendRequestBody(
298
+ request.body,
299
+ newEmailBody
300
+ ),
255
301
  });
256
302
  },
257
303
  afterListeners(connection) {
258
- if (currentSendConnectionIDs.has(connection) || currentDraftSaveConnectionIDs.has(connection) || currentFirstDraftSaveConnectionIDs.has(connection)) {
304
+ if (
305
+ currentSendConnectionIDs.has(connection) ||
306
+ currentDraftSaveConnectionIDs.has(connection) ||
307
+ currentFirstDraftSaveConnectionIDs.has(connection)
308
+ ) {
259
309
  const sendFailed = () => {
260
- triggerEvent({
261
- type: 'emailSendFailed',
262
- draftID
263
- });
310
+ triggerEvent({ type: 'emailSendFailed', draftID });
264
311
  currentSendConnectionIDs.delete(connection);
265
312
  };
266
- const draftID = currentSendConnectionIDs.get(connection) || currentDraftSaveConnectionIDs.get(connection) || currentFirstDraftSaveConnectionIDs.get(connection);
313
+
314
+ const draftID =
315
+ currentSendConnectionIDs.get(connection) ||
316
+ currentDraftSaveConnectionIDs.get(connection) ||
317
+ currentFirstDraftSaveConnectionIDs.get(connection);
318
+
267
319
  if (connection.status !== 200 || !connection.originalResponseText) {
268
320
  sendFailed();
269
321
  return;
270
322
  }
323
+
271
324
  try {
272
- const responsesParsed = (0, _syncComposeProcessor.parseComposeResponseBody)(connection.originalResponseText);
325
+ const responsesParsed = parseComposeResponseBody(
326
+ connection.originalResponseText
327
+ );
328
+
273
329
  for (const responseParsed of responsesParsed) {
274
330
  // If we're sending a draft, we only care about the response related to the draft we're sending.
275
331
  if (draftID && !responseParsed.messageId.endsWith(draftID)) {
276
332
  continue;
277
333
  }
278
- if (responseParsed.type === 'FIRST_DRAFT_SAVE' || responseParsed.type === 'DRAFT_SAVE') {
334
+ if (
335
+ responseParsed.type === 'FIRST_DRAFT_SAVE' ||
336
+ responseParsed.type === 'DRAFT_SAVE'
337
+ ) {
279
338
  triggerEvent({
280
339
  draftID: draftID,
281
340
  type: 'emailDraftReceived',
@@ -283,11 +342,13 @@ function setupGmailInterceptorOnFrames(mainFrame, jsFrame) {
283
342
  threadID: responseParsed.threadId,
284
343
  messageID: responseParsed.messageId,
285
344
  oldMessageID: responseParsed.oldMessageId,
286
- oldThreadID: responseParsed.oldThreadId
345
+ oldThreadID: responseParsed.oldThreadId,
287
346
  });
347
+
288
348
  currentSendConnectionIDs.delete(connection);
289
349
  currentDraftSaveConnectionIDs.delete(connection);
290
350
  currentFirstDraftSaveConnectionIDs.delete(connection);
351
+
291
352
  return;
292
353
  } else if (responseParsed.type === 'SEND') {
293
354
  triggerEvent({
@@ -297,28 +358,44 @@ function setupGmailInterceptorOnFrames(mainFrame, jsFrame) {
297
358
  threadID: responseParsed.threadId,
298
359
  messageID: responseParsed.messageId,
299
360
  oldMessageID: responseParsed.oldMessageId,
300
- oldThreadID: responseParsed.oldThreadId
361
+ oldThreadID: responseParsed.oldThreadId,
301
362
  });
363
+
302
364
  currentSendConnectionIDs.delete(connection);
303
365
  currentDraftSaveConnectionIDs.delete(connection);
304
366
  currentFirstDraftSaveConnectionIDs.delete(connection);
367
+
305
368
  return;
306
369
  }
307
370
  }
308
371
  } catch (err) {
309
- logger.eventSdkPassive('connection.requestResponseParsingFailed', {
310
- responseParseError: err
311
- });
372
+ logger.eventSdkPassive(
373
+ 'connection.requestResponseParsingFailed',
374
+ {
375
+ responseParseError: err,
376
+ }
377
+ );
312
378
  }
313
- const originalResponse = JSON.parse(connection.originalResponseText);
379
+
380
+ const originalResponse = JSON.parse(
381
+ connection.originalResponseText
382
+ );
314
383
 
315
384
  // TODO this function silently fails way too easily. Need to add better logging for it!
316
385
 
317
386
  if (currentFirstDraftSaveConnectionIDs.has(connection)) {
318
- const wrapper = originalResponse[2] && originalResponse[2][6] && originalResponse[2][6][0] && originalResponse[2][6][0][1];
387
+ const wrapper =
388
+ originalResponse[2] &&
389
+ originalResponse[2][6] &&
390
+ originalResponse[2][6][0] &&
391
+ originalResponse[2][6][0][1];
392
+
319
393
  if (wrapper) {
320
- const threadUpdate = wrapper[3] && wrapper[3][7] && wrapper[3][7][1];
321
- const messageUpdate = threadUpdate && threadUpdate[5] && threadUpdate[5][0];
394
+ const threadUpdate =
395
+ wrapper[3] && wrapper[3][7] && wrapper[3][7][1];
396
+
397
+ const messageUpdate =
398
+ threadUpdate && threadUpdate[5] && threadUpdate[5][0];
322
399
  if (threadUpdate && messageUpdate) {
323
400
  triggerEvent({
324
401
  draftID: draftID,
@@ -327,7 +404,7 @@ function setupGmailInterceptorOnFrames(mainFrame, jsFrame) {
327
404
  threadID: threadUpdate[4].split('|')[0],
328
405
  messageID: messageUpdate[1],
329
406
  oldMessageID: messageUpdate[56],
330
- oldThreadID: threadUpdate[20]
407
+ oldThreadID: threadUpdate[20],
331
408
  });
332
409
  } else {
333
410
  logger.error(new Error('Could not parse draft save'));
@@ -335,49 +412,63 @@ function setupGmailInterceptorOnFrames(mainFrame, jsFrame) {
335
412
  } else {
336
413
  // pre-2019-05-29 handling
337
414
  logger.eventSdkPassive('old compose draft id handling hit');
338
- const oldWrapper = originalResponse[2] && originalResponse[2][6] && originalResponse[2][6][1] && originalResponse[2][6][1][1];
415
+ const oldWrapper =
416
+ originalResponse[2] &&
417
+ originalResponse[2][6] &&
418
+ originalResponse[2][6][1] &&
419
+ originalResponse[2][6][1][1];
420
+
339
421
  if (oldWrapper) {
340
- const saveUpdate = oldWrapper[3] && oldWrapper[3][1] && oldWrapper[3][1][1];
422
+ const saveUpdate =
423
+ oldWrapper[3] && oldWrapper[3][1] && oldWrapper[3][1][1];
424
+
341
425
  if (saveUpdate) {
342
426
  triggerEvent({
343
427
  draftID: draftID,
344
428
  type: 'emailDraftReceived',
345
429
  rfcID: saveUpdate[14],
346
430
  messageID: saveUpdate[1],
347
- oldMessageID: saveUpdate[48] ? new _bignumber.default(saveUpdate[48]).toString(16) : saveUpdate[56],
348
- syncThreadID: oldWrapper[1]
431
+ oldMessageID: saveUpdate[48]
432
+ ? new BigNumber(saveUpdate[48]).toString(16)
433
+ : saveUpdate[56],
434
+ syncThreadID: oldWrapper[1],
349
435
  });
350
436
  }
351
437
  }
352
438
  }
353
439
  } else {
354
- var _originalResponse$, _sendUpdateMatch$, _sendUpdateMatch$$, _sendUpdateMatch$$$;
355
- const updateList = (_originalResponse$ = originalResponse[2]) === null || _originalResponse$ === void 0 ? void 0 : _originalResponse$[6];
440
+ const updateList = originalResponse[2]?.[6];
356
441
  if (!updateList) {
357
442
  sendFailed();
358
443
  return;
359
444
  }
360
- const sendUpdateMatch = updateList.find(update => {
361
- var _update$, _update$$, _update$$$, _update$$$$, _update$$$$$, _update$$$$$$;
362
- return ((_update$ = update[1]) === null || _update$ === void 0 ? void 0 : (_update$$ = _update$[3]) === null || _update$$ === void 0 ? void 0 : (_update$$$ = _update$$[7]) === null || _update$$$ === void 0 ? void 0 : (_update$$$$ = _update$$$[1]) === null || _update$$$$ === void 0 ? void 0 : (_update$$$$$ = _update$$$$[5]) === null || _update$$$$$ === void 0 ? void 0 : (_update$$$$$$ = _update$$$$$[0]) === null || _update$$$$$$ === void 0 ? void 0 : _update$$$$$$[14]) && update[1][3][7][1][5].find(message => (0, _includes.default)(message[1], draftID));
363
- });
445
+
446
+ const sendUpdateMatch = updateList.find(
447
+ (update) =>
448
+ update[1]?.[3]?.[7]?.[1]?.[5]?.[0]?.[14] &&
449
+ update[1][3][7][1][5].find((message) =>
450
+ includes(message[1], draftID)
451
+ )
452
+ );
453
+
364
454
  if (!sendUpdateMatch) {
365
455
  if (currentSendConnectionIDs.has(connection)) {
366
- const minimalSendUpdates = updateList.filter(update => {
367
- var _update$2, _update$2$, _update$2$$;
368
- return (_update$2 = update[1]) === null || _update$2 === void 0 ? void 0 : (_update$2$ = _update$2[3]) === null || _update$2$ === void 0 ? void 0 : (_update$2$$ = _update$2$[5]) === null || _update$2$$ === void 0 ? void 0 : _update$2$$[3];
369
- });
456
+ const minimalSendUpdates = updateList.filter(
457
+ (update) => update[1]?.[3]?.[5]?.[3]
458
+ );
459
+
370
460
  if (minimalSendUpdates.length > 0) {
371
- var _minimalSendUpdates$, _minimalSendUpdates$$, _minimalSendUpdates$$2, _minimalSendUpdates$2;
372
- const threadID = minimalSendUpdates[0][1][1] ? minimalSendUpdates[0][1][1].replace(/\|.*$/, '') : undefined;
461
+ const threadID = minimalSendUpdates[0][1][1]
462
+ ? minimalSendUpdates[0][1][1].replace(/\|.*$/, '')
463
+ : undefined;
373
464
  triggerEvent({
374
465
  draftID,
375
466
  type: 'emailSent',
376
467
  threadID,
377
468
  messageID:
378
- //new compose
379
- ((_minimalSendUpdates$ = minimalSendUpdates[0][1][3]) === null || _minimalSendUpdates$ === void 0 ? void 0 : (_minimalSendUpdates$$ = _minimalSendUpdates$[5]) === null || _minimalSendUpdates$$ === void 0 ? void 0 : (_minimalSendUpdates$$2 = _minimalSendUpdates$$[5]) === null || _minimalSendUpdates$$2 === void 0 ? void 0 : _minimalSendUpdates$$2[0]) || ( //replies
380
- (_minimalSendUpdates$2 = minimalSendUpdates[0][1][3][5][3]) === null || _minimalSendUpdates$2 === void 0 ? void 0 : _minimalSendUpdates$2[0])
469
+ //new compose
470
+ minimalSendUpdates[0][1][3]?.[5]?.[5]?.[0] || //replies
471
+ minimalSendUpdates[0][1][3][5][3]?.[0],
381
472
  });
382
473
  } else {
383
474
  sendFailed();
@@ -385,49 +476,72 @@ function setupGmailInterceptorOnFrames(mainFrame, jsFrame) {
385
476
  } else {
386
477
  sendFailed();
387
478
  }
479
+
388
480
  return;
389
481
  }
390
- const sendUpdateWrapper = (_sendUpdateMatch$ = sendUpdateMatch[1]) === null || _sendUpdateMatch$ === void 0 ? void 0 : (_sendUpdateMatch$$ = _sendUpdateMatch$[3]) === null || _sendUpdateMatch$$ === void 0 ? void 0 : (_sendUpdateMatch$$$ = _sendUpdateMatch$$[7]) === null || _sendUpdateMatch$$$ === void 0 ? void 0 : _sendUpdateMatch$$$[1];
391
- const sendUpdate = sendUpdateWrapper[5].find(message => message[1].includes(draftID));
482
+
483
+ const sendUpdateWrapper = sendUpdateMatch[1]?.[3]?.[7]?.[1];
484
+
485
+ const sendUpdate = sendUpdateWrapper[5].find((message) =>
486
+ message[1].includes(draftID)
487
+ );
488
+
392
489
  if (!sendUpdate) {
393
490
  sendFailed();
394
491
  return;
395
492
  }
396
- const isEmailSentResponse = currentSendConnectionIDs.has(connection);
493
+
494
+ const isEmailSentResponse =
495
+ currentSendConnectionIDs.has(connection);
496
+
397
497
  if (!Array.isArray(sendUpdate[11])) {
398
498
  logger.error(new Error('sendUpdate[11] was not an array'));
399
499
  } else {
400
500
  if (isEmailSentResponse) {
401
501
  if (sendUpdate[11].indexOf('^r') >= 0) {
402
- logger.error(new Error('sendUpdate[11] unexpectedly contained "^r"'));
502
+ logger.error(
503
+ new Error('sendUpdate[11] unexpectedly contained "^r"')
504
+ );
403
505
  }
404
506
  }
405
507
  }
508
+
406
509
  if (isEmailSentResponse) {
407
510
  if (sendUpdate[22] !== undefined && sendUpdate[22] !== 3) {
408
- logger.error(new Error('sendUpdate[22] was not expected value'), {
409
- value: sendUpdate[22]
410
- });
511
+ logger.error(
512
+ new Error('sendUpdate[22] was not expected value'),
513
+ { value: sendUpdate[22] }
514
+ );
411
515
  }
412
516
  }
413
- const threadID = sendUpdateWrapper[4] ? sendUpdateWrapper[4].replace(/\|.*$/, '') : undefined;
517
+
518
+ const threadID = sendUpdateWrapper[4]
519
+ ? sendUpdateWrapper[4].replace(/\|.*$/, '')
520
+ : undefined;
521
+
414
522
  triggerEvent({
415
523
  draftID: draftID,
416
524
  type: isEmailSentResponse ? 'emailSent' : 'emailDraftReceived',
417
525
  rfcID: sendUpdate[14],
418
526
  messageID: sendUpdate[1],
419
- oldMessageID: sendUpdate[48] ? new _bignumber.default(sendUpdate[48]).toString(16) : sendUpdate[56],
527
+ oldMessageID: sendUpdate[48]
528
+ ? new BigNumber(sendUpdate[48]).toString(16)
529
+ : sendUpdate[56],
420
530
  threadID,
421
531
  // It seems Gmail is A/B testing including gmailThreadID in response[20] and not including
422
532
  // the encoded version of it in response[18], so pull it from [20] if [18] is not set.
423
- oldThreadID: sendUpdateWrapper[18] != null ? new _bignumber.default(sendUpdateWrapper[18]).toString(16) : sendUpdateWrapper[20]
533
+ oldThreadID:
534
+ sendUpdateWrapper[18] != null
535
+ ? new BigNumber(sendUpdateWrapper[18]).toString(16)
536
+ : sendUpdateWrapper[20],
424
537
  });
425
538
  }
539
+
426
540
  currentSendConnectionIDs.delete(connection);
427
541
  currentDraftSaveConnectionIDs.delete(connection);
428
542
  currentFirstDraftSaveConnectionIDs.delete(connection);
429
543
  }
430
- }
544
+ },
431
545
  });
432
546
  }
433
547
  }
@@ -448,9 +562,10 @@ function setupGmailInterceptorOnFrames(mainFrame, jsFrame) {
448
562
  if (connection.status === 200) {
449
563
  const search = connection.params.search;
450
564
  const responseText = connection.originalResponseText;
565
+
451
566
  threadIdentifier.processThreadListResponse(responseText);
452
567
  }
453
- }
568
+ },
454
569
  });
455
570
  }
456
571
 
@@ -462,12 +577,15 @@ function setupGmailInterceptorOnFrames(mainFrame, jsFrame) {
462
577
  isRelevantTo(connection) {
463
578
  return connection.params.view === 'cv';
464
579
  },
580
+
465
581
  originalResponseTextLogger(connection) {
466
582
  if (connection.status === 200) {
467
- const groupedMessages = GmailResponseProcessor.extractMessages(connection.originalResponseText);
583
+ const groupedMessages = GmailResponseProcessor.extractMessages(
584
+ connection.originalResponseText
585
+ );
468
586
  messageMetadataHolder.add(groupedMessages);
469
587
  }
470
- }
588
+ },
471
589
  });
472
590
  }
473
591
 
@@ -478,18 +596,26 @@ function setupGmailInterceptorOnFrames(mainFrame, jsFrame) {
478
596
  isRelevantTo: function (connection) {
479
597
  return /sync(?:\/u\/\d+)?\/i\/bv/.test(connection.url);
480
598
  },
599
+
481
600
  originalResponseTextLogger(connection) {
482
601
  if (connection.status === 200) {
483
- const threads = GmailSyncResponseProcessor.extractThreadsFromSearchResponse(connection.originalResponseText);
484
- messageMetadataHolder.add(threads.map(syncThread => ({
485
- threadID: syncThread.syncThreadID,
486
- messages: syncThread.extraMetaData.syncMessageData.map(syncMessage => ({
487
- date: syncMessage.date,
488
- recipients: syncMessage.recipients
602
+ const threads =
603
+ GmailSyncResponseProcessor.extractThreadsFromSearchResponse(
604
+ connection.originalResponseText
605
+ );
606
+ messageMetadataHolder.add(
607
+ threads.map((syncThread) => ({
608
+ threadID: syncThread.syncThreadID,
609
+ messages: syncThread.extraMetaData.syncMessageData.map(
610
+ (syncMessage) => ({
611
+ date: syncMessage.date,
612
+ recipients: syncMessage.recipients,
613
+ })
614
+ ),
489
615
  }))
490
- })));
616
+ );
491
617
  }
492
- }
618
+ },
493
619
  });
494
620
 
495
621
  // thread response
@@ -497,18 +623,26 @@ function setupGmailInterceptorOnFrames(mainFrame, jsFrame) {
497
623
  isRelevantTo: function (connection) {
498
624
  return /sync(?:\/u\/\d+)?\/i\/fd/.test(connection.url);
499
625
  },
626
+
500
627
  originalResponseTextLogger(connection) {
501
628
  if (connection.status === 200) {
502
- const threads = GmailSyncResponseProcessor.extractThreadsFromThreadResponse(connection.originalResponseText);
503
- messageMetadataHolder.add(threads.map(syncThread => ({
504
- threadID: syncThread.syncThreadID,
505
- messages: syncThread.extraMetaData.syncMessageData.map(syncMessage => ({
506
- date: syncMessage.date,
507
- recipients: syncMessage.recipients
629
+ const threads =
630
+ GmailSyncResponseProcessor.extractThreadsFromThreadResponse(
631
+ connection.originalResponseText
632
+ );
633
+ messageMetadataHolder.add(
634
+ threads.map((syncThread) => ({
635
+ threadID: syncThread.syncThreadID,
636
+ messages: syncThread.extraMetaData.syncMessageData.map(
637
+ (syncMessage) => ({
638
+ date: syncMessage.date,
639
+ recipients: syncMessage.recipients,
640
+ })
641
+ ),
508
642
  }))
509
- })));
643
+ );
510
644
  }
511
- }
645
+ },
512
646
  });
513
647
  }
514
648
  }
@@ -524,42 +658,55 @@ function setupGmailInterceptorOnFrames(mainFrame, jsFrame) {
524
658
  let currentQuery;
525
659
  let suggestionModifications;
526
660
  let currentQueryDefer;
527
- document.addEventListener('inboxSDKregisterSuggestionsModifier', function (_ref7) {
528
- let {
529
- detail
530
- } = _ref7;
531
- providers[detail.providerID] = {
532
- position: Object.keys(providers).length
533
- };
534
- });
535
- document.addEventListener('inboxSDKprovideSuggestions', function (_ref8) {
536
- let {
537
- detail
538
- } = _ref8;
539
- if (detail.query === currentQuery) {
540
- const provider = providers[detail.providerID];
541
- if (!provider) {
542
- throw new Error('provider does not exist for providerID');
543
- }
544
- if (suggestionModifications == null) {
545
- throw new Error('tried to modified a null suggestionModifications');
546
- }
547
- suggestionModifications[provider.position] = detail.suggestions;
548
- if (suggestionModifications.filter(Boolean).length === Object.keys(providers).length) {
549
- if (currentQueryDefer == null) {
550
- throw new Error('tried to resolve a null currentQueryDefer');
661
+
662
+ document.addEventListener(
663
+ 'inboxSDKregisterSuggestionsModifier',
664
+ function ({ detail }: any) {
665
+ providers[detail.providerID] = {
666
+ position: Object.keys(providers).length,
667
+ };
668
+ }
669
+ );
670
+
671
+ document.addEventListener(
672
+ 'inboxSDKprovideSuggestions',
673
+ function ({ detail }: any) {
674
+ if (detail.query === currentQuery) {
675
+ const provider = providers[detail.providerID];
676
+ if (!provider) {
677
+ throw new Error('provider does not exist for providerID');
678
+ }
679
+
680
+ if (suggestionModifications == null) {
681
+ throw new Error('tried to modified a null suggestionModifications');
682
+ }
683
+
684
+ suggestionModifications[provider.position] = detail.suggestions;
685
+ if (
686
+ suggestionModifications.filter(Boolean).length ===
687
+ Object.keys(providers).length
688
+ ) {
689
+ if (currentQueryDefer == null) {
690
+ throw new Error('tried to resolve a null currentQueryDefer');
691
+ }
692
+ currentQueryDefer.resolve(flatten(suggestionModifications));
693
+ currentQueryDefer = currentQuery = suggestionModifications = null;
551
694
  }
552
- currentQueryDefer.resolve((0, _flatten.default)(suggestionModifications));
553
- currentQueryDefer = currentQuery = suggestionModifications = null;
554
695
  }
555
696
  }
556
- });
697
+ );
698
+
557
699
  main_wrappers.push({
558
700
  isRelevantTo(connection) {
559
- return Object.keys(providers).length > 0 && !!connection.url.match(/^\/cloudsearch\/request\?/) && connection.params.client == 'gmail' && connection.params.gs_ri == 'gmail';
701
+ return (
702
+ Object.keys(providers).length > 0 &&
703
+ !!connection.url.match(/^\/cloudsearch\/request\?/) &&
704
+ connection.params.client == 'gmail' &&
705
+ connection.params.gs_ri == 'gmail'
706
+ );
560
707
  },
561
708
  originalSendBodyLogger(connection, body) {
562
- const parsedBody = _querystring.default.parse(body);
709
+ const parsedBody = querystring.parse(body);
563
710
  if (!parsedBody.request) {
564
711
  return;
565
712
  }
@@ -569,24 +716,25 @@ function setupGmailInterceptorOnFrames(mainFrame, jsFrame) {
569
716
  }
570
717
  currentQuery = query;
571
718
  if (currentQueryDefer) currentQueryDefer.resolve();
572
- currentQueryDefer = connection._defer = (0, _defer.default)();
719
+ currentQueryDefer = (connection: any)._defer = defer();
573
720
  suggestionModifications = [];
574
721
  triggerEvent({
575
722
  type: 'suggestionsRequest',
576
- query: currentQuery
723
+ query: currentQuery,
577
724
  });
578
725
  },
579
726
  async responseTextChanger(connection, responseText) {
580
- if (connection._defer && connection.status === 200) {
581
- const modifications = await connection._defer.promise;
727
+ if ((connection: any)._defer && connection.status === 200) {
728
+ const modifications = await (connection: any)._defer.promise;
582
729
  if (modifications) {
583
- return (0, _modifySuggestions.default)(responseText, modifications);
730
+ return modifySuggestions(responseText, modifications);
584
731
  }
585
732
  }
586
733
  return responseText;
587
- }
734
+ },
588
735
  });
589
736
  }
737
+
590
738
  {
591
739
  // TODO: simplify this code
592
740
  // the triggerEvent call should happen in the requestChanger callback
@@ -599,27 +747,49 @@ function setupGmailInterceptorOnFrames(mainFrame, jsFrame) {
599
747
  // content script that contains a new query to substitute in.
600
748
  const customSearchTerms = [];
601
749
  let queryReplacement;
602
- document.addEventListener('inboxSDKcreateCustomSearchTerm', function (event) {
603
- customSearchTerms.push(event.detail.term);
604
- });
605
- document.addEventListener('inboxSDKsearchReplacementReady', function (event) {
606
- if (queryReplacement.query === event.detail.query) {
607
- queryReplacement.newQuery.resolve(event.detail.newQuery);
750
+
751
+ document.addEventListener(
752
+ 'inboxSDKcreateCustomSearchTerm',
753
+ function (event: any) {
754
+ customSearchTerms.push(event.detail.term);
608
755
  }
609
- });
756
+ );
757
+
758
+ document.addEventListener(
759
+ 'inboxSDKsearchReplacementReady',
760
+ function (event: any) {
761
+ if (queryReplacement.query === event.detail.query) {
762
+ queryReplacement.newQuery.resolve(event.detail.newQuery);
763
+ }
764
+ }
765
+ );
610
766
 
611
767
  // classic Gmail API intercept
612
768
  js_frame_wrappers.push({
613
769
  isRelevantTo: function (connection) {
614
770
  let customSearchTerm;
615
771
  const params = connection.params;
616
- if (connection.method === 'POST' && params.search && params.view === 'tl' && connection.url.match(/^\?/) && params.q && (customSearchTerm = (0, _intersection.default)(customSearchTerms, (0, _quotedSplit.default)(params.q))[0])) {
617
- if (queryReplacement && queryReplacement.query === params.q && queryReplacement.start != params.start) {
772
+ if (
773
+ connection.method === 'POST' &&
774
+ params.search &&
775
+ params.view === 'tl' &&
776
+ connection.url.match(/^\?/) &&
777
+ params.q &&
778
+ (customSearchTerm = intersection(
779
+ customSearchTerms,
780
+ quotedSplit(params.q)
781
+ )[0])
782
+ ) {
783
+ if (
784
+ queryReplacement &&
785
+ queryReplacement.query === params.q &&
786
+ queryReplacement.start != params.start
787
+ ) {
618
788
  // If this is the same query that was made last, but just for a
619
789
  // different page, then re-use the replacement query we got last time.
620
790
  // Don't wait on the extension to come up with it again (and risk it
621
791
  // giving an inconsistent answer between pages).
622
- connection._queryReplacement = queryReplacement;
792
+ (connection: any)._queryReplacement = queryReplacement;
623
793
  // Mark the old queryReplacement with this page now so we can tell on
624
794
  // a later request whether the page was changed or the list refresh
625
795
  // button was hit.
@@ -630,16 +800,17 @@ function setupGmailInterceptorOnFrames(mainFrame, jsFrame) {
630
800
  // to after it's replaced in a moment.
631
801
  queryReplacement.newQuery.resolve(queryReplacement.query);
632
802
  }
633
- queryReplacement = connection._queryReplacement = {
803
+ queryReplacement = (connection: any)._queryReplacement = {
634
804
  term: customSearchTerm,
635
805
  query: params.q,
636
806
  start: params.start,
637
- newQuery: (0, _defer.default)()
807
+ newQuery: defer(),
638
808
  };
809
+
639
810
  triggerEvent({
640
811
  type: 'searchQueryForReplacement',
641
812
  term: customSearchTerm,
642
- query: params.q
813
+ query: params.q,
643
814
  });
644
815
  }
645
816
  return true;
@@ -647,30 +818,38 @@ function setupGmailInterceptorOnFrames(mainFrame, jsFrame) {
647
818
  return false;
648
819
  },
649
820
  requestChanger: function (connection, request) {
650
- return connection._queryReplacement.newQuery.promise.then(function (newQuery) {
651
- let newParams = (0, _clone.default)(connection.params);
652
- newParams.q = newQuery;
653
- return {
654
- method: request.method,
655
- url: '?' + (0, _querystring.stringify)(newParams),
656
- body: request.body
657
- };
658
- });
659
- }
821
+ return (connection: any)._queryReplacement.newQuery.promise.then(
822
+ function (newQuery) {
823
+ let newParams = clone(connection.params);
824
+ newParams.q = newQuery;
825
+ return {
826
+ method: request.method,
827
+ url: '?' + stringify(newParams),
828
+ body: request.body,
829
+ };
830
+ }
831
+ );
832
+ },
660
833
  });
661
834
 
662
835
  // newer, sync API based request intercept
663
836
  main_wrappers.push({
664
837
  isRelevantTo: function (connection) {
665
- return connection.method === 'POST' && /sync(?:\/u\/\d+)?\/i\/bv/.test(connection.url);
838
+ return (
839
+ connection.method === 'POST' &&
840
+ /sync(?:\/u\/\d+)?\/i\/bv/.test(connection.url)
841
+ );
666
842
  },
667
843
  requestChanger: function (connection, request) {
668
844
  let customSearchTerm;
669
845
  const body = JSON.parse(request.body);
846
+
670
847
  let newFormat = false;
671
848
  let payload, searchString, pageOffset;
849
+
672
850
  if (Array.isArray(body)) {
673
851
  newFormat = true;
852
+
674
853
  payload = body[0];
675
854
  searchString = payload[3];
676
855
  pageOffset = payload[9];
@@ -679,14 +858,26 @@ function setupGmailInterceptorOnFrames(mainFrame, jsFrame) {
679
858
  searchString = payload[4];
680
859
  pageOffset = payload[10];
681
860
  }
682
- const isSyncAPISearchWithCustomTerm = payload[newFormat ? 0 : 1] === 79 && typeof searchString === 'string' && (customSearchTerm = (0, _intersection.default)(customSearchTerms, (0, _quotedSplit.default)(searchString))[0]);
861
+
862
+ const isSyncAPISearchWithCustomTerm =
863
+ payload[newFormat ? 0 : 1] === 79 &&
864
+ typeof searchString === 'string' &&
865
+ (customSearchTerm = intersection(
866
+ customSearchTerms,
867
+ quotedSplit(searchString)
868
+ )[0]);
683
869
  if (!isSyncAPISearchWithCustomTerm) return Promise.resolve(request);
684
- if (queryReplacement && queryReplacement.query === searchString && queryReplacement.start != pageOffset) {
870
+
871
+ if (
872
+ queryReplacement &&
873
+ queryReplacement.query === searchString &&
874
+ queryReplacement.start != pageOffset
875
+ ) {
685
876
  // If this is the same query that was made last, but just for a
686
877
  // different page, then re-use the replacement query we got last time.
687
878
  // Don't wait on the extension to come up with it again (and risk it
688
879
  // giving an inconsistent answer between pages).
689
- connection._queryReplacement = queryReplacement;
880
+ (connection: any)._queryReplacement = queryReplacement;
690
881
  // Mark the old queryReplacement with this page now so we can tell on
691
882
  // a later request whether the page was changed or the list refresh
692
883
  // button was hit.
@@ -697,33 +888,38 @@ function setupGmailInterceptorOnFrames(mainFrame, jsFrame) {
697
888
  // to after it's replaced in a moment.
698
889
  queryReplacement.newQuery.resolve(queryReplacement.query);
699
890
  }
700
- queryReplacement = connection._queryReplacement = {
891
+ queryReplacement = (connection: any)._queryReplacement = {
701
892
  term: customSearchTerm,
702
893
  query: searchString,
703
894
  start: pageOffset,
704
- newQuery: (0, _defer.default)()
895
+ newQuery: defer(),
705
896
  };
897
+
706
898
  triggerEvent({
707
899
  type: 'searchQueryForReplacement',
708
900
  term: customSearchTerm,
709
- query: searchString
901
+ query: searchString,
710
902
  });
711
903
  }
712
- return connection._queryReplacement.newQuery.promise.then(function (newQuery) {
713
- if (newFormat) {
714
- body[0][3] = newQuery;
715
- } else {
716
- body[1][4] = newQuery;
904
+
905
+ return (connection: any)._queryReplacement.newQuery.promise.then(
906
+ function (newQuery) {
907
+ if (newFormat) {
908
+ body[0][3] = newQuery;
909
+ } else {
910
+ body[1][4] = newQuery;
911
+ }
912
+ return {
913
+ method: request.method,
914
+ url: request.url,
915
+ body: JSON.stringify(body),
916
+ };
717
917
  }
718
- return {
719
- method: request.method,
720
- url: request.url,
721
- body: JSON.stringify(body)
722
- };
723
- });
724
- }
918
+ );
919
+ },
725
920
  });
726
921
  }
922
+
727
923
  {
728
924
  // Search results replacer.
729
925
  // The content script tells us a search query to watch for. Whenever we see
@@ -732,80 +928,96 @@ function setupGmailInterceptorOnFrames(mainFrame, jsFrame) {
732
928
  // the content script that contains new results to substitute in.
733
929
  const customSearchQueries = [];
734
930
  let customListJob;
735
- document.addEventListener('inboxSDKcustomListRegisterQuery', event => {
736
- customSearchQueries.push(event.detail.query);
737
- });
738
- document.addEventListener('inboxSDKcustomListNewQuery', event => {
739
- if (customListJob.query === event.detail.query && customListJob.start === event.detail.start) {
740
- const {
741
- newQuery,
742
- newStart
743
- } = event.detail;
931
+
932
+ document.addEventListener(
933
+ 'inboxSDKcustomListRegisterQuery',
934
+ (event: any) => {
935
+ customSearchQueries.push(event.detail.query);
936
+ }
937
+ );
938
+
939
+ document.addEventListener('inboxSDKcustomListNewQuery', (event: any) => {
940
+ if (
941
+ customListJob.query === event.detail.query &&
942
+ customListJob.start === event.detail.start
943
+ ) {
944
+ const { newQuery, newStart } = event.detail;
945
+
744
946
  customListJob.newRequestParams.resolve({
745
947
  query: newQuery,
746
- start: newStart
948
+ start: newStart,
747
949
  });
748
950
  }
749
951
  });
750
- document.addEventListener('inboxSDKcustomListResults', event => {
952
+
953
+ document.addEventListener('inboxSDKcustomListResults', (event: any) => {
751
954
  if (customListJob.query === event.detail.query) {
752
955
  customListJob.newResults.resolve(event.detail.newResults);
753
956
  }
754
957
  });
958
+
755
959
  js_frame_wrappers.push({
756
960
  isRelevantTo: function (connection) {
757
961
  let customSearchQuery;
758
962
  const params = connection.params;
759
- if (connection.method === 'POST' && params.search && params.view === 'tl' && connection.url.match(/^\?/) && params.q && !params.act && (customSearchQuery = (0, _find.default)(customSearchQueries, x => x === params.q))) {
963
+ if (
964
+ connection.method === 'POST' &&
965
+ params.search &&
966
+ params.view === 'tl' &&
967
+ connection.url.match(/^\?/) &&
968
+ params.q &&
969
+ !params.act &&
970
+ (customSearchQuery = find(customSearchQueries, (x) => x === params.q))
971
+ ) {
760
972
  if (customListJob) {
761
973
  // Resolve the old one with something because no one else is going
762
974
  // to after it's replaced in a moment.
763
975
  customListJob.newRequestParams.resolve({
764
976
  query: customListJob.query,
765
- start: customListJob.start
977
+ start: customListJob.start,
766
978
  });
767
979
  customListJob.newResults.resolve(null);
768
980
  }
769
- customListJob = connection._customListJob = {
981
+ customListJob = (connection: any)._customListJob = {
770
982
  query: params.q,
771
983
  start: +params.start,
772
- newRequestParams: (0, _defer.default)(),
773
- newResults: (0, _defer.default)()
984
+ newRequestParams: defer(),
985
+ newResults: defer(),
774
986
  };
775
987
  triggerEvent({
776
988
  type: 'searchForReplacement',
777
989
  query: customListJob.query,
778
- start: customListJob.start
990
+ start: customListJob.start,
779
991
  });
780
992
  return true;
781
993
  }
782
994
  return false;
783
995
  },
784
996
  requestChanger: function (connection, request) {
785
- return connection._customListJob.newRequestParams.promise.then(_ref9 => {
786
- let {
787
- query,
788
- start
789
- } = _ref9;
790
- const newParams = (0, _clone.default)(connection.params);
791
- newParams.q = query;
792
- newParams.start = start;
793
- return {
794
- method: request.method,
795
- url: '?' + (0, _querystring.stringify)(newParams),
796
- body: request.body
797
- };
798
- });
997
+ return (connection: any)._customListJob.newRequestParams.promise.then(
998
+ ({ query, start }) => {
999
+ const newParams = clone(connection.params);
1000
+ newParams.q = query;
1001
+ newParams.start = start;
1002
+ return {
1003
+ method: request.method,
1004
+ url: '?' + stringify(newParams),
1005
+ body: request.body,
1006
+ };
1007
+ }
1008
+ );
799
1009
  },
800
1010
  responseTextChanger: function (connection, response) {
801
1011
  triggerEvent({
802
1012
  type: 'searchResultsResponse',
803
- query: connection._customListJob.query,
804
- start: connection._customListJob.start,
805
- response
1013
+ query: (connection: any)._customListJob.query,
1014
+ start: (connection: any)._customListJob.start,
1015
+ response,
806
1016
  });
807
- return connection._customListJob.newResults.promise.then(newResults => newResults === null ? response : newResults);
808
- }
1017
+ return (connection: any)._customListJob.newResults.promise.then(
1018
+ (newResults) => (newResults === null ? response : newResults)
1019
+ );
1020
+ },
809
1021
  });
810
1022
 
811
1023
  // Sync API-based custom thread list interception
@@ -817,7 +1029,7 @@ function setupGmailInterceptorOnFrames(mainFrame, jsFrame) {
817
1029
  // to after it's replaced in a moment.
818
1030
  customListJob.newRequestParams.resolve({
819
1031
  query: customListJob.query,
820
- start: customListJob.start
1032
+ start: customListJob.start,
821
1033
  });
822
1034
  customListJob.newResults.resolve(null);
823
1035
  }
@@ -828,113 +1040,139 @@ function setupGmailInterceptorOnFrames(mainFrame, jsFrame) {
828
1040
  requestChanger: async function (connection, request) {
829
1041
  if (request.body) {
830
1042
  const parsedBody = JSON.parse(request.body);
1043
+
831
1044
  const newFormat = Array.isArray(parsedBody);
832
1045
 
833
1046
  // we are a search!
834
- const searchQuery = (newFormat ? parsedBody && parsedBody[0] && parsedBody[0][3] : parsedBody && parsedBody[1] && parsedBody[1][4]) || '';
835
- if ((0, _find.default)(customSearchQueries, x => x === searchQuery)) {
836
- customListJob = connection._customListJob = {
1047
+ const searchQuery =
1048
+ (newFormat
1049
+ ? parsedBody && parsedBody[0] && parsedBody[0][3]
1050
+ : parsedBody && parsedBody[1] && parsedBody[1][4]) || '';
1051
+
1052
+ if (find(customSearchQueries, (x) => x === searchQuery)) {
1053
+ customListJob = (connection: any)._customListJob = {
837
1054
  query: searchQuery,
838
1055
  start: newFormat ? parsedBody[0][9] : parsedBody[1][10],
839
- newRequestParams: (0, _defer.default)(),
840
- newResults: (0, _defer.default)()
1056
+ newRequestParams: defer(),
1057
+ newResults: defer(),
841
1058
  };
842
1059
  triggerEvent({
843
1060
  type: 'searchForReplacement',
844
1061
  query: customListJob.query,
845
- start: customListJob.start
1062
+ start: customListJob.start,
846
1063
  });
847
- return connection._customListJob.newRequestParams.promise.then(_ref10 => {
848
- let {
849
- query,
850
- start
851
- } = _ref10;
852
- if (newFormat) {
853
- parsedBody[0][3] = query;
854
- parsedBody[0][9] = start;
855
- } else {
856
- parsedBody[1][4] = query;
857
- parsedBody[1][10] = start;
1064
+
1065
+ return (connection: any)._customListJob.newRequestParams.promise.then(
1066
+ ({ query, start }) => {
1067
+ if (newFormat) {
1068
+ parsedBody[0][3] = query;
1069
+ parsedBody[0][9] = start;
1070
+ } else {
1071
+ parsedBody[1][4] = query;
1072
+ parsedBody[1][10] = start;
1073
+ }
1074
+
1075
+ return {
1076
+ method: request.method,
1077
+ url: request.url,
1078
+ body: JSON.stringify(parsedBody),
1079
+ };
858
1080
  }
859
- return {
860
- method: request.method,
861
- url: request.url,
862
- body: JSON.stringify(parsedBody)
863
- };
864
- });
1081
+ );
865
1082
  }
866
1083
  }
1084
+
867
1085
  return request;
868
1086
  },
869
1087
  responseTextChanger: async function (connection, response) {
870
- if (connection._customListJob) {
1088
+ if ((connection: any)._customListJob) {
871
1089
  triggerEvent({
872
1090
  type: 'searchResultsResponse',
873
- query: connection._customListJob.query,
874
- start: connection._customListJob.start,
875
- response
1091
+ query: (connection: any)._customListJob.query,
1092
+ start: (connection: any)._customListJob.start,
1093
+ response,
876
1094
  });
877
- return connection._customListJob.newResults.promise.then(newResults => newResults === null ? response : newResults);
1095
+
1096
+ return (connection: any)._customListJob.newResults.promise.then(
1097
+ (newResults) => (newResults === null ? response : newResults)
1098
+ );
878
1099
  } else {
879
1100
  return response;
880
1101
  }
881
- }
1102
+ },
882
1103
  });
883
1104
  }
884
1105
 
885
1106
  // sync token savers
886
1107
  {
887
- const saveBTAIHeader = header => {
888
- document.head.setAttribute('data-inboxsdk-btai-header', header);
889
- triggerEvent({
890
- type: 'btaiHeaderReceived'
891
- });
1108
+ const saveBTAIHeader = (header) => {
1109
+ (document.head: any).setAttribute('data-inboxsdk-btai-header', header);
1110
+ triggerEvent({ type: 'btaiHeaderReceived' });
892
1111
  };
893
1112
  main_wrappers.push({
894
1113
  isRelevantTo(connection) {
895
- return /sync(?:\/u\/\d+)?\//.test(connection.url) && !document.head.hasAttribute('data-inboxsdk-btai-header');
1114
+ return (
1115
+ /sync(?:\/u\/\d+)?\//.test(connection.url) &&
1116
+ !(document.head: any).hasAttribute('data-inboxsdk-btai-header')
1117
+ );
896
1118
  },
897
1119
  originalSendBodyLogger(connection) {
898
1120
  if (connection.headers['X-Gmail-BTAI']) {
899
1121
  saveBTAIHeader(connection.headers['X-Gmail-BTAI']);
900
1122
  }
901
- }
1123
+ },
902
1124
  });
903
- const saveXsrfTokenHeader = header => {
904
- document.head.setAttribute('data-inboxsdk-xsrf-token', header);
905
- triggerEvent({
906
- type: 'xsrfTokenHeaderReceived'
907
- });
1125
+
1126
+ const saveXsrfTokenHeader = (header) => {
1127
+ (document.head: any).setAttribute('data-inboxsdk-xsrf-token', header);
1128
+ triggerEvent({ type: 'xsrfTokenHeaderReceived' });
908
1129
  };
909
1130
  main_wrappers.push({
910
1131
  isRelevantTo(connection) {
911
- return /sync(?:\/u\/\d+)?\//.test(connection.url) && !document.head.hasAttribute('data-inboxsdk-xsrf-token');
1132
+ return (
1133
+ /sync(?:\/u\/\d+)?\//.test(connection.url) &&
1134
+ !(document.head: any).hasAttribute('data-inboxsdk-xsrf-token')
1135
+ );
912
1136
  },
913
1137
  originalSendBodyLogger(connection) {
914
1138
  if (connection.headers['X-Framework-Xsrf-Token']) {
915
1139
  saveXsrfTokenHeader(connection.headers['X-Framework-Xsrf-Token']);
916
1140
  }
917
- }
1141
+ },
918
1142
  });
919
1143
  }
920
1144
  }
1145
+
921
1146
  function triggerEvent(detail) {
922
- document.dispatchEvent(new CustomEvent('inboxSDKajaxIntercept', {
923
- bubbles: true,
924
- cancelable: false,
925
- detail
926
- }));
1147
+ document.dispatchEvent(
1148
+ new CustomEvent('inboxSDKajaxIntercept', {
1149
+ bubbles: true,
1150
+ cancelable: false,
1151
+ detail,
1152
+ })
1153
+ );
927
1154
  }
1155
+
928
1156
  function stringifyComposeParams(inComposeParams) {
929
- const composeParams = (0, _clone.default)(inComposeParams);
930
- const string = `=${stringifyComposeRecipientParam(composeParams.to, 'to')}&=${stringifyComposeRecipientParam(composeParams.cc, 'cc')}&=${stringifyComposeRecipientParam(composeParams.bcc, 'bcc')}`;
1157
+ const composeParams = clone(inComposeParams);
1158
+ const string = `=${stringifyComposeRecipientParam(
1159
+ composeParams.to,
1160
+ 'to'
1161
+ )}&=${stringifyComposeRecipientParam(
1162
+ composeParams.cc,
1163
+ 'cc'
1164
+ )}&=${stringifyComposeRecipientParam(composeParams.bcc, 'bcc')}`;
1165
+
931
1166
  delete composeParams.to;
932
1167
  delete composeParams.bcc;
933
1168
  delete composeParams.cc;
934
- return string + '&' + _querystring.default.stringify(composeParams);
1169
+
1170
+ return string + '&' + querystring.stringify(composeParams);
935
1171
  }
1172
+
936
1173
  function stringifyComposeRecipientParam(value, paramType) {
937
1174
  let string = '';
1175
+
938
1176
  if (Array.isArray(value)) {
939
1177
  for (let ii = 0; ii < value.length; ii++) {
940
1178
  string += `&${paramType}=${encodeURIComponent(value[ii])}`;
@@ -942,5 +1180,6 @@ function stringifyComposeRecipientParam(value, paramType) {
942
1180
  } else {
943
1181
  string += `&${paramType}=${encodeURIComponent(value)}`;
944
1182
  }
1183
+
945
1184
  return string;
946
- }
1185
+ }