🌹 RoseWire TUI Client Progress Report

Hello RoseWire community! As part of our ongoing mission to make decentralized file sharing and chat accessible everywhere, we’re thrilled to share progress on the RoseWire TUI client—our terminal-based interface for connecting to modern RoseWire servers. 😎🖥️


✨ What is the TUI Client?

The RoseWire TUI client is a lightweight, cross-platform terminal app built with Go, Bubble Tea, and Lip Gloss. It lets you:

  • 🗝️ Manage identities and keys
  • 🔐 Connect securely via SSH
  • 💬 Chat in real time
  • 🔍 Search for files and users
  • 🌐 See who’s online across the federated network

All from a beautiful, responsive text-based UI—no mouse required!


🚀 Recent Milestones

1. Robust Identity & Config Management

  • Profile Manager: Create, store, and select identities (nicknames + SSH keys) with ease.
  • Persistent Server Config: Your last-used server is remembered for quick reconnections.

2. Seamless SSH Integration

  • Secure Logins: Automatically test your credentials before entering the network.
  • Automatic Reconnection: If disconnected, the client retries gracefully with exponential backoff and friendly status updates.

3. Dynamic Multi-Panel UI

Switch between major views using Tab/Shift+Tab:

  • Chat Panel: Live group chat with system and user broadcasts.
  • Search Panel: Find files or users instantly; results grouped and sorted for clarity.
  • Network Panel: Visualize the network—see users, relays, and transfer stats at a glance.

All panels resize dynamically to fit your terminal window, with thoughtful keyboard navigation throughout. 🎹

4. Modern UX in the Terminal

  • Bubble Tea & Lip Gloss: Crisp borders, color-coded messages, and styled buttons bring modern UI polish to the CLI.
  • Spinners, Status Bars: Loading states and errors are clearly communicated.
  • Focused/Blurred States: Inputs and selections are visually distinct, reducing mistakes.

5. Extensible Architecture

  • Command-Based Messaging: Panels communicate via structured message types, making new features easy to add.
  • Async Operations: Profile loading, key generation, and network requests are all non-blocking for snappy performance.

🛠️ Under the Hood

Here’s a peek at how it all fits together:

  • Modular Codebase: Clean separation of config, profile, SSH, and TUI logic.
  • Panels as Models: Each view (chat, search, network, etc.) is its own Bubble Tea model.
  • Network Awareness: The client parses and displays federated user lists, relay counts, and live transfer activity.

💡 What’s Next?

  • File Sharing & Transfers: Upload, download, and manage files directly from the TUI.
  • Library & Transfer Panels: Coming soon for browsing your own shared files and monitoring transfer progress.
  • Improved Theming: Customizable styles for accessibility and personal taste.
  • Federation Insights: See not just who’s online, but which servers they’re connected to.

🏁 How to Try It

If you’re comfortable with Go and the command line, clone the repo and run the TUI client today!
(Instructions and binaries coming soon—watch this space.)


🙏 Thanks for Your Feedback!

This project is driven by community ideas and real-world needs.
If you have suggestions, want to test, or just want to say hi, join us on RoseWire or open an issue!

Happy Sharing,
— The RoseWire Team 🌹

| September 1st, 2025 | Posted in Uncategorized |

Leave a Reply