{ "issue": { "url": "https://api.github.com/repos/laurent22/joplin/issues/7592", "repository_url": "https://api.github.com/repos/laurent22/joplin", "labels_url": "https://api.github.com/repos/laurent22/joplin/issues/7592/labels{/name}", "comments_url": "https://api.github.com/repos/laurent22/joplin/issues/7592/comments", "events_url": "https://api.github.com/repos/laurent22/joplin/issues/7592/events", "html_url": "https://github.com/laurent22/joplin/pull/7592", "id": 1523910230, "node_id": "PR_kwDOBLftOs5G47DA", "number": 7592, "title": "Desktop: Fix highlighting in GotoAnything dialogue", "user": { "login": "andy1631", "id": 46966845, "node_id": "MDQ6VXNlcjQ2OTY2ODQ1", "avatar_url": "https://avatars.githubusercontent.com/u/46966845?v=4", "gravatar_id": "", "url": "https://api.github.com/users/andy1631", "html_url": "https://github.com/andy1631", "followers_url": "https://api.github.com/users/andy1631/followers", "following_url": "https://api.github.com/users/andy1631/following{/other_user}", "gists_url": "https://api.github.com/users/andy1631/gists{/gist_id}", "starred_url": "https://api.github.com/users/andy1631/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/andy1631/subscriptions", "organizations_url": "https://api.github.com/users/andy1631/orgs", "repos_url": "https://api.github.com/users/andy1631/repos", "events_url": "https://api.github.com/users/andy1631/events{/privacy}", "received_events_url": "https://api.github.com/users/andy1631/received_events", "type": "User", "user_view_type": "public", "site_admin": false }, "labels": [ { "id": 1080341216, "node_id": "MDU6TGFiZWwxMDgwMzQxMjE2", "url": "https://api.github.com/repos/laurent22/joplin/labels/desktop", "name": "desktop", "color": "ffc274", "default": false, "description": "All desktop platforms" } ], "state": "closed", "locked": true, "assignee": null, "assignees": [], "milestone": null, "comments": 10, "created_at": "2023-01-07T15:20:14Z", "updated_at": "2023-02-08T14:29:28Z", "closed_at": "2023-02-08T14:20:55Z", "author_association": "CONTRIBUTOR", "sub_issues_summary": { "total": 0, "completed": 0, "percent_completed": 0 }, "active_lock_reason": null, "draft": false, "pull_request": { "url": "https://api.github.com/repos/laurent22/joplin/pulls/7592", "html_url": "https://github.com/laurent22/joplin/pull/7592", "diff_url": "https://github.com/laurent22/joplin/pull/7592.diff", "patch_url": "https://github.com/laurent22/joplin/pull/7592.patch", "merged_at": "2023-02-08T14:20:55Z" }, "body": "I have identified an issue with the changes introduced by commit [e797ebb864fbf429a49b6d20e5779d0c9aa6c4d5](https://github.com/laurent22/joplin/commit/e797ebb864fbf429a49b6d20e5779d0c9aa6c4d5), which addresses a security issue but causes issues with the highlighting in the GotoAnything dialogue. My changes fix these issues by sanitizing the note title before using the regex to highlight the keywords. \r\nIn the original fix, the htmlentities function was applied to the regex rather than the text to be highlighted.\r\n\r\nBefore:\r\n![image](https://user-images.githubusercontent.com/46966845/211156759-8f3b6aba-3c14-4afd-9c63-b1477381bca9.png)\r\n\r\nAfter:\r\n![image](https://user-images.githubusercontent.com/46966845/211156823-f67617d9-3841-465b-abb9-ac1bbc8eafb5.png)", "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/7592/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/7592/timeline", "performed_via_github_app": null, "state_reason": null }, "comments": [ { "url": "https://api.github.com/repos/laurent22/joplin/issues/comments/1374513836", "html_url": "https://github.com/laurent22/joplin/pull/7592#issuecomment-1374513836", "issue_url": "https://api.github.com/repos/laurent22/joplin/issues/7592", "id": 1374513836, "node_id": "IC_kwDOBLftOs5R7Wqs", "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": "2023-01-07T15:20:26Z", "updated_at": "2023-02-05T11:34:56Z", "author_association": "CONTRIBUTOR", "body": "****CLA Assistant Lite bot**** All contributors have signed the CLA ✍️ ✅", "reactions": { "url": "https://api.github.com/repos/laurent22/joplin/issues/comments/1374513836/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/1374514026", "html_url": "https://github.com/laurent22/joplin/pull/7592#issuecomment-1374514026", "issue_url": "https://api.github.com/repos/laurent22/joplin/issues/7592", "id": 1374514026, "node_id": "IC_kwDOBLftOs5R7Wtq", "user": { "login": "andy1631", "id": 46966845, "node_id": "MDQ6VXNlcjQ2OTY2ODQ1", "avatar_url": "https://avatars.githubusercontent.com/u/46966845?v=4", "gravatar_id": "", "url": "https://api.github.com/users/andy1631", "html_url": "https://github.com/andy1631", "followers_url": "https://api.github.com/users/andy1631/followers", "following_url": "https://api.github.com/users/andy1631/following{/other_user}", "gists_url": "https://api.github.com/users/andy1631/gists{/gist_id}", "starred_url": "https://api.github.com/users/andy1631/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/andy1631/subscriptions", "organizations_url": "https://api.github.com/users/andy1631/orgs", "repos_url": "https://api.github.com/users/andy1631/repos", "events_url": "https://api.github.com/users/andy1631/events{/privacy}", "received_events_url": "https://api.github.com/users/andy1631/received_events", "type": "User", "user_view_type": "public", "site_admin": false }, "created_at": "2023-01-07T15:21:07Z", "updated_at": "2023-01-07T15:21:07Z", "author_association": "CONTRIBUTOR", "body": "I have read the CLA Document and I hereby sign the CLA", "reactions": { "url": "https://api.github.com/repos/laurent22/joplin/issues/comments/1374514026/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/1374521072", "html_url": "https://github.com/laurent22/joplin/pull/7592#issuecomment-1374521072", "issue_url": "https://api.github.com/repos/laurent22/joplin/issues/7592", "id": 1374521072, "node_id": "IC_kwDOBLftOs5R7Ybw", "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": "2023-01-07T15:45:17Z", "updated_at": "2023-01-07T15:45:17Z", "author_association": "OWNER", "body": "Thanks a lot for looking into this. Any chance you could create a few tests to prevent future regressions? These things have a tendency to be tweaked to fix one bug, which in turns create a new bug elsewhere. So if we have some tests we can avoid this.", "reactions": { "url": "https://api.github.com/repos/laurent22/joplin/issues/comments/1374521072/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/1374858859", "html_url": "https://github.com/laurent22/joplin/pull/7592#issuecomment-1374858859", "issue_url": "https://api.github.com/repos/laurent22/joplin/issues/7592", "id": 1374858859, "node_id": "IC_kwDOBLftOs5R8q5r", "user": { "login": "andy1631", "id": 46966845, "node_id": "MDQ6VXNlcjQ2OTY2ODQ1", "avatar_url": "https://avatars.githubusercontent.com/u/46966845?v=4", "gravatar_id": "", "url": "https://api.github.com/users/andy1631", "html_url": "https://github.com/andy1631", "followers_url": "https://api.github.com/users/andy1631/followers", "following_url": "https://api.github.com/users/andy1631/following{/other_user}", "gists_url": "https://api.github.com/users/andy1631/gists{/gist_id}", "starred_url": "https://api.github.com/users/andy1631/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/andy1631/subscriptions", "organizations_url": "https://api.github.com/users/andy1631/orgs", "repos_url": "https://api.github.com/users/andy1631/repos", "events_url": "https://api.github.com/users/andy1631/events{/privacy}", "received_events_url": "https://api.github.com/users/andy1631/received_events", "type": "User", "user_view_type": "public", "site_admin": false }, "created_at": "2023-01-08T15:11:59Z", "updated_at": "2023-01-08T15:11:59Z", "author_association": "CONTRIBUTOR", "body": "Sure, I can do that.\r\nI assume by creating tests you mean just adding some test cases to the existing test for the surroundKeyword function?\r\nI noticed, that there are no test cases where escapeHtml is enabled.\r\n\r\nShould I create a new pull request or can I somehow add it to this one?\r\n\r\nI'm sorry, but this is my first pull request, so I don't really know how those things work.", "reactions": { "url": "https://api.github.com/repos/laurent22/joplin/issues/comments/1374858859/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/1374859325", "html_url": "https://github.com/laurent22/joplin/pull/7592#issuecomment-1374859325", "issue_url": "https://api.github.com/repos/laurent22/joplin/issues/7592", "id": 1374859325, "node_id": "IC_kwDOBLftOs5R8rA9", "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": "2023-01-08T15:14:07Z", "updated_at": "2023-01-08T15:14:07Z", "author_association": "OWNER", "body": "Yes it should be added to the existing surroundKeywords tests, and you can add the extra option to make sure your code path is used during the test.\r\n\r\nYour test should check that the prefix and suffix surround the expected text I guess. You only need to test what you've added", "reactions": { "url": "https://api.github.com/repos/laurent22/joplin/issues/comments/1374859325/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/1377185191", "html_url": "https://github.com/laurent22/joplin/pull/7592#issuecomment-1377185191", "issue_url": "https://api.github.com/repos/laurent22/joplin/issues/7592", "id": 1377185191, "node_id": "IC_kwDOBLftOs5SFi2n", "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": "2023-01-10T12:24:43Z", "updated_at": "2023-01-10T12:24:43Z", "author_association": "OWNER", "body": "I wonder if this still prevent the XSS that was fixed. The report is below - maybe try the POC that are mentioned there and see if it's still fine?\r\n\r\n* * *\r\n\r\n# Joplin 2022-06\r\nXSS leading to RCE in Joplin affecting latest version 2.8.8 and earlier. Tested and works on Windows and Linux.\r\n\r\nBy: ly1g3\r\n## Technical overview\r\n\r\n1. Create a note with javascript payload as title (POC:s bellow)\r\n2. Press `Ctrl+P` and search for something in the note or title\r\n3. Payload is executed when shown in the search result\r\n4. Remote code execution can be achieved by sharing the notebook\r\n\r\nProblem is because `dangerouslySetInnerHTML` is used with unescaped user input in `GotoAnything.tsx` line `509`. Fix by escaping user input.\r\n```javascript\r\nreturn (\r\n
\r\n
\r\n {fragmentComp}\r\n {pathComp}\r\n
\r\n);\r\n```\r\n\r\n\r\n## POC\r\nSpace can not be used in payload, but encoded space `\\x20` can be used.\r\n\r\nExample tile payloads:\r\n```javascript\r\n# Payload 1 (Linux)\r\nzzz\r\n\r\n# Payload 2 (Windows)\r\nzzz\r\n\r\n# Reverse shell (Linux)\r\nzzz\r\n```\r\n\r\nSearch for `zzz` to execute payload.\r\n", "reactions": { "url": "https://api.github.com/repos/laurent22/joplin/issues/comments/1377185191/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/1379211208", "html_url": "https://github.com/laurent22/joplin/pull/7592#issuecomment-1379211208", "issue_url": "https://api.github.com/repos/laurent22/joplin/issues/7592", "id": 1379211208, "node_id": "IC_kwDOBLftOs5SNRfI", "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": "2023-01-11T17:16:38Z", "updated_at": "2023-01-11T17:16:38Z", "author_association": "OWNER", "body": "Thanks for checking. So that we don't have future regressions, please could you add this test to the list:\r\n\r\n [['zzz'], \"zzz\", 'a', 'b', { escapeHtml: true }, \"????\"],\r\n\r\nAnd replace \"????\" by what the test expects. It should normally be some escaped string", "reactions": { "url": "https://api.github.com/repos/laurent22/joplin/issues/comments/1379211208/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/1406919217", "html_url": "https://github.com/laurent22/joplin/pull/7592#issuecomment-1406919217", "issue_url": "https://api.github.com/repos/laurent22/joplin/issues/7592", "id": 1406919217, "node_id": "IC_kwDOBLftOs5T2-Ix", "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": "2023-01-27T18:26:47Z", "updated_at": "2023-01-27T18:26:47Z", "author_association": "OWNER", "body": "@andy1631, are you still interested in completing this PR?", "reactions": { "url": "https://api.github.com/repos/laurent22/joplin/issues/comments/1406919217/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/1407011474", "html_url": "https://github.com/laurent22/joplin/pull/7592#issuecomment-1407011474", "issue_url": "https://api.github.com/repos/laurent22/joplin/issues/7592", "id": 1407011474, "node_id": "IC_kwDOBLftOs5T3UqS", "user": { "login": "andy1631", "id": 46966845, "node_id": "MDQ6VXNlcjQ2OTY2ODQ1", "avatar_url": "https://avatars.githubusercontent.com/u/46966845?v=4", "gravatar_id": "", "url": "https://api.github.com/users/andy1631", "html_url": "https://github.com/andy1631", "followers_url": "https://api.github.com/users/andy1631/followers", "following_url": "https://api.github.com/users/andy1631/following{/other_user}", "gists_url": "https://api.github.com/users/andy1631/gists{/gist_id}", "starred_url": "https://api.github.com/users/andy1631/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/andy1631/subscriptions", "organizations_url": "https://api.github.com/users/andy1631/orgs", "repos_url": "https://api.github.com/users/andy1631/repos", "events_url": "https://api.github.com/users/andy1631/events{/privacy}", "received_events_url": "https://api.github.com/users/andy1631/received_events", "type": "User", "user_view_type": "public", "site_admin": false }, "created_at": "2023-01-27T19:58:35Z", "updated_at": "2023-01-27T19:58:35Z", "author_association": "CONTRIBUTOR", "body": "I have added the test you asked me to.", "reactions": { "url": "https://api.github.com/repos/laurent22/joplin/issues/comments/1407011474/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/1422674120", "html_url": "https://github.com/laurent22/joplin/pull/7592#issuecomment-1422674120", "issue_url": "https://api.github.com/repos/laurent22/joplin/issues/7592", "id": 1422674120, "node_id": "IC_kwDOBLftOs5UzEjI", "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": "2023-02-08T14:21:03Z", "updated_at": "2023-02-08T14:21:03Z", "author_association": "OWNER", "body": "Thanks @andy1631 for fixing this!", "reactions": { "url": "https://api.github.com/repos/laurent22/joplin/issues/comments/1422674120/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 } ] }