Move to Manifest Version 3 (MV3)

Repository details (talkie)
Project page
talkie
Project log category
(708 entries)
Repository
@joelpurra/talkie
Owner
@joelpurra
Contributors
Contributors on Github
Project status
⏲️ This project has had recent commits.
📂 This project is open.
🌠 This project is popular.
Repository activity period
🗓
Commits
751 commits
Stars
72 stars
Commit details (1cbf3003)
Author
Authored at
Committer
Joel Purra
Committed at

Commit message

Move to Manifest Version 3 (MV3)

  • Use of MV3 for new/updated webexts is now enforced by the Google Chrome Web Store (CWS).
    • Use of MV2 is "discouraged", and MV2 webexts may be removed from CWS.
    • The change has been planned, and postponed, for years; some parts/features of MV3 are still in flux.
    • Implementation in Talkie happened between December 2023 and September 2024, with some false start(s) in 2021 and 2022.
  • Mozilla Firefox partially supports MV3, as implemented by Google, but has not discontinued MV2.
  • There are significant changes in MV3, both compared to MV2 and between Chrome an Firefox.
    • Requires different implementations of many of Talkie's features for Chrome, Firefox, and pre-rendering pages.
    • The same feature may be implemented once, but loaded and called from different contexts in each implementation.
    • In particular, the cross-context messaging system and event broadcasting was challending due to long-standing browser bugs and implementation differences.
    • As an example, speechSynthesis access is now handled by Chrome's offscreen page and Firefox' background script; the speech manager triggers speech (passing text, voice selection) via the message bus in either Chrome's service worker or Firefox' background script. The speech code itself is mostly shared, but hooked up differently.
  • Chrome:
    • Requires using a service worker instead of a background script.
    • Requires using an offscreen page to access the DOM from the service worker.
    • Requires messaging to communicate between contexts; service worker, popup, options (and other internal) page(s).
  • Firefox:
    • Does not (yet) support service worker.
    • Does not (yet?) support offscreen pages.
    • Still allows accessing the background page from other webext contexts.
  • This commit implements required changes to manifest.json as well as the web extension (webext) in general.
    • Due to the many challenges in pleasing both Chrome and Firefox, the commit is extensive and littered with other, sometimes unrelated, bug fixes and other changes.
Raw text
Move to Manifest Version 3 (MV3)

- Use of MV3 for new/updated webexts is now enforced by the Google Chrome Web Store (CWS).
  - Use of MV2 is "discouraged", and MV2 webexts may be removed from CWS.
  - The change has been planned, and postponed, for years; some parts/features of MV3 are still in flux.
  - Implementation in Talkie happened between December 2023 and September 2024, with some false start(s) in 2021 and 2022.
- Mozilla Firefox partially supports MV3, as implemented by Google, but has not discontinued MV2.
- There are significant changes in MV3, both compared to MV2 and between Chrome an Firefox.
  - Requires different implementations of many of Talkie's features for Chrome, Firefox, and pre-rendering pages.
  - The same feature may be implemented once, but loaded and called from different contexts in each implementation.
  - In particular, the cross-context messaging system and event broadcasting was challending due to long-standing browser bugs and implementation differences.
  - As an example, `speechSynthesis` access is now handled by Chrome's offscreen page and Firefox' background script; the speech manager triggers speech (passing text, voice selection) via the message bus in either Chrome's service worker or Firefox' background script. The speech code itself is mostly shared, but hooked up differently.
- Chrome:
  - Requires using a service worker instead of a background script.
  - Requires using an offscreen page to access the DOM from the service worker.
  - Requires messaging to communicate between contexts; service worker, popup, options (and other internal) page(s).
- Firefox:
  - Does not (yet) support service worker.
  - Does not (yet?) support offscreen pages.
  - Still allows accessing the background page from other webext contexts.
- This commit implements required changes to `manifest.json` as well as the web extension (webext) in general.
  - Due to the many challenges in pleasing both Chrome and Firefox, the commit is extensive and littered with other, sometimes unrelated, bug fixes and other changes.

Changed files (357)

Path Additions Deletions
DEVELOP.md +1 -3
code/.eslintignore +3 -1
code/.gitignore +1 -0
code/.xo-config.cjs +4 -0
code/build/rollup.config.browser.react.mjs +1 -12
code/build/rollup.config.webext.mjs +80 -63
code/build/update-project-references.sh +1 -1
code/lerna.json +1 -1
code/manifest.json +24 -15
code/package-lock.json +219 -80
code/package.json +8 -1
code/packages/README.md +2 -1
code/packages/all-renderer/package.json +3 -3
code/packages/browser-background/package.json +4 -5
code/packages/browser-background/rollup.config.mjs +1 -1
code/packages/browser-background/src/background.html +0 -34
code/packages/browser-background/src/background.mts +54 -113
code/packages/browser-background/src/background/create-and-start-suspension-listener.mts +0 -57
code/packages/browser-background/src/background/create-talkie-services.mts +0 -182
code/packages/browser-background/src/background/setup-broadcaster-listeners-and-killswitches.mts +0 -277
code/packages/browser-background/src/suspension-connector-manager.mts +0 -95
code/packages/browser-background/src/suspension-manager.mts +0 -141
code/packages/browser-background/src/talkie-background.mts +0 -397
code/packages/browser-background/src/talkie-speaker.mts +0 -418
code/packages/browser-background/src/voice-language-manager.mts +0 -168
code/packages/browser-background/src/webextension-polyfill.d.mts +1 -26
code/packages/browser-background/tsconfig.json +5 -8
code/packages/{browser-stayalive => browser-bricks}/.npmrc +0 -0
code/packages/browser-bricks/package.json +47 -0
code/packages/{browser-background => browser-bricks}/src/button-popup-manager.mts +8 -8
code/packages/{browser-background => browser-bricks}/src/chain.mts +0 -0
code/packages/{browser-background => browser-bricks}/src/command-handler-types.mts +0 -0
code/packages/{browser-background => browser-bricks}/src/command-handler.mts +0 -0
code/packages/{browser-background => browser-bricks}/src/context-menu-manager.mts +19 -16
code/packages/{browser-background => browser-bricks}/src/history-manager.mts +29 -15
code/packages/{browser-background => browser-bricks}/src/icon-manager.mts +5 -5
code/packages/{browser-background => browser-bricks}/src/language-helper.mts +22 -40
code/packages/{browser-background => browser-bricks}/src/non-breaking-chain.mts +1 -1
code/packages/{browser-background => browser-bricks}/src/on-installed-manager-types.mts +0 -0
code/packages/{browser-background => browser-bricks}/src/on-installed-manager.mts +4 -1
code/packages/browser-bricks/src/on-tab-event-handlers.mts +89 -0
code/packages/{browser-background => browser-bricks}/src/only-last-caller.mts +0 -0
code/packages/{browser-background => browser-bricks}/src/read-clipboard-manager.mts +20 -9
code/packages/{browser-background => browser-bricks}/src/shortcut-key-manager.mts +0 -0
code/packages/{browser-background/src/talkie-speaker-helpers.mts => browser-bricks/src/speaker-helpers.mts} +28 -5
code/packages/browser-bricks/src/speaker-manager.mts +75 -0
code/packages/browser-bricks/src/speaker-page-manager.mts +209 -0
code/packages/browser-bricks/src/speaker.mts +192 -0
code/packages/{browser-background => browser-bricks}/src/speaking-status.mts +17 -13
code/packages/browser-bricks/src/synthesizer-helper.mts +288 -0
code/packages/{browser-background => browser-bricks}/src/text-helper.mts +0 -0
code/packages/browser-bricks/src/ui-manager.mts +57 -0
code/packages/browser-bricks/src/voice-language-manager.mts +176 -0
code/packages/{browser-background => browser-bricks}/src/voice-manager.mts +4 -16
code/packages/{browser-background => browser-bricks}/src/voice-pitch-manager.mts +19 -19
code/packages/{browser-background => browser-bricks}/src/voice-rate-manager.mts +19 -19
code/packages/browser-bricks/src/webextension-polyfill.d.mts +1 -0
code/packages/{browser-background => browser-bricks}/src/welcome-manager.mts +4 -4
code/packages/browser-bricks/tsconfig.json +31 -0
code/packages/browser-groundwork/.npmrc +1 -0
code/packages/browser-groundwork/package.json +48 -0
code/packages/{browser-background/src/background => browser-groundwork/src}/add-on-installed-event-queue-polling.mts +1 -1
code/packages/{browser-background/src/background => browser-groundwork/src}/create-and-start-command-listener.mts +11 -12
code/packages/{browser-background/src/background => browser-groundwork/src}/create-and-start-tab-listeners.mts +4 -5
code/packages/browser-groundwork/src/create-message-bus-listeners.mts +248 -0
code/packages/{browser-background/src/background => browser-groundwork/src}/get-command-map.mts +12 -15
code/packages/{browser-background/src/background => browser-groundwork/src}/get-dependencies.mts +83 -82
code/packages/browser-groundwork/src/groundwork.mts +139 -0
code/packages/browser-groundwork/src/migrate-storage-backend.mts +32 -0
code/packages/browser-groundwork/src/setup-broadcaster-listeners.mts +271 -0
code/packages/browser-groundwork/src/synchronous-listeners.mts +55 -0
code/packages/browser-groundwork/src/webextension-polyfill.d.mts +1 -0
code/packages/browser-groundwork/tsconfig.json +34 -0
code/packages/browser-localeredirect/package.json +1 -1
code/packages/browser-localeredirect/rollup.config.mjs +1 -1
code/packages/browser-localeredirect/src/localeredirect.mts +1 -25
code/packages/browser-localeredirect/src/webextension-polyfill.d.mts +1 -0
code/packages/browser-mason/.npmrc +1 -0
code/packages/browser-mason/package.json +46 -0
code/packages/browser-mason/src/mason.mts +173 -0
code/packages/browser-mason/src/webextension-polyfill.d.mts +1 -0
code/packages/{browser-stayalive => browser-mason}/tsconfig.json +12 -0
code/packages/browser-offscreen/.npmrc +1 -0
code/packages/{browser-stayalive => browser-offscreen}/package.json +7 -3
code/packages/{browser-stayalive => browser-offscreen}/rollup.config.mjs +2 -2
code/packages/{browser-stayalive/src/stayalive.html => browser-offscreen/src/offscreen.html} +3 -4
code/packages/browser-offscreen/src/offscreen.mts +64 -0
code/packages/browser-offscreen/src/webextension-polyfill.d.mts +1 -0
code/packages/browser-offscreen/tsconfig.json +28 -0
code/packages/browser-runtime-dependencies/package.json +1 -2
code/packages/browser-runtime-dependencies/rollup.config.mjs +0 -6
code/packages/browser-serviceworker/.npmrc +1 -0
code/packages/browser-serviceworker/package.json +48 -0
code/packages/browser-serviceworker/rollup.config.mjs +36 -0
code/packages/{browser-background => browser-serviceworker}/src/dummy.mjs +1 -1
code/packages/browser-serviceworker/src/serviceworker.mts +77 -0
code/packages/browser-serviceworker/src/serviceworker/offscreen-document-provider.mts +115 -0
code/packages/browser-serviceworker/src/webextension-polyfill.d.mts +1 -0
code/packages/browser-serviceworker/tsconfig.json +31 -0
code/packages/browser-shared/package.json +2 -1
code/packages/{browser-background => browser-shared}/src/clipboard-manager.mts +44 -44
code/packages/browser-shared/src/content-logger.mts +0 -107
code/packages/browser-shared/src/dual-log.mts +0 -69
code/packages/browser-shared/src/execute.mts +49 -66
code/packages/browser-shared/src/hydrate/get-dependencies.mts +42 -11
code/packages/browser-shared/src/hydrate/get-frontend-message-bus.mts +69 -0
code/packages/browser-shared/src/hydrate/hydrate-html.mts +15 -5
code/packages/{browser-background => browser-shared}/src/permissions-manager.mts +4 -15
code/packages/browser-shared/src/plug.mts +0 -67
code/packages/browser-shared/src/redundantly-trigger-loading-voices.mts +1 -1
code/packages/browser-shared/src/selected-text-manager.mts +56 -0
code/packages/browser-shared/src/shared-frontend.mts +9 -8
code/packages/browser-shared/src/webextension-polyfill.d.mts +1 -26
code/packages/browser-shared/tsconfig.json +3 -0
code/packages/browser-stayalive/src/stayalive.mts +0 -57
code/packages/browser-stayalive/src/suspension-listener-manager.mts +0 -230
code/packages/options-application/src/app/sections/about.tsx +3 -4
code/packages/options-application/src/app/sections/settings.tsx +3 -3
code/packages/options-application/src/app/sections/settings/speaking-history-limit.tsx +23 -11
code/packages/options-application/src/app/sections/status.tsx +48 -48
code/packages/options-application/src/components/navigation/nav-helpers.mts +9 -7
code/packages/options-application/src/containers/app.tsx +2 -0
code/packages/options-application/src/containers/settings-container.tsx +10 -10
code/packages/options-application/src/containers/status-container.tsx +9 -24
code/packages/options-application/src/containers/voices/dialect-voice-options-container.tsx +4 -0
code/packages/options-application/src/hydrate.mts +6 -2
code/packages/options-application/src/options.mts +8 -4
code/packages/options-application/src/slices/settings.mts +41 -35
code/packages/options-application/src/slices/tabs.mts +14 -18
code/packages/options-application/src/slices/voices.mts +62 -39
code/packages/options-application/src/slices/welcome.mts +2 -2
code/packages/options-renderer/src/dummy.mjs +1 -1
code/packages/options-renderer/src/options.template.html +0 -1
code/packages/output-webext-chrome/package.json +10 -8
code/packages/output-webext-chrome/rollup.config.mjs +1 -1
code/packages/output-webext-chrome/src/dummy.mjs +3 -2
code/packages/output-webext-chrome/webext.files.txt +3 -0
code/packages/output-webext-webextension/package.json +10 -6
code/packages/output-webext-webextension/rollup.config.mjs +1 -1
code/packages/output-webext-webextension/src/dummy.mjs +3 -2
code/packages/output-webext-webextension/webext.files.txt +3 -0
code/packages/output-webext/package.json +3 -1
code/packages/output-webext/src/dummy.mjs +3 -4
code/packages/output-webext/src/package-files/code.txt +17 -60
code/packages/output-webext/src/package-files/licenses.txt +0 -4
code/packages/output-webext/src/package-files/locales.txt +40 -40
code/packages/output-webext/src/package-files/resources.txt +42 -0
code/packages/output-webext/src/package-files/root.txt +3 -3
code/packages/popup-application/package.json +2 -1
code/packages/popup-application/src/containers/app.tsx +1 -1
code/packages/popup-application/src/hydrate.mts +6 -3
code/packages/popup-application/src/popup.mts +26 -18
code/packages/popup-application/tsconfig.json +4 -1
code/packages/popup-renderer/src/dummy.mjs +1 -1
code/packages/popup-renderer/src/popup.template.html +0 -1
code/packages/renderer/package.json +2 -2
code/packages/renderer/src/get-dependencies.mts +37 -15
code/packages/renderer/src/render.mts +2 -2
code/packages/renderer/tsconfig.json +3 -0
code/packages/shared-application-helpers/src/basic.mts +105 -38
code/packages/shared-application-helpers/src/log.mts +38 -2
code/packages/shared-application-helpers/src/promise.mts +29 -8
code/packages/shared-application-helpers/src/uninitializer-handler.mts +53 -0
code/packages/shared-application/package.json +1 -1
code/packages/shared-application/src/broadcaster.mts +0 -180
code/packages/shared-application/src/data/configuration/configuration.json +7 -4
code/packages/shared-application/src/error-handling.mts +3 -3
code/packages/shared-application/src/message-bus/cross-context-message-bus-event-provider.mts +106 -0
code/packages/shared-application/src/message-bus/cross-context-message-bus-event.mts +88 -0
code/packages/shared-application/src/message-bus/internal-message-bus-provider.mts +43 -0
code/packages/shared-application/src/message-bus/message-bus-base.mts +106 -0
code/packages/shared-application/src/message-bus/message-bus-bullhorn.mts +54 -0
code/packages/shared-application/src/message-bus/message-bus-crowdee.mts +40 -0
code/packages/shared-application/src/message-bus/message-bus-helper.mts +295 -0
code/packages/shared-application/src/message-bus/message-bus-inspector.mts +73 -0
code/packages/shared-application/src/message-bus/message-bus-listener-helpers.mts +134 -0
code/packages/shared-application/src/message-bus/message-bus-listener.mts +158 -0
code/packages/shared-application/src/message-bus/message-bus-reactor.mts +40 -0
code/packages/shared-application/src/message-bus/message-bus-requester.mts +57 -0
code/packages/shared-application/src/message-bus/message-bus-responder.mts +40 -0
code/packages/shared-application/src/message-bus/message-bus-sender.mts +50 -0
code/packages/shared-application/src/message-bus/message-bus-simplexer.mts +56 -0
code/packages/shared-application/src/message-bus/same-context-message-bus-event-provider.mts +48 -0
code/packages/shared-application/src/message-bus/same-context-message-bus-event.mts +55 -0
code/packages/shared-application/src/message-bus/split-context-message-bus-event-provider.mts +53 -0
code/packages/shared-application/src/message-bus/split-context-message-bus-provider.mts +174 -0
code/packages/shared-application/src/metadata-manager.mts +4 -29
code/packages/shared-application/src/offscreen-document-manager.mts +60 -0
code/packages/{browser-stayalive/src/webextension-polyfill.d.mts => shared-application/src/offscreen.mts} +4 -6
code/packages/shared-application/src/premium-manager.mts +51 -0
code/packages/shared-application/src/promise-logging.mts +3 -3
code/packages/shared-application/src/settings-manager.mts +21 -55
code/packages/shared-application/src/settings.mts +65 -0
code/packages/shared-application/src/storage-manager.mts +1 -0
code/packages/shared-application/src/utils/is-dead-wrapper.mts +27 -0
code/packages/shared-interfaces/package.json +1 -1
code/packages/shared-interfaces/src/imetadata-manager.mts +0 -5
code/packages/shared-interfaces/src/ipremium-manager.mts +27 -0
code/packages/shared-interfaces/src/ispeaking-event.mts +2 -1
code/packages/shared-interfaces/src/ivoices.mts +25 -0
code/packages/shared-interfaces/src/uninitializer.mts +23 -0
code/packages/shared-interfaces/src/webext.mts +1 -1
code/packages/shared-locales/package.json +3 -0
code/packages/shared-locales/src/data/_locales/ar/automatic.json +1 -1
code/packages/shared-locales/src/data/_locales/bg/automatic.json +1 -1
code/packages/shared-locales/src/data/_locales/bn/automatic.json +1 -1
code/packages/shared-locales/src/data/_locales/cs/automatic.json +1 -1
code/packages/shared-locales/src/data/_locales/da/automatic.json +1 -1
code/packages/shared-locales/src/data/_locales/de/automatic.json +1 -1
code/packages/shared-locales/src/data/_locales/de/override.json +1 -1
code/packages/shared-locales/src/data/_locales/el/automatic.json +1 -1
code/packages/shared-locales/src/data/_locales/en/base.json +1 -1
code/packages/shared-locales/src/data/_locales/es/automatic.json +1 -1
code/packages/shared-locales/src/data/_locales/fa/automatic.json +1 -1
code/packages/shared-locales/src/data/_locales/fi/automatic.json +1 -1
code/packages/shared-locales/src/data/_locales/fr/automatic.json +1 -1
code/packages/shared-locales/src/data/_locales/fr/override.json +1 -1
code/packages/shared-locales/src/data/_locales/gu/automatic.json +1 -1
code/packages/shared-locales/src/data/_locales/ha/automatic.json +1 -1
code/packages/shared-locales/src/data/_locales/he/automatic.json +1 -1
code/packages/shared-locales/src/data/_locales/hi/automatic.json +1 -1
code/packages/shared-locales/src/data/_locales/hu/automatic.json +1 -1
code/packages/shared-locales/src/data/_locales/id/automatic.json +1 -1
code/packages/shared-locales/src/data/_locales/it/automatic.json +1 -1
code/packages/shared-locales/src/data/_locales/ja/automatic.json +1 -1
code/packages/shared-locales/src/data/_locales/jv/automatic.json +1 -1
code/packages/shared-locales/src/data/_locales/ko/automatic.json +1 -1
code/packages/shared-locales/src/data/_locales/mr/automatic.json +1 -1
code/packages/shared-locales/src/data/_locales/nb/automatic.json +1 -1
code/packages/shared-locales/src/data/_locales/nl/automatic.json +1 -1
code/packages/shared-locales/src/data/_locales/pa/automatic.json +1 -1
code/packages/shared-locales/src/data/_locales/pl/automatic.json +1 -1
code/packages/shared-locales/src/data/_locales/pt/automatic.json +1 -1
code/packages/shared-locales/src/data/_locales/ro/automatic.json +1 -1
code/packages/shared-locales/src/data/_locales/ru/automatic.json +1 -1
code/packages/shared-locales/src/data/_locales/sk/automatic.json +1 -1
code/packages/shared-locales/src/data/_locales/sv/automatic.json +1 -1
code/packages/shared-locales/src/data/_locales/sv/override.json +1 -1
code/packages/shared-locales/src/data/_locales/sw/automatic.json +1 -1
code/packages/shared-locales/src/data/_locales/ta/automatic.json +1 -1
code/packages/shared-locales/src/data/_locales/te/automatic.json +1 -1
code/packages/shared-locales/src/data/_locales/th/automatic.json +1 -1
code/packages/shared-locales/src/data/_locales/tr/automatic.json +1 -1
code/packages/shared-locales/src/data/_locales/ur/automatic.json +1 -1
code/packages/shared-locales/src/data/_locales/vi/automatic.json +1 -1
code/packages/shared-locales/src/data/_locales/zh/automatic.json +1 -1
code/packages/shared-locales/src/dummy.mjs +1 -1
code/packages/shared-resources/package.json +1 -0
code/packages/shared-ui/src/components/listeners/history-listener.tsx +154 -0
code/packages/shared-ui/src/components/listeners/is-speaking-listener.tsx +37 -94
code/packages/shared-ui/src/containers/history-listener-container.tsx +84 -0
code/packages/shared-ui/src/containers/is-speaking-listener-container.tsx +0 -18
code/packages/shared-ui/src/containers/providers.tsx +17 -15
code/packages/shared-ui/src/containers/root.tsx +11 -4
code/packages/shared-ui/src/hocs/broadcaster.tsx +0 -53
code/packages/shared-ui/src/hocs/pass-selected-text-to-background-types.mts +4 -4
code/packages/shared-ui/src/hocs/pass-selected-text-to-background.tsx +49 -51
code/packages/shared-ui/src/hocs/progress.tsx +31 -44
code/packages/shared-ui/src/renderers/get-root.tsx +6 -3
code/packages/shared-ui/src/selectors/{speaking.mts => history.mts} +1 -1
code/packages/shared-ui/src/selectors/index.mts +2 -2
code/packages/shared-ui/src/slices/history.mts +134 -0
code/packages/shared-ui/src/slices/index.mts +4 -0
code/packages/shared-ui/src/slices/languages.mts +11 -11
code/packages/shared-ui/src/slices/metadata.mts +28 -19
code/packages/shared-ui/src/slices/navigation.mts +7 -7
code/packages/shared-ui/src/slices/progress.mts +0 -1
code/packages/shared-ui/src/slices/slices-types.mts +1 -1
code/packages/shared-ui/src/slices/speaking.mts +12 -144
code/packages/shared-ui/src/slices/voices.mts +5 -5
code/packages/shared-ui/src/store/get-store.mts +1 -1
code/packages/shared-ui/src/talkie-progress.mts +125 -86
code/packages/shared-ui/src/{hocs/pass-selected-text-to-background-javascript.mts => utils/get-selected-text-and-languages.mts} +13 -8
code/packages/shared-ui/src/utils/navigator-languages.mts +23 -0
code/packages/shared-ui/src/utils/navigator-location.mts +33 -0
code/packages/split-environment-interfaces/package.json +1 -1
code/packages/split-environment-interfaces/src/iapi.mts +0 -122
code/packages/split-environment-interfaces/src/iapi/iapi-coating-browser.mts +32 -0
code/packages/{browser-background/src/background/background-types.mts => split-environment-interfaces/src/iapi/iapi-coating-locale.mts} +4 -7
code/packages/{shared-interfaces/src/listening-action-handler.mts => split-environment-interfaces/src/iapi/iapi-coating-metadata.mts} +10 -10
code/packages/split-environment-interfaces/src/iapi/iapi-coating-premium.mts +28 -0
code/packages/split-environment-interfaces/src/iapi/iapi-coating-talkie-locale.mts +31 -0
code/packages/split-environment-interfaces/src/iapi/iapi-coating.mts +35 -0
code/packages/split-environment-interfaces/src/iapi/iapi-groundwork-configuration.mts +30 -0
code/packages/split-environment-interfaces/src/iapi/iapi-groundwork-history.mts +25 -0
code/packages/{shared-interfaces/src/known-events.mts => split-environment-interfaces/src/iapi/iapi-groundwork-speaking.mts} +12 -18
code/packages/{shared-interfaces/src/killswitch.mts => split-environment-interfaces/src/iapi/iapi-groundwork-ui.mts} +3 -5
code/packages/split-environment-interfaces/src/iapi/iapi-groundwork-voices.mts +28 -0
code/packages/split-environment-interfaces/src/iapi/iapi-groundwork.mts +29 -0
code/packages/split-environment-interfaces/src/iapi/iapi.mts +29 -0
code/packages/split-environment-interfaces/src/imessage-bus-provider.mts +77 -0
code/packages/split-environment-interfaces/src/imessage-bus.mts +146 -0
code/packages/split-environment-interfaces/src/ioffscreen-document-provider.mts +27 -0
code/packages/split-environment-interfaces/src/ipremium-provider.mts +25 -0
code/packages/{split-environment-webextension/src/webextension-polyfill.d.mts => split-environment-interfaces/src/istart-stop.mts} +3 -5
code/packages/split-environment-node/package.json +1 -1
code/packages/split-environment-node/src/broadcaster-provider.mts +0 -55
code/packages/split-environment-node/src/locale-provider.mts +2 -1
code/packages/split-environment-node/src/premium-provider.mts +30 -0
code/packages/split-environment-node/src/server-specific/api.mts +0 -294
code/packages/split-environment-node/src/server-specific/rendering-api.mts +31 -0
code/packages/split-environment-node/src/server-specific/rendering-coating-locale.mts +33 -0
code/packages/split-environment-node/src/server-specific/rendering-coating-metadata.mts +48 -0
code/packages/split-environment-node/src/server-specific/rendering-coating-premium.mts +36 -0
code/packages/split-environment-node/src/server-specific/rendering-coating-talkie-locale.mts +45 -0
code/packages/split-environment-node/src/server-specific/rendering-coating.mts +39 -0
code/packages/split-environment-webextension/package.json +2 -1
code/packages/split-environment-webextension/src/broadcaster-provider.mts +0 -54
code/packages/split-environment-webextension/src/browser-specific/api.mts +0 -413
code/packages/split-environment-webextension/src/browser-specific/api/browser-api.mts +30 -0
code/packages/split-environment-webextension/src/browser-specific/api/browser-coating-browser.mts +47 -0
code/packages/split-environment-webextension/src/browser-specific/api/browser-coating-locale.mts +35 -0
code/packages/split-environment-webextension/src/browser-specific/api/browser-coating-metadata.mts +48 -0
code/packages/split-environment-webextension/src/browser-specific/api/browser-coating-premium.mts +39 -0
code/packages/split-environment-webextension/src/browser-specific/api/browser-coating-talkie-locale.mts +51 -0
code/packages/split-environment-webextension/src/browser-specific/api/browser-coating.mts +37 -0
code/packages/split-environment-webextension/src/browser-specific/api/message-bus-groundwork-base.mts +84 -0
code/packages/split-environment-webextension/src/browser-specific/api/message-bus-groundwork-configuration.mts +75 -0
code/packages/split-environment-webextension/src/browser-specific/api/message-bus-groundwork-history.mts +54 -0
code/packages/split-environment-webextension/src/browser-specific/api/message-bus-groundwork-speaking.mts +105 -0
code/packages/split-environment-webextension/src/browser-specific/api/message-bus-groundwork-ui.mts +30 -0
code/packages/split-environment-webextension/src/browser-specific/api/message-bus-groundwork-voices.mts +75 -0
code/packages/split-environment-webextension/src/browser-specific/api/message-bus-groundwork.mts +37 -0
code/packages/split-environment-webextension/src/browser-specific/browser-capabilities.mts +28 -0
code/packages/split-environment-webextension/src/browser-specific/global-window-talkie-shared-context.mts +41 -0
code/packages/split-environment-webextension/src/browser-specific/italkie-services.mts +0 -94
code/packages/split-environment-webextension/src/browser-specific/italkie-shared-context.mts +27 -0
code/packages/split-environment-webextension/src/browser-specific/storage-backend-migrator.mts +165 -0
code/packages/split-environment-webextension/src/browser-specific/tabs.mts +2 -20
code/packages/split-environment-webextension/src/browser-specific/{urls.mts => urls-coating.mts} +7 -35
code/packages/split-environment-webextension/src/browser-specific/webextension-polyfill.d.mts +85 -0
code/packages/split-environment-webextension/src/dynamic-environment.mts +1 -1
code/packages/split-environment-webextension/src/internal-url-provider.mts +2 -1
code/packages/split-environment-webextension/src/locale-provider.mts +2 -2
code/packages/split-environment-webextension/src/manifest-provider.mts +1 -1
code/packages/split-environment-webextension/src/message-bus/browser-runtime-chrome/chrome-async-selective-send-response-message-handler-wrapper.mts +54 -0
code/packages/split-environment-webextension/src/message-bus/browser-runtime-chrome/chrome-browser-runtime-message-bus-event-provider.mts +62 -0
code/packages/split-environment-webextension/src/message-bus/browser-runtime-chrome/chrome-browser-runtime-message-bus-provider.mts +76 -0
code/packages/split-environment-webextension/src/message-bus/browser-runtime-chrome/chrome-selective-send-response-message-bus-handler-wrapper.mts +120 -0
code/packages/split-environment-webextension/src/message-bus/getter/dynamic-message-bus-provider-getter.mts +32 -0
code/packages/split-environment-webextension/src/message-bus/getter/message-bus-provider-getter.mts +64 -0
code/packages/split-environment-webextension/src/message-bus/getter/predefined-message-bus-provider-getter.mts +33 -0
code/packages/split-environment-webextension/src/message-bus/port-unused/counting-port-connector-provider.mts +75 -0
code/packages/split-environment-webextension/src/message-bus/port-unused/iport-provider-base.mts +31 -0
code/packages/split-environment-webextension/src/message-bus/port-unused/port-connector-message-bus-provider.mts +58 -0
code/packages/split-environment-webextension/src/message-bus/port-unused/port-connector-provider.mts +115 -0
code/packages/split-environment-webextension/src/message-bus/port-unused/port-listener-message-bus-provider.mts +52 -0
code/packages/split-environment-webextension/src/message-bus/port-unused/port-listener-provider.mts +156 -0
code/packages/{split-environment-interfaces/src/ibroadcaster-provider.mts => split-environment-webextension/src/message-bus/port-unused/port-provider-base.mts} +25 -13
code/packages/split-environment-webextension/src/message-bus/port-unused/responding-port-connector-provider.mts +81 -0
code/packages/split-environment-webextension/src/message-bus/port-unused/responding-port-listener-provider.mts +93 -0
code/packages/split-environment-webextension/src/premium-provider.mts +30 -0
code/packages/split-environment-webextension/src/storage-provider.mts +11 -7
code/packages/split-environment-webextension/src/translator-provider.mts +1 -1
code/packages/split-environment-webextension/tsconfig.json +3 -0
code/packages/translator-tool/src/google-cloud-translate-translator-service.mts +1 -3
code/tsconfig.json +7 -1

Commit categories (3)