mirror of
https://github.com/sol1/rustguac.git
synced 2026-10-25 13:09:56 +00:00
13d07805ba
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.