Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Session snapshot should keep grid filters/page, Auto LIMIT overrides and warn on pending changes

Aperta
#37 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
35/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
mysql, postgresql, react, rust, sqlite, tauri, typescript
Ambito
database, desktop

Direzione di ricerca

Start with docs/notes/plan-04-followups.md and docs/notes/integration-v1.md, then trace snapshot handling in src-tauri/src/session_state.rs and src-tauri/src/commands.rs and workspace/grid state in the listed TypeScript files. Run the existing snapshot and type shape tests first. Done means the listed restore, pending-change, deletion, retry, and edge-case behaviors work, old snapshots remain compatible, and the specified test and lint commands pass.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

area:backend area:frontend size:M status:ready type:task

Context

Plan 4's session snapshot restores workspaces and tabs on restart, but not grid views: a restored table tab comes back without its filters (smoke run). Auto LIMIT per-tab overrides are in memory only, and pending grid changes are not in the snapshot while nothing asks before quitting with some. Several small session-state edge cases were also deferred.

To do

  • Persist each table tab's grid view (filters, sort, page, FK trail) in the snapshot as optional fields (still version 1; parseSnapshot already ignores unknown fields, see R14).
  • Persist per-tab Auto LIMIT overrides (R9 in the plan 4 notes).
  • Ask before quitting/closing the window with pending grid changes (they are not saved to the snapshot).
  • session_state keeps a deleted connection's tab text until the next save: purge it in delete_connection (M3).
  • A failed sessionSave is retried only on the next change, not on beforeunload.
  • A change during the initial restore becomes the baseline and is saved only on a later change.
  • A restored workspace whose connection was deleted while open shows a dead Reconnect button with no message.
  • An out-of-range active tab index still invalidates the whole session: clamp it instead.
  • Task 1 minor: load_session detects a missing table by matching the no such table string.

Acceptance criteria

  • Restart restores a filtered, paged table tab with its filters and page.
  • Quitting with pending changes asks for confirmation.
  • Deleting a connection removes its tab text from session_state.
  • Snapshot tests cover the new optional fields and an old snapshot without them.
  • pnpm test && pnpm lint green (plus cargo clippy --all-targets -- -D warnings and pnpm test:rust when Rust changes)

Likely files touched

  • src-tauri/src/session_state.rs, src-tauri/src/commands.rs
  • src/stores/workspaces.ts, src/stores/gridViews.ts, src/features/workspace/
  • src/lib/types.ts, src/lib/ipc.ts, types.shape.test.ts

Linked docs

  • docs/notes/plan-04-followups.md (R9, R14, M3, Task 1 and Task 4 minors)
  • docs/notes/integration-v1.md ("Follow-ups")
  • docs/notes/integration-v1-smoke.md
Lingua principale
TypeScript
Stelle
0
Fork
0
Merge medio
1h 19m
PR unite (30g)
28

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di Cemoche/tablemax

Tutte le issue di Cemoche/tablemax

Issue simili

Altre issue su TypeScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.