Files
rustguac/docs
Dave Kempe 13d07805ba connections: version poll names only folders the caller can open, epoch, moves
Three fixes on top of the live refresh:

- Folder names. GET /api/addressbook/version returned every changed
  folder to any operator, so one granted only teamA saw paths in folders
  they cannot open as soon as an admin or a webhook wrote there. For
  callers below admin an entries row is now kept only for a folder they
  can open directly (the check_folder_access rule), and tree rows lose
  their path: a folder that came, went or changed access may be one they
  cannot see. The page treats a path-less tree row like `all`. Folder
  config is read only when there are rows to answer, so an empty poll
  still costs no Vault read, and a burst of more than 32 rows is answered
  with one path-less row instead of a check per folder.
- Restarts. The version counter starts again at 0, so a tab that saw v5
  and polled after the new process reached v5 or more was answered from a
  different log and could miss changes. The answer now carries a random
  per-process epoch; a tab that sees it change refreshes what it shows.
  The docs no longer claim a restart always answers null.
- Moves. A PUT ...?move=true that moved an entry logged only the target
  folder, so a tab showing the source kept the moved entry. It now
  reports both, and so does a move that copied the entry but could not
  remove the original (502), for this path and POST .../move: the tracker
  records a failed request when its handler reports what it changed.
2026-10-17 10:00:22 +11:00
..