v1.9.0: S3 server type — bucket/object browser, drag-and-drop upload, resilient transfers
New server type: S3 (MinIO, AWS, any S3-compatible storage) - core/s3_client.py: boto3 client with auto-reconnect, 10 retries, exponential backoff, multipart upload/download, tcp_keepalive - gui/tabs/s3_tab.py: object browser (Treeview), bucket selector, folder navigation, drag-and-drop upload from Explorer (windnd), progress bar with %, multi-file upload - CLI: --s3-buckets, --s3-ls, --s3-upload, --s3-download, --s3-delete with retry - ServerDialog: access_key, secret_key, bucket fields - Registration: server_store, connection_factory, status_checker, icons, app, i18n (EN/RU/ZH) - Fix: build.py cleanup_old_releases now sorts by semver (was lexicographic, broke v1.8.100+) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -57,6 +57,7 @@ ICONS = {
|
||||
"powershell": "\u2328", # ⌨
|
||||
"launch": "\U0001f5a5", # 🖥
|
||||
"totp": "\U0001f510", # 🔐
|
||||
"objects": "\U0001faa3", # 🪣
|
||||
|
||||
# Context menu
|
||||
"connect": "\u25b6", # ▶
|
||||
@@ -91,6 +92,7 @@ TYPE_COLORS = {
|
||||
"redis": "#dc2626",
|
||||
"grafana": "#f97316",
|
||||
"prometheus": "#e11d48",
|
||||
"s3": "#16a34a",
|
||||
}
|
||||
|
||||
# Unicode symbols for each server type (reliable, no PIL needed)
|
||||
@@ -106,6 +108,7 @@ TYPE_SYMBOLS = {
|
||||
"redis": "\u25c6", # ◆
|
||||
"grafana": "\U0001f4ca", # 📊
|
||||
"prometheus": "\U0001f525", # 🔥
|
||||
"s3": "\U0001faa3", # 🪣
|
||||
}
|
||||
|
||||
# Short text labels for sidebar badge
|
||||
@@ -121,6 +124,7 @@ TYPE_LABELS = {
|
||||
"redis": "RDS",
|
||||
"grafana": "GRF",
|
||||
"prometheus": "PRM",
|
||||
"s3": "S3",
|
||||
}
|
||||
|
||||
|
||||
@@ -157,6 +161,7 @@ TAB_ICONS = {
|
||||
"metrics": "metrics",
|
||||
"powershell": "powershell",
|
||||
"launch": "launch",
|
||||
"objects": "objects",
|
||||
}
|
||||
|
||||
# Context menu icon mapping (i18n_key -> icon_name)
|
||||
|
||||
Reference in New Issue
Block a user