{
	"issue": {
		"url": "https://api.github.com/repos/laurent22/joplin/issues/14494",
		"repository_url": "https://api.github.com/repos/laurent22/joplin",
		"labels_url": "https://api.github.com/repos/laurent22/joplin/issues/14494/labels{/name}",
		"comments_url": "https://api.github.com/repos/laurent22/joplin/issues/14494/comments",
		"events_url": "https://api.github.com/repos/laurent22/joplin/issues/14494/events",
		"html_url": "https://github.com/laurent22/joplin/pull/14494",
		"id": 4001142893,
		"node_id": "PR_kwDOBLftOs7G1Mx7",
		"number": 14494,
		"title": "Desktop: Fixes #9300: Keymap: Support Super/Windows key on Linux",
		"user": {
			"login": "parththirwani",
			"id": 124462644,
			"node_id": "U_kgDOB2smNA",
			"avatar_url": "https://avatars.githubusercontent.com/u/124462644?v=4",
			"gravatar_id": "",
			"url": "https://api.github.com/users/parththirwani",
			"html_url": "https://github.com/parththirwani",
			"followers_url": "https://api.github.com/users/parththirwani/followers",
			"following_url": "https://api.github.com/users/parththirwani/following{/other_user}",
			"gists_url": "https://api.github.com/users/parththirwani/gists{/gist_id}",
			"starred_url": "https://api.github.com/users/parththirwani/starred{/owner}{/repo}",
			"subscriptions_url": "https://api.github.com/users/parththirwani/subscriptions",
			"organizations_url": "https://api.github.com/users/parththirwani/orgs",
			"repos_url": "https://api.github.com/users/parththirwani/repos",
			"events_url": "https://api.github.com/users/parththirwani/events{/privacy}",
			"received_events_url": "https://api.github.com/users/parththirwani/received_events",
			"type": "User",
			"user_view_type": "public",
			"site_admin": false
		},
		"labels": [
			{
				"id": 519700741,
				"node_id": "MDU6TGFiZWw1MTk3MDA3NDE=",
				"url": "https://api.github.com/repos/laurent22/joplin/labels/bug",
				"name": "bug",
				"color": "cf353b",
				"default": true,
				"description": "It's a bug"
			},
			{
				"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": 1366671832,
				"node_id": "MDU6TGFiZWwxMzY2NjcxODMy",
				"url": "https://api.github.com/repos/laurent22/joplin/labels/linux",
				"name": "linux",
				"color": "bfd4f2",
				"default": false,
				"description": ""
			},
			{
				"id": 1366672371,
				"node_id": "MDU6TGFiZWwxMzY2NjcyMzcx",
				"url": "https://api.github.com/repos/laurent22/joplin/labels/editor",
				"name": "editor",
				"color": "91ca55",
				"default": false,
				"description": ""
			}
		],
		"state": "closed",
		"locked": false,
		"assignees": [],
		"milestone": null,
		"comments": 12,
		"created_at": "2026-02-27T13:52:11Z",
		"updated_at": "2026-03-01T11:07:32Z",
		"closed_at": "2026-03-01T11:07:22Z",
		"assignee": null,
		"author_association": "CONTRIBUTOR",
		"active_lock_reason": null,
		"draft": false,
		"pull_request": {
			"url": "https://api.github.com/repos/laurent22/joplin/pulls/14494",
			"html_url": "https://github.com/laurent22/joplin/pull/14494",
			"diff_url": "https://github.com/laurent22/joplin/pull/14494.diff",
			"patch_url": "https://github.com/laurent22/joplin/pull/14494.patch",
			"merged_at": null
		},
		"body": "Fixes #9300 — \"Unrecognized modifier name: Super\" crash on Linux when using Super/Windows key in keyboard shortcuts.\r\n\r\n### AI Assistance Disclosure\r\nAI was used to create explanatory code comments but were removed after code review\r\n \r\n### Changes\r\n- Added `Super` and `Meta` to `modifiersRegExp.default` in `KeymapService.ts`\r\n- In `domToElectronAccelerator()`, detect Super key press via `getModifierState('Super')` or `metaKey` fallback\r\n- In `normalizeAccelerator.ts`, added case to map `super` → `Cmd` (treated as Meta by CodeMirror on Linux)\r\n\r\n### Result\r\n- Imported shortcuts with `\"Super+N\"` no longer crash the editor\r\n- Super+N creates new note after app restart (as expected in current architecture)\r\n- No regression on macOS/Windows (Super is ignored as before)\r\n\r\n### Testing\r\n- Reproduced crash on Arch Linux (Omarchy) with Joplin 3.6.2 dev\r\n- Applied patch → imported `\"Super+N\"` → opened note → no crash\r\n- Pressed Super+N → action triggered\r\n\r\nCloses #9300\r\n\r\nNote: Full live reloading of keymaps is not implemented yet (requires app restart), but this is current Joplin behavior for all shortcut changes.\r\n\r\n<img width=\"1685\" height=\"332\" alt=\"image\" src=\"https://github.com/user-attachments/assets/36b628e9-6222-4757-a4e8-d49d036dd231\" />\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/14494/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/14494/timeline",
		"performed_via_github_app": null,
		"state_reason": null
	},
	"comments": [
		{
			"url": "https://api.github.com/repos/laurent22/joplin/issues/comments/3973073485",
			"html_url": "https://github.com/laurent22/joplin/pull/14494#issuecomment-3973073485",
			"issue_url": "https://api.github.com/repos/laurent22/joplin/issues/14494",
			"id": 3973073485,
			"node_id": "IC_kwDOBLftOs7s0EpN",
			"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-02-27T13:52:20Z",
			"updated_at": "2026-03-01T11:07:33Z",
			"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/3973073485/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/3973074503",
			"html_url": "https://github.com/laurent22/joplin/pull/14494#issuecomment-3973074503",
			"issue_url": "https://api.github.com/repos/laurent22/joplin/issues/14494",
			"id": 3973074503,
			"node_id": "IC_kwDOBLftOs7s0E5H",
			"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-02-27T13:52:35Z",
			"updated_at": "2026-02-27T18:34:04Z",
			"body": "<!-- This is an auto-generated comment: summarize by coderabbit.ai -->\n<!-- This is an auto-generated comment: review paused by coderabbit.ai -->\n\n> [!NOTE]\n> ## Reviews paused\n> \n> It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the `reviews.auto_review.auto_pause_after_reviewed_commits` setting.\n> \n> Use the following commands to manage reviews:\n> - `@coderabbitai resume` to resume automatic reviews.\n> - `@coderabbitai review` to trigger a single review.\n> \n> Use the checkboxes below for quick actions:\n> - [ ] <!-- {\"checkboxId\": \"7f6cc2e2-2e4e-497a-8c31-c9e4573e93d1\"} --> ▶️ Resume reviews\n> - [ ] <!-- {\"checkboxId\": \"e9bb8d72-00e8-4f67-9cb2-caf3b22574fe\"} --> 🔍 Trigger review\n\n<!-- end of auto-generated comment: review paused by coderabbit.ai -->\n<!-- walkthrough_start -->\n\n<details>\n<summary>📝 Walkthrough</summary>\n\n## Walkthrough\n\nAdds recognition and handling of the Super modifier across accelerator parsing and keymap handling: the CodeMirror accelerator normaliser accepts \"Super\" (mapped to Cmd/Meta) and KeymapService validation and dom→Electron conversion detect Super (using getModifierState('Super') with metaKey fallback).\n\n## Changes\n\n|Cohort / File(s)|Summary|\n|---|---|\n|**Accelerator normalisation** <br> `packages/app-desktop/gui/NoteEditor/NoteBody/CodeMirror/utils/normalizeAccelerator.ts`|Adds case‑insensitive handling for the `Super` modifier, lowercases tokens before evaluation, maps `Super` to the Cmd/Meta branch, and integrates it into existing accelerator composition and naming logic (preserves CodeMirror single‑letter/Arrow handling).|\n|**Keymap validation & conversion** <br> `packages/lib/services/KeymapService.ts`|Expands default modifiers regexp to include `Super`/`Meta`, documents acceptance of Super, and updates dom→Electron accelerator conversion to detect `Super` via `event.getModifierState('Super')` with a `metaKey` fallback; minor formatting/comments adjusted.|\n\n## Sequence Diagram(s)\n\n```mermaid\nsequenceDiagram\n  actor User\n  participant DOM as Browser/DOM\n  participant Keymap as KeymapService\n  participant CM as CodeMirror normaliser\n  participant Store as AcceleratorStore\n\n  User->>DOM: press Super + Key\n  DOM->>Keymap: domToElectronAccelerator(event)\n  Note right of Keymap: detect Super via getModifierState('Super')\\nfallback to metaKey\n  Keymap->>CM: normalizeAccelerator(\"Super+Key\")\n  CM->>CM: lowercase tokens → recognise modifiers\\nmap Super -> Cmd/Meta → format accelerator\n  CM->>Store: register accelerator (\"Cmd+Key\")\n  Store->>Keymap: confirm/resolve duplicates\n```\n\n</details>\n\n<!-- walkthrough_end -->\n\n<!-- pre_merge_checks_walkthrough_start -->\n\n<details>\n<summary>🚥 Pre-merge checks | ✅ 5</summary>\n\n<details>\n<summary>✅ Passed checks (5 passed)</summary>\n\n|         Check name         | Status   | Explanation                                                                                                                                                                                                            |\n| :------------------------: | :------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n|     Linked Issues check    | ✅ Passed | The PR successfully addresses the core objective from issue `#9300` by adding Super/Meta modifier support to both KeymapService and normalizeAccelerator, resolving the validation mismatch that caused runtime crashes. |\n| Out of Scope Changes check | ✅ Passed | All changes are directly scoped to resolving the Super/Meta modifier support issue; no unrelated modifications are present beyond the stated objectives.                                                               |\n|     Docstring Coverage     | ✅ Passed | No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.                                                                                                             |\n|         Title check        | ✅ Passed | The title accurately summarizes the main change: adding support for the Super/Windows key on Linux in the keymap system, which directly addresses issue `#9300`.                                                         |\n|      Description check     | ✅ Passed | The PR description clearly explains the fix for the Super key crash on Linux, detailing the changes made to KeymapService.ts and normalizeAccelerator.ts, and includes comprehensive testing evidence.                 |\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<!-- tips_start -->\n\n---\n\nThanks for using [CodeRabbit](https://coderabbit.ai?utm_source=oss&utm_medium=github&utm_campaign=laurent22/joplin&utm_content=14494)! 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<!-- [encoded data, 11556 characters] -->\n\n<!-- internal state end -->",
			"author_association": "CONTRIBUTOR",
			"reactions": {
				"url": "https://api.github.com/repos/laurent22/joplin/issues/comments/3973074503/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/3973098586",
			"html_url": "https://github.com/laurent22/joplin/pull/14494#issuecomment-3973098586",
			"issue_url": "https://api.github.com/repos/laurent22/joplin/issues/14494",
			"id": 3973098586,
			"node_id": "IC_kwDOBLftOs7s0Kxa",
			"user": {
				"login": "parththirwani",
				"id": 124462644,
				"node_id": "U_kgDOB2smNA",
				"avatar_url": "https://avatars.githubusercontent.com/u/124462644?v=4",
				"gravatar_id": "",
				"url": "https://api.github.com/users/parththirwani",
				"html_url": "https://github.com/parththirwani",
				"followers_url": "https://api.github.com/users/parththirwani/followers",
				"following_url": "https://api.github.com/users/parththirwani/following{/other_user}",
				"gists_url": "https://api.github.com/users/parththirwani/gists{/gist_id}",
				"starred_url": "https://api.github.com/users/parththirwani/starred{/owner}{/repo}",
				"subscriptions_url": "https://api.github.com/users/parththirwani/subscriptions",
				"organizations_url": "https://api.github.com/users/parththirwani/orgs",
				"repos_url": "https://api.github.com/users/parththirwani/repos",
				"events_url": "https://api.github.com/users/parththirwani/events{/privacy}",
				"received_events_url": "https://api.github.com/users/parththirwani/received_events",
				"type": "User",
				"user_view_type": "public",
				"site_admin": false
			},
			"created_at": "2026-02-27T13:57:44Z",
			"updated_at": "2026-02-27T13:57:44Z",
			"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/3973098586/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/3973165123",
			"html_url": "https://github.com/laurent22/joplin/pull/14494#issuecomment-3973165123",
			"issue_url": "https://api.github.com/repos/laurent22/joplin/issues/14494",
			"id": 3973165123,
			"node_id": "IC_kwDOBLftOs7s0bBD",
			"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-02-27T14:11:28Z",
			"updated_at": "2026-02-27T14:11:28Z",
			"body": "Hello, there are many whitespace changes. Those will have to be cleaned up before we review",
			"author_association": "OWNER",
			"reactions": {
				"url": "https://api.github.com/repos/laurent22/joplin/issues/comments/3973165123/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/3973303295",
			"html_url": "https://github.com/laurent22/joplin/pull/14494#issuecomment-3973303295",
			"issue_url": "https://api.github.com/repos/laurent22/joplin/issues/14494",
			"id": 3973303295,
			"node_id": "IC_kwDOBLftOs7s08v_",
			"user": {
				"login": "parththirwani",
				"id": 124462644,
				"node_id": "U_kgDOB2smNA",
				"avatar_url": "https://avatars.githubusercontent.com/u/124462644?v=4",
				"gravatar_id": "",
				"url": "https://api.github.com/users/parththirwani",
				"html_url": "https://github.com/parththirwani",
				"followers_url": "https://api.github.com/users/parththirwani/followers",
				"following_url": "https://api.github.com/users/parththirwani/following{/other_user}",
				"gists_url": "https://api.github.com/users/parththirwani/gists{/gist_id}",
				"starred_url": "https://api.github.com/users/parththirwani/starred{/owner}{/repo}",
				"subscriptions_url": "https://api.github.com/users/parththirwani/subscriptions",
				"organizations_url": "https://api.github.com/users/parththirwani/orgs",
				"repos_url": "https://api.github.com/users/parththirwani/repos",
				"events_url": "https://api.github.com/users/parththirwani/events{/privacy}",
				"received_events_url": "https://api.github.com/users/parththirwani/received_events",
				"type": "User",
				"user_view_type": "public",
				"site_admin": false
			},
			"created_at": "2026-02-27T14:39:53Z",
			"updated_at": "2026-02-27T14:39:53Z",
			"body": "> Hello, there are many whitespace changes. Those will have to be cleaned up before we review\r\n\r\nThanks for the feedback @laurent22!\r\n\r\nI've cleaned up all whitespace/trailing changes and force-pushed to keep the commit history clean.  \r\nThe diff now only shows the intended Super/Meta support changes.\r\n\r\nLet me know if anything else needs adjustment.",
			"author_association": "CONTRIBUTOR",
			"reactions": {
				"url": "https://api.github.com/repos/laurent22/joplin/issues/comments/3973303295/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/3973317127",
			"html_url": "https://github.com/laurent22/joplin/pull/14494#issuecomment-3973317127",
			"issue_url": "https://api.github.com/repos/laurent22/joplin/issues/14494",
			"id": 3973317127,
			"node_id": "IC_kwDOBLftOs7s1AIH",
			"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-02-27T14:42:49Z",
			"updated_at": "2026-02-27T14:42:49Z",
			"body": "There's still mroe",
			"author_association": "OWNER",
			"reactions": {
				"url": "https://api.github.com/repos/laurent22/joplin/issues/comments/3973317127/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/3973424203",
			"html_url": "https://github.com/laurent22/joplin/pull/14494#issuecomment-3973424203",
			"issue_url": "https://api.github.com/repos/laurent22/joplin/issues/14494",
			"id": 3973424203,
			"node_id": "IC_kwDOBLftOs7s1aRL",
			"user": {
				"login": "parththirwani",
				"id": 124462644,
				"node_id": "U_kgDOB2smNA",
				"avatar_url": "https://avatars.githubusercontent.com/u/124462644?v=4",
				"gravatar_id": "",
				"url": "https://api.github.com/users/parththirwani",
				"html_url": "https://github.com/parththirwani",
				"followers_url": "https://api.github.com/users/parththirwani/followers",
				"following_url": "https://api.github.com/users/parththirwani/following{/other_user}",
				"gists_url": "https://api.github.com/users/parththirwani/gists{/gist_id}",
				"starred_url": "https://api.github.com/users/parththirwani/starred{/owner}{/repo}",
				"subscriptions_url": "https://api.github.com/users/parththirwani/subscriptions",
				"organizations_url": "https://api.github.com/users/parththirwani/orgs",
				"repos_url": "https://api.github.com/users/parththirwani/repos",
				"events_url": "https://api.github.com/users/parththirwani/events{/privacy}",
				"received_events_url": "https://api.github.com/users/parththirwani/received_events",
				"type": "User",
				"user_view_type": "public",
				"site_admin": false
			},
			"created_at": "2026-02-27T15:04:14Z",
			"updated_at": "2026-02-27T15:04:14Z",
			"body": "> There's still mroe\r\n\r\nThanks for the feedback @laurent22!\r\n\r\nI've cleaned up all whitespace/trailing changes and force-pushed to keep the diff minimal and readable.  \r\nThe changes now only include:\r\n- Adding Super/Meta to modifiersRegExp.default\r\n- Detecting Super in domToElectronAccelerator\r\n- Mapping super → cmd in normalizeAccelerator to prevent the crash\r\n- Comments explaining the changes\r\n\r\nLet me know if anything else needs adjustment.",
			"author_association": "CONTRIBUTOR",
			"reactions": {
				"url": "https://api.github.com/repos/laurent22/joplin/issues/comments/3973424203/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/3973726632",
			"html_url": "https://github.com/laurent22/joplin/pull/14494#issuecomment-3973726632",
			"issue_url": "https://api.github.com/repos/laurent22/joplin/issues/14494",
			"id": 3973726632,
			"node_id": "IC_kwDOBLftOs7s2kGo",
			"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-02-27T16:01:10Z",
			"updated_at": "2026-02-27T16:01:10Z",
			"body": "Please read our doc, you're supposed to disclose your usage of ai",
			"author_association": "OWNER",
			"reactions": {
				"url": "https://api.github.com/repos/laurent22/joplin/issues/comments/3973726632/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/3974345081",
			"html_url": "https://github.com/laurent22/joplin/pull/14494#issuecomment-3974345081",
			"issue_url": "https://api.github.com/repos/laurent22/joplin/issues/14494",
			"id": 3974345081,
			"node_id": "IC_kwDOBLftOs7s47F5",
			"user": {
				"login": "parththirwani",
				"id": 124462644,
				"node_id": "U_kgDOB2smNA",
				"avatar_url": "https://avatars.githubusercontent.com/u/124462644?v=4",
				"gravatar_id": "",
				"url": "https://api.github.com/users/parththirwani",
				"html_url": "https://github.com/parththirwani",
				"followers_url": "https://api.github.com/users/parththirwani/followers",
				"following_url": "https://api.github.com/users/parththirwani/following{/other_user}",
				"gists_url": "https://api.github.com/users/parththirwani/gists{/gist_id}",
				"starred_url": "https://api.github.com/users/parththirwani/starred{/owner}{/repo}",
				"subscriptions_url": "https://api.github.com/users/parththirwani/subscriptions",
				"organizations_url": "https://api.github.com/users/parththirwani/orgs",
				"repos_url": "https://api.github.com/users/parththirwani/repos",
				"events_url": "https://api.github.com/users/parththirwani/events{/privacy}",
				"received_events_url": "https://api.github.com/users/parththirwani/received_events",
				"type": "User",
				"user_view_type": "public",
				"site_admin": false
			},
			"created_at": "2026-02-27T18:14:16Z",
			"updated_at": "2026-02-27T18:14:16Z",
			"body": "> Please read our doc, you're supposed to disclose your usage of ai\r\n\r\n- I have added AI Disclosure it was only used to add explanatory comments which are now removed \r\n- Added duplicate detection: Meta and Super are now normalized to 'Super' before checking for conflicts in `validateKeymap()`\r\n\r\nLet me know if anything else needs adjustment.",
			"author_association": "CONTRIBUTOR",
			"reactions": {
				"url": "https://api.github.com/repos/laurent22/joplin/issues/comments/3974345081/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/3978836926",
			"html_url": "https://github.com/laurent22/joplin/pull/14494#issuecomment-3978836926",
			"issue_url": "https://api.github.com/repos/laurent22/joplin/issues/14494",
			"id": 3978836926,
			"node_id": "IC_kwDOBLftOs7tKDu-",
			"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-01T01:54:13Z",
			"updated_at": "2026-03-01T01:54:13Z",
			"body": "> * I have added AI Disclosure it was only used to add explanatory comments which are now removed\r\n\r\nBit hard to believe you only use AI to add comments, especially when the comments are not useful at all",
			"author_association": "OWNER",
			"reactions": {
				"url": "https://api.github.com/repos/laurent22/joplin/issues/comments/3978836926/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/3979229400",
			"html_url": "https://github.com/laurent22/joplin/pull/14494#issuecomment-3979229400",
			"issue_url": "https://api.github.com/repos/laurent22/joplin/issues/14494",
			"id": 3979229400,
			"node_id": "IC_kwDOBLftOs7tLjjY",
			"user": {
				"login": "parththirwani",
				"id": 124462644,
				"node_id": "U_kgDOB2smNA",
				"avatar_url": "https://avatars.githubusercontent.com/u/124462644?v=4",
				"gravatar_id": "",
				"url": "https://api.github.com/users/parththirwani",
				"html_url": "https://github.com/parththirwani",
				"followers_url": "https://api.github.com/users/parththirwani/followers",
				"following_url": "https://api.github.com/users/parththirwani/following{/other_user}",
				"gists_url": "https://api.github.com/users/parththirwani/gists{/gist_id}",
				"starred_url": "https://api.github.com/users/parththirwani/starred{/owner}{/repo}",
				"subscriptions_url": "https://api.github.com/users/parththirwani/subscriptions",
				"organizations_url": "https://api.github.com/users/parththirwani/orgs",
				"repos_url": "https://api.github.com/users/parththirwani/repos",
				"events_url": "https://api.github.com/users/parththirwani/events{/privacy}",
				"received_events_url": "https://api.github.com/users/parththirwani/received_events",
				"type": "User",
				"user_view_type": "public",
				"site_admin": false
			},
			"created_at": "2026-03-01T06:10:17Z",
			"updated_at": "2026-03-01T06:10:17Z",
			"body": "> > * I have added AI Disclosure it was only used to add explanatory comments which are now removed\n> \n> Bit hard to believe you only use AI to add comments, especially when the comments are not useful at all\n\nI can understand how it can look but to be fully transparent this was my first pr so I made the changes and prompted AI to add comments for the diff because I didn't know what was the pattern for comments. The actual logic, normalisation function , duplicate checks were written by me and tested locally by me ",
			"author_association": "CONTRIBUTOR",
			"reactions": {
				"url": "https://api.github.com/repos/laurent22/joplin/issues/comments/3979229400/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/3979759228",
			"html_url": "https://github.com/laurent22/joplin/pull/14494#issuecomment-3979759228",
			"issue_url": "https://api.github.com/repos/laurent22/joplin/issues/14494",
			"id": 3979759228,
			"node_id": "IC_kwDOBLftOs7tNk58",
			"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-01T11:07:22Z",
			"updated_at": "2026-03-01T11:07:22Z",
			"body": "It's not clear what needs to be changed or how for this PR, and you didn't do any work clarifying the requirements so I'm going to close the PR.",
			"author_association": "OWNER",
			"reactions": {
				"url": "https://api.github.com/repos/laurent22/joplin/issues/comments/3979759228/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
		}
	]
}