ui/dashboard #2

Open
evgeny wants to merge 325 commits from ui/dashboard into main
Owner

Summary

Describe the problem and fix in 2–5 bullets:

  • Problem:
  • Why it matters:
  • What changed:
  • What did NOT change (scope boundary):

Change Type (select all)

  • Bug fix
  • Feature
  • Refactor
  • Docs
  • Security hardening
  • Chore/infra

Scope (select all touched areas)

  • Gateway / orchestration
  • Skills / tool execution
  • Auth / tokens
  • Memory / storage
  • Integrations
  • API / contracts
  • UI / DX
  • CI/CD / infra

Linked Issue/PR

  • Closes #
  • Related #

User-visible / Behavior Changes

List user-visible changes (including defaults/config).
If none, write None.

Security Impact (required)

  • New permissions/capabilities? (Yes/No)
  • Secrets/tokens handling changed? (Yes/No)
  • New/changed network calls? (Yes/No)
  • Command/tool execution surface changed? (Yes/No)
  • Data access scope changed? (Yes/No)
  • If any Yes, explain risk + mitigation:

Repro + Verification

Environment

  • OS:
  • Runtime/container:
  • Model/provider:
  • Integration/channel (if any):
  • Relevant config (redacted):

Steps

Expected

Actual

Evidence

Attach at least one:

  • Failing test/log before + passing after
  • Trace/log snippets
  • Screenshot/recording
  • Perf numbers (if relevant)

Human Verification (required)

What you personally verified (not just CI), and how:

  • Verified scenarios:
  • Edge cases checked:
  • What you did not verify:

Compatibility / Migration

  • Backward compatible? (Yes/No)
  • Config/env changes? (Yes/No)
  • Migration needed? (Yes/No)
  • If yes, exact upgrade steps:

Failure Recovery (if this breaks)

  • How to disable/revert this change quickly:
  • Files/config to restore:
  • Known bad symptoms reviewers should watch for:

Risks and Mitigations

List only real risks for this PR. Add/remove entries as needed. If none, write None.

  • Risk:
    • Mitigation:
## Summary Describe the problem and fix in 2–5 bullets: - Problem: - Why it matters: - What changed: - What did NOT change (scope boundary): ## Change Type (select all) - [ ] Bug fix - [ ] Feature - [ ] Refactor - [ ] Docs - [ ] Security hardening - [ ] Chore/infra ## Scope (select all touched areas) - [ ] Gateway / orchestration - [ ] Skills / tool execution - [ ] Auth / tokens - [ ] Memory / storage - [ ] Integrations - [ ] API / contracts - [ ] UI / DX - [ ] CI/CD / infra ## Linked Issue/PR - Closes # - Related # ## User-visible / Behavior Changes List user-visible changes (including defaults/config). If none, write `None`. ## Security Impact (required) - New permissions/capabilities? (`Yes/No`) - Secrets/tokens handling changed? (`Yes/No`) - New/changed network calls? (`Yes/No`) - Command/tool execution surface changed? (`Yes/No`) - Data access scope changed? (`Yes/No`) - If any `Yes`, explain risk + mitigation: ## Repro + Verification ### Environment - OS: - Runtime/container: - Model/provider: - Integration/channel (if any): - Relevant config (redacted): ### Steps 1. 2. 3. ### Expected - ### Actual - ## Evidence Attach at least one: - [ ] Failing test/log before + passing after - [ ] Trace/log snippets - [ ] Screenshot/recording - [ ] Perf numbers (if relevant) ## Human Verification (required) What you personally verified (not just CI), and how: - Verified scenarios: - Edge cases checked: - What you did **not** verify: ## Compatibility / Migration - Backward compatible? (`Yes/No`) - Config/env changes? (`Yes/No`) - Migration needed? (`Yes/No`) - If yes, exact upgrade steps: ## Failure Recovery (if this breaks) - How to disable/revert this change quickly: - Files/config to restore: - Known bad symptoms reviewers should watch for: ## Risks and Mitigations List only real risks for this PR. Add/remove entries as needed. If none, write `None`. - Risk: - Mitigation:
evgeny added 325 commits 2026-02-22 04:41:27 +00:00
- Added a new package `@openclaw/dashboard-next` for the Next.js dashboard.
- Implemented WebSocket client functionality in `@openclaw/dashboard-gateway-client`.
- Created UI components for chat and overview pages.
- Included configuration files and environment setup for local development.
- Updated `.gitignore` to exclude build artifacts for the new package.
- Updated dependencies in `pnpm-lock.yaml` to reflect the new package structure.
- Cleaned up configuration and environment files related to the previous dashboard implementation.
* docs: thread-bound subagents plan

* docs: add exact thread-bound subagent implementation touchpoints

* Docs: prioritize auto thread-bound subagent flow

* Docs: add ACP harness thread-binding extensions

* Discord: add thread-bound session routing and auto-bind spawn flow

* Subagents: add focus commands and ACP/session binding lifecycle hooks

* Tests: cover thread bindings, focus commands, and ACP unbind hooks

* Docs: add plugin-hook appendix for thread-bound subagents

* Plugins: add subagent lifecycle hook events

* Core: emit subagent lifecycle hooks and decouple Discord bindings

* Discord: handle subagent bind lifecycle via plugin hooks

* Subagents: unify completion finalizer and split registry modules

* Add subagent lifecycle events module

* Hooks: fix subagent ended context key

* Discord: share thread bindings across ESM and Jiti

* Subagents: add persistent sessions_spawn mode for thread-bound sessions

* Subagents: clarify thread intro and persistent completion copy

* test(subagents): stabilize sessions_spawn lifecycle cleanup assertions

* Discord: add thread-bound session TTL with auto-unfocus

* Subagents: fail session spawns when thread bind fails

* Subagents: cover thread session failure cleanup paths

* Session: add thread binding TTL config and /session ttl controls

* Tests: align discord reaction expectations

* Agent: persist sessionFile for keyed subagent sessions

* Discord: normalize imports after conflict resolution

* Sessions: centralize sessionFile resolve/persist helper

* Discord: harden thread-bound subagent session routing

* Rebase: resolve upstream/main conflicts

* Subagents: move thread binding into hooks and split bindings modules

* Docs: add channel-agnostic subagent routing hook plan

* Agents: decouple subagent routing from Discord

* Discord: refactor thread-bound subagent flows

* Subagents: prevent duplicate end hooks and orphaned failed sessions

* Refactor: split subagent command and provider phases

* Subagents: honor hook delivery target overrides

* Discord: add thread binding kill switches and refresh plan doc

* Discord: fix thread bind channel resolution

* Routing: centralize account id normalization

* Discord: clean up thread bindings on startup failures

* Discord: add startup cleanup regression tests

* Docs: add long-term thread-bound subagent architecture

* Docs: split session binding plan and dedupe thread-bound doc

* Subagents: add channel-agnostic session binding routing

* Subagents: stabilize announce completion routing tests

* Subagents: cover multi-bound completion routing

* Subagents: suppress lifecycle hooks on failed thread bind

* tests: fix discord provider mock typing regressions

* docs/protocol: sync slash command aliases and delete param models

* fix: add changelog entry for Discord thread-bound subagents (#21805) (thanks @onutc)

---------

Co-authored-by: Shadow <hi@shadowing.dev>
- Updated README with connection panel instructions for gateway URL and shared secret.
- Refactored GatewayProvider to manage gateway URL and shared secret more effectively.
- Added reconnect functionality to GatewayState for improved client management.
- Enhanced OverviewView and ChatView to support user input for gateway URL and shared secret, including error handling for password mismatches.
- Added '@noble/ed25519' dependency for device identity signing.
- Implemented device identity generation and storage in the GatewayClient.
- Enhanced GatewayProvider to track reconnect failures and provide manual retry options.
- Updated OverviewView to display connection status and error messages related to device identity and secure context requirements.
- Improved README with security hardening instructions for the Control UI.
- Integrated a new Node.js script to check for sensitive content in changed files, including private IPs and gateway secrets.
- Updated CI workflow to include the setup of Node.js and the execution of the sensitive content check.
- Enhanced pre-commit hook to validate staged files against sensitive content rules.
- Added local pre-commit configuration file to .gitignore for better management.
- Removed the existing .pre-commit-config.yaml file as it is now managed locally.
- Updated AGENTS.md to reflect changes in pre-commit hook installation instructions.
- Enhanced CSS styles in dashboard-lit for improved theming and UI consistency, including new glassmorphism effects and responsive design adjustments.
- Introduced icon components for better visual representation in the OverviewView.
- Updated .gitignore to include .ant-colony directory.
- Modified README.md to reflect changes in gateway authentication settings.
- Added a new favicon.svg for improved branding.
- Refactored app.ts to implement theme management and sidebar navigation.
- Introduced sidebar-nav component for better navigation structure.
- Added controllers for overview, presence, and sessions management.
- Enhanced navigation library with new tab definitions and titles.
- Improved overview-view to display gateway health and stats dynamically.
- Updated styles.css for better theming and responsive design.
- Introduced new CSS variables for liquid glass design, including blur, saturation, radius, and animation durations.
- Updated existing theme variables for 'docsTheme', 'landingTheme', and 'light' to align with the new design tokens.
- Enhanced sidebar and app shell styles for improved responsiveness and visual consistency.
- Added support for reduced motion preferences in animations.
- Removed direct gateway connection handling from app.ts.
- Introduced a new connection-status component to encapsulate connection health display.
- Updated app rendering logic to utilize the new component for improved modularity and readability.
- Added a new connection status component with interactive features for displaying connection health.
- Introduced styles for connection status buttons, menus, and animations in styles.css.
- Updated OverviewView to conditionally render the connection section based on connection status.
- Improved user experience with click handling for connection actions and menu visibility.
- Refactored connection status button classes for improved clarity and consistency.
- Adjusted styles for connection status buttons, including padding and height.
- Enhanced theme toggle button with responsive behavior for hover and focus states.
- Implemented transitions for button visibility and layout adjustments in collapsed state.
- Introduced theme options for improved user experience in the dashboard.
- Refactored theme toggle to dynamically reorder buttons based on the active theme.
- Enhanced chat view with improved state management for messages and sessions.
- Added new icons for better visual representation in the chat interface.
- Updated styles for chat components to improve layout and responsiveness.
Verified:
- pnpm build
- pnpm check
- pnpm test:macmini

Co-authored-by: miloudbelarebia <136994453+miloudbelarebia@users.noreply.github.com>
Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com>
Verified:
- pnpm install --frozen-lockfile
- pnpm build
- pnpm check
- pnpm test:macmini

Co-authored-by: niceysam <256747835+niceysam@users.noreply.github.com>
Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com>
Verified:
- pnpm build
- pnpm check
- pnpm test:macmini

Co-authored-by: simonemacario <2116609+simonemacario@users.noreply.github.com>
Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com>
Verified:
- pnpm build
- pnpm check
- pnpm test:macmini

Co-authored-by: Oceanswave <760674+Oceanswave@users.noreply.github.com>
Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com>
* includes: prompt overhead in compaction safeguard calculation.

Subtracts SUMMARIZATION_OVERHEAD_TOKENS from maxChunkTokens in both the main summarization path and the dropped-messages summarization path.

This ensures the chunk budget leaves room for the prompt overhead that generateSummary wraps around each chunk.

* adds: budget for overhead tokens to use an effectiveMax instead of maxTokens naïvely.

- Added `SUMMARIZATION_OVERHEAD_TOKENS = 4096` — a budget for the tokens that `generateSummary` adds on top of the serialized conversation (system prompt, `<conversation>` tags, summarization instructions, `<previous-summary>` block, and reasoning: "high" thinking budget).
- `chunkMessagesByMaxTokens` now divides `maxTokens` by `SAFETY_MARGIN` (1.2) before comparing against estimated token counts. Previously, the safety margin was only used in `computeAdaptiveChunkRatio` and `isOversizedForSummary` but not in the actual chunking loop — so chunks could be built that fit the estimated budget but exceeded the real budget once the API tokenized them properly.
- Added support for markdown rendering in chat messages using `@create-markdown/preview`.
- Implemented slash command functionality, allowing users to trigger commands with a '/' prefix.
- Enhanced chat input to handle file attachments and image pasting.
- Updated sidebar navigation to display the current agent version dynamically.
- Introduced new styles for chat components and improved responsiveness for mobile views.
- Added utility functions for managing agents and attachments in the chat context.
- Introduced a new sessions list in the overview view, displaying active sessions with updated styles.
- Updated session summary type to include additional fields such as `kind`, `label`, and `displayName`.
- Modified the `loadSessions` function to accept new options for session retrieval.
- Improved responsiveness and layout of session rows with hover effects and better information display.
- Adjusted tick interval display format for improved readability.
- Introduced new components for agent management, including `agent-panel`, `agent-dropdown-switcher`, and `agent-profile-provider`.
- Implemented `agent-avatar` for displaying agent profiles with color coding.
- Enhanced chat interface with `chat-bubble` for improved message display and interaction.
- Added new utility functions for managing agent profiles and sessions.
- Updated styles for better responsiveness and user experience across components.
- Added a new `resetSession` function to manage chat sessions effectively.
- Implemented a new button for starting a new chat, which resets the current session and clears chat history.
- Introduced a compact context button for improved user experience.
- Updated styles for chat components, including a new input divider for better layout.
- Enhanced CSS for various elements, improving responsiveness and visual consistency.
- Replaced the previous duty prompts with a new structure for quick-send starter cards, enhancing user interaction.
- Each starter card now includes a label, prompt, and icon for better clarity and engagement.
- Removed the outline expansion state as it is no longer needed with the new starter card implementation.
- Updated related methods to utilize the new starter card format, improving the overall chat experience.
- Integrated dynamic agent color into the chat view, improving visual representation.
- Updated the agent avatar size for better visibility and aesthetics.
- Added a glow effect to the welcome section for enhanced user experience.
- Adjusted padding, margins, and font sizes for better layout and readability.
- Introduced a new glow effect in the welcome section to enhance visual appeal.
- Updated badge and starter card styles for consistency and improved interaction.
- Enhanced responsiveness and dynamic color integration across various elements.
- Added `attention-center`, `bottom-tabs`, `command-palette`, `connection-badge`, `cron-summary-card`, `dashboard-header`, `event-log`, `log-tail`, `quick-actions`, and `quick-note-stream` components to improve user interaction and functionality.
- Enhanced the main content area with tab change handling and navigation events.
- Updated styles for various components, including improved padding, margins, and responsiveness.
- Introduced new icons and visual elements for better user experience across the dashboard.
- Introduced `command-palette`, `bottom-tabs`, and various overview components to improve user navigation and interaction.
- Implemented attention items and event log display for better monitoring of system status.
- Enhanced the overview layout with new cards for usage statistics, session details, and quick actions.
- Added functionality for handling keyboard shortcuts and improved event logging.
- Updated state management to support new dashboard features, including stream mode and log handling.
Merged via /review-pr -> /prepare-pr -> /merge-pr.

Prepared head SHA: a806c4cb27
Co-authored-by: Kepler2024 <166882517+Kepler2024@users.noreply.github.com>
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com>
Reviewed-by: @gumadeiras
Merged via /review-pr -> /prepare-pr -> /merge-pr.

Prepared head SHA: b4a5b12422
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com>
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com>
Reviewed-by: @gumadeiras
* Security/Gateway: harden Control UI static path containment

* gateway: block control-ui symlink escapes

* CI: retrigger flaky node test lane

---------

Co-authored-by: Brian Mendonca <brianmendonca@Brians-MacBook-Air.local>
* fix(gateway): allow localhost Control UI without device identity when allowInsecureAuth is set

* fix(gateway): pass isLocalClient to evaluateMissingDeviceIdentity

* test: add regression tests for localhost Control UI pairing

* fix(gateway): require pairing for legacy metadata upgrades

* test(gateway): fix legacy metadata e2e ws typing

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
* feat(channels): add Synology Chat native channel

Webhook-based integration with Synology NAS Chat (DSM 7+).
Supports outgoing webhooks, incoming messages, multi-account,
DM policies, rate limiting, and input sanitization.

- HMAC-based constant-time token validation
- Configurable SSL verification (allowInsecureSsl) for self-signed NAS certs
- 54 unit tests across 5 test suites
- Follows the same ChannelPlugin pattern as LINE/Discord/Telegram

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* feat(synology-chat): add pairing, warnings, messaging, agent hints

- Enable media capability (file_url already supported by client)
- Add pairing.notifyApproval to message approved users
- Add security.collectWarnings for missing token/URL, insecure SSL, open DM policy
- Add messaging.normalizeTarget and targetResolver for user ID resolution
- Add directory stubs (self, listPeers, listGroups)
- Add agentPrompt.messageToolHints with Synology Chat formatting guide
- 63 tests (up from 54), all passing

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
applyMergePatch in merge-patch.ts iterates Object.entries(patch) without
filtering dangerous keys. When a caller passes a JSON-parsed object with
a "__proto__" key, the loop assigns result["__proto__"] = value, which
replaces the prototype of result and pollutes Object.prototype for the
entire process.

Add a BLOCKED_KEYS set ({"__proto__", "constructor", "prototype"}) and
skip those keys during iteration, matching the guard already present in
deepMerge (includes.ts) via isBlockedObjectKey.

Adds four tests covering __proto__, constructor, prototype, and nested
__proto__ injection.

Co-authored-by: Clawborn <tianrun.yang103@gmail.com>
Add baseline test coverage for the previously untested
resolveSandboxedMediaSource() function, covering sandbox-relative
path resolution, rejection of paths outside the sandbox root,
path traversal prevention, file:// URL handling, HTTP URL
passthrough, and empty input edge cases.
resolveSandboxedMediaSource() rejected all paths outside the sandbox
workspace root, including /tmp. This blocked sandboxed agents from
sending locally-generated temp files (e.g. images from Python scripts)
via messaging actions.

Add an os.tmpdir() prefix check before the strict sandbox containment
assertion, consistent with buildMediaLocalRoots() which already
includes os.tmpdir() in its default allowlist. Path traversal through
/tmp (e.g. /tmp/../etc/passwd) is prevented by path.resolve()
normalization before the prefix check.

Relates-to: #16382, #14174
Add integration test confirming that runMessageAction with a sandbox
root now accepts media paths under os.tmpdir() through the full
normalization pipeline (normalizeSandboxMediaList → resolveSandboxedMediaSource).
Co-authored-by: Irene <huangxiyan2311@gmail.com>
Verified:
- pnpm build
- pnpm check
- pnpm test:macmini

Co-authored-by: vignesh07 <1436853+vignesh07@users.noreply.github.com>
Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com>
* feat: implement DM history backfill for BlueBubbles

- Add fetchBlueBubblesHistory function to fetch message history from API
- Modify processMessage to fetch history for both groups and DMs
- Use dmHistoryLimit for DMs and historyLimit for groups
- Add InboundHistory field to finalizeInboundContext call

Fixes #20296

* style: format with oxfmt

* address review: in-memory history cache, resolveAccount try/catch, include is_from_me

- Wrap resolveAccount in try/catch instead of unreachable guard (it throws)
- Include is_from_me messages with 'me' sender label for full conversation context
- Add in-memory rolling history map (chatHistories) matching other channel patterns
- API backfill only on first message per chat, not every incoming message
- Remove unused buildInboundHistoryFromEntries import

* chore: remove unused buildInboundHistoryFromEntries helper

Dead code flagged by Greptile — mapping is done inline in
monitor-processing.ts.

* BlueBubbles: harden DM history backfill state handling

* BlueBubbles: add bounded exponential backoff and history payload guards

* BlueBubbles: evict merged history keys

* Update extensions/bluebubbles/src/monitor-processing.ts

Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>

---------

Co-authored-by: Ryan Mac Mini <ryanmacmini@ryans-mac-mini.tailf78f8b.ts.net>
Co-authored-by: Vincent Koc <vincentkoc@ieee.org>
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
* feat: add Korean stop words and tokenization for memory search

* fix: address review comments on Korean query expansion

* fix: lint errors - curly brace and toSorted

* fix(memory): improve Korean stop words and deduplicate

* Memory: tighten Korean query expansion filtering

* Docs/Changelog: credit Korean memory query expansion

---------

Co-authored-by: Vincent Koc <vincentkoc@ieee.org>
- Updated .gitignore to include .ant-colony directory.
- Modified README.md to reflect changes in gateway authentication settings.
- Added a new favicon.svg for improved branding.
- Refactored app.ts to implement theme management and sidebar navigation.
- Introduced sidebar-nav component for better navigation structure.
- Added controllers for overview, presence, and sessions management.
- Enhanced navigation library with new tab definitions and titles.
- Improved overview-view to display gateway health and stats dynamically.
- Updated styles.css for better theming and responsive design.
refactor(styles): improve CSS structure and readability across multiple files
Some checks failed
CI / docs-scope (pull_request) Has been cancelled
Install Smoke / docs-scope (pull_request) Has been cancelled
CI / changed-scope (pull_request) Has been cancelled
CI / build-artifacts (pull_request) Has been cancelled
CI / release-check (pull_request) Has been cancelled
CI / checks (pnpm canvas:a2ui:bundle && bunx vitest run --config vitest.unit.config.ts, bun, test) (pull_request) Has been cancelled
CI / checks (pnpm canvas:a2ui:bundle && pnpm test, node, test) (pull_request) Has been cancelled
CI / checks (pnpm protocol:check, node, protocol) (pull_request) Has been cancelled
CI / check (pull_request) Has been cancelled
CI / dead-code report (pnpm deadcode:report:ci:knip, knip) (pull_request) Has been cancelled
CI / dead-code report (pnpm deadcode:report:ci:ts-prune, ts-prune) (pull_request) Has been cancelled
CI / dead-code report (pnpm deadcode:report:ci:ts-unused, ts-unused-exports) (pull_request) Has been cancelled
CI / check-docs (pull_request) Has been cancelled
CI / secrets (pull_request) Has been cancelled
CI / checks-windows (pnpm canvas:a2ui:bundle && pnpm test, node, test) (pull_request) Has been cancelled
CI / checks-windows (pnpm lint, node, lint) (pull_request) Has been cancelled
CI / checks-windows (pnpm protocol:check, node, protocol) (pull_request) Has been cancelled
CI / macos (pull_request) Has been cancelled
CI / ios (pull_request) Has been cancelled
CI / android (./gradlew --no-daemon :app:assembleDebug, build) (pull_request) Has been cancelled
CI / android (./gradlew --no-daemon :app:testDebugUnitTest, test) (pull_request) Has been cancelled
Install Smoke / install-smoke (pull_request) Has been cancelled
Workflow Sanity / no-tabs (pull_request) Has been cancelled
Workflow Sanity / actionlint (pull_request) Has been cancelled
Labeler / label (pull_request_target) Has been cancelled
Labeler / backfill-pr-labels (pull_request_target) Has been cancelled
Labeler / label-issues (pull_request_target) Has been cancelled
13b820ac01
- Standardized CSS variable values for consistency.
- Enhanced layout styles for sidebar navigation and responsiveness.
- Refactored callout styles for better gradient definitions.
- Improved transition properties for smoother UI interactions.
- Added new icons for sidebar functionality and external links.
- Updated HTML structure in app-render for better sidebar management.
Some checks failed
CI / docs-scope (pull_request) Has been cancelled
Install Smoke / docs-scope (pull_request) Has been cancelled
CI / changed-scope (pull_request) Has been cancelled
CI / build-artifacts (pull_request) Has been cancelled
CI / release-check (pull_request) Has been cancelled
CI / checks (pnpm canvas:a2ui:bundle && bunx vitest run --config vitest.unit.config.ts, bun, test) (pull_request) Has been cancelled
CI / checks (pnpm canvas:a2ui:bundle && pnpm test, node, test) (pull_request) Has been cancelled
CI / checks (pnpm protocol:check, node, protocol) (pull_request) Has been cancelled
CI / check (pull_request) Has been cancelled
CI / dead-code report (pnpm deadcode:report:ci:knip, knip) (pull_request) Has been cancelled
CI / dead-code report (pnpm deadcode:report:ci:ts-prune, ts-prune) (pull_request) Has been cancelled
CI / dead-code report (pnpm deadcode:report:ci:ts-unused, ts-unused-exports) (pull_request) Has been cancelled
CI / check-docs (pull_request) Has been cancelled
CI / secrets (pull_request) Has been cancelled
CI / checks-windows (pnpm canvas:a2ui:bundle && pnpm test, node, test) (pull_request) Has been cancelled
CI / checks-windows (pnpm lint, node, lint) (pull_request) Has been cancelled
CI / checks-windows (pnpm protocol:check, node, protocol) (pull_request) Has been cancelled
CI / macos (pull_request) Has been cancelled
CI / ios (pull_request) Has been cancelled
CI / android (./gradlew --no-daemon :app:assembleDebug, build) (pull_request) Has been cancelled
CI / android (./gradlew --no-daemon :app:testDebugUnitTest, test) (pull_request) Has been cancelled
Install Smoke / install-smoke (pull_request) Has been cancelled
Workflow Sanity / no-tabs (pull_request) Has been cancelled
Workflow Sanity / actionlint (pull_request) Has been cancelled
Labeler / label (pull_request_target) Has been cancelled
Labeler / backfill-pr-labels (pull_request_target) Has been cancelled
Labeler / label-issues (pull_request_target) Has been cancelled
This pull request has changes conflicting with the target branch.
  • .gitignore
  • CHANGELOG.md
  • src/shared/operator-scope-compat.test.ts
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin ui/dashboard:ui/dashboard
git checkout ui/dashboard
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: evgeny/openclaw#2