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

A tile whose owned query is missing or shared cannot be removed from any surface

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

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
Da chiarire
Stato di attività
Tranquilla
Stack tecnologico
typescript
Ambito
frontend

Direzione di ricerca

Inizia da src/dashboard/application/dashboard-removal.ts:128-131, quindi segui i percorsi del cestino dell’albero Dashboards e di Remove tile nell’intestazione del riquadro, incluso il comando remove-tile esistente. Determina quale opzione documentata si applica alle query mancanti, preservando il rifiuto per le query condivise. Il lavoro è completato quando un percorso di rimozione scelto funziona per i riquadri orfani dalla superficie pertinente senza eliminare una query.

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

Descrizione

inbox

Problem

removeDashboardPanel proves ownership before deleting anything and refuses
ownership-unproven when the tile's queryId names no query in
workspace.queries, or names one with more than one owner
(src/dashboard/application/dashboard-removal.ts:128-131). Both the Dashboards
tree and — since #537 — the tile header route their delete through it.

That is the correct fail-closed behaviour #494/#537 specify. The consequence is
that a tile whose query is missing (a dangling queryId) or shared by a
second tile now has no removal path from any surface:

  • the Dashboards-tree trash is disabled with a reason;
  • the tile header's → Remove tile row is disabled with the same reason;
  • and #537 deleted the last escape hatch — the tile head's old document-only
    remove-tile dispatch, which removed such a tile without touching queries.

How to reach it

A queries-only bundle import (#448) or a corrupt aggregate can produce a tile
pointing at an id no query carries. A legacy or hand-edited workspace can carry
two tiles referencing one query, which #427 forbids reaching but does not
retroactively repair.

Why it was deferred

#537's acceptance criteria require exactly this fail-closed behaviour, so the
alternative belongs in its own decision rather than smuggled into that change.

Options

  1. A separate, explicitly-labelled "Remove tile only" action, offered only
    when removal is refused because the query is missing — a dangling reference has
    no second resource to be atomic about. Would keep the remove-tile command,
    which currently has no UI dispatcher left.
  2. Give removeDashboardPanel an explicit tile-only arm for the missing-query
    case, so one path still covers it.
  3. Accept it, and handle these workspaces through Import/Replace only.

Option 1 or 2 seems right for the missing-query case; a shared query arguably
should stay unremovable, since either tile still renders it.

Lingua principale
TypeScript
Stelle
8
Fork
2
Merge medio
1h 34m
PR unite (30g)
6

Guida per i contributori

Apri la guida per i contributori

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 Altinity/altinity-sql-browser

Tutte le issue di Altinity/altinity-sql-browser

Issue simili

Altre issue su TypeScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.