pub(crate) fn guard_client_meta_write(
oref: &str,
meta: &HashMap<String, Value>,
) -> Result<(), String>Expand description
Guard for meta updates that come from a client (the setmeta WebSocket
command and the UpdateObjectMeta service call), not from srv itself.
browser:owner_agent is srv’s to write: a client may only clear it, which
is the human’s Take over and ends that pane’s ownership for good. Setting
or changing it is refused, so a taken-over agent can’t write itself back.
browser:attention (the hand-off and approval banner) is srv’s alone:
a client that could write it could keep a real request’s id and change
what the banner tells the human they’re approving.