quarto-dev / quarto-dev/q2

local-first flow into quarto-hub.com

Open
#342 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
Rust
Stars
255
Forks
17
Avg merge
6h 20m
Merged PRs (30d)
109

Description

@vezwork, you have the vision here, please write it out :)


When they visit quarto-hub.com for the first time (and subsequent times) people should be able to use quarto-hub.com as a static (offline) app without signing in. (indexxeddb only storage, no sync server connection)

People will be able to create projects, edit them, preview; generally take advantage of all the front end features of the app without logging in. Once they want to start syncing and sharing, they can choose to sign in. This is an onboarding ramp into signing up for the full syncing(+other server side stuff) features, still giving users good utility, and not costing us almost anything. This is a unique opportunity because we have a mostly local first architecture already, enterprise SaaS apps cannot do this.

Requires two changes:

  1. Remove auth gating, moving auth gating to behind a "I want to start syncing / start sharing" button or something
  2. Local project set v.s. central project set. Carlos wants the sync server to store a centralized user id -> project set map, for convenience of having the same projects across browsers

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No files, tests, or entry points are named. Start by tracing the current auth gate and the IndexedDB/local project flow, then map how the sync server's user-to-project-set mapping should interact with local projects. Done means users can create, edit, and preview offline without signing in, with authentication deferred until syncing or sharing.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
authentication, distributed-systems, frontend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.