Workflow status is tracked in GitHub: https://github.com/emulebb/emulebb/issues/99. This local document is retained as an engineering spec/evidence record.
REF-043 - Drop legacy Web Interface templates 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.
In user-facing shorthand this is "remove the legacy web server and templates", but the implementation boundary is narrower: remove the old HTML/template web UI while keeping the WebServer listener code required for REST, HTTPS, qBit-compatible, Arr, and native controller APIs.
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.tmplstill carries legacy HTML/JavaScript UI behavior, including transfer actions and search forms.srchybrid/WebServer.cppstill owns legacy template rendering paths.srchybrid/WebServerJson.cppowns the supported JSON/REST command surface, including transfer rename and search start.BUG-060already 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/v1behavior. - 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.
- [ ] Packaged template files and template-only static assets are removed or clearly excluded from release packages.
- [ ] 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.