* fix: set vite base path during deploy build + allow google fonts
* ci: only set vite base path if build is for production release
* test: add html-validate ignore rules for vite generated content that is valid
* fix: show buttons on regular sessions without agenda materials + link to legacy agenda
* fix: temporarily hide left menu on agenda-neue and floor-plan-neue
* fix: set resize handler to whole app
* fix: apply html-validate ignore to agenda-neue only + deploy/build.sh fix
* test: change old agenda cypress to always take the same elements to avoid #3564
* chore: Update deps
There are these yarn messages, which I don't understand, but @NGPixel may.
```
➤ YN0000: ┌ Resolution step
➤ YN0060: │ @parcel/optimizer-image@npm:2.6.2 provides @parcel/core (pec760) with version 2.5.0, which doesn't satisfy what @parcel/workers requests
➤ YN0060: │ @parcel/types@npm:2.6.2 provides @parcel/core (p1835f) with version 2.5.0, which doesn't satisfy what @parcel/fs requests
➤ YN0060: │ @parcel/types@npm:2.6.2 provides @parcel/core (p40766) with version 2.5.0, which doesn't satisfy what @parcel/workers requests
➤ YN0060: │ @parcel/types@npm:2.6.2 provides @parcel/core (p60182) with version 2.5.0, which doesn't satisfy what @parcel/cache requests
➤ YN0060: │ @parcel/types@npm:2.6.2 provides @parcel/core (pe24cb) with version 2.5.0, which doesn't satisfy what @parcel/package-manager requests
➤ YN0000: │ Some peer dependencies are incorrectly met; run yarn explain peer-requirements <hash> for details, where <hash> is the six-letter p-prefixed code
➤ YN0000: └ Completed
```
* Use .yarnrc.yml from @NGPixel
* Fix tests.
I have no idea why they started failing, the both the js code and the tests have
not changed in months...
* fix: Add popup to explain colors for liaisons needing action
Also fix the search field styling while I'm here.
* Also fix some other field styling issues while I am here
* 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
* feat: isolate py27 code interfacing with mailman from py39 code interfacing with django.
* fix: improve memory footprint and remove unneeded import.
* fix: make new bin command executable.
* feat: show session requests for all "has_meetings" groups
* test: test changes to groups whose session requests are shown
Note the change in capitalization for the 'active' group state fixes
the test but does not seem to affect production (which I guess uses
case insensitive matching?)
* test: remove leftover debug statement
* feature: exclude admin/social sessions from meeting requests view
* test: test exclusion of admin/social sessions from meeting requests view
* feat: group all non-area groups as "other" on meeting requests page
* fix: prevent doubling of first section header
* test: verify that more of the sreqs are / are not linked
* chore: remove more tools.ietf.org server only related things.
* chore: remove use of tools.ietf.org floorplans\n\nThe data will move into the FloorPlan models instead.
* 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>
* fix: only use non-empty Q object as interim group filter
* refactor: add with_meetings queryset to GroupManager
* test: users can only request interims for managed groups
* fix: find managed groups from groupman_roles/authroles
* feat: let chair manage directorate groups
* test: remove debug statements and unused imports
* test: remove do-nothing code from test
* feat: add pronouns
* fix: include migrations
* fix: correct daggers on person form.
* fix: clean pronouns
* feat: add choices to pronouns
* feat: show pronouns on public profile
* feat: add pronouns to oidc userinfo
* fix: move pronouns to new claim. Add tests.
* fix: improve html generated by new widget
* feat: use a MultiWidget for pronouns
* refactor: use two fields on Person for the two types of pronoun entry.
* chore: update copyrights
This makes (more) sure the table sort chevron doesn't wrap, by removing trailing
whitespace from table headers.
It also fixes various whitespace nits related to buttonlists.
* feat: add model to track session attendance
* feat: add model to track session attendance
* feat: add api to set session attendees
* fix: use user pk instead off person pk in the attended api.
* feat: calculate three of five from attended
* feat: management utility to populate Attended model history
* docs: document why nomcom calculations don't use Attended yet.
* fix: add migration to add new personalapikey endpoint to choices
* test: verify very old last login prevents api key use,
* chore: address review nits
* chore: comment on some idiosyncracies of the expected input to populate_attended
* fix: add unique_together constraint for the Attended model
* fix: correctly handle empty querysets passed to three_of_five_eligible functions.
* Registration API Update
- change MeetingRegistration.reg_type field to hold only one type
- allow multiple MeetingRegistration records per person/meeting
(one for each reg_type)
* Fix scope claims
* Add meeting 114 to MeetingRegistration migration
* fix: update stats views for MeetingRegistration model use changes
* refactor: remove unused imports
* fix: Fix some HTML validation errors that came in via #4035
Also make validation errors display a bit better.
* content -> color for mask-icon (caught by @jennifer-richards; thanks)
* fix: Correctly scroll to URL fragment after augmenting tables
* feat: Only add search field to longer tables
* Tweak vertical whitespace around search field
Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
* chore: Replace flot with highcharts
Since flot hasn't been updated since 2014 and was only used in one
place. Simplify how highcharts is initialized and used, and re-enable
pre-bs5 export functionality.
* Fix tests
* Remove some console.log statements
* feat: Switch to SVG logo; use it (and new bitmaps) in more places
* Run images through image_optim
* Copy icons from base template
* Tint icons red when in dev mode
* fix: Make AD position colors more noticeable
Also remove the striping of the table, which makes it easier to notice which
documents are missing a ballot.
* Make "yes" a bit darker
* Stripe the table for non-ADs
* 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.
* Fix: Tweak the horrible code in SearchableField so another corner case works
Fixes#3940. Hopefully doesn't break anything.
* fix: remove incorrect remaining loop.
Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
* fix: Debounce the scroll event, to make Chrome happy
* Address review comments
* fix: Prevent overscrolling from scrolling the main content
Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
* fix: Avoid numeric IDs on NomCom pages
* fix: Correctly group last names with lowercase/i18n parts
* Remove some unneeded CSS
* fix: Remove extra div closing tag
* fix: import moment.js library with moment-timezone support in wrapper
Packaging changes broke the mechanism used to make moment.tz available
to javascript code. This eliminates the separate moment.js and
moment-timezone-with-data-10-year-range.js wrappers and instead
imports the timezone-augmented version directly. This provides both
the timezone support and the regular moment features.
* refactor: put moment on window instead of global for consistency
* fix: use DST-friendly tz calculation for TimeSlot end times
Around DST changes, localize(time + duration).astimezone() is not
the same as localize(time).astimezone() + duration. The latter allows
tz-aware times to do their magic and give correct clock times.
* fix: refactor/correct calculation of week-view event start/end times
There were bugs in the timestamp calculations around DST switchover.
This corrects those and tries to clarify and improve documentation in
the relevant code.
* 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
* feat: Make the "report a bug" links more visible
Also rework the page footer somewhat, while we're here.
* Revert empty change
Co-authored-by: Nicolas Giard <github@ngpixel.com>
* 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
They seem to be one of the only bs5 elements that do not by default wrap, which
causes display issues on narrow screens when there are lots of page elements,
e.g., on http://127.0.0.1:8000/doc/draft-ietf-ipwave-vehicular-networking/
Adding `flex-wrap` (per https://github.com/twbs/bootstrap/issues/23504) makes
this better, but unfortunately doesn't fix it completely, because the layout
still jumps when the window is narrowed by the used. It does fix the issue on
first load and after a reload though.
Also rewrites scroll_to_element() using javascript. This seems to be less flaky
than the ActionChains implementation. Slight change in behavior - now scrolls
the requested element to the middle of the window instead of barely into 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.
* fix: Remove extra whitespace around parentheses
* fix: Make heading capitalization consistent, colorize a "No"
* fix: Pagination element, spacing, replace text with icon
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: align nav links to top of RH panel
* fix: allow timezone picker to wrap
* fix: improve RH panel behavior at small viewport sizes
* drop card styling
* use `btn-group-sm` for compact timezone picker
* limit overall height of #righthand-panel
* remove redundant CSS merge artifact
This adds a POST action to the edit_meeting_schedule view that sets a list
of currently visible timeslot types in the user's session. On display of
the schedule editor, this is consulted before defaulting to show only 'regular'
timeslots. An ajax request is made to update the session when changing the
settings in the editor.
* style: reformat manage-review-requests.js as StandardJS style
* refactor: use switch statement instead of if/else-if/else
* style: remove needless line break
* fix: fix jquery selectors to be less fragile and easier to read
* fix: clean up bs5 HTML/CSS for review request buttons
* fix: show "Edit materials" button for all groups for a secretariat user
Fixes ietf-tools#3763
* fix: show "import minutes" button to import initial revision
* test: validate that import session minutes buttons are shown
* test: validate that "Edit materials" links are shown