Skip to content

feat(web): redesign no-connection screen for first-time activation - #321

Merged
KIvanow merged 1 commit into
masterfrom
feat/connect-screen-activation
Jul 15, 2026
Merged

feat(web): redesign no-connection screen for first-time activation#321
KIvanow merged 1 commit into
masterfrom
feat/connect-screen-activation

Conversation

@KIvanow

@KIvanow KIvanow commented Jul 15, 2026

Copy link
Copy Markdown
Member

Summary

Redesigns the "no database connected" screen to convert first-time users: quick connect by pasting a connection URL, one-click localhost connect (self-hosted) or 1 GB instance provisioning (cloud), provider guides, and contextual per-page copy.

Changes

  • Quick connect: paste redis:///rediss:///valkey:// URL → connection in one step; failures hand off to the prefilled form
  • Centered card layout; contextual headline/description per route
  • Self-hosted: one-click Connect localhost:6379 + Docker one-liner; cloud: Create a 1 GB Valkey instance (opens provisioning tab, 1gb preselected)
  • Add Connection dialog: pasting a URL into Host fills every field
  • Entitlement: pod memory limit (2×) and PVC size (4×) scale with requested maxmemory; capped at 2gb
  • Docs: quick-connect sections in provider guides

Before

before

After

after

Checklist

  • Unit / integration tests added
  • Docs added / updated
  • Roborev review passed — run roborev review --branch or /roborev-review-branch in Claude Code (internal)
  • Competitive analysis done / discussed (internal)
  • Blog post about it discussed (internal)

Rebuild the empty state around getting a database connected fast:

- Quick connect: paste a redis://, rediss://, or valkey:// URL (or bare
  host:port) to create a connection in one step; parse failures get
  actionable errors and connect failures hand off to the prefilled form
- Contextual per-route headline and description instead of one generic
  screen; centered card layout with background accent
- Self-hosted: prominent one-click Connect localhost:6379 plus a Docker
  one-liner; cloud: Create a 1 GB Valkey instance opens the existing
  provisioning tab with 1gb preselected
- Add Connection dialog: pasting a full URL into Host fills every field
- Provider guide chips (Upstash, Redis Cloud, ElastiCache, MemoryDB),
  read-only trust line, and connection troubleshooting link
- Entitlement: scale pod memory limit (2x) and PVC size (4x) with the
  requested maxmemory instead of the fixed chart defaults, and cap
  maxmemory at 2gb (DTO validator + service guard + sizing clamp)
- Docs: quick-connect URL sections in the provider guides
@KIvanow
KIvanow force-pushed the feat/connect-screen-activation branch from f4a9fba to 7b601e9 Compare July 15, 2026 07:12

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes using default effort and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 7b601e9. Configure here.

if (!open) {
setFormData(emptyFormData);
setTestResult(null);
setValkeyMaxmemory(null);

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Dialog close leaves Valkey tab

Medium Severity

Closing the Add Connection dialog only clears form data and valkeyMaxmemory, not addTab. After visiting the Valkey instances tab and dismissing the dialog (X or overlay), Add connection manually reopens on Valkey (default 768mb) instead of the direct connection form.

Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 7b601e9. Configure here.

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.

Negligible for now

@KIvanow
KIvanow requested a review from jamby77 July 15, 2026 07:17
@jamby77

jamby77 commented Jul 15, 2026

Copy link
Copy Markdown
Collaborator

isLocalhostHost in NoConnectionsGuard is a verbatim copy of the one in ConnectionSelector — both files already import from connectionUrl.ts, so lift it there and share. Non-blocking.

@jamby77 jamby77 left a comment

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.

LGTM. Clean URL parser, 2gb cap enforced in depth (DTO + service + sizing clamp), well-tested front and back. Nit above is non-blocking.

@KIvanow
KIvanow merged commit 85ce52a into master Jul 15, 2026
3 checks passed
@KIvanow
KIvanow deleted the feat/connect-screen-activation branch July 15, 2026 07:46
@github-actions github-actions Bot locked and limited conversation to collaborators Jul 15, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants