{
	"issue": {
		"url": "https://api.github.com/repos/laurent22/joplin/issues/14757",
		"repository_url": "https://api.github.com/repos/laurent22/joplin",
		"labels_url": "https://api.github.com/repos/laurent22/joplin/issues/14757/labels{/name}",
		"comments_url": "https://api.github.com/repos/laurent22/joplin/issues/14757/comments",
		"events_url": "https://api.github.com/repos/laurent22/joplin/issues/14757/events",
		"html_url": "https://github.com/laurent22/joplin/pull/14757",
		"id": 4079137895,
		"node_id": "PR_kwDOBLftOs7KwZl5",
		"number": 14757,
		"title": "Mobile: Fixes #13957: Fixed log screen auto-scroll loop during search",
		"user": {
			"login": "KareemAlaa1",
			"id": 96543783,
			"node_id": "U_kgDOBcEkJw",
			"avatar_url": "https://avatars.githubusercontent.com/u/96543783?v=4",
			"gravatar_id": "",
			"url": "https://api.github.com/users/KareemAlaa1",
			"html_url": "https://github.com/KareemAlaa1",
			"followers_url": "https://api.github.com/users/KareemAlaa1/followers",
			"following_url": "https://api.github.com/users/KareemAlaa1/following{/other_user}",
			"gists_url": "https://api.github.com/users/KareemAlaa1/gists{/gist_id}",
			"starred_url": "https://api.github.com/users/KareemAlaa1/starred{/owner}{/repo}",
			"subscriptions_url": "https://api.github.com/users/KareemAlaa1/subscriptions",
			"organizations_url": "https://api.github.com/users/KareemAlaa1/orgs",
			"repos_url": "https://api.github.com/users/KareemAlaa1/repos",
			"events_url": "https://api.github.com/users/KareemAlaa1/events{/privacy}",
			"received_events_url": "https://api.github.com/users/KareemAlaa1/received_events",
			"type": "User",
			"user_view_type": "public",
			"site_admin": false
		},
		"labels": [
			{
				"id": 2394366066,
				"node_id": "MDU6TGFiZWwyMzk0MzY2MDY2",
				"url": "https://api.github.com/repos/laurent22/joplin/labels/search",
				"name": "search",
				"color": "91ca55",
				"default": false,
				"description": ""
			}
		],
		"state": "closed",
		"locked": false,
		"assignees": [],
		"milestone": null,
		"comments": 10,
		"created_at": "2026-03-15T20:31:02Z",
		"updated_at": "2026-03-17T00:47:19Z",
		"closed_at": "2026-03-16T21:33:43Z",
		"assignee": null,
		"author_association": "CONTRIBUTOR",
		"active_lock_reason": null,
		"draft": false,
		"pull_request": {
			"url": "https://api.github.com/repos/laurent22/joplin/pulls/14757",
			"html_url": "https://github.com/laurent22/joplin/pull/14757",
			"diff_url": "https://github.com/laurent22/joplin/pull/14757.diff",
			"patch_url": "https://github.com/laurent22/joplin/pull/14757.patch",
			"merged_at": "2026-03-16T21:33:43Z"
		},
		"body": "# AI Assistance Disclosure\r\nParts of this pull request were drafted with the help of an AI assistant. All code has been reviewed and verified manually.\r\n\r\nFixes #13957\r\n# Problem\r\nAfter scrolling down the log so that the loaded area has expanded, when using the search button to filter the log on the search screen, the filtered log automatically scrolls up and down quickly and repeatedly, and continues doing so after manually scrolling.\r\n\r\n# Solution\r\nReset the FlatList scroll position after filtered data is applied.\r\n\r\nPreviously, the list could keep an unstable deep offset while the dataset changed due to filtering, which could trigger repeated scroll re-anchoring. Resetting after data application makes the filtered view start from a stable position and prevents the scroll loop.\r\n\r\n# Test Plan\r\n## Manual testing\r\n\r\nIn order to test this , manual testing was performed using the following steps:\r\n1. Open mobile Log screen.\r\n2. Scroll down several swipes.\r\n3. Type any word in search\r\n\r\n\r\n# Demo\r\n\r\n| Before | After |\r\n|---|---|\r\n| <video src=\"https://github.com/user-attachments/assets/134ed112-805d-4242-9e22-b372e5a02ea5\" controls width=\"320\"></video> | <video src=\"https://github.com/user-attachments/assets/fc05d53f-543b-43a2-a599-ffa8b9add31e\" controls width=\"320\"></video> |\r\n\r\n\r\n\r\n\r\n\r\n\r\n",
		"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/14757/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/14757/timeline",
		"performed_via_github_app": null,
		"state_reason": null
	},
	"comments": [
		{
			"url": "https://api.github.com/repos/laurent22/joplin/issues/comments/4063832534",
			"html_url": "https://github.com/laurent22/joplin/pull/14757#issuecomment-4063832534",
			"issue_url": "https://api.github.com/repos/laurent22/joplin/issues/14757",
			"id": 4063832534,
			"node_id": "IC_kwDOBLftOs7yOSnW",
			"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-15T20:31:12Z",
			"updated_at": "2026-03-17T00:47:19Z",
			"body": "****CLA Assistant Lite bot**** All contributors have signed the CLA  ✍️ ✅",
			"author_association": "CONTRIBUTOR",
			"reactions": {
				"url": "https://api.github.com/repos/laurent22/joplin/issues/comments/4063832534/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/4063832958",
			"html_url": "https://github.com/laurent22/joplin/pull/14757#issuecomment-4063832958",
			"issue_url": "https://api.github.com/repos/laurent22/joplin/issues/14757",
			"id": 4063832958,
			"node_id": "IC_kwDOBLftOs7yOSt-",
			"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-15T20:31:28Z",
			"updated_at": "2026-03-16T18:56:57Z",
			"body": "<!-- This is an auto-generated comment: summarize by coderabbit.ai -->\n<!-- walkthrough_start -->\n\n<details>\n<summary>📝 Walkthrough</summary>\n\n## Walkthrough\n\nAdds a FlatList reference and timeout storage to LogScreen; preserves existing debounce in componentDidUpdate, and scrolls the FlatList to top after refreshLogEntries setState when a filter is present.\n\n## Changes\n\n|Cohort / File(s)|Summary|\n|---|---|\n|**LogScreen scroll & timing** <br> `packages/app-mobile/components/screens/LogScreen.tsx`|Adds a private `logListRef_` and stores debounce timeout in `this.refreshLogTimeout`. `componentDidUpdate` keeps debounce behaviour but assigns the timeout to `this.refreshLogTimeout`. `refreshLogEntries` setState callback scrolls the FlatList to top if a filter is set and the ref is attached; ref applied via `ref={this.logListRef_}`.|\n\n## Suggested labels\n\n`search`\n\n</details>\n\n<!-- walkthrough_end -->\n\n\n<!-- pre_merge_checks_walkthrough_start -->\n\n<details>\n<summary>🚥 Pre-merge checks | ✅ 4</summary>\n\n<details>\n<summary>✅ Passed checks (4 passed)</summary>\n\n|               Check name              | Status   | Explanation                                                                                                                                                                              |\n| :-----------------------------------: | :------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\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 | The pull request description includes all required sections: problem/user-impact description, solution explanation, and test plan with verification steps.                               |\n|              Title check              | ✅ Passed | The title accurately reflects the main change: fixing an auto-scroll loop issue on the mobile log screen during search filtering.                                                        |\n|           Description check           | ✅ Passed | The pull request description is directly related to the changeset, describing the problem of auto-scrolling during log filtering and the solution of resetting FlatList scroll position. |\n\n</details>\n\n<sub>✏️ Tip: You can configure your own custom pre-merge checks in the settings.</sub>\n\n</details>\n\n<!-- pre_merge_checks_walkthrough_end -->\n\n<!-- finishing_touch_checkbox_start -->\n\n<details>\n<summary>✨ Finishing Touches</summary>\n\n<details>\n<summary>🧪 Generate unit tests (beta)</summary>\n\n- [ ] <!-- {\"checkboxId\": \"f47ac10b-58cc-4372-a567-0e02b2c3d479\", \"radioGroupId\": \"utg-output-choice-group-unknown_comment_id\"} -->   Create PR with unit tests\n- [ ] <!-- {\"checkboxId\": \"07f1e7d6-8a8e-4e23-9900-8731c2c87f58\", \"radioGroupId\": \"utg-output-choice-group-unknown_comment_id\"} -->   Post copyable unit tests in a comment\n\n</details>\n\n</details>\n\n<!-- finishing_touch_checkbox_end -->\n\n<!-- pr_review_plan_action_start -->\n\n<details>\n<summary>📝 Coding Plan</summary>\n\n- [ ] <!-- {\"checkboxId\": \"6ad8a4e1-0b3a-4ea2-9b5b-d82c1f47d1f2\"} --> Generate coding plan for human review comments\n\n</details>\n\n<!-- pr_review_plan_action_end -->\n\n<!-- tips_start -->\n\n---\n\nThanks for using [CodeRabbit](https://coderabbit.ai?utm_source=oss&utm_medium=github&utm_campaign=laurent22/joplin&utm_content=14757)! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.\n\n<details>\n<summary>❤️ Share</summary>\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</details>\n\n<sub>Comment `@coderabbitai help` to get the list of available commands and usage tips.</sub>\n\n<!-- tips_end -->\n\n<!-- internal state start -->\n\n\n<!-- DwQgtGAEAqAWCWBnSTIEMB26CuAXA9mAOYCmGJATmriQCaQDG+Ats2bgFyQAOFk+AIwBWJBrngA3EsgEBPRvlqU0AgfFwA6NPEgQAfACgjoCEYDEZyAAUASpETZWaCrKPR1AGxJcAsoPheXABi8AAe0pAAFGYAjADMAJwArADsAJTBYXSQHvhE9gwUJGQ4BGCIhfgeHjn4+NyQtNgU8Bj5iCTODLCQkAYAco4ClFwxACwpqb0GAKo2ADJcsLi43IgcAPQbROqw2AIaTMwbHmjN7ABMFxtC9R6tG9zY1RvjkynTMx0UXADSzsVmABBU5oGLTADK+GaDBIkAEVAw3S4SgkkEASYQwZykXDwxHIxokNF9CG4ajYdb8bglPoAYSK1Gy1C4FwADBcAGxgVlxMAxJLQNkcOIxDjsgBaRigVmcuGQ+AAZpBcLA4U9qpAigBHbDSXEAd0ocNoVAVNHo+t2ytVkFVHgaivQWCBAEl0IhEEgyRhcABudAaphKSD6tDIIoSeAkQ30TD0KQtBVR+jMTDYNDVWQaAzSiiCLzMLhAs2USAkULcOOtfIquG5NBKWMM+HyCp56rVxr4fVYWuQZj+LyQeZ5ApFMgAGkgFM7fY6XR6BEgSY8ND4fdy+QYZw6yD7K7X2Uj0eV+FKLGo8G3mad9CK1MZtA8rcqGuwDTjXZ7t4UPtauq7TtEDPNASz4VMMHTGo2yqe42mzKAoQ8PB4HwDAuBsaQSFxPsglOXB5i9MdYJ4fBPXEND0DA604QPI16Foag0BQZA0G4bh7myYCaOXAJD3jKN9XsMkKDlZc82YdBhJUIduDI9RUKwT9eCJdhwxIB9zWIjUijATBunwFp4JzGA9R4U4sEiCCoIyAxehiDRIAAeWpLABzUIcR3aQpigwbNeguRyIVfGpaG7LAOgTDN7EtalEH8yA4kc6BZGpJ15H1Qz6FaexOgoboEMgAAREgBy4AAhEgFUMkgNmLNdIEjJQyPQFY0G6bIlAHDBEFwKhxDaHikAcOFP33MJswMCxIFpFg2B9ZAHCcFwpUgf5x2BUFRRmtCkwoNh6E9IgMFnG1aXmIFCvWwEQTQMEuCsMitIAIiKDqGAAa2ewrmAoW4YhiAAOLgnIEb4pHoPtukwUh+wUohGT3G1hoAgQ8E1DTDLE5iilTVpO0wDB8FkfTvHhUQdzhR1mI5VlWWYZAlAEaEkRIKd4CVOc8u6ZVKEk1BobaJkMEhm0KVLGDqmQeBWDoeBGWfKiGqhtCaB9aduEYmhECnDciMtDVJZqJc+wID8EZy5iOiYEXlRlkhHKsPMmqZRr4Gawlut6/rTtQYZYDQSNDMm6bZtYdR+2kRA0FIRbHFTFaTNx/ApAxpoRcwXEjegfAnIVBUOlxQAUAhQEWr0RqSjmYCPk8jQbMGnDByFhD1nHka9jbPbPc/zwuonuD6SEVpdA/wd20+wDP1cM38FXuMQgJC9AF7Q5B9VVLA6KKBimJY9B2M42g0km/RjHAKAyHoam8EIUhyH67Iq/YLheH4YRRHEKQZHbxRlFUdQtA6FPiYKAcBUCoAbmcMod9lBaSfj6LgVAhJLQTvIOQCglBUH/pobQugwCGDPqYAwlZPox2kBsNi3AwDuQCLVI4clyALQ2G2XyiANheWCuOPycpQgcAMM9ARU1LCumIGQWBXF45t34EqQWsdVpAloLQVikByBCV4JIRktQiCEV6phBUAB9U8toqixgxgqI0rMjG4XwjozQJkXRYHoWhdgRV3YzE1oyKcKlwYRD7OWL0nYmYs1hOTAOQc+Bo1xETZBBAihIzhOINg0JcQ5RVEgDQRQFRxNgF5dwST0afjDEdHqKAcIgRUSeQueSSDJMahmXUhUHE8ULqSTRHcBDtQ+tIsx2SvIAFEfQtGkFOI28TIB4WoLYqxNozYoCVMxLee8lBJnILQQqQI2odTGaosx0y4QTIIkRSMOMqoAF4ADeaT4qblsXo/RABfUuGMRaUEmuYYRq5YGKT3GePsSgGCnB9qvbp5Y5KiWyDPJ4Ah55lj/OIaQUojCEXIMgWRdAuAAGpAYbD5PwwROZ8GEIvrba+0CxEP3oPAzgmo0DIMkS4FsGC/5qBwUAwlICFDh1wPo92iB9ERkEnQfRvVZR4IIRyuItBAaTCSIDBgAgOSA1ZCkBIDAFQMCSHTOIKRaCskBqqpImqkgxBSAwM1CoUiAzGGKgwHLjUKjQKyJQOqLgqpiAkJ1CpZX6riByBggMYi0H5O69qnIFQckYoDG1Eq6b+p1SoGIrIVAJF9cMDkCpE0JA5GgQGJAkhqrGLmuIcQFQXBDTa2159OXV25by/lRJBW0H0ZfaNVaVL6LYBQUg+j3ofT5SK0SFbzl2UgM9JAthyq5E+nQMO81cCPV6nQZ6XAHUeA6BOEdY7EBOQTC0RRZBl3LgzOuzdYUGDe2rLNKKpAHFrgwBmVpNBD3nPuRu3oz0gwkBsCoFlAB1PMNAnbuFwF4Q9q6T3vtOL1WkqpPqYQcKuRAh6ADaI7ejDt6Jh0dvb+hoDYIe56RV8Dnr6p2K9yhSDPTfVh0dIrcAUkPX1XU1GsPPVBRZS8aECP9DPAqSeK8SnVUntlXsNo0X0BXL4s8RJ6maLPRewaTBr0O0gBCD68B2KBOIwprcKcKNwl7RoKjaHMOvWkFUFCXGuDPX/eoY02nSNtGQNVdcNo+NIgoiU6uHpTqlSMdHcQiAFTyBVsp602STFGZY6ZgcSgCOhgoCdNoxmaOjsMvAHY96PAwdEB9XD+HrPycc0QJDJnX0mYwzRtjFYOOeYI3ANUzwajal1L1QkbYNOedLgC7AShWI6RIDqeA29coCcpLwfMpUNjiwoGAGWJDcR9cKJ1xSIyLNdfY5gTjGApxjTMhxBuloVSNUoBzcuXXF1rCiyZ99OG8MkAI07Yq0hlvcC6z4CkuIgiwW7JAAA4tgd2Q9WjSBS1V2LD3rOUDzBQMHrG6MMa4ExtmN3R1vV2hl84YHj0o9S89dLmWMw5c+vlyH2HPssGemV6LlXWN3YK6O4DQ5e1w9MwjpDSOKDMdR9Vg7966vWYa3bEDo0zXNAVvITJXgxBjLxo4gOQsV1hAJkpG+5Ql65HqCxEa/BRNwhoUOTcY5fKNGaEBbmPQt7Vmu3jiH8XnBJaIKz996OMBJiIFjldOPovvoJ60InsG8v3YI+IEXVOsPlaw7T0z9OyeEZey0N7ilGCB+d7Rsk9GOfKi57jqrm3+eKXqzadUzXButcWwnlblFUC0GGx/RWRR8LZBNmJhXsdsJTiWy0NQg0+wTehX50lhAjaBLN4NI3Vv662znOt5Pjo4nYQGvkA5UyjakXIopG3VW4mz6syoprPvR12+swlx3aezM23d57o9a7c+sb91l4nQeGfPS71XjA4fMP3JHQAXWo89KDedGwEqDrJPPfZ6OIAQQGL1VkAGDkPNBUJQOIQGNAMYV1EgQGAQC4WgJIdNAQVkdVINbNGVWgcxFVHNdkU1dqJIV1FIX1WgMYWmEUMHAAsMIApnOPJ1C4EgBIGIC1ZVNAOIeVRNRiToVQPNK4RicxAQdVJNBUHkJ1KAg1bAhIKqaVMYEgDkGIYYJ1FIDpJIFgxAWAaEDwWgSdYjD6WwbHW/f/WvWgGwSeEA17TzJ/RjHPWw92BwjADg1wznbnd9OwrwojBgUkIyErXw7PXUAwb/StCAHgIoDtSgbtXtPlFtYBKtKBfAfRSscWYVDPEgPI0VU+Awc5Vg3qGUcWWgDZTCY8GMWddQWaSeXAZdVkGIjlTI7IymQomgZtW2fQIAA -->\n\n<!-- internal state end -->\n<!-- usage_tips_start -->\n\n> [!TIP]\n> <details>\n> <summary>CodeRabbit can suggest fixes for GitHub Check annotations.</summary>\n> \n> Configure the `reviews.tools.github-checks` setting to adjust the time to wait for GitHub Checks to complete.\n> \n> </details>\n\n<!-- usage_tips_end -->",
			"author_association": "CONTRIBUTOR",
			"reactions": {
				"url": "https://api.github.com/repos/laurent22/joplin/issues/comments/4063832958/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": 347564,
				"client_id": "Iv1.6aaafe4fe882736b",
				"slug": "coderabbitai",
				"node_id": "A_kwHOB96YWc4ABU2s",
				"owner": {
					"login": "coderabbitai",
					"id": 132028505,
					"node_id": "O_kgDOB96YWQ",
					"avatar_url": "https://avatars.githubusercontent.com/u/132028505?v=4",
					"gravatar_id": "",
					"url": "https://api.github.com/users/coderabbitai",
					"html_url": "https://github.com/coderabbitai",
					"followers_url": "https://api.github.com/users/coderabbitai/followers",
					"following_url": "https://api.github.com/users/coderabbitai/following{/other_user}",
					"gists_url": "https://api.github.com/users/coderabbitai/gists{/gist_id}",
					"starred_url": "https://api.github.com/users/coderabbitai/starred{/owner}{/repo}",
					"subscriptions_url": "https://api.github.com/users/coderabbitai/subscriptions",
					"organizations_url": "https://api.github.com/users/coderabbitai/orgs",
					"repos_url": "https://api.github.com/users/coderabbitai/repos",
					"events_url": "https://api.github.com/users/coderabbitai/events{/privacy}",
					"received_events_url": "https://api.github.com/users/coderabbitai/received_events",
					"type": "Organization",
					"user_view_type": "public",
					"site_admin": false
				},
				"name": "coderabbitai",
				"description": "# Transforming Code Reviews with AI\r\n\r\n## Features\r\n\r\n**Automated Reviews**: Continuous reviews of the pull requests including incremental commits. \r\n\r\n**Summarization**: Generates high-level summary and a technical walkthrough of the PR changes. \r\n\r\n**Line-by-line review**: Provides line-by-line suggestions committable with one click.\r\n\r\n**Codebase verification**:  Verifies the impact on the overall codebase and identifies missing changes.\r\n\r\n**Insights into your code**:  Ask any questions on your codebase within the pull request \r\n\r\n**Chat about your code** : Chat with the bot around your code. The more you chat, the smarter it gets.\r\n\r\n**Issue Validation**:  Validates the PR against the linked issues and identifies other related issues \r\n\r\n\r\n\r\n",
				"external_url": "https://coderabbit.ai?utm_source=cr_app&utm_medium=github",
				"html_url": "https://github.com/apps/coderabbitai",
				"created_at": "2023-06-14T15:47:27Z",
				"updated_at": "2026-03-14T07:58:44Z",
				"permissions": {
					"actions": "read",
					"checks": "write",
					"contents": "write",
					"discussions": "read",
					"issues": "write",
					"members": "read",
					"metadata": "read",
					"pull_requests": "write",
					"statuses": "write"
				},
				"events": [
					"issues",
					"issue_comment",
					"label",
					"organization",
					"pull_request",
					"pull_request_review",
					"pull_request_review_comment",
					"pull_request_review_thread",
					"release",
					"repository"
				]
			}
		},
		{
			"url": "https://api.github.com/repos/laurent22/joplin/issues/comments/4063835491",
			"html_url": "https://github.com/laurent22/joplin/pull/14757#issuecomment-4063835491",
			"issue_url": "https://api.github.com/repos/laurent22/joplin/issues/14757",
			"id": 4063835491,
			"node_id": "IC_kwDOBLftOs7yOTVj",
			"user": {
				"login": "KareemAlaa1",
				"id": 96543783,
				"node_id": "U_kgDOBcEkJw",
				"avatar_url": "https://avatars.githubusercontent.com/u/96543783?v=4",
				"gravatar_id": "",
				"url": "https://api.github.com/users/KareemAlaa1",
				"html_url": "https://github.com/KareemAlaa1",
				"followers_url": "https://api.github.com/users/KareemAlaa1/followers",
				"following_url": "https://api.github.com/users/KareemAlaa1/following{/other_user}",
				"gists_url": "https://api.github.com/users/KareemAlaa1/gists{/gist_id}",
				"starred_url": "https://api.github.com/users/KareemAlaa1/starred{/owner}{/repo}",
				"subscriptions_url": "https://api.github.com/users/KareemAlaa1/subscriptions",
				"organizations_url": "https://api.github.com/users/KareemAlaa1/orgs",
				"repos_url": "https://api.github.com/users/KareemAlaa1/repos",
				"events_url": "https://api.github.com/users/KareemAlaa1/events{/privacy}",
				"received_events_url": "https://api.github.com/users/KareemAlaa1/received_events",
				"type": "User",
				"user_view_type": "public",
				"site_admin": false
			},
			"created_at": "2026-03-15T20:33:08Z",
			"updated_at": "2026-03-15T20:33:08Z",
			"body": "I have read the CLA Document and I hereby sign the CLA",
			"author_association": "CONTRIBUTOR",
			"reactions": {
				"url": "https://api.github.com/repos/laurent22/joplin/issues/comments/4063835491/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/4063835962",
			"html_url": "https://github.com/laurent22/joplin/pull/14757#issuecomment-4063835962",
			"issue_url": "https://api.github.com/repos/laurent22/joplin/issues/14757",
			"id": 4063835962,
			"node_id": "IC_kwDOBLftOs7yOTc6",
			"user": {
				"login": "KareemAlaa1",
				"id": 96543783,
				"node_id": "U_kgDOBcEkJw",
				"avatar_url": "https://avatars.githubusercontent.com/u/96543783?v=4",
				"gravatar_id": "",
				"url": "https://api.github.com/users/KareemAlaa1",
				"html_url": "https://github.com/KareemAlaa1",
				"followers_url": "https://api.github.com/users/KareemAlaa1/followers",
				"following_url": "https://api.github.com/users/KareemAlaa1/following{/other_user}",
				"gists_url": "https://api.github.com/users/KareemAlaa1/gists{/gist_id}",
				"starred_url": "https://api.github.com/users/KareemAlaa1/starred{/owner}{/repo}",
				"subscriptions_url": "https://api.github.com/users/KareemAlaa1/subscriptions",
				"organizations_url": "https://api.github.com/users/KareemAlaa1/orgs",
				"repos_url": "https://api.github.com/users/KareemAlaa1/repos",
				"events_url": "https://api.github.com/users/KareemAlaa1/events{/privacy}",
				"received_events_url": "https://api.github.com/users/KareemAlaa1/received_events",
				"type": "User",
				"user_view_type": "public",
				"site_admin": false
			},
			"created_at": "2026-03-15T20:33:26Z",
			"updated_at": "2026-03-15T20:33:26Z",
			"body": "recheck",
			"author_association": "CONTRIBUTOR",
			"reactions": {
				"url": "https://api.github.com/repos/laurent22/joplin/issues/comments/4063835962/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/4067529612",
			"html_url": "https://github.com/laurent22/joplin/pull/14757#issuecomment-4067529612",
			"issue_url": "https://api.github.com/repos/laurent22/joplin/issues/14757",
			"id": 4067529612,
			"node_id": "IC_kwDOBLftOs7ycZOM",
			"user": {
				"login": "mrjo118",
				"id": 6963004,
				"node_id": "MDQ6VXNlcjY5NjMwMDQ=",
				"avatar_url": "https://avatars.githubusercontent.com/u/6963004?v=4",
				"gravatar_id": "",
				"url": "https://api.github.com/users/mrjo118",
				"html_url": "https://github.com/mrjo118",
				"followers_url": "https://api.github.com/users/mrjo118/followers",
				"following_url": "https://api.github.com/users/mrjo118/following{/other_user}",
				"gists_url": "https://api.github.com/users/mrjo118/gists{/gist_id}",
				"starred_url": "https://api.github.com/users/mrjo118/starred{/owner}{/repo}",
				"subscriptions_url": "https://api.github.com/users/mrjo118/subscriptions",
				"organizations_url": "https://api.github.com/users/mrjo118/orgs",
				"repos_url": "https://api.github.com/users/mrjo118/repos",
				"events_url": "https://api.github.com/users/mrjo118/events{/privacy}",
				"received_events_url": "https://api.github.com/users/mrjo118/received_events",
				"type": "User",
				"user_view_type": "public",
				"site_admin": false
			},
			"created_at": "2026-03-16T13:05:53Z",
			"updated_at": "2026-03-16T13:06:34Z",
			"body": "This code change does seem to mitigate the issue, however because of the 600ms debounce, if you change the search term and then scroll immediately after the content updates, it will scroll to the top of the log a second time, which is kind of annoying.\r\n\r\nSee video:\r\nhttps://github.com/user-attachments/assets/2a58a200-aea5-415b-80e8-676c72b913eb",
			"author_association": "COLLABORATOR",
			"reactions": {
				"url": "https://api.github.com/repos/laurent22/joplin/issues/comments/4067529612/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/4069533798",
			"html_url": "https://github.com/laurent22/joplin/pull/14757#issuecomment-4069533798",
			"issue_url": "https://api.github.com/repos/laurent22/joplin/issues/14757",
			"id": 4069533798,
			"node_id": "IC_kwDOBLftOs7ykChm",
			"user": {
				"login": "KareemAlaa1",
				"id": 96543783,
				"node_id": "U_kgDOBcEkJw",
				"avatar_url": "https://avatars.githubusercontent.com/u/96543783?v=4",
				"gravatar_id": "",
				"url": "https://api.github.com/users/KareemAlaa1",
				"html_url": "https://github.com/KareemAlaa1",
				"followers_url": "https://api.github.com/users/KareemAlaa1/followers",
				"following_url": "https://api.github.com/users/KareemAlaa1/following{/other_user}",
				"gists_url": "https://api.github.com/users/KareemAlaa1/gists{/gist_id}",
				"starred_url": "https://api.github.com/users/KareemAlaa1/starred{/owner}{/repo}",
				"subscriptions_url": "https://api.github.com/users/KareemAlaa1/subscriptions",
				"organizations_url": "https://api.github.com/users/KareemAlaa1/orgs",
				"repos_url": "https://api.github.com/users/KareemAlaa1/repos",
				"events_url": "https://api.github.com/users/KareemAlaa1/events{/privacy}",
				"received_events_url": "https://api.github.com/users/KareemAlaa1/received_events",
				"type": "User",
				"user_view_type": "public",
				"site_admin": false
			},
			"created_at": "2026-03-16T17:51:24Z",
			"updated_at": "2026-03-16T17:52:22Z",
			"body": "> This code change does seem to mitigate the issue, however because of the 600ms debounce, if you change the search term and then scroll immediately after the content updates, it will scroll to the top of the log a second time, which is kind of annoying.\r\n> \r\n> See video: https://github.com/user-attachments/assets/2a58a200-aea5-415b-80e8-676c72b913eb\r\n\r\nThanks for feedback.\r\n\r\nI see two possible directions here:\r\n\r\n1. We can cancel the debounce and refresh immediately on each filter change. That should remove the delayed second jump, but it may be significantly heavier on large logs because filtering would run on every keystroke.\r\n \r\n2. We can keep the debounce and current search behavior. In practice, filtered results are usually different from the items currently visible, so some repositioning is expected when we replace old data with new filtered data. Starting from the top is also reasonable for search, since it shows the first matching results first.\r\n\r\nAlso, there was a redundant [scrollToOffset](vscode-file://vscode-app/usr/share/code/resources/app/out/vs/code/electron-browser/workbench/workbench.html) causing an extra jump, so I removed that duplicate call to reduce the annoyance.\r\n\r\nIf you have other suggestions, I’d be happy to try them.",
			"author_association": "CONTRIBUTOR",
			"reactions": {
				"url": "https://api.github.com/repos/laurent22/joplin/issues/comments/4069533798/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/4069774577",
			"html_url": "https://github.com/laurent22/joplin/pull/14757#issuecomment-4069774577",
			"issue_url": "https://api.github.com/repos/laurent22/joplin/issues/14757",
			"id": 4069774577,
			"node_id": "IC_kwDOBLftOs7yk9Tx",
			"user": {
				"login": "mrjo118",
				"id": 6963004,
				"node_id": "MDQ6VXNlcjY5NjMwMDQ=",
				"avatar_url": "https://avatars.githubusercontent.com/u/6963004?v=4",
				"gravatar_id": "",
				"url": "https://api.github.com/users/mrjo118",
				"html_url": "https://github.com/mrjo118",
				"followers_url": "https://api.github.com/users/mrjo118/followers",
				"following_url": "https://api.github.com/users/mrjo118/following{/other_user}",
				"gists_url": "https://api.github.com/users/mrjo118/gists{/gist_id}",
				"starred_url": "https://api.github.com/users/mrjo118/starred{/owner}{/repo}",
				"subscriptions_url": "https://api.github.com/users/mrjo118/subscriptions",
				"organizations_url": "https://api.github.com/users/mrjo118/orgs",
				"repos_url": "https://api.github.com/users/mrjo118/repos",
				"events_url": "https://api.github.com/users/mrjo118/events{/privacy}",
				"received_events_url": "https://api.github.com/users/mrjo118/received_events",
				"type": "User",
				"user_view_type": "public",
				"site_admin": false
			},
			"created_at": "2026-03-16T18:34:56Z",
			"updated_at": "2026-03-16T18:34:56Z",
			"body": "I think we should still keep the debounce, as logs can get very long. I wasn't complaining about moving to the top every time you change the filter, I think that is an acceptable caveat. The issue was the additional call to scrollToOffset, which you have now addressed. From my perspective now, it looks good to me",
			"author_association": "COLLABORATOR",
			"reactions": {
				"url": "https://api.github.com/repos/laurent22/joplin/issues/comments/4069774577/reactions",
				"total_count": 1,
				"+1": 1,
				"-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/4069783591",
			"html_url": "https://github.com/laurent22/joplin/pull/14757#issuecomment-4069783591",
			"issue_url": "https://api.github.com/repos/laurent22/joplin/issues/14757",
			"id": 4069783591,
			"node_id": "IC_kwDOBLftOs7yk_gn",
			"user": {
				"login": "mrjo118",
				"id": 6963004,
				"node_id": "MDQ6VXNlcjY5NjMwMDQ=",
				"avatar_url": "https://avatars.githubusercontent.com/u/6963004?v=4",
				"gravatar_id": "",
				"url": "https://api.github.com/users/mrjo118",
				"html_url": "https://github.com/mrjo118",
				"followers_url": "https://api.github.com/users/mrjo118/followers",
				"following_url": "https://api.github.com/users/mrjo118/following{/other_user}",
				"gists_url": "https://api.github.com/users/mrjo118/gists{/gist_id}",
				"starred_url": "https://api.github.com/users/mrjo118/starred{/owner}{/repo}",
				"subscriptions_url": "https://api.github.com/users/mrjo118/subscriptions",
				"organizations_url": "https://api.github.com/users/mrjo118/orgs",
				"repos_url": "https://api.github.com/users/mrjo118/repos",
				"events_url": "https://api.github.com/users/mrjo118/events{/privacy}",
				"received_events_url": "https://api.github.com/users/mrjo118/received_events",
				"type": "User",
				"user_view_type": "public",
				"site_admin": false
			},
			"created_at": "2026-03-16T18:36:21Z",
			"updated_at": "2026-03-16T18:36:21Z",
			"body": "Please remove the parenthesis from the PR title though, as I'm not sure if that would prevent this PR from closing the referenced issue",
			"author_association": "COLLABORATOR",
			"reactions": {
				"url": "https://api.github.com/repos/laurent22/joplin/issues/comments/4069783591/reactions",
				"total_count": 1,
				"+1": 1,
				"-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/4069851800",
			"html_url": "https://github.com/laurent22/joplin/pull/14757#issuecomment-4069851800",
			"issue_url": "https://api.github.com/repos/laurent22/joplin/issues/14757",
			"id": 4069851800,
			"node_id": "IC_kwDOBLftOs7ylQKY",
			"user": {
				"login": "KareemAlaa1",
				"id": 96543783,
				"node_id": "U_kgDOBcEkJw",
				"avatar_url": "https://avatars.githubusercontent.com/u/96543783?v=4",
				"gravatar_id": "",
				"url": "https://api.github.com/users/KareemAlaa1",
				"html_url": "https://github.com/KareemAlaa1",
				"followers_url": "https://api.github.com/users/KareemAlaa1/followers",
				"following_url": "https://api.github.com/users/KareemAlaa1/following{/other_user}",
				"gists_url": "https://api.github.com/users/KareemAlaa1/gists{/gist_id}",
				"starred_url": "https://api.github.com/users/KareemAlaa1/starred{/owner}{/repo}",
				"subscriptions_url": "https://api.github.com/users/KareemAlaa1/subscriptions",
				"organizations_url": "https://api.github.com/users/KareemAlaa1/orgs",
				"repos_url": "https://api.github.com/users/KareemAlaa1/repos",
				"events_url": "https://api.github.com/users/KareemAlaa1/events{/privacy}",
				"received_events_url": "https://api.github.com/users/KareemAlaa1/received_events",
				"type": "User",
				"user_view_type": "public",
				"site_admin": false
			},
			"created_at": "2026-03-16T18:48:05Z",
			"updated_at": "2026-03-16T18:48:05Z",
			"body": "> Please remove the parenthesis from the PR title though, as I'm not sure if that would prevent this PR from closing the referenced issue\r\n\r\nDone. Thanks for your feedback :)",
			"author_association": "CONTRIBUTOR",
			"reactions": {
				"url": "https://api.github.com/repos/laurent22/joplin/issues/comments/4069851800/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/4070721067",
			"html_url": "https://github.com/laurent22/joplin/pull/14757#issuecomment-4070721067",
			"issue_url": "https://api.github.com/repos/laurent22/joplin/issues/14757",
			"id": 4070721067,
			"node_id": "IC_kwDOBLftOs7yokYr",
			"user": {
				"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
			},
			"created_at": "2026-03-16T21:33:52Z",
			"updated_at": "2026-03-16T21:33:52Z",
			"body": "Thanks for reviewing @mrjo118!",
			"author_association": "OWNER",
			"reactions": {
				"url": "https://api.github.com/repos/laurent22/joplin/issues/comments/4070721067/reactions",
				"total_count": 1,
				"+1": 1,
				"-1": 0,
				"laugh": 0,
				"hooray": 0,
				"confused": 0,
				"heart": 0,
				"rocket": 0,
				"eyes": 0
			},
			"performed_via_github_app": null
		}
	]
}