You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The new unified renderer window communicates telemetry to the worker via port messages ({ action: "telemetry", data: LogDataPackage }). The worker routes these to this.logger (an AriaLoggerDecorator in production builds) via Log.parseAndLogDataPackage().
Key findings during implementation
Build-time swap: gulpfile.js replaces logManager.ts (stub) with logManager_internal.ts (Aria-enabled) when the internal file exists. The enable_console_logging localStorage flag only controls additional console output — Aria events always flow in production builds.
Aria SDK transport: v2.8.2's ajax() method uses fetch() (not XHR), so it works in MV3 service workers.
ProductionRequirements gate: SessionLogger queues ALL events until 8 context properties are set: AppInfoId, AppInfoVersion, BrowserLanguage, ExtensionLifecycleId, ClipperType, DeviceInfoId, FlightInfo, InPrivateBrowsing. Events only flush to Aria once all 8 exist. The new renderer bypassed the legacy i18n path that set BrowserLanguage, so events were silently queued forever. Fixed by setting BrowserLanguage + fallback FlightInfo in WebExtensionWorker constructor.
Version string: ExtensionBase.version was hardcoded and drifted from manifest. Fixed: getExtensionVersion() now reads chrome.runtime.getManifest().version with static fallback. Four locations to keep in sync: extensionBase.ts, edge/manifest.json, chrome/manifest.json, package.json.
On sign-out, AuthType is reset to "None" and UserInfoId to "" before the new session starts — prevents next sign-in's events from carrying the old user's identity.
{ error: "msg (file:line:col) at stack" }, id: "Renderer"
OnLaunchOneNoteButton
View in OneNote URL missing
{ error: "..." }
RegionSelectionProcessing failure
Region capture error
{ error: "..." }
PromiseEvent timer notes
ClipToOneNoteAction and HandleSignInEvent are created at action start (save click / sign-in click) and completed on result, so Duration reflects actual wait time. GetNotebooks is created at fetch start.
Sends { action: "pageNavigated" } to renderer via port
Renderer closes the window
Listener is cleaned up on port disconnect.
How to debug telemetry
Console logging: In any extension page console (e.g., renderer F12), run localStorage.setItem("enable_console_logging", "true"), then reload extension. Events appear in service worker console.
Network tab: Open SW DevTools → Network → filter aria. POST requests to browser.pipe.aria.microsoft.com/Collector/3.0/ contain Bond-binary payloads.
Aria token: build/settings.json has the dev sandbox token. Production token is injected during release build via --production flag which merges src/settings/production.json + src/settings_internal/production.json.