Skip to content

Drop the legacy HTML Web Interface and keep REST as the supported controller surface

Summary

Retire the legacy browser-oriented HTML Web Interface rather than repairing template-specific behavior. The supported in-process controller surface remains the REST API hosted by the WebServer listener.

This explicitly supersedes small legacy-template fixes such as the eMuleAI rename-template issue and aMule's legacy web search-type gap. Those are useful evidence that the old HTML surface is brittle, not a reason to keep extending it.

Current Mainline Evidence

  • srchybrid/webinterface/eMule.tmpl still carries legacy HTML/JavaScript UI behavior, including transfer actions and search forms.
  • srchybrid/WebServer.cpp still owns legacy template rendering paths.
  • srchybrid/WebServerJson.cpp owns the supported JSON/REST command surface, including transfer rename and search start.
  • BUG-060 already established that REST must stay available when templates are absent.

Scope

  • Remove packaged legacy HTML templates and static legacy UI assets.
  • Remove or disable template-only request handlers and template-specific route assumptions.
  • Keep the WebServer listener where it is required for REST, TLS, controller compatibility, and existing /api/v1 behavior.
  • Keep qBittorrent/Arr/native REST compatibility intact.
  • Update preferences/help text so users are not promised a maintained legacy browser UI.

Non-Goals

  • Do not replace the legacy HTML UI with a new in-app web UI in this item.
  • Do not remove REST endpoints.
  • Do not broaden the REST contract except where needed to preserve supported controller behavior after the HTML UI is gone.

Upstream Signals

  • eMuleAI issue #74: legacy web rename broke due template JavaScript escaping.
  • aMule issue #293: legacy web search lacks the desktop search type selector.

Both map to surfaces eMuleBB should drop rather than polish.

Acceptance Criteria

  • [ ] Legacy HTML template UI is not shipped as a supported interface.
  • [ ] REST smoke and controller tests pass with templates absent.
  • [ ] Preferences, help, and release docs describe REST/controller support without promising legacy HTML UI maintenance.
  • [ ] Any remaining WebServer code is justified by REST/controller hosting, not template rendering.