Skip to content

EnvKit v0.33.0-beta.7

Choose a tag to compare

@zsnakeee zsnakeee released this 31 Aug 10:48

macOS build with a big memory and CPU fix.

The "hardware acceleration" setting is now Lite mode (on by default). It used to
force SwiftShader, which kept a GPU process rasterizing the 3D globe on the CPU — on
an idle Mac that was ~81% CPU and ~443 MB. Lite mode now disables hardware
acceleration properly, so no WebGL is loaded at all: ~0% idle CPU and ~346 MB.
Turn Lite mode off in Settings → Performance if you want the animated globe back.

Also fixed three leaks that grew for as long as the app stayed open:

  • Supervised services (nginx, mysql, php-fpm, and especially Vite/Next dev servers)
    buffered their entire stdout/stderr in memory forever. Now capped to a 64 KB tail.
  • The dashboard globe leaked a whole WebGL context every time you switched between
    light and dark theme.
  • The Logs page grew without limit while following a busy log.

Plus: the sidebar shimmer no longer animates in Lite mode or while the window is
hidden, and hiding the window now releases cached state.

Note: this build is signed but not notarized, so on first launch macOS will warn.
Right-click the app → Open, or run:
xattr -dr com.apple.quarantine /Applications/EnvKit.app

Windows is still on 0.33.0-beta.6; a Windows build of these fixes follows.


Windows

Sharing fixes for Laravel and Vite projects, plus better start diagnostics.

Sharing

  • Laravel apps generate correct URLs when shared. Trusted proxies are now configured through bootstrap/app.php, the only place Laravel 11/12 actually honours it — the previous approach was reset on every request, so shared sites produced http://localhost links and blocked assets.
  • Projects running Vite (composer run dev / npm run dev) work when shared: asset and HMR traffic is routed through the share URL instead of localhost:5173, which no visitor can reach.
  • Shares follow the selected web server's HTTPS port. On Apache with a custom SSL port the tunnel pointed at the wrong port, which showed as a Cloudflare "Bad gateway / Host Error" (#102). Sharing while the web server is stopped now fails immediately with a clear message instead of reporting the share live.
  • Local HTTPS for *.envkit.net is fixed. A certificate refresh that failed once (the file is held open by the running web server) could never recover, so share URLs kept warning; the check now reads the certificate itself. Let's Encrypt sites get a separate block for their share hostname, which that certificate could never cover.
  • Each project's Vite dev server uses its own certificate — previously every project trusted one certificate naming every site on the machine.
  • The share URL resolves immediately after going live.

Services

  • nginx no longer fails to start when its generated config files are missing (after moving the data folder, for example) — they are rebuilt automatically.
  • MySQL start failures explain themselves: an InnoDB buffer pool too large for the machine to commit names the setting to lower, and corrupted InnoDB files are reported as data corruption with the real recovery routes. A start that times out now carries the same diagnosis as one that exits.
  • nginx failures no longer show a wall of routine notices instead of the actual error, and a redis config locked by antivirus no longer aborts startup.

Dashboard and site page

  • Mailpit shows its web and SMTP ports (MongoDB, Meilisearch and MinIO too), the Port/Version columns line up, and a MySQL 8/9 install is labelled MySQL rather than MariaDB (#96, #98).
  • Settings → Paths: the Open buttons open the file itself in an editor, including the error log (#97).
  • Redesigned Share Online dialog with clear starting / live / error states, and a polished site page (keyboard-accessible tabs, grouped actions, loading skeletons).