- Fix ZIP upload: install unzip dependency, fix empty array check (jsonfilter returns "[ ]" not "[]"), redirect unzip stdout to prevent JSON corruption, use readAsArrayBuffer instead of deprecated readAsBinaryString, add .catch() error handler - Fix list_apps to scan subdirectories for ZIP-uploaded apps, skip Streamlit pages/ convention dir, prefer app.py as entry point - Fix set_active_app: replace broken streamlitctl call with direct UCI update - Fix remove_app: replace broken streamlitctl call with direct file removal and UCI cleanup - Fix add_app: replace broken streamlitctl call with direct UCI - Add rename_app and rename_instance RPCD methods with ACL entries - Activate now auto-creates an instance with next available port - Apps list shows UCI display name separate from filesystem ID - Sanitize uploaded filenames for UCI compatibility - Add rename buttons and modals for apps and instances - Add error notifications for failed deletes Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
31 lines
796 B
JSON
31 lines
796 B
JSON
{
|
|
"luci-app-streamlit": {
|
|
"description": "Grant access to Streamlit Platform management",
|
|
"read": {
|
|
"ubus": {
|
|
"luci.streamlit": [
|
|
"get_status", "get_config", "get_logs",
|
|
"list_apps", "get_app", "get_install_progress",
|
|
"list_instances",
|
|
"get_gitea_config", "gitea_list_repos"
|
|
]
|
|
},
|
|
"uci": ["streamlit"]
|
|
},
|
|
"write": {
|
|
"ubus": {
|
|
"luci.streamlit": [
|
|
"save_config", "start", "stop", "restart",
|
|
"install", "uninstall", "update",
|
|
"add_app", "remove_app", "set_active_app", "upload_app",
|
|
"preview_zip", "upload_zip",
|
|
"add_instance", "remove_instance", "enable_instance", "disable_instance",
|
|
"rename_app", "rename_instance",
|
|
"save_gitea_config", "gitea_clone", "gitea_pull"
|
|
]
|
|
},
|
|
"uci": ["streamlit"]
|
|
}
|
|
}
|
|
}
|