-
Notifications
You must be signed in to change notification settings - Fork 2
Releases: slopedrop/contop
Releases · slopedrop/contop
Mobile v0.1.0-alpha.3
Mobile v0.1.0-alpha.3
Pre-release
Pre-release
Mobile v0.1.0-alpha.3
Added
- Intervention card now collapses long commands behind a
Show more/Show lesstoggle (>200 chars) so the Execute Anyway / Abort buttons stay reachable without scrolling
Fixed
QuickActionBarcrashed withTypeError: Cannot read property 'displayName' of undefinedbecauseTextwas imported as a named export instead of the default — fixed the import
Full Changelog: mobile-v0.1.0-alpha.2...mobile-v0.1.0-alpha.3
Assets 3
Desktop v0.1.0-alpha.4
Desktop v0.1.0-alpha.4
Pre-release
Pre-release
Desktop v0.1.0-alpha.4
Added
open_filetool — open any file in its default application (cross-platform:os.startfileon Windows,openon macOS,xdg-openon Linux)office-documentsbuilt-in skill withconvert_documenttool — convert between file formats (PDF, CSV, PNG, JPG, HTML) using auto-detected best method (Office COM, LibreOffice, or Python libraries)- ctypes
EnumWindowsfallback forwindow_listwhen pywinauto is unavailable (Windows) - Execution agent prompt: Python packages can now be installed on demand — if a script needs a missing package, the agent runs
pip install <package>and retries instead of giving up or using workarounds
Fixed
execute_accessible(set_value): multi-line text (poems, code snippets, anything containing\n) had newlines silently stripped becausepywinauto.type_keys()was called withoutwith_newlines=True— now uses clipboard paste as the primary strategy (fast, preserves newlines/tabs/unicode, works in file dialogs) with atype_keys(..., with_newlines=True, with_tabs=True)fallback. Fixes ~32s typing time for long text → <1s via paste, and restores correct line-break handling that regressed weeks ago.execute_accessibleon text editors: Notepad/WordPad/Word/VS Code expose their main editing area as aDocumentcontrol type, but_INTERACTIVE_TYPESomittedDocument— so neitherget_ui_contextnor the "available elements" hint on a not-found error surfaced it, forcing the model to guesscontrol_type="Edit"and fail. AddedDocumentto_INTERACTIVE_TYPESand documented it in theexecute_accessibleprompt snippet alongside a note thatEditis only for single-line fields.save_dialog: returnedstatus: successeven when intermediateexecute_accessiblecalls failed — now checks each step's result and verifies the file exists on disk before reporting success (prevents the "fake success" where the model would claim the file was saved while it never actually was). Also requirescontrol_type=Editon the filename field andcontrol_type=Buttonon the Save button, so fuzzy name matching can't pick up "File name:" label or "Save as type:" combobox instead of the intended control.open_dialog: same fixes — checks result status of each step and filters bycontrol_typeto disambiguate elements.write_excel:add_sheetnow correctly targets the new sheet for subsequent operations;merge_cellsandset_column_widthgainedsheetparameter supportlaunch_app(Windows): apps on PATH launch via directsubprocess.Popen— no shell chain, no stray windows, no "Select an app" dialogs; apps not on PATH fall back to PowerShellStart-Process; return value reflects actual window/process statelaunch_app(Linux): removedxdg-open name:URI-scheme fallback that triggered the same error-dialog issue as Windowsexecute_cli:startcommands under Git Bash are now backgrounded (&) to prevent the stall monitor from killing launched GUI appssave_dialog/open_dialog: fixed hotkey calls passingcoordinatesas JSON string instead of dict; added missingtargetparameter toexecute_guicalls; removed redundanttargetparameter fromexecute_accessiblecallssave_dialog: changed hotkey from Ctrl+Shift+S (triggers Windows Snipping Tool) to Ctrl+S only; fails cleanly if no dialog appearsopen_file: removed TOCTOU race condition from file existence check; fixed window matching logic to prioritize new windows over filename matchopen_file: fixed tool evaluator classifying it asempty_commandrequiring confirmation — now routes asworkflow_operationwith no confirmationclose_appandcopy_between_apps: fixed hotkey calls passingcoordinatesas JSON string instead of dict; added missingtargetparameter- Desktop (dev mode):
resolve_server_pathsnow always uses sourcecontop-server/directory in debug builds via#[cfg(debug_assertions)]— prevents stale bundled resource copy from shadowing code changes; extracted duplicated fallback path logic intosource_tree_paths()helper - Code quality: moved ctypes
EnumWindowscallback type to module-level static to avoid recreation overhead on every window enumeration; consolidated redundant window polling logic - Execution agent prompt: removed misleading
execute_cliexamples for launching apps; added prominent rule to useopen_file/launch_appinstead
Full Changelog: desktop-v0.1.0-alpha.3...desktop-v0.1.0-alpha.4
Assets 7
Mobile v0.1.0-alpha.2
Mobile v0.1.0-alpha.2
Pre-release
Pre-release
Fixed
- Release APK failed to connect to server over LAN — Android blocked cleartext
ws://traffic in release builds - iOS local networking allowed via
NSAllowsLocalNetworkingfor LAN connections - EAS Build failed due to invalid backup XML exclude rules (FullBackupContent lint error)
- Expo packages updated to latest SDK 55 compatible versions
- OTA updates config fixed: installed
expo-updates, corrected update URL, registered plugin - Removed deprecated
fallbackToCacheTimeoutfield
Assets 3
Desktop v0.1.0-alpha.3
Desktop v0.1.0-alpha.3
Pre-release
Pre-release
Desktop v0.1.0-alpha.3
Fixed
- App failed to find contop-server on launch (NSIS installer) — resource path resolution now searches all candidate directories across all install methods
- CLI proxy ("Start" button in Settings) failed on installed builds — proxy is now bundled into resources
- Updated model descriptions in Settings: Gemini 3.1 Pro, GPT-5.4
Full Changelog: desktop-v0.1.0-alpha.2...desktop-v0.1.0-alpha.3
Assets 7
Desktop v0.1.0-alpha.2
Desktop v0.1.0-alpha.2
Pre-release
Pre-release
Desktop v0.1.0-alpha.2
Fixed
- App failed to find contop-server on launch (both NSIS installer and Scoop portable) — resource path resolution now matches Tauri's bundled layout
- Portable zip now includes all bundled resources (contop-server, uv, PinchTab, MinGit) — previously only contained the bare exe
- Scoop manifest: removed
extract_dirthat caused_tmpcleanup error on install
Full Changelog: desktop-v0.1.0-alpha.1...desktop-v0.1.0-alpha.2
Assets 7
Desktop v0.1.0-alpha.1
Desktop v0.1.0-alpha.1
Pre-release
Pre-release
Desktop v0.1.0-alpha.1
Added
- First-launch setup wizard with automatic GPU detection and ML dependency installation
- First-launch setup overlay with progress bar, human-readable status, and download size estimates
- Auto-update support via Tauri updater plugin
- NSIS installer runs Python/ML dependency installation with GPU auto-detection (Windows)
- First-launch dependency installer for macOS and Linux
- "Stopping server..." UI feedback when closing the app
- macOS and Linux builds (DMG, AppImage, DEB) alongside Windows NSIS installer
- Portable
.zipbuild for Windows alongside NSIS installer - Homebrew tap for macOS —
brew install slopedrop/contop/contop(no Gatekeeper warnings) - Scoop bucket for Windows —
scoop install contop(no SmartScreen warnings) - CI auto-updates Homebrew tap and Scoop bucket on every desktop release
/api/ml-statusendpoint to check ML stack readiness
Fixed
- Away Mode cross-platform compilation: adapted to core-graphics 0.24 API changes on macOS (CGEventTap, idle detection), fixed x11rb borrow lifetime on Linux, added IOKit framework linkage
- Blurry taskbar/shortcut icon on Windows (workaround for Tauri #14596)
- Close button deadlock — cleanup now runs on a background thread
- Terminal windows no longer flash on screen during server start (Windows)
- GPU/CPU dependency resolution errors when installing ML stack with
uv sync - First-launch setup overlay was never shown (broken
display:nonein HTML) - Release workflow: added
contents: writepermission for GitHub Release creation
Changed
- First-launch setup runs in the background so the app window loads immediately
- First-launch dependency install emits structured progress events (stage, message, detail)