[pull] main from ietf-tools:main - #217
Merged
Merged
Conversation
* 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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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 : )