[Week 34] Knowledge & AI Agents

Editor

Public: New Stuff

Nothing for this week

Public: Fixed Stuff

Fixed sign-out from Knowledge chrome redirecting to the wrong brand — signing out while viewing a different brand's Help Center (via ?brand_id=…) sent users to /hc on the default brand, 404ing if that brand had no HC; GuideChromeController#sign_out_path now uses the brand actually being rendered. (help_center) (OH-4664, #34424)

Restored account creation and theming asset uploads broken by the SSRF destination guard — the guard added in a prior PR also blocked trusted, server-generated download URLs from the Asset Upload Service that legitimately resolve to cluster-local addresses; those AUS-derived call sites now skip destination verification. (guide-media-service) (#1389)

Fixed translation routing losing the locale after switching translations — switching to the HTML body for translations stopped returning a locale, breaking translation routing updates. (guide-client) (OH-4825, #17490)

Fixed accordion panels becoming uneditable after removing a callout — removing a callout with the caret inside it could leave the accordion's content without a paragraph; callout removal now uses CKEditor's native widget deletion so an empty, editable paragraph is restored. (guide-client) (OH-4827, #17486)

Fixed double-padding and border collisions on callouts in article previews — preview surfaces (HTML preview, AI translation modal, diff views) weren't loading the shared baseline CSS, causing unstyled or double-styled callouts against the editor's own callout.css. (guide-client) (OH-4781, OH-4779, #17487)

Made it possible to insert content around a trailing tabs block — inserting content after (or around) a tabs component was impossible when it was the last element; pressing escape now focuses the block so content can be added above/below. (guide-client) (#17463)

Made it possible to insert content around a trailing accordion block — same fix as above, applied to accordion components. (guide-client) (#17464)

Internal only (incl. beta/flagged work)

Added a track-changes suggestion sidebar to the markup editor — new SuggestionSidebarPlugin mounts CKEditor's annotations sidebar into a reserved right-hand lane with review pills, gated behind hasContentRecommendations. (guide-client) (OH-4807, #17443)

Fixed a Cypress regression from the new suggestion sidebar — a transform used to offset the header when the sidebar is active created a new stacking context, covering elements and breaking cy.click() in article-editor specs; switched to shifting with left instead. (guide-client) (#17449)

Stopped AI job failures from looping forever on SQS — permanent failures (job not found, illegal status transition) were escaping ActiveJob unacked, causing SQS to redeliver every 30 minutes until retention expired with no DLQ; those are now rescued and logged while transient errors still retry. (guide-domains) (#1186)

Removed editor migration-phase handling now that phase 4 is GA — simplified useGuideArticleEditorMigrationStatus and related hooks to only fetch readOnly, dropped the migration-activity mutation and preloading, and removed the now-obsolete migration code paths. (guide-domains, guide-client) (#1188, #17478)

Migrated the Callout CKEditor plugin to TypeScript, behavior-preserving with regression coverage. (guide-client) (OH-4831, #17495)

Removed the onboarding-inside-editor experiment — ActionPreApprovalOnboarding was doing relative imports across packages that broke the playground; moved into the procedures app instead. (guide-client) (#17459)

Removed unimported test mocks. (guide-client) (#17498)

Repointed a noisy AI batch-queue latency monitor at actual queue-wait time instead of message age, which was falsely alerting on long-but-healthy translation jobs. (kennel) (#35359)