Apologies -- my previous comment was written in Markdown and Launchpad does not 
render it, so it
came out cluttered with stray backticks and pipe characters. The detail is all 
still there if
anyone needs it; here is the same thing in plain text.

Summary

The rspamd web interface in Ubuntu 24.04 is served Bootstrap 4 while its own 
markup requires
Bootstrap 5. Nothing is wired up when you click a nav tab, so nothing happens.

This is not related to Apache, to reverse proxying, or to URL fragments. I 
reproduced it with no
proxy at all, by tunnelling straight to rspamd's own controller on port 11334.

The evidence

Upstream rspamd 3.8.1 bundles Bootstrap 5.3.2. The Ubuntu package overwrites it 
at install time.
From /var/lib/dpkg/info/rspamd.postinst:

    cp --remove-destination 
/usr/share/javascript/bootstrap4/js/bootstrap.bundle.min.js \
       /usr/share/rspamd/www/js/lib/bootstrap.bundle.min.js
    cp --remove-destination 
/usr/share/javascript/bootstrap4/css/bootstrap.min.css \
       /usr/share/rspamd/www/css/bootstrap.min.css

and debian/control has Depends: libjs-bootstrap4.

The shipped index.html, which the package does own, uses Bootstrap 5
attributes exclusively:

    grep -c data-bs-toggle /usr/share/rspamd/www/index.html   ->  10
    grep -c 'data-toggle=' /usr/share/rspamd/www/index.html   ->   0

Bootstrap 4's tab component listens for data-toggle="tab". The markup only ever 
says
data-bs-toggle="tab", so the click handler is never attached and no request is 
made. Reloading
works because stickyTabs activates the tab through the jQuery .tab("show") API, 
which Bootstrap 4
does provide. Only the click path is dead. The action icons do not render 
because the CSS is
replaced on the line above.

Why 24.04 specifically

Debian's 3.7.1-1 (October 2023) already refreshed its patches for bootstrap 
5.3.1, so the interface
has required Bootstrap 5 since then. Debian's packaging did not follow until 
3.11.0-1
(26 February 2025), whose changelog reads simply:

    Replace libjs-bootstrap4 by libjs-bootstrap5

Ubuntu 24.04 is frozen at 3.8.1, which sits inside that window. noble is
supported until 2029.

The fix

libjs-bootstrap5 5.3.1+dfsg-1 is already in noble/universe, so no new
package is needed:

  1. debian/control: Depends: libjs-bootstrap4 -> libjs-bootstrap5
  2. debian/rspamd.postinst: copy bootstrap.bundle.min.js and bootstrap.min.css 
from the
     bootstrap5 directory instead of bootstrap4

That is the change Debian already shipped, applied to 3.8.1. No upstream
code change is involved.

This also explains why the two earlier commenters found that installing rspamd 
from rspamd.com
fixes it: the vendor package brings its own Bootstrap 5 and never goes through 
this postinst.

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2065914

Title:
  rspamd webgui navigation not working ( ubuntu 24.04)

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/rspamd/+bug/2065914/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to