Commit graph

12578 commits

Author SHA1 Message Date
Ryan Cross c5ca0ea405
fix: force choice of From address in Announcement form. Fixes #7679. (#7720) 2024-07-20 15:24:14 -07:00
Robert Sparks 60a3976c3d
Fixed 'to' to 'review_to' and 'cc' to 'review_cc'. (#7710)
Co-authored-by: Tero Kivinen <kivinen@iki.fi>
2024-07-20 15:23:56 -07:00
Robert Sparks 9783756992
Changed milestones to use RFC number if draft is published as RFC. (#7718)
Co-authored-by: Tero Kivinen <kivinen@iki.fi>
2024-07-20 15:23:32 -07:00
Jennifer Richards a86c62e133
fix: raw_id_fields for EventAdmin classes (#7711)
* fix: raw_id_fields for ReviewRequestDocEventAdmin

* fix: raw_id_fields for ReviewAssignmentDocEventAdmin

* fix: raw_id_fields for AddedMessageEventAdmin

* fix: raw_id_fields for SubmissionDocEventAdmin

* refactor: make inheritance clearer
2024-07-20 15:17:43 -07:00
Jennifer Richards c7f6bdef0a
test: test missing file 2024-07-20 13:02:32 -07:00
Jennifer Richards 0555eef13a
fix: prevent error when no file selected 2024-07-20 12:47:43 -07:00
Matthew Holloway b00dfd3c99 feat: Overflow shadows 2024-07-17 12:31:00 +12:00
Jennifer Richards 18bb793b2d
feat: add nginx, robots.txt, HTTP headers (#7683)
* feat: nginx + robots.txt

* feat: minimal /health/ endpoint

* ci: startupProbe for datatracker pod

* ci: probe auth pod; set timeoutSeconds

* feat: add CSP and other headers to nginx

* fix: typo in nginx.conf

* feat: split auth/dt nginx confs

* test: test health endpoint

* ci: auth service on port 80

We'll remove http-old (8080) in the future.

* ci: rename auth container/nginx cfg
2024-07-15 16:45:51 -05:00
Robert Sparks 17e0f573b3
fix: check correct state machine when clearing status change ballots (#7684)
* fix: check correct state machine when clearing status change ballots

Fixes #7335

* fix: Improve ballot clearing tests

* fix: look at the right state machines for defer state for a ballot

* fix: also do the right thing with conflrev defers
2024-07-15 16:33:00 -05:00
Jennifer Richards f1d58da877
feat: send doc event emails via celery (#7680)
* feat: notify_event_to_subscribers_task

* fix: avoid circular import, handle error

* fix: don't queue task in test mode

* fix: don't even send mail in test mode

* test: separately test signal

* fix: if/else error

* test: better naming

* test: test the new task

* test: better test name

* test: refactor notify email test

* fix: save, not update

* test: restore template coverage
2024-07-12 10:10:46 -05:00
Jennifer Richards b2a858c880
fix: prevent dups in DraftAliasGenerator (#7650) 2024-07-10 15:34:04 -05:00
Jennifer Richards 20f183c948
feat: update meetecho slides on approval (#7633)
* feat: update meetecho slides on approval

* test: test slide management
2024-07-10 15:33:52 -05:00
Jennifer Richards f78b050263
refactor: Streamline draft aliases api (#7607)
* chore: update add-django-cprofile-filter.patch

* fix: only use "draft" state when making aliases

* refactor: eliminate repeated get_state_slug()

On dev, reduces time for a draft-aliases api
call by by 10-15%

* refactor: only annotate inactive drafts

* refactor: de-lint

* refactor: speed up get_draft_authors_emails

Another 20% or so improvement in response time

* fix: guard against null person
2024-06-28 12:01:26 -05:00
Jennifer Richards 6a96a69234
feat: improve / clean up logging (#7591)
* refactor: always use console log handler

* refactor: json for k8s, plain otherwise

* chore: remove syslog from wsgi.py

* chore: remove debug.log()

* chore: drop syslog from settings.py

* refactor: use log.log() in person.utils

* refactor: fetch_meeting_attendance->log.log()

* chore: gunicorn logs as JSON (wip)

* feat: better json log formatting

* refactor: improve log config

* feat: gunicorn access log fields

* fix: remove type hints

The gunicorn logger plays tricks with the
LogRecord args parameter to let it have string
keys instead of being a simple tuple.
The mypy tests rightly flag this. Rather
than fighting the typing, just remove the
hints and leave a comment warning not to
use the gunicorn-specific formatter with
other loggers.
2024-06-26 14:53:05 -05:00
Robert Sparks 704f9967fd
fix: remove no longer needed htpasswd infrastructure (#7590) 2024-06-26 13:33:09 -05:00
Robert Sparks 5aacd59db0
fix: prune away unsused model and view (#7585) 2024-06-24 10:25:19 -05:00
Jennifer Richards 77f61f0f45
fix: signal rejected IPR response emails (#7584) 2024-06-24 10:22:01 -05:00
Jennifer Richards cc604a247b
fix: use system temp dir, not /a/tmp (#7581)
* chore: remove IDSUBMIT_MANUAL_STAGING_DIR

unused

* fix: use system temp dir, not /a/tmp
2024-06-21 11:34:30 -05:00
Jennifer Richards 6f4e328334
fix: remove is_secure() check (#7579)
The real work happened in a previous commit,
just nudging the patch version with this CC
message.
2024-06-21 09:50:35 -05:00
Jennifer Richards c8471d47d3
chore: remove is_secure() check (#7575) 2024-06-21 09:33:00 -05:00
Jennifer Richards 92784f9c31
feat: re-run yang checks via celery (#7558)
* refactor: yang checks -> task

* chore: add periodic task

* chore: remove run_yang_model_checks.py

* test: add tests

* refactor: populate_yang_model_dirs -> task

* chore: remove populate_yang_model_dirs.py

* chore: remove python setup from bin/daily
2024-06-18 10:42:13 -05:00
Jennifer Richards 0ac2ae12dc
refactor: don't use filesystem for group aliases (#7556)
* refactor: generate group aliases on the fly

* chore: remove group alias file check

* chore: drop group alias settings, fix lint

* refactor: rename var to hint it's ignored

* test: update tests

* refactor: move utility to utils

* test: add test

---------

Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
2024-06-18 08:28:09 -05:00
Jennifer Richards 6338f4594f
refactor: don't use filesystem for draft aliases (#7555)
* refactor: compute draft aliases on demand

n.b., very slow for full set of aliases

* refactor: simplify and cache email_aliases

The name != "" case is, as far as I can see, unused.

* chore: remove draft alias checks

* chore: remove draft alias/virtual settings

* chore: remove lint

* test: update tests

* test: better mocking

* refactor: move utility to utils

* test: add tests
2024-06-18 08:13:10 -05:00
Jennifer Richards 2a90447a45
fix: fewer ipr bounce alerts (#7553) 2024-06-17 16:57:56 -05:00
Jennifer Richards 35ab9bf4e4
refactor: adjust mail ingestion api (#7523) 2024-06-15 14:18:01 -05:00
Jennifer Richards 4e6abcbaad
refactor: make WG summary view into a task (#7529)
* feat: generate_wg_summary_files_task()

* refactor: wg summaries from filesys for view

* refactor: use new helper for charter views

* refactor: use FileResponse

* refactor: don't use FileResponse

FileResponse generates a StreamingHttpResponse
which brings with it differences I don't fully
understand, so let's stay with HttpResponse

* test: update view tests

* test: test_generate_wg_summary_files_task()

* chore: create PeriodicTask

N.B. that this makes it hourly instead of daily
2024-06-14 15:49:44 -05:00
Matthew Holloway c1f1e1b830
fix: Formatting blockquotes in datatrackers rendered markdown (#7500)
* Formatting blockquotes in datatrackers rendered markdown

* Blockquote default formatting, with overrides for legacy blockquote

* Removing unnecessary 'richtext' CSS class

---------

Co-authored-by: Matthew Holloway <Matthew Holloway>
2024-06-06 15:42:23 -05:00
Matthew Holloway 3e09c14a81
fix: Scroll metadata sidebar tab content (#7499)
* Scroll metadata sidebar tab content

* Increase spacing for scrollbars for browsers that allow overlapping

---------

Co-authored-by: Matthew Holloway <Matthew Holloway>
2024-06-06 13:38:14 -05:00
Robert Sparks c5aaab74b8
fix: mailman3 links for nonwg lists (#7507) 2024-06-06 13:11:54 -05:00
Jennifer Richards da0a217a8c
feat: use surname/initials for author name (#7510)
* feat: use surname/initials for author name

* test: test new method

* fix: handle case where author name is empty
2024-06-06 13:10:24 -05:00
Robert Sparks 2c75df3557
fix: correct links to early meeting proceedings. (#7492) 2024-06-04 12:57:08 -05:00
Robert Sparks ac3813f1af
fix: improve warnings on ballot issue view. Fixes #7490. (#7491) 2024-06-04 12:38:54 -05:00
Ryan Cross 99b852805b
fix: handle registration is_nomcom_volunteer = false correctly (#7484)
Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
2024-05-31 10:14:52 -05:00
Jennifer Richards 2ccc230ce7
feat: send_apikey_usage_emails_task() (#7486)
* feat: send_apikey_usage_emails_task

* chore: update test to use task instead of cmd

* chore: add PeriodicTask

* chore: remove old command + empty management dir

* chore: remove now-empty bin/weekly

* refactor: only consider keys that might have events

---------

Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
2024-05-30 08:31:25 -05:00
Jennifer Richards 020bdeb058
feat: purge_personal_api_key_events() task (#7485)
* feat: purge_personal_api_key_events() task

* feat: log number of events purged

* test: test new task

* fix: name task properly

* chore: create daily PeriodicTask

* chore: remove old management command

* chore: remove tests of old command

* test: finish removing now-empty tests.py
2024-05-30 08:23:49 -05:00
Jennifer Richards 1cdfd97937
fix: abort if output-dir is not a dir (#7478) 2024-05-28 13:22:27 -05:00
Robert Sparks 39d471d3ac
fix: better chatlog and polls links (#7466) 2024-05-28 10:35:29 -05:00
Jennifer Richards 08e953995a
feat: better reject null characters in forms (#7472)
* feat: subclass ModelMultipleChoiceField to reject nuls

* refactor: Use custom ModelMultipleChoiceField

* fix: handle value=None
2024-05-28 10:34:55 -05:00
Jennifer Richards 3c13db45fd
fix: validate form in login() (#7435)
* fix: validate form in login()

* refactor: custom LoginView subclass for logins

Preserves old behavior, but avoids some hacks.

* test: reverse with strings, not view refs

* chore: remove unused imports

* fix: restore logout() call
2024-05-24 16:36:58 -05:00
Jennifer Richards 1a2996e5f6
feat: expire submissions after 14 days (#7461)
* feat: expire submissions after 14 days

* test: update test_cancel_stale_submissions
2024-05-24 09:30:01 -05:00
Jennifer Richards a1a30974ea
fix: compare ext with leading '.' (#7458)
This allows an exception to be raised if submission
files are missing, leading to a server error. That's
not pretty, but is better than ignoring the fail.
2024-05-24 09:29:42 -05:00
Robert Sparks 720f31b6ba
feat: Add disclaimer banner for unadopted I-Ds and non-IETF RFCs (#6786)
* feat: Add disclaimer banners for unadopted I-Ds and non-IETF RFCs

Fixes #6539

* Fixes

* Add test

* Use BofreqFactory

* Fix disclaimer logic

* fix: Wording changes from stream owners

* fix: Only insert <wbr> when there isn't a space before or after (#6821)

* fix: Only insert <wbr> when there isn't a space before or after.

* Fix @cabo's issue

* fix: Remove debug info from template (#6897)

Fixes #6895

* fix: remove link to Warren's draft from disclaimer text (#7429)

---------

Co-authored-by: Lars Eggert <lars@eggert.org>
2024-05-23 10:55:21 -05:00
Jennifer Richards d5009ee794
feat: discourage URLs in Person names (#7453)
* feat: disallow @ and : in name/ascii

@ has long been disallowed via validation in the
views and "/" has been disallowed for the name
field via a validator. This adds @ and : to the
validator and applies it to the name, plain,
ascii, and ascii_short fields. This should
apply everywhere we use a ModelForm.

* test: update test

* chore: migration
2024-05-22 17:23:27 -05:00
Jennifer Richards 8315c665bd
feat: copy 1wg-charters files into place (#7431)
* feat: copy 1wg-charters* into other places

* test: update test

* test: test no-copy operation

* style: Black

* fix: Skip copy if dest is a non-dir

* chore: de-lint
2024-05-20 08:21:52 -05:00
Jennifer Richards a5f44dfafc
refactor: generate 1wg-charters files via celery (#7428)
* refactor: move helpers to utils.py

* feat: task to generate 1wg-charters files

* refactor: use 1wg-charter files in views

* chore: create periodic task + slight renaming

* chore: remove wgets from bin/hourly

* test: refactor tests for new task/views

* fix: fix bug uncovered by tests

* chore: remove unused imports

* fix: clean whitespace in draft titles

* fix: return verbatim bytes for charter views

* chore: remove now-empty /bin/hourly 🎉
2024-05-16 14:59:52 -05:00
Jennifer Richards ffb9eb12ff
refactor: generate I-D bibxml files via celery (#7426)
* refactor: task to generate_draft_bibxml_files

* test: test task/utility methods

* chore: add periodic task

* chore: remove generate_draft_bibxml_files.py

* chore: further prune /bin/hourly
2024-05-16 11:37:29 -05:00
Jennifer Richards d9c6ae7b7e
chore: remove syslog handler from settings.py (#7427)
System-level integration like this really needs
to be in settings_local. This was causing problems
when running in the dev environment.
2024-05-16 10:55:23 -05:00
Jennifer Richards 0d68646fdc
chore: suppress pyflakes check 2024-05-15 20:47:00 -03:00
Jennifer Richards 1c3825bdec
test: ensure logs only go to console during tests 2024-05-15 18:25:59 -03:00
Jennifer Richards 06b99fa64b
chore: remove unused import 2024-05-15 16:13:47 -03:00