Skip to content

Colab Shell v1.1.0

Choose a tag to compare

@Nwokike Nwokike released this 16 Jul 20:28
· 164 commits to main since this release

Colab Shell: Notebook & TTY (v1.1.0) is a major release bringing full real-time interactive terminal emulation, robust multi-platform storage normalization, enhanced remote file management, and polished action workflows.

🔥 Major New Features & Architectural Upgrades

1. Interactive PTY Terminal & Tabbed Workspace

  • Real-Time Web-Based Terminal (TTY) — Integrated live interactive terminal sessions directly into the session workspace via Google Colab's /api/terminals WebSocket endpoints.
  • Tabbed Session Interface — Seamlessly toggle between Notebook cell execution and Terminal shell tabs within an active cloud instance.
  • WebSocket Header & Protocol Engineering — Resolved remote connection rejections by injecting Origin: https://colab.research.google.com and properly formatting subprotocols (['colab-ws-token']) across tornado proxy tunnels.

2. Unified Storage & History Logging Infrastructure

  • Universal Storage Patching (storage_patch.py) — Intercepted and wrapped HistoryLogger.__init__, StateStore, and SettingsStore to ensure all execution logs and session histories persist reliably inside storage/history/ on both Android mobile devices and Linux desktop environments.
  • Full Backend Audit Logging — Added automatic HistoryLogger().log_event() hooks across all core operations: new_session, stop_session, exec_code, ls, upload, download, and rm.
  • Instant Log Visibility — Fixed previous issues where session history views displayed empty lists by eliminating split configuration directory paths.

3. Interactive File Manager Improvements

  • Parent Directory Navigation — Upgraded directory traversal using posixpath.dirname and posixpath.normpath to allow seamless browsing from subdirectories up to /content and root (/).
  • Instant UI Repainting — Uploading (upload) or deleting (rm) files now automatically refreshes directory listings (_load_files) and forces immediate UI repainting (page.update()) so changes appear instantly.
  • Native OS File Picker & Folder Downloading — Integrated ft.FilePicker so users can choose exact save destinations on their device without Android storage permission conflicts. Added comprehensive Zip-and-Download support for archiving and downloading entire remote directories.
  • Animated Progress Bars & Payload Sizes — Replaced indeterminate loading spinners with sweeping ft.ProgressBar controls that accurately report total payload sizes during uploads and downloads.
  • Path Normalization — Standardized POSIX path joining (posixpath.normpath) across all file operations to eliminate path double-slashes and clean up file transfers.

4. Action Bar & Home Dashboard Refinements

  • Home Quick Actions Redesign — Replaced ambiguous dashboard buttons with clear, action-oriented controls: New Notebook, Quick Terminal, and Cloud Files.
  • Intelligent New Session Routing — Launching a new instance directly from the Terminal, Files, or Notebooks dashboard actions now preserves the user's intent, routing straight into that feature view as soon as provisioning completes.
  • Robust Modal & Dialog Management — Eliminated UI freezing and unresponsive barriers across the app by replacing deprecated page.pop_dialog() calls with explicit dialog.open = False state management.
  • Live Output for Drive & GCP Auth — Wired live execution streaming (on_output=_action_output) to Mount Drive and Auth GCP buttons, showing immediate authorization prompts and progress updates directly in the snackbar.
  • Clearer Labeling — Updated the Browser action chip label to Colab Web for improved user clarity.
  • Google Play Title Compliance — Updated official app branding to Colab Shell: Notebook & TTY (28 characters, adhering to Google Play's 30-character limit).