Skip to content

Feat/new home#3453

Merged
pedrofrxncx merged 31 commits into
mainfrom
feat/new-home
May 26, 2026
Merged

Feat/new home#3453
pedrofrxncx merged 31 commits into
mainfrom
feat/new-home

Conversation

@pedrofrxncx
Copy link
Copy Markdown
Collaborator

@pedrofrxncx pedrofrxncx commented May 22, 2026

What is this contribution about?

Describe your changes and why they're needed.

Screenshots/Demonstration

Add screenshots or a Loom video if your changes affect the UI.

How to Test

Provide step-by-step instructions for reviewers to test your changes:

  1. Step one
  2. Step two
  3. Expected outcome

Migration Notes

If this PR requires database migrations, configuration changes, or other setup steps, document them here. Remove this section if not applicable.

Review Checklist

  • PR title is clear and descriptive
  • Changes are tested and working
  • Documentation is updated (if needed)
  • No breaking changes

Summary by cubic

Rebuilt the home around preset tasks and a server‑driven task flow; removed the legacy home board. Added Studio Pack onboarding with cached checklists and welcome threads, a Storefront Manager checklist and storefront setup flow, and a publish‑gated web‑page preview with coalesced HTML writes.

  • New Features

    • Tasks panel: preset cards + “Suggested actions” with agent icons; per‑route open/closed; Studio Pack checklists now include a Storefront Manager flow (install GitHub MCP, add storefront, configure repo automations, set up site monitoring) with server‑side completion and fast caching; welcomes materialized on first open.
    • Chat/UI: rich brand‑context tool previews; “Next action” chip for welcomes; chips to reopen generated pages; Web‑page tab iframes only after a publish signal; coalesced pages/<slug>.html writes with one flush per step and rAF fallback.
    • Platform: Studio Pack auto‑installed via DBOS with seeded welcome threads; improved sandbox liveness (probe /health, evict stale, auto‑restart); threads listWithLastMessage powers suggestions; optional model tiers via tryResolveTier; object storage always rebinds to the path org; brand‑context helpers exported in @decocms/mesh-sdk; unused preset‑task types and SVGs removed; bumped @decocms/sandbox to 0.5.6.
  • Migration

    • Set DECO_SYSTEM_HEALTH_MCP to your system‑health MCP URL.
    • Ensure a Firecrawl API key is configured for brand extraction.
    • KV API simplified (typed kvGet/kvSet removed); KV storage must be available for suggested‑actions, preset‑task state, and checklists.

Written for commit 43d3da5. Summary will update on new commits. Review in cubic

@github-actions
Copy link
Copy Markdown
Contributor

🧪 Benchmark

Should we run the Virtual MCP strategy benchmark for this PR?

React with 👍 to run the benchmark.

Reaction Action
👍 Run quick benchmark (10 & 128 tools)

Benchmark will run on the next push after you react.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 22, 2026

Release Options

Suggested: Patch (2.349.2) — default (no conventional commit prefix detected)

React with an emoji to override the release type:

Reaction Type Next Version
👍 Prerelease 2.349.2-alpha.1
🎉 Patch 2.349.2
❤️ Minor 2.350.0
🚀 Major 3.0.0

Current version: 2.349.1

Note: If multiple reactions exist, the smallest bump wins. If no reactions, the suggested bump is used (default: patch).

Copy link
Copy Markdown
Contributor

@cubic-dev-ai cubic-dev-ai Bot left a comment

Choose a reason for hiding this comment

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

8 issues found across 74 files

Reply with feedback, questions, or to request a fix.

Re-trigger cubic

Comment thread apps/mesh/src/api/routes/deco-sites.ts Outdated
Comment thread apps/mesh/src/storage/home-board.ts Outdated
Comment thread apps/mesh/src/web/components/home/tiles/use-home-board.ts Outdated
Comment thread apps/mesh/src/web/components/home/tiles/constants.ts Outdated
Comment thread apps/mesh/src/web/hooks/use-oauth-handshake.ts Outdated
Comment thread apps/mesh/src/harnesses/decopilot/built-in-tools/brand-context-setup.ts Outdated
Comment thread apps/mesh/src/web/components/home/tiles/use-home-board.ts Outdated
Copy link
Copy Markdown
Contributor

@cubic-dev-ai cubic-dev-ai Bot left a comment

Choose a reason for hiding this comment

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

1 issue found across 5 files (changes from recent commits).

Tip: Review your code locally with the cubic CLI to iterate faster.

Re-trigger cubic

Comment thread apps/mesh/src/storage/home-board.ts Outdated
pedrofrxncx and others added 9 commits May 22, 2026 23:52
Replaces the previous agents-list home with a tile-board centered on
three preset tiles (brand context, landing page, error monitoring).
Adds Figma-exported SVG task thumbnails, capybara accent, and a
subtle background pattern. Home renders the chat composer on top
with tiles below when activated, persisted per-org in localStorage.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Tasks panel sidebar grows a "new" mode showing five preset cards
(New chat, Extract brand context, Create landing page, Set up error
monitoring, Import Deco). Preset cards prefill a chat, pin the
matching home tile, and navigate to the new thread.

Panel open/closed state is now per-route — closing the panel inside
a chat doesn't follow you to home and vice versa. URL ?tasks=0|1
seeds the initial value for refresh-after-close to stay closed.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Adds the preset-tasks server: definition registry (brand context,
landing page, error monitoring), brand-context workflow, org-scoped
routes (/api/:org/preset-tasks, /api/:org/home-board), and Kysely
storage tables for preset-task runs and home-board pin state.

mesh-sdk exposes preset task definitions and helpers so the client
can render the matching tiles and start preconfigured chats.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…tool plumbing

Three new agents with dynamic instructions, paired with decopilot
built-in tools for each (brand-context setup/confirm/helpers,
system-health, web-developer). Wires agent dispatch through the
existing decopilot routes.

Adds the auto-install flow (system-health + GitHub) with OAuth
handshake hook and a shared install-flow dialog. Chat message
rendering grows specialized tool-call parts for brand-context
previews and write-html-page (rendered in the new web-page tab).

Misc: configure-trigger, generate-id, kv/virtual storage touches,
and test updates kept together with the agent work that needed them.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Lint: moved render-time .current accesses into useEffect (with the
project's standard oxlint-disable comment for imperative effects)
in write-html-page.tsx and web-page-tab.tsx. Matched the sibling
useAutoInstallGitHub suppression pattern in useAutoInstallSystemHealth
to keep the two hooks consistent.

Knip: removed orphaned agent built-in tools that were left behind
when dispatch-run.ts kept main's harness-refactor version instead of
the branch's inline tool registration. Also dropped a few unused
exports the branch surfaced (resolveBrandContextPrompt,
getBrandContextAgentMode, getSystemHealthAgentConnectionId,
BRAND_EXTRACTED_TOPIC export).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- Changed the user profile route to use the authenticated user's email instead of a hardcoded value, enhancing security.
- Refactored the home board auto pin slot logic to ensure it correctly calculates the maximum bottom position, improving tile placement accuracy.
- Updated constants to derive all sizes from SIZE_PRESETS for better maintainability.
- Modified the snapshotAndPatch function to return a promise and handle cache updates more effectively, ensuring smoother state management during mutations.
- Enhanced error handling in the OAuth handshake process to provide clearer feedback on token persistence failures.
Row-by-row scan was O(maxBottom) — a stale tall tile could spin the
loop for huge y values. Walk by blocker bottom instead; terminates in
≤ tiles.length + 1 iterations.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- Deleted the brand-context agent helpers and system-health agent files as they are no longer needed.
- Cleaned up related imports and references in the codebase to streamline the project structure.
Copy link
Copy Markdown
Contributor

@cubic-dev-ai cubic-dev-ai Bot left a comment

Choose a reason for hiding this comment

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

6 issues found across 58 files (changes from recent commits).

Tip: Review your code locally with the cubic CLI to iterate faster.

Re-trigger cubic

Comment thread apps/mesh/src/api/routes/suggested-actions.ts Outdated
Comment thread apps/mesh/src/web/components/chat/message/parts/tool-call-part/brand-context.tsx Outdated
Comment thread apps/mesh/src/api/routes/decopilot/memory.ts Outdated
Comment thread apps/mesh/src/api/routes/decopilot/nats-stream-buffer.ts
Comment thread apps/mesh/src/harnesses/decopilot/built-in-tools/vm-tools/index.ts Outdated
Comment thread packages/mesh-sdk/src/lib/constants.ts
- Deleted unused web-developer related components and tools from the codebase, including `WriteHtmlPagePart` and associated functions.
- Enhanced the `DesktopSandboxProvider` to include health checks for sandbox URLs, ensuring stale entries are properly evicted and respawned when necessary.
- Updated tests to reflect changes in sandbox management and health probing logic, ensuring robust handling of daemon failures.
Copy link
Copy Markdown
Contributor

@cubic-dev-ai cubic-dev-ai Bot left a comment

Choose a reason for hiding this comment

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

1 issue found across 14 files (changes from recent commits).

Prompt for AI agents (unresolved issues)

Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.


<file name="apps/mesh/src/link-daemon/sandbox-provider.ts">

<violation number="1" location="apps/mesh/src/link-daemon/sandbox-provider.ts:133">
P2: Use liveness endpoint here. `/health` is not the designated probe path for this check. Probe `/health/live` so cache-hit reuse follows the health contract.

(Based on your team's feedback about using /health/live for liveness and /health/ready for readiness.) [FEEDBACK_USED]</violation>
</file>

Tip: Review your code locally with the cubic CLI to iterate faster.

Re-trigger cubic

Comment thread apps/mesh/src/link-daemon/user-desktop-provider.ts
- Added a check in the suggested actions route to filter agents by organization ID, preventing cross-organization metadata leakage.
- Updated the memory handling in decopilot to correctly identify the first non-system message, ensuring compliance with Anthropic's requirements for message roles.
- Improved error handling in built-in tools to manage state and cache more effectively during auto-restart scenarios.
- Refined the brand context list to ensure proper handling of result items, enhancing the user experience in chat message rendering.
- Adjusted thread conversation key generation to handle cases where user IDs may be undefined, improving stability in the UI.
- Introduced a new method in the DesktopSandboxProvider to clear in-process cache without contacting the daemon, optimizing performance during auto-restart operations.
Copy link
Copy Markdown
Contributor

@cubic-dev-ai cubic-dev-ai Bot left a comment

Choose a reason for hiding this comment

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

1 issue found across 9 files (changes from recent commits).

Tip: Review your code locally with the cubic CLI to iterate faster.

Re-trigger cubic

Comment thread apps/mesh/src/web/routes/orgs/monitoring/threads.tsx
- Introduced `scheduleFrame` and `cancelFrame` functions to handle animation frame scheduling in a cross-platform manner, ensuring compatibility with environments lacking `requestAnimationFrame`.
- Updated the `ThreadConnection` class to utilize these new functions, enhancing performance and reliability during message processing.
…ndling

- Modified the `createVmTools` function to directly return the updated content after an edit, enhancing the user experience by providing immediate feedback.
- Improved error handling to ensure that the edit success is surfaced even if the follow-up read fails, maintaining a best-effort approach for previews.
- Updated the daemon's edit handler to include the updated content in the response, streamlining the data flow between the daemon and the VM tools.
- Updated the suggested actions route to utilize studio pack agents for improved task descriptions based on agent context.
- Introduced a new function to describe thread states, enhancing the clarity of suggested actions based on message content.
- Added new task description resolvers for various studio pack agents, providing more relevant suggestions for user actions.
- Refactored the suggestion generation logic to support asynchronous processing, improving performance and responsiveness.
Copy link
Copy Markdown
Contributor

@cubic-dev-ai cubic-dev-ai Bot left a comment

Choose a reason for hiding this comment

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

1 issue found across 2 files (changes from recent commits).

Tip: Review your code locally with the cubic CLI to iterate faster.

Re-trigger cubic

Comment thread apps/mesh/src/api/routes/suggested-actions.ts Outdated
This commit removes the HomeBoardStore, associated routes, and all related UI components from the application. The home board feature has been deprecated, and its removal simplifies the codebase. All references to home board tiles and their management have been eliminated, including constants and types related to tile rendering. The changes also include updates to the app's main routing and API structure to reflect this removal.
…face

This commit removes the typed `kvGet` and `kvSet` functions from the `KVStorage` interface, simplifying the codebase by eliminating unnecessary abstractions. The changes streamline the storage access methods, focusing on direct interactions with the `KVStorage` implementation.
@cubic-dev-ai
Copy link
Copy Markdown
Contributor

cubic-dev-ai Bot commented May 25, 2026

You're iterating quickly on this pull request. To help protect your rate limits, cubic has paused automatic reviews on new pushes for now—when you're ready for another review, comment @cubic-dev-ai review.

This commit enhances the error handling in the `createSuggestedActionsRoutes` function. It adds a fallback mechanism for the task description when resolving the studio pack task description fails, ensuring that a default reply message is used instead. This change improves the robustness of the application by preventing potential runtime errors in scenarios where the task description cannot be retrieved.
This commit introduces a new `ImportDecoSiteBanner` component to the home page, allowing Deco users to import their sites. It includes a query to check if the user is a Deco user and conditionally renders the import banner. Additionally, the `ImportFromDecoDialog` is integrated to handle the import process. The layout has been adjusted to accommodate these new features while maintaining responsiveness for mobile users.
This commit updates the suggested actions feature by adding an agent icon to the display. The `createSuggestedActionsRoutes` function now includes an icon property for agents, and the `TasksSection` component has been modified to render the agent's avatar alongside their name and description. This improves the visual representation of suggested actions, making it easier for users to identify agents at a glance.
This commit improves the task description resolution logic in the `studio-pack` module. It refines the conditions under which task descriptions are generated for various agents, ensuring more accurate and context-aware messages. Additionally, it introduces a new `isStale` function to determine the freshness of data, enhancing the overall user experience by providing relevant prompts based on the state of the user's agents and connections.
This commit refines the object storage binding logic in the `resolve-org-from-path` middleware to ensure it correctly rebinds to the organization associated with the request path. It also introduces a new test case to verify that object storage is properly updated even when prebound to a stale organization. Additionally, the `createSuggestedActionsRoutes` function has been updated to improve the resolution of task descriptions, ensuring more accurate suggestions for users. The `TasksSection` component now supports toggling between viewing suggestions and all tasks, enhancing user interaction.
- Added a new design plan for sandbox repo-cache and snapshots, detailing the architecture and goals for loading and saving tarballs in the sandbox daemon.
- Introduced API routes for managing studio pack checklists, including onboarding checklists for various agents and storefront management.
- Created components for adding storefronts, installing GitHub MCP connections, and setting up site monitoring, enhancing the user experience for managing storefronts.
- Implemented hooks and utilities for auto-installing GitHub connections and managing state for checklists, improving integration with GitHub services.
- Added new routes for managing Studio Pack checklists and welcome messages, improving onboarding for agents.
- Integrated the new routes into the existing organization-scoped API, allowing for streamlined access to checklist and welcome functionalities.
- Removed outdated storefront monitoring logic from the checklist state, simplifying the overall structure.
- Introduced a catalog of GitHub automations for storefronts, enhancing the automation capabilities within the Studio Pack.
@pedrofrxncx
Copy link
Copy Markdown
Collaborator Author

@cubic-dev-ai review

@cubic-dev-ai
Copy link
Copy Markdown
Contributor

cubic-dev-ai Bot commented May 26, 2026

@cubic-dev-ai review

@pedrofrxncx I have started the AI code review. It will take a few minutes to complete.

- Deleted the Studio Pack onboarding checklist items from the agent manager, streamlining the code and focusing on core functionalities.
- Adjusted the agent manager's structure to reflect the removal of these items, ensuring clarity and maintainability.
- Deleted several SVG files including task-brand.svg, task-import-deco.svg, task-landing.svg, task-monitoring.svg, and task-new-chat.svg to streamline the asset library.
- Removed the preset task types from the mesh SDK, ensuring the codebase is cleaner and more maintainable by eliminating outdated and unused types.
- Introduced a new Storefront Manager agent to streamline checklist management for storefronts, allowing for dynamic state updates based on organization data.
- Replaced outdated logic in the checklist routes with a more efficient resolution method for storefront states, including GitHub connection checks and automation configurations.
- Added caching for rapid refetching of checklist data, improving performance during user interactions.
- Enhanced API routes for managing welcome messages and suggested actions, ensuring better integration with the overall Studio Pack functionality.
@pedrofrxncx pedrofrxncx merged commit 72fb113 into main May 26, 2026
15 checks passed
@pedrofrxncx pedrofrxncx deleted the feat/new-home branch May 26, 2026 08:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant