* refactor: Remove is_rfc() - test type_id instead
* fix: Guard against unknown pub_date
This should not ever come up - we have a published_rfc event for
every rfc. Should investigate fixing pub_date() to always return a val.
* fix: Fix friendly_state() for drafts in rfc state
* refactor: Change became-rfc to became_rfc for consistency
* refactor: Begin handling RFCs separatly in document_main
WIP
* chore: Hide reviews and conflict reviews for RFCs
* chore: Remove irrelevant fields from rfc doc view
* chore: Remove unused variables
* chore: Remove "Versions" field from document_rfc.html
* chore: Hide "Nits" button for RFC documents
* fix: Do not show "rev" column for rfc document history
* style: Reformat document_history() using Black
* refactor: Use "is not None" instead of "!= None"
* refactor: Convert dict() to dict literal
* fix: Migrate group, stream, and ad from draft to rfc Document
* feat: Link rfc/draft history pages
* refactor: Separately migrate DocAliases to rfc Documents
The gap in numbering is intentional, another migration will be along
shortly.
* feat: Migrate docevents onto rfc documents
* chore: Refining DocEvent migration (WIP)
* chore: Move IANA Action state change docevents to rfc docs
* chore: Fix typo
* refactor: Eliminate "created" rfc state
* chore: Leave "ballot set" comments on drafts
* fix: Enforce naming of charter docs in submit()
* style: Reformat submit() with Black
* refactor: Remove redundant check of charter name
* style: Reformat charter_with_milestones_txt with Black
* refactor: Drop canonical_name, use Path in charter_with_milestones_txt
* style: Reformat review_announcement_text() with Black
* style: Reformat action_announcement_text() with Black
* refactor: Change uses of charter.canonical_name() to charter.name
* refactor: Skip docialias when retrieving charter
* refactor: Change canonical_name() to name in utils_charter.py
* refactor: Use Path in read_charter_text()
* refactor: Drop canonical_name, minor refactor of tests_charter.py
* refactor: charter.name instead of canonical_name in milestones.py
* refactor: charter.name instead of canonical_name in tests_info.py
* refactor: Remove unused functions in ietf/secr/utils/groups.py
* refactor: charter.canonical_name -> charter.name in templates
* refactor: Remove charter handling from canonical_name
Temporarily raise an exception for testing
* refactor: Refactor get_charter_text() without canonical_name
* refactor: Remove raise when canonical_name called on a charter
* fix: Add back missing ".txt" extension
* test: Test rejection of invalid charter names
* fix: remove order from DocumentInfo as apparently unneeded (fixes#5245)
Fixes#5245. Includes migration, however I did not test the reverse.
* Merge branch 'main' into pr/Spectre17/5417
* chore: Renumber migrations
* Revert "Merge branch 'main' into pr/Spectre17/5417"
This reverts commit 77b4a46f84e9ece6778dec6e8127aedad71c2625.
---------
Co-authored-by: Jennifer Richards <jennifer@staff.ietf.org>
Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
* ISE may initiate conflict review
Add ISE to list of those roles who can initiate a conflict review.
* fix: improve conditional for conflict review action. Add tests.
* chore: fix comment typo
---------
Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
* fix: Do not add user to the top of queue after reject (fixes#4505)
Added a checkbox in the reject review dialog to ask whether user
wants to be added to the top of the queue or not. Default is off.
* Do not change request_assignment_next if wants_to_be_next is not True.
Set the request_assignment_next also in LeastRecentlyUsedReviewerQueuePolicy
so it can be used to override the assignment policy rules (i.e., if
someone has once per month, but he rejects review with wants_to_be_next set
to true, he will get new assignment immediately, not after one month).
* Added wants_to_be_next to test cases too.
* Fixed test function prototypes, they can't have any parameters, only
self. Added test cases for test_return_reviewer_to_rotation_top both
for RotateAlphabeticallyReviewerQueuePolicyTest and
LeastRecentlyUsedReviewerQueuePolicyTest.
* refactor: Remove all existing migrations
* refactor: Create clean set of migrations
* chore: Skip check_statetype_slugs when DB is not yet populated
* fix: Do not cache active_groups_menu on module import
* fix: Do not patch timezone awareness out of oidc-provider
* refactor: Migrate to create postgres schema, only use pgloader for data
* ci: Use migration scripts from feat/pg-migrations branch
* Revert "ci: Use migration scripts from feat/pg-migrations branch"
This reverts commit c82f64c614241ccede4865a50d494725c8a47c15.
* ci: Run check before migrate
* fix: Remove redundant migration caused by merge error
* chore: Add casts/ALTER TABLEs to eliminate pgloader errors/warnings
* chore: Change schema name to match docker image assumptions
* chore: Clear out schema so we get a clean start in case of a retry
* fix(doc): Use text badges for email status
BI's envelope icons with status icons are difficult to read.
Use text labels instead (keeping the same tooltip).
Fixes#3855.
* test(doc): Fix failing ballot message tests
Some ballot message changes have been modified to correctly identify
what type of document this ballot is for.
Works on #3855
* test(doc): Remove debugging statement
Accidental inclusion of debug statement.
Works on #3855
* refactor: remove import_audio_files() and related code
* refactor: move functions from proc_utils to meeting/utils
* refactor: remove secr/proceedings
* feat: Prefill the abstract, shepherd and AD info into a ballot writeup
* Suggestions from @rjsparks
* Remove instructions to add IANA Expert template.
* Make "notes" fields for various bodies conditioned on the doc stream
* fix: Don't show replaced, expired or otherwise abandoned docs for AD
Fixes#5153 and #2889.
* Fix filter conditions
* Update ietf/doc/views_search.py
Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
---------
Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
* fix: Use case insensitive match for group acronym in doc search
* fix: Use case insensitive match for doc.search_by_name view
* fix: Use case insensitive match for doc names in ipr.search view
* test: Test case insensitivity in doc search/search_for_name
* fix: Also extract document names from XML seriesInfo attributes
The old code only looked in the anchor string for the document names of
references, which doesn't work if the anchor uses a mnemonic. This caused lots
of missed references for many documents.
* No need to import lxml anymore
* Add tests
* Handle xinclude to bibxml URLs
* Wrap line
* Apply suggestion from @rjsparks
* Undo erroneous additions
* Address suggestion from @rjsparks
* fix: `add_links_in_new_revision_events` wasn't doing anything, remove
Whatever `add_links_in_new_revision_events` was supposed to do, it didn't do it.
The linkification of things has been happening via the `format_history_text`
template tag.
* Remove import
* feat: enable editorial stream adoption and balloting
* fix: bring tests into line with refactor
* feat: force intended_std_level to Informational when adopting into a non-ietf stream.
* fix: improve blocking position labels and email content
* fix: simplify pointer to group on doc main page for rswg docs
* fix: recover from merge typos
* fix: correct defer and clear ballot behavior
* fix: improve publication request access logic
* fix: clean up broken editorial state
* fix: adjust test to match migrations
* fix: test on postgres. post and check intended pks.
* fix: pass and check intended pks
* fix: pass intended pk
* fix: get an actually usable group type for test
* fix: use a review assignment pk instead of the review request pk
* fix: Use pks of sessions, not schedtimesessassignments
* fix: test for actual pk and do not rely on case-insensitive LIKE
* fix: test for actual pk
* chore: spelling correction: nomine -> nominee
* fix: Use the doc name matched by fuzzy_find_documents when rendering
Fixes#4855
* Follow suggestion by @rjsparks
* fix: handle names with endings that might parse as versions better
Co-authored-by: Lars Eggert <lars@eggert.org>
* 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
* 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
* feat: Use bs5 for htmlized doc (#4082)
Co-authored-by: Martin Thomson <mt@lowentropy.net>
* fix: Various fixes to HTMLized document view (#4501)
* fix: Pref labels were switched
* fix: Fix ToC for htmlized docs
* Replace datatracker button with document name link to datatracker
* ui: Make fonts even larger on larger window widths
* fix: Document format buttons open new tabs
* fix: Various suggestions from Jay
* fix: Don't show "htmlized" self-link under formats
* ui: Font size fix for iOS
* ui: More little tweaks
* feat/htmlize fixes and improvements (#4506)
* fix: Don't open htmlized view in new tab
* fix: Tests were failing
* feat: Add pref settings to cap max font size
* feat: Add ability to hide side panel
* fix: And more `feat/htmlize` fixes (#4511)
* fix: Remove superfluous scrollbars
* fix: Show email links for authors
* fix: Only show "email authors" button for latest reversion
* fix: Remove duplicate code, fix nav scrolling
* feat: Add RFCs to revision lists
* feat: Add pref option to control dependency inlining
* fix: Add analytical tags
* feat: Notify user of rendering inconsistencies
* feat: Split out bootstrap-icons when not inlining dependencies
* fix: Revision list and minor other fixes
* feat: Show stream logo when possible (#4516)
* fix: Remove superfluous scrollbars
* fix: Show email links for authors
* fix: Only show "email authors" button for latest reversion
* fix: Remove duplicate code, fix nav scrolling
* feat: Add RFCs to revision lists
* feat: Add pref option to control dependency inlining
* fix: Add analytical tags
* feat: Notify user of rendering inconsistencies
* feat: Split out bootstrap-icons when not inlining dependencies
* fix: Revision list and minor other fixes
* feat: Show stream logos when possible
* fix: Pick up CSS changes from https://github.com/martinthomson/rfc-txt-html (#4520)
* fix: Remove superfluous scrollbars
* fix: Show email links for authors
* fix: Only show "email authors" button for latest reversion
* fix: Remove duplicate code, fix nav scrolling
* feat: Add RFCs to revision lists
* feat: Add pref option to control dependency inlining
* fix: Add analytical tags
* feat: Notify user of rendering inconsistencies
* feat: Split out bootstrap-icons when not inlining dependencies
* fix: Revision list and minor other fixes
* feat: Show stream logos when possible
* fix: Pick up CSS changes from https://github.com/martinthomson/rfc-txt-html
* chore: add debug script to replicate GitHub Actions test environment
* chore: cleanup from merge of main
* fix: Fix PDFixation crash due to referencing renamed CSS asset (#4665)
* fix: Rename some CSS classes to handle recent xml2rfc changes (#4791)
* Merge main
* fix: Rename some CSS classes to handle recent xml2rfc changes
Fixes#4784.
* chore: repair merge damage
* chore: more merge corrections
* chore: one more merge correction
* fix: npm dependencies
* fix: Change default font size (#4817)
* Fix dependency issues
* Cap fontsize at 12pt by default
Co-authored-by: Nicolas Giard <github@ngpixel.com>
Co-authored-by: Lars Eggert <lars@eggert.org>
Co-authored-by: Martin Thomson <mt@lowentropy.net>
Co-authored-by: Nicolas Giard <github@ngpixel.com>
This changes the method to operate in UTC instead of server time.
The existing code was mixing UTC and server time, though, giving
timestamps purporting to be UTC but computed from the date in the
server timezone. To the extent that it matters, I think this change
is preferable to restoring the original behavior.
* fix: set tz when passing a date to timesince_days filter
* fix: fill in tz for a constructed datetime in idindex/index.py
* test: simplify double-negatives in test assertions
* test: fix I-D expiration test cases to be tz aware
* fix: use tz-aware comparisons for in_draft_expire_freeze method
* test: fix tz used for timesince_days filter test case
* test: fix tz problem in test_document_ballot() test
* test: fix tz problem in IprTests.test_notify() test
Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
* test: compare UTC dates in test_search_mail_archive()
* test: compare datetimes, not dates, in action holders test
* test: adjust test to match TZ used for IPR notification message
* test: fix timezone in date_today() calls for liaisons tests
* test: use settings.TIME_ZONE for date in nomination tests
* test: correctly use settings.TIME_ZONE instead of system time zone
* Search for escaped name in HTML output
* Need to check for `plain_name()` in sent emails
* Normalize i18n Unicode names in the same way the database does
* fix: render upcoming.ics timestamps correctly
Both correctly display timestamps in the claimed time zones and format
the date-times in correct iCalendar format.
* refactor: also render DTSTAMP using ics_date_time tag
* fix: render valid date-times in agenda.ics
* fix: render valid date-time in important_dates_for_meeting.ics
Only touching the DTSTAMP here. The DTSTART has VALUE=DATE so the tag
does not handle it.
* test: test ics_date_time tag
* fix: Don't say that IESG processing has started
Fixes#4286
* Update ietf/doc/views_draft.py
Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
* Update ietf/doc/views_draft.py
Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
* feat: apis for attaching chatlogs and polls to session materials
* fix: anticipate becoming tzaware, and improve guard against attempts to provide docs for sessions that have no official timeslot assignment.
* fix: get chatlog upload to actually work
Modifications to several initial implementation decisions.
Updates to the fixtures.
* fix: test polls upload
Refactored test to reduce duplicate code
* fix: allow api keys to be created for the new endpoints
* feat: add ability to view chatlog and polls documents. Show links in session materials.
* fix: commit new template
* fix: typo in migration signatures
* feat: add main doc page handling for polls. Improve tests.
* feat: chat log vue component + embedded vue loader
* feat: render polls using Vue
* fix: address pug syntax review comments from Nick.
* fix: repair remaining mention of chat log from copymunging
* fix: use double-quotes in html attributes
* fix: provide missing choices update migration
* test: silence html validator empty attr warnings
* test: fix test_runner config
* fix: locate session when looking at a dochistory object for polls or chatlog
Co-authored-by: Nicolas Giard <github@ngpixel.com>
Unix timestamp is defined to be UTC and fromtimetamp correctly turns
it into whatever timezone you request. In most cases, just need to
specify *something* to avoid creating naive datetimes.
* fix: return same bibxml for versioned and versionless references
Fixes#4384.
Refactors bibxml production to remove repeated logic.
Abandons the half-implemented idea that returning information
from the Submission object might be better than the Document or
DocHistory objects.
* fix: test for None with `is not` and simplify choice from multiple qs objects
Addresses review comments.
* feat: Add column sums to /doc/ad dashboard
* Tweak template a bit
* Add trend indicators when logged in as AD
* Shorten column headings more; put full heading into tooltip
* Fix trend colors; add table dividers
* Add note about trend indicators
* Wording fix
* Show which docs make up the delta if there is a trend change
* Fix missing stats
* More space before headings
* Better popover formatting
* Make popover trigger clickable, and add links to docs in the delta
* Improve trends
* Fix tests and shorten headers
* Add button to IESG dashboard to AD dashboards.
* fix: use tz-aware calculations for ad_workload view
Co-authored-by: Jennifer Richards <jennifer@painless-security.com>
* fix: use PST8PDT for published_rfc event timestamps
* fix: find RFCs by PST8PDT year in RfcFeed
* refactor: add const RPC_TZINFO to represent RFC publication timezone
* chore: remove (rather than fix) unused template tags
* fix: always return RPC_TZINFO-local date from Document.pub_date()
* refactor: convert 'published' flag to a Boolean to reflect its usage
* fix: display doc publication dates in correct time zones
* fix: fix various small issues breaking tests
* refactor: replace datetime.now with timezone.now
* refactor: migrate model fields to use timezone.now as default
* refactor: replace datetime.today with timezone.now
datetime.datetime.today() is equivalent to datetime.datetime.now(); both
return a naive datetime with the current local time.
* refactor: rephrase datetime.now(tz) as timezone.now().astimezone(tz)
This is effectively the same, but is less likely to encourage accidental
use of naive datetimes.
* refactor: revert datetime.today() change to old migrations
* refactor: change a missed datetime.now to timezone.now
* chore: renumber timezone_now migration
* chore: renumber migrations
* feat: Add new page as requested in #4242 to list all area directors
and their current workload. Include links to the specific dashboards
for each area director. This new page is in doc/ad/.
* feat: Add new page as requested in #4242 to list all area directors
and their current workload. Include links to the specific dashboards
for each area director. This new page is in doc/ad/.
* Fixed issues from the previous commit by renaming hash to get_hash.
* Making outer () to be non matching
* Fixed RFC Ed Queue Internet-Draft to RFC Ed Queue
* refactor: split the /ad view apart from the /ad/name view.
* fix: make the new template html valid.
* test: start building a test for the new view
* refactor: make the view testable and test it.
* chore: remove unneeded commented lines
* fix: avoid parenthsized-string-looks-like-tuple bug.
* fix: repair bad closing tag in template
Co-authored-by: Tero Kivinen <kivinen@iki.fi>
* refactor: avoid using select2 data-* attrs on html elements
Using "data-ajax--url" shadows explicit configuration in our
select2.js wrapper. Use "data-select2-ajax-url" to avoid this.
Also add ability to omit the ajax setup entirely by returning
None from ajax_url().
* chore: hook up a flag to disable ajax for SearchablePersonsField
* refactor: send select2 prefetch data as array and allow config of min input length
* feat: only offer IAB/IESG members for bofreq responsible leadership
* test: area directors/IAB members should be options for bofreq responsible leaders
* test: update tests to match changes to SearchableField
* fix: clean up SearchablePersonsField breakage when searching by email address
* chore: finish incomplete comment
* fix: corrects the IESG evaluation record summary statement for documents where the IESG state is approved (announced or not).
* fix: corrects IESG evaluation record summary for approved docs
This is a correction to a previous fix that didn't pass all the tests
for some documents
* fix: corrects IESG evaluation record summary for approved docs
Corrects the previous fix by removing commented out code. Sigh. At least
these are free.
* feat: Render the document shepherd writeup templates at two new URL.
Those being `/doc/shepherdwriteuptemplate/group` and
`/doc/shepherdwriteuptemplate/individual`.
* Address review comments from @jennifer-richards
* Fixes
* Remove debug statement
* Make bleach sanitizer not strip the `start` attribute of `ol` tags
Also rearrange the code a bit
* Don't sanitize the `python_markdown` output, it destroys wanted formatting
* Restore bleach
* Don't bleach tag `id`s.
* fix: Don't crash when urlreverse fails as part of urlize_ietf_docs
Also fix an HTMLization nit.
* Fix more corner cases found during test-crawl
* Handle "I-D.*"" reference-style matches
* Refactor use of bleach. Better Markdown linkification and formatting.
* Address review comment from @rjsparks
* fix: Update document shepherd writeup template based on community review
* Point to the new "content guidelines" page @JayDaley added
* Suggestion from Jane Coffin
* Also extend this to contributors
* Fix grammar nits
* Revise question 5 based on suggestions from @cabo
* fix: Update document shepherd writeup template based on community review
* Point to the new "content guidelines" page @JayDaley added
* Suggestion from Jane Coffin
* Also extend this to contributors
* Fix grammar nits
* Revise question 5 based on suggestions from @cabo
* Apply suggestions from code review
By @richsalz
* Update ietf/templates/doc/shepherd_writeup.txt
* Update ietf/templates/doc/shepherd_writeup.txt
* Update ietf/templates/doc/shepherd_writeup.txt
* Update ietf/templates/doc/shepherd_writeup.txt
* Apply suggestions from code review
* Question 12 from Brad
* Update ietf/templates/doc/shepherd_writeup.txt
* Rewrap
* Fix test
* chore: Use URL resolver more
* Use settings.IDTRACKER_BASE_URL
* More fixes
* Use URL resolver for things under /accounts
* Use URL resolver for things under /stream
* Use URL resolver for things under /iesg
* Use URL resolver for things under /meeting
* Fix bugs
* Use URL resolver for things under /help
* Use URL resolver for things under /ipr
* More changes
* Revert vnu.jar
* Fix typos
* Address review comments by @rjsparks
Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
* feat: restructure rfcedtype groups. add rpc, rswg, rsab.
* feat: show rfc editor groups on menu
* feat: add the editorial stream
* fix: repair broken html and extent dest coverage.
* chore: address Lars review comment
* chore: update copyright notices.
* Unicode messages are triggered by both db content and tests
* Make ids unique
* Avoid "No value found" message on page
* Strip HTML from history entries, it's often broken
* Check HTML sources for occurrences of "** No value found for" and fix them
* Fix another occurrence of "** No value found for"
* Fix more occurrences of "** No value found for"
* Fix document revision stripping
* Force breaks of long (garbage) words
* Check URL validity before urlizing them
* Handle some additional corner cases
* Linkify action items
* Don't create profile/email links for System
* Handle headings with HTML elements in them better
* Fix comment
* Fix another occurrence of "** No value found for"
* Better I-D URLization that handles more edge cases. Also, test for them.
* Remove print
* Handle charters better
* Cache for one day
* Update vnu.jar
* Fix py2 -> py3 issue
* Run pyupgrade
* test: Add default-jdk to images
* test: Add option to also validate HTML with vnu.jar
Since it's already installed in bin. Don't do this by default, since it
increases the time needed for tests by ~50%.
* fix: Stop the urlizer from urlizing in linkified mailto: text
* More HTML fixes
* More HTML validation fixes
* And more HTML fixes
* Fix floating badge
* Ignore unicode errors
* Only URLize docs that are existing
* Final fixes
* Don't URLize everything during test-crawl
* Feed HTML into vnu using python rather than Java to speed things up
* Allow test-crawl to start vnu on a different port
* Increase retry count to vnu. Restore batch size to 30.
* More HTML validation fixes
* Use urllib3 to make requests to vnu, since overriding requests_mock is tricky
* Undo commit of unmodified file
* Also urlize ftp links
* Fix matching of file name
* More HTML fixes
* Add `is_valid_url` filter
* weekday -> data-weekday
* urlencode URLs
* Add and use vnu_fmt_message. Bump vnu max buffer.
* Simplify doc_exists
* Don't add tab link to mail archive if the URL is invalid
* Run urlize_ietf_docs before linkify
Reduces the possibility of generating incorrect HTML
* Undo superfluous change
* Runner fixes
* Consolidate vnu message filtering into vnu_filter_message
* Correctly handle multiple persons with same name
* Minimze diff
* Fix HTML nits
* Print source snippet in vnu_fmt_message
* Only escape if there is something to escape
* Fix snippet
* Skip crufty old IPR declarations
* Only include modal when needed. Add handles.
* Fix wordwrap+linkification
* Update ietf/doc/templatetags/ietf_filters.py
* Update ietf/doc/templatetags/tests_ietf_filters.py
* Don't right-align second column
* fix: Correctly linkify all current TLDs
* Pass a list to the build_*_re functions, not a string
* Need to sort TLDs by length to force longer ones to match first
* chore: silence incorrect mypy complaint.
Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
Co-authored-by: Nicolas Giard <github@ngpixel.com>
* test: add tests of the person_link tag
* fix: do not prematurely dereference status change RelatedDocuments
The urlize_related_source_list template tag expects the RelatedDocument
instances, not the source Document.
* test: add test cases for status changes on document_main view
The old code would first substitute the "rfx<nnnn>" part, and then again
on the full draft name. This now only ever applies one substitute,
and does longer ones first.
In bs5, `.visually-hidden` is the equivalent of bs3's `.sr-only`, i.e., it's
still shown on screen readers, which is not what we want. Use `.d-none` instead,
which is the equivalent of bs3's `.hidden`.
* fix: More fixes for narrow screens
Need to keep checking for issues, there are more.
* Make columns more narrow on narrow screens
* More fixes
* More fixes
* Test fixes
* Fix more tests
* Close tbody
* ci: Also check generated HTML with the "vnu" validator
Because HTML Tidy apparently misses a bunch of errors.
* thead -> tbody
* More fixes
* More fixes
* Start checker in test runner
add search to the doc states admin form.
- Legacy-Id: 19929
Note: SVN reference [19921] has been migrated to Git commit ff05978d24f7a9c607d1dd32212e3e3f377b7e6d
Correct the url for the bibtex button. Provide a pdfized button. Fixes#3501.
- Legacy-Id: 19808
Note: SVN reference [19806] has been migrated to Git commit 7d4ea4e37a
Strip Unicode control characters out of feed content. Fixes#3398.
- Legacy-Id: 19796
Note: SVN reference [19786] has been migrated to Git commit 91c46eddae31ad298f62ccfe6a3684f1a0778f14
Add ability to import session minutes from notes.ietf.org. Mock out calls to the requests library in tests. Call markdown library through a util method. Fixes#3489.
- Legacy-Id: 19767
Note: SVN reference [19763] has been migrated to Git commit fd0df6f619
Provide pdfs of htmlized (pdfized) documents to replace tools.ietf.org/pdf/ at /doc/pdf.
- Legacy-Id: 19758
Note: SVN reference [19753] has been migrated to Git commit adbf8acb81
Provide a more direct replacement for tools.ietf.org/id at doc/id.
- Legacy-Id: 19754
Note: SVN reference [19747] has been migrated to Git commit 024cfc3f20