Skip to content

Bookmarks — a saved pointer to a location (game/ply, position, or filter state) #211

Description

@jozef2svrcek

Summary

A bookmark is a saved pointer to a location in the app — one click restores you there. It's the single-window answer to "get me back to where I was, fast", without spawning windows (we're deliberately staying single-window; multi-window gets messy — cf. ChessBase). Composes with the existing recents list.

What a bookmark can point to

  • A game — a file (local PGN) or DB collection + the specific game, optionally a ply/move within it (restore the board at that position).
  • A board position — a FEN, to reopen position search / the board there.
  • A search / filter state — e.g. the local browser's player 1/2 (+ side), event, year-range filters, or the DB game-list filters/scope. Restoring re-applies the filters and lands on the results.

The common idea: capture enough state to reproduce the view, not just the file.

Behaviour (sketch)

  • Add bookmark from wherever you are (a game view, a filtered list, a position) — captures the current location + a short auto-label (editable).
  • Bookmarks list (alongside / near recents) — click to restore: switch to the right page, re-open the file/collection, re-apply filters, select the game, seek to the ply.
  • Persisted locally (like recents). Rename / remove / reorder.

Why (context)

  • Single-window decision: we're keeping one window and avoiding multi-window management. Bookmarks give the "jump straight back to a place" benefit that people otherwise reach for extra windows to get.
  • Builds on what exists: recents (files + counts), the local chess-pgn browser filters (Client cannot open large PGN files (>100 MB) for viewing #104), and DB game-list filters/scope.

Notes / open questions

  • Scope for v1: probably game + optional ply and saved filter state first; position/FEN bookmarks can follow.
  • Storage format: a small JSON per bookmark (kind + target + filters + label), in the same local store as recents.
  • Relation to recents: recents = auto, most-recent-first; bookmarks = explicit, user-curated, richer target.

Not scheduled — captured for later. Related: #104 (local PGN engine/filters), #210 (portable client / single-window direction).

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions