Skip to content

Lists: saved views (shared and personal, default, fork-to-personal) #51

Description

@Adron

Part of #49 — Lists parity gaps: GitHub-backed lists, saved views, view modes and collaborative editing

Unused API: GET /api/lists/{id}/views — "Every shared view on the list, plus this user's
own personal views"
— with POST to create (name, scope, config, isDefault), PUT to
update, DELETE to remove, and POST /api/lists/{id}/views/{viewId} to fork a shared view into
a personal copy
("the escape hatch" when someone else's shared view does not suit).

Android has no concept of views at all, so a list always renders one way.

  • View switcher on the list detail screen listing shared and personal views.
  • Create / rename / delete / set-default, respecting scope.
  • Fork a shared view to a personal copy.
  • Confirm the config shape against the live API before modelling it — the spec types it loosely.

Tests: view list parse; create/update/delete round-trips; fork produces a personal copy.


Filed from the parity review of feature/parity-wip @ 14d7795 against interlinedlist.com (OpenAPI /api/openapi.json, 233 paths) and the public help centre.

Activity

  1. added
    parityClosing a gap against interlinedlist.com
    P1Big hole in a shipped feature
    on Sep 15, 2026
  2. Adron commented on Sep 16, 2026

    @Adron
    MemberAuthor

    Implemented in #107 (branch issue/51-list-saved-views). Closing here — review and any follow-up happens on the PR.

    This issue asked to "confirm the config shape against the live API before modelling it". Done — saved views are documented nowhere (absent from the help centre, a bare object in the spec), so I created a view on the test account, probed it, forked it, and deleted both, verifying the account back to {"views":[]}. The full contract is in the PR.

    The important discovery: unknown config values are silently dropped rather than rejected, so the implementation treats the server's returned view as authoritative after every write and preserves unmodelled keys through a round-trip.

    That same discovery blocks #52 as currently written — see the comment I have left there.

  3. added a commit that references this issue on Sep 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    P1Big hole in a shipped featurearea:listsListsparityClosing a gap against interlinedlist.com

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions