GS: Google OAuth, Picker, and snapshot export
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 30/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Quiet
- Tech stack
- google-cloud, typescript
- Domain
- authentication, data, frontend
Research direction
Start with docs/design/google-sheets/authentication.md, docs/design/google-sheets/snapshot-export.md, and docs/design/google-sheets/large-results.md, then locate the existing streaming and type-conversion entry points. Done means the gated OAuth, Picker selection, and one-time export satisfy the listed security, upload, error-handling, and unit, fake-Google, browser, and scale-test criteria.
Written by the indexing model from the issue text.
Description
Parent: #398
Design:
docs/design/google-sheets/authentication.mddocs/design/google-sheets/snapshot-export.mddocs/design/google-sheets/large-results.md
Scope
Add deployment-gated Google Identity Services authentication, Google Picker create/select flow, and one-time snapshot export using the canonical streaming/type-conversion pipeline.
Acceptance criteria
- Google actions are absent when configuration is missing.
- Tokens remain in browser memory and never enter URLs, logs, persistence, or exports.
- New and existing spreadsheets can be selected with edit-permission validation.
- Snapshot export creates no binding, refresh link, checkpoint, or history row.
- Values use RAW input semantics and precision-safe ClickHouse type mapping.
- Upload uses explicit byte-bounded ranges with progress, cancellation, quota backoff, and no silent truncation.
- OAuth popup/account/permission failures are actionable and non-destructive.
- Unit, fake-Google, browser, and scale tests cover the flow.
Non-goals
Linked refresh, server binding storage, scheduling, Apps Script, service accounts, and Google Docs.
- Dominant language
- TypeScript
- Stars
- 8
- Forks
- 2
- Avg merge
- 1h 34m
- Merged PRs (30d)
- 6
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from Altinity/altinity-sql-browser
-
inbox
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
Altinity/altinity-sql-browser#605 ·
-
inbox
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Altinity/altinity-sql-browser#509 ·
-
inbox
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Altinity/altinity-sql-browser#489 ·
-
flamegraph Openenhancement
Difficulty 5/5 Over a week Newbie friendliness 25/100
Altinity/altinity-sql-browser#684 ·
-
bug
Difficulty 4/5 3-5 days Newbie friendliness 68/100
Altinity/altinity-sql-browser#680 · 2 comments ·
All issues in Altinity/altinity-sql-browser
Similar issues
-
blocklist removal
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
MetaMask/eth-phishing-detect#296544 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
pastelsky/bundlephobia#1122 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
-
category/development priority/P2 scope/file-operations scope/testing type/enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
-
Enatega Customer and Rider app: Add-ons price is not visible to customer after order is placed. Open
Difficulty 2/5 1-3 hours Newbie friendliness 75/100