163 Commits

Author SHA1 Message Date
chrome-storm-c442
a7b4850c47 v1.9.37: align tab buttons with header controls on same Y-level
Removed separate header_bar, overlay header controls (language, update,
about) directly on tabview's tab row using place(). Tabs and controls
now sit in the same horizontal line — no vertical gap.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
v1.9.38
2026-03-06 09:01:16 -05:00
chrome-storm-c442
f5c91adac8 v1.9.36: document Claude Code image read crash bug & workarounds
- CLAUDE.md: add rule to never read images directly, only via Agent
- CLAUDE.md: add rule to never use chrome-devtools take_screenshot directly
- BUG_REPORT_CLAUDE_CODE_PNG_CRASH.md: full root cause analysis
- tools/patch_claude_code.js: v2 patcher with mapper media_type fix

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
v1.9.37
2026-03-06 08:31:27 -05:00
chrome-storm-c442
33e15827ce v1.9.35: eliminate CTkTabview internal top spacing to raise tabs
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
v1.9.36
2026-03-06 05:53:55 -05:00
chrome-storm-c442
73bcac8a55 v1.9.34: reduce header bar height and padding to raise tabview
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
v1.9.35
2026-03-06 05:52:23 -05:00
chrome-storm-c442
05706182df v1.9.33: raise tabview closer to header icons (remove top padding)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
v1.9.34
2026-03-06 05:50:20 -05:00
chrome-storm-c442
c4fae6a9c1 v1.9.32: full OFFLINE text on terminal overlay, font size 72
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
v1.9.33
2026-03-06 05:48:21 -05:00
chrome-storm-c442
259caacb01 v1.9.30: localize terminal OFF overlay (EN/RU/ZH)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
v1.9.31 v1.9.32
2026-03-06 05:46:29 -05:00
chrome-storm-c442
6c5ceead09 v1.9.29: show large OFF overlay on terminal when disconnected
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
v1.9.30
2026-03-06 05:42:19 -05:00
chrome-storm-c442
65c1f809b1 v1.9.28: terminal connect/disconnect toggle button with state indication
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
v1.9.29
2026-03-06 05:34:40 -05:00
chrome-storm-c442
064de8df8d v1.9.27: add disconnect button in terminal + disconnect in context menu
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
v1.9.28
2026-03-06 05:27:03 -05:00
chrome-storm-c442
7522908404 v1.9.26: disable terminal auto-connect on single click, require double-click
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
v1.9.27
2026-03-06 05:09:54 -05:00
chrome-storm-c442
c21b263b24 v1.9.25: show server group in --list and --info CLI output
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
v1.9.26
2026-03-05 06:55:32 -05:00
chrome-storm-c442
464b803b42 v1.9.24: add --s3-create-bucket to CLI and skill
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
v1.9.25
2026-03-05 06:21:27 -05:00
chrome-storm-c442
bbef9ad014 v1.9.23: S3 create/delete bucket GUI buttons
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
v1.9.24
2026-03-05 06:16:50 -05:00
chrome-storm-c442
9f7fbb759f v1.9.22: add S3 bucket check rule to global CLAUDE.md installer
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
v1.9.23
2026-03-05 05:23:45 -05:00
chrome-storm-c442
16e69a2bd6 v1.9.21: update global CLAUDE.md installer — full command table for all server types
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
v1.9.22
2026-03-05 05:21:21 -05:00
chrome-storm-c442
bc4cf2b7a3 v1.9.20: Win32 restore watchdog — fix stuck minimized after Win+D
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
v1.9.21
2026-03-05 04:37:32 -05:00
chrome-storm-c442
35bdefba59 v1.9.19: fix offscreen window — validate saved geometry, reject -32000 coords
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
v1.9.20
2026-03-05 04:13:11 -05:00
chrome-storm-c442
d33f573483 v1.9.18: revert GUI to v1.9.14 state — fix broken window display
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
v1.9.19
2026-03-05 04:09:47 -05:00
chrome-storm-c442
cf319c502e v1.9.16: add --s3-url presigned URL command to ssh.py
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
v1.9.17 v1.9.18
2026-03-05 04:05:00 -05:00
chrome-storm-c442
01ab318e4b v1.9.15: fix minimize/restore — remove grab_set, add Win32 restore fallback
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
v1.9.16
2026-03-05 03:58:32 -05:00
chrome-storm-c442
f9a81a4825 v1.9.14: fix dialog minimize bug — restore modal dialogs on un-minimize
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
v1.9.15
2026-03-05 03:25:18 -05:00
chrome-storm-c442
3bafb0deb8 skill: enforce server type checking — MinIO/S3, presigned URL, workflow examples
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 02:25:41 -05:00
chrome-storm-c442
b37e696094 v1.9.13: remove cleanup_gitea_releases — keep all Gitea releases
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
v1.5.0 v1.5.1 v1.5.2 v1.5.3 v1.5.4 v1.5.5 v1.6.0 v1.6.1 v1.6.2 v1.7.0 v1.8.0 v1.8.1 v1.8.2 v1.8.3 v1.8.4 v1.8.5 v1.8.6 v1.8.7 v1.8.8 v1.8.10 v1.8.11 v1.8.12 v1.8.13 v1.8.17 v1.8.23 v1.8.24 v1.8.25 v1.8.26 v1.8.29 v1.8.31 v1.8.32 v1.8.35 v1.8.36 v1.8.52 v1.8.53 v1.8.56 v1.8.57 v1.8.58 v1.8.59 v1.8.60 v1.8.63 v1.8.65 v1.8.66 v1.8.67 v1.8.68 v1.8.69 v1.8.70 v1.8.71 v1.8.73 v1.8.74 v1.8.75 v1.8.78 v1.8.79 v1.8.80 v1.8.81 v1.8.83 v1.8.84 v1.8.85 v1.8.86 v1.8.89 v1.8.90 v1.8.91 v1.8.92 v1.8.93 v1.8.94 v1.8.95 v1.8.96 v1.8.97 v1.8.98 v1.8.99 v1.9.0 v1.9.1 v1.9.2 v1.9.3 v1.9.4 v1.9.5 v1.9.6 v1.9.7
2026-03-03 09:35:17 -05:00
chrome-storm-c442
289ce65431 chore: remove 12 old exe from git + use git rm in cleanup
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
v1.9.13
2026-03-03 09:32:01 -05:00
chrome-storm-c442
704ce3bef2 v1.9.12: cleanup orphan Gitea tags alongside old releases
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 09:29:53 -05:00
chrome-storm-c442
00f3b76d2a v1.9.11: always check updates on startup + cleanup Gitea releases
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
v1.9.12
2026-03-03 09:27:21 -05:00
chrome-storm-c442
efbbfa13ee v1.9.10: cleanup old Gitea releases — keep first + last 5
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
v1.9.11
2026-03-03 09:21:33 -05:00
chrome-storm-c442
3c4d02c5ec v1.9.9: fix stale server data after Edit — force reconnect with fresh credentials
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
v1.9.10
2026-03-03 09:11:36 -05:00
chrome-storm-c442
5b4672dfe3 v1.9.8: S3 resumable download — Range GET with .s3part resume on disconnect
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
v1.9.9
2026-03-03 08:33:48 -05:00
chrome-storm-c442
f445953a82 v1.9.7: S3 folder download — recursive with preserved directory structure
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
v1.9.8
2026-03-03 08:19:07 -05:00
chrome-storm-c442
2a56ececd1 v1.9.6: S3 navigation — Backspace/Alt+Left to go back, right-click empty area menu
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 08:12:51 -05:00
chrome-storm-c442
f233d5cf70 v1.9.5: S3 — new folder, folder delete with confirmation, folder drag-and-drop
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 08:07:40 -05:00
chrome-storm-c442
61461767fd v1.9.4: S3 optimizations — skip redundant health checks, folder drag-and-drop
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 07:59:26 -05:00
chrome-storm-c442
bc2a3bc6b5 v1.9.3: S3 context menu — two link types: temp 48h + permanent direct
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 07:47:01 -05:00
chrome-storm-c442
e403da4f9d v1.9.2: S3 right-click context menu — copy presigned download link
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 07:36:21 -05:00
chrome-storm-c442
1e729fcf3a v1.9.1: PNG Material Design icons — 28 icons, dark/light theme, HiDPI, graceful Unicode fallback
- 56 PNG icons (28 unique × 2 color variants) from Material Design Icons (round style, 96×96px)
- core/icons.py: ctk_icon(), make_icon_button(), reconfigure_icon_button() with CTkImage cache
- Updated 15 GUI files: app.py, sidebar.py, server_dialog.py, all tabs
- build.py: auto-include assets/icons/ in PyInstaller bundle, patch rollover at 99→minor+1
- tools/download_icons.py: icon download script
- Automatic dark↔light theme switching via CTkImage dual-image support

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 07:27:49 -05:00
chrome-storm-c442
9b0e4c76a3 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>
2026-03-03 06:32:03 -05:00
chrome-storm-c442
f2dc978c57 v1.8.99: fix update script — delete-before-copy, size verification, error logging
Previous BAT script falsely reported success because `if exist` checked
the pre-existing file, not the copy result. Now: deletes old DST first,
copies with /B (binary), verifies size matches expected, logs all errors.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 03:12:54 -05:00
chrome-storm-c442
c9e3ee8fc5 server groups: grouped sidebar, GroupDialog, context menus, i18n + cleanup old releases
- Groups CRUD in sidebar (create, rename, change color, reorder, delete)
- Collapsible group headers with color dots and server count
- "Move to Group" context menu on servers
- Group dropdown in ServerDialog (add/edit)
- 17 i18n keys (EN/RU/ZH)
- Search auto-expands groups
- Cleaned up old release binaries

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 02:12:35 -05:00
chrome-storm-c442
2f84429b10 v1.8.98: fix ghost "eue" text in terminal — strip DCS/APC/PM/SOS sequences
pyte 0.8.2 doesn't handle DCS string sequences (ESC P ... ST). When
nano/ncurses sends DECRQSS queries, pyte consumed the introducer but
rendered the payload as visible text. Added regex pre-filter to strip
DCS/APC/PM/SOS sequences before feeding data to pyte.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 01:49:35 -05:00
chrome-storm-c442
72c7da5765 fix: install.sh — ignore chmod error on existing dirs
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 06:29:14 -05:00
chrome-storm-c442
b7e9c80690 v1.8.97: add install.sh — CLI installer for headless Linux servers
Installs ssh.py, encryption.py, Claude Code skill, Python dependencies.
Supports local source dir or downloads from Gitea.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 06:28:18 -05:00
chrome-storm-c442
7af788b72e v1.8.96: persist sidebar width across restarts
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 05:47:08 -05:00
chrome-storm-c442
08307fbe9b v1.8.95: resizable sidebar via PanedWindow — drag to widen server list
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 05:42:41 -05:00
chrome-storm-c442
2174168200 v1.8.94: test release for update mechanism verification
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 04:15:06 -05:00
chrome-storm-c442
273666236a v1.8.93: rewrite update script from VBS+PowerShell to plain BAT with logging
VBS→PowerShell chain was silently failing. BAT is simpler, doesn't depend
on execution policy, and writes detailed log to %TEMP%\sm_update.log
for debugging.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 04:13:36 -05:00
chrome-storm-c442
bc48aea1e4 v1.8.92: fix Ctrl+S/Q and all Ctrl+key combos with non-Latin keyboard layouts
Ctrl+key shortcuts now use physical keycodes as fallback, so Ctrl+S (save
in nano), Ctrl+Q (XON), Ctrl+A/E/R/W/T etc. work regardless of whether
the keyboard layout is English, Russian, or any other.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 04:10:30 -05:00
chrome-storm-c442
bc7be1057b v1.8.91: terminal background pure black (#000000) instead of dark blue
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 04:06:46 -05:00
chrome-storm-c442
d0f84d00eb v1.8.90: fix update script — remove $ErrorActionPreference=Stop, launch via cmd start
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 02:14:06 -05:00