nextcloud / nextcloud/academy

Decide whether accounts come back, or close it out

Open
#32 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
TypeScript
Stars
2
Forks
1
Avg merge
1d 2h
Merged PRs (30d)
7

Description

The mock login was removed before publishing (commit ddd0670; files kept in auth-backup-2026-07-28/ in Anna's working copy, and in commit b725da9).

It was never functional: signIn/signUp ignored the password, minted a random UUID and stored a fabricated user in localStorage. Nothing was gated behind it. Publishing it would have meant a real-looking password form collecting passwords and discarding them, for no benefit.

This issue is the decision about whether auth comes back at all.

What auth would actually be for

Today, nothing. Progress tracking (lib/progress.ts) is localStorage-only and never read user, and no content is gated. The one real use case is cross-device progress — which means migrating progress off localStorage into a per-user store. That migration is the work; the login form is the easy part.

If it is revived

The four stubs each carry their intended Supabase call in a // TODO: comment, so the shape was already decided:

  • session check → supabase.auth.getSession()
  • signInsupabase.auth.signInWithPassword({ email, password })
  • signUpsupabase.auth.signUp({ email, password })
  • signOutsupabase.auth.signOut()

Also needed: a Supabase project and env vars (.env* is gitignored — keep keys out of the repo), and a check of whether real auth is compatible with the chosen deploy target (a static export cannot server-render per-user pages).

Done when

Either accounts exist and carry progress across devices, or this is closed with the reasoning that they are not wanted.

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

Start with lib/progress.ts and the four auth stubs, including their TODO comments, to understand the current localStorage flow and intended Supabase calls. Check the deploy target and the required environment variables before choosing an approach. Done means either authenticated accounts carry progress across devices, or the issue is closed with a documented decision not to add accounts.

Written by the indexing model from the issue text.

Assessment

Tech stack
supabase, typescript
Domain
authentication
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.