{
"issue": {
"url": "https://api.github.com/repos/laurent22/joplin/issues/14936",
"repository_url": "https://api.github.com/repos/laurent22/joplin",
"labels_url": "https://api.github.com/repos/laurent22/joplin/issues/14936/labels{/name}",
"comments_url": "https://api.github.com/repos/laurent22/joplin/issues/14936/comments",
"events_url": "https://api.github.com/repos/laurent22/joplin/issues/14936/events",
"html_url": "https://github.com/laurent22/joplin/pull/14936",
"id": 4161769910,
"node_id": "PR_kwDOBLftOs7OUO8f",
"number": 14936,
"title": "Desktop: Accessibility: Rich Text Editor: Pre-populate search dialog with global search query",
"user": {
"login": "kaushalv17",
"id": 188165803,
"node_id": "U_kgDOCzcuqw",
"avatar_url": "https://avatars.githubusercontent.com/u/188165803?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/kaushalv17",
"html_url": "https://github.com/kaushalv17",
"followers_url": "https://api.github.com/users/kaushalv17/followers",
"following_url": "https://api.github.com/users/kaushalv17/following{/other_user}",
"gists_url": "https://api.github.com/users/kaushalv17/gists{/gist_id}",
"starred_url": "https://api.github.com/users/kaushalv17/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/kaushalv17/subscriptions",
"organizations_url": "https://api.github.com/users/kaushalv17/orgs",
"repos_url": "https://api.github.com/users/kaushalv17/repos",
"events_url": "https://api.github.com/users/kaushalv17/events{/privacy}",
"received_events_url": "https://api.github.com/users/kaushalv17/received_events",
"type": "User",
"user_view_type": "public",
"site_admin": false
},
"labels": [
{
"id": 1080341216,
"node_id": "MDU6TGFiZWwxMDgwMzQxMjE2",
"url": "https://api.github.com/repos/laurent22/joplin/labels/desktop",
"name": "desktop",
"color": "ffc274",
"default": false,
"description": "All desktop platforms"
},
{
"id": 1366672371,
"node_id": "MDU6TGFiZWwxMzY2NjcyMzcx",
"url": "https://api.github.com/repos/laurent22/joplin/labels/editor",
"name": "editor",
"color": "91ca55",
"default": false,
"description": ""
},
{
"id": 2394366066,
"node_id": "MDU6TGFiZWwyMzk0MzY2MDY2",
"url": "https://api.github.com/repos/laurent22/joplin/labels/search",
"name": "search",
"color": "91ca55",
"default": false,
"description": ""
},
{
"id": 3467743982,
"node_id": "LA_kwDOBLftOs7OsZLu",
"url": "https://api.github.com/repos/laurent22/joplin/labels/accessibility",
"name": "accessibility",
"color": "91ca55",
"default": false,
"description": "Related to accessibility"
}
],
"state": "closed",
"locked": false,
"assignees": [],
"milestone": null,
"comments": 15,
"created_at": "2026-03-28T21:49:38Z",
"updated_at": "2026-04-17T04:55:10Z",
"closed_at": "2026-04-16T10:48:38Z",
"assignee": null,
"author_association": "FIRST_TIMER",
"active_lock_reason": null,
"draft": false,
"pull_request": {
"url": "https://api.github.com/repos/laurent22/joplin/pulls/14936",
"html_url": "https://github.com/laurent22/joplin/pull/14936",
"diff_url": "https://github.com/laurent22/joplin/pull/14936.diff",
"patch_url": "https://github.com/laurent22/joplin/pull/14936.patch",
"merged_at": null
},
"body": "## Summary\r\n\r\nWhen a user performs a global search in Joplin and then opens the \r\nFind/Replace dialog in the Rich Text Editor (Ctrl+F), the search \r\ndialog would open empty. This is inconsistent with the Markdown \r\neditor, which already pre-populates the local search with the \r\nglobal search term.\r\n\r\nThis PR fixes that by pre-populating the RTE's built-in \r\n`searchreplace` plugin with the current global search query \r\nwhenever `props.searchMarkers` changes.\r\n\r\n## WCAG Reference\r\n\r\nFixes part of #10795 — SC 3.3.7 Redundant Entry (Level A):\r\n> Pre-populate the Rich Text editor search dialog with the global \r\n> search content. Search-entry pre-population is currently only \r\n> done in the Markdown editor.\r\n\r\n## What changed\r\nAdded two useEffect hooks in TinyMCE.tsx:\r\n\r\n1.)The first passively stores the current global search term in a ref whenever props.searchMarkers changes — this never opens or interacts with the dialog\r\n\r\n2.)The second listens for keydown Ctrl+F on both document and the editor's iframe document, then polls for the Find input (.tox-textfield[placeholder=\"Find\"]) every 50ms once Ctrl+F is detected, and once found waits one additional tick to ensure TinyMCE has fully finished its own dialog initialization before injecting the global search term\r\n\r\nHow to test-\r\n\r\n1.Create a note with some text (e.g. \"testing\")\r\n2.Type that word in the global search bar\r\n3.Click on the matching note to open it\r\n4.Switch to Rich Text Editor (click the toggle editors button in the toolbar)\r\n5.Press Ctrl+F to open the Find and Replace dialog\r\n\r\n**Before:** Search dialog opens empty \r\n**After:** Search dialog opens with the global search term \r\n pre-filled and matches highlighted",
"closed_by": {
"login": "laurent22",
"id": 1285584,
"node_id": "MDQ6VXNlcjEyODU1ODQ=",
"avatar_url": "https://avatars.githubusercontent.com/u/1285584?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/laurent22",
"html_url": "https://github.com/laurent22",
"followers_url": "https://api.github.com/users/laurent22/followers",
"following_url": "https://api.github.com/users/laurent22/following{/other_user}",
"gists_url": "https://api.github.com/users/laurent22/gists{/gist_id}",
"starred_url": "https://api.github.com/users/laurent22/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/laurent22/subscriptions",
"organizations_url": "https://api.github.com/users/laurent22/orgs",
"repos_url": "https://api.github.com/users/laurent22/repos",
"events_url": "https://api.github.com/users/laurent22/events{/privacy}",
"received_events_url": "https://api.github.com/users/laurent22/received_events",
"type": "User",
"user_view_type": "public",
"site_admin": false
},
"reactions": {
"url": "https://api.github.com/repos/laurent22/joplin/issues/14936/reactions",
"total_count": 0,
"+1": 0,
"-1": 0,
"laugh": 0,
"hooray": 0,
"confused": 0,
"heart": 0,
"rocket": 0,
"eyes": 0
},
"timeline_url": "https://api.github.com/repos/laurent22/joplin/issues/14936/timeline",
"performed_via_github_app": null,
"state_reason": null
},
"comments": [
{
"url": "https://api.github.com/repos/laurent22/joplin/issues/comments/4148877111",
"html_url": "https://github.com/laurent22/joplin/pull/14936#issuecomment-4148877111",
"issue_url": "https://api.github.com/repos/laurent22/joplin/issues/14936",
"id": 4148877111,
"node_id": "IC_kwDOBLftOs73Stc3",
"user": {
"login": "github-actions[bot]",
"id": 41898282,
"node_id": "MDM6Qm90NDE4OTgyODI=",
"avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/github-actions%5Bbot%5D",
"html_url": "https://github.com/apps/github-actions",
"followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers",
"following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}",
"gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}",
"starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions",
"organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs",
"repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos",
"events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}",
"received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events",
"type": "Bot",
"user_view_type": "public",
"site_admin": false
},
"created_at": "2026-03-28T21:49:49Z",
"updated_at": "2026-04-16T10:48:48Z",
"body": "All contributors have signed the CLA ✍️ ✅
Posted by the ****CLA Assistant Lite bot****.",
"author_association": "CONTRIBUTOR",
"reactions": {
"url": "https://api.github.com/repos/laurent22/joplin/issues/comments/4148877111/reactions",
"total_count": 0,
"+1": 0,
"-1": 0,
"laugh": 0,
"hooray": 0,
"confused": 0,
"heart": 0,
"rocket": 0,
"eyes": 0
},
"performed_via_github_app": {
"id": 15368,
"client_id": "Iv1.05c79e9ad1f6bdfa",
"slug": "github-actions",
"node_id": "MDM6QXBwMTUzNjg=",
"owner": {
"login": "github",
"id": 9919,
"node_id": "MDEyOk9yZ2FuaXphdGlvbjk5MTk=",
"avatar_url": "https://avatars.githubusercontent.com/u/9919?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/github",
"html_url": "https://github.com/github",
"followers_url": "https://api.github.com/users/github/followers",
"following_url": "https://api.github.com/users/github/following{/other_user}",
"gists_url": "https://api.github.com/users/github/gists{/gist_id}",
"starred_url": "https://api.github.com/users/github/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/github/subscriptions",
"organizations_url": "https://api.github.com/users/github/orgs",
"repos_url": "https://api.github.com/users/github/repos",
"events_url": "https://api.github.com/users/github/events{/privacy}",
"received_events_url": "https://api.github.com/users/github/received_events",
"type": "Organization",
"user_view_type": "public",
"site_admin": false
},
"name": "GitHub Actions",
"description": "Automate your workflow from idea to production",
"external_url": "https://help.github.com/en/actions",
"html_url": "https://github.com/apps/github-actions",
"created_at": "2018-07-30T09:30:17Z",
"updated_at": "2026-05-05T14:51:38Z",
"permissions": {
"actions": "write",
"administration": "read",
"artifact_metadata": "write",
"attestations": "write",
"checks": "write",
"code_quality": "write",
"contents": "write",
"copilot_requests": "write",
"deployments": "write",
"discussions": "write",
"issues": "write",
"merge_queues": "write",
"metadata": "read",
"models": "read",
"packages": "write",
"pages": "write",
"pull_requests": "write",
"repository_hooks": "write",
"repository_projects": "write",
"security_events": "write",
"statuses": "write",
"vulnerability_alerts": "read"
},
"events": [
"branch_protection_rule",
"check_run",
"check_suite",
"create",
"delete",
"deployment",
"deployment_status",
"discussion",
"discussion_comment",
"fork",
"gollum",
"issues",
"issue_comment",
"label",
"merge_group",
"milestone",
"page_build",
"public",
"pull_request",
"pull_request_review",
"pull_request_review_comment",
"push",
"registry_package",
"release",
"repository",
"repository_dispatch",
"status",
"watch",
"workflow_dispatch",
"workflow_run"
]
}
},
{
"url": "https://api.github.com/repos/laurent22/joplin/issues/comments/4148877663",
"html_url": "https://github.com/laurent22/joplin/pull/14936#issuecomment-4148877663",
"issue_url": "https://api.github.com/repos/laurent22/joplin/issues/14936",
"id": 4148877663,
"node_id": "IC_kwDOBLftOs73Stlf",
"user": {
"login": "coderabbitai[bot]",
"id": 136622811,
"node_id": "BOT_kgDOCCSy2w",
"avatar_url": "https://avatars.githubusercontent.com/in/347564?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/coderabbitai%5Bbot%5D",
"html_url": "https://github.com/apps/coderabbitai",
"followers_url": "https://api.github.com/users/coderabbitai%5Bbot%5D/followers",
"following_url": "https://api.github.com/users/coderabbitai%5Bbot%5D/following{/other_user}",
"gists_url": "https://api.github.com/users/coderabbitai%5Bbot%5D/gists{/gist_id}",
"starred_url": "https://api.github.com/users/coderabbitai%5Bbot%5D/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/coderabbitai%5Bbot%5D/subscriptions",
"organizations_url": "https://api.github.com/users/coderabbitai%5Bbot%5D/orgs",
"repos_url": "https://api.github.com/users/coderabbitai%5Bbot%5D/repos",
"events_url": "https://api.github.com/users/coderabbitai%5Bbot%5D/events{/privacy}",
"received_events_url": "https://api.github.com/users/coderabbitai%5Bbot%5D/received_events",
"type": "Bot",
"user_view_type": "public",
"site_admin": false
},
"created_at": "2026-03-28T21:50:08Z",
"updated_at": "2026-04-06T15:50:33Z",
"body": "\n\n\n📝 Walkthrough
\n\n## Walkthrough\n\nRegisters document and editor-iframe Ctrl/⌘+F handlers and uses a ref populated from `props.searchMarkers` to pre-fill TinyMCE's Find dialog. On keypress, if a term exists it retries (20×, 50ms) to locate `.tox-textfield[placeholder=\"Find\"]`, sets its native value, dispatches input/change, focuses, and cleans up listeners.\n\n## Changes\n\n|Cohort / File(s)|Summary|\n|---|---|\n|**TinyMCE Search Pre-population**
`packages/app-desktop/gui/NoteEditor/NoteBody/TinyMCE/TinyMCE.tsx`|Added `globalSearchTermRef` (keeps first marker value) updated from `props.searchMarkers`. Registered `Ctrl/⌘+F` listeners on `document` and `editor.getDoc()` that, when a non-empty term exists, retry (20×, 50ms) to find `.tox-textfield[placeholder=\"Find\"]`, set its native `value` via `HTMLInputElement.prototype.value` setter, dispatch `input` and `change` events, refocus the input, and remove listeners on cleanup. Handler no-ops for falsy terms.|\n\n## Sequence Diagram(s)\n\n```mermaid\nsequenceDiagram\n participant User as User (keyboard)\n participant Doc as Document\n participant Iframe as Editor iframe (editor.getDoc())\n participant Find as TinyMCE Find input\n\n User->>Doc: Press Ctrl/⌘+F\n Doc->>Doc: Document handler intercepts event\n Doc->>Iframe: Editor-iframe handler also receives event\n alt Non-empty search term\n Doc->>Iframe: Start retries (up to 20, 50ms)\n Iframe->>Find: Query `.tox-textfield[placeholder=\"Find\"]`\n alt Find found\n Iframe->>Find: Set native value via input setter\n Iframe->>Find: Dispatch `input` and `change`\n Iframe->>Find: Focus Find input\n else Not found yet\n Iframe-->>Doc: Wait 50ms and retry (loop)\n end\n else Empty term\n Doc-->>User: No-op (default Find behaviour)\n end\n```\n\n🚥 Pre-merge checks | ✅ 4
\n\n✅ Passed checks (4 passed)
\n\n| Check name | Status | Explanation |\n| :-----------------------------------: | :------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| Title check | ✅ Passed | The title directly and specifically describes the main change: pre-populating the Rich Text Editor's search dialog with the global search query, which is the primary objective of this PR. |\n| Description check | ✅ Passed | The description provides comprehensive context about the change, explaining the problem, solution, WCAG reference, implementation details, and testing instructions related to the changeset. |\n| Docstring Coverage | ✅ Passed | No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. |\n| Pr Description Must Follow Guidelines | ✅ Passed | PR description includes all required sections: problem statement, solution explanation, test plan with verification steps, and AI assistance disclosure. |\n\n✨ Finishing Touches
\n\n🧪 Generate unit tests (beta)
\n\n- [ ] Create PR with unit tests\n\n🔥 Problems
\n> \n> Timed out fetching pipeline failures after 30000ms\n> \n> ❤️ Share
\n\n- [X](https://twitter.com/intent/tweet?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A&url=https%3A//coderabbit.ai)\n- [Mastodon](https://mastodon.social/share?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A%20https%3A%2F%2Fcoderabbit.ai)\n- [Reddit](https://www.reddit.com/submit?title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&text=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code.%20Check%20it%20out%3A%20https%3A//coderabbit.ai)\n- [LinkedIn](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fcoderabbit.ai&mini=true&title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&summary=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code)\n\n
\r\n\r\nAfter: Search dialog opens with the global search term\r\npre-filled and matches highlighted\r\n\r\n\r\n\r\nI've tested this locally and can't reproduce this \"After\" condition. Please attach a screen recording demonstrating the change.\r\n\r\nAlso be sure to follow the [GSoC pull request guidelines](https://github.com/joplin/gsoc/blob/master/pull_request_guidelines.md). In particular, the \"AI assistance disclosure\" section is now required for all pull requests, whether AI-assisted or not (if AI assistance was not used, please state this in the disclosure).", "author_association": "COLLABORATOR", "reactions": { "url": "https://api.github.com/repos/laurent22/joplin/issues/comments/4158535891/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 }, "performed_via_github_app": null }, { "url": "https://api.github.com/repos/laurent22/joplin/issues/comments/4160165267", "html_url": "https://github.com/laurent22/joplin/pull/14936#issuecomment-4160165267", "issue_url": "https://api.github.com/repos/laurent22/joplin/issues/14936", "id": 4160165267, "node_id": "IC_kwDOBLftOs739xWT", "user": { "login": "kaushalv17", "id": 188165803, "node_id": "U_kgDOCzcuqw", "avatar_url": "https://avatars.githubusercontent.com/u/188165803?v=4", "gravatar_id": "", "url": "https://api.github.com/users/kaushalv17", "html_url": "https://github.com/kaushalv17", "followers_url": "https://api.github.com/users/kaushalv17/followers", "following_url": "https://api.github.com/users/kaushalv17/following{/other_user}", "gists_url": "https://api.github.com/users/kaushalv17/gists{/gist_id}", "starred_url": "https://api.github.com/users/kaushalv17/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/kaushalv17/subscriptions", "organizations_url": "https://api.github.com/users/kaushalv17/orgs", "repos_url": "https://api.github.com/users/kaushalv17/repos", "events_url": "https://api.github.com/users/kaushalv17/events{/privacy}", "received_events_url": "https://api.github.com/users/kaushalv17/received_events", "type": "User", "user_view_type": "public", "site_admin": false }, "created_at": "2026-03-31T06:09:49Z", "updated_at": "2026-03-31T06:09:49Z", "body": "Hi @personalizedrefrigerator, thanks for the review!\r\n\r\nI'll attach a screen recording shortly demonstrating the behaviour — I'll record the steps: open a note in the RTE, perform a global search, then open the in-editor search dialog (Ctrl+F / Cmd+F) to show it pre-populates with the global query and highlights matches.\r\n\r\n> Could you let me know your exact test steps so I can check if there's a specific scenario I need to demonstrate? I want to make sure the recording covers the exact flow you tried.\r\n\r\nThis pull request was developed with AI assistance. Specifically:\r\n- GitHub Copilot / Claude (Anthropic) was used to help identify the relevant `useEffect` location in `TinyMCE.tsx` and to draft initial code.\r\n- All suggestions were manually reviewed, tested locally, and understood before committing.\r\n- The fix logic, WCAG mapping, and PR description were verified independently.\r\n\r\nLet me know if you need any additional information. I'll follow up with the recording shortly!", "author_association": "NONE", "reactions": { "url": "https://api.github.com/repos/laurent22/joplin/issues/comments/4160165267/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 }, "performed_via_github_app": null }, { "url": "https://api.github.com/repos/laurent22/joplin/issues/comments/4160296558", "html_url": "https://github.com/laurent22/joplin/pull/14936#issuecomment-4160296558", "issue_url": "https://api.github.com/repos/laurent22/joplin/issues/14936", "id": 4160296558, "node_id": "IC_kwDOBLftOs73-RZu", "user": { "login": "kaushalv17", "id": 188165803, "node_id": "U_kgDOCzcuqw", "avatar_url": "https://avatars.githubusercontent.com/u/188165803?v=4", "gravatar_id": "", "url": "https://api.github.com/users/kaushalv17", "html_url": "https://github.com/kaushalv17", "followers_url": "https://api.github.com/users/kaushalv17/followers", "following_url": "https://api.github.com/users/kaushalv17/following{/other_user}", "gists_url": "https://api.github.com/users/kaushalv17/gists{/gist_id}", "starred_url": "https://api.github.com/users/kaushalv17/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/kaushalv17/subscriptions", "organizations_url": "https://api.github.com/users/kaushalv17/orgs", "repos_url": "https://api.github.com/users/kaushalv17/repos", "events_url": "https://api.github.com/users/kaushalv17/events{/privacy}", "received_events_url": "https://api.github.com/users/kaushalv17/received_events", "type": "User", "user_view_type": "public", "site_admin": false }, "created_at": "2026-03-31T06:39:58Z", "updated_at": "2026-03-31T06:39:58Z", "body": "\r\nHi @personalizedrefrigerator,\r\n\r\nHere's the screen recording demonstrating the fix:\r\n\r\nhttps://github.com/user-attachments/assets/5ec6b1b2-dc26-4b14-84d5-e40791499c58\r\n\r\n\r\nSteps shown:\r\n1. Typed \"testing\" in the global search bar\r\n2. Clicked the matching note (open in Rich Text Editor)\r\n3. RTE Find/Replace dialog auto-opens with \"testing\" pre-filled\r\n4. Match is highlighted in the editor\r\n\r\nAI Assistance Disclosure:\r\nClaude (Anthropic) was used to help locate the relevant `useEffect` in \r\n`TinyMCE.tsx` and draft initial code. All suggestions were manually reviewed, \r\ntested locally, and understood before committing. The WCAG mapping and \r\nfix logic were verified independently.\r\n\r\nHappy to make any further changes!", "author_association": "NONE", "reactions": { "url": "https://api.github.com/repos/laurent22/joplin/issues/comments/4160296558/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 }, "performed_via_github_app": null }, { "url": "https://api.github.com/repos/laurent22/joplin/issues/comments/4162954756", "html_url": "https://github.com/laurent22/joplin/pull/14936#issuecomment-4162954756", "issue_url": "https://api.github.com/repos/laurent22/joplin/issues/14936", "id": 4162954756, "node_id": "IC_kwDOBLftOs74IaYE", "user": { "login": "personalizedrefrigerator", "id": 46334387, "node_id": "MDQ6VXNlcjQ2MzM0Mzg3", "avatar_url": "https://avatars.githubusercontent.com/u/46334387?v=4", "gravatar_id": "", "url": "https://api.github.com/users/personalizedrefrigerator", "html_url": "https://github.com/personalizedrefrigerator", "followers_url": "https://api.github.com/users/personalizedrefrigerator/followers", "following_url": "https://api.github.com/users/personalizedrefrigerator/following{/other_user}", "gists_url": "https://api.github.com/users/personalizedrefrigerator/gists{/gist_id}", "starred_url": "https://api.github.com/users/personalizedrefrigerator/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/personalizedrefrigerator/subscriptions", "organizations_url": "https://api.github.com/users/personalizedrefrigerator/orgs", "repos_url": "https://api.github.com/users/personalizedrefrigerator/repos", "events_url": "https://api.github.com/users/personalizedrefrigerator/events{/privacy}", "received_events_url": "https://api.github.com/users/personalizedrefrigerator/received_events", "type": "User", "user_view_type": "public", "site_admin": false }, "created_at": "2026-03-31T14:11:31Z", "updated_at": "2026-03-31T14:11:31Z", "body": "> RTE Find/Replace dialog auto-opens with \"testing\" pre-filled\r\n\r\nThe video shows the Markdown editor's find/replace (CodeMirror). Since the fix adjusts the TinyMCE (Rich Text Editor) logic, please make sure that the fix works correctly in the Rich Text Editor. To switch to the Rich Text Editor, click the