cleanup: remove yew-ui by testradav · Pull Request #788 · security-union/videocall-rs · GitHub
Skip to content

cleanup: remove yew-ui - #788

Merged
darioalessandro merged 6 commits into
security-union:yew-ui-removalfrom
testradav:disable-yewui
Mar 26, 2026
Merged

darioalessandro merged 6 commits into
security-union:yew-ui-removalfrom
testradav:disable-yewui

Conversation

@testradav

@testradav testradav commented Mar 25, 2026 •

Copy link
Copy Markdown
Collaborator

Remove Yew-UI

Although this PR touches +100 files, it ultimately simplifies the entire application because it removes the yew-ui + dioxus-ui coexistance. Removes thousands of lines of code. This should ultimately make the application easier to manage and digest.

76 files deleted, 18,666 lines of code removed

Workspace & Build

  • Cargo.toml — Removed yew-ui from workspace members (also auto-removed from Cargo.lock)
  • flake.nix — Renamed yew-ui/yew-ui-dev shells to frontend/frontend-dev, updated all variable names
  • Makefile — Removed yew-tests targets, updated clippy/fmt/check to use dioxus-ui
  • justfile — All yew-ui refs → dioxus-ui
  • start_dev.sh — Points to dioxus-ui/ instead of yew-ui/
  • cut_build_push_ui.sh — Removed yew build section, kept dioxus only
  • Dockerfile.dioxus & docker/Dockerfile.dioxus.dev — nix develop .#yew-ui → .#frontend

Docker/Compose/Helm

  • docker-compose.yaml — Removed yew-ui service + volumes, updated meeting-api URLs to port 3001
  • docker-compose.e2e.yaml — Removed yew-ui service + volumes, updated all URLs
  • docker/StateFile.yml — Updated image/workdir to dioxus
  • 3 Helm values files — Updated image repo to videocall-dioxus-ui, updated comments

CI/CD (6 workflows)

  • wasm-test.yaml — Removed yew-ui-component-tests job, updated nix shell reference
  • upload-ui-docker-hub.yaml — Deprecated (dioxus version already exists)
  • pr-build-images-command.yaml — Dockerfile.yew → Dockerfile.dioxus, videocall-web-ui → videocall-dioxus-ui
  • pr-build-and-deploy.yaml — Removed yew matrix entry, updated image names
  • docker-build-check.yaml — Removed yew build job and path triggers
  • cargo-test.yaml — Removed yew-ui/** from paths

E2E & Docs

  • playwright.config.ts — Removed yew project
  • wait-for-services.ts — Removed yew UI health check
  • CLAUDE.md — Removed yew-compat pattern section, updated all references
  • src-tauri/tauri.conf.json — distDir → ../dioxus-ui/dist
  • videocall-meeting-client/src/lib.rs — Updated doc comment

Removed

  1. yew-ui/ (entire directory)
  2. Dockerfile.yew
  3. docker/Dockerfile.yew.dev
  4. docker/start-yew.sh

Type of Change

  • Bug fix
  • New feature
  • Enhancement
  • Breaking change
  • Project / Infra

Testing

  • Tests written or updated
  • No tests needed

Other

  • Documentation updated
  • Before/After Images provided

@github-actions

Copy link
Copy Markdown

@testradav testradav linked an issue Mar 25, 2026 that may be closed by this pull request
@testradav testradav changed the title disable yew-ui Remove yew-ui Mar 25, 2026
@testradav testradav changed the title Remove yew-ui cleanup: remove yew-ui Mar 25, 2026
@testradav
testradav marked this pull request as ready for review March 25, 2026 17:27
@testradav

Copy link
Copy Markdown
Collaborator Author

/build-and-deploy

@github-actions

Copy link
Copy Markdown

🚀 Building images and deploying preview...

Started by @testradav

Phase 1: Building Docker images (~10-15 min)

  • Media Server (WebSocket/WebTransport)
  • Meeting API (REST backend)
  • Web UI (WASM frontend)

Phase 2: Deploying preview (~3-5 min)

  • Creating namespace preview-788
  • Deploying services

⏱️ Total time expected: ~15-20 minutes

I'll post updates in this thread as each phase completes.

View workflow run

@github-actions

Copy link
Copy Markdown

❌ Build failed

Image builds failed — deployment has been skipped. Check the workflow logs for details.

@testradav

Copy link
Copy Markdown
Collaborator Author

❌ Build failed

Image builds failed — deployment has been skipped. Check the workflow logs for details.

these failures are expected, since this PR itself removes yew

@Alena-Melnikava

Alena-Melnikava commented Mar 26, 2026 •

Copy link
Copy Markdown
Collaborator

❌ Build failed
Image builds failed — deployment has been skipped. Check the workflow logs for details.

these failures are expected, since this PR itself removes yew

When I was training deploy of online version of videocall, we discussed with Jay some repositories in /helm.
On the base of these information, I can say that repositories helm/rustlemania-ui, helm/global/us-east/rustlemania-ui and helm/global/us-east/rustlemania-ui-staging are used to deploy videocall with yew-ui. In case of dioxus-ui, the repositories helm/videocall-ui, helm/global/us-east/videocall-ui and helm/global/us-east/videocall-ui-website are used.

Therefore, I think repositories helm/rustlemania-ui, helm/global/us-east/rustlemania-ui and helm/global/us-east/rustlemania-ui-staging can be deleted and in file deploy.sh should be done some updates:

`

   rustlemania-ui)
        if [[ "$region" == "us-east" ]]; then
            echo "videocall-ui-us-east"
        fi
        ;;
    rustlemania-ui-staging)
        if [[ "$region" == "us-east" ]]; then
            echo "videocall-staging-ui-us-east"
        fi
        ;;
    videocall-website)
        if [[ "$region" == "us-east" ]]; then
            echo "videocall-website-us-east"
        fi
        ;;`

Should be replaced with
`

    videocall-ui)
        if [[ "$region" == "us-east" ]]; then
            echo "videocall-ui-us-east"
        fi
        ;;
    videocall-website)
        if [[ "$region" == "us-east" ]]; then
            echo "videocall-website-us-east"
        fi
        ;;`

I think these changes should fix problems with deployment and also code, which is used only for yew-ui, will be deleted.
But to be sure for 100%, probably, better discuss this moment also with Jay.

@testradav

Copy link
Copy Markdown
Collaborator Author

❌ Build failed
Image builds failed — deployment has been skipped. Check the workflow logs for details.

these failures are expected, since this PR itself removes yew

When I was training deploy of online version of videocall, we discussed with Jay some repositories in /helm. On the base of these information, I can say that repositories helm/rustlemania-ui, helm/global/us-east/rustlemania-ui and helm/global/us-east/rustlemania-ui-staging are used to deploy videocall with yew-ui. In case of dioxus-ui, the repositories helm/videocall-ui, helm/global/us-east/videocall-ui and helm/global/us-east/videocall-ui-website are used.

Therefore, I think repositories helm/rustlemania-ui, helm/global/us-east/rustlemania-ui and helm/global/us-east/rustlemania-ui-staging can be deleted and in file deploy.sh should be done some updates:

`

   rustlemania-ui)
        if [[ "$region" == "us-east" ]]; then
            echo "videocall-ui-us-east"
        fi
        ;;
    rustlemania-ui-staging)
        if [[ "$region" == "us-east" ]]; then
            echo "videocall-staging-ui-us-east"
        fi
        ;;
    videocall-website)
        if [[ "$region" == "us-east" ]]; then
            echo "videocall-website-us-east"
        fi
        ;;`

Should be replaced with `

    videocall-ui)
        if [[ "$region" == "us-east" ]]; then
            echo "videocall-ui-us-east"
        fi
        ;;
    videocall-website)
        if [[ "$region" == "us-east" ]]; then
            echo "videocall-website-us-east"
        fi
        ;;`

I think these changes should fix problems with deployment and also code, which is used only for yew-ui, will be deleted. But to be sure for 100%, probably, better discuss this moment also with Jay.

great catch. makes sense

@Alena-Melnikava Alena-Melnikava left a comment •

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

From my point of view everything is OK

@testradav

Copy link
Copy Markdown
Collaborator Author

/build-and-deploy

@github-actions

Copy link
Copy Markdown

🚀 Building images and deploying preview...

Started by @testradav

Phase 1: Building Docker images (~10-15 min)

  • Media Server (WebSocket/WebTransport)
  • Meeting API (REST backend)
  • Web UI (WASM frontend)

Phase 2: Deploying preview (~3-5 min)

  • Creating namespace preview-788
  • Deploying services

⏱️ Total time expected: ~15-20 minutes

I'll post updates in this thread as each phase completes.

View workflow run

@github-actions

Copy link
Copy Markdown

❌ Build failed

Image builds failed — deployment has been skipped. Check the workflow logs for details.

@testradav

Copy link
Copy Markdown
Collaborator Author

doc updated

                                                                                                                                                         
  ┌───────────────────────────────────────────┬─────────────────────────────────────────────────────────────────────────────────────────────────────────┐  
  │                   File                    │                                                 Changes                                                 │
  ├───────────────────────────────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────┤  
  │ README.md                                 │ yew-ui → dioxus-ui throughout, updated TOC anchors, config paths, test commands, tech stack, E2E        │
  │                                           │ section, Rancher Desktop note                                                                           │
  ├───────────────────────────────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────┤  
  │ ARCHITECTURE.md                           │ Web client from Yew→Dioxus, Helm chart rustlemania-ui→videocall-ui in diagram/text/commands             │  
  ├───────────────────────────────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────┤  
  │ dioxus-ui/README.md                       │ nix develop .#yew-ui → .#frontend (2 occurrences), removed stale "shared with yew-ui" references        │  
  ├───────────────────────────────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────┤
  │ MACOS_APPLE_SILICON_INSTALLATION_GUIDE.md │ Docker volume names and log commands updated from yew-ui to dioxus-ui                                   │  
  ├───────────────────────────────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────┤  
  │ docs/MEETING_API.md                       │ yew-ui → dioxus-ui in browser note and sequence diagram                                                 │
  ├───────────────────────────────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────┤  
  │ docs/PERFORMANCE_OPTIMIZATION_PLAN.md     │ Removed yew-ui file references, consolidated to dioxus-ui only                                          │
  ├───────────────────────────────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────┤  
  │ videocall-diagnostics/README.md           │ yew-ui → dioxus-ui in usage section                                                                     │
  └───────────────────────────────────────────┴─────────────────────────────────────────────────────────────────────────────────────────────────────────┘ 

@testradav

Copy link
Copy Markdown
Collaborator Author

Summary / Review

  1. Historical docs (will never affect deployment):
  • docs/DESIGN-decouple-yew.md — archived design document
  • docs/PLAN-identity-cleanup.md — planning document
  • docs/CHANGELOG-identity-cleanup.md
  • engineering-vlog/ — blog post with GitHub link
  • videocall-client/CHANGELOG.md, dioxus-ui/CHANGELOG.md — changelog entries
  1. TLS secret name (infrastructure reference, not a UI reference):
  • helm/rustlemania-webtransport/values.yaml:14 — tlsSecret: rustlemania-ui-tls — this is a Kubernetes secret name already provisioned in the cluster, not related to the UI chart
  1. No dual-UI patterns remain anywhere.

Final Report

  ┌─────────────────────────────────────────────────────────────────┬──────────────┐                               
  │                            Category                             │    Status    │
  ├─────────────────────────────────────────────────────────────────┼──────────────┤                                                                       
  │ Helm charts — videocall-ui hosts app.videocall.rs               │ PASS         │
  ├─────────────────────────────────────────────────────────────────┼──────────────┤                                                                       
  │ Helm charts — no -dx in URLs, TLS names, fullnameOverrides      │ PASS         │                                                                       
  ├─────────────────────────────────────────────────────────────────┼──────────────┤                                                                       
  │ Helm charts — meeting-api CORS/redirects single-origin          │ PASS         │                                                                       
  ├─────────────────────────────────────────────────────────────────┼──────────────┤                                                                       
  │ Helm charts — SERVICE_VERSION_URLS uses videocall-ui-us-east    │ PASS         │                               
  ├─────────────────────────────────────────────────────────────────┼──────────────┤                                                                       
  │ Docker Compose — dioxus-ui sole frontend, port 3001             │ PASS         │                               
  ├─────────────────────────────────────────────────────────────────┼──────────────┤                                                                       
  │ Dockerfiles — nix develop .#frontend, no yew files exist        │ PASS         │                               
  ├─────────────────────────────────────────────────────────────────┼──────────────┤                                                                       
  │ CI/CD — no videocall-web-ui, no yew build/test jobs             │ PASS         │                               
  ├─────────────────────────────────────────────────────────────────┼──────────────┤                                                                       
  │ CI/CD — GHCR cleanup targets videocall-dioxus-ui                │ PASS         │                               
  ├─────────────────────────────────────────────────────────────────┼──────────────┤                                                                       
  │ CI/CD — PR previews use pr${SLOT}.sandbox.videocall.rs (no -dx) │ PASS         │                               
  ├─────────────────────────────────────────────────────────────────┼──────────────┤                                                                       
  │ Deploy scripts — videocall-ui (not rustlemania-ui)              │ PASS         │                               
  ├─────────────────────────────────────────────────────────────────┼──────────────┤                                                                       
  │ E2E tests — dioxus only, no yew project                         │ PASS         │                               
  ├─────────────────────────────────────────────────────────────────┼──────────────┤                                                                       
  │ Component tests — no stale references                           │ PASS         │                               
  ├─────────────────────────────────────────────────────────────────┼──────────────┤                                                                       
  │ Documentation — all updated to dioxus-ui                        │ PASS         │                               
  ├─────────────────────────────────────────────────────────────────┼──────────────┤                                                                       
  │ Dual-UI CORS/redirect patterns                                  │ ZERO matches │
  ├─────────────────────────────────────────────────────────────────┼──────────────┤                                                                       
  │ app-dx.videocall.rs references                                  │ ZERO matches │                               
  ├─────────────────────────────────────────────────────────────────┼──────────────┤                                                                       
  │ videocall-web-ui image references                               │ ZERO matches │                               
  ├─────────────────────────────────────────────────────────────────┼──────────────┤                                                                       
  │ Dockerfile.yew / start-yew.sh                                   │ Deleted      │                               
  ├─────────────────────────────────────────────────────────────────┼──────────────┤                                                                       
  │ yew-ui/ directory                                               │ Deleted      │                               
  └─────────────────────────────────────────────────────────────────┴──────────────┘

Verdict:

Clean. Dioxus-ui is the sole frontend across all deployment, CI/CD, testing, and documentation surfaces. No dual-UI patterns remain.

@testradav

Copy link
Copy Markdown
Collaborator Author

/build-and-deploy

@github-actions

Copy link
Copy Markdown

🚀 Building images and deploying preview...

Started by @testradav

Phase 1: Building Docker images (~10-15 min)

  • Media Server (WebSocket/WebTransport)
  • Meeting API (REST backend)
  • Web UI (WASM frontend)

Phase 2: Deploying preview (~3-5 min)

  • Creating namespace preview-788
  • Deploying services

⏱️ Total time expected: ~15-20 minutes

I'll post updates in this thread as each phase completes.

View workflow run

@github-actions

Copy link
Copy Markdown

❌ Build failed

Image builds failed — deployment has been skipped. Check the workflow logs for details.

@testradav

Copy link
Copy Markdown
Collaborator Author

❌ Build failed

Image builds failed — deployment has been skipped. Check the workflow logs for details.

this will fail until the PR is merged since the workflow is changed in this PR

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

According to what I see in dioxus-UI description later in this file, https://pr${SLOT}-dx.sandbox.videocall.rs is part for dioxus, but it removed and saved part for yew-ui.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

one of the steps was to get rid of the -dx suffix

Comment thread .github/workflows/pr-deploy-reusable.yaml
Comment thread .github/workflows/pr-build-and-deploy.yaml
@Alena-Melnikava
Alena-Melnikava self-requested a review March 26, 2026 14:35
Comment thread docker/docker-compose.e2e.yaml
@darioalessandro
darioalessandro changed the base branch from main to yew-ui-removal March 26, 2026 15:24
@darioalessandro
darioalessandro merged commit 7f228c0 into security-union:yew-ui-removal Mar 26, 2026
9 checks passed
darioalessandro added a commit that referenced this pull request Mar 26, 2026
* cleanup:  remove yew-ui (#788)

* disable yew-ui

* removed yew-ui

* Removed yew-ui entirely and migrated all builds, deploys, and helm charts to dioxus-ui

* Remove "-dx" suffix from all dioxus deployment URLs to match original yew URL patterns

* tweak: Fix GHCR cleanup workflow to purge dioxus-ui PR images instead of defunct yew web-ui

* update docs to reference dioxus and remove yew references

---------

Co-authored-by: Antonio Estrada <antonio.estrada@hcl-software.com>

* fmt changes

* save

---------

Co-authored-by: Antonio Estrada <antonio.estrada@hcl.com>
Co-authored-by: Antonio Estrada <antonio.estrada@hcl-software.com>
@darioalessandro darioalessandro mentioned this pull request Mar 25, 2026
darioalessandro added a commit that referenced this pull request Mar 27, 2026
* disable yew-ui

* removed yew-ui

* Removed yew-ui entirely and migrated all builds, deploys, and helm charts to dioxus-ui

* Remove "-dx" suffix from all dioxus deployment URLs to match original yew URL patterns

* tweak: Fix GHCR cleanup workflow to purge dioxus-ui PR images instead of defunct yew web-ui

* update docs to reference dioxus and remove yew references

* cleanup:  remove yew-ui (#788) (#789)

* cleanup:  remove yew-ui (#788)

* disable yew-ui

* removed yew-ui

* Removed yew-ui entirely and migrated all builds, deploys, and helm charts to dioxus-ui

* Remove "-dx" suffix from all dioxus deployment URLs to match original yew URL patterns

* tweak: Fix GHCR cleanup workflow to purge dioxus-ui PR images instead of defunct yew web-ui

* update docs to reference dioxus and remove yew references

---------

Co-authored-by: Antonio Estrada <antonio.estrada@hcl-software.com>

* fmt changes

* save

---------

Co-authored-by: Antonio Estrada <antonio.estrada@hcl.com>
Co-authored-by: Antonio Estrada <antonio.estrada@hcl-software.com>

* remove mentions of sole ui

* pass args to docker build for dioxus

---------

Co-authored-by: Antonio Estrada <antonio.estrada@hcl-software.com>
Co-authored-by: Dario A Lencina-Talarico <darioalessandrolencina@gmail.com>
testradav pushed a commit to testradav/videocall-rs that referenced this pull request May 18, 2026
…api-nats-url

fix(deploy): add missing NATS_URL to meeting-api
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

dioxus as default front end client app; disable yew

3 participants