Skip to content

perf(gitexport): share URL path prefetching - #22478

Merged
nijel merged 1 commit into
mainfrom
gitexport
Oct 31, 2026
Merged

nijel merged 1 commit into
mainfrom
gitexport

Conversation

@nijel

@nijel nijel commented Oct 30, 2026

Copy link
Copy Markdown
Member

Prefetch project and category paths in the shared component updater so project saves avoid repeated ancestor queries, matching all-component updates.

Extend regression coverage to project saves and verify generated URLs remain correct for nested categories.

@nijel nijel added this to the 2026.11 milestone Oct 30, 2026
@nijel nijel self-assigned this Oct 30, 2026
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 30, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-31T05:58:55.038651Z d5d6ef7 New commits
🔒 Security Review ✅ Completed 2026-10-30T16:27:42.527939Z 8e9f274 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@nijel
nijel enabled auto-merge (rebase) October 30, 2026 18:22
@codecov

codecov Bot commented Oct 30, 2026

Copy link
Copy Markdown

❌ 1 Tests Failed:

Tests completed Failed Passed Skipped
13633 1 13632 1016
View the top 1 failed test(s) by shortest run time
weblate.utils.tests.test_ratelimit.RateLimitTest::test_post
Stack Traces | 1.22s run time
self = <weblate.utils.tests.test_ratelimit.RateLimitTest testMethod=test_post>

    @override_settings(RATELIMIT_ATTEMPTS=1, RATELIMIT_WINDOW=1, RATELIMIT_LOCKOUT=1)
    def test_post(self) -> None:
        request = self.get_request()
    
        limiter = session_ratelimit_post("test")(
            # ruff: ignore[unused-lambda-argument]
            lambda request: "RESPONSE"
        )
    
        # First attempt should work
        self.assertEqual(limiter(request), "RESPONSE")
        # Second attempt should be blocked
        self.assertEqual(limiter(request).url, "/accounts/login/")
        # During lockout period request should be blocked
        request = self.get_request()
>       self.assertEqual(limiter(request).url, "/accounts/login/")
                         ^^^^^^^^^^^^^^^^^^^^
E       AttributeError: 'str' object has no attribute 'url'

.../utils/tests/test_ratelimit.py:166: AttributeError

To view more test analytics, go to the Test Analytics Dashboard
📋 Got 3 mins? Take this short survey to help us improve Test Analytics.

Prefetch project and category paths in the shared component updater so project saves avoid repeated ancestor queries, matching all-component updates.

Extend regression coverage to project saves and verify generated URLs remain correct for nested categories.
@nijel
nijel merged commit a6f632c into main Oct 31, 2026
43 of 45 checks passed
@nijel
nijel deleted the gitexport branch October 31, 2026 07:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant