Skip to content

merger - #10305

Closed
giomarc245-dev wants to merge 72 commits into
ietf-tools:fix-noscript-google-indexingfrom
giomarc245-dev:main
Closed

merger#10305
giomarc245-dev wants to merge 72 commits into
ietf-tools:fix-noscript-google-indexingfrom
giomarc245-dev:main

Conversation

@giomarc245-dev

Copy link
Copy Markdown

No description provided.

jennifer-richards and others added 30 commits October 29, 2025 12:42
* feat(agenda): Show calendar links to all the events

* test: Update playwright tests
* feat: optionally hide room-only schedule diffs

* test: update test
* feat: remove restrictions on sending incoming liaisons

* chore: remove flake and ruff imports
…-tools#9842)

* feat(meetings): Use "Decline and Delete" for slide disapprovals

Changes use of "disapprove" and "rejected" to "decline" and "declined"
when dealing with slides that have been submitted for approval.

Responds to ietf-tools#9242

* feat(meetings): Use "Decline and Delete" for slide disapprovals

Now with a fix for a test that broke owing to the original change.

Still responds to ietf-tools#9242
* Add tab for WGs. Fixes#9730.

* Update utils.py

Only add WG tabe for the IESG (not the IAB)
…etf-tools#9856)

* feat: show available sdo groups to liaison coordinators and mamagers

* fix: better typing delcaration

* fix: avoid unneeded whitespace in class declarations
* Add most recent ballot hint to History tab. Fixes#9696.

* chore: style nit

* fix: explicitly order queryset

* fix: more precise description of the revision at the time of ballot

* refactor: is None instead of == None

---------

Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
Co-authored-by: Jennifer Richards <jeni@borkbork.org>
* feat: initial otel integration

* feat: add traceparent propagation via headers and meta tag

* feat: add memcached instrumentation

* fix: add more otel service attributes

* style: Update dev/build/gunicorn.conf.py

Co-authored-by: Jennifer Richards <jennifer@staff.ietf.org>

* style: Update dev/build/gunicorn.conf.py

Co-authored-by: Jennifer Richards <jennifer@staff.ietf.org>

* style: Update dev/build/gunicorn.conf.py

Co-authored-by: Jennifer Richards <jennifer@staff.ietf.org>

* fix: Update traceparent meta tag to use otel variable

* fix: Update traceparent_id context processor to use sub-object

---------

Co-authored-by: Jennifer Richards <jennifer@staff.ietf.org>
* Add hidden YYYY-MM-DD field to sort

* Also hide for ARIA readers
* refactor: use ical for important-dates

* chore: format and cleanup

* fix: remove unwanted newline
…8 collation (ietf-tools#9836)

* Fix the ballot AD order by name

* Also fix the IESG WG dashboard

* Fix IESG milestones under review

* Better normalization by removing completely the diacritical marks

* Align comments

* Test whether areas are alphabetically sorted
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 4 to 6.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](actions/setup-node@v4...v6)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* refactor: use ical for upcoming meetings

* fix: unfold to pass tests

* fix: make material title, type and url on one line
OR13 and others added 28 commits December 19, 2025 08:38
fix: change title from 'IAB news we can use' to 'IESG Liaison News'
)

* Use latest release of yanglint, e.g. libyang3-tools.

* Remove apt-utils, since apt-key is removed.

Fixes: ietf-tools#8701

Co-authored-by: avtobiff <avtobiff@gmail.com>
Co-authored-by: Per Andersson <per@ionio.se>
* fix: adjust popup display on mobile

* fix: adjust ui spacing
…api (ietf-tools#10233)

* feat: include link to detailed submission status page for submission api

* chore: rename endpoint to submission_url

---------

Co-authored-by: nouralmaa <absnuiria@nours.page>
* feat: Add rpc_person API call

* chore: Add OpenAPI yaml for RPC API

* feat: api endpoint for docs submitted to the rpc

* chore: remove some debug

* feat: api for created demo people

* feat: optimize fetching persons

* feat: api for creating demo drafts (ietf-tools#6402)

* fix: Typo in rpcapi.yaml

* refactor: Allow existing Person in create_demo_person (ietf-tools#6398)

* fix: include pubreq docevents in demo drafts (ietf-tools#6404)

* fix: Minor API fixes (ietf-tools#6405)

* chore: Document 404 from rpcapi get_person_by_id

* feat: adding rev to demo doc creation (ietf-tools#6425)

* feat: adding rev to demo doc creation

* fix: remove attempt to control required

* refactor: Replace api token checks with decorator (ietf-tools#6434)

* feat: Add @requires_api_token decorator

* refactor: Use @requires_api_token

* refactor: Tweak api token endpoints

This might be drifting from the design intent, but at least
uses the defined endpoint values. Further cleanup may well
be needed.

* refactor: Improve usability of @requires_api_token

* feat: get_draft_by_id api call (ietf-tools#6446)

* fix: construct the cdn photo url correctly (ietf-tools#6491)

* chore: restructure the rpc api (ietf-tools#6505)

* fix: authenticate person api correctly

* chore: Fix plain_name lookup

* feat: subject_id -> Person api call (ietf-tools#6566)

* feat: subject_id -> Person api call

* doc: Add error responses to openapi spec

* feat: rpc api drafts by names (ietf-tools#6853)

* feat: get stream rfcs were first published into (ietf-tools#7814)

* feat: get stream rfcs were first published into

* chore: black

* fix: deal with the case of no DocHistory having a stream

* fix: return "none" from drafts_by_names if a draft has a stream of None (ietf-tools#7863)

* feat: API changes needed for "real" draft imports (ietf-tools#7877)

* style: black

* fix: submitted as DateTime, not Date

* fix: pk -> id in API

* feat: rpc_draft source_format

* feat: add shepherd to rpc_draft() api

* fix: "unknown" src fmt instead of error

* feat: add intended_std_level to api

* refactor: blank, not None, for shepherd / std_level

* style: black

* fix: typo in drafts_by_names() (ietf-tools#7912)

* feat: support for building rfc authors (ietf-tools#7983)

* feat: support for building rfc authors

* chore: copyrights

* feat: api to gather draft authors (ietf-tools#8126)

* feat: api to gather draft authors

* chore: black

* ci: tag feature branch release images

* chore: fix git nonsense

* feat: API for RFC metadata fetch/filtering (ietf-tools#8291)

* feat: RFC API for rfceditor website (WIP)

* feat: pagination + ordered RFC index

* feat: filter by publication date

* feat: stream + stream filtering

* feat: DOI

* feat: group/area for RFCs

* feat: group/area filtering

* feat: result sorting

* refactor: send rfc number, not name

* feat: search rfc title/abstract

* style: Black

* feat: add 'status' field

* feat: filter by 'status'

* style: remove redundant parentheses

* feat: add updated_by/obsoleted_by fields

* feat: add 'abstract' to rpc api

* chore: fix unused/duplicate imports

* chore: fix mypy lint

* chore: unused import

* feat: retrieve single rfc, including text (ietf-tools#8346)

* feat: retrieve single rfc

Use RFC number instead of doc PK as id

* feat: include text in single-rfc response

* chore: drop doc id from api response

* fix: many=True for identifiers (ietf-tools#8425)

* feat: add more rfc api fields (many stubs)

* chore: adding postscript (ps) to rfc meta serializer (ietf-tools#8560)

* fix: acknowledge not-issued in RfcStatusSlugT

* feat: Add API call to get references

* fix: Filter drafts

* chore: Optimize the data query

* test: Test for norminative references API call

* chore: Fix typos in tests

* chore: Fix typos

* refactor: Separate demo logic (ietf-tools#8937)

* refactor: Separate demo logic

* chore: Skip tests

* fix: trailing slashes for all rpc api endpoints (ietf-tools#8940)

* chore: Add RPC references API call to OpenAPI spec (ietf-tools#8941)

* chore: Remove line noise

* chore: Add RPC references API call to OpenAPI spec

* chore: Update rpcapi.yaml

Co-authored-by: Robert Sparks <rjsparks@nostrum.com>

---------

Co-authored-by: Robert Sparks <rjsparks@nostrum.com>

* fix: Fix OpenAPI spec errors (ietf-tools#8943)

* chore: Remove more line noise

* fix: Fix OpenAPI spec errors

* feat: include picture URL in rpc_person API (ietf-tools#9009)

* feat: person search endpoint (ietf-tools#9062)

* feat: person search endpoint

* refactor: address review comments

  * improved naming of operation/components in API schema
  * reused Person schema component
  * added serializers_rpc.py

* chore: RpcPersonSerializer -> PersonSerializer

Better matches the hand-written schema.

* fix: search for entire term, not word-by-word

* fix: only look at name/plain in search

Including ascii / ascii_short might be useful eventually, but since we only show plain_name in the response it can cause confusing results.

By the same reasoning we could remove email__address as well, but that's useful and I expect we'll include email addresses in our response soon anyway.

* refactor: reimplement purple API in django-rest-framework (ietf-tools#9097)

* refactor: rpc_person -> PersonViewSet

* refactor: rpc_subject_person -> SubjectPersonView

* refactor: rpc_persons -> RpcPersonsView

* refactor: move get_persons into PersonViewSet

Changes the interface to return a list of Persons instead of a map from ID to name.

* refactor: rpc_draft -> DraftViewSet

* refactor: drafts_by_names -> DraftsByNameView

* refactor: submitted_to_rpc -> DraftViewSet

* refactor: rfc_original_stream -> RfcViewSet

* refactor: rpc demo APIs -> viewset

* refactor: get_draft_refs -> DraftViewSet

* refactor: persons_by_email -> PersonViewSet

* refactor: rfc_authors -> RfcViewSet

* refactor: draft_authors -> DraftViewSet

* refactor: avoid \x00 in regex validator

Gets turned into a literal nul somewhere in the process of generating a schema and building a Python client for purple. This has the same effect but avoids the nul.

* fix: missing arg on references() action

* style: ruff, remove unused imports

* style: ruff ruff

* chore: remove rpcapi.yaml

* refactor: move API to /api/purple

Side effect is that the purple API client is named PurpleApi instead of RpcApi.

* fix: get_draft_authors returns DraftWithAuthors

* fix: distinguish CharField flavors

* fix: no serializer validators for draft name/title

This prevents at least one existing draft from being looked up.

* fix: get_draft_authors works with str, not int

* Revert "refactor: avoid \x00 in regex validator"

This reverts commit 63f40cf

* Revert "Revert "refactor: avoid \x00 in regex validator"" (ietf-tools#9111)

This reverts commit d8656f4.

* ci: only migrate blobdb if it is configured

* feat: add email/url to purple person API (ietf-tools#9127)

* feat: expose consensus in submission api

* feat: subseries api for red (ietf-tools#9556)

* refactor: central def of subseries doc types

* feat: subseries doc API

* refactor: optimize queries via prefetch

Reduced 4500 to 18 queries

* chore: remove debug

* fix: fix serialization of draft field

* refactor: clean up prefetch a bit

* feat: filter by subseries type

* fix: restore max_limit for RFC pagination

* feat: add subseries+stub titlepage_name to rfc serializer (ietf-tools#9569)

* feat: add subseries to RfcMetadataSerializer

* feat: titlepage_name for RfcAuthorSerializer

Always blank for now

* chore: update copyrights

* refactor: use py3.12 typing syntax

* fix: renumber migrations

* feat: add consensus on FullDraftSerializer

* feat: add type field in serializer

* feat: tag subseries API endpoints for purple (ietf-tools#9763)

* feat: tag subseries API endpoints for purple

* ruff

* feat: change slugs/names (ietf-tools#9778)

* change slugs/names

* change slug names

* fix: update RfcStatusSlugT

* fix: remove double tag (ietf-tools#9787)

This was meant to include the API call in both purple and red API clients.
It seems this does not work, at least with some generators.
Need to investigate further, but we should be able to work around it.

* feat: rfc authors (ietf-tools#9937)

* feat: rfc authors

* fix: distinct rfc search results

* fix: include titlepage_name in author name searches

* fix: add is_editor to rfcauthor model. Adjust FK on_delete. Tweak admin.

* fix: renumber migration

* refactor: realistic titlepage_name in factory

* refactor: comment + rename iteration var

* chore: bump copyright year

* chore: remove country from RfcAuthor

Not planning to track this

* refactor: make blank=False explicit

* chore: remove country from admin

* fix: author_list() for type=rfc

* fix: blankable RfcAuthor.person

* feat: RfcAuthor-aware document_json()

* feat: limit docs to rfcs for RfcAuthor admin

* test: document_json authors

* fix: use author_names() for get_document_emails()

* feat: suggest affiliation based on RfcAuthor

* chore: revert "remove country from RfcAuthor"

This reverts commit 3044d10.

* chore: revert "remove country from admin"

This reverts commit 2088793.

* feat: use rfcauthors for nomcom eligibility (ietf-tools#9629)

* refactor: author-based eligibility cleanup

* feat: use rfcauthor recs for nomcom eligbility

* chore: remove commented code

* refactor: factor out helper for testing

* test: test_get_qualified_author_queryset

* fix: restore a necessary import

* test: fix test_elig_by_author

* test: fix test_decorate_volunteers_with_qualifications

* test: add comment

* fix: drop test for draft-rfceditor state

Attempted to limit to drafts literally in the queue, but was not a
valid check when looking back in time. As a practical matter, the test
is not necessary.

* fix: exclude double counting, not rfc pub state

* test: update test

---------

Co-authored-by: Robert Sparks <rjsparks@nostrum.com>

* fix: renumber migrations

* feat: basic RfcAuthor API (ietf-tools#9940)

* refactor: move get_rfc_authors API URL

* refactor: drop format_suffixes from router

Creates a bunch of API endpoints we have no intention of ever using

* feat: RfcAuthor API (WIP)

* fix: remove debug code

* style: remove stray whitespace

* fix: authors API for xfer (ietf-tools#9961)

* fix: partial implementation of rfc authors()

Does not handle RfcAuthor instances where person is None yet.

* refactor: authors -> bulk_authors for URL consistency

* fix: add OpenApi param definition doc_id (ietf-tools#9962)

* fix: add OpenApi param definition doc_id

* add schema def for person_id

* feat: RFC publication API (ietf-tools#9975)

* feat: API to publish RFC (WIP)

Incomplete and in need of refactoring, but publishes an RFC.

* feat: group / formal_languages from draft

* feat: allow optional formal_languages via API

Could do the same with group, but not clear it would ever be used.

* feat: fill in overrides/updates

* feat: subseries membership

* fix: tolerate race to create related docs

* fix: wrap pub in a transaction

* feat: prevent re-publishing draft as RFC

* chore: remove stale code

* chore: remove debug

* feat: RFC file upload API (WIP)

Checkpointing progress before going further.

* feat: specify RFC, validate file exts

* feat: move uploaded files into place

* feat: add replace option

* fix: add rest of replace option

* feat: handle ad/group more consistently

* chore: remove inadvertent change

* chore: drop external_url, get note from draft

* refactor: clarify default value logic

* refactor: ID obsoletes/updates by number

* fix: handle draft-stream-editorial

* feat: split unknown vs already published draft error (ietf-tools#10011)

* feat: use RfcAuthor for red API (ietf-tools#10014)

* refactor: combine redundant serializers

* feat: edit authors via RFC update API

* fix: remove all None authors, not just first (ietf-tools#10044)

* refactor: extract update_rfcauthors() method

* feat: EditedRfcAuthorsDocEvent

* refactor: reduce RfcAuthor instance churn

* feat: create RfcAuthor edit DocEvents

* feat: handle DocumentAuthor->RfcAuthor updates

* refactor: reduce code duplication

* fix: remove leftover import

* chore: relabel titlepage_name in DocEvent desc

* feat: transaction

* chore: make RfcAuthorViewset read-only

This can perhaps go away entirely

* style: undo accidental whitespace change

* fix: actual RFC file extensions/locations + tests (ietf-tools#10131)

* chore: update list of rfc file exts

* refactor: _destination() helper

* fix: .notprepped.xml -> prerelease/ subdir

* refactor: better prefixed DRF Routers

* test: fix references API test

* test: test notify_rfc_published

* test: test upload_rfc_files

* chore: remove unused imports

* chore: remove unused imports

* chore: add a todo

* fix: find pubreq event for editorial stream

* chore: remove obsolete rpc demo API

* chore: clean up outdated comments

* feat: api key for red api (ietf-tools#10232)

* fix: avoid over-return (ietf-tools#10231)

* fix: avoid over-return

* chore: undo accidental commit

This is a separate bug fix on main; let it come in from there.

* refactor: authors() -> author_persons() (ietf-tools#10237)

* refactor: authors() -> author_persons()

* refactor: select_related() a couple more places

* refactor: update uses of Document.authors()

* chore: remove debug

* fix: typo

* fix: mypy lint and minor bugs; mypy->1.11.2 (ietf-tools#10249)

* fix: doc property authors needs refactoring (ietf-tools#10250)

* fix: doc property needs refactoring

* fix: set source for author fields

* chore: comment

* chore: fix random typo

---------

Co-authored-by: Jennifer Richards <jennifer@staff.ietf.org>

* chore: remove completed todo, add comment

* chore(dev): accept devtoken for red api

---------

Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
Co-authored-by: Matthew Holloway <matthew@staff.ietf.org>
Co-authored-by: Kesara Rathnayake <kesara@fq.nz>
Co-authored-by: Rudi Matz <rudi@staff.ietf.org>
…#10270)

* test: use bad ID with correct format

* test: use Django resolver for URL coverage

* chore: f-strings are hard
…s#10255)

* feat: rsync rfc content, store in blob, rebuild references

* fix: isolate subprocess. Guard against missing file

* fix: correct variable initialization. guard against unnecessary call

* test: mock rsync task calls

* fix: use list for typing rather than List

* fix: string formatting

* fix: generalize error string when there are no files to parse

* fix: use delete_on_close with NamedTemporaryFile

* fix: mtime is less distracting than m_time

* fix: store the notprepped file on the fs

* fix: typo

* fix: fetch json, remove unneeded unlink

* chore: ruff

* fix: use list for typing

* fix: typo

* feat: bulk load rfcs into blob storage

* fix: restrict the rsync_helper to rsync

* test: test ietf.sync.utils

* chore: honor typing choices

* test: sync task tests

* refactor: isolate the rsync from-file construction and test it

* chore: ruff

* fix: reflect current changes in older test

* fix: address incorrect test assumption

* chore: adhere to task naming conventions
* feat: set mtime for RFC pub files

* chore: add rfc storage

* refactor: destination helper is fs-specific

* feat: RFC files->blobstore in publish API

* test: test blob writing

* chore: remove completed todo comment
Needs to be earlier than ConditionalGetMiddleware or the flag
will not be set for 304 responses.
* chore(dev): disable nginx max_body_size

* chore(dev): create missing dest dir

Create the "prerelease" directory, if needed, when accepting RFC
publication files. Gated not to impact production, where this directory
should already exist.
Keeps the model in sync with mailarchive's verison
…s#10289)

* fix: restrict rfc bulkload to those with a Document object

* fix: only query Document once

* test: update test to match check for existing Document
…tools#8174. (ietf-tools#9850)

* feat: add option to email users about duplicate accounts. Fixes ietf-tools#8174.

* fix: split person merge into two views

* fix: use form for validation

* fix: update text of merge request email

* fix: update copyright date

* fix: use custom field classes in MergeRequestForm
@NGPixel NGPixel closed this Jan 22, 2026
@github-actions github-actions Bot locked as resolved and limited conversation to collaborators Jan 26, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.