* Switch to using geckodriver
* Switch to selenium 4
* Undo
* Remove comment
* Fixes
* Restore non-standard line endings to minimize diff
* Undo
* Remove comment
* test: Fix test_upcoming_view_time_zone_selection
The inputs are hidden and managed by JS, so click
the visible elements instead.
* test: Clumsy fix to test_upcoming_materials_modal
Waiting for the button to be clickable does not
work because the modal is still fading in, so does
not actually close. Would be better to check for it
responding, but I haven't found the right way to do
that yet.
* test: Fix test_add_author_forms
Sending '\n' does not seem to work as it did before,
so click the option instead.
Also reverted some fixme hacks that seem to be obe.
* ci: Update base.Dockerfile
* test: add resource limits to dev/tests/debug.sh env
* ci: add upload of geckodriver.log on failure
* ci: run tests as user 1001
* ci: run app-create-dirs as sudo
* ci: set home folder to root to run tests
---------
Co-authored-by: Jennifer Richards <jennifer@staff.ietf.org>
Co-authored-by: Nicolas Giard <github@ngpixel.com>
Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
* Fix#3911 by adding a markdown filter for template
* fix: move the new markdown filter to utils
* fix: linkify after markdown
---------
Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
Co-authored-by: Jennifer Richards <jennifer@staff.ietf.org>
* refactor: Update parsers/base.py for Python3
* style: Black
* refactor: Remove mime type check from FileParser
* refactor: Validate that submission is UTF-8
The mime check distinguished us-ascii from UTF-8,
but as far as I can tell the code relying on it
treated both as equally valid.
* feat: Clear error when file is not valid XML
* chore: Remove unused import
* test: Update tests to match changes
* fix: Count bytes starting from 1
* test: Add tests of FileParser validations
* fix: Fix / simplify regexp
* test: Test error caused by bad XML submission
---------
Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
* 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.
* refactor: Split up get_creation_date to ease testing
* test: Add tests of parse_creation_date()
Note change in expected output when date_elt is None:
instead of returning None, this expects today's date.
* fix: Return today instead of None when date is absent
* fix: Handle empty string for day attribute
* test: Check a couple more parse_creation_date cases
* fix: Revert to returning None when date elt is absent
* style: black
* feat: import IAB minutes from the IAB wordpress site
Work in Progress
* fix: refactor as management commands
* fix: use datetime.timezone.utc for comparisons
* fix: coerce an argument. Command now runs
* chore: extend queryset in a better way
* fix: fetch kesara's repo and move files into place.
* fix: add a DocEvent explaining where the Documents came from
* fix: small optimizations and typo fixes
* fix: performance compromise for very old meetings
* fix: ensure variable is initialized
* fix: avoid operating on null by changing method signature - address review comments
* fix: repair html typo and address pyflake complaint
* chore: run black on a new and changed things
* feat: Subclass PyMemcacheCache to tolerate too-large object errors
* fix: Use LenientMemcacheCache to prevent search errors
* fix: Re-raise errors other than "object too large"
* refactor: Eliminate _construct_creation_date helper
* fix: Use xml2rfc method for filling in missing date fields
* fix: Set options.date for xml2rfc writers
* test: Test handling of missing date element/fields
* fix: Accept a Path as source for a PlaintextDraft
* fix: Guard against failure to extract PlaintextDraft title
* fix: Ignore failure to extract text draft title unless it is needed
* Specific email subject + requester/secretary in cc
* Send the deadline in the subject
* Use unicode rather than ASCII for reviewer's name
* More log info in the test
* Fix the closing parenthesis
* Fix the email test when review is assigned
* chore: address review comment
---------
Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
* 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
* test: More carefully test event syntax in ical file
* test: Test agenda.ics view with all meeting sessions
* fix: Render complete iCalendar event when show_location is False
* chore: Fix confusing comment
* feat: insensitive username matching at django authentication
* feat: use iexact when using the User object manager
* fix: more places to ignore username case
* fix: remove unused management command
* fix: avoid get when probing for object existance
* fix: force lowercase new usernames in secr/rolodex
* fix: use explicit arguments when creating user
* 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: Need to linkify during Markdown rendering
* Don't depend on mdx_linkify
* Also linkify IETF docs as part of the Markdown conversion
* Add test case
* Disable automatic links via angle brackets for email addresses
* Inline the markdown test files
* 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
* chore: remove the effectively unused DATABASE_TEST_OPTIONS setting
* fix: simplify default settings_local so that db-include-fix.py is not needed in CI
* fix: simplify migrations in db-pg-migrate.sh
* 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
* Handle single-word author names
* Some i18n names, e.g., "शिला के.सी." have a dot at the end that is
also part of the ASCII, e.g., "Shilaa Kesii." That trailing dot breaks
extract_authors(). Avoid this issue by stripping the dot from the
ASCII.
* Honorifics need to be part of the extracted ASCII name (e.g., "Lady Garcia")
* feat: stop supporting pre-tzaware migration database dumps. (#4782)
* feat: stop supporting pre-tzaware migration database dumps.
* chore: remove unnecessary env variable
* chore: Use `codespell` to fix typos in comments. (#4794)
First part of replacement of #4651
* feat: Only show IPR search form when not showing search results (#4793)
* feat: Only show IPR search form when not showing search results
Put it into a collapsible that is only expanded by default when not
showing search results.
Fixes#4569
* Don't use example target name
* fix: Don't show reorder UI fixtures unless user can reorder (#4785)
Fixes#4773
Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
* chore: Update deps and fix resulting HTML validation issues (#4790)
* ci: add missing build matrix config for test-playwright-legacy step
* Single-letter last names exist (e.g., "Carolina de la O")
* Align regex with others
* Fix extraction of very long author names
* Need to be more general
* Add comment
* Also handle i18n names with trailing semicolons
* Name suffixes need to be part of the extracted author names
* Handle i18n names with embedded commas
Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
Co-authored-by: Nicolas Giard <github@ngpixel.com>
* 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>
* feat: move to postgresql
* fix: repair fractional replace statement
* fix: use pathlib to manipulate settings_local
Co-authored-by: Jennifer Richards <jennifer@painless-security.com>
* fix: do two string replacements, not one followed by another that throws away the first.
Co-authored-by: Jennifer Richards <jennifer@painless-security.com>
* fix: use pathlib again to manipulate settings_local
Co-authored-by: Jennifer Richards <jennifer@painless-security.com>
* fix: properly use assert (1/2)
Co-authored-by: Jennifer Richards <jennifer@painless-security.com>
* fix: properly use assert (2/2)
Co-authored-by: Jennifer Richards <jennifer@painless-security.com>
Co-authored-by: Jennifer Richards <jennifer@painless-security.com>
* ci: move HTML validation out of teardown so all failures are caught
Failures in the last batch were suppressed by the original implementation.
* test: rename template validation "test" so it is not auto-discovered
* test: run all HTML validation in a single batch at the end
Adds ~50 MB peak RAM usage during a full test run.
* test: refactor validation to collect failures of all kinds before exit
* test: avoid local times near midnight for test_past_swap_days_buttons()
* test: use timezone_options variable consistently
* test: add test of timezone_not_near_midnight() method
* fix: ensure that timezone_not_near_midnight() always exits