Business logos: file choosers only with change rights on global settings,
Upload only once a file is chosen (cleared after upload), Delete only for a
logo that exists (image load / error). Removed the unused, undeclared
readOnly. Attachments: Upload only once a file is selected.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Left over from 2020: it points at tests/e2e, removed in 2022 when the
end-to-end tests moved to the raven-test repo. Cypress is not a dependency
here and nothing refers to the file.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
DOMPurify 2.3.8 -> 2.5.9 and Vuetify 2.6.6 -> 2.7.2, the latest 2.x of
each; builds on Node 12.22.9. Only these two packages change in the
lockfile (kept in its v2 format).
Vuetify 2.7 calendar eventSummary() returns an element, not an HTML
string, so the six calendar event templates render it with the new
gz-vnodes component instead of v-html.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Record text shown as HTML is escaped: unit warranty summary (vendor name,
receipt number), work-order address dialog (now plain text), search excerpt
(escaped, search terms highlighted as plain text, not as a regular
expression). Confirmation dialog messages are sanitised with DOMPurify.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>