Skip to content

feat(web): UX sweep — unified landings, /connectors rename, skeleton loading#726

Merged
buremba merged 5 commits into
mainfrom
feat/ux-sweep-2
May 14, 2026
Merged

feat(web): UX sweep — unified landings, /connectors rename, skeleton loading#726
buremba merged 5 commits into
mainfrom
feat/ux-sweep-2

Conversation

@buremba
Copy link
Copy Markdown
Member

@buremba buremba commented May 14, 2026

Summary

A broad UX pass on top of #723. Bumps the owletto-web submodule to feat/ux-sweep-2.

Routes

  • Pill + paths renamed ConnectionsConnectors. The "Connectors" landing now hosts both the connection-create and device-add flows side-by-side (the older page mixed both under a single "Connections" name).
  • Three focused create routes: /agents/create, /connectors/create, /devices/connect — used by the sidebar "+" buttons. The landing pages keep the inline forms for power users.
  • /devices/index is a redirect to /devices/connect (single source of truth for "add a device").
  • /clients (listing) removed in favor of /clients/$clientKey detail + /clients/connect. Sidebar "All clients" → "Connected apps".

Landings

  • /events: real header (Database icon + lede) + stats strip (Events / Entities / Entity types / Connections).
  • /connectors: two cards reusing shared <ConnectionCreate> and <DeviceConnect> components.
  • /agents: BYOA (McpConnect) + Lobu agent (AgentEditorForm) side-by-side. Page H1 uses a composed mark — both Lobu wings flank a section-specific glyph (<SectionMark>).

Loading + chrome

  • Root no longer blocks on auth; sidebar mounts immediately and each section renders its own skeleton.
  • New shared <StatsStrip> with pulsing placeholders so the layout doesn't shift between pages.
  • Sidebar rows show 2–3 thin skeleton bars during load (header spinners removed). Queries gated on orgId/slug treat "no org yet" as loading, so the skeleton bridges the resolution gap.
  • Pill click remembers the last URL per pill (in-memory only); clicking the active pill jumps to its landing.
  • App-wide TooltipProvider; native title= attrs on icon buttons swept to Radix Tooltip.

Connector picker (McpConnect)

  • Search + Install Custom card render immediately; only the connector list shows skeleton rows.
  • Skills row added (open by default) with a copy-prompt action: npx skills add lobu-ai/lobu --skill lobu.
  • Lobu CLI row with npm i -g @lobu/cli + login + memory configure.

Connection settings

  • Display name above Run on; (optional) dropped from the Run-on label.
  • Refresh button moved inline next to the device Select.
  • Activity summary links to /events?connection_ids=….
  • Auth section rewritten: humanized kind labels + per-kind blurbs + CLI reauth hint, no more chunky outline chips.

Feed detail

  • Connector subtitle and device badge are now Links.
  • Duplicate "active" status badge suppressed (shows only when connection_status differs from feed.status).
  • Configuration aside always rendered; shows "This feed has no configurable parameters" when configSchema is absent (fixes Spotify saved-tracks / playlists / recently-played feeling empty).
  • "View in knowledge" renamed to "View in memory" (component + label).

Sidebar fixes

  • Connection status dot now matches 'active' (the canonical server value) in addition to 'connected' — was always falling to amber.
  • Device-pinned connections render their feeds inline (used to only work for standalone connections).
  • Section header icons (Boxes / Activity / Bot / Plug / Cable / HardDrive) for consistency.

Misc

  • Anthropic icon path fixed; DEFAULT_APP_ICON (Plug) fallback for unbranded MCP clients.
  • Members entry added to the avatar dropdown.
  • "Add Connector" → "Add connection" across the app.

Test plan

  • Sidebar pills navigate to their landings; clicking the active pill jumps back to the landing.
  • /events, /connectors, /agents show the new shared layout + stats strip; numbers render once data loads, skeleton stays put until then.
  • Add a connector via /connectors/create, add a device via /devices/connect; both reachable from the sidebar "+" buttons.
  • Hover an inactive sidebar pill — Radix tooltip appears; chip transition still works on click.
  • Open a Spotify Saved-Tracks feed — runs table renders, Configuration aside shows "No configurable parameters" placeholder.
  • Click the device badge on a feed — lands on /devices/$deviceId.
  • Sidebar connection dot is green for active connections (not amber).

Summary by CodeRabbit

  • Chores
    • Updated an internal web package reference to a newer commit. No functional or public API changes, no user-visible impact, and minimal review effort required. This update only adjusts an internal pointer and does not alter behavior or documentation.

Review Change Stack

…loading

Bumps owletto-web to feat/ux-sweep-2. Full notes in the submodule commit; high-level:
- Pill + routes: Connections → Connectors.
- /events, /connectors, /agents share a consistent landing shape (icon + lede + stats + side-by-side setup cards).
- Dedicated focused-create routes: /agents/create, /connectors/create, /devices/connect.
- Sidebar: section header icons, skeleton row loading (with "no org yet" handled), pill-click memory, active-pill jumps home, connection-status dot now matches "active".
- Connector picker: Skills row (default open) with copy-prompt for `npx skills add lobu-ai/lobu --skill lobu`; Lobu CLI install row.
- Connection settings: humanized auth section + CLI reauth hint; Run-on Refresh button inline; Activity links to /events filtered by connection_id.
- Feed detail: connector + device crosslinks; duplicate status badge suppressed; "no configurable parameters" placeholder when configSchema is absent.
- "View in knowledge" renamed to "View in memory".
- App-wide TooltipProvider; native title= attrs swept to Radix.
@chatgpt-codex-connector
Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your settings.

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 14, 2026

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: f30fe307-221e-4036-be1d-ce329d1be54e

📥 Commits

Reviewing files that changed from the base of the PR and between 54e533d and b1ec9e5.

📒 Files selected for processing (1)
  • packages/web
✅ Files skipped from review due to trivial changes (1)
  • packages/web

📝 Walkthrough

Walkthrough

The PR updates the packages/web submodule pointer to a new commit revision. No application code changes are visible in this diff.

Changes

Web submodule update

Layer / File(s) Summary
Submodule pointer update
packages/web
The packages/web submodule commit pointer is updated from one revision to another.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~2 minutes

Possibly related PRs

Poem

🐰 I hopped through branches, light and spry,
A hash moved onward — blink and sigh,
No files disturbed, just a quiet swap,
I twitch my nose and do a little hop,
Carrot in paw, the repo's all spry.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately describes the main changes: UX sweep with unified landings, /connectors rename, and skeleton loading improvements.
Description check ✅ Passed The description is comprehensive and includes all required sections: Summary, Test plan (with checkboxes), and Notes. Content is detailed and well-structured.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/ux-sweep-2

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

@buremba buremba enabled auto-merge (squash) May 14, 2026 19:17
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

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@packages/web`:
- Line 1: The submodule pointer for packages/web is pinned to a SHA not
reachable from owletto-web/main which fails the ancestry check; update the
packages/web submodule reference to point to a commit that is an ancestor of
origin/main in the owletto-web repo (or first merge the feature SHA into
owletto-web/main and then update the submodule) by adjusting the submodule
pointer commit (the SHA in the packages/web entry) and committing the updated
gitlink so the new pointer is reachable from owletto-web/main.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: a71530a7-23af-4130-bbff-ce1b033ce92b

📥 Commits

Reviewing files that changed from the base of the PR and between 013fe8d and 52eb7d3.

📒 Files selected for processing (1)
  • packages/web

Comment thread packages/web Outdated
@codecov-commenter
Copy link
Copy Markdown

⚠️ Please install the 'codecov app svg image' to ensure uploads and comments are reliably processed by Codecov.

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

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.

2 participants