To boldly go
where no terminal
has gone before
This is a big version, on of the biggest we’ve ever released. Version 1.7 added Android support and 1.8 adds a Web version. It is packaged as a Progressive Web App and can be installed from chrome’s toolbar. Naturally, it doesn’t support SSH, only WebRTC. I use it on my desktop to work on the localhost making the transition to/from the iPad seamless. When at home I use Terminal7 on the large screen and mechanical keyboard.
Greetings Terminal7 users, I am excited to introduce you to Version 1.6 of Terminal7, the terminal designed for the tablet age. With this latest release, we make the SSH version free as its been since the PuTTY days. One of the major updates in Version 1.6 is the division of Terminal7 into two distinct versions: a free version and an online service. The free version, which is now available in the App Store, supports only SSH connections.
WebRTC is a weird protocol. It’s a monster made from over 30 RFCs that can carry real time video, audio and data. Still, it can’t establish a connection on its own. It counts on the app to provide a singaling service that passes ICE candidates between the peers. In a WebRTC apps, ICE is used to discover the best path for sending data between the two parties. This process involves gathering a list of candidate IP addresses and ports, and then trying each one in turn until a successful connection is made.
Hope this version finds you well. We’ve added two new big features and a few bug fixes. The version requires webexec upgrade so make sure your server are running webexec =>0.17.10. WebRTC signalling over SSH This one came from Rob and it’s about streamlining security by trickling ICE over SSH. Trickle ICE is the fastest way for two WebRTC peers to find each others. To support it we’ve added a new type of session, a hybrid one.
It’s been a busy summer for us, coding all of 1.0 features and revamping the U[IX]. Adi helped draw a terminal map to replace the home page while Eyal has been busy developing a form system for your input. The forms use a special terminal - TWR - which is also used for notifications. We tried to keep the interface simple and intuitive but There are still a few bugs and glitches to iron out.
As we’re getting closer to 1.0, the rate of change accelerates. Thanks to Eyal, our summer intern, and the code he contributed 0.21 is much sleeker. He completed revamped search in pane and copy-mode. The latter now support repetition factor and all the keys I frequently use. To enter copy mode use Cmd-[ or Cmd-f if you want to search. If any keys are missing please open an issue. Eyal also revamped our forms and rebased them for a terminal interface.
Exciting news! We’re back on iPad’s testflight with a faster version that can run over SSH. In iPadOS 15.4, Apple solved the WebGL bug that was crippling many hybrid apps and frameworks. Terminal7 was no exception. The bug forced us to go back to “dom mode”, where rendering was slow and buggy. Praise be the gods as this is now in the past - I’ve been using WebGL power for the past couple of weeks, and it’s very fast.
TL;DR: I’ve been taken for another round on the javascipt merry go around. Spring is here and so is the yak shaving season. It started a few weeks ago when the weather was still foul, I realized Terminal7 needs deep refactoring. It needs to support plain SSH and a few other communication paths: full ssh: all communication is over ssh webexec over ssh: signaling is over ssh, all the rest over WebRTC (mosh’s way) peerbook.
This is a big one. For starters, it’s released as a progressive web app, allowing you to install Terminala7 wherever there’s a chrome browser. More features include: A one-line-installer for webexec A systemd service to run on boot TURN service to cover all networks Supporting select-and-copy It’s also the last version to be released as an iPad app. We’ve made the decision because of three incidents that drove us up the wall:
This version is a quickfix, restoring touch support. I’m sorry, but this bug slipped though my keyboard-bound fingers, losing all gesture input. I hope no screens were damaged and no fingers bruised in failed splits. The bug resulted from an explosive combination of a new xtermjs, a bit of codelong overdue for refactor and me slacking on my job as release manager. Minor versions should tested by a human. With v0.