* 🎨 Improve validation of some JSON parameters
* 🎨 Improve validation of some JSON parameters
* 🎨 Improve validation of some JSON parameters
* 🎨 Improve validation of some JSON parameters
* 🎨 Improve validation of some JSON parameters
* 🎨 Improve validation of some JSON parameters
* 🎨 Improve validation of some JSON parameters
* 🎨 Improve validation of some JSON parameters
* 🎨 Improve validation of some JSON parameters
* 🎨 Improve validation of some JSON parameters
* 🎨 Improve validation of some JSON parameters
* 🎨 Improve validation of some JSON parameters
* 🎨 Improve validation of some JSON parameters
* 🎨 Improve validation of some JSON parameters
* 🎨 Improve validation of some JSON parameters
* 🎨 Improve validation of some JSON parameters
* 🎨 Improve validation of some JSON parameters
* 🎨 Improve validation of some JSON parameters
* 🎨 Improve validation of some JSON parameters
* 🎨 Improve validation of some JSON parameters
* 🎨 Improve validation of some JSON parameters
* 🎨 Improve validation of some JSON parameters
* 🎨 Improve validation of some JSON parameters
* 🎨 Improve validation of some JSON parameters
Adds a minimal endpoint for activating a theme by name and mode without
requiring the caller to fetch and re-POST the entire appearance config blob.
Request body:
{ "theme": "<theme-dir-name>", "mode": 0|1 }
Behaviour:
- Sets both ThemeLight and ThemeDark to the supplied theme name
- Sets Mode (0 = light, 1 = dark)
- Calls InitAppearance() to validate the theme exists and reads its
version from theme.json for cache-busting
- Saves conf.json
- Broadcasts the "setAppearance" WebSocket event so all open windows
call loadAssets() and reload the theme CSS with the new ?v= parameter
Returns the full Appearance config (same shape as setAppearance).
Motivation: external tools (e.g. OS-level theme switchers) previously
had to GET /api/system/getConf, patch the appearance object, and POST
the entire blob to /api/setting/setAppearance. /api/setting/setTheme
reduces that to a single, self-contained call with no dependencies.
Co-authored-by: You name <konty@github.com>
* 🎨 improve publish service https://github.com/siyuan-note/siyuan/issues/11928
* fix: change publish access storage
* 🎨 publish access control #16041
* fix: publish access in embed block and search
* fix: multiple lock in pubish service & insert locked content in publish service
* fix: multiple lock
* fix: password in embed block
* fix: locked and forbidden docs in gallery
* fix: dont use publish access block
* fix: attribute view of publish disabled docs
* fix: disable docs in table and gallery
* fix: locked docs in attribute view
* fix: purge publish access
* fix: disable docs in table and gallery groups
* fix: locked and disabled docs in attribute view, outline and preview
* fix: create publish_access.go
* fix: move publish auth to publish_access.go
* fix: tag and ref of locked docs
* fix: backlink of locked docs
* fix: search in locked docs
* fix: search history and asset
* fix: copy to markdown
* fix: hide command panel
* fix: publish access control in mobile
* fix: recent docs of invisible and locked docs
* fix: backlink in mobile
* fix: empty Tab
* fix: get locked and forbidden doc assets and files
* fix: refblock & asset
* fix: disable /api/file/sql in publish mode
* fix: publish access of kanban
* fix: adjustment for review
* fix: /api/filetree/setPublishAccess return error meesage
* fix: move the publishAccess button to the More Menu & revert the fix for barCommand/menuCommand
* fix: hotkey of command panel