Commit Graph

  • a6e8fe320f Agent: read uninstall-registry strings up to the first NUL (D-338) Oliver Kieselbach 2026-10-09 21:32:17 +02:00
  • e5b69325a2 bump pointer: internal (time-window-url-days: no announcement, no changelog) Oliver Kieselbach 2026-10-09 19:07:09 +02:00
  • ee1566ae20 bump pointer: internal (time-window-url-days: plan, backlog, lesson) Oliver Kieselbach 2026-10-09 18:59:49 +02:00
  • a675c70e2b bump pointer: internal (D-336, D-337: concept docs and decisions) Oliver Kieselbach 2026-10-09 18:56:44 +02:00
  • b45a7ae2ff Portal: the analytics window lives in the URL as ?days=, capped per edition (D-336) Oliver Kieselbach 2026-10-09 18:56:32 +02:00
  • b2f6b7bd7f Retention: derived statistics and the audit trail follow the tenant's retention (D-337) Oliver Kieselbach 2026-10-09 18:56:12 +02:00
  • bd064b1164 Config: retention validation sees Pro conferred by a managing tenant Oliver Kieselbach 2026-10-09 18:55:52 +02:00
  • a3f98abcb5 bump pointer: internal (ux-insights follow-ups released, first measurement) Oliver Kieselbach 2026-10-09 17:01:46 +02:00
  • fb4ba57a7a bump pointer: internal (ux-insights follow-ups: E4 docs commit prepared) Oliver Kieselbach 2026-10-09 15:53:43 +02:00
  • 51200702c9 bump pointer: internal, .claude/commands (ux-insights follow-ups: D-335, concept doc, plan, skill rows) Oliver Kieselbach 2026-10-09 15:49:02 +02:00
  • d093be3e8d SignalR: a tab hidden for four minutes parks its connection and reconnects the moment it is back (D-335) Oliver Kieselbach 2026-10-09 15:47:35 +02:00
  • 4868a4448d SignalR: every view re-reads after every connection gap, through one mechanism Oliver Kieselbach 2026-10-09 15:17:49 +02:00
  • 03a8bf92c9 App names and serial numbers travel as query values: app details for names with '/' open Oliver Kieselbach 2026-10-09 15:17:47 +02:00
  • 7265052936 global_search telemetry carries the shape of the query, never its text Oliver Kieselbach 2026-10-09 15:17:37 +02:00
  • 0c01f3ed76 Session links: a member without a role gets a notice instead of an empty session page Oliver Kieselbach 2026-10-09 15:17:25 +02:00
  • caa6952ae7 Push: a Global Admin's platform device also receives the alerts of the owner's home tenant (D-334) Oliver Kieselbach 2026-10-08 23:49:40 +02:00
  • 6bc503f670 bump pointer: internal (push plan: Firefox interop) Oliver Kieselbach 2026-10-08 22:29:40 +02:00
  • 87c5446cde bump pointer: internal (push plan: Windows/Edge interop) Oliver Kieselbach 2026-10-08 21:55:00 +02:00
  • cb9b34a7aa bump pointer: internal (push plan: iPhone interop complete) Oliver Kieselbach 2026-10-08 21:33:34 +02:00
  • 2bb3dcd69e Push status page: Diagnostics collapsed by default, collected when opened Oliver Kieselbach 2026-10-08 21:22:52 +02:00
  • 36aeec1b45 Push: a system message's tag is its id; the receiver checks for a worker update on every open Oliver Kieselbach 2026-10-08 21:08:21 +02:00
  • 033781d083 Push receiver: notification options always carry a navigate URL (WebKit declarative push rule) Oliver Kieselbach 2026-10-08 20:44:14 +02:00
  • 8a733be369 Push receiver: show() never rejects; diagnostics describe each displayed notification Oliver Kieselbach 2026-10-08 20:16:41 +02:00
  • 91251ac42a Push receiver: worker trace and a Diagnostics section on the status page Oliver Kieselbach 2026-10-08 19:55:18 +02:00
  • 2a03bebc58 bump pointer: internal (push plan: history self-healing) Oliver Kieselbach 2026-10-08 19:32:23 +02:00
  • 2e6fa5ac74 Push receiver: import displayed notifications on open; pull-to-refresh listens on the window Oliver Kieselbach 2026-10-08 19:28:28 +02:00
  • a61a50cd53 bump pointer: internal, .claude/commands (Terms + DPA dialog) Oliver Kieselbach 2026-10-08 18:26:12 +02:00
  • 1271658b16 Terms + DPA: a new tenant whose first sign-in skipped Get started confirms them once in the portal Oliver Kieselbach 2026-10-08 18:23:42 +02:00
  • 5485f75620 bump pointer: internal (e-mail wording and deliverability notes) Oliver Kieselbach 2026-10-08 18:19:59 +02:00
  • 609fcbacaf Welcome and farewell wording: subject with the domain, calmer copy, one feedback link Oliver Kieselbach 2026-10-08 18:19:58 +02:00
  • 7b7d35f428 Welcome and farewell mails: own text part and Auto-Submitted header (junk-folder work, part 2) Oliver Kieselbach 2026-10-08 18:09:57 +02:00
  • a5a1039d22 E-mail alerts read like messages, not like log lines (junk-folder fix) Oliver Kieselbach 2026-10-08 17:59:25 +02:00
  • 9d50ff8901 bump pointer: .claude/commands (EmailDelivery status dimensions) Oliver Kieselbach 2026-10-08 17:46:55 +02:00
  • 0ce59b700c E-mail delivery: the provider status word and message id travel into the test result and the EmailDelivery event Oliver Kieselbach 2026-10-08 17:46:54 +02:00
  • 309e15bd33 bump pointer: internal, .claude/commands (e-mail notification channel) Oliver Kieselbach 2026-10-08 17:20:38 +02:00
  • 28da10e9fb E-mail as a notification-channel provider, Global-Admin only (D-332) Oliver Kieselbach 2026-10-08 17:20:36 +02:00
  • 36aafb655f bump pointer: internal, .claude/commands (push-relay Phase 0: submission ops events) Oliver Kieselbach 2026-10-08 16:56:17 +02:00
  • 24ea5c76c8 Ops events next to the four direct Telegram pings (push-relay Phase 0) Oliver Kieselbach 2026-10-08 16:56:16 +02:00
  • f5117e2290 bump pointer: internal (push-relay: filter + watch availability) Oliver Kieselbach 2026-10-08 16:38:10 +02:00
  • 0cd8baa85d Push receiver: history filter; the session-watch button hides when watching is impossible Oliver Kieselbach 2026-10-08 16:38:09 +02:00
  • cd009071db bump pointer: internal (push-relay: history refresh note) Oliver Kieselbach 2026-10-08 16:06:12 +02:00
  • f13b823387 Push receiver: the history refreshes itself and on a pull from the top Oliver Kieselbach 2026-10-08 16:06:11 +02:00
  • 2517e8eb28 Push receiver: delete entries, user-set retention, self-migrating VAPID key (#180) Oliver Kieselbach 2026-10-08 15:45:33 +02:00
  • d378fabc01 Push receiver: read the declarative notification from the push event (Safari history fix) (#179) Oliver Kieselbach 2026-10-08 14:59:44 +02:00
  • be0e37008a Action pins: exact release tag in every version comment (D-331) (#178) Oliver Kieselbach 2026-10-08 14:45:34 +02:00
  • 04fae4fe86 Web Push channel: alerts to paired phones without a third-party messenger (#177) Oliver Kieselbach 2026-10-08 13:48:42 +02:00
  • 2b29019b59 chore(deps): bump sharp (#175) dependabot[bot] 2026-10-07 16:47:50 +02:00
  • aa578def0e chore(deps): bump sharp (#176) dependabot[bot] 2026-10-07 16:47:38 +02:00
  • 7eceed16e1 chore(deps): bump the web-security group across 1 directory with 2 updates (#173) dependabot[bot] 2026-10-07 16:02:23 +02:00
  • 27454d5744 chore(deps): bump the mcp-security group across 1 directory with 2 updates (#174) dependabot[bot] 2026-10-07 16:02:09 +02:00
  • 46b8503207 bump pointer: internal (plan ingest-session-row-reads, D-325) Oliver Kieselbach 2026-10-07 15:33:38 +02:00
  • 50bb09eb92 Read the Sessions row projected on the agent hot path Oliver Kieselbach 2026-10-07 15:33:37 +02:00
  • aaf9b74426 chore(deps-dev): bump the web group (#172) dependabot[bot] 2026-10-06 13:57:27 +02:00
  • e31a5d2875 chore(deps): bump the mcp group (#171) dependabot[bot] 2026-10-06 13:56:30 +02:00
  • 5dc17377f6 bump pointer: internal (device-clock-server-frame P0+P1 live; B-dhu) Oliver Kieselbach 2026-10-05 23:47:39 +02:00
  • e2e12055bf Show the NTP clock skew in the right direction Oliver Kieselbach 2026-10-05 22:58:46 +02:00
  • 134ea71d63 bump pointer: internal, .claude/commands (plan device-clock-server-frame P1; B-r67; health marker) Oliver Kieselbach 2026-10-05 22:54:36 +02:00
  • 2f9a404323 Record session start and end on the server clock (no reader yet) Oliver Kieselbach 2026-10-05 22:53:35 +02:00
  • 964a548e81 bump pointer: internal (D-324 live; B-xf5 field verify) Oliver Kieselbach 2026-10-05 19:45:44 +02:00
  • 5d5a893557 Serve the OOBE update phase as Active by default (D-324) Oliver Kieselbach 2026-10-05 19:23:19 +02:00
  • d4e4170813 bump pointer: internal (D-323, plan teams-legacy-connector-removal; B-f5b, B-wkw, B-nuz) Oliver Kieselbach 2026-10-05 18:23:05 +02:00
  • 6d313d2832 Remove the Teams Office 365 Connector notification provider (D-323) Oliver Kieselbach 2026-10-05 18:16:16 +02:00
  • 0618df3c56 bump pointer: internal (D-322 live; B-vq3 live verify) Oliver Kieselbach 2026-10-05 17:48:02 +02:00
  • c6fda24843 Show the OOBE quality update live on the session page and in the Progress Portal (D-322) Oliver Kieselbach 2026-10-05 17:37:28 +02:00
  • 32bfa8b5b7 bump pointer: internal (feedback-bubble-ask-twice live) Oliver Kieselbach 2026-10-05 16:55:20 +02:00
  • c7bfc1e2f1 bump pointer: internal (plan feedback-bubble-ask-twice; B-yzf solved) Oliver Kieselbach 2026-10-05 16:45:33 +02:00
  • 2fb533ab92 Rating bubble asks a person at most twice and keeps one answer per person Oliver Kieselbach 2026-10-05 16:44:41 +02:00
  • b0b38c1cfa bump pointer: internal (D-321 live; B-az6 alert rule, B-yre live verify) Oliver Kieselbach 2026-10-05 15:59:51 +02:00
  • 34c8715c5a bump pointer: internal (D-321, plan in-app-feedback-and-upload-budget), .claude/commands (health markers and events for D-321) Oliver Kieselbach 2026-10-05 15:47:55 +02:00
  • 5e240d7b81 Send feedback from the help menu; Submit Logs and Report Session share one upload budget (D-321) Oliver Kieselbach 2026-10-05 15:47:37 +02:00
  • a621a00252 bump pointer: internal (D-320 released, agent 2.0.1478; B-ywb for the field verify) Oliver Kieselbach 2026-10-05 12:14:36 +02:00
  • d1063f17cb bump pointer: internal (D-320, concept docs, plan oobe-update-outcome-and-late-start) v2.0.1478 Oliver Kieselbach 2026-10-05 11:27:58 +02:00
  • ed517b5b40 Agent: the first run reads the OOBE update page back an hour; live and backfilled names have their own budgets (D-320) Oliver Kieselbach 2026-10-05 11:27:08 +02:00
  • 46058ffb90 OOBE quality update: how it ended, a begin without the page start, three rules for the update that did not happen (D-320) Oliver Kieselbach 2026-10-05 11:26:57 +02:00
  • 81d0fe6ed3 Row accents survive the list divider on every row, not just the first Oliver Kieselbach 2026-10-05 09:33:47 +02:00
  • a26cd5edf7 bump pointer: internal (D-319 released, agent 2.0.1477; B-bmk narrowed to the field verify) Oliver Kieselbach 2026-10-05 09:23:51 +02:00
  • 48e9702fd2 bump pointer: internal (D-319, concept docs, plan rewound-line-freshness, B-bmk) v2.0.1477 Oliver Kieselbach 2026-10-05 09:07:10 +02:00
  • b560cb13b6 A re-processed IME log entry anchors itself when the bytes it replaced were seen moments ago (D-319) Oliver Kieselbach 2026-10-05 09:07:09 +02:00
  • b0f866dc7d bump pointer: internal (OOBE update field measurement 3, D-315 verified) Oliver Kieselbach 2026-10-05 08:57:03 +02:00
  • f3460ea828 bump pointer: internal (D-318 released, agent 2.0.1476; B-gc8 narrowed to the field verify) Oliver Kieselbach 2026-10-04 20:12:25 +02:00
  • d88d4a143b bump pointer: internal (D-318, concept docs, plan platform-script-retry-pairing, B-gc8) v2.0.1476 Oliver Kieselbach 2026-10-04 18:29:50 +02:00
  • 913dfa13fe One platform run per executor start; IME results pair with the run that started last before them, the fallback judges by IME's rule (D-318) Oliver Kieselbach 2026-10-04 18:29:33 +02:00
  • 51345718c6 bump pointer: internal (D-316/D-317 released, agent 2.0.1475; B-qrz narrowed to the field verify) Oliver Kieselbach 2026-10-04 15:46:47 +02:00
  • 6b92e4e28c bump pointer: internal (D-316/D-317, concept docs, plan review, B-qrz/B-cwy/B-shx/B-96m), .claude/commands (platform-health marker) v2.0.1475 Oliver Kieselbach 2026-10-04 15:20:45 +02:00
  • f392819b97 Portal, MCP and backend apply script_output_reconciliation: a corrected platform run shows its own output and "exit n/a" (D-316) Oliver Kieselbach 2026-10-04 15:15:07 +02:00
  • 672570df04 Platform script output is checked against IME's saved result and corrected when the log attributed another script's end block (D-316) Oliver Kieselbach 2026-10-04 14:58:51 +02:00
  • 6f7ececa1f Platform scripts no longer take another executor's output and exit code: a cut line in AgentExecutor.log ends the invocation in front of it (D-317) Oliver Kieselbach 2026-10-04 14:36:39 +02:00
  • af7e9d3650 bump pointer: internal (D-315 live, B-crw field verify) Oliver Kieselbach 2026-10-04 13:51:00 +02:00
  • b3b122a23c bump pointer: internal (session start anchor D-315, plan, B-crw) Oliver Kieselbach 2026-10-04 13:41:19 +02:00
  • 064b670c75 Update and servicing rows backfilled from before the agent no longer set the session start (D-315) Oliver Kieselbach 2026-10-04 13:40:54 +02:00
  • e5eb6dc4fb bump pointer: internal (OOBE update field measurement 2, B-cqa session start regression, B-93v) Oliver Kieselbach 2026-10-04 13:05:18 +02:00
  • 9f46adcdfa ci: the storage auth helper masks its token in the run log, like the Key Vault token Oliver Kieselbach 2026-10-04 12:52:01 +02:00
  • cd1319a486 The GA tenant editor's Members card drops its icon column, so its content lines up with the other cards Claude 2026-10-03 09:17:08 +00:00
  • ca10f36624 Landing stats band takes the versioned stats file from the browser cache again; the build log names the baked file Claude 2026-10-03 04:57:38 +00:00
  • e537a4b074 Platform stats publish writes a new versioned file each run, so its immutable header holds again Claude 2026-10-03 04:54:54 +00:00
  • 762fef4e24 Landing page bakes the platform stats of the deploy into its static HTML; browsers then swap in the live numbers Claude 2026-10-03 03:27:20 +00:00
  • bca492ba05 bump pointer: internal (agent v2.0.1474 released, B-6dx field verify, time-attribution deploy steps) Oliver Kieselbach 2026-10-02 23:06:40 +02:00
  • e7dd962133 bump pointer: internal (time attribution v4 D-314, OOBE update page agent fixes, backlog B-q3z/B-6dx/B-dbf; member list lesson) v2.0.1474 Oliver Kieselbach 2026-10-02 22:57:10 +02:00
  • 14a67ef5af Time attribution shows the OOBE quality update as Windows Update and the wait after its restart as Waiting for sign-in (D-314) Oliver Kieselbach 2026-10-02 22:55:45 +02:00
  • 2371855b77 OOBE update page: fields from event properties in every display language, page start and stop never capped, no duplicates after a restart Oliver Kieselbach 2026-10-02 22:55:39 +02:00