v0.7 #290
progrium
announced in
Announcements
v0.7
#290
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Offline Sites, Console Embeds, and Much More
This is our biggest release yet! Lots of fixes and UX improvements, but also lots of new little features here and there. For example, the
/web/dlmount is a new write-only filesystem that will cause files written to it to be downloaded by the browser.There's also now an
opencommand that will let you edit files that aren't in/project, which is what the file explorer shows by default. If you useopenon a directory, it will add it as a new root in the explorer.Lots more if you read the full changelog below, but first are some details on the major improvements in this release.
Console Mode Embeds
Embedding your environment on other pages with the embed snippet code previously just meant you could embed more or less the exact editor UX of visiting the environment directly. Now you can choose if you want "Editor Mode" or "Console Mode" for your embed.
Editor Mode is the same as before, giving you the default editor experience (though now without the Apptron topbar). Console Mode gives you just the terminal, making it really easy to create interactive playgrounds for CLI programs, or just run arbitrary Wasm/Linux on any web page.
Like before, you can put a
.apptron/envrcfile in your project (which can now also be.envrcin your project), allowing you to hook into right before you get a prompt. You can use it to run commands to customize the shell at startup like a project-level.profile.You'd still get the "Welcome to Apptron" banner text with information about your session before
.envrcis run. But now you can customize this by creating a.banneror.apptron/bannerfile, which will run instead of the default banner. For example, creating an empty file will cause no banner to be shown.This all gives you full control over how the terminal session looks and is set up. You can even run different code in different contexts. For example, there is an environment variable
ENV_MODEthat is eithereditorconsole. When loaded as an embed, there will be a variable set calledENV_EMBED.Offline Public Sites
Apptron environments give you one of the fastest ways to publish a static site by just changing what's in the
/publicmount. Now by default, those static sites will work offline after visiting with no extra effort.If you have a
/public/index.html, we inject JavaScript to install a dynamic service worker that starts to cache all assets in/publicin the background. Now after visiting the homepage, the entire site will then still be accessible and load when you are offline.This is really cool and I've not seen any other platform do this, despite it being pretty low hanging fruit. Caching is always tricky, though, and the default refresh-ahead strategy used at the moment means you'll have to reload a page twice to see changes. Please try this feature to help us work these sorts of issues out.
Performance Improvements
It is an ongoing effort to maximize what we can get out of the embedded-like performance and memory constraints of Wasm and the browser. Two big improvements in this release, though both with plenty of room for further improvement, apply to network speed and environment building.
We upgraded our deployment's network gateway on Cloudflare Containers to the current max available of
standard-4and that gave us a 4x improvement in throughput. This mostly means downloading files and installing packages will be faster.We also finally integrated our copy-on-write filesystem so that changes to an environment via
envbuildare layered on top of the base system with every session. This was to make sure those environments got updates to the base system, but also turns out to make larger builds finish up to twice as fast.Changelog
Additions
consoleembedopencommand for non-project files (add open command to open non project files in vscode #230).apptronfiles as dotfiles in project root.apptron/banneror.bannerto customize shell banner?topbar=0to hide topbar/web/dlfilesystem for triggering downloadsENV_MODEenvironment variable (edit or console)Changes
Bugfixes
Full Changelog: v0.6.0...v0.7.0
As usual, we'd love you to try it out and file issues you run into. A huge thanks to our GitHub Sponsors who are now our only source of funding. Consider sponsoring to make sure we can sustainably see these projects all the way through and get that "Megazord" moment that's been 6 years in the making...
This discussion was created from the release v0.7.
Beta Was this translation helpful? Give feedback.
All reactions