Skip to content

Conversation

@andz-bb
Copy link
Contributor

@andz-bb andz-bb commented Jan 21, 2026

Description

Addresses

#17739

Screenshots

Launchcontrol

new workspace home screen


Summary by cubic

Adds a feature-flagged Workspace Home that unifies Apps, Automations, and Agents into a single view with filters, search, sorting, quick create actions, and basic workspace metrics. Updates the side navigation and adds backend/worker endpoints for metrics and GitHub stars.

  • New Features

    • Workspace Home page with table (filter by type, search, sort, favourites) and row context menus for common actions; quick create (App, Automation, Agent when AI_AGENTS).
    • Metrics: total users, automation runs this month, agent actions placeholder, current period window, and a GitHub stars card.
    • Dynamic GitHub stars shown in the nav; cached worker endpoint.
    • API: GET /api/workspace/home/metrics and GET /api/global/github/stars with frontend client support and types.
    • Feature flag WORKSPACE_HOME controls access and redirects from Apps/Automations/Agents pages when enabled (Chat shown as Alpha; Chat quick create disabled).
  • Refactors

    • SideNav: new “Home”, a “Create” menu (Automation, App, Agent/Chat when AI_AGENTS, Table, API request, Connection, User), reorganized core links, docs/community/support links, and plan-aware “Email support” or “Upgrade for support”.
    • Simplified PublishStatusBadge (text-only, “Disabled” → “Draft”).
    • FavouriteResourceButton: removed tooltip; create call sends resourceId/resourceType only.
    • Styling tweaks to SideNavLink and WorkspaceSelect for smaller, cleaner UI.
    • Backend user count uses USER_BY_WORKSPACE view; added quota month window utility and tests.

Written for commit 6a00090. Summary will update on new commits.

@andz-bb andz-bb added feature-branch Release this PR code into a feature branch and removed size/xl labels Jan 21, 2026
@andz-bb
Copy link
Contributor Author

andz-bb commented Jan 27, 2026

@cubic-dev-ai have a look at my draft PR

@cubic-dev-ai
Copy link
Contributor

cubic-dev-ai bot commented Jan 27, 2026

@cubic-dev-ai have a look at my draft PR

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

Copy link
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 39 files

Confidence score: 4/5

  • Timezone-sensitive expectations in packages/server/src/api/routes/tests/workspaceHome.spec.ts can intermittently fail outside UTC, so there is some risk of flakes in other environments.
  • Overall risk remains low since the problem is limited to test determinism rather than runtime behavior, keeping the PR nearly merge-ready.
  • Pay close attention to packages/server/src/api/routes/tests/workspaceHome.spec.ts - adjust date construction to UTC to keep assertions reliable.
Prompt for AI agents (all issues)

Check if these issues are valid — if so, understand the root cause of each and fix them.


<file name="packages/server/src/api/routes/tests/workspaceHome.spec.ts">

<violation number="1" location="packages/server/src/api/routes/tests/workspaceHome.spec.ts:80">
P2: These expectations build ISO strings using local-time `new Date(...)`, so the assertions break when the tests run in a non‑UTC timezone. Use UTC-based dates to keep the test deterministic across environments.</violation>
</file>

Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review.

@andz-bb
Copy link
Contributor Author

andz-bb commented Feb 2, 2026

@cubic-dev-ai have another look at my draft PR

@cubic-dev-ai
Copy link
Contributor

cubic-dev-ai bot commented Feb 2, 2026

@cubic-dev-ai have another look at my draft PR

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

Copy link
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.

2 issues found across 40 files

Confidence score: 3/5

  • Potential styling break in packages/builder/src/pages/builder/workspace/[application]/home/_components/HomeTable.svelte if CSS nesting isn’t enabled; hover/active/favorite styles may not parse and could regress UI behavior.
  • Clickable context menu risk in packages/builder/src/pages/builder/workspace/[application]/home/_components/HomeTable.svelte because .actions disables pointer events and .ctx-btn doesn’t re-enable them, so the icon may be visible but not interactive.
  • Score reflects concrete user-facing UI/interaction regressions with medium-to-high severity in a key table component.
  • Pay close attention to packages/builder/src/pages/builder/workspace/[application]/home/_components/HomeTable.svelte - CSS nesting and pointer-events may block expected styling and clicks.
Prompt for AI agents (all issues)

Check if these issues are valid — if so, understand the root cause of each and fix them.


<file name="packages/builder/src/pages/builder/workspace/[application]/home/_components/HomeTable.svelte">

<violation number="1" location="packages/builder/src/pages/builder/workspace/[application]/home/_components/HomeTable.svelte:237">
P1: The component CSS uses nested selectors (`&:hover`, `&.active`, etc.) inside a plain `<style>` block. If CSS nesting isn’t enabled in the build pipeline, this won’t parse and hover/active/favourite styling will break. Rewrite to standard CSS selectors (or explicitly use a preprocessor like `lang="scss"`).</violation>

<violation number="2" location="packages/builder/src/pages/builder/workspace/[application]/home/_components/HomeTable.svelte:362">
P2: `.actions` sets `pointer-events: none`, but `.ctx-btn` never re-enables pointer events even though it has a click handler. This can make the context menu icon visible but not clickable (especially on touch/no-hover).</violation>
</file>

Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review.

@andz-bb
Copy link
Contributor Author

andz-bb commented Feb 2, 2026

@cubic-dev-ai can you do a final comprehensive review on this whole PR? check everything over

@cubic-dev-ai
Copy link
Contributor

cubic-dev-ai bot commented Feb 2, 2026

@cubic-dev-ai can you do a final comprehensive review on this whole PR? check everything over

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

Copy link
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.

3 issues found across 41 files

Confidence score: 4/5

  • Overall risk is low; issues are moderate in severity and don’t suggest widespread breakage, so this looks safe to merge with minor fixes.
  • Most severe concern is potential reverse tabnabbing when opening new tabs without noopener,noreferrer, which can expose window.opener and is a security hardening gap.
  • UI polish issue: sort indicator direction is inverted, so descending sorts show the ascending arrow, which could confuse users.
  • Pay close attention to packages/builder/src/pages/builder/workspace/[application]/home/index.svelte, packages/builder/src/pages/builder/workspace/[application]/_components/SideNav/SideNav.svelte, packages/builder/src/pages/builder/workspace/[application]/home/_components/HomeTable.svelte - missing noopener/noreferrer and inverted sort indicator.
Prompt for AI agents (all issues)

Check if these issues are valid — if so, understand the root cause of each and fix them.


<file name="packages/builder/src/pages/builder/workspace/[application]/home/index.svelte">

<violation number="1" location="packages/builder/src/pages/builder/workspace/[application]/home/index.svelte:308">
P2: Opening a new tab without `noopener`/`noreferrer` exposes window.opener and enables tabnabbing. Add `noopener,noreferrer` when calling window.open.</violation>
</file>

<file name="packages/builder/src/pages/builder/workspace/[application]/_components/SideNav/SideNav.svelte">

<violation number="1" location="packages/builder/src/pages/builder/workspace/[application]/_components/SideNav/SideNav.svelte:778">
P2: Add noopener/noreferrer when opening external links in a new tab to prevent reverse tabnabbing.</violation>
</file>

<file name="packages/builder/src/pages/builder/workspace/[application]/home/_components/HomeTable.svelte">

<violation number="1" location="packages/builder/src/pages/builder/workspace/[application]/home/_components/HomeTable.svelte:70">
P2: Sort indicator direction is inverted: the "asc" class is applied when sortOrder is "desc", so descending sorts render the ascending arrow. Apply the class when sortOrder is "asc".</violation>
</file>

Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review.

<span
class="sort-indicator"
class:sort-indicator--active={isSorted("name")}
class:sort-indicator--asc={isSorted("name") && sortOrder === "desc"}
Copy link
Contributor

@cubic-dev-ai cubic-dev-ai bot Feb 2, 2026

Choose a reason for hiding this comment

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

P2: Sort indicator direction is inverted: the "asc" class is applied when sortOrder is "desc", so descending sorts render the ascending arrow. Apply the class when sortOrder is "asc".

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At packages/builder/src/pages/builder/workspace/[application]/home/_components/HomeTable.svelte, line 70:

<comment>Sort indicator direction is inverted: the "asc" class is applied when sortOrder is "desc", so descending sorts render the ascending arrow. Apply the class when sortOrder is "asc".</comment>

<file context>
@@ -0,0 +1,416 @@
+        <span
+          class="sort-indicator"
+          class:sort-indicator--active={isSorted("name")}
+          class:sort-indicator--asc={isSorted("name") && sortOrder === "desc"}
+        >
+          <Icon
</file context>
Fix with Cubic

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

Labels

feature-branch Release this PR code into a feature branch size/xl

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants