🐛 Keep the History button and shortcut in Inspect mode

The History button in the header and the Ctrl+Alt+H shortcut were
hidden or blocked whenever the workspace was read-only. That flag is
on for viewers, but also for editors in the Inspect tab, so editors
lost History there although opening it changes nothing in the file.

Both now check the edit permission instead: viewers still never get
History, and editors keep it in Inspect mode. They stay hidden during
a version preview, as before.

AI-assisted-by: claude-opus-5-5
This commit is contained in:
Eva Marco 2026-10-21 12:02:11 +02:00
parent 2607ec89fa
commit 822781e37f
3 changed files with 13 additions and 6 deletions

View File

@ -655,9 +655,12 @@
:command (ds/ca-mod "h")
:subsections [:panels]
:section [:workspace]
:fn #(emit-when-no-readonly
(-> (dwh/initialize-history)
(vary-meta assoc ::ev/origin "workspace:shortcuts")))}
;; Same rule as the header button: editors, also in
;; Inspect mode, but not during a version preview.
:fn #(when (and (:can-edit (deref refs/permissions))
(nil? (deref refs/workspace-preview-id)))
(st/emit! (-> (dwh/initialize-history)
(vary-meta assoc ::ev/origin "workspace:shortcuts"))))}
:toggle-colorpalette {:tooltip (ds/alt "P")
:label (fn [] (tr "shortcuts.toggle-colorpalette"))

View File

@ -335,6 +335,9 @@
(def workspace-read-only?
(l/derived :read-only? workspace-global))
(def workspace-preview-id
(l/derived :preview-id workspace-global))
(def workspace-paddings-selected
(l/derived :paddings-selected workspace-global))

View File

@ -18,7 +18,6 @@
[app.main.refs :as refs]
[app.main.store :as st]
[app.main.ui.components.dropdown :refer [dropdown]]
[app.main.ui.context :as ctx]
[app.main.ui.dashboard.team]
[app.main.ui.ds.buttons.button :refer [button*]]
[app.main.ui.ds.buttons.icon-button :refer [icon-button*]]
@ -119,7 +118,7 @@
(let [threads-map (mf/deref refs/comment-threads)
zoom (mf/deref refs/selected-zoom)
read-only? (mf/use-ctx ctx/workspace-read-only?)
preview-id (mf/deref refs/workspace-preview-id)
selected-drawtool (mf/deref refs/selected-drawing-tool)
custom-shortcuts (mf/deref refs/custom-shortcuts)
@ -229,7 +228,9 @@
(when ^boolean has-unread-comments?
[:div {:class (stl/css :unread)}])]]
(when-not ^boolean read-only?
;; Editors keep History in Inspect mode; viewers never get it. It stays
;; hidden during a version preview, as before.
(when (and (:can-edit permissions) (nil? preview-id))
[:div {:class (stl/css :history-section)}
[:> icon-button* {:variant "action"
:tooltip-placement "bottom-left"