文件
mynode/readme/cla/consent_records/keshav0479_144454324.json
chen 301194963b
一些检查失败了
automerge / automerge (push) Has been cancelled
react-native-android-build-apk / AssembleRelease (push) Has been cancelled
Build macOS M1 / Main (push) Has been cancelled
Joplin Continuous Integration / Main (macos-15-intel) (push) Has been cancelled
Joplin Continuous Integration / Main (ubuntu-22.04) (push) Has been cancelled
Joplin Continuous Integration / Main (ubuntu-22.04-arm) (push) Has been cancelled
Joplin Continuous Integration / Main (windows-11-vs2026-arm) (push) Has been cancelled
Joplin Continuous Integration / Main (windows-2025) (push) Has been cancelled
Joplin Continuous Integration / ServerDockerImage (ubuntu-22.04) (push) Has been cancelled
Joplin Continuous Integration / ServerDockerImage (ubuntu-22.04-arm) (push) Has been cancelled
Joplin UI tests / Main (ubuntu-22.04) (push) Has been cancelled
Joplin UI tests / Main (windows-2025) (push) Has been cancelled
Joplin UI tests / Mobile (push) Has been cancelled
Close stale issues / ProcessStaleIssues (push) Has been cancelled
feat: Initial clean release of CHM
2026-11-04 11:29:39 +08:00

769 行
52 KiB
JSON

此文件含有不可见的 Unicode 字符

此文件含有人类无法区分的不可见的 Unicode 字符,但可以由计算机进行不同的处理。 如果您是想特意这样的,可以安全地忽略该警告。 使用 Escape 按钮显示他们。

此文件含有可能会与其他字符混淆的 Unicode 字符。 如果您是想特意这样的,可以安全地忽略该警告。 使用 Escape 按钮显示他们。

{
"issue": {
"url": "https://api.github.com/repos/laurent22/joplin/issues/14512",
"repository_url": "https://api.github.com/repos/laurent22/joplin",
"labels_url": "https://api.github.com/repos/laurent22/joplin/issues/14512/labels{/name}",
"comments_url": "https://api.github.com/repos/laurent22/joplin/issues/14512/comments",
"events_url": "https://api.github.com/repos/laurent22/joplin/issues/14512/events",
"html_url": "https://github.com/laurent22/joplin/pull/14512",
"id": 4007547613,
"node_id": "PR_kwDOBLftOs7HJPu2",
"number": 14512,
"title": "Mobile: Fixes #14507: Enable follow link tooltip in markdown editor",
"user": {
"login": "keshav0479",
"id": 144454324,
"node_id": "U_kgDOCJwytA",
"avatar_url": "https://avatars.githubusercontent.com/u/144454324?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/keshav0479",
"html_url": "https://github.com/keshav0479",
"followers_url": "https://api.github.com/users/keshav0479/followers",
"following_url": "https://api.github.com/users/keshav0479/following{/other_user}",
"gists_url": "https://api.github.com/users/keshav0479/gists{/gist_id}",
"starred_url": "https://api.github.com/users/keshav0479/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/keshav0479/subscriptions",
"organizations_url": "https://api.github.com/users/keshav0479/orgs",
"repos_url": "https://api.github.com/users/keshav0479/repos",
"events_url": "https://api.github.com/users/keshav0479/events{/privacy}",
"received_events_url": "https://api.github.com/users/keshav0479/received_events",
"type": "User",
"user_view_type": "public",
"site_admin": false
},
"labels": [
{
"id": 519700743,
"node_id": "MDU6TGFiZWw1MTk3MDA3NDM=",
"url": "https://api.github.com/repos/laurent22/joplin/labels/enhancement",
"name": "enhancement",
"color": "5ebeff",
"default": true,
"description": "Feature requests and code enhancements"
},
{
"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": 5991245949,
"node_id": "LA_kwDOBLftOs8AAAABZRsofQ",
"url": "https://api.github.com/repos/laurent22/joplin/labels/markdown-editor",
"name": "markdown-editor",
"color": "91ca55",
"default": false,
"description": "About the Markdown editor"
}
],
"state": "closed",
"locked": false,
"assignees": [],
"milestone": null,
"comments": 11,
"created_at": "2026-03-01T15:49:44Z",
"updated_at": "2026-03-01T21:44:05Z",
"closed_at": "2026-03-01T18:57:58Z",
"assignee": null,
"author_association": "CONTRIBUTOR",
"active_lock_reason": null,
"draft": false,
"pull_request": {
"url": "https://api.github.com/repos/laurent22/joplin/pulls/14512",
"html_url": "https://github.com/laurent22/joplin/pull/14512",
"diff_url": "https://github.com/laurent22/joplin/pull/14512.diff",
"patch_url": "https://github.com/laurent22/joplin/pull/14512.patch",
"merged_at": null
},
"body": "Fixes #14507\r\n\r\n## What\r\n\r\nOn mobile, the markdown editor has no way to follow links in edit mode. Users must switch to view mode, which is inconvenient - especially for long notes where you lose your scroll position.\r\n\r\n## How\r\n\r\nA `followLinkTooltipExtension` already exists in the codebase but was never wired in, as noted on the [forum discussion](https://discourse.joplinapp.org/t/add-ability-to-follow-hyperlinks-and-markdown-links-on-mobile-markdown-editor/48633).\r\n\r\nThis replaces `ctrlClickLinksExtension` with `followLinkTooltip` in `createEditor.ts`. When the cursor is on a link, a clickable tooltip appears that can be tapped to follow the link.\r\n\r\nSince `followLinkTooltip` internally bundles `ctrlClickLinksExtension`, Ctrl+Click on desktop still works.\r\n\r\n## Testing\r\n\r\n- Existing unit test passes \r\n- Tested on Android - tooltip appears on cursor placement, tapping follows the link \r\n\r\n## Screenshots\r\n\r\n| Before | After |\r\n|--------|-------|\r\n| ![before](https://github.com/user-attachments/assets/13351b79-bf29-472c-ac83-2ad497b71a5b) | ![after](https://github.com/user-attachments/assets/4a6e4117-4f87-44f8-a6a9-c5373e72de40) |\r\n| No tooltip -no way to follow links in edit mode | Cursor on link shows clickable `URL` tooltip |\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/14512/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/14512/timeline",
"performed_via_github_app": null,
"state_reason": null
},
"comments": [
{
"url": "https://api.github.com/repos/laurent22/joplin/issues/comments/3980331158",
"html_url": "https://github.com/laurent22/joplin/pull/14512#issuecomment-3980331158",
"issue_url": "https://api.github.com/repos/laurent22/joplin/issues/14512",
"id": 3980331158,
"node_id": "IC_kwDOBLftOs7tPwiW",
"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-01T15:50:14Z",
"updated_at": "2026-03-01T17:13:49Z",
"body": "<!-- This is an auto-generated comment: summarize by coderabbit.ai -->\nNo actionable comments were generated in the recent review. 🎉\n\n<details>\n<summary>ℹ️ Recent review info</summary>\n\n**Configuration used**: Path: .coderabbit.yaml\n\n**Review profile**: CHILL\n\n**Plan**: Pro\n\n<details>\n<summary>📥 Commits</summary>\n\nReviewing files that changed from the base of the PR and between 59461959c3c1d72e2942b5c9b9547e6e5332a99b and 4b873c30c349ad7b6ec22dd9e8ae3bae166e3df5.\n\n</details>\n\n<details>\n<summary>📒 Files selected for processing (1)</summary>\n\n* `packages/editor/CodeMirror/extensions/links/followLinkTooltipExtension.ts`\n\n</details>\n\n<details>\n<summary>🚧 Files skipped from review as they are similar to previous changes (1)</summary>\n\n* packages/editor/CodeMirror/extensions/links/followLinkTooltipExtension.ts\n\n</details>\n\n</details>\n\n---\n\n\n<!-- walkthrough_start -->\n\n<details>\n<summary>📝 Walkthrough</summary>\n\n## Walkthrough\n\nAdds a toggleable link tooltip feature to the CodeMirror editor: new `showLinkTooltip` setting, a reduced `linkTooltipOnly` extension, wiring into editor creation and runtime reconfiguration, and built-in setting metadata for Desktop and Mobile.\n\n## Changes\n\n|Cohort / File(s)|Summary|\n|---|---|\n|**Editor core** <br> `packages/editor/CodeMirror/createEditor.ts`|Imported and registered `linkTooltipOnly` via a new `linkTooltipCompartment`; wired it into initial editor setup and dynamic reconfiguration when `showLinkTooltip` changes; preserved `FollowLink` event emission.|\n|**Link tooltip extension** <br> `packages/editor/CodeMirror/extensions/links/followLinkTooltipExtension.ts`|Added `export const linkTooltipOnly(onOpenExternalLink)` which registers only the tooltip StateField and theme (omits ctrl-click and related extensions).|\n|**Editor types & defaults** <br> `packages/editor/types.ts`, `packages/editor/testing/createEditorSettings.ts`|Added `showLinkTooltip: boolean` to `EditorSettings` and test/default editor settings (default: false).|\n|**Settings metadata** <br> `packages/lib/models/settings/builtInMetadata.ts`|Added `editor.showLinkTooltip` built-in setting (bool, default false, Desktop & Mobile, labelled and described).|\n|**Desktop UI** <br> `packages/app-desktop/gui/NoteEditor/NoteBody/CodeMirror/v6/CodeMirror.tsx`|Populates editor config with `showLinkTooltip` from `EditorSettings` when creating the CodeMirror instance.|\n|**Mobile UI** <br> `packages/app-mobile/components/NoteEditor/NoteEditor.tsx`|Exposes `showLinkTooltip` via `useEditorSettings` from `Setting.value('editor.showLinkTooltip')` so mobile editor can enable the feature.|\n\n## Sequence Diagram(s)\n\n```mermaid\nsequenceDiagram\n actor User\n participant Settings as Settings Store\n participant NoteEditor as NoteEditor UI\n participant CM as CodeMirror Editor\n participant EventBus as Editor EventBus\n participant External as External Link Handler\n\n User->>NoteEditor: Open note / toggle showLinkTooltip\n NoteEditor->>Settings: Read/Update editor.showLinkTooltip\n NoteEditor->>CM: createEditor(config including showLinkTooltip)\n CM->>CM: register linkTooltipOnly in linkTooltipCompartment (if enabled)\n User->>CM: Move cursor over link\n CM->>CM: show tooltip\n User->>CM: Click tooltip follow action\n CM->>EventBus: emit EditorEventType.FollowLink(url)\n EventBus->>External: open URL\n```\n\n## Suggested labels\n\n`desktop`, `editor`, `markdown-editor`, `enhancement`, `mobile`\n\n</details>\n\n<!-- walkthrough_end -->\n\n\n<!-- pre_merge_checks_walkthrough_start -->\n\n<details>\n<summary>🚥 Pre-merge checks | ✅ 6</summary>\n\n<details>\n<summary>✅ Passed checks (6 passed)</summary>\n\n| Check name | Status | Explanation |\n| :-----------------------------------: | :------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |\n| Title check | ✅ Passed | The title directly summarises the main change: wiring in the follow link tooltip feature for mobile. It clearly identifies the issue number and primary objective. |\n| Description check | ✅ Passed | The description comprehensively explains the problem, solution, implementation details, testing, and includes before/after screenshots demonstrating the feature. |\n| Linked Issues check | ✅ Passed | All coding requirements from issue `#14507` are met: the feature is now toggleable via settings, defaults to disabled as recommended, applies to both desktop and mobile, and the tooltip enables following links without leaving edit mode. |\n| Out of Scope Changes check | ✅ Passed | All changes directly support the objective of enabling the link tooltip feature. Settings infrastructure, type definitions, extension implementation, and integration across platforms are all necessary in-scope modifications. |\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 three required sections: problem description explaining the user impact, solution explanation describing the tooltip extension implementation, and test plan with automated and manual verification 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=14512)! 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<!-- 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= -->\n\n<!-- internal state end -->",
"author_association": "CONTRIBUTOR",
"reactions": {
"url": "https://api.github.com/repos/laurent22/joplin/issues/comments/3980331158/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/3980344802",
"html_url": "https://github.com/laurent22/joplin/pull/14512#issuecomment-3980344802",
"issue_url": "https://api.github.com/repos/laurent22/joplin/issues/14512",
"id": 3980344802,
"node_id": "IC_kwDOBLftOs7tPz3i",
"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-01T15:58:02Z",
"updated_at": "2026-03-01T15:58:02Z",
"body": "The change is not particularly necessary on desktop (you can use ctrl+click), or some people might not want it. So I proposed adding a new setting to toggle the feature on or off, which should default to disabled",
"author_association": "COLLABORATOR",
"reactions": {
"url": "https://api.github.com/repos/laurent22/joplin/issues/comments/3980344802/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/3980349290",
"html_url": "https://github.com/laurent22/joplin/pull/14512#issuecomment-3980349290",
"issue_url": "https://api.github.com/repos/laurent22/joplin/issues/14512",
"id": 3980349290,
"node_id": "IC_kwDOBLftOs7tP09q",
"user": {
"login": "keshav0479",
"id": 144454324,
"node_id": "U_kgDOCJwytA",
"avatar_url": "https://avatars.githubusercontent.com/u/144454324?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/keshav0479",
"html_url": "https://github.com/keshav0479",
"followers_url": "https://api.github.com/users/keshav0479/followers",
"following_url": "https://api.github.com/users/keshav0479/following{/other_user}",
"gists_url": "https://api.github.com/users/keshav0479/gists{/gist_id}",
"starred_url": "https://api.github.com/users/keshav0479/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/keshav0479/subscriptions",
"organizations_url": "https://api.github.com/users/keshav0479/orgs",
"repos_url": "https://api.github.com/users/keshav0479/repos",
"events_url": "https://api.github.com/users/keshav0479/events{/privacy}",
"received_events_url": "https://api.github.com/users/keshav0479/received_events",
"type": "User",
"user_view_type": "public",
"site_admin": false
},
"created_at": "2026-03-01T16:00:27Z",
"updated_at": "2026-03-01T16:00:27Z",
"body": "Makes sense, i'll add a setting to toggle it. Should it be enabled by default on mobile and disabled on desktop, or disabled everywhere?\r\n",
"author_association": "CONTRIBUTOR",
"reactions": {
"url": "https://api.github.com/repos/laurent22/joplin/issues/comments/3980349290/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/3980382069",
"html_url": "https://github.com/laurent22/joplin/pull/14512#issuecomment-3980382069",
"issue_url": "https://api.github.com/repos/laurent22/joplin/issues/14512",
"id": 3980382069,
"node_id": "IC_kwDOBLftOs7tP891",
"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-01T16:15:24Z",
"updated_at": "2026-03-01T18:58:09Z",
"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/3980382069/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/3980407806",
"html_url": "https://github.com/laurent22/joplin/pull/14512#issuecomment-3980407806",
"issue_url": "https://api.github.com/repos/laurent22/joplin/issues/14512",
"id": 3980407806,
"node_id": "IC_kwDOBLftOs7tQDP-",
"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-01T16:24:02Z",
"updated_at": "2026-03-01T16:24:02Z",
"body": "> Should it be enabled by default on mobile and disabled on desktop, or disabled everywhere?\r\n\r\nMaybe just default to disabled everywhere, but put it just after the editor.imageRendering setting, and prefix the label with \"Markdown editor:\" in the same way\r\n\r\nAlso, make sure you sign the CLA as described in the comment from github-actions",
"author_association": "COLLABORATOR",
"reactions": {
"url": "https://api.github.com/repos/laurent22/joplin/issues/comments/3980407806/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/3980493034",
"html_url": "https://github.com/laurent22/joplin/pull/14512#issuecomment-3980493034",
"issue_url": "https://api.github.com/repos/laurent22/joplin/issues/14512",
"id": 3980493034,
"node_id": "IC_kwDOBLftOs7tQYDq",
"user": {
"login": "keshav0479",
"id": 144454324,
"node_id": "U_kgDOCJwytA",
"avatar_url": "https://avatars.githubusercontent.com/u/144454324?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/keshav0479",
"html_url": "https://github.com/keshav0479",
"followers_url": "https://api.github.com/users/keshav0479/followers",
"following_url": "https://api.github.com/users/keshav0479/following{/other_user}",
"gists_url": "https://api.github.com/users/keshav0479/gists{/gist_id}",
"starred_url": "https://api.github.com/users/keshav0479/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/keshav0479/subscriptions",
"organizations_url": "https://api.github.com/users/keshav0479/orgs",
"repos_url": "https://api.github.com/users/keshav0479/repos",
"events_url": "https://api.github.com/users/keshav0479/events{/privacy}",
"received_events_url": "https://api.github.com/users/keshav0479/received_events",
"type": "User",
"user_view_type": "public",
"site_admin": false
},
"created_at": "2026-03-01T16:47:57Z",
"updated_at": "2026-03-01T16:47:57Z",
"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/3980493034/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/3980523944",
"html_url": "https://github.com/laurent22/joplin/pull/14512#issuecomment-3980523944",
"issue_url": "https://api.github.com/repos/laurent22/joplin/issues/14512",
"id": 3980523944,
"node_id": "IC_kwDOBLftOs7tQfmo",
"user": {
"login": "keshav0479",
"id": 144454324,
"node_id": "U_kgDOCJwytA",
"avatar_url": "https://avatars.githubusercontent.com/u/144454324?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/keshav0479",
"html_url": "https://github.com/keshav0479",
"followers_url": "https://api.github.com/users/keshav0479/followers",
"following_url": "https://api.github.com/users/keshav0479/following{/other_user}",
"gists_url": "https://api.github.com/users/keshav0479/gists{/gist_id}",
"starred_url": "https://api.github.com/users/keshav0479/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/keshav0479/subscriptions",
"organizations_url": "https://api.github.com/users/keshav0479/orgs",
"repos_url": "https://api.github.com/users/keshav0479/repos",
"events_url": "https://api.github.com/users/keshav0479/events{/privacy}",
"received_events_url": "https://api.github.com/users/keshav0479/received_events",
"type": "User",
"user_view_type": "public",
"site_admin": false
},
"created_at": "2026-03-01T17:01:16Z",
"updated_at": "2026-03-01T17:01:16Z",
"body": "added a toggleable setting as suggested - defaults to disabled, placed right after \"Render images\", with the \"Markdown editor:\" prefix. Ctrl+Click on desktop is unaffected regardless of the toggle, also signed CLA doc.\r\n\r\n<img src=\"https://github.com/user-attachments/assets/64b33b2c-d9f1-4c07-bf3a-c4b07180e374\" width=\"300\" />\r\n\r\n",
"author_association": "CONTRIBUTOR",
"reactions": {
"url": "https://api.github.com/repos/laurent22/joplin/issues/comments/3980523944/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/3980780222",
"html_url": "https://github.com/laurent22/joplin/pull/14512#issuecomment-3980780222",
"issue_url": "https://api.github.com/repos/laurent22/joplin/issues/14512",
"id": 3980780222,
"node_id": "IC_kwDOBLftOs7tReK-",
"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-01T18:57:58Z",
"updated_at": "2026-03-01T18:57:58Z",
"body": "Sorry but I'm closing this PR. The issue may be valid but needs to be reviewed and discussed before jumping to implementation, not to mention that several other GSoC guidelines have not been followed in this PR",
"author_association": "OWNER",
"reactions": {
"url": "https://api.github.com/repos/laurent22/joplin/issues/comments/3980780222/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/3980818276",
"html_url": "https://github.com/laurent22/joplin/pull/14512#issuecomment-3980818276",
"issue_url": "https://api.github.com/repos/laurent22/joplin/issues/14512",
"id": 3980818276,
"node_id": "IC_kwDOBLftOs7tRndk",
"user": {
"login": "keshav0479",
"id": 144454324,
"node_id": "U_kgDOCJwytA",
"avatar_url": "https://avatars.githubusercontent.com/u/144454324?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/keshav0479",
"html_url": "https://github.com/keshav0479",
"followers_url": "https://api.github.com/users/keshav0479/followers",
"following_url": "https://api.github.com/users/keshav0479/following{/other_user}",
"gists_url": "https://api.github.com/users/keshav0479/gists{/gist_id}",
"starred_url": "https://api.github.com/users/keshav0479/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/keshav0479/subscriptions",
"organizations_url": "https://api.github.com/users/keshav0479/orgs",
"repos_url": "https://api.github.com/users/keshav0479/repos",
"events_url": "https://api.github.com/users/keshav0479/events{/privacy}",
"received_events_url": "https://api.github.com/users/keshav0479/received_events",
"type": "User",
"user_view_type": "public",
"site_admin": false
},
"created_at": "2026-03-01T19:16:22Z",
"updated_at": "2026-03-01T19:16:22Z",
"body": "> Sorry but I'm closing this PR. The issue may be valid but needs to be reviewed and discussed before jumping to implementation, not to mention that several other GSoC guidelines have not been followed in this PR\r\n\r\nHey, thanks for the feedback. Apologies for rushing this - mrjo118 opened the issue and was actively guiding the direction (including the toggle setting and placement), so I treated that as a green light to go ahead. I realize now I should've waited for maintainer review on the issue itself before jumping into implementation.\r\n\r\nFor next time, i'll make sure to discuss on the forum first and get proper approval before starting any work.\r\nThe implementation is fully working and tested, so if this feature gets approved down the line, the code is ready to go. Will open a new PR once the issue is approved.\r\n",
"author_association": "CONTRIBUTOR",
"reactions": {
"url": "https://api.github.com/repos/laurent22/joplin/issues/comments/3980818276/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/3981073936",
"html_url": "https://github.com/laurent22/joplin/pull/14512#issuecomment-3981073936",
"issue_url": "https://api.github.com/repos/laurent22/joplin/issues/14512",
"id": 3981073936,
"node_id": "IC_kwDOBLftOs7tSl4Q",
"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-01T21:33:59Z",
"updated_at": "2026-03-01T21:33:59Z",
"body": "Thanks for your understanding. We'll probably go ahead with doing something about this issue, but it's good to have a bit of time to discuss it and agree what we're actually going to do. In the meantime there are many other issues you could check, those with High or Medium label, or those with Enhancement label are all things that we've triaged",
"author_association": "OWNER",
"reactions": {
"url": "https://api.github.com/repos/laurent22/joplin/issues/comments/3981073936/reactions",
"total_count": 1,
"+1": 0,
"-1": 0,
"laugh": 0,
"hooray": 0,
"confused": 0,
"heart": 1,
"rocket": 0,
"eyes": 0
},
"performed_via_github_app": null
},
{
"url": "https://api.github.com/repos/laurent22/joplin/issues/comments/3981091018",
"html_url": "https://github.com/laurent22/joplin/pull/14512#issuecomment-3981091018",
"issue_url": "https://api.github.com/repos/laurent22/joplin/issues/14512",
"id": 3981091018,
"node_id": "IC_kwDOBLftOs7tSqDK",
"user": {
"login": "keshav0479",
"id": 144454324,
"node_id": "U_kgDOCJwytA",
"avatar_url": "https://avatars.githubusercontent.com/u/144454324?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/keshav0479",
"html_url": "https://github.com/keshav0479",
"followers_url": "https://api.github.com/users/keshav0479/followers",
"following_url": "https://api.github.com/users/keshav0479/following{/other_user}",
"gists_url": "https://api.github.com/users/keshav0479/gists{/gist_id}",
"starred_url": "https://api.github.com/users/keshav0479/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/keshav0479/subscriptions",
"organizations_url": "https://api.github.com/users/keshav0479/orgs",
"repos_url": "https://api.github.com/users/keshav0479/repos",
"events_url": "https://api.github.com/users/keshav0479/events{/privacy}",
"received_events_url": "https://api.github.com/users/keshav0479/received_events",
"type": "User",
"user_view_type": "public",
"site_admin": false
},
"created_at": "2026-03-01T21:44:05Z",
"updated_at": "2026-03-01T21:44:05Z",
"body": "Sounds good, appreciate the guidance! Already looking into some of the triaged issues.",
"author_association": "CONTRIBUTOR",
"reactions": {
"url": "https://api.github.com/repos/laurent22/joplin/issues/comments/3981091018/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
}
]
}