文件
mynode/readme/cla/consent_records/AkankshaMishra2_149880529.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

688 行
43 KiB
JSON

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

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

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

{
"issue": {
"url": "https://api.github.com/repos/laurent22/joplin/issues/14597",
"repository_url": "https://api.github.com/repos/laurent22/joplin",
"labels_url": "https://api.github.com/repos/laurent22/joplin/issues/14597/labels{/name}",
"comments_url": "https://api.github.com/repos/laurent22/joplin/issues/14597/comments",
"events_url": "https://api.github.com/repos/laurent22/joplin/issues/14597/events",
"html_url": "https://github.com/laurent22/joplin/pull/14597",
"id": 4032964620,
"node_id": "PR_kwDOBLftOs7Ib_dY",
"number": 14597,
"title": "Desktop, CLI: Fixes #14223: Gracefully handle unsupported elements and fix Windows path bugs in OneNote importer",
"user": {
"login": "AkankshaMishra2",
"id": 149880529,
"node_id": "U_kgDOCO7-0Q",
"avatar_url": "https://avatars.githubusercontent.com/u/149880529?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/AkankshaMishra2",
"html_url": "https://github.com/AkankshaMishra2",
"followers_url": "https://api.github.com/users/AkankshaMishra2/followers",
"following_url": "https://api.github.com/users/AkankshaMishra2/following{/other_user}",
"gists_url": "https://api.github.com/users/AkankshaMishra2/gists{/gist_id}",
"starred_url": "https://api.github.com/users/AkankshaMishra2/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/AkankshaMishra2/subscriptions",
"organizations_url": "https://api.github.com/users/AkankshaMishra2/orgs",
"repos_url": "https://api.github.com/users/AkankshaMishra2/repos",
"events_url": "https://api.github.com/users/AkankshaMishra2/events{/privacy}",
"received_events_url": "https://api.github.com/users/AkankshaMishra2/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": 1095621255,
"node_id": "MDU6TGFiZWwxMDk1NjIxMjU1",
"url": "https://api.github.com/repos/laurent22/joplin/labels/cli",
"name": "cli",
"color": "ffc274",
"default": false,
"description": "CLI app specific issue"
},
{
"id": 1366673470,
"node_id": "MDU6TGFiZWwxMzY2NjczNDcw",
"url": "https://api.github.com/repos/laurent22/joplin/labels/windows",
"name": "windows",
"color": "bfd4f2",
"default": false,
"description": ""
},
{
"id": 2153491154,
"node_id": "MDU6TGFiZWwyMTUzNDkxMTU0",
"url": "https://api.github.com/repos/laurent22/joplin/labels/import",
"name": "import",
"color": "91ca55",
"default": false,
"description": "Related to importing files such as ENEX, JEX, etc."
}
],
"state": "closed",
"locked": false,
"assignees": [],
"milestone": null,
"comments": 9,
"created_at": "2026-03-06T08:34:19Z",
"updated_at": "2026-03-18T10:35:07Z",
"closed_at": "2026-03-18T10:00:50Z",
"assignee": null,
"author_association": "NONE",
"active_lock_reason": null,
"draft": false,
"pull_request": {
"url": "https://api.github.com/repos/laurent22/joplin/pulls/14597",
"html_url": "https://github.com/laurent22/joplin/pull/14597",
"diff_url": "https://github.com/laurent22/joplin/pull/14597.diff",
"patch_url": "https://github.com/laurent22/joplin/pull/14597.patch",
"merged_at": null
},
"body": "Problem\r\nWhen importing .one or .onepkg files into Joplin, users occasionally encounter hard crashes or failed imports if the OneNote file contains unrecognized data forms or complex structures not fully supported by the parser yet. For example, paragraphs combining both regular text and embedded objects cause immediate app panics, preventing the import of the entire notebook. Furthermore, the handling of trailing slashes and backslashes during path parsing is unstable on Windows, generating duplicated paths that trigger directory creation errors and completely halt the import process.\r\n\r\nSolution\r\nThe importer has been modified to gracefully handle unsupported elements and structural mismatches instead of panicking. Encountering an unparseable embedded object, table structure, or unexpected datatype now generates an error or a log warning, allowing the system to safely bypass the failing element and continue successfully importing the rest of the valid notes. Additionally, the path generation logic was refactored to cleanly iterate paths by characters instead of raw byte indexes, repairing the path concatenation bugs blocking Windows users from importing notes.\r\n\r\nTest Plan\r\nManually verified that Joplin successfully imports test .one and .onepkg files containing edge cases and previously crashing structures (such as malformed tables and mixed paragraphs) while gracefully logging warnings.\r\nRan the full InteropService test suite (\r\nInteropService_Importer_OneNote.test.ts\r\n), verifying all existing OneNote notebook layouts continue to parse and deserialize without regression.\r\nExtended the \r\napi.rs\r\n parser-utils tests with a new module validating the Windows file-path normalization fixes across case-insensitive and multibyte character path edge-cases.",
"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/14597/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/14597/timeline",
"performed_via_github_app": null,
"state_reason": null
},
"comments": [
{
"url": "https://api.github.com/repos/laurent22/joplin/issues/comments/4010335617",
"html_url": "https://github.com/laurent22/joplin/pull/14597#issuecomment-4010335617",
"issue_url": "https://api.github.com/repos/laurent22/joplin/issues/14597",
"id": 4010335617,
"node_id": "IC_kwDOBLftOs7vCN2B",
"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-06T08:34:30Z",
"updated_at": "2026-03-18T10:35:07Z",
"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/4010335617/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/4010337521",
"html_url": "https://github.com/laurent22/joplin/pull/14597#issuecomment-4010337521",
"issue_url": "https://api.github.com/repos/laurent22/joplin/issues/14597",
"id": 4010337521,
"node_id": "IC_kwDOBLftOs7vCOTx",
"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-06T08:34:55Z",
"updated_at": "2026-03-08T13:24:03Z",
"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<details>\n<summary>⚙️ Run configuration</summary>\n\n**Configuration used**: Path: .coderabbit.yaml\n\n**Review profile**: CHILL\n\n**Plan**: Pro\n\n**Run ID**: `566f22a1-8bb0-42d7-a937-c4c20133bd25`\n\n</details>\n\n<details>\n<summary>📥 Commits</summary>\n\nReviewing files that changed from the base of the PR and between 94ea0c1ab18c2a91c0c92d400af65a9d32a9d921 and b3a5af7850bf3376be432d3caab84a357e298486.\n\n</details>\n\n<details>\n<summary>📒 Files selected for processing (1)</summary>\n\n* `packages/onenote-converter/parser-utils/src/file_api/api.rs`\n\n</details>\n\n<details>\n<summary>🚧 Files skipped from review as they are similar to previous changes (1)</summary>\n\n* packages/onenote-converter/parser-utils/src/file_api/api.rs\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 `remove_prefix` to `FileApiDriver` to strip a path prefix with platform-aware normalisation: Windows uses case-insensitive, slash-agnostic comparison and trailing-slash normalisation; POSIX uses exact, case-sensitive comparison. Unit tests for Windows and POSIX behaviours were added.\n\n## Changes\n\n|Cohort / File(s)|Summary|\n|---|---|\n|**File API — prefix removal** <br> `packages/onenote-converter/parser-utils/src/file_api/api.rs`|Added `fn remove_prefix<'a>(&self, full_path: &'a str, prefix: &str) -> &'a str` to `FileApiDriver`. Implements cross-platform prefix stripping: normalises separators, trims trailing slashes, uses case-insensitive comparison on Windows and case-sensitive on POSIX. Includes unit tests (MockWindowsDriver, MockPosixDriver) covering exact matches, case-insensitivity, slash normalisation, non-matches, trailing-slash handling, partial-directory safety and multibyte characters.|\n\n## Suggested labels\n\n`bug`, `import`, `windows`, `desktop`, `cli`\n\n</details>\n\n<!-- walkthrough_end -->\n\n\n<!-- pre_merge_checks_walkthrough_start -->\n\n<details>\n<summary>🚥 Pre-merge checks | ✅ 3 | ❌ 1</summary>\n\n### ❌ Failed checks (1 warning)\n\n| Check name | Status | Explanation | Resolution |\n| :----------------: | :--------- | :------------------------------------------------------------------------------------ | :--------------------------------------------------------------------------------- |\n| Docstring Coverage | ⚠️ Warning | Docstring coverage is 65.52% which is insufficient. The required threshold is 80.00%. | Write docstrings for the functions missing them to satisfy the coverage threshold. |\n\n<details>\n<summary>✅ Passed checks (3 passed)</summary>\n\n| Check name | Status | Explanation |\n| :-----------------------------------: | :------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| Title check | ✅ Passed | The pull request title directly addresses the main changes: fixing Windows path bugs and handling unsupported elements in the OneNote importer, which aligns with the core objectives and changeset described. |\n| Description check | ✅ Passed | The pull request description comprehensively relates to the changeset, detailing the problem (crashes with unsupported elements and Windows path issues), solution (graceful error handling and path normalisation), and test verification for both aspects. |\n| Pr Description Must Follow Guidelines | ✅ Passed | The pull request description includes all required sections per GSoC guidelines: problem identification (OneNote importer resilience and Windows path bugs), solution approach (graceful error handling and cross-platform path normalisation), and detailed Test Plan (manual imports with edge-case files, existing test suite validation, and extended parser-utils tests). |\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=14597)! 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/4010337521/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/4010351632",
"html_url": "https://github.com/laurent22/joplin/pull/14597#issuecomment-4010351632",
"issue_url": "https://api.github.com/repos/laurent22/joplin/issues/14597",
"id": 4010351632,
"node_id": "IC_kwDOBLftOs7vCRwQ",
"user": {
"login": "AkankshaMishra2",
"id": 149880529,
"node_id": "U_kgDOCO7-0Q",
"avatar_url": "https://avatars.githubusercontent.com/u/149880529?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/AkankshaMishra2",
"html_url": "https://github.com/AkankshaMishra2",
"followers_url": "https://api.github.com/users/AkankshaMishra2/followers",
"following_url": "https://api.github.com/users/AkankshaMishra2/following{/other_user}",
"gists_url": "https://api.github.com/users/AkankshaMishra2/gists{/gist_id}",
"starred_url": "https://api.github.com/users/AkankshaMishra2/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/AkankshaMishra2/subscriptions",
"organizations_url": "https://api.github.com/users/AkankshaMishra2/orgs",
"repos_url": "https://api.github.com/users/AkankshaMishra2/repos",
"events_url": "https://api.github.com/users/AkankshaMishra2/events{/privacy}",
"received_events_url": "https://api.github.com/users/AkankshaMishra2/received_events",
"type": "User",
"user_view_type": "public",
"site_admin": false
},
"created_at": "2026-03-06T08:38:01Z",
"updated_at": "2026-03-06T08:38:01Z",
"body": "I have read the CLA Document and I hereby sign the CLA\r\n",
"author_association": "NONE",
"reactions": {
"url": "https://api.github.com/repos/laurent22/joplin/issues/comments/4010351632/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/4010358598",
"html_url": "https://github.com/laurent22/joplin/pull/14597#issuecomment-4010358598",
"issue_url": "https://api.github.com/repos/laurent22/joplin/issues/14597",
"id": 4010358598,
"node_id": "IC_kwDOBLftOs7vCTdG",
"user": {
"login": "AkankshaMishra2",
"id": 149880529,
"node_id": "U_kgDOCO7-0Q",
"avatar_url": "https://avatars.githubusercontent.com/u/149880529?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/AkankshaMishra2",
"html_url": "https://github.com/AkankshaMishra2",
"followers_url": "https://api.github.com/users/AkankshaMishra2/followers",
"following_url": "https://api.github.com/users/AkankshaMishra2/following{/other_user}",
"gists_url": "https://api.github.com/users/AkankshaMishra2/gists{/gist_id}",
"starred_url": "https://api.github.com/users/AkankshaMishra2/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/AkankshaMishra2/subscriptions",
"organizations_url": "https://api.github.com/users/AkankshaMishra2/orgs",
"repos_url": "https://api.github.com/users/AkankshaMishra2/repos",
"events_url": "https://api.github.com/users/AkankshaMishra2/events{/privacy}",
"received_events_url": "https://api.github.com/users/AkankshaMishra2/received_events",
"type": "User",
"user_view_type": "public",
"site_admin": false
},
"created_at": "2026-03-06T08:39:32Z",
"updated_at": "2026-03-06T08:39:32Z",
"body": "I have read the CLA Document and I hereby sign the CLA",
"author_association": "NONE",
"reactions": {
"url": "https://api.github.com/repos/laurent22/joplin/issues/comments/4010358598/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/4014461418",
"html_url": "https://github.com/laurent22/joplin/pull/14597#issuecomment-4014461418",
"issue_url": "https://api.github.com/repos/laurent22/joplin/issues/14597",
"id": 4014461418,
"node_id": "IC_kwDOBLftOs7vR9Hq",
"user": {
"login": "personalizedrefrigerator",
"id": 46334387,
"node_id": "MDQ6VXNlcjQ2MzM0Mzg3",
"avatar_url": "https://avatars.githubusercontent.com/u/46334387?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/personalizedrefrigerator",
"html_url": "https://github.com/personalizedrefrigerator",
"followers_url": "https://api.github.com/users/personalizedrefrigerator/followers",
"following_url": "https://api.github.com/users/personalizedrefrigerator/following{/other_user}",
"gists_url": "https://api.github.com/users/personalizedrefrigerator/gists{/gist_id}",
"starred_url": "https://api.github.com/users/personalizedrefrigerator/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/personalizedrefrigerator/subscriptions",
"organizations_url": "https://api.github.com/users/personalizedrefrigerator/orgs",
"repos_url": "https://api.github.com/users/personalizedrefrigerator/repos",
"events_url": "https://api.github.com/users/personalizedrefrigerator/events{/privacy}",
"received_events_url": "https://api.github.com/users/personalizedrefrigerator/received_events",
"type": "User",
"user_view_type": "public",
"site_admin": false
},
"created_at": "2026-03-06T22:18:07Z",
"updated_at": "2026-03-06T22:18:07Z",
"body": "General comments:\r\n- Please follow the GSoC pull request guidelines: https://github.com/joplin/gsoc/blob/master/pull_request_guidelines.md. In particular, include automated tests.\r\n- Don't include the `review.patch` file in this pull request.\r\n\r\n\r\nThank you for the pull request!\r\n\r\n",
"author_association": "COLLABORATOR",
"reactions": {
"url": "https://api.github.com/repos/laurent22/joplin/issues/comments/4014461418/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/4018835530",
"html_url": "https://github.com/laurent22/joplin/pull/14597#issuecomment-4018835530",
"issue_url": "https://api.github.com/repos/laurent22/joplin/issues/14597",
"id": 4018835530,
"node_id": "IC_kwDOBLftOs7vipBK",
"user": {
"login": "AkankshaMishra2",
"id": 149880529,
"node_id": "U_kgDOCO7-0Q",
"avatar_url": "https://avatars.githubusercontent.com/u/149880529?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/AkankshaMishra2",
"html_url": "https://github.com/AkankshaMishra2",
"followers_url": "https://api.github.com/users/AkankshaMishra2/followers",
"following_url": "https://api.github.com/users/AkankshaMishra2/following{/other_user}",
"gists_url": "https://api.github.com/users/AkankshaMishra2/gists{/gist_id}",
"starred_url": "https://api.github.com/users/AkankshaMishra2/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/AkankshaMishra2/subscriptions",
"organizations_url": "https://api.github.com/users/AkankshaMishra2/orgs",
"repos_url": "https://api.github.com/users/AkankshaMishra2/repos",
"events_url": "https://api.github.com/users/AkankshaMishra2/events{/privacy}",
"received_events_url": "https://api.github.com/users/AkankshaMishra2/received_events",
"type": "User",
"user_view_type": "public",
"site_admin": false
},
"created_at": "2026-03-08T10:56:56Z",
"updated_at": "2026-03-08T10:56:56Z",
"body": "@personalizedrefrigerator \r\n\r\nI have updated the PR description to follow the guidelines and pushed a new commit addressing the \r\nremove_prefix path bug and adding the required docstrings/tests.\r\n\r\n\r\n",
"author_association": "NONE",
"reactions": {
"url": "https://api.github.com/repos/laurent22/joplin/issues/comments/4018835530/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/4045113061",
"html_url": "https://github.com/laurent22/joplin/pull/14597#issuecomment-4045113061",
"issue_url": "https://api.github.com/repos/laurent22/joplin/issues/14597",
"id": 4045113061,
"node_id": "IC_kwDOBLftOs7xG4bl",
"user": {
"login": "AkankshaMishra2",
"id": 149880529,
"node_id": "U_kgDOCO7-0Q",
"avatar_url": "https://avatars.githubusercontent.com/u/149880529?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/AkankshaMishra2",
"html_url": "https://github.com/AkankshaMishra2",
"followers_url": "https://api.github.com/users/AkankshaMishra2/followers",
"following_url": "https://api.github.com/users/AkankshaMishra2/following{/other_user}",
"gists_url": "https://api.github.com/users/AkankshaMishra2/gists{/gist_id}",
"starred_url": "https://api.github.com/users/AkankshaMishra2/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/AkankshaMishra2/subscriptions",
"organizations_url": "https://api.github.com/users/AkankshaMishra2/orgs",
"repos_url": "https://api.github.com/users/AkankshaMishra2/repos",
"events_url": "https://api.github.com/users/AkankshaMishra2/events{/privacy}",
"received_events_url": "https://api.github.com/users/AkankshaMishra2/received_events",
"type": "User",
"user_view_type": "public",
"site_admin": false
},
"created_at": "2026-03-12T09:08:00Z",
"updated_at": "2026-03-12T09:08:00Z",
"body": "@personalizedrefrigerator\r\nI have addressed the requested changes, fixed the path prefix bug, and added the required tests and docstrings. \r\nAll checks are now passing. Please let me know if any further changes are needed.",
"author_association": "NONE",
"reactions": {
"url": "https://api.github.com/repos/laurent22/joplin/issues/comments/4045113061/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/4070668788",
"html_url": "https://github.com/laurent22/joplin/pull/14597#issuecomment-4070668788",
"issue_url": "https://api.github.com/repos/laurent22/joplin/issues/14597",
"id": 4070668788,
"node_id": "IC_kwDOBLftOs7yoXn0",
"user": {
"login": "laurent22",
"id": 1285584,
"node_id": "MDQ6VXNlcjEyODU1ODQ=",
"avatar_url": "https://avatars.githubusercontent.com/u/1285584?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/laurent22",
"html_url": "https://github.com/laurent22",
"followers_url": "https://api.github.com/users/laurent22/followers",
"following_url": "https://api.github.com/users/laurent22/following{/other_user}",
"gists_url": "https://api.github.com/users/laurent22/gists{/gist_id}",
"starred_url": "https://api.github.com/users/laurent22/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/laurent22/subscriptions",
"organizations_url": "https://api.github.com/users/laurent22/orgs",
"repos_url": "https://api.github.com/users/laurent22/repos",
"events_url": "https://api.github.com/users/laurent22/events{/privacy}",
"received_events_url": "https://api.github.com/users/laurent22/received_events",
"type": "User",
"user_view_type": "public",
"site_admin": false
},
"created_at": "2026-03-16T21:22:03Z",
"updated_at": "2026-03-16T21:22:03Z",
"body": "@AkankshaMishra2, please confirm if you'd like to complete this PR",
"author_association": "OWNER",
"reactions": {
"url": "https://api.github.com/repos/laurent22/joplin/issues/comments/4070668788/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/4081221321",
"html_url": "https://github.com/laurent22/joplin/pull/14597#issuecomment-4081221321",
"issue_url": "https://api.github.com/repos/laurent22/joplin/issues/14597",
"id": 4081221321,
"node_id": "IC_kwDOBLftOs7zQn7J",
"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-18T10:01:20Z",
"updated_at": "2026-03-18T10:01:20Z",
"body": "Closed stale PR",
"author_association": "OWNER",
"reactions": {
"url": "https://api.github.com/repos/laurent22/joplin/issues/comments/4081221321/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
}
]
}