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

GS: Google Sheets integration project

Aperta
#398 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
20/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Tranquilla
Stack tecnologico
typescript
Ambito
web-dev

Direzione di ricerca

Inizia con il catalogo di progettazione in docs/design/google-sheets/README.md e rivedi #397 prima dell’implementazione. Segui la sequenza delle dipendenze da #399 a #405, iniziando con OAuth, Picker e l’esportazione degli snapshot. Il lavoro è completato quando i criteri di accettazione elencati sono soddisfatti, inclusi un refresh sicuro in caso di errore, una modalità append controllata dalle capabilities e aggiornamenti corrispondenti del catalogo.

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

Descrizione

cool feature

Summary

Implement the browser-only Google Sheets integration defined by the repository design catalog introduced in #397.

Design entry point:

Product scope

  • One-time snapshot export.
  • Create or attach a linked spreadsheet.
  • Manual refresh through a hyperlink that launches the ClickHouse-hosted SPA.
  • Failure-safe full refresh through staging.
  • Large-result streaming and quota handling.
  • Append-only refresh for validated ClickHouse 26.8+ MergeTree-family sources using per-partition _block_number / _block_offset checkpoints.
  • Refresh history, repair, and unlink workflows.

Non-goals

  • Scheduled/background refresh.
  • Refresh while SQL Browser is closed.
  • SELECT ... STREAM.
  • Updates/deletes/upserts in append mode.
  • Google Docs, Apps Script, service accounts, or an application backend.
  • Strict distributed locking between collaborators.

Project acceptance criteria

  • Existing behavior is unchanged when Google Sheets configuration is absent.
  • Google and ClickHouse authorization remain independent and browser-only.
  • Linked refresh preserves previous committed data on every pre-publication failure.
  • No silent truncation or silent append-to-full fallback occurs.
  • Managed resources are identified by stable IDs and metadata, not names.
  • Append mode is capability-gated and invalidates safely.
  • Design changes are updated in the catalog in the same PR as implementation changes.

Implementation sequence

  • #399 — Google OAuth, Picker, and snapshot export
  • #400 — Linked-sheet resource and ClickHouse binding storage
  • #401 — Managed spreadsheet layout and manual refresh route
  • #402 — Failure-safe full refresh and large-result transfer
  • #403 — ClickHouse 26.8+ commit-cursor append refresh
  • #404 — Refresh history, repair, and unlink workflows
  • #405 — End-to-end Google Sheets integration test suite

Dependency outline

#399
  ↓
#400
  ↓
#401
  ↓
#402
  ├──→ #403
  └──→ #404
          ↓
        #405

Design baseline

#397 is documentation-only and should be reviewed before feature implementation begins.

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.