* fix: Use relative URL for submission status link
* refactor: Refactor/rename process_uploaded_submission async task
* feat: Add async task to process but not accept a submission
* feat: Replace upload_submission() with an async implementation (WIP)
* fix: Do not put Submission in "uploaded" state if an error occured
* refactor: Improve text/XML draft processing flow
* feat: Extract authors from text in async processing
* fix: Fix call signatures and abort submission on failed validation
* feat: Validate submission name format
* fix: Correctly validate emails from text submission
* fix: Clean up submission validation
* fix: Better display errors on upload_submission page
* feat: Reload submission status page when awaiting validation
* test: Fix call signatures; remove unused imports
* chore: Add type hint
* test: Update tests to match renamed task
* fix: Fix typo in error message
* test: Fix failing Api- and AsyncSubmissionTests
* Rename process_uploaded_submission to process_and_accept_...
* Remove outdated tests
Does not yet test new behavior.
* refactor: Break up submission_file() helper
* test: Refactor tests to run the async processing (wip)
* test: Drop test of bad PDF submission
The PDF submission field was removed, so no need to test it.
* test: Update more tests
* test: Bring back create_and_post_submission() and fix more tests
* fix: Drop to manual, don't cancel, on revision inconsistency
Fixes remaining failing SubmitTest tests
* style: Restyle upload_submission() with black
* test: Verify that async submission processing is invoked on upload
* test: Bring back old do_submission and fix tests
Properly separating the upload and async processing stages of submission
is a bigger refactoring than will fit right now. This better exercises
the submission pipeline.
* fix: Accept only XML for API submissions
* test: Test submission processing utilities
* feat: Improve status display for "validating" submissions
* chore: Remove obsolete code
* test: Update test to match amended text
---------
Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
* feat: Add group stats sunburst plots to active WG page
* Cleanups
* Sort/color areas consistently
* Move graphs to area page
* Move sunbursts
* Add test
* Move most sunbursts to modals
* Remove parametrization from URLs
* Fix test
* Make `only_active` a bool
* Reformat
* Reformat more
* fix: Prevent ADs and chairs from added to `bethere` constraint
Fixes#5163 and #3890
* Fix tests and change from "people" to "participants", to hopefully make it
clearer it's not ADs and chairs.
* Rewrap
* Update ietf/secr/sreq/forms.py
Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
---------
Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
Co-authored-by: Jennifer Richards <jennifer@painless-security.com>
Documents like
https://datatracker.ietf.org/doc/html/draft-ietf-ohai-ohttp-06 use a
tagging scheme for certain keywords that turns them into links. This
can be useful in giving people the ability to quickly jump to the
definition of an important term, but it tends to produce a lot of visual
noise. The resulting links are blue and underlined, which can be
distracting when there are lots of these links.
This change removes styling for these links. If there is an `<iref>`
tag (which renders as an empty `<span>`) immediately preceding a link
and that link is tagged `class="internal"`, link styling is removed.
These will still result in the cursor changing to a pointer, but the
blue and underlining will reduce line noise.
Note that this change depends on a corresponding change in kramdown-rfc
that reorders the generation of the iref and xref tags. The above
document will not change in appearance as a result, because that version
of kramdown-rfc generated the tags in the wrong order. A new version
generated with an updated kramdown-rfc is forthcoming.
* refactor: Simplify tests and comply with StandardJS style
Use === instead of ==, except where it's used to match both null and
undefined.
* style: further tweaks
* fix: Let charter revisions be variable length in the version paginator
Fixes#4988
* Address review comments. Also make major charter revisions bold for readability.
* chore: Remove commented-out template content
* fix: Correctly number newly added draft_form inputs on IPR edit form
* fix: Initialize select2 when adding a new field instance
* 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!
* 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: avoid readonly attribute on select element
* chore: remove now-unused CSS for select2
* test: don't ignore `readonly` on `select`
* refactor: simplify OutgoingLiaisonForm base class overrides
* 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>
Fixes#4711 i.e., allows using control-click or context menu to open items in the top right search list to open multiple documents in different tabs.
Authored by @kivinen
* fix: work around dataTransfer.getData limitation in agenda editor
* refactor: be slightly more careful checking dataTransfer type
* chore: remove debug statement
* Fix: Update timezone on the interim create page
The interim creation screen will set the timezone to the timezone of
the browser. Unfortunately, the UI element was never refreshed, so
it remained on its loaded default, thus telling the user the wrong
value.
This change adds a timezone widget refresh to the end of the function that
loads the browser's local timezone into the timezone value.
This change also adds code to update the 'Local timezone' help text
for the start time and end time input bozes to
call out the selected timezone specifically.
Fixes#3898
* Fix: Change var to const for code review
* 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: Allow searching for non-alphanumeric characters
Fixes#3675
@rjsparks, this avoids us needing to fork list.js. If you prefer a fork, let me
know.
* Add a TODO
* feat: Add opengraph information to document pages
* Apply suggestions from code review
Co-authored-by: Mark Nottingham <mnot@mnot.net>
* Add IRTF and IAB logo and make card PNGs for all
* Use the cards and restore stuff that somehow got dropped
* Try and make Twitter use the "large image" card format
Co-authored-by: Mark Nottingham <mnot@mnot.net>
* feat: Use d3 for doc dependencies
* Interim commit
* Progress
* Progress
* Auto pan and zoom
* Arrows
* Remove graphviz and the code that uses it
* More graphviz-related changes
* Interim commit
* Move things into place
* Add test
* Final touches
* Make SVG work in Chrome
* Get the docs more similarly to how the group doc page does it
* Reindent
* Add ability to download the SVG, and use bs fonts.
* Follow @rjsparks' advice on how to compute the reference list
* Interim commit
* Add legend
* Speed up simulation
* Fix tooltips
* fix: escape a period in a new url regex
Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
* 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...
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.
* 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
* 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