* fix: Fix layout issue in ballot modals on narrow screens
Fixes#4902
* Also apply change to old positions
* Fix tests
* Use badge to indicate former ADs
* feat: Diff arbitrary versions from new HTMLization page
Fixes#4859
* Rework this based on @rjsparks' suggestion. Not quite done yet.
* Progress
* Fix HTML
* Don't show compare buttons if there aren't at least two versions
* Remove spurious title attribute
* Use and style select2 for the version diff dropdowns
* Roll in code review suggestions
* Some tests!
* refactor: add guards/type hints to build_file_urls()
* fix: compare doc.type_id, not doc.type, with string value
* test: add cursory test of build_file_urls()
* feat: validate the document notify field
* chore: fix spelling in comment
* feat: be more explicit in notify validation, preserving input order.
* fix: restrict notify duplicate check to nameaddrs. Add tests.
* fix: Allow more email addresses in notification lists
Fixes#4736
* Do what @rjsparks suggested
* Number migration
* Number migration
* Fix tests and apply for all doc types
* With bs 5.2.3, no need to rewrite dots in ids and hrefs.
* Remove leftover console.log().
* Inherit color for <code>
* Don't wrap boilerplate URLs; makes it look more like text version.
* chore: Use codespell to fix typos in code.
Second part of replacement of #4651
@rjsparks, I probably need to revert some things here, and I also
still need to add that new migration - how do I do that?
* Revert migrations
* Migrate "Whitelisted" to "Allowlisted"
* TEST_COVERAGE_MASTER_FILE -> TEST_COVERAGE_MAIN_FILE
* Fix permissions
* Add suggestions from @jennifer-richards
* fix: init time inputs in correct tz when editing an interim request
* test: add test
* test: fix old tests that relied on mixing dates, times, and datetimes
* feat: add 'IETF Meetings' filter to upcoming meetings page
* feat: apply 'ietf-meetings' filter to upcoming.ics
* fix: also filter upcoming IETF meetings in the graphical calendar
* test: update tests to match changes
Includes fixing an error in test_upcoming_view_filter_hide_type().
Due to a copy/paste error, it claimed to be testing with a type
both shown and hidden but was not actually hiding a type at all.