Skip to content

Releases: narcisoJavier/Tether

Tether v0.6.1 — Cyber Splash, Material You Icons & Settings Cockpit

Choose a tag to compare

@narcisoJavier narcisoJavier released this 04 Sep 06:34

Tether v0.6.1 — Cyber Splash, Material You Icons & Settings Cockpit

What's New in v0.6.1

Cyber ASCII Boot Sequence

  • High-contrast monochrome vector splash animation on pure OLED black canvas (#000000).
  • Strict squircle boundary containment with 4-phase choreographed timing:
    • Phase 1: Squircle scale pop, dashed terminal frame draw, command prompt (>), and 250ms blinking cursor (_).
    • Phase 2: Snake body & segmented chain links trace sequentially from the curled tail.
    • Phase 3: Serpent head focus surge and forked tongue extending with rapid 2-3 cycle oscillation.
    • Phase 4: Settle breathing pulse and seamless transition to the main app shell.
  • Tap-to-skip support allowing instant bypass of the boot sequence.

Android True Adaptive Icon & Material You Theming

  • Edge-to-edge OLED black background (#050B0A) across adaptive launcher XML configurations.
  • Pure white vector ASCII chained-serpent emblem scaled to the official 66% safe zone (72dp).
  • Android 13+ Material You <monochrome> support dynamically adapting app icons to the user's wallpaper theme.
  • High-density raster buckets (mdpi through xxxhdpi) eliminating nested border artifacts on circular launchers.

Apple TUI 2.0 Inset Grouped Settings Screen

  • Modular inset grouped cards with rounded 16px glass containers and hairline borders.
  • Top mesh node status card displaying live database metrics for profiles, keys, and commands.
  • Interactive live mini-terminal preview reacting in real-time to theme and appearance adjustments.
  • Curated ANSI color theme engine featuring 6 distinct palettes: OLED Emerald, Tokyo Night, Cyberpunk Neon, Monokai Pro, Classic Amber, and Solarized Dark.
  • Monospace font selection, cursor styling (Block, Bar, Underline), and keyboard ribbon haptic controls.

Codebase Streamlining & Optimization

  • Unified duplicated ProfileColors into canonical application constants.
  • Extended profile editor color picker from 4 colors to the full 8-color system palette.
  • Deleted obsolete ConnectionCard (223 lines) and empty theme_provider.dart.
  • Removed unused hive_generator and build_runner dependencies, purging 33 transitive packages from the project tree.
  • Excluded Python asset generation scripts and obsolete images from the release APK asset bundle.
  • Hardened timestamp assertions in the test suite against millisecond race conditions.

Verification

  • Static Analysis: 0 issues (dart analyze lib/ test/)
  • Unit & Widget Test Suite: 98/98 tests passed
  • Target Platform: Android 7.0+ (API 24+)
  • Architectures: arm64-v8a, armeabi-v7a, x86_64

Tether v0.6.0 — Rebrand, Terminal UX Overhaul & Adaptive Branding

Choose a tag to compare

@narcisoJavier narcisoJavier released this 24 Aug 21:39

What's New in v0.6.0

🔄 Tether Rebrand

  • Project renamed from OPA to Tether — new package name, Android application ID, and repository identity.
  • New logo asset integrated across the app.

🖥️ Terminal UX Overhaul

  • Completely overhauled terminal experience with dynamic keyboard accessory bar.
  • Immersive full-screen terminal shell (hides bottom nav on terminal route).
  • Virtual keyboard ribbon that seamlessly attaches to the software keyboard when typing and docks above system navigation when dismissed.

🎨 Home Dashboard Redesign

  • Apple TUI 2.0-inspired Home Dashboard with redesigned ConnectionTile.
  • Environment tag model support for connection profiles.
  • Aligned with HTML prototype design specifications.

📱 Android Adaptive Branding

  • Proper adaptive icon with centered foreground in 66% safe zone and OLED black background.
  • Cold boot dark theme to eliminate white flash on app launch.

🛠️ Build & Stability

  • Stabilized Windows multi-drive Gradle build and hook fallback.
  • Consolidated mobile UI and command workflows.

📄 Documentation

  • HTML prototypes for all 10 app screens.
  • SCREENS.md with detailed screen descriptions.
  • Documented terminal shell, keyboard bar, and modal sheet design invariants.

Full Changelog (since v0.5.0)

  • feat(ui): overhaul terminal UX, dynamic keyboard bar, and Android adaptive branding
  • fix(build): stabilize Windows multi-drive gradle build and hook fallback
  • feat: consolidate mobile UI and command workflows
  • feat(ui): align Home Dashboard & ConnectionTile with HTML prototype design
  • refactor: rename project, package, and git repository to Tether
  • feat: integrate new logo asset and apply Apple TUI 2.0 redesign
  • docs: add HTML prototypes for all 10 app screens
  • docs: add SCREENS.md with detailed descriptions for all 10 screens
  • docs(rules): document terminal shell, keyboard accessory bar, and sheet invariants

Download: Tether-v0.6.0-release.apk (61.6 MB)

Update from within the app: Tether checks for new versions on launch and will prompt you to download.

OPA v0.5.0 - Multi-Tab SSH Terminal & Apple TUI 2.0

Choose a tag to compare

@narcisoJavier narcisoJavier released this 11 Aug 14:19

Release Notes for OPA v0.5.0

🚀 New Features

  • Multi-Tab SSH Terminal Engine: Connect to and manage multiple concurrent SSH sessions simultaneously.
  • Unified Single Header Bar: Ultra-sleek 36px OLED glass tab bar with embedded grid dimensions and tab controls.
  • Interactive Server Picker: Tap +\ to open a server selection sheet and launch a tab for any saved connection.
  • In-Terminal Quick Commands: Tap \⚡\ in the header or touch bar to execute saved commands directly into the active shell.
  • Interactive Terminal Launcher: Launch tabs directly from saved connection cards when no tabs are open.
  • Version Control & ETag Caching: Smart update checking with 24-hr caching and GitHub ETag 304 handling.

🛠️ Bug Fixes & Refactors

  • Fixed initial tab creation race condition on fresh app launch.
  • Auto-navigate back to Home when the last terminal tab is closed.
  • Resolved \SshService\ premature disposal crash.
  • Cleaned up unused dead code (\ erminal_screen.dart).

OPA v0.4 — Tunnels, Premium Redesign, & Keystore Migration

Choose a tag to compare

@narcisoJavier narcisoJavier released this 17 Jul 13:51

What's New in v0.4

🚇 Port Forwarding & Tunnels

Fully integrated SSH tunneling support! Set up Local, Remote, and Dynamic (SOCKS5) port forwarding directly from the new Tunnels screen. Tunnels can be set to auto-start when the connection opens, allowing for seamless background networking.

🌌 Premium "Deep Space" Redesign

The entire app has been redesigned with a premium aesthetic featuring layered midnight navy surfaces, glowing neon accents, and frosted glass components. The new ConnectionTile is taller, more legible, and features a smooth swipe-to-reveal action menu.

🔐 Enhanced Security Architecture

Passwords are now stored exclusively in the hardware-backed Android Keystore alongside your private keys, completing the migration away from plaintext local storage. The biometric lock has also been rewritten at the routing layer for instant, secure enforcement before any sensitive screens can be drawn.

🐛 Bug Fixes & Improvements

  • Fixed SOCKS5 proxy data loss by implementing StreamIterator bridging.
  • Fixed GoRouter GlobalKey conflicts when unlocking the app from the background.
  • Improved performance by heavily utilizing const constructors in the new rendering pipeline.

OPA v0.3 — Tailscale SSH, AMOLED default

Choose a tag to compare

@narcisoJavier narcisoJavier released this 30 Jun 18:44

What's new

  • Tailscale SSH — connect over WireGuard tunnel. Set Network to Tailscale in connection profile, paste an auth key, and SSH through your tailnet.
  • AMOLED black permanent default — true black backgrounds on all screens, no toggle needed.
  • Vendored tailscale package — \packages/tailscale/\ as local path dependency for the embedded Tailscale node.

Full changelog

  • AMOLED black is now the unconditional default (removed settings toggle)
  • Fixed TailscaleService.init never being called — SSH-over-tailnet now works
  • Vendored packages/tailscale/ for reproducible builds
  • \withOpacity()\ → \withValues(alpha:)\ migration
  • AGP 8.9.1 → 8.11.1, built-in Kotlin
  • Design polish: glassmorphism cards, formatting consistency, deprecation fixes

OPA v0.2.4

Choose a tag to compare

@narcisoJavier narcisoJavier released this 27 Jun 13:41

OPA v0.2.4

Fixes

  • Replace laggy backdrop-blur bottom sheet with animated FAB expansion buttons for New Connection, Generate SSH Key, and Quick Command
  • Remove unused dart:ui dependency
  • Fix update checker fallback version mismatch
  • Bump app version to 0.2.4

Download: app-release.apk (62.2 MB)

OPA v0.2.3

Choose a tag to compare

@narcisoJavier narcisoJavier released this 26 Jun 14:58

OPA v0.2.3

What's New

  • 🔒 Biometric Lock — Secure the app with fingerprint or device PIN
  • 🌐 SFTP File Browser — Browse, upload, download, rename, and delete files on remote servers
  • 🎨 Preset Editor — Create and edit custom agent quick-launch presets
  • ⚙️ Terminal Settings — Adjust font size, scrollback buffer, and color scheme
  • 📤 Import/Export — Backup and restore your connection profiles and settings
  • 🔔 In-App Update Checker — Automatically notified when a new version is available
  • 🚀 Refreshed Onboarding — 4-slide welcome flow for first-time users
  • 💫 Smoother Animations — Fade-in, slide-up, and shimmer throughout
  • 🔤 Google Fonts — Inter for UI, JetBrains Mono for terminal

Bug Fixes

  • Terminal scroll jank and agent panel lag resolved
  • Auth-button overflow on small screens fixed
  • UTF-8 decode handling improved for special characters

Download: OPA-v0.2.3.apk (62.2 MB)

Update from within the app: OPA checks for new versions on every launch. You'll get a prompt to download.

v0.2.2 - Runtime version resolution & polish

Choose a tag to compare

@narcisoJavier narcisoJavier released this 26 Jun 05:00

What's New

  • Runtime version resolution — App version is now read from platform package info at runtime instead of a hardcoded constant.
  • Terminal banner — Connect banner shows the actual installed version from APK metadata.
  • Update checker — Uses runtime version for comparison against GitHub Releases.
  • Removed hardcoded appVersion constant from constants.dart.

Changelog

  • Add AppVersion utility (package_info_plus) for runtime version resolution
  • update_service.dart: Use AppVersion.get() instead of hardcoded constant
  • terminal_screen.dart: Show runtime version in connect banner
  • Remove appVersion from constants.dart
  • Bump to 0.2.2+4

OPA v0.2.1 — Performance & UI Fixes

Choose a tag to compare

@narcisoJavier narcisoJavier released this 26 Jun 02:00

Performance

  • Removed per-item BackdropFilter blur from all scrolling list items (connection cards, key cards, command cards, info banners, quick-command chips). These blurred a flat solid background for zero visual gain but caused heavy per-frame re-rasterization — the main source of scroll/navigation jank.
  • Removed staggered per-item entrance animations from the agent-harness preset chips (21 animation controllers across the Agent / DevTools / System rows) and per-row fadeIn/slide from cards. This resolves the laggy feel in the Quick Commands preset panel specifically.
  • Fixed an N+1 Hive box scanlistProfiles() now runs once per screen instead of once per command.

UI Fixes

  • Fixed the auth selector overflow — the Password / Key / Both SegmentedButton text no longer overflows its segment (icon 16→14, label font→12, tighter padding).

Verification

  • flutter analyze: no new issues
  • 38/40 tests pass (2 pre-existing failures in ssh_key_encoder_test, unrelated)

OPA v0.2.0 — Update Checker & Terminal TUI Fixes

Choose a tag to compare

@narcisoJavier narcisoJavier released this 24 Jun 13:26

What's New

Terminal TUI Rendering Fixes

  • Fixed garbled text — proper UTF-8 decoding so box-drawing characters and Unicode from TUI apps (opencode, agy, etc.) render correctly
  • Fixed blank/frozen screen — PTY shell now opens with correct dimensions after layout, instead of a wrong 80x24 default
  • Fixed wrapping — pixel dimensions are now sent to the SSH PTY for accurate terminal geometry

In-App Update Checker

  • App now checks GitHub Releases on launch and prompts you to download new versions
  • After this release, future updates show a download dialog automatically

Polish

  • Overhauled README with badges, collapsible sections, and structure
  • Added MIT LICENSE

Install: Download app-release.apk below and install on your Android device.