Skip to content

Releases: WebSummoner/websummoner-ui

Release list

1.0.0

Choose a tag to compare

@GhaziTriki GhaziTriki released this 03 Sep 02:30

🖥️ websummoner-ui 1.0.0

The session UI for WebSummoner: live browser screen over VNC, streaming logs, queue and usage statistics, for one hub or a whole cluster behind ggr-ui.

⚠️ Breaking

  • Module path is github.com/websummoner/websummoner-ui. That is the only breaking change: the flag is now --websummoner-uri, and --selenoid-uri is still accepted as an alias, so existing command lines and Compose files keep working. cm websummoner-ui start passes the new flag.

🎨 The front end, rebuilt

  • React 16 → 19, react-scripts 3.4.1 (2020) → 5.0.1, React Router 5 → 7, react-select 3 → 5, styled-components 5 → 6, RxJS 6 → 7 (rxjs-compat removed), noVNC 1.1 → 1.7, xterm 4 → @xterm/xterm 6. Node 24 or newer.
  • One theme file. Every colour, space and radius comes from theme.js, which styled-components import directly and which is also published as CSS custom properties for plain stylesheets. A cool-ink dark base with the amber and coral brand accents — deliberately no blue.
  • Official browser logos for Chrome, Firefox, Edge, Opera, Brave, Yandex and Safari, embedded, instead of the invented marks.
  • Live session and queue statistics in a dedicated stats container.
  • Honest connection state. The UI no longer reports the grid as down while the SSE connection is still being established.
  • Session deletion stays in the "deleting" state until the hub's stream removes the row; a 200 only means the hub accepted the request, and the container teardown can take several more seconds. Only a failure clears the flag, so the user sees the error and can retry.
  • Tests for nearly every component and container, with coverage reported.
  • npm overrides pin patched versions of vulnerable transitive packages (nth-check, svgo, serialize-javascript, qs, uuid, underscore, resolve-url-loader). Husky and pretty-quick are gone; Prettier 3 with the ESLint plugin replaces them.

⚙️ The Go backend

  • The SSE broker and tick loop now live in this repository (sse/), removing the dependency on the archived aerokube/util module.
  • The WebSocket upgrader is built once at start-up; mutating the proxy's default upgrader per request was a data race. Allowed origins are trimmed.
  • --selenoid-uri is bound to the same variable as --websummoner-uri, so either spelling works and the last one given wins.
  • Go 1.27; gorilla/websocket 1.5.3; x/crypto 0.55; x/net 0.58.
  • Unchecked errors and the unbuffered signal channel fixed; golangci-lint passes with the full default set.

🏗️ Image and CI

  • Image websummoner/websummoner-ui, still FROM scratch, now ships a health-check binary with a HEALTHCHECK and the licence notices of the UI bundle and the Go modules.
  • Release binaries for linux amd64/arm64, darwin amd64/arm64 and windows amd64/arm64/386.
  • Build, test, lint, docs and release workflows; Codecov and DeepSource; Dependabot; a Starlight documentation site at websummoner.riadvice.com/websummoner-ui.

Part of WebSummoner 1.0.0 · 📖 Documentation · 💬 Discussions

WebSummoner is developed and maintained by RIADVICE under Apache-2.0. It builds on Selenoid by Aerokube and Ivan Krutov, and on the original UI by Kirill Merkushev.