feat: Dismissed transfers — collapsible section & manual flagging#35
Merged
Conversation
New table tracks previously-seen transfers by signature (date + amount + normalized description) scoped per account. Includes migration file and wiring into server startup and seed script. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- POST /import/dismiss-transfers: bulk-stores transfer signatures - POST /import/check-dismissed-transfers: checks which transfers were previously dismissed - Signatures are date|amount|normalized_description, scoped per account Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…ing to CSV import - Split review table into main rows and dismissed transfers section - Add collapsible 'Previously Seen Transfers' section at bottom - Add clickable transfer toggle on every row (Mark as Transfer / Transfer ✕) - Auto-dismiss unselected transfers on import completion - Check dismissed status via server after transfer detection - Auto-uncheck dismissed transfers in selection Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Check dismissed status after sync fetch, auto-uncheck dismissed transfers - Split transactions into main and dismissed views - Add collapsible 'Previously Seen Transfers' section - Add clickable transfer toggle on every row - Auto-dismiss unselected transfers on import completion - Update select-all to only toggle main (non-dismissed) rows Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Replace text badge with bordered icon button (↕ arrows) next to split icon - Add border to both split and transfer icon buttons - Add tooltip on hover for transfer button - Keep '↔ Transfer ✕' badge for already-flagged transfers - Icon button hidden when row is already flagged as transfer Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…er elements Replace ↔ Unicode character and custom SVG arrows with FontAwesome arrow-right-arrow-left solid icon across all transfer badges, icon buttons, and section headers in both ImportPage and BankSyncPanel. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…ttons Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds transfer memory so previously-seen transfers collapse into a separate section on subsequent imports, reducing noise in the review table.
Changes
Database
dismissed_transferstable with unique index on(account_id, signature)Server API
POST /api/import/dismiss-transfers— bulk insert transfer signatures (idempotent via INSERT OR IGNORE)POST /api/import/check-dismissed-transfers— check which items were previously dismissedCSV Import (ImportPage)
Bank Sync (BankSyncPanel)
Transfer Signature
date|roundedAmount|normalizedDescription— scoped per account to avoid cross-account false matches.How It Works