Name conflicted PR in testing tooltip - #13475
Conversation
There was a problem hiding this comment.
Pull request overview
Updates the /status Testing Environment merge-conflict indicator so the red-dot tooltip and ARIA label identify the specific pull request that failed to merge (e.g. “Merge conflict with #13466”), improving debuggability for maintainers.
Changes:
- Replaces the old flat merge-conflict string key with a parameterized
mergeConflictDotkey. - Updates the Vue row component to interpolate the row’s PR number into the tooltip/ARIA label via the existing client-side
text/sprintfhelper. - Regenerates
openlibrary/i18n/messages.potto include the newpython-formatmsgid with a named%(pr)splaceholder.
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| openlibrary/components/TestingEnvironment/TestingRow.vue | Uses the new mergeConflictDot string key to render a PR-specific tooltip and accessible label. |
| openlibrary/components/TestingEnvironment/utils.js | Updates default English strings to replace the old merge-conflict label with the new parameterized label. |
| openlibrary/macros/TestingEnvironment.html.jinja | Updates the server-provided translated i18n payload to emit the new string key with a placeholder contract compatible with client-side formatting. |
| openlibrary/i18n/messages.pot | Updates extracted translation catalog entries for the new mergeConflictDot string. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
| const dotLabel = computed(() => { | ||
| if (mergeConflict.value) return props.strings.mergeConflict; | ||
| if (mergeConflict.value) return text('mergeConflictDot', `#${props.pr.pr}`); | ||
| return liveNow.value ? props.strings.liveNow : props.strings.notLive; |
There was a problem hiding this comment.
Fixed in a5802af. The component now passes the raw PR number, while the # lives in the translatable source string (Merge conflict with #%(pr)s); the JS fallback and generated POT entry were updated to match.
|
Can you share screenshots please? This should show for unique for each individual PR so the red dot next to the PR says what PR it is conflicting with if there's a conflict. |
|
Currently it says it's own PR number. |
Signed-off-by: Arun <ANONYMOUSZED-beep@users.noreply.github.com>
|
Thanks for catching that. You are right that the current value is the row’s own PR number. I traced the payload and deploy flow before changing this further: the backend exposes only a per-row |
|
@ANONYMOUSZED-beep you're right. This is trickeir than expected and the original PR description was off from what was desired. I pushed up a commit trying to get it working but sometimes is still a little strange. Let me follow up with you in the coming days |
Generated with Codebuff 🤖\nCo-Authored-By: Codebuff <noreply@codebuff.com>
Closes #13474
Updates the Testing Environment conflict indicator so its tooltip and accessible label identify the pull request that failed to merge, for example
Merge conflict with #13466.Technical
text/sprintfhelper.mergeConflictstring with the parameterizedmergeConflictDotkey in both JavaScript defaults and the translated Jinja payload.openlibrary/i18n/messages.potwith the named%(pr)splaceholder.Testing
node node_modules/jest/bin/jest.js tests/unit/js/testing-status.test.js --runInBand— 15 passeduv run --python 3.14.5 --with-requirements requirements_test.txt pytest openlibrary/tests/fastapi/test_testing_status.py -q— 60 passedpre-commitapplicable changed-file hooks — mixed-line-ending, trailing-whitespace, end-of-file-fixer, codespell, djLint formatting/linting, ESLint, check-unused-templates, and generate-pot all passedvite build -c openlibrary/components/vite.config.mjsunder Node 24.19.0 — passed (302 modules transformed)git diff --check— passedScreenshot
Not included: this is a text-only tooltip/ARIA-label change whose rendered value depends on a testing deployment containing a merge-conflicted PR.
Stakeholders
@RayBB