Skip to content

chore(ui): remove deprecated Vue frontend#6401

Merged
otavio merged 1 commit into
masterfrom
chore/remove-vue-ui
Jun 2, 2026
Merged

chore(ui): remove deprecated Vue frontend#6401
otavio merged 1 commit into
masterfrom
chore/remove-vue-ui

Conversation

@luizhf42
Copy link
Copy Markdown
Member

@luizhf42 luizhf42 commented Jun 2, 2026

What

Removes the unmaintained Vue ui application and every reference to its Compose service across runtime routing, CI/CD, and developer tooling, leaving ui-react as the sole frontend.

Why

ui-react has reached parity and is ready to ship as the only frontend, while the Vue ui app is fully stale and no longer developed. Retiring it completes the migration and drops a second frontend that no longer earns its place in the build, CI, and gateway.

Changes

  • gateway: /v1/ now returns a 301 redirect to / instead of proxying ui:8080, so existing bookmarks of the old UI land on ui-react. This was the only place routing production traffic to the old app.
  • compose: removed the ui service from docker-compose.yml, docker-compose.dev.yml, and docker-compose.enterprise.yml, along with the gateway depends_on: ui and the ui_node_modules volume.
  • ci: removed ui from the qa.yml matrix, paths filter, and the six [UI] steps, and from the docker-build.yml / docker-publish.yml matrices. shellhubio/ui is no longer built or published.
  • devscripts: dropped the vue mode from lint-code and the ui case from test-unit (plus its now-dead npm_test helper).
  • tests: dropped the unused ServiceUI handle from the integration harness; the backend tests never consumed it and ui-react is still health-gated by the test stack.
  • config: removed the ui/ entries from .dockerignore and CODEOWNERS.
  • ui/: deleted the directory (824 files).

Dependencies

Pairs with shellhub-io/cloud#2379, which removes the matching orphaned ui overrides from the cloud Compose files. Merge the two together (or cloud first) — until then the enterprise/cloud dev stack fails Compose validation.

Testing

  • ./bin/docker-compose config -q validates for the base, dev, enterprise, and full enterprise/cloud stacks (the last with cloud#2379 checked out as the sibling repo); the merged render lists only ui-react.
  • After bringing the stack up, curl -sI http://localhost/v1/ returns 301 with Location: /.
  • Confirm no production or cloud deployment still pulls the shellhubio/ui image before tagging a release, since it is no longer published.

@luizhf42 luizhf42 requested review from a team as code owners June 2, 2026 16:36
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 2, 2026

Claude finished @luizhf42's task in 6m 52s —— View job


Code Review Complete

Reviewed 100 files across code quality, security, testing, language patterns, and architecture. 1 issue found (high severity).

Additional notes

tests/environment/ still references the removed ui service (high)

tests/environment/configurator.go:133 includes ServiceUI in the services slice:

services := []Service{ServiceGateway, ServiceAPI, ServiceSSH, ServiceUI}

ServiceUI is defined as "ui" in tests/environment/utils.go:23. After this PR removes the ui service from docker-compose.yml, the call to tcDc.ServiceContainer(ctx, "ui") at configurator.go:141 will fail — the merged compose stack (docker-compose.yml + docker-compose.test.yml) no longer defines a ui service. This will break all integration tests that use configurator.Up().

Fix: Remove ServiceUI from the services slice in configurator.go:133 and remove (or rename to ServiceUIReact) the constant in utils.go:23:

// tests/environment/utils.go — remove line 23:
//   ServiceUI      Service = "ui"

// tests/environment/configurator.go:133 — change to:
services := []Service{ServiceGateway, ServiceAPI, ServiceSSH}

Fix this →


If you've addressed the feedback and want a new review, tag @shellhub-io/admin and a team member can trigger it.

@luizhf42 luizhf42 force-pushed the chore/remove-vue-ui branch 2 times, most recently from d9906d0 to 3e14362 Compare June 2, 2026 16:52
`ui-react` has reached parity and is ready to ship as the sole
frontend, while the Vue `ui` app is fully stale and no longer
developed. Remove the app and every external reference to the `ui`
service: all compose files, the CI matrices in `qa.yml`,
`docker-build.yml`, and `docker-publish.yml`, the `vue` lint/test
modes in `devscripts`, and the `ui/` lines in `.dockerignore` and
`CODEOWNERS`.

The gateway now redirects `/v1/` to `/` with a `301` instead of
proxying the old app, so old bookmarks land on `ui-react`.

The `cloud` repo needs a matching change to drop its orphaned `ui`
overrides.
@luizhf42 luizhf42 force-pushed the chore/remove-vue-ui branch from 3e14362 to 123d19a Compare June 2, 2026 16:54
@luizhf42 luizhf42 self-assigned this Jun 2, 2026
@luizhf42
Copy link
Copy Markdown
Member Author

luizhf42 commented Jun 2, 2026

tests/environment/ still references the removed ui service (high)

Fixed. Removed the reference to the old UI service.

@gustavosbarreto
Copy link
Copy Markdown
Member

/review

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 2, 2026

Claude finished @gustavosbarreto's task in 5m 51s —— View job


Code Review Complete

Reviewed 100 files across code quality, security, testing, language patterns, and architecture — no issues found. The code looks good as-is.

The removal is thorough and internally consistent: ui service definitions, CI matrix entries, gateway routing, dev tooling, test harness constants, CODEOWNERS, and .dockerignore are all properly cleaned up. The /v1// redirect is a safe, same-origin 301 with no open-redirect risk. The cross-repo dependency on cloud#2379 is clearly documented with the correct merge-order guidance.

If you push additional changes and want a new review, tag @shellhub-io/admin and a team member can trigger it.


@otavio
Copy link
Copy Markdown
Member

otavio commented Jun 2, 2026

/review

@otavio otavio merged commit a4ed2f2 into master Jun 2, 2026
45 of 47 checks passed
@otavio otavio deleted the chore/remove-vue-ui branch June 2, 2026 17:45
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 2, 2026

Claude finished @otavio's task in 17s —— View job


Code Review — Skipped

This PR is already merged. Code review is only performed on open pull requests.

If you'd like a review of specific changes, feel free to open a new PR or comment on the relevant commit.


Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants