Skip to content

[pull] main from ietf-tools:main - #217

Merged
pull[bot] merged 3 commits into
MarcelRaschke:mainfrom
ietf-tools:main
Aug 27, 2026
Merged

[pull] main from ietf-tools:main#217
pull[bot] merged 3 commits into
MarcelRaschke:mainfrom
ietf-tools:main

Conversation

@pull

@pull pull Bot commented Aug 27, 2026

Copy link
Copy Markdown

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

jennifer-richards and others added 3 commits August 27, 2026 17:27
* refactor: limit sessions to `interim` meetings

* refactor: only fetch ietf_group if needed

* refactor: filter in db, not python

* refactor: limit meeting queries for interim views

Presumably a meeting will be no longer be pending or awaiting
announcement by a year after its date.

* chore: adjust lookback / comments

* style: ruff ruff
* perf: cap per-client concurrency on /person/ and /api/v1/

Keyed on the Cloudflare client address, with an empty key for every other
path so only these two prefixes are limited.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

* perf: query the two authorship tables separately in Person.rfcs()

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

* perf: avoid table scans and per-alias queries in lookup_persons

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

* perf: assemble the profile page's data in the view

Gathers the RFC publication dates, reference counts and replaced-draft set for
every listed person in one query each, rather than a query per table cell, and
evaluates each per-person list once instead of on every template reference.

The expired Internet-Drafts heading now counts the drafts it lists; it counted
the replaced ones the list omits. Roles with the same name sort by group
acronym instead of by whatever order the query returned.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

* perf: cache each rendered profile section

A repeat view of a profile, including the revalidation behind a conditional
request, now costs neither the queries nor the render. Sections are keyed on
person and date rather than position on the page, so the per-section element
ids move from a loop counter to the person's id.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

* test: guard the profile page's query count and section cache

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

* revert: perf: cap per-client concurrency on /person/ and /api/v1/

This reverts commit fed51f0.

* refactor: make the profile section cache lifetime a setting

PERSON_PROFILE_CACHE_SECONDS, overridable from the environment in the k8s
deployment.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

* fix: stop dating the profile page's empty-section messages

The dates claimed a precision the page does not have: sections are cached
independently, so the data behind two of them can differ by a cache lifetime
while both printed the same date. Without them nothing in a section depends on
when it was rendered, so the cache key no longer needs the date either.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
* Fix: Point to pending interims in meetings list (#11069)

* test: improve coverage

---------

Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
@pull pull Bot locked and limited conversation to collaborators Aug 27, 2026
@pull pull Bot added the ⤵️ pull label Aug 27, 2026
@pull
pull Bot merged commit 1ea0cf1 into MarcelRaschke:main Aug 27, 2026
1 of 2 checks passed
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants