Skip to content

[Chat] Refactor chat architecture: Extract shared infrastructure into a core chat service#10983

Merged
ananzh merged 4 commits intoopensearch-project:mainfrom
ananzh:refactor-chat
Dec 3, 2025
Merged

[Chat] Refactor chat architecture: Extract shared infrastructure into a core chat service#10983
ananzh merged 4 commits intoopensearch-project:mainfrom
ananzh:refactor-chat

Conversation

@ananzh
Copy link
Copy Markdown
Member

@ananzh ananzh commented Nov 26, 2025

Description

This PR refactors the chat plugin architecture by extracting shared infrastructure into a core chat service. This establishes a clean separation of concerns where the core manages state infrastructure and plugins provide business logic through delegation.

Key Changes

  • Architecture Refactoring

    • Extracted Core Chat Service: Created src/core/public/chat/ with centralized state management for thread IDs, window state, and service lifecycle
    • Plugin Delegation Pattern: Converted chat plugin service from duplicate implementations to pure delegation to core service
    • Interface Standardization: Unified ChatWindowState and other interfaces in core, removing duplicate type definitions
  • Infrastructure vs Business Logic Separation

    • Core Service Responsibilities:
      • Thread ID management with BehaviorSubject
      • Window state management (open/closed, sidecar/fullscreen, padding)
      • Service availability and lifecycle
      • Event subscription handling
    • Plugin Service Responsibilities:
      • AI agent communication (AgUiAgent)
      • Message sending and tool result processing
      • Context management and workspace-aware data source handling
      • Business logic for chat interactions

Issues Resolved

NA

Screenshot

  • Test chat after refactor
refactor-chat.mov
  • Test investigation after refactor
refactor-investigation.mov

Testing the changes

Changelog

  • refactor: [Chat] Refactor chat architecture: Extract shared infrastructure into a core chat service

Check List

  • All tests pass
    • yarn test:jest
    • yarn test:jest_integration
  • New functionality includes testing.
  • New functionality has been documented.
  • Update CHANGELOG.md
  • Commits are signed per the DCO using --signoff

Summary by CodeRabbit

  • New Features

    • Core chat service added (thread & window management, messaging) with workspace-aware data source selection and ML agent routing.
    • Chat surfaced across platform lifecycle and plugin contexts; Ask AI action now uses core chat availability and improved header/button behavior.
  • Refactor

    • Shared chat infrastructure extracted into core for consistent integration.
  • Tests

    • Expanded unit/integration tests for chat lifecycle, capabilities, actions, and routing.

✏️ Tip: You can customize this high-level summary in your review settings.

@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Nov 26, 2025

Walkthrough

Centralizes chat infrastructure into a new core ChatService with observable thread/window state and public types; refactors the chat plugin to delegate to core services; introduces ML agent routing abstractions with AG‑UI fallback; removes several chart visualization error-handling modules and updates numerous tests and integrations.

Changes

Cohort / File(s) Change Summary
Core chat API & impl
src/core/public/chat/types.ts, src/core/public/chat/chat_service.ts, src/core/public/chat/chat_service.mock.ts, src/core/public/chat/index.ts, src/core/public/chat/chat_service.test.ts
Added public chat types and service contracts; implemented ChatService (setup/start/stop) with BehaviorSubject observables for threadId/windowState; added mocks and unit tests for setup/start behavior, delegation, observables, and lifecycle.
Core system integration & mocks
src/core/public/core_system.ts, src/core/public/index.ts, src/core/public/mocks.ts, src/core/public/plugins/plugin_context.ts, src/core/public/plugins/plugins_service.test.ts
Wired ChatService into CoreSystem lifecycle and public CoreSetup/CoreStart contracts; propagated chat into plugin contexts; extended core mocks to include chat.
Chat plugin — refactor & UI
src/plugins/chat/public/plugin.ts, src/plugins/chat/public/plugin.test.ts, src/plugins/chat/public/services/chat_service.ts, src/plugins/chat/public/services/chat_service.test.ts, src/plugins/chat/public/components/chat_header_button.tsx, src/plugins/chat/public/components/chat_header_button.test.tsx, src/plugins/chat/public/components/chat_window.tsx, src/plugins/chat/public/components/chat_window.tsx
Refactored plugin to use core.chat, always initialize ChatService with core dependencies, use isChatEnabled guard, delegate thread/window state and messaging to core ChatService, add workspace-aware dataSource resolution, adjust UI components to check core.chat.isAvailable and adapt handlers; update tests.
Chat types & capability helpers
src/plugins/chat/common/types.ts, src/plugins/chat/common/chat_capabilities.ts, src/plugins/chat/common/chat_capabilities.test.ts
Re-exported message types from core public API; added isChatEnabled and hasInvestigationCapabilities helpers with tests.
Actions & hooks
src/plugins/chat/public/actions/graph_timeseries_data_action.tsx, src/plugins/chat/public/actions/graph_timeseries_data_action.test.tsx
Added optional enabled parameter (default true) to useGraphTimeseriesDataAction and tests for enabled flag behavior.
Event handling & tool results
src/plugins/chat/public/services/chat_event_handler.ts, src/plugins/chat/public/services/chat_event_handler.test.ts
Deferred insertion of tool result messages into the timeline until assistant-provided toolMessage is received; updated tests to mock tool result payloads.
Removed: chat context manager & tests
src/plugins/chat/public/services/chat_context_manager.ts, src/plugins/chat/public/services/chat_context_manager.test.ts
Removed ChatContextManager and its test suite (static/dynamic context orchestration and related observables).
Removed: chart visualization error subsystem
src/plugins/chat/public/components/graph_visualization/error_boundary.tsx, src/plugins/chat/public/components/graph_visualization/error_display.tsx, src/plugins/chat/public/components/graph_visualization/error_handler.ts
Deleted full chart error-handling stack: error boundary, error display components, enhanced error types, logger, and validation utilities.
Graph validation header
src/plugins/chat/public/components/graph_visualization/validation.ts
Removed license header comment only.
AG‑UI agent changes
src/plugins/chat/public/services/ag_ui_agent.ts
runAgent now accepts optional dataSourceId and appends it to proxy URL when provided.
Plugin manifests & server config
src/plugins/chat/opensearch_dashboards.json, src/plugins/chat/server/index.ts
Added requiredBundles: ["dataSourceManagement"] and exposed config.enabled to browser.
ML agent routing infra
src/plugins/chat/server/routes/ml_routes/ml_agent_router.ts, src/plugins/chat/server/routes/ml_routes/router_registry.ts, src/plugins/chat/server/routes/ml_routes/generic_ml_router.ts
Added MLAgentRouter interface, factory/registry and GenericMLRouter implementation to forward to ML Commons agents with streaming handling, error mapping, and capability-based registration.
Removed ML Commons forwarder & tests
src/plugins/chat/server/routes/ml_routes/ml_commons_agent.ts, src/plugins/chat/server/routes/ml_routes/ml_commons_agent.test.ts
Removed prior ML Commons agent forwarder and its tests; replaced by GenericMLRouter abstraction.
Server routes & tests
src/plugins/chat/server/routes/index.ts, src/plugins/chat/server/routes/index.test.ts
Centralized AG‑UI forwarding helper forwardToAgUI, added dataSourceId query handling, integrated ML router usage with AG‑UI fallback, and updated route signature and tests for ML routing scenarios.
Explore plugin updates
src/plugins/explore/opensearch_dashboards.json, src/plugins/explore/public/plugin.ts, src/plugins/explore/public/types.ts, src/plugins/explore/public/build_services.ts, src/plugins/explore/public/components/tabs/action_bar/action_bar.tsx
Removed chat from optionalPlugins; removed chat dependency from ExploreStartDependencies; made slotRegistry optional; unconditionally register Ask AI action using core.chat; added safe fallback for optional slotRegistry.
Explore Ask AI action & tests
src/plugins/explore/public/actions/ask_ai_action.ts, src/plugins/explore/public/actions/ask_ai_action.test.ts, src/plugins/explore/public/components/ask_ai_action_item/ask_ai_action_item.tsx, src/plugins/explore/public/components/ask_ai_action_item/ask_ai_action_item.test.tsx
Migrated consumers to use core ChatServiceStart (chatService.isAvailable), updated signatures and mocks, and simplified sendMessageWithWindow usage.
Misc changelog
changelogs/fragments/10983.yml
Added fragment noting chat architecture refactor into core ChatService.

Sequence Diagram

sequenceDiagram
    actor Plugin as Chat Plugin
    participant Core as CoreSystem
    participant ChatSvc as ChatService (core)
    participant Impl as Plugin Implementation
    participant MLRouter as MLAgentRouter / AG-UI

    Note over Core,ChatSvc: Setup & Start
    Plugin->>Core: setup(core)
    Core->>ChatSvc: instantiate ChatService
    Core->>ChatSvc: start()
    ChatSvc-->>Core: ChatServiceStart (public contract)

    Note over Plugin,Impl: Runtime messaging flow
    Plugin->>ChatSvc: sendMessage(content, messages)
    alt Implementation registered
        ChatSvc->>Impl: sendMessage(content, messages)
        Impl-->>ChatSvc: { observable, userMessage }
        ChatSvc-->>Plugin: resolve with userMessage and observable
    else No implementation
        ChatSvc-->>Plugin: reject "Chat plugin not enabled"
    end

    Note over ChatSvc,MLRouter: Server-side agent routing (when triggering agent)
    ChatSvc->>MLRouter: forward request (includes dataSourceId)
    alt ML router available
        MLRouter-->>ChatSvc: streaming or JSON response
    else Fallback
        ChatSvc->>MLRouter: forwardToAgUI proxy
        MLRouter-->>ChatSvc: streaming SSE response
    end

    Note over Core,ChatSvc: Window state
    Plugin->>ChatSvc: setWindowState({isWindowOpen:true})
    ChatSvc->>ChatSvc: update windowState$ -> emit
    ChatSvc->>Plugin: invoke onWindowOpen callbacks
Loading

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~60 minutes

  • Areas needing focused review:
    • src/core/public/chat/chat_service.ts — observable lifecycle, thread ID generation, error messaging when implementation missing.
    • src/plugins/chat/public/services/chat_service.ts — workspace-aware dataSourceId resolution and delegation to core chat.
    • src/plugins/chat/server/routes/ml_routes/* and src/plugins/chat/server/routes/index.ts — ML router factory/registry, GenericMLRouter streaming/error mapping and AG‑UI fallback.
    • Removals: ensure no remaining references to deleted chart error modules cause build/test failures.
    • Cross-plugin contract changes (explore <> core chat) — update all callers to new ChatServiceStart surface.

Poem

🐰 I hopped through threads and windows wide,
Core roots planted, plugins now glide,
Routers route, agents sing their tune,
Old error pages fade by moon,
A rabbit cheers — new chat blooms soon!

Pre-merge checks and finishing touches

❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 53.85% which is insufficient. The required threshold is 80.00%. You can run @coderabbitai generate docstrings to improve docstring coverage.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately reflects the main change: chat architecture refactoring with extraction of shared infrastructure into a core service.
Description check ✅ Passed The PR description includes all key template sections: detailed description of changes, key objectives, changelog entry, and testing checklist. Description is comprehensive and directly addresses the purpose.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between d08609d and b9ecc7e.

📒 Files selected for processing (1)
  • changelogs/fragments/10983.yml (1 hunks)
🧰 Additional context used
🪛 YAMLlint (1.37.1)
changelogs/fragments/10983.yml

[error] 2-2: syntax error: expected , but found ''

(syntax)

⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (67)
  • GitHub Check: Run cypress tests (osd:ciGroup14Explore)
  • GitHub Check: Run functional tests on Windows (ciGroup10)
  • GitHub Check: Run functional tests on Windows (ciGroup12)
  • GitHub Check: Run functional tests on Windows (ciGroup11)
  • GitHub Check: Run functional tests on Windows (ciGroup13)
  • GitHub Check: Run functional tests on Windows (ciGroup2)
  • GitHub Check: Run functional tests on Windows (ciGroup9)
  • GitHub Check: Run functional tests on Windows (ciGroup7)
  • GitHub Check: Run functional tests on Windows (ciGroup4)
  • GitHub Check: Run functional tests on Windows (ciGroup8)
  • GitHub Check: Run functional tests on Windows (ciGroup5)
  • GitHub Check: Run plugin functional tests on Windows
  • GitHub Check: Run functional tests on Windows (ciGroup6)
  • GitHub Check: Run functional tests on Windows (ciGroup3)
  • GitHub Check: Run functional tests on Linux (ciGroup7)
  • GitHub Check: Run functional tests on Linux (ciGroup13)
  • GitHub Check: Run cypress tests (osd:ciGroup16Explore)
  • GitHub Check: Run functional tests on Linux (ciGroup5)
  • GitHub Check: Run functional tests on Linux (ciGroup8)
  • GitHub Check: Run functional tests on Linux (ciGroup11)
  • GitHub Check: Run functional tests on Windows (ciGroup1)
  • GitHub Check: Run functional tests on Linux (ciGroup12)
  • GitHub Check: Run functional tests on Linux (ciGroup4)
  • GitHub Check: Run functional tests on Linux (ciGroup9)
  • GitHub Check: Run functional tests on Linux (ciGroup6)
  • GitHub Check: Run functional tests on Linux (ciGroup2)
  • GitHub Check: Run functional tests on Linux (ciGroup3)
  • GitHub Check: Run functional tests on Linux (ciGroup10)
  • GitHub Check: Run functional tests on Linux (ciGroup1)
  • GitHub Check: Run cypress tests (osd:ciGroup17Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup15Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup13Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup14)
  • GitHub Check: Build min release artifacts on Linux x64
  • GitHub Check: Build min release artifacts on Windows x64
  • GitHub Check: Run cypress tests (osd:ciGroup12)
  • GitHub Check: Build min release artifacts on macOS ARM64
  • GitHub Check: Build min release artifacts on Linux ARM64
  • GitHub Check: Run cypress tests (osd:ciGroup12Explore)
  • GitHub Check: Run plugin functional tests on Linux
  • GitHub Check: Build min release artifacts on macOS x64
  • GitHub Check: Build and Verify on Windows (ciGroup3)
  • GitHub Check: Run cypress tests (osd:ciGroup10Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup10Fast)
  • GitHub Check: Build and Verify on Windows (ciGroup4)
  • GitHub Check: Run cypress tests (osd:ciGroup13)
  • GitHub Check: Run cypress tests (osd:ciGroup11)
  • GitHub Check: Run cypress tests (osd:ciGroup15)
  • GitHub Check: Run cypress tests (osd:ciGroup6)
  • GitHub Check: Run cypress tests (osd:ciGroup8)
  • GitHub Check: Run cypress tests (osd:ciGroup1)
  • GitHub Check: Run cypress tests (osd:ciGroup10Slow)
  • GitHub Check: Run cypress tests (osd:ciGroup9)
  • GitHub Check: Run cypress tests (osd:ciGroup5)
  • GitHub Check: Run cypress tests (osd:ciGroup7)
  • GitHub Check: Run cypress tests (osd:ciGroup4)
  • GitHub Check: Run cypress tests (osd:ciGroup3)
  • GitHub Check: Run cypress tests (osd:ciGroup2)
  • GitHub Check: Build and Verify on Linux (ciGroup4)
  • GitHub Check: Build and Verify on Windows (ciGroup1)
  • GitHub Check: Build and Verify on Windows (ciGroup2)
  • GitHub Check: Build and Verify on Linux (ciGroup3)
  • GitHub Check: Build and Verify on Linux (ciGroup1)
  • GitHub Check: Build and Verify on Linux (ciGroup2)
  • GitHub Check: Lint and validate
  • GitHub Check: bundle-analyzer
  • GitHub Check: lighthouse

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions
Copy link
Copy Markdown
Contributor

❌ Empty Changelog Section

The Changelog section in your PR description is empty. Please add a valid changelog entry or entries. If you did add a changelog entry, check to make sure that it was not accidentally included inside the comment block in the Changelog section.

@codecov
Copy link
Copy Markdown

codecov bot commented Nov 26, 2025

Codecov Report

❌ Patch coverage is 55.46559% with 110 lines in your changes missing coverage. Please review.
✅ Project coverage is 60.77%. Comparing base (a47de88) to head (b9ecc7e).
⚠️ Report is 5 commits behind head on main.

Files with missing lines Patch % Lines
src/plugins/chat/public/services/chat_service.ts 46.05% 27 Missing and 14 partials ⚠️
.../chat/server/routes/ml_routes/generic_ml_router.ts 5.55% 34 Missing ⚠️
src/core/public/chat/chat_service.ts 82.60% 7 Missing and 1 partial ⚠️
...gins/chat/public/components/chat_header_button.tsx 53.84% 2 Missing and 4 partials ⚠️
src/plugins/chat/public/plugin.ts 50.00% 3 Missing and 3 partials ⚠️
...ns/chat/server/routes/ml_routes/router_registry.ts 44.44% 4 Missing and 1 partial ⚠️
src/plugins/chat/server/routes/index.ts 82.60% 2 Missing and 2 partials ⚠️
...ns/chat/server/routes/ml_routes/ml_agent_router.ts 33.33% 2 Missing ⚠️
src/plugins/chat/public/components/chat_window.tsx 75.00% 1 Missing ⚠️
src/plugins/chat/public/services/ag_ui_agent.ts 50.00% 0 Missing and 1 partial ⚠️
... and 2 more
Additional details and impacted files
@@            Coverage Diff             @@
##             main   #10983      +/-   ##
==========================================
- Coverage   60.79%   60.77%   -0.02%     
==========================================
  Files        4531     4537       +6     
  Lines      122262   122381     +119     
  Branches    20501    20535      +34     
==========================================
+ Hits        74325    74376      +51     
- Misses      42695    42748      +53     
- Partials     5242     5257      +15     
Flag Coverage Δ
Linux_1 26.55% <5.66%> (-0.01%) ⬇️
Linux_2 38.97% <84.90%> (+0.04%) ⬆️
Linux_3 39.44% <37.75%> (-0.07%) ⬇️
Linux_4 33.73% <11.86%> (-0.01%) ⬇️
Windows_1 26.56% <5.66%> (-0.01%) ⬇️
Windows_2 38.95% <84.90%> (+0.04%) ⬆️
Windows_3 39.44% <37.75%> (-0.08%) ⬇️
Windows_4 33.73% <11.86%> (-0.01%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@ananzh ananzh force-pushed the refactor-chat branch 2 times, most recently from 2ed2cbd to 79000d0 Compare November 27, 2025 06:56
],
"requiredBundles": ["opensearchDashboardsReact", "opensearchDashboardsUtils", "dashboard"],
"optionalPlugins": ["home", "share", "chat", "contextProvider", "datasetManagement"],
"requiredBundles": ["opensearchDashboardsReact", "opensearchDashboardsUtils", "dashboard", "dataSource"],
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It seems dataSource isn't being used in the explore plugin. Can we remove this dependency?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

removed

Signed-off-by: Anan Zhuang <ananzh@amazon.com>
@ananzh ananzh force-pushed the refactor-chat branch 2 times, most recently from c9d0b03 to 7c8fc22 Compare December 1, 2025 07:47
@ananzh ananzh changed the title Refactor chat to chat service and chat plugin [Chat] Refactor chat architecture: Extract core service and eliminate duplicate implementations Dec 1, 2025
@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Dec 1, 2025

❌ Empty Changelog Section

The Changelog section in your PR description is empty. Please add a valid changelog entry or entries. If you did add a changelog entry, check to make sure that it was not accidentally included inside the comment block in the Changelog section.

@ananzh ananzh changed the title [Chat] Refactor chat architecture: Extract core service and eliminate duplicate implementations [Chat] Refactor chat architecture: Extract shared infrastructure into a core chat service Dec 1, 2025
@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Dec 1, 2025

❌ Empty Changelog Section

The Changelog section in your PR description is empty. Please add a valid changelog entry or entries. If you did add a changelog entry, check to make sure that it was not accidentally included inside the comment block in the Changelog section.

1 similar comment
@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Dec 1, 2025

❌ Empty Changelog Section

The Changelog section in your PR description is empty. Please add a valid changelog entry or entries. If you did add a changelog entry, check to make sure that it was not accidentally included inside the comment block in the Changelog section.

opensearch-changeset-bot bot added a commit to ananzh/OpenSearch-Dashboards that referenced this pull request Dec 1, 2025
Copy link
Copy Markdown

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

♻️ Duplicate comments (1)
src/core/public/chat/chat_service.ts (1)

39-51: suggestedActionsService in setup contract still captures undefined at call time.

Line 49 returns suggestedActionsService: this.suggestedActionsService which evaluates to undefined when setup() is called, before setSuggestedActionsService has been invoked. Consumers accessing it from the setup contract will always get undefined.

The fix in the start contract (line 157-159) correctly uses a getter. Apply the same pattern here:

   public setup(): ChatServiceSetup {
     return {
       setImplementation: (implementation: ChatImplementationFunctions) => {
         this.implementation = implementation;
       },

       setSuggestedActionsService: (service: { registerProvider(provider: any): void }) => {
         this.suggestedActionsService = service;
       },

-      suggestedActionsService: this.suggestedActionsService,
+      get suggestedActionsService() {
+        return chatServiceInstance.suggestedActionsService;
+      },
     };
   }

Note: You'll need to capture this reference (e.g., const chatServiceInstance = this;) before the return statement, similar to how it's done in start().

🧹 Nitpick comments (10)
src/plugins/chat/public/components/chat_window.tsx (1)

139-163: Consider extracting shared subscription logic.

The subscription handling in handleSend (lines 140-157) and handleResendMessage (lines 211-228) are nearly identical. Consider extracting this into a helper function to reduce duplication.

Also, the returned cleanup function () => subscription.unsubscribe() is not used by callers since handleSend is called without storing the result. Either remove the return or ensure callers use the cleanup when needed.

src/core/public/chat/chat_service.ts (2)

163-168: Complete BehaviorSubjects in stop() to properly signal lifecycle end.

The threadId$ and windowState$ BehaviorSubjects are not completed in stop(). While this may not cause immediate issues since the service stops with the application, completing them ensures subscribers receive proper lifecycle notifications and prevents potential memory leaks if subscribers don't explicitly unsubscribe.

   public async stop() {
     this.implementation = undefined;
     this.suggestedActionsService = undefined;
     this.windowOpenCallbacks.clear();
     this.windowCloseCallbacks.clear();
+    this.threadId$.complete();
+    this.windowState$.complete();
   }

111-132: Clarify the callback-based window control pattern.

openWindow() and closeWindow() trigger callbacks without directly updating windowState. This design delegates state management to the UI layer (which calls setWindowState). While this is intentional, consider adding a brief comment explaining this indirection to help future maintainers understand the flow.

src/core/public/chat/types.ts (2)

71-77: ToolMessage doesn't extend BaseMessage unlike other message types.

All other message types (DeveloperMessage, SystemMessage, AssistantMessage, UserMessage) extend BaseMessage, but ToolMessage redefines id, content, and role directly. While this works due to structural typing, extending BaseMessage would be more consistent and ensure ToolMessage inherits any future additions to BaseMessage (like name).

-export interface ToolMessage {
-  id: string;
-  content: string;
+export interface ToolMessage extends BaseMessage {
   role: 'tool';
+  content: string;
   toolCallId: string;
   error?: string;
 }

135-143: Consider typing the observable return value more specifically.

Using observable: any in the return types (lines 138, 154, 160) loses type safety. If the observable emits ChatEvent from ../../common/events, consider typing it as Observable<ChatEvent> or defining an appropriate event union type. This would help consumers understand the expected event stream.

   sendMessage(
     content: string,
     messages: Message[]
-  ): Promise<{ observable: any; userMessage: UserMessage }>;
+  ): Promise<{ observable: Observable<ChatEvent>; userMessage: UserMessage }>;
src/plugins/chat/public/components/chat_header_button.tsx (1)

61-79: Good defensive coding with guard and try/catch.

Adding the early return when flyoutMountPoint.current is unavailable and wrapping sidecar.open in try/catch prevents potential runtime errors. However, the catch block silently returns without logging, which could make debugging difficult.

Consider logging the error for debugging purposes:

       } catch (error) {
+        console.warn('Failed to open sidecar:', error);
         return;
       }
src/core/public/chat/chat_service.mock.ts (1)

15-48: Align mock observables and defaults with real ChatService behavior

getThreadId$ / getWindowState$ each instantiate a new BehaviorSubject, and getThreadId returns an empty string. In the real ChatService, these are shared subjects with generated thread-* IDs and a single window state stream. Tests that rely on shared state, ID format, or subscription behavior might see discrepancies when swapping between real and mock services.

Consider:

  • Reusing a single BehaviorSubject instance per mock for thread ID and window state, and
  • Initializing the thread ID with a thread-${timestamp}-${random} pattern similar to the core service,

so the mock more faithfully mirrors production behavior.

src/plugins/chat/public/plugin.ts (1)

50-82: Guard against writing paddingSize: undefined into window state

setupChatbotWindowState subscribes to overlays.sidecar.getSidecarConfig$() and forwards paddingSize directly to this.chatService.setWindowState({ paddingSize }). When paddingSize is undefined, this overwrites the core window state with an undefined value, relying on later readers to fall back to 400.

To avoid muddying the core state, consider only updating when a concrete value is present:

.subscribe((paddingSize) => {
  if (paddingSize != null) {
    this.chatService?.setWindowState({ paddingSize });
  }
});

This keeps the core window state canonical while still reacting to valid sidecar padding updates.

src/plugins/chat/public/services/chat_service.test.ts (1)

243-347: Consider stubbing console.warn around tests that expect no uiSettings

These tests intentionally construct ChatService without uiSettings and assert that runAgent is called with a dataSourceId of undefined. The implementation logs a console.warn in that case via getWorkspaceAwareDataSourceId, so these specs will emit warnings in CI even though the behavior is expected.

You might want to stub console.warn in the relevant suites (or in a shared Jest setup) to keep test output clean while still validating the same behavior.

Also applies to: 350-394

src/plugins/chat/public/services/chat_service.ts (1)

67-79: Centralize coreChatService null-checking for clarity

Most public methods (getThreadId, getThreadId$, window state accessors, window event hooks, openWindow/closeWindow, newThread, persistence via getThreadId) begin with the same guard:

if (!this.coreChatService) {
  throw new Error('Core chat service not available');
}

Given that ChatService is only intended to be used with a valid ChatServiceStart (as in the plugin), you could:

  • Enforce a non-optional constructor parameter for coreChatService, or
  • Introduce a small helper like private getCore(): ChatServiceStart to perform the check once.

This removes repetition and makes the invariant (“core chat must exist”) explicit at the type or helper level.

Also applies to: 102-115, 117-139, 141-170, 172-184, 195-207, 435-447, 497-503

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 649cb3d and 57979c7.

📒 Files selected for processing (16)
  • src/core/public/chat/chat_service.mock.ts (1 hunks)
  • src/core/public/chat/chat_service.test.ts (1 hunks)
  • src/core/public/chat/chat_service.ts (1 hunks)
  • src/core/public/chat/types.ts (1 hunks)
  • src/plugins/chat/public/components/chat_header_button.tsx (5 hunks)
  • src/plugins/chat/public/components/chat_window.tsx (5 hunks)
  • src/plugins/chat/public/components/graph_visualization/error_boundary.tsx (0 hunks)
  • src/plugins/chat/public/components/graph_visualization/error_display.tsx (0 hunks)
  • src/plugins/chat/public/components/graph_visualization/error_handler.ts (0 hunks)
  • src/plugins/chat/public/components/graph_visualization/validation.ts (0 hunks)
  • src/plugins/chat/public/plugin.test.ts (4 hunks)
  • src/plugins/chat/public/plugin.ts (5 hunks)
  • src/plugins/chat/public/services/chat_context_manager.test.ts (0 hunks)
  • src/plugins/chat/public/services/chat_context_manager.ts (0 hunks)
  • src/plugins/chat/public/services/chat_service.test.ts (16 hunks)
  • src/plugins/chat/public/services/chat_service.ts (15 hunks)
💤 Files with no reviewable changes (6)
  • src/plugins/chat/public/components/graph_visualization/validation.ts
  • src/plugins/chat/public/services/chat_context_manager.ts
  • src/plugins/chat/public/components/graph_visualization/error_handler.ts
  • src/plugins/chat/public/components/graph_visualization/error_boundary.tsx
  • src/plugins/chat/public/services/chat_context_manager.test.ts
  • src/plugins/chat/public/components/graph_visualization/error_display.tsx
🚧 Files skipped from review as they are similar to previous changes (1)
  • src/core/public/chat/chat_service.test.ts
🧰 Additional context used
🧬 Code graph analysis (7)
src/plugins/chat/public/components/chat_header_button.tsx (1)
src/core/public/index.ts (1)
  • SIDECAR_DOCKED_MODE (229-229)
src/core/public/chat/chat_service.mock.ts (1)
src/core/public/chat/types.ts (2)
  • ChatServiceSetup (170-190)
  • ChatServiceStart (195-203)
src/plugins/chat/public/components/chat_window.tsx (2)
src/core/public/chat/types.ts (1)
  • Message (82-87)
src/plugins/chat/common/types.ts (1)
  • Message (12-12)
src/plugins/chat/public/plugin.ts (4)
src/core/public/index.ts (2)
  • CoreSetup (262-298)
  • CoreStart (321-358)
src/core/public/chat/chat_service.ts (1)
  • ChatService (19-169)
src/plugins/chat/public/services/chat_service.ts (1)
  • ChatService (36-510)
src/core/public/chat/index.ts (1)
  • ChatService (23-23)
src/plugins/chat/public/plugin.test.ts (2)
src/core/public/chat/chat_service.ts (1)
  • ChatService (19-169)
src/plugins/chat/public/plugin.ts (1)
  • ChatPlugin (41-192)
src/core/public/chat/chat_service.ts (1)
src/core/public/chat/types.ts (5)
  • ChatServiceSetup (170-190)
  • ChatServiceStart (195-203)
  • ChatImplementationFunctions (149-165)
  • ChatWindowState (97-101)
  • Message (82-87)
src/plugins/chat/public/services/chat_service.test.ts (2)
src/core/public/chat/chat_service.ts (1)
  • ChatService (19-169)
src/core/public/chat/types.ts (1)
  • ChatServiceStart (195-203)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (68)
  • GitHub Check: bundle-analyzer
  • GitHub Check: Run functional tests on Windows (ciGroup10)
  • GitHub Check: Run functional tests on Windows (ciGroup11)
  • GitHub Check: Run functional tests on Windows (ciGroup8)
  • GitHub Check: Run functional tests on Windows (ciGroup12)
  • GitHub Check: Run functional tests on Windows (ciGroup9)
  • GitHub Check: Run functional tests on Windows (ciGroup13)
  • GitHub Check: Run functional tests on Windows (ciGroup6)
  • GitHub Check: Run functional tests on Windows (ciGroup4)
  • GitHub Check: Run functional tests on Windows (ciGroup5)
  • GitHub Check: Run functional tests on Windows (ciGroup1)
  • GitHub Check: Run functional tests on Windows (ciGroup7)
  • GitHub Check: Run functional tests on Windows (ciGroup3)
  • GitHub Check: Run functional tests on Linux (ciGroup12)
  • GitHub Check: Run functional tests on Windows (ciGroup2)
  • GitHub Check: Run functional tests on Linux (ciGroup13)
  • GitHub Check: Run functional tests on Linux (ciGroup11)
  • GitHub Check: Run functional tests on Linux (ciGroup8)
  • GitHub Check: Run functional tests on Linux (ciGroup10)
  • GitHub Check: Run functional tests on Linux (ciGroup7)
  • GitHub Check: Run functional tests on Linux (ciGroup9)
  • GitHub Check: Run functional tests on Linux (ciGroup5)
  • GitHub Check: Run functional tests on Linux (ciGroup4)
  • GitHub Check: Run functional tests on Linux (ciGroup6)
  • GitHub Check: Run functional tests on Linux (ciGroup3)
  • GitHub Check: Run functional tests on Linux (ciGroup2)
  • GitHub Check: Run functional tests on Linux (ciGroup1)
  • GitHub Check: Build min release artifacts on Linux ARM64
  • GitHub Check: Build min release artifacts on Windows x64
  • GitHub Check: Build min release artifacts on macOS x64
  • GitHub Check: Build min release artifacts on macOS ARM64
  • GitHub Check: Build and Verify on Windows (ciGroup3)
  • GitHub Check: Build min release artifacts on Linux x64
  • GitHub Check: Build and Verify on Windows (ciGroup2)
  • GitHub Check: Build and Verify on Windows (ciGroup4)
  • GitHub Check: Build and Verify on Linux (ciGroup4)
  • GitHub Check: Build and Verify on Windows (ciGroup1)
  • GitHub Check: Build and Verify on Linux (ciGroup2)
  • GitHub Check: Run plugin functional tests on Linux
  • GitHub Check: Build and Verify on Linux (ciGroup3)
  • GitHub Check: Build and Verify on Linux (ciGroup1)
  • GitHub Check: Run plugin functional tests on Windows
  • GitHub Check: Run cypress tests (osd:ciGroup17Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup16Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup14Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup13Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup15Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup9)
  • GitHub Check: Run cypress tests (osd:ciGroup12Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup10Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup15)
  • GitHub Check: Run cypress tests (osd:ciGroup14)
  • GitHub Check: Run cypress tests (osd:ciGroup13)
  • GitHub Check: Run cypress tests (osd:ciGroup11)
  • GitHub Check: Run cypress tests (osd:ciGroup10Fast)
  • GitHub Check: Run cypress tests (osd:ciGroup12)
  • GitHub Check: Run cypress tests (osd:ciGroup1)
  • GitHub Check: Run cypress tests (osd:ciGroup10Slow)
  • GitHub Check: Run cypress tests (osd:ciGroup8)
  • GitHub Check: Run cypress tests (osd:ciGroup7)
  • GitHub Check: Run cypress tests (osd:ciGroup6)
  • GitHub Check: Run cypress tests (osd:ciGroup5)
  • GitHub Check: Run cypress tests (osd:ciGroup2)
  • GitHub Check: Run cypress tests (osd:ciGroup3)
  • GitHub Check: Run cypress tests (osd:ciGroup4)
  • GitHub Check: Lint and validate
  • GitHub Check: lighthouse
  • GitHub Check: WhiteSource Security Check
🔇 Additional comments (8)
src/plugins/chat/public/components/chat_window.tsx (2)

67-83: Good use of ref pattern to stabilize timeline access in memoized callback.

The timelineRef pattern correctly avoids stale closure issues by providing access to the latest timeline value inside the memoized eventHandler without forcing re-creation on every timeline change.


31-34: LGTM!

The ChatWindowInstance interface correctly exposes sendMessage alongside startNewChat, enabling external callers to programmatically send messages through the chat window ref.

src/core/public/chat/types.ts (1)

1-93: Well-structured message type system.

The discriminated union pattern for Message types with role-based discrimination is a solid design. The Role type correctly enumerates all valid roles. This provides good type safety for message handling throughout the chat system.

src/plugins/chat/public/components/chat_header_button.tsx (2)

153-170: LGTM!

Using chatService.isWindowOpen() instead of the local isOpen state in the window open/close request handlers ensures consistency with the authoritative state source. The dependency array correctly reflects the actual dependencies used in the callbacks.


193-198: LGTM!

The availability check using core.chat.isAvailable() correctly gates the entire chat UI when the chat service is unavailable, aligning with the core-driven enablement model described in the PR objectives.

src/plugins/chat/public/plugin.test.ts (3)

41-45: LGTM!

Adding the capabilities mock with agenticFeaturesEnabled: true properly enables the chat feature in tests, aligning with the unified enablement model where the core service drives feature availability decisions.


93-95: LGTM!

The updated assertion correctly verifies that ChatService is constructed with uiSettings and chat from the core start contract, aligning with the new constructor signature that injects core dependencies.


180-189: LGTM!

The test correctly verifies that ChatService is always initialized regardless of configuration, with the core service handling enablement decisions. Removing the unused index parameter is a good cleanup.

Comment on lines +258 to +294
/**
* Get workspace-aware data source ID
* Determines the correct data source based on current workspace context
*/
private async getWorkspaceAwareDataSourceId(): Promise<string | undefined> {
try {
if (!this.uiSettings) {
// eslint-disable-next-line no-console
console.warn('UI Settings not available, using default data source');
return undefined;
}

// Get workspace context
const workspaces = getWorkspaces();
if (!workspaces) {
// eslint-disable-next-line no-console
console.warn('Workspaces service not available, using global scope');
return undefined;
}

const currentWorkspaceId = workspaces.currentWorkspaceId$.getValue();

// Determine scope based on workspace context
const scope: UiSettingScope = !!currentWorkspaceId
? UiSettingScope.WORKSPACE
: UiSettingScope.GLOBAL;

// Get default data source with proper scope
const dataSourceId = await getDefaultDataSourceId(this.uiSettings, scope);

return dataSourceId || undefined;
} catch (error) {
// eslint-disable-next-line no-console
console.warn('Failed to determine workspace-aware data source, proceeding without:', error);
return undefined; // Graceful fallback - undefined means local cluster
}
}
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

getWorkspaceAwareDataSourceId skips global default when workspaces are unavailable

In the !workspaces branch you log:

console.warn('Workspaces service not available, using global scope');
return undefined;

However, returning undefined bypasses getDefaultDataSourceId entirely, so in non-workspace environments you effectively ignore any configured global default data source and always fall back to the local cluster. That’s different from the workspace-enabled path, where the global default is honored via UiSettingScope.GLOBAL.

To keep behavior consistent (and match the log message), consider:

const workspaces = getWorkspaces();
if (!workspaces) {
  // eslint-disable-next-line no-console
  console.warn('Workspaces service not available, using global scope');
  const dataSourceId = await getDefaultDataSourceId(this.uiSettings, UiSettingScope.GLOBAL);
  return dataSourceId || undefined;
}

This way, workspace-less deployments still respect the configured global default data source.

🤖 Prompt for AI Agents
In src/plugins/chat/public/services/chat_service.ts around lines 258 to 294, the
branch handling !workspaces returns undefined which skips calling
getDefaultDataSourceId and therefore ignores any configured GLOBAL default;
instead, call getDefaultDataSourceId(this.uiSettings, UiSettingScope.GLOBAL) in
that branch, return its result (or undefined if falsy), and keep the
console.warn message so non-workspace deployments still honor the global default
data source.

opensearch-changeset-bot bot added a commit to ananzh/OpenSearch-Dashboards that referenced this pull request Dec 1, 2025
Copy link
Copy Markdown

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Nitpick comments (2)
src/plugins/explore/public/components/ask_ai_action_item/ask_ai_action_item.test.tsx (2)

9-47: Consider reusing the core chat service start mock instead of hand‑rolled jest.Mocked<ChatServiceStart>

The manual mockChatService shape looks consistent with the current ChatServiceStart surface, but it will need to be kept in sync as the core chat API evolves. Since this PR adds a dedicated core chat mock module (src/core/public/chat/chat_service.mock.ts), it would be more maintainable to construct the mock from that shared helper and only override the behaviors you care about in this test (e.g., sendMessageWithWindow, isWindowOpen).

This reduces duplication and the risk of missing new methods in future refactors.


172-220: Double‑check the semantics of the second argument to sendMessageWithWindow

The updated expectations now assert that sendMessageWithWindow is always called with an empty array as the second argument:

  • Line 189–192: 'What is this error?', []
  • Line 215–218: 'Follow-up question', []
  • Line 265: 'Test question', []

If that second parameter is intended to carry tool results, context payload, or other metadata in the new core chat API, enforcing [] here might be too strict and could mask missing context from AskAIActionItem. Conversely, if this component is intentionally not providing any additional payload, you might want to either:

  • keep the assertion but add a short comment clarifying that [] is the expected contract for this call site, or
  • relax the assertion to only care about the message (e.g., toHaveBeenCalledWith('What is this error?', expect.any(Array)) or expect.anything()), so tests don’t over‑couple to how the second argument is currently used.

Please confirm that [] is the correct, long‑term behavior for this component with the new ChatServiceStart signature.

Also applies to: 265-265

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 11605d7 and e77fe6f.

⛔ Files ignored due to path filters (1)
  • src/plugins/dashboard/public/application/components/dashboard_top_nav/__snapshots__/dashboard_top_nav.test.tsx.snap is excluded by !**/*.snap
📒 Files selected for processing (2)
  • src/core/public/chat/chat_service.test.ts (1 hunks)
  • src/plugins/explore/public/components/ask_ai_action_item/ask_ai_action_item.test.tsx (7 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
  • src/core/public/chat/chat_service.test.ts
🧰 Additional context used
🧬 Code graph analysis (1)
src/plugins/explore/public/components/ask_ai_action_item/ask_ai_action_item.test.tsx (2)
src/core/public/chat/types.ts (1)
  • ChatServiceStart (195-203)
src/core/public/index.ts (1)
  • ChatServiceStart (440-440)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (68)
  • GitHub Check: Run functional tests on Linux (ciGroup9)
  • GitHub Check: Run functional tests on Windows (ciGroup13)
  • GitHub Check: Run functional tests on Windows (ciGroup9)
  • GitHub Check: Run functional tests on Windows (ciGroup11)
  • GitHub Check: Run functional tests on Windows (ciGroup12)
  • GitHub Check: Run functional tests on Windows (ciGroup10)
  • GitHub Check: Run functional tests on Windows (ciGroup6)
  • GitHub Check: Run functional tests on Windows (ciGroup7)
  • GitHub Check: Run functional tests on Windows (ciGroup8)
  • GitHub Check: Run functional tests on Windows (ciGroup4)
  • GitHub Check: Run functional tests on Windows (ciGroup5)
  • GitHub Check: Run functional tests on Windows (ciGroup3)
  • GitHub Check: Run functional tests on Windows (ciGroup1)
  • GitHub Check: Run functional tests on Windows (ciGroup2)
  • GitHub Check: Run functional tests on Linux (ciGroup13)
  • GitHub Check: Run functional tests on Linux (ciGroup12)
  • GitHub Check: Run functional tests on Linux (ciGroup11)
  • GitHub Check: Run functional tests on Linux (ciGroup7)
  • GitHub Check: Run functional tests on Linux (ciGroup4)
  • GitHub Check: Run functional tests on Linux (ciGroup3)
  • GitHub Check: Run functional tests on Linux (ciGroup10)
  • GitHub Check: Run functional tests on Linux (ciGroup6)
  • GitHub Check: Run functional tests on Linux (ciGroup8)
  • GitHub Check: Run functional tests on Linux (ciGroup5)
  • GitHub Check: Run functional tests on Linux (ciGroup2)
  • GitHub Check: Run functional tests on Linux (ciGroup1)
  • GitHub Check: Build and Verify on Linux (ciGroup3)
  • GitHub Check: Build min release artifacts on Linux ARM64
  • GitHub Check: Build and Verify on Windows (ciGroup4)
  • GitHub Check: Build min release artifacts on Windows x64
  • GitHub Check: Build min release artifacts on macOS x64
  • GitHub Check: Build min release artifacts on macOS ARM64
  • GitHub Check: Build min release artifacts on Linux x64
  • GitHub Check: Build and Verify on Windows (ciGroup2)
  • GitHub Check: Build and Verify on Windows (ciGroup3)
  • GitHub Check: Build and Verify on Windows (ciGroup1)
  • GitHub Check: Build and Verify on Linux (ciGroup4)
  • GitHub Check: Build and Verify on Linux (ciGroup2)
  • GitHub Check: Build and Verify on Linux (ciGroup1)
  • GitHub Check: Lint and validate
  • GitHub Check: Run plugin functional tests on Linux
  • GitHub Check: Run plugin functional tests on Windows
  • GitHub Check: Run cypress tests (osd:ciGroup16Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup14Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup15Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup17Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup14)
  • GitHub Check: Run cypress tests (osd:ciGroup10Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup15)
  • GitHub Check: Run cypress tests (osd:ciGroup13)
  • GitHub Check: Run cypress tests (osd:ciGroup13Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup12Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup10Fast)
  • GitHub Check: Run cypress tests (osd:ciGroup12)
  • GitHub Check: Run cypress tests (osd:ciGroup10Slow)
  • GitHub Check: Run cypress tests (osd:ciGroup11)
  • GitHub Check: Run cypress tests (osd:ciGroup8)
  • GitHub Check: Run cypress tests (osd:ciGroup4)
  • GitHub Check: Run cypress tests (osd:ciGroup9)
  • GitHub Check: Run cypress tests (osd:ciGroup7)
  • GitHub Check: Run cypress tests (osd:ciGroup1)
  • GitHub Check: Run cypress tests (osd:ciGroup5)
  • GitHub Check: Run cypress tests (osd:ciGroup3)
  • GitHub Check: Run cypress tests (osd:ciGroup2)
  • GitHub Check: Run cypress tests (osd:ciGroup6)
  • GitHub Check: lighthouse
  • GitHub Check: bundle-analyzer
  • GitHub Check: WhiteSource Security Check

opensearch-changeset-bot bot added a commit to ananzh/OpenSearch-Dashboards that referenced this pull request Dec 2, 2025
Copy link
Copy Markdown

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

♻️ Duplicate comments (1)
src/plugins/chat/public/services/chat_service.ts (1)

265-301: getWorkspaceAwareDataSourceId still bypasses global default when workspaces unavailable.

This issue was flagged in a previous review. When !workspaces (lines 279-283), the code returns undefined without calling getDefaultDataSourceId with UiSettingScope.GLOBAL. This means non-workspace deployments won't respect the configured global default data source.

Consider calling getDefaultDataSourceId with global scope when workspaces are unavailable:

       const workspaces = this.workspaces;
       if (!workspaces) {
         // eslint-disable-next-line no-console
         console.warn('Workspaces service not available, using global scope');
-        return undefined;
+        const dataSourceId = await getDefaultDataSourceId(this.uiSettings, UiSettingScope.GLOBAL);
+        return dataSourceId || undefined;
       }
🧹 Nitpick comments (2)
src/plugins/chat/public/plugin.ts (1)

114-129: Consider null-safe optional chaining for this.chatService.

The code uses this.chatService.sendMessage.bind(this.chatService) after the !isEnabled early return, so this.chatService is guaranteed to be defined at this point. However, using this.chatService! would make this explicit to readers and align with usage on lines 141 and 177.

     // Register implementation functions with core chat service
     if (this.coreSetup?.chat?.setImplementation) {
       this.coreSetup.chat.setImplementation({
         // Only business logic operations
-        sendMessage: this.chatService.sendMessage.bind(this.chatService),
-        sendMessageWithWindow: this.chatService.sendMessageWithWindow.bind(this.chatService),
-        openWindow: this.chatService.openWindow.bind(this.chatService),
-        closeWindow: this.chatService.closeWindow.bind(this.chatService),
+        sendMessage: this.chatService!.sendMessage.bind(this.chatService!),
+        sendMessageWithWindow: this.chatService!.sendMessageWithWindow.bind(this.chatService!),
+        openWindow: this.chatService!.openWindow.bind(this.chatService!),
+        closeWindow: this.chatService!.closeWindow.bind(this.chatService!),
       });
     }
src/plugins/explore/public/components/ask_ai_action_item/ask_ai_action_item.test.tsx (1)

9-9: Mock now correctly targets core ChatServiceStart; consider reusing shared mock helper

The switch to importing ChatServiceStart from core/public and typing mockChatService as jest.Mocked<ChatServiceStart> with the expanded method surface (sendMessageWithWindow, window state APIs, suggestedActionsService) looks consistent with the new core chat service contract.

To reduce duplication and keep this mock in sync with future API changes, you might consider constructing it via the new core chat mock helper (e.g., from src/core/public/chat/chat_service.mock.ts) instead of hand-rolling the object here.

Also applies to: 26-26, 35-47

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between be1d7e7 and 642abcd.

⛔ Files ignored due to path filters (1)
  • src/plugins/dashboard/public/application/components/dashboard_top_nav/__snapshots__/dashboard_top_nav.test.tsx.snap is excluded by !**/*.snap
📒 Files selected for processing (5)
  • src/core/public/chat/chat_service.test.ts (1 hunks)
  • src/plugins/chat/public/plugin.test.ts (5 hunks)
  • src/plugins/chat/public/plugin.ts (5 hunks)
  • src/plugins/chat/public/services/chat_service.ts (15 hunks)
  • src/plugins/explore/public/components/ask_ai_action_item/ask_ai_action_item.test.tsx (7 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
  • src/core/public/chat/chat_service.test.ts
🧰 Additional context used
🧬 Code graph analysis (3)
src/plugins/explore/public/components/ask_ai_action_item/ask_ai_action_item.test.tsx (1)
src/core/public/chat/types.ts (1)
  • ChatServiceStart (195-203)
src/plugins/chat/public/plugin.test.ts (2)
src/core/public/chat/chat_service.ts (1)
  • ChatService (19-169)
src/plugins/chat/public/plugin.ts (1)
  • ChatPlugin (41-192)
src/plugins/chat/public/services/chat_service.ts (4)
src/core/public/index.ts (5)
  • IUiSettingsClient (399-399)
  • ChatServiceStart (440-440)
  • WorkspacesStart (421-421)
  • ChatWindowState (443-443)
  • UiSettingScope (142-142)
src/core/public/chat/types.ts (2)
  • ChatServiceStart (195-203)
  • ChatWindowState (97-101)
src/core/public/chat/index.ts (2)
  • ChatServiceStart (9-9)
  • ChatWindowState (20-20)
src/plugins/data_source_management/public/index.ts (1)
  • getDefaultDataSourceId (29-29)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (68)
  • GitHub Check: Run functional tests on Linux (ciGroup12)
  • GitHub Check: Run functional tests on Linux (ciGroup11)
  • GitHub Check: Run functional tests on Windows (ciGroup10)
  • GitHub Check: Run functional tests on Windows (ciGroup8)
  • GitHub Check: Run functional tests on Windows (ciGroup13)
  • GitHub Check: Run functional tests on Linux (ciGroup7)
  • GitHub Check: Run functional tests on Windows (ciGroup11)
  • GitHub Check: Run functional tests on Linux (ciGroup4)
  • GitHub Check: Run functional tests on Windows (ciGroup6)
  • GitHub Check: Run functional tests on Windows (ciGroup12)
  • GitHub Check: Run functional tests on Windows (ciGroup9)
  • GitHub Check: Run functional tests on Linux (ciGroup13)
  • GitHub Check: Run functional tests on Windows (ciGroup7)
  • GitHub Check: Run functional tests on Windows (ciGroup5)
  • GitHub Check: Run functional tests on Windows (ciGroup4)
  • GitHub Check: Run functional tests on Linux (ciGroup5)
  • GitHub Check: Run functional tests on Windows (ciGroup1)
  • GitHub Check: Run functional tests on Linux (ciGroup9)
  • GitHub Check: Run functional tests on Windows (ciGroup2)
  • GitHub Check: Run functional tests on Windows (ciGroup3)
  • GitHub Check: Run functional tests on Linux (ciGroup8)
  • GitHub Check: Run functional tests on Linux (ciGroup10)
  • GitHub Check: Run functional tests on Linux (ciGroup2)
  • GitHub Check: Run functional tests on Linux (ciGroup6)
  • GitHub Check: Run functional tests on Linux (ciGroup1)
  • GitHub Check: Run functional tests on Linux (ciGroup3)
  • GitHub Check: Build min release artifacts on Linux ARM64
  • GitHub Check: Build min release artifacts on Windows x64
  • GitHub Check: Build min release artifacts on Linux x64
  • GitHub Check: Build min release artifacts on macOS ARM64
  • GitHub Check: Build min release artifacts on macOS x64
  • GitHub Check: Run plugin functional tests on Linux
  • GitHub Check: Run plugin functional tests on Windows
  • GitHub Check: Build and Verify on Windows (ciGroup4)
  • GitHub Check: Build and Verify on Windows (ciGroup3)
  • GitHub Check: Build and Verify on Linux (ciGroup4)
  • GitHub Check: Build and Verify on Linux (ciGroup3)
  • GitHub Check: Build and Verify on Windows (ciGroup1)
  • GitHub Check: Build and Verify on Windows (ciGroup2)
  • GitHub Check: Build and Verify on Linux (ciGroup2)
  • GitHub Check: Build and Verify on Linux (ciGroup1)
  • GitHub Check: Run cypress tests (osd:ciGroup12Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup16Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup13Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup15Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup10Explore)
  • GitHub Check: Lint and validate
  • GitHub Check: Run cypress tests (osd:ciGroup17Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup14Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup14)
  • GitHub Check: Run cypress tests (osd:ciGroup13)
  • GitHub Check: Run cypress tests (osd:ciGroup7)
  • GitHub Check: Run cypress tests (osd:ciGroup5)
  • GitHub Check: Run cypress tests (osd:ciGroup10Fast)
  • GitHub Check: Run cypress tests (osd:ciGroup9)
  • GitHub Check: Run cypress tests (osd:ciGroup10Slow)
  • GitHub Check: Run cypress tests (osd:ciGroup15)
  • GitHub Check: Run cypress tests (osd:ciGroup11)
  • GitHub Check: Run cypress tests (osd:ciGroup6)
  • GitHub Check: Run cypress tests (osd:ciGroup12)
  • GitHub Check: Run cypress tests (osd:ciGroup3)
  • GitHub Check: Run cypress tests (osd:ciGroup8)
  • GitHub Check: Run cypress tests (osd:ciGroup2)
  • GitHub Check: Run cypress tests (osd:ciGroup1)
  • GitHub Check: Run cypress tests (osd:ciGroup4)
  • GitHub Check: WhiteSource Security Check
  • GitHub Check: lighthouse
  • GitHub Check: bundle-analyzer
🔇 Additional comments (15)
src/plugins/chat/public/plugin.test.ts (4)

41-62: Mock setup correctly includes new core services.

The mock setup properly adds capabilities.investigation.agenticFeaturesEnabled, uiSettings, chat, and workspaces to align with the refactored ChatService constructor and enablement flow. Using empty objects for these mocks is acceptable for unit tests that only verify constructor call arguments.


96-101: Constructor expectation correctly updated.

The test now verifies that ChatService is instantiated with the three core dependencies (uiSettings, chat, workspaces) from mockCoreStart, matching the new constructor signature.


137-147: Test description accurately reflects new enablement semantics.

The updated test description "should always initialize chat service (core service handles enablement)" correctly documents that the plugin always initializes ChatService and defers enablement decisions to the core service.


195-208: Configuration handling test updated for core-driven enablement.

The loop correctly tests various configuration formats and verifies that ChatService is always instantiated with the three core dependencies, regardless of the config values. The comment on line 202 accurately explains that enablement logic is delegated to the core service.

src/plugins/chat/public/plugin.ts (3)

12-24: Imports correctly updated for core integration.

The new imports properly bring in CoreSetup, ChatWindowState from core, and isChatEnabled from the common capabilities module to support the refactored architecture.


84-91: Setup method signature updated for core integration.

The setup method now accepts CoreSetup and stores the reference for later use in start(). This follows the OpenSearch Dashboards plugin lifecycle pattern where setup captures references needed during start.


93-112: Unified enablement check with graceful fallback.

The enablement logic using isChatEnabled() centralizes the decision. Note that ChatService is always instantiated on line 106 (before the enablement check), but the return contract correctly returns chatService: undefined when disabled. This ensures internal state is consistent even when chat is disabled.

src/plugins/chat/public/services/chat_service.ts (5)

54-72: Constructor properly initializes dependencies and restores state.

The constructor correctly stores the three dependencies and conditionally restores thread ID from session storage only when coreChatService is available. This prevents errors during initialization when the core service is not provided.


148-177: Change tracking in onWindowStateChange is well-implemented.

The implementation correctly:

  1. Skips the initial state to avoid spurious callbacks
  2. Compares previous vs new state to determine what changed
  3. Only notifies when something actually changed
  4. Properly unsubscribes on cleanup

This is a clean pattern for observing state changes with change metadata.


488-502: Guard clause improvement in clearDynamicContextFromStore.

Good refactor using early return pattern instead of nested conditionals. This improves readability.


504-516: newThread correctly delegates to core service.

The method properly delegates thread creation to coreChatService, clears local messages, removes session storage, and clears dynamic context. The error thrown when coreChatService is unavailable maintains consistency with other methods.


74-86: Throwing on missing core service may cause runtime issues.

These methods throw Error('Core chat service not available') when coreChatService is undefined. While this enforces the dependency contract, callers (UI components, other services) must properly handle these exceptions. Verify that all callers either:

  1. Are only invoked when chat is enabled (and thus coreChatService is available), or
  2. Have proper try/catch error handling
src/plugins/explore/public/components/ask_ai_action_item/ask_ai_action_item.test.tsx (3)

172-194: Execution test asserts the updated sendMessageWithWindow contract correctly

The “should send message with sendMessageWithWindow” test now verifies the two-argument call (message, []), which matches the updated payload contract and gives good coverage that the component isn’t leaking any extra context through this path.


196-220: Good coverage for behavior when chat window is already open

The new “should send message regardless of chat window state” test correctly stubs isWindowOpen to true and still asserts a sendMessageWithWindow(message, []) call, guarding against regressions where an open window might inadvertently short-circuit sending.


248-267: Trim test validates outbound message normalization against the new API

The whitespace-trimming test now asserts sendMessageWithWindow('Test question', []), which both validates input normalization and confirms the component uses the new empty-payload shape consistently with other execution tests.

wanglam
wanglam previously approved these changes Dec 2, 2025
Comment thread src/plugins/chat/public/types.ts Outdated
navigation: NavigationPublicPluginStart;
contextProvider: ContextProviderStart;
charts: ChartsPluginStart;
dataSourceManagement?: DataSourceManagementPluginSetup;
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit: Seems we don't rely on the dataSourceManagement plugin for now, can we remove it from the dependencies and the opensearch_dashboards.json. I'm open to do this in the future PR.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes will completely clean it out

return this.windowState$.asObservable();
},

setWindowState,
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Shall we hide this interface? I am thinking exposing this method may give too much details of the module.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice comment. Do you think I can work this as a follow up? windowState is mainly UI related like paddingSize, open and mode. The current pattern is like direct expose, similar to other plugins.

// Core exposes setter
  core.workspaces.setClient(client)

// Plugin uses it
  this.coreStart.workspaces.setClient(myClient);

We can unify the pattern later in the follow-up?

Signed-off-by: Anan Zhuang <ananzh@amazon.com>
Copy link
Copy Markdown

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

♻️ Duplicate comments (1)
src/plugins/chat/public/services/chat_service.ts (1)

279-283: !workspaces branch bypasses global default data source.

The !workspaces branch (Lines 279-283) logs "using global scope" but returns undefined without calling getDefaultDataSourceId. This means non-workspace deployments ignore any configured global default data source and always fall back to the local cluster, which is inconsistent with the workspace-enabled path (Lines 285-295).

This issue was previously flagged in a past review comment.

Apply this diff to honor global defaults in non-workspace deployments:

 const workspaces = this.workspaces;
 if (!workspaces) {
   // eslint-disable-next-line no-console
   console.warn('Workspaces service not available, using global scope');
-  return undefined;
+  const dataSourceId = await getDefaultDataSourceId(this.uiSettings, UiSettingScope.GLOBAL);
+  return dataSourceId || undefined;
 }
🧹 Nitpick comments (5)
src/plugins/explore/public/components/ask_ai_action_item/ask_ai_action_item.test.tsx (2)

9-9: Prefer using the shared coreChatServiceMock instead of a hand-rolled mock

You’re manually mirroring the ChatServiceStart surface here; this will drift as the core chat API evolves and doesn’t provide realistic return values (e.g., observables from getThreadId$ / getWindowState$). Consider switching to the central mock (e.g., coreChatServiceMock.createStartContract() from src/core/public/chat/chat_service.mock.ts) and then overriding only the behaviours this test cares about (isAvailable, isWindowOpen, sendMessageWithWindow, etc.). This will keep tests aligned with the core contract and reduce future maintenance.

Also applies to: 26-47


171-195: Verify that log context is still included in the chat message flow and add/assert tests accordingly

These tests now assert that sendMessageWithWindow is called with the user question and an empty array ([]). Given this component is “Ask AI” for a log entry and the success message still says “with log context”, please double‑check that:

  • The log context (document ID, index, message, etc.) is still being forwarded somewhere in the new architecture (e.g., via the plugin service or tools), and
  • If so, that behaviour is covered by tests (either here or in a more appropriate layer), ideally by asserting the structured payload rather than just [].

If the context is intentionally no longer passed from this component, it might be worth updating the success copy and/or adding explicit tests at the new integration point to avoid a silent regression in log-aware AI responses.

Also applies to: 196-221, 248-267

src/plugins/chat/public/plugin.ts (2)

94-112: Consider deferring ChatService initialization when disabled.

The comment states "core service handles enablement," but the code still creates a ChatService instance even when !isEnabled (Line 106), only to return undefined in the start contract (Line 110). This creates an unused service instance and wastes resources.

Consider either:

  1. Moving the ChatService instantiation inside the isEnabled block if it's truly disabled
  2. Returning the chatService instance even when disabled if the core service should manage all enablement logic

The current approach is inconsistent with both patterns.


141-141: Non-null assertions are safe but fragile.

The this.chatService! assertions (Lines 141, 177) are safe because they're within the isEnabled block where chatService is guaranteed to be defined. However, this pattern is fragile—if the control flow changes, runtime errors could occur.

Consider storing chatService in a local variable after initialization to make the type narrowing explicit:

 // Always initialize chat service - core service handles enablement
 this.chatService = new ChatService(core.uiSettings, core.chat, core.workspaces);

 if (!isEnabled) {
   return {
     chatService: undefined,
   };
 }

+const chatService = this.chatService; // Type is now narrowed to non-undefined

 // Register implementation functions with core chat service
 if (this.coreSetup?.chat?.setImplementation) {
   this.coreSetup.chat.setImplementation({
     // Only business logic operations
-    sendMessage: this.chatService.sendMessage.bind(this.chatService),
+    sendMessage: chatService.sendMessage.bind(chatService),
     // ... etc
   });
 }

Also applies to: 177-177

src/plugins/chat/public/services/chat_service.ts (1)

74-86: Optional constructor parameter but required in methods.

The constructor accepts coreChatService?: ChatServiceStart as optional (Line 56), but getThreadId() and getThreadId$() throw if it's unavailable (Lines 75-77, 82-84). This creates a mismatch:

  • If the service is optional at construction, methods should handle its absence gracefully
  • If it's required for operation, consider making it a required constructor parameter

The current pattern will lead to runtime errors if ChatService is constructed without the core service but these methods are called.

Consider either:

  1. Making coreChatService required in the constructor
  2. Returning a default value or throwing a more specific error during construction if it's missing
  3. Handling the undefined case gracefully in these methods (e.g., returning a default threadId or a BehaviorSubject with a default value)
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between a5b1043 and d08609d.

⛔ Files ignored due to path filters (1)
  • src/plugins/dashboard/public/application/components/dashboard_top_nav/__snapshots__/dashboard_top_nav.test.tsx.snap is excluded by !**/*.snap
📒 Files selected for processing (6)
  • src/core/public/chat/chat_service.test.ts (1 hunks)
  • src/plugins/chat/opensearch_dashboards.json (1 hunks)
  • src/plugins/chat/public/plugin.test.ts (5 hunks)
  • src/plugins/chat/public/plugin.ts (5 hunks)
  • src/plugins/chat/public/services/chat_service.ts (15 hunks)
  • src/plugins/explore/public/components/ask_ai_action_item/ask_ai_action_item.test.tsx (7 hunks)
🚧 Files skipped from review as they are similar to previous changes (2)
  • src/plugins/chat/opensearch_dashboards.json
  • src/core/public/chat/chat_service.test.ts
🧰 Additional context used
🧬 Code graph analysis (4)
src/plugins/chat/public/plugin.test.ts (2)
src/plugins/chat/public/services/chat_service.ts (1)
  • ChatService (37-517)
src/plugins/chat/public/plugin.ts (1)
  • ChatPlugin (41-192)
src/plugins/explore/public/components/ask_ai_action_item/ask_ai_action_item.test.tsx (3)
src/core/public/chat/types.ts (1)
  • ChatServiceStart (195-203)
src/core/public/chat/index.ts (1)
  • ChatServiceStart (9-9)
src/core/public/index.ts (1)
  • ChatServiceStart (440-440)
src/plugins/chat/public/plugin.ts (4)
src/core/public/index.ts (2)
  • CoreSetup (262-298)
  • CoreStart (321-358)
src/plugins/chat/public/types.ts (3)
  • ChatPluginSetup (12-14)
  • AppPluginStartDependencies (20-24)
  • ChatPluginStart (16-18)
src/plugins/chat/public/services/chat_service.ts (1)
  • ChatService (37-517)
src/core/public/chat/chat_service.ts (1)
  • ChatService (19-169)
src/plugins/chat/public/services/chat_service.ts (5)
src/core/public/index.ts (5)
  • IUiSettingsClient (399-399)
  • ChatServiceStart (440-440)
  • WorkspacesStart (421-421)
  • Message (442-442)
  • ChatWindowState (443-443)
src/core/public/chat/types.ts (3)
  • ChatServiceStart (195-203)
  • Message (82-87)
  • ChatWindowState (97-101)
src/core/public/chat/index.ts (3)
  • ChatServiceStart (9-9)
  • Message (11-11)
  • ChatWindowState (20-20)
src/plugins/chat/public/services/ag_ui_agent.ts (1)
  • AgUiAgent (22-142)
src/plugins/data_source_management/public/index.ts (1)
  • getDefaultDataSourceId (29-29)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (990)
  • GitHub Check: Run cypress tests (osd:ciGroup17Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup7)
  • GitHub Check: Run cypress tests (osd:ciGroup15)
  • GitHub Check: Run cypress tests (osd:ciGroup15Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup10Fast)
  • GitHub Check: Run cypress tests (osd:ciGroup13)
  • GitHub Check: Run cypress tests (osd:ciGroup13Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup14Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup16Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup12)
  • GitHub Check: Run cypress tests (osd:ciGroup14)
  • GitHub Check: Run cypress tests (osd:ciGroup12Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup9)
  • GitHub Check: Run cypress tests (osd:ciGroup10Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup11)
  • GitHub Check: Run cypress tests (osd:ciGroup10Slow)
  • GitHub Check: Run cypress tests (osd:ciGroup1)
  • GitHub Check: Run cypress tests (osd:ciGroup5)
  • GitHub Check: Run cypress tests (osd:ciGroup6)
  • GitHub Check: Run cypress tests (osd:ciGroup8)
  • GitHub Check: Run cypress tests (osd:ciGroup2)
  • GitHub Check: Run cypress tests (osd:ciGroup3)
  • GitHub Check: Run cypress tests (osd:ciGroup4)
  • GitHub Check: Run functional tests on Windows (ciGroup13)
  • GitHub Check: Run functional tests on Windows (ciGroup10)
  • GitHub Check: Run functional tests on Windows (ciGroup11)
  • GitHub Check: Run functional tests on Windows (ciGroup12)
  • GitHub Check: Run functional tests on Windows (ciGroup7)
  • GitHub Check: Run functional tests on Windows (ciGroup6)
  • GitHub Check: Run functional tests on Windows (ciGroup8)
  • GitHub Check: Run functional tests on Windows (ciGroup2)
  • GitHub Check: Run functional tests on Windows (ciGroup4)
  • GitHub Check: Run functional tests on Windows (ciGroup9)
  • GitHub Check: Run functional tests on Windows (ciGroup1)
  • GitHub Check: bundle-analyzer
  • GitHub Check: Run functional tests on Windows (ciGroup5)
  • GitHub Check: Run functional tests on Linux (ciGroup13)
  • GitHub Check: Run functional tests on Linux (ciGroup12)
  • GitHub Check: Run functional tests on Linux (ciGroup11)
  • GitHub Check: Run functional tests on Windows (ciGroup3)
  • GitHub Check: Run functional tests on Linux (ciGroup9)
  • GitHub Check: lighthouse
  • GitHub Check: Run functional tests on Linux (ciGroup8)
  • GitHub Check: Run functional tests on Linux (ciGroup7)
  • GitHub Check: Run functional tests on Linux (ciGroup3)
  • GitHub Check: Run functional tests on Linux (ciGroup10)
  • GitHub Check: Run functional tests on Linux (ciGroup4)
  • GitHub Check: Run functional tests on Linux (ciGroup5)
  • GitHub Check: Run functional tests on Linux (ciGroup6)
  • GitHub Check: Run functional tests on Linux (ciGroup1)
  • GitHub Check: Run functional tests on Linux (ciGroup2)
  • GitHub Check: Run plugin functional tests on Windows
  • GitHub Check: Build min release artifacts on Windows x64
  • GitHub Check: Run plugin functional tests on Linux
  • GitHub Check: Build min release artifacts on macOS ARM64
  • GitHub Check: Build min release artifacts on macOS x64
  • GitHub Check: Build min release artifacts on Linux ARM64
  • GitHub Check: Build min release artifacts on Linux x64
  • GitHub Check: Build and Verify on Windows (ciGroup3)
  • GitHub Check: Build and Verify on Linux (ciGroup4)
  • GitHub Check: Build and Verify on Windows (ciGroup4)
  • GitHub Check: Build and Verify on Windows (ciGroup1)
  • GitHub Check: Build and Verify on Windows (ciGroup2)
  • GitHub Check: Build and Verify on Linux (ciGroup2)
  • GitHub Check: Build and Verify on Linux (ciGroup3)
  • GitHub Check: Build and Verify on Linux (ciGroup1)
  • GitHub Check: Lint and validate
  • GitHub Check: Run cypress tests (osd:ciGroup14)
  • GitHub Check: Run cypress tests (osd:ciGroup17Explore)
  • GitHub Check: Run functional tests on Windows (ciGroup3)
  • GitHub Check: Run functional tests on Windows (ciGroup11)
  • GitHub Check: Run cypress tests (osd:ciGroup16Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup12Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup15)
  • GitHub Check: Run functional tests on Linux (ciGroup5)
  • GitHub Check: Run cypress tests (osd:ciGroup10Explore)
  • GitHub Check: Run functional tests on Windows (ciGroup7)
  • GitHub Check: Run functional tests on Windows (ciGroup4)
  • GitHub Check: Run cypress tests (osd:ciGroup14Explore)
  • GitHub Check: Run functional tests on Windows (ciGroup12)
  • GitHub Check: Run functional tests on Linux (ciGroup8)
  • GitHub Check: Run cypress tests (osd:ciGroup15Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup13Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup13)
  • GitHub Check: Run functional tests on Linux (ciGroup9)
  • GitHub Check: Run functional tests on Windows (ciGroup5)
  • GitHub Check: Run functional tests on Windows (ciGroup8)
  • GitHub Check: Run functional tests on Windows (ciGroup9)
  • GitHub Check: Run functional tests on Linux (ciGroup11)
  • GitHub Check: Run functional tests on Linux (ciGroup6)
  • GitHub Check: Run functional tests on Windows (ciGroup10)
  • GitHub Check: Run functional tests on Windows (ciGroup2)
  • GitHub Check: Run functional tests on Windows (ciGroup13)
  • GitHub Check: Run functional tests on Windows (ciGroup6)
  • GitHub Check: Run functional tests on Linux (ciGroup13)
  • GitHub Check: Run cypress tests (osd:ciGroup11)
  • GitHub Check: Run functional tests on Linux (ciGroup10)
  • GitHub Check: Run functional tests on Linux (ciGroup12)
  • GitHub Check: Run cypress tests (osd:ciGroup12)
  • GitHub Check: Run cypress tests (osd:ciGroup17Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup7)
  • GitHub Check: Run cypress tests (osd:ciGroup15)
  • GitHub Check: Run cypress tests (osd:ciGroup15Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup10Fast)
  • GitHub Check: Run cypress tests (osd:ciGroup13)
  • GitHub Check: Run cypress tests (osd:ciGroup13Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup14Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup16Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup12)
  • GitHub Check: Run cypress tests (osd:ciGroup14)
  • GitHub Check: Run cypress tests (osd:ciGroup12Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup9)
  • GitHub Check: Run cypress tests (osd:ciGroup10Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup11)
  • GitHub Check: Run cypress tests (osd:ciGroup10Slow)
  • GitHub Check: Run cypress tests (osd:ciGroup1)
  • GitHub Check: Run cypress tests (osd:ciGroup5)
  • GitHub Check: Run cypress tests (osd:ciGroup6)
  • GitHub Check: Run cypress tests (osd:ciGroup8)
  • GitHub Check: Run cypress tests (osd:ciGroup2)
  • GitHub Check: Run cypress tests (osd:ciGroup3)
  • GitHub Check: Run cypress tests (osd:ciGroup4)
  • GitHub Check: Run functional tests on Windows (ciGroup13)
  • GitHub Check: Run functional tests on Windows (ciGroup10)
  • GitHub Check: Run functional tests on Windows (ciGroup11)
  • GitHub Check: Run functional tests on Windows (ciGroup12)
  • GitHub Check: Run functional tests on Windows (ciGroup7)
  • GitHub Check: Run functional tests on Windows (ciGroup6)
  • GitHub Check: Run functional tests on Windows (ciGroup8)
  • GitHub Check: Run functional tests on Windows (ciGroup2)
  • GitHub Check: Run functional tests on Windows (ciGroup4)
  • GitHub Check: Run functional tests on Windows (ciGroup9)
  • GitHub Check: Run functional tests on Windows (ciGroup1)
  • GitHub Check: bundle-analyzer
  • GitHub Check: Run functional tests on Windows (ciGroup5)
  • GitHub Check: Run functional tests on Linux (ciGroup13)
  • GitHub Check: Run functional tests on Linux (ciGroup12)
  • GitHub Check: Run functional tests on Linux (ciGroup11)
  • GitHub Check: Run functional tests on Windows (ciGroup3)
  • GitHub Check: Run functional tests on Linux (ciGroup9)
  • GitHub Check: lighthouse
  • GitHub Check: Run functional tests on Linux (ciGroup8)
  • GitHub Check: Run functional tests on Linux (ciGroup7)
  • GitHub Check: Run functional tests on Linux (ciGroup3)
  • GitHub Check: Run functional tests on Linux (ciGroup10)
  • GitHub Check: Run functional tests on Linux (ciGroup4)
  • GitHub Check: Run functional tests on Linux (ciGroup5)
  • GitHub Check: Run functional tests on Linux (ciGroup6)
  • GitHub Check: Run functional tests on Linux (ciGroup1)
  • GitHub Check: Run functional tests on Linux (ciGroup2)
  • GitHub Check: Run plugin functional tests on Windows
  • GitHub Check: Build min release artifacts on Windows x64
  • GitHub Check: Run plugin functional tests on Linux
  • GitHub Check: Build min release artifacts on macOS ARM64
  • GitHub Check: Build min release artifacts on macOS x64
  • GitHub Check: Build min release artifacts on Linux ARM64
  • GitHub Check: Build min release artifacts on Linux x64
  • GitHub Check: Build and Verify on Windows (ciGroup3)
  • GitHub Check: Build and Verify on Linux (ciGroup4)
  • GitHub Check: Build and Verify on Windows (ciGroup4)
  • GitHub Check: Build and Verify on Windows (ciGroup1)
  • GitHub Check: Build and Verify on Windows (ciGroup2)
  • GitHub Check: Build and Verify on Linux (ciGroup2)
  • GitHub Check: Build and Verify on Linux (ciGroup3)
  • GitHub Check: Build and Verify on Linux (ciGroup1)
  • GitHub Check: Lint and validate
  • GitHub Check: Run cypress tests (osd:ciGroup14)
  • GitHub Check: Run cypress tests (osd:ciGroup17Explore)
  • GitHub Check: Run functional tests on Windows (ciGroup3)
  • GitHub Check: Run functional tests on Windows (ciGroup11)
  • GitHub Check: Run cypress tests (osd:ciGroup16Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup12Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup15)
  • GitHub Check: Run functional tests on Linux (ciGroup5)
  • GitHub Check: Run cypress tests (osd:ciGroup10Explore)
  • GitHub Check: Run functional tests on Windows (ciGroup7)
  • GitHub Check: Run functional tests on Windows (ciGroup4)
  • GitHub Check: Run cypress tests (osd:ciGroup14Explore)
  • GitHub Check: Run functional tests on Windows (ciGroup12)
  • GitHub Check: Run functional tests on Linux (ciGroup8)
  • GitHub Check: Run cypress tests (osd:ciGroup15Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup13Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup13)
  • GitHub Check: Run functional tests on Linux (ciGroup9)
  • GitHub Check: Run functional tests on Windows (ciGroup5)
  • GitHub Check: Run functional tests on Windows (ciGroup8)
  • GitHub Check: Run functional tests on Windows (ciGroup9)
  • GitHub Check: Run functional tests on Linux (ciGroup11)
  • GitHub Check: Run functional tests on Linux (ciGroup6)
  • GitHub Check: Run functional tests on Windows (ciGroup10)
  • GitHub Check: Run functional tests on Windows (ciGroup2)
  • GitHub Check: Run functional tests on Windows (ciGroup13)
  • GitHub Check: Run functional tests on Windows (ciGroup6)
  • GitHub Check: Run functional tests on Linux (ciGroup13)
  • GitHub Check: Run cypress tests (osd:ciGroup11)
  • GitHub Check: Run functional tests on Linux (ciGroup10)
  • GitHub Check: Run functional tests on Linux (ciGroup12)
  • GitHub Check: Run cypress tests (osd:ciGroup12)
  • GitHub Check: Run cypress tests (osd:ciGroup17Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup7)
  • GitHub Check: Run cypress tests (osd:ciGroup15)
  • GitHub Check: Run cypress tests (osd:ciGroup15Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup10Fast)
  • GitHub Check: Run cypress tests (osd:ciGroup13)
  • GitHub Check: Run cypress tests (osd:ciGroup13Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup14Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup16Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup12)
  • GitHub Check: Run cypress tests (osd:ciGroup14)
  • GitHub Check: Run cypress tests (osd:ciGroup12Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup9)
  • GitHub Check: Run cypress tests (osd:ciGroup10Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup11)
  • GitHub Check: Run cypress tests (osd:ciGroup10Slow)
  • GitHub Check: Run cypress tests (osd:ciGroup1)
  • GitHub Check: Run cypress tests (osd:ciGroup5)
  • GitHub Check: Run cypress tests (osd:ciGroup6)
  • GitHub Check: Run cypress tests (osd:ciGroup8)
  • GitHub Check: Run cypress tests (osd:ciGroup2)
  • GitHub Check: Run cypress tests (osd:ciGroup3)
  • GitHub Check: Run cypress tests (osd:ciGroup4)
  • GitHub Check: Run functional tests on Windows (ciGroup13)
  • GitHub Check: Run functional tests on Windows (ciGroup10)
  • GitHub Check: Run functional tests on Windows (ciGroup11)
  • GitHub Check: Run functional tests on Windows (ciGroup12)
  • GitHub Check: Run functional tests on Windows (ciGroup7)
  • GitHub Check: Run functional tests on Windows (ciGroup6)
  • GitHub Check: Run functional tests on Windows (ciGroup8)
  • GitHub Check: Run functional tests on Windows (ciGroup2)
  • GitHub Check: Run functional tests on Windows (ciGroup4)
  • GitHub Check: Run functional tests on Windows (ciGroup9)
  • GitHub Check: Run functional tests on Windows (ciGroup1)
  • GitHub Check: bundle-analyzer
  • GitHub Check: Run functional tests on Windows (ciGroup5)
  • GitHub Check: Run functional tests on Linux (ciGroup13)
  • GitHub Check: Run functional tests on Linux (ciGroup12)
  • GitHub Check: Run functional tests on Linux (ciGroup11)
  • GitHub Check: Run functional tests on Windows (ciGroup3)
  • GitHub Check: Run functional tests on Linux (ciGroup9)
  • GitHub Check: lighthouse
  • GitHub Check: Run functional tests on Linux (ciGroup8)
  • GitHub Check: Run functional tests on Linux (ciGroup7)
  • GitHub Check: Run functional tests on Linux (ciGroup3)
  • GitHub Check: Run functional tests on Linux (ciGroup10)
  • GitHub Check: Run functional tests on Linux (ciGroup4)
  • GitHub Check: Run functional tests on Linux (ciGroup5)
  • GitHub Check: Run functional tests on Linux (ciGroup6)
  • GitHub Check: Run functional tests on Linux (ciGroup1)
  • GitHub Check: Run functional tests on Linux (ciGroup2)
  • GitHub Check: Run plugin functional tests on Windows
  • GitHub Check: Build min release artifacts on Windows x64
  • GitHub Check: Run plugin functional tests on Linux
  • GitHub Check: Build min release artifacts on macOS ARM64
  • GitHub Check: Build min release artifacts on macOS x64
  • GitHub Check: Build min release artifacts on Linux ARM64
  • GitHub Check: Build min release artifacts on Linux x64
  • GitHub Check: Build and Verify on Windows (ciGroup3)
  • GitHub Check: Build and Verify on Linux (ciGroup4)
  • GitHub Check: Build and Verify on Windows (ciGroup4)
  • GitHub Check: Build and Verify on Windows (ciGroup1)
  • GitHub Check: Build and Verify on Windows (ciGroup2)
  • GitHub Check: Build and Verify on Linux (ciGroup2)
  • GitHub Check: Build and Verify on Linux (ciGroup3)
  • GitHub Check: Build and Verify on Linux (ciGroup1)
  • GitHub Check: Lint and validate
  • GitHub Check: Run cypress tests (osd:ciGroup14)
  • GitHub Check: Run cypress tests (osd:ciGroup17Explore)
  • GitHub Check: Run functional tests on Windows (ciGroup3)
  • GitHub Check: Run functional tests on Windows (ciGroup11)
  • GitHub Check: Run cypress tests (osd:ciGroup16Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup12Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup15)
  • GitHub Check: Run functional tests on Linux (ciGroup5)
  • GitHub Check: Run cypress tests (osd:ciGroup10Explore)
  • GitHub Check: Run functional tests on Windows (ciGroup7)
  • GitHub Check: Run functional tests on Windows (ciGroup4)
  • GitHub Check: Run cypress tests (osd:ciGroup14Explore)
  • GitHub Check: Run functional tests on Windows (ciGroup12)
  • GitHub Check: Run functional tests on Linux (ciGroup8)
  • GitHub Check: Run cypress tests (osd:ciGroup15Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup13Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup13)
  • GitHub Check: Run functional tests on Linux (ciGroup9)
  • GitHub Check: Run functional tests on Windows (ciGroup5)
  • GitHub Check: Run functional tests on Windows (ciGroup8)
  • GitHub Check: Run functional tests on Windows (ciGroup9)
  • GitHub Check: Run functional tests on Linux (ciGroup11)
  • GitHub Check: Run functional tests on Linux (ciGroup6)
  • GitHub Check: Run functional tests on Windows (ciGroup10)
  • GitHub Check: Run functional tests on Windows (ciGroup2)
  • GitHub Check: Run functional tests on Windows (ciGroup13)
  • GitHub Check: Run functional tests on Windows (ciGroup6)
  • GitHub Check: Run functional tests on Linux (ciGroup13)
  • GitHub Check: Run cypress tests (osd:ciGroup11)
  • GitHub Check: Run functional tests on Linux (ciGroup10)
  • GitHub Check: Run functional tests on Linux (ciGroup12)
  • GitHub Check: Run cypress tests (osd:ciGroup12)
  • GitHub Check: Run cypress tests (osd:ciGroup17Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup7)
  • GitHub Check: Run cypress tests (osd:ciGroup15)
  • GitHub Check: Run cypress tests (osd:ciGroup15Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup10Fast)
  • GitHub Check: Run cypress tests (osd:ciGroup13)
  • GitHub Check: Run cypress tests (osd:ciGroup13Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup14Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup16Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup12)
  • GitHub Check: Run cypress tests (osd:ciGroup14)
  • GitHub Check: Run cypress tests (osd:ciGroup12Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup9)
  • GitHub Check: Run cypress tests (osd:ciGroup10Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup11)
  • GitHub Check: Run cypress tests (osd:ciGroup10Slow)
  • GitHub Check: Run cypress tests (osd:ciGroup1)
  • GitHub Check: Run cypress tests (osd:ciGroup5)
  • GitHub Check: Run cypress tests (osd:ciGroup6)
  • GitHub Check: Run cypress tests (osd:ciGroup8)
  • GitHub Check: Run cypress tests (osd:ciGroup2)
  • GitHub Check: Run cypress tests (osd:ciGroup3)
  • GitHub Check: Run cypress tests (osd:ciGroup4)
  • GitHub Check: Run functional tests on Windows (ciGroup13)
  • GitHub Check: Run functional tests on Windows (ciGroup10)
  • GitHub Check: Run functional tests on Windows (ciGroup11)
  • GitHub Check: Run functional tests on Windows (ciGroup12)
  • GitHub Check: Run functional tests on Windows (ciGroup7)
  • GitHub Check: Run functional tests on Windows (ciGroup6)
  • GitHub Check: Run functional tests on Windows (ciGroup8)
  • GitHub Check: Run functional tests on Windows (ciGroup2)
  • GitHub Check: Run functional tests on Windows (ciGroup4)
  • GitHub Check: Run functional tests on Windows (ciGroup9)
  • GitHub Check: Run functional tests on Windows (ciGroup1)
  • GitHub Check: bundle-analyzer
  • GitHub Check: Run functional tests on Windows (ciGroup5)
  • GitHub Check: Run functional tests on Linux (ciGroup13)
  • GitHub Check: Run functional tests on Linux (ciGroup12)
  • GitHub Check: Run functional tests on Linux (ciGroup11)
  • GitHub Check: Run functional tests on Windows (ciGroup3)
  • GitHub Check: Run functional tests on Linux (ciGroup9)
  • GitHub Check: lighthouse
  • GitHub Check: Run functional tests on Linux (ciGroup8)
  • GitHub Check: Run functional tests on Linux (ciGroup7)
  • GitHub Check: Run functional tests on Linux (ciGroup3)
  • GitHub Check: Run functional tests on Linux (ciGroup10)
  • GitHub Check: Run functional tests on Linux (ciGroup4)
  • GitHub Check: Run functional tests on Linux (ciGroup5)
  • GitHub Check: Run functional tests on Linux (ciGroup6)
  • GitHub Check: Run functional tests on Linux (ciGroup1)
  • GitHub Check: Run functional tests on Linux (ciGroup2)
  • GitHub Check: Run plugin functional tests on Windows
  • GitHub Check: Build min release artifacts on Windows x64
  • GitHub Check: Run plugin functional tests on Linux
  • GitHub Check: Build min release artifacts on macOS ARM64
  • GitHub Check: Build min release artifacts on macOS x64
  • GitHub Check: Build min release artifacts on Linux ARM64
  • GitHub Check: Build min release artifacts on Linux x64
  • GitHub Check: Build and Verify on Windows (ciGroup3)
  • GitHub Check: Build and Verify on Linux (ciGroup4)
  • GitHub Check: Build and Verify on Windows (ciGroup4)
  • GitHub Check: Build and Verify on Windows (ciGroup1)
  • GitHub Check: Build and Verify on Windows (ciGroup2)
  • GitHub Check: Build and Verify on Linux (ciGroup2)
  • GitHub Check: Build and Verify on Linux (ciGroup3)
  • GitHub Check: Build and Verify on Linux (ciGroup1)
  • GitHub Check: Lint and validate
  • GitHub Check: Run cypress tests (osd:ciGroup14)
  • GitHub Check: Run cypress tests (osd:ciGroup17Explore)
  • GitHub Check: Run functional tests on Windows (ciGroup3)
  • GitHub Check: Run functional tests on Windows (ciGroup11)
  • GitHub Check: Run cypress tests (osd:ciGroup16Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup12Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup15)
  • GitHub Check: Run functional tests on Linux (ciGroup5)
  • GitHub Check: Run cypress tests (osd:ciGroup10Explore)
  • GitHub Check: Run functional tests on Windows (ciGroup7)
  • GitHub Check: Run functional tests on Windows (ciGroup4)
  • GitHub Check: Run cypress tests (osd:ciGroup14Explore)
  • GitHub Check: Run functional tests on Windows (ciGroup12)
  • GitHub Check: Run functional tests on Linux (ciGroup8)
  • GitHub Check: Run cypress tests (osd:ciGroup15Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup13Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup13)
  • GitHub Check: Run functional tests on Linux (ciGroup9)
  • GitHub Check: Run functional tests on Windows (ciGroup5)
  • GitHub Check: Run functional tests on Windows (ciGroup8)
  • GitHub Check: Run functional tests on Windows (ciGroup9)
  • GitHub Check: Run functional tests on Linux (ciGroup11)
  • GitHub Check: Run functional tests on Linux (ciGroup6)
  • GitHub Check: Run functional tests on Windows (ciGroup10)
  • GitHub Check: Run functional tests on Windows (ciGroup2)
  • GitHub Check: Run functional tests on Windows (ciGroup13)
  • GitHub Check: Run functional tests on Windows (ciGroup6)
  • GitHub Check: Run functional tests on Linux (ciGroup13)
  • GitHub Check: Run cypress tests (osd:ciGroup11)
  • GitHub Check: Run functional tests on Linux (ciGroup10)
  • GitHub Check: Run functional tests on Linux (ciGroup12)
  • GitHub Check: Run cypress tests (osd:ciGroup12)
  • GitHub Check: Run cypress tests (osd:ciGroup17Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup7)
  • GitHub Check: Run cypress tests (osd:ciGroup15)
  • GitHub Check: Run cypress tests (osd:ciGroup15Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup10Fast)
  • GitHub Check: Run cypress tests (osd:ciGroup13)
  • GitHub Check: Run cypress tests (osd:ciGroup13Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup14Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup16Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup12)
  • GitHub Check: Run cypress tests (osd:ciGroup14)
  • GitHub Check: Run cypress tests (osd:ciGroup12Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup9)
  • GitHub Check: Run cypress tests (osd:ciGroup10Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup11)
  • GitHub Check: Run cypress tests (osd:ciGroup10Slow)
  • GitHub Check: Run cypress tests (osd:ciGroup1)
  • GitHub Check: Run cypress tests (osd:ciGroup5)
  • GitHub Check: Run cypress tests (osd:ciGroup6)
  • GitHub Check: Run cypress tests (osd:ciGroup8)
  • GitHub Check: Run cypress tests (osd:ciGroup2)
  • GitHub Check: Run cypress tests (osd:ciGroup3)
  • GitHub Check: Run cypress tests (osd:ciGroup4)
  • GitHub Check: Run functional tests on Windows (ciGroup13)
  • GitHub Check: Run functional tests on Windows (ciGroup10)
  • GitHub Check: Run functional tests on Windows (ciGroup11)
  • GitHub Check: Run functional tests on Windows (ciGroup12)
  • GitHub Check: Run functional tests on Windows (ciGroup7)
  • GitHub Check: Run functional tests on Windows (ciGroup6)
  • GitHub Check: Run functional tests on Windows (ciGroup8)
  • GitHub Check: Run functional tests on Windows (ciGroup2)
  • GitHub Check: Run functional tests on Windows (ciGroup4)
  • GitHub Check: Run functional tests on Windows (ciGroup9)
  • GitHub Check: Run functional tests on Windows (ciGroup1)
  • GitHub Check: bundle-analyzer
  • GitHub Check: Run functional tests on Windows (ciGroup5)
  • GitHub Check: Run functional tests on Linux (ciGroup13)
  • GitHub Check: Run functional tests on Linux (ciGroup12)
  • GitHub Check: Run functional tests on Linux (ciGroup11)
  • GitHub Check: Run functional tests on Windows (ciGroup3)
  • GitHub Check: Run functional tests on Linux (ciGroup9)
  • GitHub Check: lighthouse
  • GitHub Check: Run functional tests on Linux (ciGroup8)
  • GitHub Check: Run functional tests on Linux (ciGroup7)
  • GitHub Check: Run functional tests on Linux (ciGroup3)
  • GitHub Check: Run functional tests on Linux (ciGroup10)
  • GitHub Check: Run functional tests on Linux (ciGroup4)
  • GitHub Check: Run functional tests on Linux (ciGroup5)
  • GitHub Check: Run functional tests on Linux (ciGroup6)
  • GitHub Check: Run functional tests on Linux (ciGroup1)
  • GitHub Check: Run functional tests on Linux (ciGroup2)
  • GitHub Check: Run plugin functional tests on Windows
  • GitHub Check: Build min release artifacts on Windows x64
  • GitHub Check: Run plugin functional tests on Linux
  • GitHub Check: Build min release artifacts on macOS ARM64
  • GitHub Check: Build min release artifacts on macOS x64
  • GitHub Check: Build min release artifacts on Linux ARM64
  • GitHub Check: Build min release artifacts on Linux x64
  • GitHub Check: Build and Verify on Windows (ciGroup3)
  • GitHub Check: Build and Verify on Linux (ciGroup4)
  • GitHub Check: Build and Verify on Windows (ciGroup4)
  • GitHub Check: Build and Verify on Windows (ciGroup1)
  • GitHub Check: Build and Verify on Windows (ciGroup2)
  • GitHub Check: Build and Verify on Linux (ciGroup2)
  • GitHub Check: Build and Verify on Linux (ciGroup3)
  • GitHub Check: Build and Verify on Linux (ciGroup1)
  • GitHub Check: Lint and validate
  • GitHub Check: Run cypress tests (osd:ciGroup14)
  • GitHub Check: Run cypress tests (osd:ciGroup17Explore)
  • GitHub Check: Run functional tests on Windows (ciGroup3)
  • GitHub Check: Run functional tests on Windows (ciGroup11)
  • GitHub Check: Run cypress tests (osd:ciGroup16Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup12Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup15)
  • GitHub Check: Run functional tests on Linux (ciGroup5)
  • GitHub Check: Run cypress tests (osd:ciGroup10Explore)
  • GitHub Check: Run functional tests on Windows (ciGroup7)
  • GitHub Check: Run functional tests on Windows (ciGroup4)
  • GitHub Check: Run cypress tests (osd:ciGroup14Explore)
  • GitHub Check: Run functional tests on Windows (ciGroup12)
  • GitHub Check: Run functional tests on Linux (ciGroup8)
  • GitHub Check: Run cypress tests (osd:ciGroup15Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup13Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup13)
  • GitHub Check: Run functional tests on Linux (ciGroup9)
  • GitHub Check: Run functional tests on Windows (ciGroup5)
  • GitHub Check: Run functional tests on Windows (ciGroup8)
  • GitHub Check: Run functional tests on Windows (ciGroup9)
  • GitHub Check: Run functional tests on Linux (ciGroup11)
  • GitHub Check: Run functional tests on Linux (ciGroup6)
  • GitHub Check: Run functional tests on Windows (ciGroup10)
  • GitHub Check: Run functional tests on Windows (ciGroup2)
  • GitHub Check: Run functional tests on Windows (ciGroup13)
  • GitHub Check: Run functional tests on Windows (ciGroup6)
  • GitHub Check: Run functional tests on Linux (ciGroup13)
  • GitHub Check: Run cypress tests (osd:ciGroup11)
  • GitHub Check: Run functional tests on Linux (ciGroup10)
  • GitHub Check: Run functional tests on Linux (ciGroup12)
  • GitHub Check: Run cypress tests (osd:ciGroup12)
  • GitHub Check: Run cypress tests (osd:ciGroup17Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup7)
  • GitHub Check: Run cypress tests (osd:ciGroup15)
  • GitHub Check: Run cypress tests (osd:ciGroup15Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup10Fast)
  • GitHub Check: Run cypress tests (osd:ciGroup13)
  • GitHub Check: Run cypress tests (osd:ciGroup13Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup14Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup16Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup12)
  • GitHub Check: Run cypress tests (osd:ciGroup14)
  • GitHub Check: Run cypress tests (osd:ciGroup12Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup9)
  • GitHub Check: Run cypress tests (osd:ciGroup10Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup11)
  • GitHub Check: Run cypress tests (osd:ciGroup10Slow)
  • GitHub Check: Run cypress tests (osd:ciGroup1)
  • GitHub Check: Run cypress tests (osd:ciGroup5)
  • GitHub Check: Run cypress tests (osd:ciGroup6)
  • GitHub Check: Run cypress tests (osd:ciGroup8)
  • GitHub Check: Run cypress tests (osd:ciGroup2)
  • GitHub Check: Run cypress tests (osd:ciGroup3)
  • GitHub Check: Run cypress tests (osd:ciGroup4)
  • GitHub Check: Run functional tests on Windows (ciGroup13)
  • GitHub Check: Run functional tests on Windows (ciGroup10)
  • GitHub Check: Run functional tests on Windows (ciGroup11)
  • GitHub Check: Run functional tests on Windows (ciGroup12)
  • GitHub Check: Run functional tests on Windows (ciGroup7)
  • GitHub Check: Run functional tests on Windows (ciGroup6)
  • GitHub Check: Run functional tests on Windows (ciGroup8)
  • GitHub Check: Run functional tests on Windows (ciGroup2)
  • GitHub Check: Run functional tests on Windows (ciGroup4)
  • GitHub Check: Run functional tests on Windows (ciGroup9)
  • GitHub Check: Run functional tests on Windows (ciGroup1)
  • GitHub Check: bundle-analyzer
  • GitHub Check: Run functional tests on Windows (ciGroup5)
  • GitHub Check: Run functional tests on Linux (ciGroup13)
  • GitHub Check: Run functional tests on Linux (ciGroup12)
  • GitHub Check: Run functional tests on Linux (ciGroup11)
  • GitHub Check: Run functional tests on Windows (ciGroup3)
  • GitHub Check: Run functional tests on Linux (ciGroup9)
  • GitHub Check: lighthouse
  • GitHub Check: Run functional tests on Linux (ciGroup8)
  • GitHub Check: Run functional tests on Linux (ciGroup7)
  • GitHub Check: Run functional tests on Linux (ciGroup3)
  • GitHub Check: Run functional tests on Linux (ciGroup10)
  • GitHub Check: Run functional tests on Linux (ciGroup4)
  • GitHub Check: Run functional tests on Linux (ciGroup5)
  • GitHub Check: Run functional tests on Linux (ciGroup6)
  • GitHub Check: Run functional tests on Linux (ciGroup1)
  • GitHub Check: Run functional tests on Linux (ciGroup2)
  • GitHub Check: Run plugin functional tests on Windows
  • GitHub Check: Build min release artifacts on Windows x64
  • GitHub Check: Run plugin functional tests on Linux
  • GitHub Check: Build min release artifacts on macOS ARM64
  • GitHub Check: Build min release artifacts on macOS x64
  • GitHub Check: Build min release artifacts on Linux ARM64
  • GitHub Check: Build min release artifacts on Linux x64
  • GitHub Check: Build and Verify on Windows (ciGroup3)
  • GitHub Check: Build and Verify on Linux (ciGroup4)
  • GitHub Check: Build and Verify on Windows (ciGroup4)
  • GitHub Check: Build and Verify on Windows (ciGroup1)
  • GitHub Check: Build and Verify on Windows (ciGroup2)
  • GitHub Check: Build and Verify on Linux (ciGroup2)
  • GitHub Check: Build and Verify on Linux (ciGroup3)
  • GitHub Check: Build and Verify on Linux (ciGroup1)
  • GitHub Check: Lint and validate
  • GitHub Check: Run cypress tests (osd:ciGroup14)
  • GitHub Check: Run cypress tests (osd:ciGroup17Explore)
  • GitHub Check: Run functional tests on Windows (ciGroup3)
  • GitHub Check: Run functional tests on Windows (ciGroup11)
  • GitHub Check: Run cypress tests (osd:ciGroup16Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup12Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup15)
  • GitHub Check: Run functional tests on Linux (ciGroup5)
  • GitHub Check: Run cypress tests (osd:ciGroup10Explore)
  • GitHub Check: Run functional tests on Windows (ciGroup7)
  • GitHub Check: Run functional tests on Windows (ciGroup4)
  • GitHub Check: Run cypress tests (osd:ciGroup14Explore)
  • GitHub Check: Run functional tests on Windows (ciGroup12)
  • GitHub Check: Run functional tests on Linux (ciGroup8)
  • GitHub Check: Run cypress tests (osd:ciGroup15Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup13Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup13)
  • GitHub Check: Run functional tests on Linux (ciGroup9)
  • GitHub Check: Run functional tests on Windows (ciGroup5)
  • GitHub Check: Run functional tests on Windows (ciGroup8)
  • GitHub Check: Run functional tests on Windows (ciGroup9)
  • GitHub Check: Run functional tests on Linux (ciGroup11)
  • GitHub Check: Run functional tests on Linux (ciGroup6)
  • GitHub Check: Run functional tests on Windows (ciGroup10)
  • GitHub Check: Run functional tests on Windows (ciGroup2)
  • GitHub Check: Run functional tests on Windows (ciGroup13)
  • GitHub Check: Run functional tests on Windows (ciGroup6)
  • GitHub Check: Run functional tests on Linux (ciGroup13)
  • GitHub Check: Run cypress tests (osd:ciGroup11)
  • GitHub Check: Run functional tests on Linux (ciGroup10)
  • GitHub Check: Run functional tests on Linux (ciGroup12)
  • GitHub Check: Run cypress tests (osd:ciGroup12)
  • GitHub Check: Run cypress tests (osd:ciGroup17Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup7)
  • GitHub Check: Run cypress tests (osd:ciGroup15)
  • GitHub Check: Run cypress tests (osd:ciGroup15Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup10Fast)
  • GitHub Check: Run cypress tests (osd:ciGroup13)
  • GitHub Check: Run cypress tests (osd:ciGroup13Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup14Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup16Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup12)
  • GitHub Check: Run cypress tests (osd:ciGroup14)
  • GitHub Check: Run cypress tests (osd:ciGroup12Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup9)
  • GitHub Check: Run cypress tests (osd:ciGroup10Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup11)
  • GitHub Check: Run cypress tests (osd:ciGroup10Slow)
  • GitHub Check: Run cypress tests (osd:ciGroup1)
  • GitHub Check: Run cypress tests (osd:ciGroup5)
  • GitHub Check: Run cypress tests (osd:ciGroup6)
  • GitHub Check: Run cypress tests (osd:ciGroup8)
  • GitHub Check: Run cypress tests (osd:ciGroup2)
  • GitHub Check: Run cypress tests (osd:ciGroup3)
  • GitHub Check: Run cypress tests (osd:ciGroup4)
  • GitHub Check: Run functional tests on Windows (ciGroup13)
  • GitHub Check: Run functional tests on Windows (ciGroup10)
  • GitHub Check: Run functional tests on Windows (ciGroup11)
  • GitHub Check: Run functional tests on Windows (ciGroup12)
  • GitHub Check: Run functional tests on Windows (ciGroup7)
  • GitHub Check: Run functional tests on Windows (ciGroup6)
  • GitHub Check: Run functional tests on Windows (ciGroup8)
  • GitHub Check: Run functional tests on Windows (ciGroup2)
  • GitHub Check: Run functional tests on Windows (ciGroup4)
  • GitHub Check: Run functional tests on Windows (ciGroup9)
  • GitHub Check: Run functional tests on Windows (ciGroup1)
  • GitHub Check: bundle-analyzer
  • GitHub Check: Run functional tests on Windows (ciGroup5)
  • GitHub Check: Run functional tests on Linux (ciGroup13)
  • GitHub Check: Run functional tests on Linux (ciGroup12)
  • GitHub Check: Run functional tests on Linux (ciGroup11)
  • GitHub Check: Run functional tests on Windows (ciGroup3)
  • GitHub Check: Run functional tests on Linux (ciGroup9)
  • GitHub Check: lighthouse
  • GitHub Check: Run functional tests on Linux (ciGroup8)
  • GitHub Check: Run functional tests on Linux (ciGroup7)
  • GitHub Check: Run functional tests on Linux (ciGroup3)
  • GitHub Check: Run functional tests on Linux (ciGroup10)
  • GitHub Check: Run functional tests on Linux (ciGroup4)
  • GitHub Check: Run functional tests on Linux (ciGroup5)
  • GitHub Check: Run functional tests on Linux (ciGroup6)
  • GitHub Check: Run functional tests on Linux (ciGroup1)
  • GitHub Check: Run functional tests on Linux (ciGroup2)
  • GitHub Check: Run plugin functional tests on Windows
  • GitHub Check: Build min release artifacts on Windows x64
  • GitHub Check: Run plugin functional tests on Linux
  • GitHub Check: Build min release artifacts on macOS ARM64
  • GitHub Check: Build min release artifacts on macOS x64
  • GitHub Check: Build min release artifacts on Linux ARM64
  • GitHub Check: Build min release artifacts on Linux x64
  • GitHub Check: Build and Verify on Windows (ciGroup3)
  • GitHub Check: Build and Verify on Linux (ciGroup4)
  • GitHub Check: Build and Verify on Windows (ciGroup4)
  • GitHub Check: Build and Verify on Windows (ciGroup1)
  • GitHub Check: Build and Verify on Windows (ciGroup2)
  • GitHub Check: Build and Verify on Linux (ciGroup2)
  • GitHub Check: Build and Verify on Linux (ciGroup3)
  • GitHub Check: Build and Verify on Linux (ciGroup1)
  • GitHub Check: Lint and validate
  • GitHub Check: Run cypress tests (osd:ciGroup14)
  • GitHub Check: Run cypress tests (osd:ciGroup17Explore)
  • GitHub Check: Run functional tests on Windows (ciGroup3)
  • GitHub Check: Run functional tests on Windows (ciGroup11)
  • GitHub Check: Run cypress tests (osd:ciGroup16Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup12Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup15)
  • GitHub Check: Run functional tests on Linux (ciGroup5)
  • GitHub Check: Run cypress tests (osd:ciGroup10Explore)
  • GitHub Check: Run functional tests on Windows (ciGroup7)
  • GitHub Check: Run functional tests on Windows (ciGroup4)
  • GitHub Check: Run cypress tests (osd:ciGroup14Explore)
  • GitHub Check: Run functional tests on Windows (ciGroup12)
  • GitHub Check: Run functional tests on Linux (ciGroup8)
  • GitHub Check: Run cypress tests (osd:ciGroup15Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup13Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup13)
  • GitHub Check: Run functional tests on Linux (ciGroup9)
  • GitHub Check: Run functional tests on Windows (ciGroup5)
  • GitHub Check: Run functional tests on Windows (ciGroup8)
  • GitHub Check: Run functional tests on Windows (ciGroup9)
  • GitHub Check: Run functional tests on Linux (ciGroup11)
  • GitHub Check: Run functional tests on Linux (ciGroup6)
  • GitHub Check: Run functional tests on Windows (ciGroup10)
  • GitHub Check: Run functional tests on Windows (ciGroup2)
  • GitHub Check: Run functional tests on Windows (ciGroup13)
  • GitHub Check: Run functional tests on Windows (ciGroup6)
  • GitHub Check: Run functional tests on Linux (ciGroup13)
  • GitHub Check: Run cypress tests (osd:ciGroup11)
  • GitHub Check: Run functional tests on Linux (ciGroup10)
  • GitHub Check: Run functional tests on Linux (ciGroup12)
  • GitHub Check: Run cypress tests (osd:ciGroup12)
  • GitHub Check: Run cypress tests (osd:ciGroup17Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup7)
  • GitHub Check: Run cypress tests (osd:ciGroup15)
  • GitHub Check: Run cypress tests (osd:ciGroup15Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup10Fast)
  • GitHub Check: Run cypress tests (osd:ciGroup13)
  • GitHub Check: Run cypress tests (osd:ciGroup13Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup14Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup16Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup12)
  • GitHub Check: Run cypress tests (osd:ciGroup14)
  • GitHub Check: Run cypress tests (osd:ciGroup12Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup9)
  • GitHub Check: Run cypress tests (osd:ciGroup10Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup11)
  • GitHub Check: Run cypress tests (osd:ciGroup10Slow)
  • GitHub Check: Run cypress tests (osd:ciGroup1)
  • GitHub Check: Run cypress tests (osd:ciGroup5)
  • GitHub Check: Run cypress tests (osd:ciGroup6)
  • GitHub Check: Run cypress tests (osd:ciGroup8)
  • GitHub Check: Run cypress tests (osd:ciGroup2)
  • GitHub Check: Run cypress tests (osd:ciGroup3)
  • GitHub Check: Run cypress tests (osd:ciGroup4)
  • GitHub Check: Run functional tests on Windows (ciGroup13)
  • GitHub Check: Run functional tests on Windows (ciGroup10)
  • GitHub Check: Run functional tests on Windows (ciGroup11)
  • GitHub Check: Run functional tests on Windows (ciGroup12)
  • GitHub Check: Run functional tests on Windows (ciGroup7)
  • GitHub Check: Run functional tests on Windows (ciGroup6)
  • GitHub Check: Run functional tests on Windows (ciGroup8)
  • GitHub Check: Run functional tests on Windows (ciGroup2)
  • GitHub Check: Run functional tests on Windows (ciGroup4)
  • GitHub Check: Run functional tests on Windows (ciGroup9)
  • GitHub Check: Run functional tests on Windows (ciGroup1)
  • GitHub Check: bundle-analyzer
  • GitHub Check: Run functional tests on Windows (ciGroup5)
  • GitHub Check: Run functional tests on Linux (ciGroup13)
  • GitHub Check: Run functional tests on Linux (ciGroup12)
  • GitHub Check: Run functional tests on Linux (ciGroup11)
  • GitHub Check: Run functional tests on Windows (ciGroup3)
  • GitHub Check: Run functional tests on Linux (ciGroup9)
  • GitHub Check: lighthouse
  • GitHub Check: Run functional tests on Linux (ciGroup8)
  • GitHub Check: Run functional tests on Linux (ciGroup7)
  • GitHub Check: Run functional tests on Linux (ciGroup3)
  • GitHub Check: Run functional tests on Linux (ciGroup10)
  • GitHub Check: Run functional tests on Linux (ciGroup4)
  • GitHub Check: Run functional tests on Linux (ciGroup5)
  • GitHub Check: Run functional tests on Linux (ciGroup6)
  • GitHub Check: Run functional tests on Linux (ciGroup1)
  • GitHub Check: Run functional tests on Linux (ciGroup2)
  • GitHub Check: Run plugin functional tests on Windows
  • GitHub Check: Build min release artifacts on Windows x64
  • GitHub Check: Run plugin functional tests on Linux
  • GitHub Check: Build min release artifacts on macOS ARM64
  • GitHub Check: Build min release artifacts on macOS x64
  • GitHub Check: Build min release artifacts on Linux ARM64
  • GitHub Check: Build min release artifacts on Linux x64
  • GitHub Check: Build and Verify on Windows (ciGroup3)
  • GitHub Check: Build and Verify on Linux (ciGroup4)
  • GitHub Check: Build and Verify on Windows (ciGroup4)
  • GitHub Check: Build and Verify on Windows (ciGroup1)
  • GitHub Check: Build and Verify on Windows (ciGroup2)
  • GitHub Check: Build and Verify on Linux (ciGroup2)
  • GitHub Check: Build and Verify on Linux (ciGroup3)
  • GitHub Check: Build and Verify on Linux (ciGroup1)
  • GitHub Check: Lint and validate
  • GitHub Check: Run cypress tests (osd:ciGroup14)
  • GitHub Check: Run cypress tests (osd:ciGroup17Explore)
  • GitHub Check: Run functional tests on Windows (ciGroup3)
  • GitHub Check: Run functional tests on Windows (ciGroup11)
  • GitHub Check: Run cypress tests (osd:ciGroup16Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup12Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup15)
  • GitHub Check: Run functional tests on Linux (ciGroup5)
  • GitHub Check: Run cypress tests (osd:ciGroup10Explore)
  • GitHub Check: Run functional tests on Windows (ciGroup7)
  • GitHub Check: Run functional tests on Windows (ciGroup4)
  • GitHub Check: Run cypress tests (osd:ciGroup14Explore)
  • GitHub Check: Run functional tests on Windows (ciGroup12)
  • GitHub Check: Run functional tests on Linux (ciGroup8)
  • GitHub Check: Run cypress tests (osd:ciGroup15Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup13Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup13)
  • GitHub Check: Run functional tests on Linux (ciGroup9)
  • GitHub Check: Run functional tests on Windows (ciGroup5)
  • GitHub Check: Run functional tests on Windows (ciGroup8)
  • GitHub Check: Run functional tests on Windows (ciGroup9)
  • GitHub Check: Run functional tests on Linux (ciGroup11)
  • GitHub Check: Run functional tests on Linux (ciGroup6)
  • GitHub Check: Run functional tests on Windows (ciGroup10)
  • GitHub Check: Run functional tests on Windows (ciGroup2)
  • GitHub Check: Run functional tests on Windows (ciGroup13)
  • GitHub Check: Run functional tests on Windows (ciGroup6)
  • GitHub Check: Run functional tests on Linux (ciGroup13)
  • GitHub Check: Run cypress tests (osd:ciGroup11)
  • GitHub Check: Run functional tests on Linux (ciGroup10)
  • GitHub Check: Run functional tests on Linux (ciGroup12)
  • GitHub Check: Run cypress tests (osd:ciGroup12)
  • GitHub Check: Run cypress tests (osd:ciGroup17Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup7)
  • GitHub Check: Run cypress tests (osd:ciGroup15)
  • GitHub Check: Run cypress tests (osd:ciGroup15Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup10Fast)
  • GitHub Check: Run cypress tests (osd:ciGroup13)
  • GitHub Check: Run cypress tests (osd:ciGroup13Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup14Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup16Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup12)
  • GitHub Check: Run cypress tests (osd:ciGroup14)
  • GitHub Check: Run cypress tests (osd:ciGroup12Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup9)
  • GitHub Check: Run cypress tests (osd:ciGroup10Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup11)
  • GitHub Check: Run cypress tests (osd:ciGroup10Slow)
  • GitHub Check: Run cypress tests (osd:ciGroup1)
  • GitHub Check: Run cypress tests (osd:ciGroup5)
  • GitHub Check: Run cypress tests (osd:ciGroup6)
  • GitHub Check: Run cypress tests (osd:ciGroup8)
  • GitHub Check: Run cypress tests (osd:ciGroup2)
  • GitHub Check: Run cypress tests (osd:ciGroup3)
  • GitHub Check: Run cypress tests (osd:ciGroup4)
  • GitHub Check: Run functional tests on Windows (ciGroup13)
  • GitHub Check: Run functional tests on Windows (ciGroup10)
  • GitHub Check: Run functional tests on Windows (ciGroup11)
  • GitHub Check: Run functional tests on Windows (ciGroup12)
  • GitHub Check: Run functional tests on Windows (ciGroup7)
  • GitHub Check: Run functional tests on Windows (ciGroup6)
  • GitHub Check: Run functional tests on Windows (ciGroup8)
  • GitHub Check: Run functional tests on Windows (ciGroup2)
  • GitHub Check: Run functional tests on Windows (ciGroup4)
  • GitHub Check: Run functional tests on Windows (ciGroup9)
  • GitHub Check: Run functional tests on Windows (ciGroup1)
  • GitHub Check: bundle-analyzer
  • GitHub Check: Run functional tests on Windows (ciGroup5)
  • GitHub Check: Run functional tests on Linux (ciGroup13)
  • GitHub Check: Run functional tests on Linux (ciGroup12)
  • GitHub Check: Run functional tests on Linux (ciGroup11)
  • GitHub Check: Run functional tests on Windows (ciGroup3)
  • GitHub Check: Run functional tests on Linux (ciGroup9)
  • GitHub Check: lighthouse
  • GitHub Check: Run functional tests on Linux (ciGroup8)
  • GitHub Check: Run functional tests on Linux (ciGroup7)
  • GitHub Check: Run functional tests on Linux (ciGroup3)
  • GitHub Check: Run functional tests on Linux (ciGroup10)
  • GitHub Check: Run functional tests on Linux (ciGroup4)
  • GitHub Check: Run functional tests on Linux (ciGroup5)
  • GitHub Check: Run functional tests on Linux (ciGroup6)
  • GitHub Check: Run functional tests on Linux (ciGroup1)
  • GitHub Check: Run functional tests on Linux (ciGroup2)
  • GitHub Check: Run plugin functional tests on Windows
  • GitHub Check: Build min release artifacts on Windows x64
  • GitHub Check: Run plugin functional tests on Linux
  • GitHub Check: Build min release artifacts on macOS ARM64
  • GitHub Check: Build min release artifacts on macOS x64
  • GitHub Check: Build min release artifacts on Linux ARM64
  • GitHub Check: Build min release artifacts on Linux x64
  • GitHub Check: Build and Verify on Windows (ciGroup3)
  • GitHub Check: Build and Verify on Linux (ciGroup4)
  • GitHub Check: Build and Verify on Windows (ciGroup4)
  • GitHub Check: Build and Verify on Windows (ciGroup1)
  • GitHub Check: Build and Verify on Windows (ciGroup2)
  • GitHub Check: Build and Verify on Linux (ciGroup2)
  • GitHub Check: Build and Verify on Linux (ciGroup3)
  • GitHub Check: Build and Verify on Linux (ciGroup1)
  • GitHub Check: Lint and validate
  • GitHub Check: Run cypress tests (osd:ciGroup14)
  • GitHub Check: Run cypress tests (osd:ciGroup17Explore)
  • GitHub Check: Run functional tests on Windows (ciGroup3)
  • GitHub Check: Run functional tests on Windows (ciGroup11)
  • GitHub Check: Run cypress tests (osd:ciGroup16Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup12Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup15)
  • GitHub Check: Run functional tests on Linux (ciGroup5)
  • GitHub Check: Run cypress tests (osd:ciGroup10Explore)
  • GitHub Check: Run functional tests on Windows (ciGroup7)
  • GitHub Check: Run functional tests on Windows (ciGroup4)
  • GitHub Check: Run cypress tests (osd:ciGroup14Explore)
  • GitHub Check: Run functional tests on Windows (ciGroup12)
  • GitHub Check: Run functional tests on Linux (ciGroup8)
  • GitHub Check: Run cypress tests (osd:ciGroup15Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup13Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup13)
  • GitHub Check: Run functional tests on Linux (ciGroup9)
  • GitHub Check: Run functional tests on Windows (ciGroup5)
  • GitHub Check: Run functional tests on Windows (ciGroup8)
  • GitHub Check: Run functional tests on Windows (ciGroup9)
  • GitHub Check: Run functional tests on Linux (ciGroup11)
  • GitHub Check: Run functional tests on Linux (ciGroup6)
  • GitHub Check: Run functional tests on Windows (ciGroup10)
  • GitHub Check: Run functional tests on Windows (ciGroup2)
  • GitHub Check: Run functional tests on Windows (ciGroup13)
  • GitHub Check: Run functional tests on Windows (ciGroup6)
  • GitHub Check: Run functional tests on Linux (ciGroup13)
  • GitHub Check: Run cypress tests (osd:ciGroup11)
  • GitHub Check: Run functional tests on Linux (ciGroup10)
  • GitHub Check: Run functional tests on Linux (ciGroup12)
  • GitHub Check: Run cypress tests (osd:ciGroup12)
  • GitHub Check: Run cypress tests (osd:ciGroup17Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup7)
  • GitHub Check: Run cypress tests (osd:ciGroup15)
  • GitHub Check: Run cypress tests (osd:ciGroup15Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup10Fast)
  • GitHub Check: Run cypress tests (osd:ciGroup13)
  • GitHub Check: Run cypress tests (osd:ciGroup13Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup14Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup16Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup12)
  • GitHub Check: Run cypress tests (osd:ciGroup14)
  • GitHub Check: Run cypress tests (osd:ciGroup12Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup9)
  • GitHub Check: Run cypress tests (osd:ciGroup10Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup11)
  • GitHub Check: Run cypress tests (osd:ciGroup10Slow)
  • GitHub Check: Run cypress tests (osd:ciGroup1)
  • GitHub Check: Run cypress tests (osd:ciGroup5)
  • GitHub Check: Run cypress tests (osd:ciGroup6)
  • GitHub Check: Run cypress tests (osd:ciGroup8)
  • GitHub Check: Run cypress tests (osd:ciGroup2)
  • GitHub Check: Run cypress tests (osd:ciGroup3)
  • GitHub Check: Run cypress tests (osd:ciGroup4)
  • GitHub Check: Run functional tests on Windows (ciGroup13)
  • GitHub Check: Run functional tests on Windows (ciGroup10)
  • GitHub Check: Run functional tests on Windows (ciGroup11)
  • GitHub Check: Run functional tests on Windows (ciGroup12)
  • GitHub Check: Run functional tests on Windows (ciGroup7)
  • GitHub Check: Run functional tests on Windows (ciGroup6)
  • GitHub Check: Run functional tests on Windows (ciGroup8)
  • GitHub Check: Run functional tests on Windows (ciGroup2)
  • GitHub Check: Run functional tests on Windows (ciGroup4)
  • GitHub Check: Run functional tests on Windows (ciGroup9)
  • GitHub Check: Run functional tests on Windows (ciGroup1)
  • GitHub Check: bundle-analyzer
  • GitHub Check: Run functional tests on Windows (ciGroup5)
  • GitHub Check: Run functional tests on Linux (ciGroup13)
  • GitHub Check: Run functional tests on Linux (ciGroup12)
  • GitHub Check: Run functional tests on Linux (ciGroup11)
  • GitHub Check: Run functional tests on Windows (ciGroup3)
  • GitHub Check: Run functional tests on Linux (ciGroup9)
  • GitHub Check: lighthouse
  • GitHub Check: Run functional tests on Linux (ciGroup8)
  • GitHub Check: Run functional tests on Linux (ciGroup7)
  • GitHub Check: Run functional tests on Linux (ciGroup3)
  • GitHub Check: Run functional tests on Linux (ciGroup10)
  • GitHub Check: Run functional tests on Linux (ciGroup4)
  • GitHub Check: Run functional tests on Linux (ciGroup5)
  • GitHub Check: Run functional tests on Linux (ciGroup6)
  • GitHub Check: Run functional tests on Linux (ciGroup1)
  • GitHub Check: Run functional tests on Linux (ciGroup2)
  • GitHub Check: Run plugin functional tests on Windows
  • GitHub Check: Build min release artifacts on Windows x64
  • GitHub Check: Run plugin functional tests on Linux
  • GitHub Check: Build min release artifacts on macOS ARM64
  • GitHub Check: Build min release artifacts on macOS x64
  • GitHub Check: Build min release artifacts on Linux ARM64
  • GitHub Check: Build min release artifacts on Linux x64
  • GitHub Check: Build and Verify on Windows (ciGroup3)
  • GitHub Check: Build and Verify on Linux (ciGroup4)
  • GitHub Check: Build and Verify on Windows (ciGroup4)
  • GitHub Check: Build and Verify on Windows (ciGroup1)
  • GitHub Check: Build and Verify on Windows (ciGroup2)
  • GitHub Check: Build and Verify on Linux (ciGroup2)
  • GitHub Check: Build and Verify on Linux (ciGroup3)
  • GitHub Check: Build and Verify on Linux (ciGroup1)
  • GitHub Check: Lint and validate
  • GitHub Check: Run cypress tests (osd:ciGroup14)
  • GitHub Check: Run cypress tests (osd:ciGroup17Explore)
  • GitHub Check: Run functional tests on Windows (ciGroup3)
  • GitHub Check: Run functional tests on Windows (ciGroup11)
  • GitHub Check: Run cypress tests (osd:ciGroup16Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup12Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup15)
  • GitHub Check: Run functional tests on Linux (ciGroup5)
  • GitHub Check: Run cypress tests (osd:ciGroup10Explore)
  • GitHub Check: Run functional tests on Windows (ciGroup7)
  • GitHub Check: Run functional tests on Windows (ciGroup4)
  • GitHub Check: Run cypress tests (osd:ciGroup14Explore)
  • GitHub Check: Run functional tests on Windows (ciGroup12)
  • GitHub Check: Run functional tests on Linux (ciGroup8)
  • GitHub Check: Run cypress tests (osd:ciGroup15Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup13Explore)
  • GitHub Check: Run cypress tests (osd:ciGroup13)
  • GitHub Check: Run functional tests on Linux (ciGroup9)
  • GitHub Check: Run functional tests on Windows (ciGroup5)
  • GitHub Check: Run functional tests on Windows (ciGroup8)
  • GitHub Check: Run functional tests on Windows (ciGroup9)
  • GitHub Check: Run functional tests on Linux (ciGroup11)
  • GitHub Check: Run functional tests on Linux (ciGroup6)
  • GitHub Check: Run functional tests on Windows (ciGroup10)
  • GitHub Check: Run functional tests on Windows (ciGroup2)
  • GitHub Check: Run functional tests on Windows (ciGroup13)
  • GitHub Check: Run functional tests on Windows (ciGroup6)
  • GitHub Check: Run functional tests on Linux (ciGroup13)
  • GitHub Check: Run cypress tests (osd:ciGroup11)
  • GitHub Check: Run functional tests on Linux (ciGroup10)
  • GitHub Check: Run functional tests on Linux (ciGroup12)
  • GitHub Check: Run cypress tests (osd:ciGroup12)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ai Changes related to AI chat, context provider and artifact distinguished-contributor v3.4.0

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants