@inboxsdk/core 1.2.5 → 1.2.7

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 (328) hide show
  1. package/inboxsdk.js +4462 -456
  2. package/inboxsdk.js.map +1 -1
  3. package/package.json +1 -1
  4. package/pageWorld.js +1 -1
  5. package/pageWorld.js.map +1 -1
  6. package/src/inboxsdk.d.ts +29 -0
  7. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-nav-item.d.ts +2 -2
  8. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-nav-item.d.ts.map +1 -1
  9. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/isIntegratedViewGmail.d.ts +6 -1
  10. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/isIntegratedViewGmail.d.ts.map +1 -1
  11. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver.d.ts +2 -2
  12. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver.d.ts.map +1 -1
  13. package/src/platform-implementation-js/dom-driver/gmail/gmail-element-getter.d.ts +5 -0
  14. package/src/platform-implementation-js/dom-driver/gmail/gmail-element-getter.d.ts.map +1 -1
  15. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-attachment-card-view.d.ts +13 -5
  16. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-attachment-card-view.d.ts.map +1 -1
  17. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-nav-item-view.d.ts +1 -1
  18. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-nav-item-view.d.ts.map +1 -1
  19. package/src/platform-implementation-js/namespaces/conversations.d.ts +7 -0
  20. package/src/platform-implementation-js/namespaces/conversations.d.ts.map +1 -1
  21. package/src/platform-implementation-js/namespaces/nav-menu.d.ts +4 -2
  22. package/src/platform-implementation-js/namespaces/nav-menu.d.ts.map +1 -1
  23. package/src/platform-implementation-js/views/conversations/attachment-card-view.d.ts +12 -5
  24. package/src/platform-implementation-js/views/conversations/attachment-card-view.d.ts.map +1 -1
  25. package/src/platform-implementation-js/views/native-nav-item-view.d.ts +2 -1
  26. package/src/platform-implementation-js/views/native-nav-item-view.d.ts.map +1 -1
  27. package/src/build/exec.js +0 -26
  28. package/src/build/spawn.js +0 -17
  29. package/src/common/ajax.js +0 -90
  30. package/src/common/cachebust-url.js +0 -10
  31. package/src/common/censorHTMLstring.js +0 -37
  32. package/src/common/censorHTMLtree.js +0 -28
  33. package/src/common/censorJSONTree.js +0 -15
  34. package/src/common/connectivity-test.js +0 -21
  35. package/src/common/defer.js +0 -11
  36. package/src/common/find-parent.js +0 -10
  37. package/src/common/get-extension-id.js +0 -7
  38. package/src/common/get-or-fail.js +0 -8
  39. package/src/common/get-session-id.js +0 -14
  40. package/src/common/get-stack-trace.js +0 -6
  41. package/src/common/html-to-text.js +0 -7
  42. package/src/common/isElementVisible.js +0 -6
  43. package/src/common/load-script.js +0 -126
  44. package/src/common/log-error.js +0 -185
  45. package/src/common/quoted-split.js +0 -18
  46. package/src/common/rate-limit-queuer.js +0 -57
  47. package/src/common/rate-limit.js +0 -14
  48. package/src/common/version.js +0 -8
  49. package/src/inboxsdk-js/header.js +0 -19
  50. package/src/inboxsdk-js/inboxsdk-NONREMOTE-INTEGRATED-PAGEWORLD.js +0 -4
  51. package/src/inboxsdk-js/inboxsdk-NONREMOTE.js +0 -4
  52. package/src/inboxsdk-js/inboxsdk-REMOTE.js +0 -2
  53. package/src/inboxsdk-js/inboxsdk-TEST.js +0 -5
  54. package/src/inboxsdk-js/inboxsdk.js +0 -23
  55. package/src/inboxsdk-js/loading/load-platform-implementation-DEV.js +0 -14
  56. package/src/inboxsdk-js/loading/platform-implementation-loader.js +0 -28
  57. package/src/injected-js/gmail/constants.js +0 -2
  58. package/src/injected-js/gmail/modify-suggestions.js +0 -106
  59. package/src/injected-js/gmail/setup-gmail-interceptor.js +0 -936
  60. package/src/injected-js/gmail/setup-gmonkey-handler.js +0 -49
  61. package/src/injected-js/gmail/sync-compose-processor-20220909.js +0 -298
  62. package/src/injected-js/gmail/sync-compose-processor.js +0 -55
  63. package/src/injected-js/gmail/sync-compose-request-processor.js +0 -109
  64. package/src/injected-js/gmail/thread-identifier/click-and-get-popup-url.js +0 -71
  65. package/src/injected-js/gmail/thread-identifier/index.js +0 -133
  66. package/src/injected-js/gmail/thread-identifier/thread-row-parser.js +0 -61
  67. package/src/injected-js/injected-logger.js +0 -50
  68. package/src/injected-js/main.js +0 -49
  69. package/src/injected-js/message-metadata-holder.js +0 -103
  70. package/src/injected-js/setup-data-exposer.js +0 -135
  71. package/src/injected-js/setup-error-silencer.js +0 -15
  72. package/src/injected-js/setup-event-reemitter.js +0 -47
  73. package/src/injected-js/setupCustomViewEventAssassin.js +0 -90
  74. package/src/injected-js/setupInboxCustomViewLinkFixer.js +0 -24
  75. package/src/injected-js/setupPushStateListener.js +0 -14
  76. package/src/injected-js/xhr-helper.js +0 -43
  77. package/src/injected-js/xhr-proxy-factory.js +0 -537
  78. package/src/platform-implementation-js/constants/nav-item-types.js +0 -19
  79. package/src/platform-implementation-js/constants/router.js +0 -60
  80. package/src/platform-implementation-js/constants/toolbars.js +0 -5
  81. package/src/platform-implementation-js/dom-driver/gmail/gmail-butter-bar-driver.js +0 -158
  82. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-app-menu-item.js +0 -20
  83. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-collapsible-panel.js +0 -38
  84. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-nav-item.js +0 -98
  85. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-support-item.js +0 -4
  86. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-toolbar-button-for-app.js +0 -14
  87. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/create-link.js +0 -60
  88. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/encodeDraftUrlId.js +0 -8
  89. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-draft-id-for-message-id.js +0 -47
  90. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-native-nav-item.js +0 -31
  91. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-rfc-message-id-for-gmail-message-id.js +0 -12
  92. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-rfc-message-id-for-gmail-thread-id.js +0 -33
  93. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-url-object.js +0 -22
  94. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/getSyncThreadForOldGmailThreadId.js +0 -18
  95. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/getSyncThreadFromSyncThreadId.js +0 -57
  96. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/gmail-load-event.js +0 -40
  97. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/goto-view.js +0 -55
  98. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/isIntegratedViewGmail.js +0 -14
  99. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/keyboard-shortcut-help-modifier.js +0 -177
  100. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/open-compose-window.js +0 -17
  101. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/open-draft-by-message-id.js +0 -44
  102. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/override-gmail-back-button.js +0 -49
  103. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/register-search-query-rewriter.js +0 -18
  104. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/register-search-suggestions-provider.js +0 -138
  105. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/setup-compose-view-driver-stream.js +0 -112
  106. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/setup-route-view-driver-stream.js +0 -152
  107. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/show-app-id-warning.js +0 -21
  108. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/show-custom-route-view.js +0 -48
  109. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/show-custom-thread-list.js +0 -357
  110. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/show-native-route-view.js +0 -19
  111. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/suppressAddon.js +0 -36
  112. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/temporary-track-download-url-validity.js +0 -36
  113. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/thread-row-identifier.js +0 -85
  114. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/track-events.js +0 -142
  115. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/track-gmail-styles.js +0 -115
  116. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/user-info.js +0 -50
  117. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver.js +0 -723
  118. package/src/platform-implementation-js/dom-driver/gmail/gmail-element-getter/get-main-content-element-changed-stream.js +0 -38
  119. package/src/platform-implementation-js/dom-driver/gmail/gmail-element-getter/wait-for-gmail-mode-to-settle.js +0 -12
  120. package/src/platform-implementation-js/dom-driver/gmail/gmail-element-getter.js +0 -264
  121. package/src/platform-implementation-js/dom-driver/gmail/gmail-page-communicator.js +0 -201
  122. package/src/platform-implementation-js/dom-driver/gmail/gmail-response-processor.js +0 -532
  123. package/src/platform-implementation-js/dom-driver/gmail/gmail-sync-response-processor.js +0 -300
  124. package/src/platform-implementation-js/dom-driver/gmail/is-compose-titlebar-light-color.js +0 -21
  125. package/src/platform-implementation-js/dom-driver/gmail/make-xhr-interceptor.js +0 -92
  126. package/src/platform-implementation-js/dom-driver/gmail/makePageParserTree.js +0 -28
  127. package/src/platform-implementation-js/dom-driver/gmail/pageParserOptions.js +0 -19
  128. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-menu-item-view.js +0 -129
  129. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/index.js +0 -80
  130. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/primary/add-companion-global-icon-area.js +0 -23
  131. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/primary/add-companion-thread-icon-area.js +0 -26
  132. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/primary/add-to-icon-area.js +0 -16
  133. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/primary/index.js +0 -723
  134. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-toolbar-button-view/monitor-top-banner-size-and-react.js +0 -24
  135. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-toolbar-button-view.js +0 -172
  136. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-attachment-area-view.js +0 -106
  137. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-attachment-card-view.js +0 -338
  138. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-backdrop.js +0 -22
  139. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-collapsible-section-view.js +0 -720
  140. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-button.js +0 -135
  141. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-compose-notice.js +0 -50
  142. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-recipient-row.js +0 -65
  143. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-status-bar.js +0 -101
  144. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-tooltip-to-button.js +0 -66
  145. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/detectClassicRecipientsArea.js +0 -38
  146. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/ensure-app-button-toolbars-are-closed.js +0 -10
  147. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/ensure-grouping-is-open.js +0 -14
  148. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/focus.js +0 -13
  149. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/from-manager.js +0 -60
  150. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-additional-action-toolbar.js +0 -54
  151. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-address-changes-stream.js +0 -98
  152. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-address-information-extractor.js +0 -28
  153. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-body-changes-stream.js +0 -13
  154. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-formatting-area-offset-left.js +0 -18
  155. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-minimized-stream.js +0 -16
  156. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-recipients.js +0 -22
  157. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-response-type-changes-stream.js +0 -23
  158. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/gmail-compose-button-view.js +0 -233
  159. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/insert-link-into-body.js +0 -19
  160. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/manage-button-grouping.js +0 -355
  161. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/monitor-selection-range.js +0 -21
  162. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/override-edit-subject.js +0 -63
  163. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/page-parser.js +0 -223
  164. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/position-formatting-toolbar.js +0 -19
  165. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/set-recipients.js +0 -157
  166. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/setupLinkPopovers.js +0 -109
  167. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/size-fixer.js +0 -123
  168. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/update-insert-more-area-left.js +0 -16
  169. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view.js +0 -1542
  170. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-message-view/attachment-icon.js +0 -4
  171. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-message-view/get-updated-contact.js +0 -75
  172. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-message-view.js +0 -737
  173. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-nav-item-view.js +0 -763
  174. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-route-view/gmail-route-processor.js +0 -103
  175. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-route-view/gmail-route-view.js +0 -508
  176. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-row-list-view.js +0 -236
  177. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-support-item-view.js +0 -84
  178. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-row-view.js +0 -986
  179. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-view/width-manager.js +0 -26
  180. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-view.js +0 -658
  181. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-toolbar-view.js +0 -459
  182. package/src/platform-implementation-js/dom-driver/gmail/views/native-gmail-nav-item-view.js +0 -265
  183. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/button-color-classes.js +0 -33
  184. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/button-view.js +0 -325
  185. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/create-accessory-button-view.js +0 -61
  186. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/create-parent-accessory-button-view.js +0 -58
  187. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/inbox-dropdown-button-view.js +0 -23
  188. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/modal-button-view.js +0 -101
  189. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/more-dropdown-button-view.js +0 -30
  190. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/more-parent-accessory-button-view.js +0 -10
  191. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-action-button-view.js +0 -42
  192. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-dropdown-view.js +0 -22
  193. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-label-view.js +0 -112
  194. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-modal-view-driver.js +0 -122
  195. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-mole-view-driver.js +0 -194
  196. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-tooltip-view.js +0 -352
  197. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-top-message-bar-driver.js +0 -76
  198. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-backdrop.js +0 -57
  199. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-drawer-view.js +0 -291
  200. package/src/platform-implementation-js/driver-common/compose/getDiscardStream.js +0 -28
  201. package/src/platform-implementation-js/driver-common/compose/getPresendingStream.js +0 -46
  202. package/src/platform-implementation-js/driver-common/getAccountUrlPart.js +0 -17
  203. package/src/platform-implementation-js/driver-common/getGmailMessageIdForSyncMessageId.js +0 -17
  204. package/src/platform-implementation-js/driver-common/getGmailThreadIdForRfcMessageId.js +0 -44
  205. package/src/platform-implementation-js/driver-common/getOriginalMessagePage.js +0 -33
  206. package/src/platform-implementation-js/driver-common/getRfcMessageIdForSyncMessageId.js +0 -18
  207. package/src/platform-implementation-js/driver-common/getSyncThreadsForSearch.js +0 -49
  208. package/src/platform-implementation-js/driver-common/getThreadIdFromMessageId.js +0 -13
  209. package/src/platform-implementation-js/driver-common/gmailAjax.js +0 -65
  210. package/src/platform-implementation-js/driver-common/inboxAjax.js +0 -5
  211. package/src/platform-implementation-js/driver-common/render-custom-icon.js +0 -16
  212. package/src/platform-implementation-js/driver-common/requestGmailThread.js +0 -24
  213. package/src/platform-implementation-js/driver-common/sidebar/AppSidebar.js +0 -245
  214. package/src/platform-implementation-js/driver-common/sidebar/ContentPanelViewDriver.js +0 -144
  215. package/src/platform-implementation-js/driver-common/sidebar/constants.js +0 -26
  216. package/src/platform-implementation-js/driver-common/update-icon.js +0 -90
  217. package/src/platform-implementation-js/driver-interfaces/compose-view-driver.js +0 -1
  218. package/src/platform-implementation-js/driver-interfaces/driver.js +0 -1
  219. package/src/platform-implementation-js/driver-interfaces/mole-view-driver.js +0 -1
  220. package/src/platform-implementation-js/driver-interfaces/route-view-driver.js +0 -1
  221. package/src/platform-implementation-js/lib/ErrorCollector.js +0 -47
  222. package/src/platform-implementation-js/lib/Membrane.js +0 -22
  223. package/src/platform-implementation-js/lib/ScrollableContainByScreen.js +0 -30
  224. package/src/platform-implementation-js/lib/attemptWithRetries.js +0 -16
  225. package/src/platform-implementation-js/lib/common-page-communicator.js +0 -137
  226. package/src/platform-implementation-js/lib/copyAndValidateAutocompleteResults.js +0 -35
  227. package/src/platform-implementation-js/lib/css-selector-escape.js +0 -6
  228. package/src/platform-implementation-js/lib/delay-asap.js +0 -10
  229. package/src/platform-implementation-js/lib/delay-idle.js +0 -16
  230. package/src/platform-implementation-js/lib/dom/block-and-reemit-keyboard-events.js +0 -36
  231. package/src/platform-implementation-js/lib/dom/custom-events.js +0 -5
  232. package/src/platform-implementation-js/lib/dom/element-view-mapper.js +0 -9
  233. package/src/platform-implementation-js/lib/dom/generic-button-view.js +0 -39
  234. package/src/platform-implementation-js/lib/dom/get-insert-before-element.js +0 -39
  235. package/src/platform-implementation-js/lib/dom/get-selection.js +0 -30
  236. package/src/platform-implementation-js/lib/dom/insert-element-in-order.js +0 -38
  237. package/src/platform-implementation-js/lib/dom/insert-html-at-cursor.js +0 -83
  238. package/src/platform-implementation-js/lib/dom/is-node-in-range.js +0 -12
  239. package/src/platform-implementation-js/lib/dom/keyboard-shortcut-stream.js +0 -12
  240. package/src/platform-implementation-js/lib/dom/make-element-child-stream.js +0 -79
  241. package/src/platform-implementation-js/lib/dom/make-element-stream-merger.js +0 -27
  242. package/src/platform-implementation-js/lib/dom/make-element-view-stream.js +0 -15
  243. package/src/platform-implementation-js/lib/dom/make-mutation-observer-chunked-stream.js +0 -15
  244. package/src/platform-implementation-js/lib/dom/make-mutation-observer-stream.js +0 -5
  245. package/src/platform-implementation-js/lib/dom/on-mouse-down-and-up.js +0 -8
  246. package/src/platform-implementation-js/lib/dom/outsideClicksAndEscape.js +0 -38
  247. package/src/platform-implementation-js/lib/dom/parentNodes.js +0 -8
  248. package/src/platform-implementation-js/lib/dom/querySelectorOrFail.js +0 -6
  249. package/src/platform-implementation-js/lib/dom/reemitClickEventForReact.js +0 -22
  250. package/src/platform-implementation-js/lib/dom/set-css.js +0 -20
  251. package/src/platform-implementation-js/lib/dom/simulate-drag-and-drop.js +0 -88
  252. package/src/platform-implementation-js/lib/dom/simulate-key.js +0 -46
  253. package/src/platform-implementation-js/lib/dom/simulate-mouse-event.js +0 -16
  254. package/src/platform-implementation-js/lib/dom/trigger-relay-event.js +0 -7
  255. package/src/platform-implementation-js/lib/extract-contact-from-email-contact-string.js +0 -25
  256. package/src/platform-implementation-js/lib/fake-window-resize.js +0 -5
  257. package/src/platform-implementation-js/lib/from-event-target-capture.js +0 -12
  258. package/src/platform-implementation-js/lib/fromEventsWithOptions.js +0 -10
  259. package/src/platform-implementation-js/lib/handle-compose-link-chips.js +0 -124
  260. package/src/platform-implementation-js/lib/handler-registry.js +0 -67
  261. package/src/platform-implementation-js/lib/idMap.js +0 -40
  262. package/src/platform-implementation-js/lib/imageRequest.js +0 -8
  263. package/src/platform-implementation-js/lib/incrementName.js +0 -7
  264. package/src/platform-implementation-js/lib/inject-script-EMBEDDED.js +0 -13
  265. package/src/platform-implementation-js/lib/inject-script.js +0 -33
  266. package/src/platform-implementation-js/lib/insert-link-chip-into-body.js +0 -44
  267. package/src/platform-implementation-js/lib/is-valid-app-id.js +0 -27
  268. package/src/platform-implementation-js/lib/is-valid-email.js +0 -14
  269. package/src/platform-implementation-js/lib/isNotNil.js +0 -5
  270. package/src/platform-implementation-js/lib/isStreakAppId.js +0 -11
  271. package/src/platform-implementation-js/lib/logger.js +0 -439
  272. package/src/platform-implementation-js/lib/parseParamsFromRouteID.js +0 -10
  273. package/src/platform-implementation-js/lib/persistent-queue.js +0 -107
  274. package/src/platform-implementation-js/lib/populateRouteID.js +0 -17
  275. package/src/platform-implementation-js/lib/react/ElementContainer.js +0 -26
  276. package/src/platform-implementation-js/lib/routeIDmatchesHash.js +0 -8
  277. package/src/platform-implementation-js/lib/safe-event-emitter.js +0 -16
  278. package/src/platform-implementation-js/lib/stopper-pool.js +0 -41
  279. package/src/platform-implementation-js/lib/stream-wait-for.js +0 -30
  280. package/src/platform-implementation-js/lib/toItemWithLifetimeStream.js +0 -12
  281. package/src/platform-implementation-js/lib/toLiveSet.js +0 -22
  282. package/src/platform-implementation-js/lib/wait-for.js +0 -38
  283. package/src/platform-implementation-js/lib/waitForAsync.js +0 -18
  284. package/src/platform-implementation-js/main-INTEGRATED-PAGEWORLD.js +0 -5
  285. package/src/platform-implementation-js/main.js +0 -42
  286. package/src/platform-implementation-js/namespaces/app-menu.js +0 -81
  287. package/src/platform-implementation-js/namespaces/butter-bar.js +0 -163
  288. package/src/platform-implementation-js/namespaces/compose.js +0 -59
  289. package/src/platform-implementation-js/namespaces/conversations.js +0 -83
  290. package/src/platform-implementation-js/namespaces/global.js +0 -30
  291. package/src/platform-implementation-js/namespaces/keyboard.js +0 -30
  292. package/src/platform-implementation-js/namespaces/lists.js +0 -40
  293. package/src/platform-implementation-js/namespaces/modal.js +0 -43
  294. package/src/platform-implementation-js/namespaces/nav-menu.js +0 -33
  295. package/src/platform-implementation-js/namespaces/router.js +0 -139
  296. package/src/platform-implementation-js/namespaces/search.js +0 -29
  297. package/src/platform-implementation-js/namespaces/toolbars.js +0 -147
  298. package/src/platform-implementation-js/namespaces/user.js +0 -57
  299. package/src/platform-implementation-js/namespaces/widgets.js +0 -73
  300. package/src/platform-implementation-js/platform-implementation.js +0 -178
  301. package/src/platform-implementation-js/views/SimpleElementView.js +0 -16
  302. package/src/platform-implementation-js/views/app-menu-item-view.js +0 -442
  303. package/src/platform-implementation-js/views/app-toolbar-button-view.js +0 -43
  304. package/src/platform-implementation-js/views/collapsible-panel-view.js +0 -256
  305. package/src/platform-implementation-js/views/collapsible-section-view.js +0 -63
  306. package/src/platform-implementation-js/views/compose-button-view.js +0 -45
  307. package/src/platform-implementation-js/views/compose-view.js +0 -310
  308. package/src/platform-implementation-js/views/content-panel-view.js +0 -36
  309. package/src/platform-implementation-js/views/conversations/attachment-card-view.js +0 -41
  310. package/src/platform-implementation-js/views/conversations/custom-message-view.js +0 -117
  311. package/src/platform-implementation-js/views/conversations/message-view.js +0 -203
  312. package/src/platform-implementation-js/views/conversations/thread-view.js +0 -97
  313. package/src/platform-implementation-js/views/keyboard-shortcut-handle.js +0 -14
  314. package/src/platform-implementation-js/views/native-nav-item-view.js +0 -60
  315. package/src/platform-implementation-js/views/nav-item-view.js +0 -130
  316. package/src/platform-implementation-js/views/route-view/custom-route-view.js +0 -25
  317. package/src/platform-implementation-js/views/route-view/dummy-route-view-driver.js +0 -29
  318. package/src/platform-implementation-js/views/route-view/list-route-view.js +0 -46
  319. package/src/platform-implementation-js/views/route-view/route-view.js +0 -47
  320. package/src/platform-implementation-js/views/section-view.js +0 -60
  321. package/src/platform-implementation-js/views/thread-row-view.js +0 -90
  322. package/src/platform-implementation-js/widgets/buttons/basic-button-view-controller.js +0 -39
  323. package/src/platform-implementation-js/widgets/buttons/dropdown-button-view-controller.js +0 -98
  324. package/src/platform-implementation-js/widgets/buttons/dropdown-view.js +0 -121
  325. package/src/platform-implementation-js/widgets/drawer-view.js +0 -46
  326. package/src/platform-implementation-js/widgets/modal-view.js +0 -108
  327. package/src/platform-implementation-js/widgets/mole-view.js +0 -38
  328. package/src/platform-implementation-js/widgets/top-message-bar-view.js +0 -15
@@ -1,158 +0,0 @@
1
- import * as Kefir from 'kefir';
2
- import streamWaitFor from '../../lib/stream-wait-for';
3
- import querySelector from '../../lib/dom/querySelectorOrFail';
4
- import makeMutationObserverChunkedStream from '../../lib/dom/make-mutation-observer-chunked-stream';
5
- const elements = streamWaitFor(() => document.body.querySelector('div.b8[role="alert"]'))
6
- .map((noticeContainer) => {
7
- const googleNotice = querySelector(noticeContainer, '.vh:not(.inboxsdk__butterbar)');
8
- let sdkNotice = noticeContainer.querySelector('.vh.inboxsdk__butterbar');
9
- if (!sdkNotice) {
10
- sdkNotice = document.createElement('div');
11
- sdkNotice.classList.add('vh', 'inboxsdk__butterbar');
12
- sdkNotice.style.display = 'none';
13
- const textAndButtonsContainer = document.createElement('span');
14
- textAndButtonsContainer.classList.add('aT');
15
- const textContainer = document.createElement('span');
16
- textContainer.classList.add('inboxsdk__butterbar-text', 'bAq');
17
- const buttonsContainer = document.createElement('span');
18
- buttonsContainer.classList.add('inboxsdk__butterbar-buttons', 'bAo');
19
- buttonsContainer.innerHTML = '  ';
20
- const noticeCloseButton = document.createElement('div');
21
- noticeCloseButton.classList.add('inboxsdk__butterbar-close', 'bBe');
22
- noticeCloseButton.innerHTML = '<div class="bBf"></div>';
23
- noticeCloseButton.setAttribute('role', 'button');
24
- noticeCloseButton.tabIndex = 0;
25
- textAndButtonsContainer.appendChild(textContainer);
26
- textAndButtonsContainer.appendChild(buttonsContainer);
27
- sdkNotice.appendChild(textAndButtonsContainer);
28
- sdkNotice.appendChild(noticeCloseButton);
29
- const parentNode = googleNotice.parentNode;
30
- if (!parentNode) {
31
- throw new Error('parentNode not found');
32
- }
33
- parentNode.insertBefore(sdkNotice, googleNotice.nextSibling);
34
- }
35
- return { noticeContainer, googleNotice, sdkNotice };
36
- })
37
- .toProperty();
38
- const googleNoticeMutationChunks = elements.flatMapLatest(({ googleNotice }) => makeMutationObserverChunkedStream(googleNotice, { childList: true }));
39
- const googleAddedNotice = googleNoticeMutationChunks.filter((mutations) => mutations.some((m) => m.addedNodes.length > 0));
40
- const googleRemovedNotice = googleNoticeMutationChunks.filter((mutations) => !mutations.some((m) => m.addedNodes.length > 0));
41
- const sdkRemovedNotice = elements
42
- .flatMapLatest(({ sdkNotice }) => makeMutationObserverChunkedStream(sdkNotice, {
43
- attributes: true,
44
- attributeFilter: ['data-inboxsdk-id'],
45
- }).map(() => sdkNotice.getAttribute('data-inboxsdk-id')))
46
- .filter((id) => id == null);
47
- const noticeAvailableStream = Kefir.merge([
48
- googleRemovedNotice,
49
- sdkRemovedNotice,
50
- ]);
51
- function hideMessage(noticeContainer, googleNotice, sdkNotice) {
52
- googleNotice.style.display = '';
53
- noticeContainer.style.top = '-10000px';
54
- noticeContainer.style.position = 'relative';
55
- noticeContainer.classList.remove('bAp');
56
- sdkNotice.style.display = 'none';
57
- sdkNotice.removeAttribute('data-inboxsdk-id');
58
- }
59
- export default class GmailButterBarDriver {
60
- constructor() {
61
- Kefir.combine([elements, googleAddedNotice]).onValue(([{ googleNotice, sdkNotice }]) => {
62
- googleNotice.style.display = '';
63
- sdkNotice.style.display = 'none';
64
- sdkNotice.setAttribute('data-inboxsdk-id', 'gmail');
65
- });
66
- // Force stream to be in active state. sdkRemovedNotice is prone to missing
67
- // events if it only becomes active once a message has started.
68
- // eslint-disable-next-line @typescript-eslint/no-empty-function
69
- noticeAvailableStream.onValue(() => { });
70
- }
71
- getNoticeAvailableStream() {
72
- return noticeAvailableStream;
73
- }
74
- getSharedMessageQueue() {
75
- const attr = document.head.getAttribute('data-inboxsdk-butterbar-queue');
76
- return attr ? JSON.parse(attr) : [];
77
- }
78
- setSharedMessageQueue(queue) {
79
- const attr = JSON.stringify(queue);
80
- document.head.setAttribute('data-inboxsdk-butterbar-queue', attr);
81
- }
82
- // Immediately displays the message, overriding anything else on the screen.
83
- // Priority and queuing logic is handled by butter-bar.js above this.
84
- showMessage(rawOptions) {
85
- const instanceId = Date.now() + '-' + Math.random();
86
- const destroy = () => {
87
- elements
88
- .take(1)
89
- .onValue(({ noticeContainer, googleNotice, sdkNotice }) => {
90
- if (sdkNotice.getAttribute('data-inboxsdk-id') === instanceId) {
91
- if (rawOptions.className) {
92
- sdkNotice.classList.remove(rawOptions.className);
93
- }
94
- hideMessage(noticeContainer, googleNotice, sdkNotice);
95
- }
96
- });
97
- };
98
- elements.take(1).onValue(({ noticeContainer, googleNotice, sdkNotice }) => {
99
- noticeContainer.style.visibility = 'visible';
100
- noticeContainer.style.top = '';
101
- // The bAp css class is added to noticeContainer whenever a native butter is active in
102
- // Material Gmail. We replicate this native behavior by adding bAp to noticeContainer
103
- // when we show an SDK butter and removing it when the butter expires (see the
104
- // hideMessage function above).
105
- // The bAp class also causes butters to be styled and positioned as Snack Bars instead
106
- // (as opposed to butters).
107
- noticeContainer.classList.add('bAp');
108
- googleNotice.style.display = 'none';
109
- sdkNotice.className = googleNotice.className;
110
- sdkNotice.classList.add('inboxsdk__butterbar');
111
- const textContainer = querySelector(sdkNotice, '.inboxsdk__butterbar-text');
112
- while (textContainer.firstChild) {
113
- textContainer.removeChild(textContainer.firstChild);
114
- }
115
- const buttonsContainer = querySelector(sdkNotice, '.inboxsdk__butterbar-buttons');
116
- while (buttonsContainer.firstChild) {
117
- buttonsContainer.removeChild(buttonsContainer.firstChild);
118
- }
119
- if (rawOptions.html) {
120
- textContainer.innerHTML = rawOptions.html;
121
- }
122
- else if (rawOptions.el) {
123
- textContainer.appendChild(rawOptions.el);
124
- }
125
- else {
126
- textContainer.textContent = rawOptions.text;
127
- }
128
- if (rawOptions.buttons) {
129
- rawOptions.buttons.forEach((buttonDescriptor) => {
130
- const button = document.createElement('span');
131
- button.classList.add('ag', 'a8k');
132
- button.onclick = (e) => buttonDescriptor.onClick(e);
133
- button.setAttribute('role', 'button');
134
- button.tabIndex = 0;
135
- button.textContent = buttonDescriptor.title;
136
- buttonsContainer.appendChild(button);
137
- });
138
- }
139
- const closeButton = querySelector(sdkNotice, '.inboxsdk__butterbar-close');
140
- if (closeButton) {
141
- Kefir.fromEvents(closeButton, 'click').take(1).onValue(destroy);
142
- }
143
- if (rawOptions.className) {
144
- sdkNotice.classList.add(rawOptions.className);
145
- }
146
- sdkNotice.style.display = '';
147
- sdkNotice.setAttribute('data-inboxsdk-id', instanceId);
148
- });
149
- return { destroy };
150
- }
151
- hideGmailMessage() {
152
- elements.take(1).onValue(({ noticeContainer, googleNotice, sdkNotice }) => {
153
- if (sdkNotice.getAttribute('data-inboxsdk-id') === 'gmail') {
154
- hideMessage(noticeContainer, googleNotice, sdkNotice);
155
- }
156
- });
157
- }
158
- }
@@ -1,20 +0,0 @@
1
- import { GmailAppMenuItemView } from '../views/gmail-app-menu-item-view';
2
- import GmailElementGetter from '../gmail-element-getter';
3
- import Logger from '../../../lib/logger';
4
- export async function addAppMenuItem(driver, menuItemDescriptor) {
5
- const appMenuInjectionContainer = await GmailElementGetter.getAppMenuAsync();
6
- const gmailAppMenuItemView = new GmailAppMenuItemView(driver, menuItemDescriptor);
7
- try {
8
- if (!appMenuInjectionContainer)
9
- return undefined;
10
- const siblingElement = Number.isInteger(menuItemDescriptor.insertIndex)
11
- ? appMenuInjectionContainer.childNodes[menuItemDescriptor.insertIndex] ??
12
- null
13
- : null;
14
- appMenuInjectionContainer.insertBefore(gmailAppMenuItemView.element, siblingElement);
15
- }
16
- catch (err) {
17
- Logger.error(err);
18
- }
19
- return gmailAppMenuItemView;
20
- }
@@ -1,38 +0,0 @@
1
- import once from 'lodash/once';
2
- import GmailElementGetter from '../gmail-element-getter';
3
- import waitFor from '../../../lib/wait-for';
4
- import Logger from '../../../lib/logger';
5
- import { CollapsiblePanelView } from '../../../views/collapsible-panel-view';
6
- export async function addCollapsiblePanel(driver, panelDescriptor, insertIndex) {
7
- const injectionContainer = await waitForAppMenuParentReady();
8
- const collapsiblePanelView = new CollapsiblePanelView(driver, panelDescriptor);
9
- if (!injectionContainer || !collapsiblePanelView.element)
10
- return;
11
- const appMenu = await GmailElementGetter.getAppMenuAsync();
12
- if (!appMenu)
13
- return;
14
- const panelNodes = injectionContainer.querySelectorAll(CollapsiblePanelView.elementSelectors.NATIVE) ?? [];
15
- const siblingElement = Number.isInteger(insertIndex)
16
- ? panelNodes[insertIndex] ?? null
17
- : null;
18
- if (siblingElement) {
19
- siblingElement.insertAdjacentElement('beforebegin', collapsiblePanelView.element);
20
- }
21
- else {
22
- [...panelNodes]
23
- .at(-1)
24
- ?.insertAdjacentElement('afterend', collapsiblePanelView.element);
25
- }
26
- return collapsiblePanelView;
27
- }
28
- const waitForAppMenuParentReady = once(async () => {
29
- if (!GmailElementGetter.isStandalone()) {
30
- try {
31
- const menuParentElement = await waitFor(() => GmailElementGetter.getAppMenuContainer());
32
- return menuParentElement;
33
- }
34
- catch (e) {
35
- Logger.error(e);
36
- }
37
- }
38
- });
@@ -1,98 +0,0 @@
1
- import GmailElementGetter from '../gmail-element-getter';
2
- import GmailNavItemView from '../views/gmail-nav-item-view';
3
- import Logger from '../../../lib/logger';
4
- import waitFor from '../../../lib/wait-for';
5
- import insertElementInOrder from '../../../lib/dom/insert-element-in-order';
6
- import makeMutationObserverStream from '../../../lib/dom/make-mutation-observer-stream';
7
- import querySelector from '../../../lib/dom/querySelectorOrFail';
8
- import once from 'lodash/once';
9
- export default async function addNavItem(driver, orderGroup, navItemDescriptor, navMenuInjectionContainer) {
10
- await waitForMenuReady();
11
- const gmailNavItemView = new GmailNavItemView(driver, orderGroup, 1);
12
- gmailNavItemView.setNavItemDescriptor(navItemDescriptor);
13
- if (!GmailElementGetter.isStandalone()) {
14
- try {
15
- const attacher = _attachNavItemView(gmailNavItemView, navMenuInjectionContainer);
16
- attacher();
17
- gmailNavItemView
18
- .getEventStream()
19
- .filter((event) => event.eventName === 'orderChanged')
20
- .onValue(attacher);
21
- }
22
- catch (err) {
23
- Logger.error(err);
24
- }
25
- }
26
- return gmailNavItemView;
27
- }
28
- export const waitForMenuReady = once(async () => {
29
- const appMenu = await GmailElementGetter.getAppMenuAsync();
30
- if (!appMenu) {
31
- await waitForNavMenuReady();
32
- }
33
- });
34
- const waitForNavMenuReady = once(async () => {
35
- if (!GmailElementGetter.isStandalone()) {
36
- await GmailElementGetter.waitForGmailModeToSettle();
37
- await waitFor(() => document.querySelector('.aeN[role=navigation], .aeN [role=navigation]'));
38
- // Wait for contents of navmenu to load (needed to figure out if it's integrated gmail mode)
39
- await waitFor(() => document.querySelector('.Ls77Lb.aZ6 > .pp'));
40
- }
41
- });
42
- function _attachNavItemView(gmailNavItemView, navMenuInjectionContainer) {
43
- if (navMenuInjectionContainer) {
44
- return () => {
45
- insertElementInOrder(navMenuInjectionContainer, gmailNavItemView.getElement());
46
- };
47
- }
48
- if (!GmailElementGetter.shouldAddNavItemsInline()) {
49
- // If we're in the modern (non-classic-hangouts) leftnav, then put
50
- // the added nav items in a floating section at the bottom separate
51
- // from the Mail section.
52
- return function () {
53
- const navMenuInjectionContainer = GmailElementGetter.getSeparateSectionNavItemMenuInjectionContainer();
54
- if (!navMenuInjectionContainer) {
55
- throw new Error('should not happen');
56
- }
57
- const nonMailLeftNavSections = Array.from(document.querySelectorAll('.Xa.wT:not([data-group-order-hint])')).slice(1);
58
- nonMailLeftNavSections.forEach((div) => {
59
- div.dataset.groupOrderHint = 'zz_gmail';
60
- });
61
- insertElementInOrder(navMenuInjectionContainer, gmailNavItemView.getElement());
62
- };
63
- }
64
- else {
65
- // If we're in the old classic-hangouts-compatible leftnav, then
66
- // inject our added nav items among Gmail's own nav items.
67
- return function () {
68
- insertElementInOrder(_getNavItemsHolder(), gmailNavItemView.getElement());
69
- };
70
- }
71
- }
72
- function _getNavItemsHolder() {
73
- const holder = document.querySelector('.inboxsdk__navMenu');
74
- if (!holder) {
75
- return _createNavItemsHolder();
76
- }
77
- else {
78
- return querySelector(holder, '.TK');
79
- }
80
- }
81
- function _createNavItemsHolder() {
82
- const holder = document.createElement('div');
83
- holder.setAttribute('class', 'LrBjie inboxsdk__navMenu');
84
- holder.innerHTML = '<div class="TK"></div>';
85
- const navMenuInjectionContainer = GmailElementGetter.getSameSectionNavItemMenuInjectionContainer();
86
- if (!navMenuInjectionContainer)
87
- throw new Error('should not happen');
88
- navMenuInjectionContainer.insertBefore(holder, navMenuInjectionContainer.children[2]);
89
- makeMutationObserverStream(holder, {
90
- attributes: true,
91
- attributeFilter: ['class'],
92
- }).onValue(function () {
93
- if (holder.classList.contains('TA')) {
94
- holder.classList.remove('TA');
95
- }
96
- });
97
- return querySelector(holder, '.TK');
98
- }
@@ -1,4 +0,0 @@
1
- import GmailSupportItemView from '../views/gmail-support-item-view';
2
- export default function addSupportItem(driver, supportItemDescriptor) {
3
- return new GmailSupportItemView(driver, supportItemDescriptor);
4
- }
@@ -1,14 +0,0 @@
1
- import GmailElementGetter from '../gmail-element-getter';
2
- import GmailAppToolbarButtonView from '../views/gmail-app-toolbar-button-view';
3
- export default function addToolbarButtonForApp(gmailDriver, buttonDescriptor) {
4
- return GmailElementGetter.waitForGmailModeToSettle().then(() => {
5
- if (GmailElementGetter.isStandalone()) {
6
- return new Promise((_resolve, _reject) => {
7
- //never complete
8
- });
9
- }
10
- else {
11
- return new GmailAppToolbarButtonView(gmailDriver, buttonDescriptor);
12
- }
13
- });
14
- }
@@ -1,60 +0,0 @@
1
- import populateRouteID from '../../../lib/populateRouteID';
2
- import Logger from '../../../lib/logger';
3
- export default function createLink(GmailRouteProcessor, routeID, params) {
4
- params =
5
- typeof params === 'string'
6
- ? params
7
- : params
8
- ? Object.assign({}, params)
9
- : {};
10
- routeID = GmailRouteProcessor.getCompatibleRouteID(routeID);
11
- if (typeof params === 'string') {
12
- var matches = routeID.match(/:/g);
13
- if (matches && matches.length === 1) {
14
- var paramValue = params;
15
- params = {};
16
- params[routeID.match(/:(\w+)($|\/)?/)[1]] = paramValue;
17
- }
18
- else {
19
- params = {};
20
- }
21
- }
22
- const hasPageParam = routeID.match(/:page(?:\/|$)/);
23
- if (hasPageParam && !params.page) {
24
- params.page = 0;
25
- }
26
- const parts = routeID.split('/');
27
- // attempt to use new, more strict populateRouteID fn, if that fails
28
- // log an error and fallback to older, more permissive approach.
29
- // intent is to retire the old approach once we understand the consequences.
30
- let processedRoute;
31
- try {
32
- processedRoute = populateRouteID(routeID, params);
33
- }
34
- catch (error) {
35
- Logger.error(error, {
36
- routeID,
37
- paramsKey: Object.keys(params),
38
- });
39
- processedRoute = parts
40
- .map(function (part) {
41
- if (part.indexOf(':') === -1) {
42
- return part;
43
- }
44
- const colonParts = part.split(':');
45
- if (params &&
46
- typeof params[colonParts[1]] !== 'undefined') {
47
- return colonParts[0] + params[colonParts[1]];
48
- }
49
- return colonParts[0];
50
- })
51
- .map(encodeURIComponent)
52
- .join('/');
53
- }
54
- //check if link is of the form inbox/p0 or search/blah/p0
55
- if (GmailRouteProcessor.isListRouteName(parts[0]) &&
56
- processedRoute.indexOf('p0') === processedRoute.length - 2) {
57
- processedRoute = processedRoute.substring(0, processedRoute.length - 3);
58
- }
59
- return '#' + processedRoute;
60
- }
@@ -1,8 +0,0 @@
1
- import { convertBase } from '@macil/simple-base-converter';
2
- const B64_ALPHABET = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
3
- const GMAIL_ALPHABET = 'BCDFGHJKLMNPQRSTVWXZbcdfghjklmnpqrstvwxz';
4
- export default function encodeDraftUrlId(syncThreadId, syncMessageId) {
5
- const raw = `${syncThreadId.replace(/^thread-/, '')}+${syncMessageId}`;
6
- const b64 = Buffer.from(raw).toString('base64').replace(/=/g, '');
7
- return convertBase(b64, B64_ALPHABET, GMAIL_ALPHABET);
8
- }
@@ -1,47 +0,0 @@
1
- import memoize from 'lodash/memoize';
2
- import { defn } from 'ud';
3
- import gmailAjax from '../../../driver-common/gmailAjax';
4
- import { readDraftId } from '../gmail-response-processor';
5
- import isStreakAppId from '../../../lib/isStreakAppId';
6
- async function uncachedGetDraftIDForMessageID(driver, messageID) {
7
- const response = await gmailAjax({
8
- method: 'GET',
9
- url: document.location.origin + document.location.pathname,
10
- data: {
11
- ui: '2',
12
- ik: driver.getPageCommunicator().getIkValue(),
13
- view: 'cv',
14
- th: messageID,
15
- prf: '1',
16
- nsc: '1',
17
- mb: '0',
18
- rt: 'j',
19
- search: 'drafts',
20
- },
21
- });
22
- try {
23
- const draftID = readDraftId(response.text, messageID);
24
- const debugData = { responseText: response.text };
25
- return { draftID, debugData };
26
- }
27
- catch (err) {
28
- if (isStreakAppId(driver.getAppId())) {
29
- driver.getLogger().error(err, {
30
- message: 'failed to read draft ID',
31
- messageID,
32
- text: response.text,
33
- });
34
- }
35
- throw err;
36
- }
37
- }
38
- const cachedGetDraftIDForMessageID = memoize(uncachedGetDraftIDForMessageID, (driver, messageID) => messageID);
39
- function getDraftIDForMessageID(driver, messageID, skipCache = false) {
40
- if (skipCache) {
41
- return uncachedGetDraftIDForMessageID(driver, messageID);
42
- }
43
- else {
44
- return cachedGetDraftIDForMessageID(driver, messageID);
45
- }
46
- }
47
- export default defn(module, getDraftIDForMessageID);
@@ -1,31 +0,0 @@
1
- import NativeGmailNavItemView from '../views/native-gmail-nav-item-view';
2
- import GmailElementGetter from '../gmail-element-getter';
3
- import findParent from '../../../../common/find-parent';
4
- import waitFor from '../../../lib/wait-for';
5
- export default function getNativeNavItem(driver, label) {
6
- return waitFor(() => {
7
- const navContainer = GmailElementGetter.getLeftNavContainerElement();
8
- if (!navContainer)
9
- return null;
10
- return navContainer.querySelector(`.aim a[href*="#${label}"]`);
11
- }, 300 * 1000)
12
- .then((labelLinkElement) => {
13
- const labelElement = findParent(labelLinkElement, (el) => el.classList.contains('aim'));
14
- if (!labelElement) {
15
- throw new Error('native nav item structured weird');
16
- }
17
- if (!labelElement.__nativeGmailNavItemView) {
18
- labelElement.__nativeGmailNavItemView =
19
- new NativeGmailNavItemView(driver, labelElement, label);
20
- }
21
- return labelElement.__nativeGmailNavItemView;
22
- })
23
- .catch((err) => {
24
- if (GmailElementGetter.isStandalone()) {
25
- // never resolve
26
- // eslint-disable-next-line @typescript-eslint/no-empty-function
27
- return new Promise((_resolve, _reject) => { });
28
- }
29
- throw err;
30
- });
31
- }
@@ -1,12 +0,0 @@
1
- import getOriginalMessagePage from '../../../driver-common/getOriginalMessagePage';
2
- import htmlToText from '../../../../common/html-to-text';
3
- export default async function getRfcMessageIdForGmailMessageId(driver, gmailMessageId) {
4
- const text = await getOriginalMessagePage(driver, {
5
- oldGmailMessageID: gmailMessageId,
6
- });
7
- const match = text.match(/^Message-ID:\s+(\S+)\s*$/im);
8
- if (!match) {
9
- throw new Error("Failed to find rfc id for gmail thread id. Message may not exist in user's account.");
10
- }
11
- return htmlToText(match[1]);
12
- }
@@ -1,33 +0,0 @@
1
- import gmailAjax from '../../../driver-common/gmailAjax';
2
- import querystring from 'querystring';
3
- import * as GmailResponseProcessor from '../gmail-response-processor';
4
- import getRfcMessageIdForGmailMessageId from './get-rfc-message-id-for-gmail-message-id';
5
- export default async function getRfcMessageIdForGmailThreadId(driver, gmailThreadId) {
6
- const messageIdQuery = {
7
- ui: 2,
8
- ik: driver.getPageCommunicator().getIkValue(),
9
- view: 'cv',
10
- th: gmailThreadId,
11
- nsc: 1,
12
- mb: 0,
13
- rt: 'j',
14
- search: 'all',
15
- };
16
- const gmailMessageIdResponse = await gmailAjax({
17
- method: 'POST',
18
- url: document.location.origin +
19
- document.location.pathname +
20
- '?' +
21
- querystring.stringify(messageIdQuery),
22
- canRetry: true,
23
- });
24
- const extractedIds = GmailResponseProcessor.extractMessageIdsFromThreadBatchRequest(gmailMessageIdResponse.text);
25
- if (Object.keys(extractedIds).length !== 1) {
26
- throw new Error(`Expected to find 1 thread/message ID pair, but got ${Object.keys(extractedIds).length}`);
27
- }
28
- const gmailMessageId = extractedIds[gmailThreadId];
29
- if (!gmailMessageId) {
30
- throw new Error('Could not find a message ID for given thread ID');
31
- }
32
- return getRfcMessageIdForGmailMessageId(driver, gmailMessageId);
33
- }
@@ -1,22 +0,0 @@
1
- export default function getURLObject(url) {
2
- const m = url.match(/#([^?]*)(?:\?(.*))?/);
3
- if (!m) {
4
- return {
5
- name: 'inbox',
6
- params: [],
7
- hash: '',
8
- query: undefined,
9
- };
10
- }
11
- const hash = m[1];
12
- const hashParts = hash.split('/');
13
- return {
14
- name: decodeURIComponent(hashParts[0]),
15
- params: hashParts
16
- .slice(1)
17
- .map((part) => part.replace(/\+/g, ' '))
18
- .map(decodeURIComponent),
19
- query: m[2],
20
- hash,
21
- };
22
- }
@@ -1,18 +0,0 @@
1
- import BigNumber from 'bignumber.js';
2
- import getSyncThreadsForSearch from '../../../driver-common/getSyncThreadsForSearch';
3
- import isStreakAppId from '../../../lib/isStreakAppId';
4
- export default async function getSyncThreadForOldGmailThreadId(driver, oldGmailThreadId) {
5
- const { threads: threadDescriptors, _text } = await getSyncThreadsForSearch(driver, 'threadid:' + new BigNumber(oldGmailThreadId, 16).toString(10));
6
- const firstThread = threadDescriptors[0];
7
- if (firstThread == null) {
8
- console.error(`Thread with ID ${oldGmailThreadId} not found by Gmail`);
9
- const isStreak = isStreakAppId(driver.getAppId());
10
- const err = new Error('Thread not found by getSyncThreadForOldGmailThreadId');
11
- driver.getLogger().error(err, {
12
- oldGmailThreadId: isStreak ? oldGmailThreadId : null,
13
- responseText: isStreak ? _text : null,
14
- });
15
- throw err;
16
- }
17
- return firstThread;
18
- }
@@ -1,57 +0,0 @@
1
- import gmailAjax from '../../../driver-common/gmailAjax';
2
- import { extractThreadsFromThreadResponse } from '../gmail-sync-response-processor';
3
- import getAccountUrlPart from '../../../driver-common/getAccountUrlPart';
4
- export default async function getThreadFromSyncThreadId(driver, syncThreadId) {
5
- const [btaiHeader, xsrfToken] = await Promise.all([
6
- driver.getPageCommunicator().getBtaiHeader(),
7
- driver.getPageCommunicator().getXsrfToken(),
8
- ]);
9
- return getThreadFromSyncThreadIdUsingHeaders(syncThreadId, btaiHeader, xsrfToken);
10
- }
11
- export async function getThreadFromSyncThreadIdUsingHeaders(syncThreadId, btaiHeader, xsrfToken) {
12
- let responseText = null;
13
- try {
14
- const { text } = await gmailAjax({
15
- method: 'POST',
16
- url: `https://mail.google.com/sync${getAccountUrlPart()}/i/fd`,
17
- headers: {
18
- 'Content-Type': 'application/json',
19
- 'X-Framework-Xsrf-Token': xsrfToken,
20
- 'X-Gmail-BTAI': btaiHeader,
21
- 'X-Google-BTD': '1',
22
- },
23
- data: JSON.stringify({
24
- '1': [
25
- {
26
- '1': syncThreadId,
27
- '2': 1,
28
- },
29
- ],
30
- }),
31
- });
32
- responseText = text;
33
- }
34
- catch (err) {
35
- // try sending request with new format 2022_09_09
36
- const { text } = await gmailAjax({
37
- method: 'POST',
38
- url: `https://mail.google.com/sync${getAccountUrlPart()}/i/fd?rt=r&pt=ji`,
39
- headers: {
40
- 'Content-Type': 'application/json',
41
- 'X-Framework-Xsrf-Token': xsrfToken,
42
- 'X-Gmail-BTAI': btaiHeader,
43
- 'X-Google-BTD': '1',
44
- },
45
- data: JSON.stringify([[[syncThreadId, 1]], 2]),
46
- });
47
- responseText = text;
48
- }
49
- const threadDescriptors = extractThreadsFromThreadResponse(responseText);
50
- if (threadDescriptors.length > 0) {
51
- const thread = threadDescriptors[0];
52
- if (thread.oldGmailThreadID) {
53
- return thread;
54
- }
55
- }
56
- return null;
57
- }