@inboxsdk/core 1.2.5 → 1.2.8-0

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 (334) hide show
  1. package/inboxsdk.js +4462 -456
  2. package/inboxsdk.js.map +1 -1
  3. package/package.json +3 -2
  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-compose-view/get-address-changes-stream.d.ts +15 -1
  18. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-address-changes-stream.d.ts.map +1 -1
  19. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-nav-item-view.d.ts +1 -1
  20. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-nav-item-view.d.ts.map +1 -1
  21. package/src/platform-implementation-js/driver-interfaces/compose-view-driver.d.ts +9 -0
  22. package/src/platform-implementation-js/driver-interfaces/compose-view-driver.d.ts.map +1 -1
  23. package/src/platform-implementation-js/namespaces/conversations.d.ts +7 -0
  24. package/src/platform-implementation-js/namespaces/conversations.d.ts.map +1 -1
  25. package/src/platform-implementation-js/namespaces/nav-menu.d.ts +4 -2
  26. package/src/platform-implementation-js/namespaces/nav-menu.d.ts.map +1 -1
  27. package/src/platform-implementation-js/views/compose-view.d.ts +8 -2
  28. package/src/platform-implementation-js/views/compose-view.d.ts.map +1 -1
  29. package/src/platform-implementation-js/views/conversations/attachment-card-view.d.ts +12 -5
  30. package/src/platform-implementation-js/views/conversations/attachment-card-view.d.ts.map +1 -1
  31. package/src/platform-implementation-js/views/native-nav-item-view.d.ts +2 -1
  32. package/src/platform-implementation-js/views/native-nav-item-view.d.ts.map +1 -1
  33. package/src/build/exec.js +0 -26
  34. package/src/build/spawn.js +0 -17
  35. package/src/common/ajax.js +0 -90
  36. package/src/common/cachebust-url.js +0 -10
  37. package/src/common/censorHTMLstring.js +0 -37
  38. package/src/common/censorHTMLtree.js +0 -28
  39. package/src/common/censorJSONTree.js +0 -15
  40. package/src/common/connectivity-test.js +0 -21
  41. package/src/common/defer.js +0 -11
  42. package/src/common/find-parent.js +0 -10
  43. package/src/common/get-extension-id.js +0 -7
  44. package/src/common/get-or-fail.js +0 -8
  45. package/src/common/get-session-id.js +0 -14
  46. package/src/common/get-stack-trace.js +0 -6
  47. package/src/common/html-to-text.js +0 -7
  48. package/src/common/isElementVisible.js +0 -6
  49. package/src/common/load-script.js +0 -126
  50. package/src/common/log-error.js +0 -185
  51. package/src/common/quoted-split.js +0 -18
  52. package/src/common/rate-limit-queuer.js +0 -57
  53. package/src/common/rate-limit.js +0 -14
  54. package/src/common/version.js +0 -8
  55. package/src/inboxsdk-js/header.js +0 -19
  56. package/src/inboxsdk-js/inboxsdk-NONREMOTE-INTEGRATED-PAGEWORLD.js +0 -4
  57. package/src/inboxsdk-js/inboxsdk-NONREMOTE.js +0 -4
  58. package/src/inboxsdk-js/inboxsdk-REMOTE.js +0 -2
  59. package/src/inboxsdk-js/inboxsdk-TEST.js +0 -5
  60. package/src/inboxsdk-js/inboxsdk.js +0 -23
  61. package/src/inboxsdk-js/loading/load-platform-implementation-DEV.js +0 -14
  62. package/src/inboxsdk-js/loading/platform-implementation-loader.js +0 -28
  63. package/src/injected-js/gmail/constants.js +0 -2
  64. package/src/injected-js/gmail/modify-suggestions.js +0 -106
  65. package/src/injected-js/gmail/setup-gmail-interceptor.js +0 -936
  66. package/src/injected-js/gmail/setup-gmonkey-handler.js +0 -49
  67. package/src/injected-js/gmail/sync-compose-processor-20220909.js +0 -298
  68. package/src/injected-js/gmail/sync-compose-processor.js +0 -55
  69. package/src/injected-js/gmail/sync-compose-request-processor.js +0 -109
  70. package/src/injected-js/gmail/thread-identifier/click-and-get-popup-url.js +0 -71
  71. package/src/injected-js/gmail/thread-identifier/index.js +0 -133
  72. package/src/injected-js/gmail/thread-identifier/thread-row-parser.js +0 -61
  73. package/src/injected-js/injected-logger.js +0 -50
  74. package/src/injected-js/main.js +0 -49
  75. package/src/injected-js/message-metadata-holder.js +0 -103
  76. package/src/injected-js/setup-data-exposer.js +0 -135
  77. package/src/injected-js/setup-error-silencer.js +0 -15
  78. package/src/injected-js/setup-event-reemitter.js +0 -47
  79. package/src/injected-js/setupCustomViewEventAssassin.js +0 -90
  80. package/src/injected-js/setupInboxCustomViewLinkFixer.js +0 -24
  81. package/src/injected-js/setupPushStateListener.js +0 -14
  82. package/src/injected-js/xhr-helper.js +0 -43
  83. package/src/injected-js/xhr-proxy-factory.js +0 -537
  84. package/src/platform-implementation-js/constants/nav-item-types.js +0 -19
  85. package/src/platform-implementation-js/constants/router.js +0 -60
  86. package/src/platform-implementation-js/constants/toolbars.js +0 -5
  87. package/src/platform-implementation-js/dom-driver/gmail/gmail-butter-bar-driver.js +0 -158
  88. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-app-menu-item.js +0 -20
  89. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-collapsible-panel.js +0 -38
  90. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-nav-item.js +0 -98
  91. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-support-item.js +0 -4
  92. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-toolbar-button-for-app.js +0 -14
  93. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/create-link.js +0 -60
  94. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/encodeDraftUrlId.js +0 -8
  95. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-draft-id-for-message-id.js +0 -47
  96. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-native-nav-item.js +0 -31
  97. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-rfc-message-id-for-gmail-message-id.js +0 -12
  98. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-rfc-message-id-for-gmail-thread-id.js +0 -33
  99. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-url-object.js +0 -22
  100. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/getSyncThreadForOldGmailThreadId.js +0 -18
  101. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/getSyncThreadFromSyncThreadId.js +0 -57
  102. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/gmail-load-event.js +0 -40
  103. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/goto-view.js +0 -55
  104. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/isIntegratedViewGmail.js +0 -14
  105. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/keyboard-shortcut-help-modifier.js +0 -177
  106. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/open-compose-window.js +0 -17
  107. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/open-draft-by-message-id.js +0 -44
  108. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/override-gmail-back-button.js +0 -49
  109. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/register-search-query-rewriter.js +0 -18
  110. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/register-search-suggestions-provider.js +0 -138
  111. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/setup-compose-view-driver-stream.js +0 -112
  112. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/setup-route-view-driver-stream.js +0 -152
  113. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/show-app-id-warning.js +0 -21
  114. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/show-custom-route-view.js +0 -48
  115. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/show-custom-thread-list.js +0 -357
  116. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/show-native-route-view.js +0 -19
  117. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/suppressAddon.js +0 -36
  118. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/temporary-track-download-url-validity.js +0 -36
  119. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/thread-row-identifier.js +0 -85
  120. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/track-events.js +0 -142
  121. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/track-gmail-styles.js +0 -115
  122. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/user-info.js +0 -50
  123. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver.js +0 -723
  124. package/src/platform-implementation-js/dom-driver/gmail/gmail-element-getter/get-main-content-element-changed-stream.js +0 -38
  125. package/src/platform-implementation-js/dom-driver/gmail/gmail-element-getter/wait-for-gmail-mode-to-settle.js +0 -12
  126. package/src/platform-implementation-js/dom-driver/gmail/gmail-element-getter.js +0 -264
  127. package/src/platform-implementation-js/dom-driver/gmail/gmail-page-communicator.js +0 -201
  128. package/src/platform-implementation-js/dom-driver/gmail/gmail-response-processor.js +0 -532
  129. package/src/platform-implementation-js/dom-driver/gmail/gmail-sync-response-processor.js +0 -300
  130. package/src/platform-implementation-js/dom-driver/gmail/is-compose-titlebar-light-color.js +0 -21
  131. package/src/platform-implementation-js/dom-driver/gmail/make-xhr-interceptor.js +0 -92
  132. package/src/platform-implementation-js/dom-driver/gmail/makePageParserTree.js +0 -28
  133. package/src/platform-implementation-js/dom-driver/gmail/pageParserOptions.js +0 -19
  134. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-menu-item-view.js +0 -129
  135. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/index.js +0 -80
  136. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/primary/add-companion-global-icon-area.js +0 -23
  137. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/primary/add-companion-thread-icon-area.js +0 -26
  138. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/primary/add-to-icon-area.js +0 -16
  139. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/primary/index.js +0 -723
  140. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-toolbar-button-view/monitor-top-banner-size-and-react.js +0 -24
  141. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-toolbar-button-view.js +0 -172
  142. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-attachment-area-view.js +0 -106
  143. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-attachment-card-view.js +0 -338
  144. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-backdrop.js +0 -22
  145. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-collapsible-section-view.js +0 -720
  146. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-button.js +0 -135
  147. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-compose-notice.js +0 -50
  148. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-recipient-row.js +0 -65
  149. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-status-bar.js +0 -101
  150. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-tooltip-to-button.js +0 -66
  151. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/detectClassicRecipientsArea.js +0 -38
  152. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/ensure-app-button-toolbars-are-closed.js +0 -10
  153. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/ensure-grouping-is-open.js +0 -14
  154. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/focus.js +0 -13
  155. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/from-manager.js +0 -60
  156. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-additional-action-toolbar.js +0 -54
  157. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-address-changes-stream.js +0 -98
  158. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-address-information-extractor.js +0 -28
  159. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-body-changes-stream.js +0 -13
  160. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-formatting-area-offset-left.js +0 -18
  161. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-minimized-stream.js +0 -16
  162. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-recipients.js +0 -22
  163. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-response-type-changes-stream.js +0 -23
  164. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/gmail-compose-button-view.js +0 -233
  165. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/insert-link-into-body.js +0 -19
  166. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/manage-button-grouping.js +0 -355
  167. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/monitor-selection-range.js +0 -21
  168. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/override-edit-subject.js +0 -63
  169. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/page-parser.js +0 -223
  170. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/position-formatting-toolbar.js +0 -19
  171. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/set-recipients.js +0 -157
  172. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/setupLinkPopovers.js +0 -109
  173. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/size-fixer.js +0 -123
  174. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/update-insert-more-area-left.js +0 -16
  175. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view.js +0 -1542
  176. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-message-view/attachment-icon.js +0 -4
  177. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-message-view/get-updated-contact.js +0 -75
  178. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-message-view.js +0 -737
  179. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-nav-item-view.js +0 -763
  180. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-route-view/gmail-route-processor.js +0 -103
  181. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-route-view/gmail-route-view.js +0 -508
  182. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-row-list-view.js +0 -236
  183. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-support-item-view.js +0 -84
  184. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-row-view.js +0 -986
  185. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-view/width-manager.js +0 -26
  186. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-view.js +0 -658
  187. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-toolbar-view.js +0 -459
  188. package/src/platform-implementation-js/dom-driver/gmail/views/native-gmail-nav-item-view.js +0 -265
  189. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/button-color-classes.js +0 -33
  190. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/button-view.js +0 -325
  191. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/create-accessory-button-view.js +0 -61
  192. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/create-parent-accessory-button-view.js +0 -58
  193. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/inbox-dropdown-button-view.js +0 -23
  194. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/modal-button-view.js +0 -101
  195. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/more-dropdown-button-view.js +0 -30
  196. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/more-parent-accessory-button-view.js +0 -10
  197. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-action-button-view.js +0 -42
  198. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-dropdown-view.js +0 -22
  199. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-label-view.js +0 -112
  200. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-modal-view-driver.js +0 -122
  201. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-mole-view-driver.js +0 -194
  202. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-tooltip-view.js +0 -352
  203. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-top-message-bar-driver.js +0 -76
  204. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-backdrop.js +0 -57
  205. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-drawer-view.js +0 -291
  206. package/src/platform-implementation-js/driver-common/compose/getDiscardStream.js +0 -28
  207. package/src/platform-implementation-js/driver-common/compose/getPresendingStream.js +0 -46
  208. package/src/platform-implementation-js/driver-common/getAccountUrlPart.js +0 -17
  209. package/src/platform-implementation-js/driver-common/getGmailMessageIdForSyncMessageId.js +0 -17
  210. package/src/platform-implementation-js/driver-common/getGmailThreadIdForRfcMessageId.js +0 -44
  211. package/src/platform-implementation-js/driver-common/getOriginalMessagePage.js +0 -33
  212. package/src/platform-implementation-js/driver-common/getRfcMessageIdForSyncMessageId.js +0 -18
  213. package/src/platform-implementation-js/driver-common/getSyncThreadsForSearch.js +0 -49
  214. package/src/platform-implementation-js/driver-common/getThreadIdFromMessageId.js +0 -13
  215. package/src/platform-implementation-js/driver-common/gmailAjax.js +0 -65
  216. package/src/platform-implementation-js/driver-common/inboxAjax.js +0 -5
  217. package/src/platform-implementation-js/driver-common/render-custom-icon.js +0 -16
  218. package/src/platform-implementation-js/driver-common/requestGmailThread.js +0 -24
  219. package/src/platform-implementation-js/driver-common/sidebar/AppSidebar.js +0 -245
  220. package/src/platform-implementation-js/driver-common/sidebar/ContentPanelViewDriver.js +0 -144
  221. package/src/platform-implementation-js/driver-common/sidebar/constants.js +0 -26
  222. package/src/platform-implementation-js/driver-common/update-icon.js +0 -90
  223. package/src/platform-implementation-js/driver-interfaces/compose-view-driver.js +0 -1
  224. package/src/platform-implementation-js/driver-interfaces/driver.js +0 -1
  225. package/src/platform-implementation-js/driver-interfaces/mole-view-driver.js +0 -1
  226. package/src/platform-implementation-js/driver-interfaces/route-view-driver.js +0 -1
  227. package/src/platform-implementation-js/lib/ErrorCollector.js +0 -47
  228. package/src/platform-implementation-js/lib/Membrane.js +0 -22
  229. package/src/platform-implementation-js/lib/ScrollableContainByScreen.js +0 -30
  230. package/src/platform-implementation-js/lib/attemptWithRetries.js +0 -16
  231. package/src/platform-implementation-js/lib/common-page-communicator.js +0 -137
  232. package/src/platform-implementation-js/lib/copyAndValidateAutocompleteResults.js +0 -35
  233. package/src/platform-implementation-js/lib/css-selector-escape.js +0 -6
  234. package/src/platform-implementation-js/lib/delay-asap.js +0 -10
  235. package/src/platform-implementation-js/lib/delay-idle.js +0 -16
  236. package/src/platform-implementation-js/lib/dom/block-and-reemit-keyboard-events.js +0 -36
  237. package/src/platform-implementation-js/lib/dom/custom-events.js +0 -5
  238. package/src/platform-implementation-js/lib/dom/element-view-mapper.js +0 -9
  239. package/src/platform-implementation-js/lib/dom/generic-button-view.js +0 -39
  240. package/src/platform-implementation-js/lib/dom/get-insert-before-element.js +0 -39
  241. package/src/platform-implementation-js/lib/dom/get-selection.js +0 -30
  242. package/src/platform-implementation-js/lib/dom/insert-element-in-order.js +0 -38
  243. package/src/platform-implementation-js/lib/dom/insert-html-at-cursor.js +0 -83
  244. package/src/platform-implementation-js/lib/dom/is-node-in-range.js +0 -12
  245. package/src/platform-implementation-js/lib/dom/keyboard-shortcut-stream.js +0 -12
  246. package/src/platform-implementation-js/lib/dom/make-element-child-stream.js +0 -79
  247. package/src/platform-implementation-js/lib/dom/make-element-stream-merger.js +0 -27
  248. package/src/platform-implementation-js/lib/dom/make-element-view-stream.js +0 -15
  249. package/src/platform-implementation-js/lib/dom/make-mutation-observer-chunked-stream.js +0 -15
  250. package/src/platform-implementation-js/lib/dom/make-mutation-observer-stream.js +0 -5
  251. package/src/platform-implementation-js/lib/dom/on-mouse-down-and-up.js +0 -8
  252. package/src/platform-implementation-js/lib/dom/outsideClicksAndEscape.js +0 -38
  253. package/src/platform-implementation-js/lib/dom/parentNodes.js +0 -8
  254. package/src/platform-implementation-js/lib/dom/querySelectorOrFail.js +0 -6
  255. package/src/platform-implementation-js/lib/dom/reemitClickEventForReact.js +0 -22
  256. package/src/platform-implementation-js/lib/dom/set-css.js +0 -20
  257. package/src/platform-implementation-js/lib/dom/simulate-drag-and-drop.js +0 -88
  258. package/src/platform-implementation-js/lib/dom/simulate-key.js +0 -46
  259. package/src/platform-implementation-js/lib/dom/simulate-mouse-event.js +0 -16
  260. package/src/platform-implementation-js/lib/dom/trigger-relay-event.js +0 -7
  261. package/src/platform-implementation-js/lib/extract-contact-from-email-contact-string.js +0 -25
  262. package/src/platform-implementation-js/lib/fake-window-resize.js +0 -5
  263. package/src/platform-implementation-js/lib/from-event-target-capture.js +0 -12
  264. package/src/platform-implementation-js/lib/fromEventsWithOptions.js +0 -10
  265. package/src/platform-implementation-js/lib/handle-compose-link-chips.js +0 -124
  266. package/src/platform-implementation-js/lib/handler-registry.js +0 -67
  267. package/src/platform-implementation-js/lib/idMap.js +0 -40
  268. package/src/platform-implementation-js/lib/imageRequest.js +0 -8
  269. package/src/platform-implementation-js/lib/incrementName.js +0 -7
  270. package/src/platform-implementation-js/lib/inject-script-EMBEDDED.js +0 -13
  271. package/src/platform-implementation-js/lib/inject-script.js +0 -33
  272. package/src/platform-implementation-js/lib/insert-link-chip-into-body.js +0 -44
  273. package/src/platform-implementation-js/lib/is-valid-app-id.js +0 -27
  274. package/src/platform-implementation-js/lib/is-valid-email.js +0 -14
  275. package/src/platform-implementation-js/lib/isNotNil.js +0 -5
  276. package/src/platform-implementation-js/lib/isStreakAppId.js +0 -11
  277. package/src/platform-implementation-js/lib/logger.js +0 -439
  278. package/src/platform-implementation-js/lib/parseParamsFromRouteID.js +0 -10
  279. package/src/platform-implementation-js/lib/persistent-queue.js +0 -107
  280. package/src/platform-implementation-js/lib/populateRouteID.js +0 -17
  281. package/src/platform-implementation-js/lib/react/ElementContainer.js +0 -26
  282. package/src/platform-implementation-js/lib/routeIDmatchesHash.js +0 -8
  283. package/src/platform-implementation-js/lib/safe-event-emitter.js +0 -16
  284. package/src/platform-implementation-js/lib/stopper-pool.js +0 -41
  285. package/src/platform-implementation-js/lib/stream-wait-for.js +0 -30
  286. package/src/platform-implementation-js/lib/toItemWithLifetimeStream.js +0 -12
  287. package/src/platform-implementation-js/lib/toLiveSet.js +0 -22
  288. package/src/platform-implementation-js/lib/wait-for.js +0 -38
  289. package/src/platform-implementation-js/lib/waitForAsync.js +0 -18
  290. package/src/platform-implementation-js/main-INTEGRATED-PAGEWORLD.js +0 -5
  291. package/src/platform-implementation-js/main.js +0 -42
  292. package/src/platform-implementation-js/namespaces/app-menu.js +0 -81
  293. package/src/platform-implementation-js/namespaces/butter-bar.js +0 -163
  294. package/src/platform-implementation-js/namespaces/compose.js +0 -59
  295. package/src/platform-implementation-js/namespaces/conversations.js +0 -83
  296. package/src/platform-implementation-js/namespaces/global.js +0 -30
  297. package/src/platform-implementation-js/namespaces/keyboard.js +0 -30
  298. package/src/platform-implementation-js/namespaces/lists.js +0 -40
  299. package/src/platform-implementation-js/namespaces/modal.js +0 -43
  300. package/src/platform-implementation-js/namespaces/nav-menu.js +0 -33
  301. package/src/platform-implementation-js/namespaces/router.js +0 -139
  302. package/src/platform-implementation-js/namespaces/search.js +0 -29
  303. package/src/platform-implementation-js/namespaces/toolbars.js +0 -147
  304. package/src/platform-implementation-js/namespaces/user.js +0 -57
  305. package/src/platform-implementation-js/namespaces/widgets.js +0 -73
  306. package/src/platform-implementation-js/platform-implementation.js +0 -178
  307. package/src/platform-implementation-js/views/SimpleElementView.js +0 -16
  308. package/src/platform-implementation-js/views/app-menu-item-view.js +0 -442
  309. package/src/platform-implementation-js/views/app-toolbar-button-view.js +0 -43
  310. package/src/platform-implementation-js/views/collapsible-panel-view.js +0 -256
  311. package/src/platform-implementation-js/views/collapsible-section-view.js +0 -63
  312. package/src/platform-implementation-js/views/compose-button-view.js +0 -45
  313. package/src/platform-implementation-js/views/compose-view.js +0 -310
  314. package/src/platform-implementation-js/views/content-panel-view.js +0 -36
  315. package/src/platform-implementation-js/views/conversations/attachment-card-view.js +0 -41
  316. package/src/platform-implementation-js/views/conversations/custom-message-view.js +0 -117
  317. package/src/platform-implementation-js/views/conversations/message-view.js +0 -203
  318. package/src/platform-implementation-js/views/conversations/thread-view.js +0 -97
  319. package/src/platform-implementation-js/views/keyboard-shortcut-handle.js +0 -14
  320. package/src/platform-implementation-js/views/native-nav-item-view.js +0 -60
  321. package/src/platform-implementation-js/views/nav-item-view.js +0 -130
  322. package/src/platform-implementation-js/views/route-view/custom-route-view.js +0 -25
  323. package/src/platform-implementation-js/views/route-view/dummy-route-view-driver.js +0 -29
  324. package/src/platform-implementation-js/views/route-view/list-route-view.js +0 -46
  325. package/src/platform-implementation-js/views/route-view/route-view.js +0 -47
  326. package/src/platform-implementation-js/views/section-view.js +0 -60
  327. package/src/platform-implementation-js/views/thread-row-view.js +0 -90
  328. package/src/platform-implementation-js/widgets/buttons/basic-button-view-controller.js +0 -39
  329. package/src/platform-implementation-js/widgets/buttons/dropdown-button-view-controller.js +0 -98
  330. package/src/platform-implementation-js/widgets/buttons/dropdown-view.js +0 -121
  331. package/src/platform-implementation-js/widgets/drawer-view.js +0 -46
  332. package/src/platform-implementation-js/widgets/modal-view.js +0 -108
  333. package/src/platform-implementation-js/widgets/mole-view.js +0 -38
  334. 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
- }