(My first post)
As has been observed, the Ubuntu 24.04 LTS packaging for native Mailman3 can be challenging. I've been solving all kinds of issues, and I'm writing here about something I've so far been unable to solve.
The problem: *In Postorius, dropdown menus are not working*. I.e., as a list admin you can click on a menu option like "Users" or "Mass operations," and nothing happens. As a regular user, the top-right icon to manage settings and logout does not do anything.
The same behavior occurs regardless of which browser I use. The dropdown in HyperKitty works, and HyperKitty uses a different code base.
In the browser developer console (Firefox & others), the error is: “Uncaught TypeError: n.createPopper is not a function.”
I've dug deeply into this. The relevant <script> is bootstrap.min.js. Postorius (via django) is using version 5.3.1 via package libjs-bootstrap5:
** This is what django is using: /usr/share/bootstrap-html/js/bootstrap.bundle.min.js -- version 5.3.1, linked to: /usr/share/javascript/bootstrap5/js/bootstrap.bundle.min.js
/usr/share/python3-django-postorius/static/postorius/libs/bootstrap/js/bootstrap.bundle.min.js
Here is detail of the error from the Firefox developer console: Uncaught TypeError: n.createPopper is not a function _createPopper dropdown.js:241 show dropdown.js:139 toggle dropdown.js:121 <anonymous> dropdown.js:446 i event-handler.js:118 R event-handler.js:184 on event-handler.js:216 <anonymous> dropdown.js:444 <anonymous> bootstrap.bundle.min.js:6 <anonymous> bootstrap.bundle.min.js:6
By temporarily replacing /usr/share/python3-django-postorius/static/postorius/libs/bootstrap/js/bootstrap.bundle.min.js I have tried moving back to 4.6.1 (from libjs-bootstrap4). I have also retrieved the latest 5.3.1 from the CDN, which is slightly different but doesn't change the error: https://cdn.jsdelivr.net/npm/bootstrap@5.3.1/dist/js/bootstrap.bundle.min.js
Here's the JavaScript section from the bottom of a sample page from my Postorius site (view-source: https://lists.ogf.org/mailman3/postorius/lists/gfsg.lists.ogf.org/held_messa... ):
<script
src="/mailman3/static/postorius/libs/jquery/jquery-3.6.0.min.js"></script> <script src="/mailman3/static/postorius/libs/bootstrap/js/bootstrap.bundle.min.js"></script> <script src="/mailman3/static/django-mailman3/js/main.js"></script> <script src="/mailman3/static/postorius/js/script.js" defer></script> <script> // Add the .js-enabled class to the body so we can style the elements // depending on whether Javascript is enabled. $(document).ready(function(){ $("body").addClass("js-enabled"); $(".gravatar").addClass("rounded-circle"); }); </script>
I would appreciate suggestions about how to solve this problem.
Thanks to everyone who is doing a great job building and supporting Mailman3. I've been using Mailman2 for a long time, and have dozens of lists on multiple servers.
~ Greg Newby