nextcloud / nextcloud/academy

UX: reset progress, per module and all

Open
#7 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

Part of the UX backlog. Raised on 2026-06-11, where it was noted as "pending API storage" — that blocker is gone, since progress is local.

There is currently no way to reset progress. A reader who wants to start over, or who clicked through a module without reading it, is stuck with the state.

Scope

  • Reset a single module's progress
  • Reset everything

Progress lives entirely in localStorage under the course_progress key (lib/progress.ts), so this is a small, self-contained change — add reset functions there and expose them in the UI.

Where

lib/progress.ts, plus an entry point in components/ModulePlayerClient.tsx (per module) and somewhere on the catalog (reset all).

Watch out

Resetting everything is destructive and unrecoverable — there is no server copy. It needs a confirmation step.

Done when

Both resets work, survive a reload, and the destructive one asks first.

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 in lib/progress.ts and trace how the course_progress localStorage key is read and written. Then inspect components/ModulePlayerClient.tsx for the per-module entry point and the catalog for the reset-all entry point. Done means both resets persist after reload, with confirmation before the destructive reset.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
frontend
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Clearly specified
Newbie friendliness
78/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.