Skip to content

fix: restore full SQL Editor features on agent branch - #117

Merged
cursor[bot] merged 24 commits into
mainfrom
cursor/cloud-agent-1785109452769-k0unh
Jul 28, 2026
Merged

fix: restore full SQL Editor features on agent branch#117
cursor[bot] merged 24 commits into
mainfrom
cursor/cloud-agent-1785109452769-k0unh

Conversation

@huyplb

@huyplb huyplb commented Jul 27, 2026

Copy link
Copy Markdown
Contributor

Summary

Full SQL Editor restore on the agent branch, including the Indexes section in the table blueprint modal.

Indexes (table blueprint)

  • Section between Primary Key and Foreign Keys
  • Add index — unique / accept-duplicates, ASC/DESC, optional WHERE (dialect-aware)
  • Edit / drop existing indexes
  • E2E: create table + UNIQUE index → Insert SQL emits CREATE … INDEX

Also included

  • Secrets panel, New table / Edit table entry points
  • Connection selection persist across refresh
  • DB2 Windows login path

Blueprint Indexes section

Test plan

  • Playwright blueprint suite (5/5) including Indexes Add-index
  • Hard-refresh agent localhost:5173 → Edit table → scroll to IndexesAdd index

To show artifacts inline, enable in settings.

Open in Web Open in Cursor 

cursoragent and others added 23 commits July 27, 2026 04:46
After refresh, connections briefly load as [] which cleared the SQL
schema-explorer selection, and sync source/target IDs were never
persisted. Wait for store rehydrate, persist selection IDs only, and
skip wiping explorer state during the empty-list window.

Co-authored-by: huy.phan9 <huyplb@users.noreply.github.com>
IBM DB2 on Windows often connected without Authentication=SERVER, lost
passwords containing ';', or skipped clidriver install scripts — then
schema load returned zero tables and table edit looked missing.

- Always rebuild DB2 strings with Authentication=SERVER; ODBC-brace PWD
- Strip IBM GSKit from PATH; clear error when clidriver is missing
- Require schema on /schema/load for schemaRequired dialects
- foxschema drivers install db2 uses --foreground-scripts like the UI

Co-authored-by: huy.phan9 <huyplb@users.noreply.github.com>
The Edit/open-blueprint control only appeared on loaded table rows, so an
empty schema (or missing DB2 schema) looked like the feature was deleted.
Label New/Edit, add empty-state Create table, surface schema-required
hints, and keep the DB2 Windows login path so tables can load again.

Co-authored-by: huy.phan9 <huyplb@users.noreply.github.com>
Your Schema screenshot matched a build where the only controls were the
connection dropdown + refresh. Put New table in the Schema section header
and render Edit table under each table name so add-column stays reachable
in a narrow sidebar. Secrets + blueprint code remain in the tree.

Co-authored-by: huy.phan9 <huyplb@users.noreply.github.com>
Edit table is always visible under each table name now; the old page
object looked for a removed Tailwind group ancestor and timed out.

Co-authored-by: huy.phan9 <huyplb@users.noreply.github.com>
…erage

Indexes (add/edit/drop, unique, ASC/DESC, optional WHERE) already live in
the table blueprint modal; add stable data-testids and a Playwright flow
that adds a UNIQUE index and inserts CREATE INDEX SQL.

Co-authored-by: huy.phan9 <huyplb@users.noreply.github.com>
Add zebra striping and light-theme grid tokens so result rows stay
readable against the light canvas (stronger borders, white paper, hover).

Co-authored-by: huy.phan9 <huyplb@users.noreply.github.com>
Make alternating row fills and borders more distinct on Daylight/Parchment.

Co-authored-by: huy.phan9 <huyplb@users.noreply.github.com>
Keep the schema explorer connection aligned with checked destination
credentials in both directions (select schema checks dest; dest changes
move the explorer onto a checked credential).

Co-authored-by: huy.phan9 <huyplb@users.noreply.github.com>
Co-authored-by: huy.phan9 <huyplb@users.noreply.github.com>
Enable Run whenever destination servers are checked, even with no SQL.
Empty runs complete with zero statement results instead of no-oping.

Co-authored-by: huy.phan9 <huyplb@users.noreply.github.com>
Code cells no longer require a checked Destination server. With none
selected, Run uses a local editor target so samples like @node fetch work.

Co-authored-by: huy.phan9 <huyplb@users.noreply.github.com>
Capture PR #117 behavior and Bugbot/Security review findings in a
Cursor always-apply rule for future agent runs.

Co-authored-by: huy.phan9 <huyplb@users.noreply.github.com>
Share destinationIdsPatch, hold explorer selection during password prompts,
clear stale explorer ids when connections are empty, memoize run statement
resolution, and slim the local code-cell execution target.

Co-authored-by: huy.phan9 <huyplb@users.noreply.github.com>
Co-authored-by: huy.phan9 <huyplb@users.noreply.github.com>
Clicking a view, procedure, or function in the Schema explorer loads its
definition into the active editor (view-only). Tables and MQTs keep the
blueprint Edit table flow.

Co-authored-by: huy.phan9 <huyplb@users.noreply.github.com>
Co-authored-by: huy.phan9 <huyplb@users.noreply.github.com>
Default listen could bind [::1] only, causing ERR_CONNECTION_REFUSED on
http://127.0.0.1:5173. Also fix a duplicate-key TypeScript warning in the
objectSourceScript test fixture.

Co-authored-by: huy.phan9 <huyplb@users.noreply.github.com>
Vite 8 rejects non-localhost Host headers by default. Cursor/cloud
port-forwards then get 403 Blocked request, which shows as a blank page.
Set server.allowedHosts: true for local/cloud dev.

Co-authored-by: huy.phan9 <huyplb@users.noreply.github.com>
Co-authored-by: huy.phan9 <huyplb@users.noreply.github.com>
Show a Loading fallback in index.html, paint boot failures instead of an
empty #app, time out hung signup checks, lazy-load SqlEditorView behind
Suspense/ErrorBoundary, and fix Monaco @EnD fence attribute escaping.

Co-authored-by: huy.phan9 <huyplb@users.noreply.github.com>
Lazy-load SettingsPanel and ship a default export so a settings-module
failure can no longer empty ProfileMenu's named exports (blank page).

Co-authored-by: huy.phan9 <huyplb@users.noreply.github.com>
TopToolbar resolves either export shape so a stale Vite cache or mixed
checkout cannot blank the app on the ProfileMenu import.

Co-authored-by: huy.phan9 <huyplb@users.noreply.github.com>
import ProfileMenuDefault, { ProfileMenu as ProfileMenuNamed } from './ProfileMenu';
import { CredentialManager } from './CredentialManager';

const ProfileMenu = ProfileMenuNamed ?? ProfileMenuDefault;
Co-authored-by: huy.phan9 <huyplb@users.noreply.github.com>
@cursor
cursor Bot marked this pull request as ready for review July 28, 2026 05:24
@cursor
cursor Bot merged commit 0e7b1cb into main Jul 28, 2026
4 of 5 checks passed
@cursor
cursor Bot deleted the cursor/cloud-agent-1785109452769-k0unh branch July 28, 2026 05:24
@cursor

cursor Bot commented Jul 28, 2026

Copy link
Copy Markdown
Contributor

Bugbot couldn't run - usage limit reached

Bugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit.

A user or team admin can review and increase usage limits in the Cursor dashboard.

(requestId: serverGenReqId_3497d89a-1f8b-4e1b-9898-86492f41dc40)

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