| id | REF-043 | |||||
|---|---|---|---|---|---|---|
| workflow | github | |||||
| github_issue | emulebb/emulebb#99 | |||||
| title | Drop legacy Web Interface templates and keep REST as the supported controller surface | |||||
| status | OPEN | |||||
| priority | Minor | |||||
| category | refactor | |||||
| labels |
|
|||||
| milestone | post-0.7.3 | |||||
| created | 2026-05-21 | |||||
| source | upstream issue triage; user direction to drop the legacy web interface |
Workflow status is tracked in GitHub: emulebb/emulebb#99. This local document is retained as an engineering spec/evidence record.
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.
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.
- 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.
- 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.
- 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.
- 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.