Skip to content

Let people fix merchant and category from the dashboard - #12

Merged
x0ba merged 5 commits into
mainfrom
cursor/dashboard-recent-pickers
Aug 14, 2026
Merged

Let people fix merchant and category from the dashboard#12
x0ba merged 5 commits into
mainfrom
cursor/dashboard-recent-pickers

Conversation

@x0ba

@x0ba x0ba commented Aug 14, 2026

Copy link
Copy Markdown
Owner

A misfiled charge on the dashboard was read-only. To rename a merchant or move a category you had to leave for the transactions slip — the wrong place for a glance-and-correct.

Merchant and category in Recent are now searchable pickers. You can choose an existing value or type to create one, and the row has a little more air so the two targets don't feel like one line.

New categories land as Flex so they join the everyday pool.

Note

Add inline merchant and category editing to dashboard recent transactions

  • Adds a RecentRow component to src/routes/app/index.tsx that renders two inline SearchSelect pickers per transaction: one for merchant and one for category.
  • Adds transactions.listMerchants query to expose a deduplicated sorted list of recent merchant names, and transactions.createAndAssignCategory mutation to atomically create and assign a category.
  • The category picker supports create-on-type: if the typed name doesn't match an existing category, a new non-system flex category is created and assigned.
  • Extends dashboard.overview to return categoryId alongside existing category fields so the category picker can reflect the current value.
  • Adds a new SearchSelect component in src/components/search-select.tsx built on Command and Popover primitives with keyboard navigation and optional create behavior.

Macroscope summarized 07a5de0.

Quick corrections belong on the glance view, so the row stays a ledger line until you click it.

Co-authored-by: Cursor <cursoragent@cursor.com>
@vercel

vercel Bot commented Aug 14, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
bud Ready Ready Preview Aug 14, 2026 4:42am

Comment thread src/styles.css
Comment thread src/routes/app/index.tsx Outdated
@x0ba x0ba changed the title Edit merchant and category from dashboard recent Let people fix merchant and category from the dashboard Aug 14, 2026
@x0ba
x0ba marked this pull request as ready for review August 14, 2026 04:16
Generated Convex files are ignored because `convex dev` rewrites them, and the other flagged files were already unformatted on main.

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
@greptile-apps

greptile-apps Bot commented Aug 14, 2026

Copy link
Copy Markdown

Greptile Summary

Adds searchable inline merchant and category controls to recent dashboard transactions. New categories are created and assigned within one authenticated operation, and repeated normalized names reuse the existing category.

Confidence Score: 5/5

No blocking failure remains.

The category creation flow was exercised with assignment failure, retry, and cross-user access scenarios. A failed assignment left no category behind, a normalized retry reused the existing category, and an unauthorized transaction update was rejected.

T-Rex T-Rex Logs

What T-Rex did

  • Ran an isolated harness for the category creation and assignment flow, observed that forcing a failure caused a rollback of the category insert and no assignment occurred, and confirmed that a same-name retry reused the existing category without creating a duplicate while a cross-user transaction was rejected with Not found.
  • Compared pre-change and post-change behavior for category atomicity, noting the previous revision lacked createAndAssignCategory, capturing the exact validation script, and confirming that the after-change flow passes rollback, retry, and ownership checks.
  • Attempted the exact validation for the search-and-keyboard flow; observed the temporary harness fail with exit code 1 and net::ERR_CONNECTION_REFUSED, while reviewing the current implementation excerpt for context.

View all artifacts

T-Rex Ran code and verified through T-Rex

Reviews (2): Last reviewed commit: "Clear the lint error that stopped CI aft..." | Re-trigger Greptile

Comment thread src/routes/app/index.tsx Outdated
Comment thread src/components/search-select.tsx Outdated
@macroscopeapp

macroscopeapp Bot commented Aug 14, 2026

Copy link
Copy Markdown

Approvability

Verdict: Needs human review

This PR introduces a new user-facing feature (inline merchant/category editing) with new mutations that create and modify database records, new UI components, and new workflows. New features with data-modifying capabilities warrant human review.

You can customize Macroscope's approvability policy. Learn more.

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
@x0ba
x0ba merged commit cab40cf into main Aug 14, 2026
6 checks passed
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