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

481 行
32 KiB
JSON

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

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

{
"issue": {
"url": "https://api.github.com/repos/laurent22/joplin/issues/14415",
"repository_url": "https://api.github.com/repos/laurent22/joplin",
"labels_url": "https://api.github.com/repos/laurent22/joplin/issues/14415/labels{/name}",
"comments_url": "https://api.github.com/repos/laurent22/joplin/issues/14415/comments",
"events_url": "https://api.github.com/repos/laurent22/joplin/issues/14415/events",
"html_url": "https://github.com/laurent22/joplin/pull/14415",
"id": 3972277911,
"node_id": "PR_kwDOBLftOs7FWfdl",
"number": 14415,
"title": "fix(build): prevent yarn install failure when rsync is unavailable",
"user": {
"login": "KanhaiyaPandey",
"id": 109562285,
"node_id": "U_kgDOBofJrQ",
"avatar_url": "https://avatars.githubusercontent.com/u/109562285?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/KanhaiyaPandey",
"html_url": "https://github.com/KanhaiyaPandey",
"followers_url": "https://api.github.com/users/KanhaiyaPandey/followers",
"following_url": "https://api.github.com/users/KanhaiyaPandey/following{/other_user}",
"gists_url": "https://api.github.com/users/KanhaiyaPandey/gists{/gist_id}",
"starred_url": "https://api.github.com/users/KanhaiyaPandey/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/KanhaiyaPandey/subscriptions",
"organizations_url": "https://api.github.com/users/KanhaiyaPandey/orgs",
"repos_url": "https://api.github.com/users/KanhaiyaPandey/repos",
"events_url": "https://api.github.com/users/KanhaiyaPandey/events{/privacy}",
"received_events_url": "https://api.github.com/users/KanhaiyaPandey/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": 1366671832,
"node_id": "MDU6TGFiZWwxMzY2NjcxODMy",
"url": "https://api.github.com/repos/laurent22/joplin/labels/linux",
"name": "linux",
"color": "bfd4f2",
"default": false,
"description": ""
}
],
"state": "closed",
"locked": false,
"assignees": [],
"milestone": null,
"comments": 5,
"created_at": "2026-02-21T16:08:09Z",
"updated_at": "2026-02-22T09:06:35Z",
"closed_at": "2026-02-22T08:49:48Z",
"assignee": null,
"author_association": "NONE",
"active_lock_reason": null,
"draft": false,
"pull_request": {
"url": "https://api.github.com/repos/laurent22/joplin/pulls/14415",
"html_url": "https://github.com/laurent22/joplin/pull/14415",
"diff_url": "https://github.com/laurent22/joplin/pull/14415.diff",
"patch_url": "https://github.com/laurent22/joplin/pull/14415.patch",
"merged_at": null
},
"body": "Fixes #14361\r\n\r\n### Summary\r\n`yarn install` fails in clean Linux build environments where `rsync` is not installed. \r\nThis PR ensures the build process no longer fails when `rsync` is unavailable.\r\n\r\n### Changes\r\n- Handle missing `rsync` gracefully during build\r\n- Prevent yarn install from exiting with code 1\r\n- Improve compatibility with minimal Debian/Linux setups\r\n\r\n### Testing\r\n- Tested on clean Debian environment\r\n- Verified `yarn install` completes successfully without `rsync` preinstalled\r\n\r\nThis improves the developer experience when setting up the build environment from scratch.",
"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/14415/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/14415/timeline",
"performed_via_github_app": null,
"state_reason": null
},
"comments": [
{
"url": "https://api.github.com/repos/laurent22/joplin/issues/comments/3939023880",
"html_url": "https://github.com/laurent22/joplin/pull/14415#issuecomment-3939023880",
"issue_url": "https://api.github.com/repos/laurent22/joplin/issues/14415",
"id": 3939023880,
"node_id": "IC_kwDOBLftOs7qyLwI",
"user": {
"login": "github-actions[bot]",
"id": 41898282,
"node_id": "MDM6Qm90NDE4OTgyODI=",
"avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/github-actions%5Bbot%5D",
"html_url": "https://github.com/apps/github-actions",
"followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers",
"following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}",
"gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}",
"starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions",
"organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs",
"repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos",
"events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}",
"received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events",
"type": "Bot",
"user_view_type": "public",
"site_admin": false
},
"created_at": "2026-02-21T16:08:20Z",
"updated_at": "2026-02-22T08:49:59Z",
"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/3939023880/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/3939024288",
"html_url": "https://github.com/laurent22/joplin/pull/14415#issuecomment-3939024288",
"issue_url": "https://api.github.com/repos/laurent22/joplin/issues/14415",
"id": 3939024288,
"node_id": "IC_kwDOBLftOs7qyL2g",
"user": {
"login": "coderabbitai[bot]",
"id": 136622811,
"node_id": "BOT_kgDOCCSy2w",
"avatar_url": "https://avatars.githubusercontent.com/in/347564?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/coderabbitai%5Bbot%5D",
"html_url": "https://github.com/apps/coderabbitai",
"followers_url": "https://api.github.com/users/coderabbitai%5Bbot%5D/followers",
"following_url": "https://api.github.com/users/coderabbitai%5Bbot%5D/following{/other_user}",
"gists_url": "https://api.github.com/users/coderabbitai%5Bbot%5D/gists{/gist_id}",
"starred_url": "https://api.github.com/users/coderabbitai%5Bbot%5D/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/coderabbitai%5Bbot%5D/subscriptions",
"organizations_url": "https://api.github.com/users/coderabbitai%5Bbot%5D/orgs",
"repos_url": "https://api.github.com/users/coderabbitai%5Bbot%5D/repos",
"events_url": "https://api.github.com/users/coderabbitai%5Bbot%5D/events{/privacy}",
"received_events_url": "https://api.github.com/users/coderabbitai%5Bbot%5D/received_events",
"type": "Bot",
"user_view_type": "public",
"site_admin": false
},
"created_at": "2026-02-21T16:08:36Z",
"updated_at": "2026-02-21T16:14:23Z",
"body": "<!-- This is an auto-generated comment: summarize by coderabbit.ai -->\n<!-- walkthrough_start -->\n\n<details>\n<summary>📝 Walkthrough</summary>\n\n## Walkthrough\n\nModified the Gulp utility to handle missing rsync gracefully. The tool now attempts rsync with dynamic exclude arguments; if rsync is unavailable, it falls back to a Node.js-based copy with comprehensive path filtering, including support for absolute paths, wildcards, and directory deletion when specified.\n\n## Changes\n\n|Cohort / File(s)|Summary|\n|---|---|\n|**Rsync Fallback Implementation** <br> `packages/tools/gulp/utils.js`|Added hybrid copy strategy with rsync as primary method and Node.js fallback. Introduced `isExcluded` filter function supporting absolute paths, wildcards, relative path matching, and subpath checks. Preserved Windows Robocopy path and enhanced exclude/delete option handling across both strategies.|\n\n## Suggested labels\n\n`bug`, `linux`\n\n</details>\n\n<!-- walkthrough_end -->\n\n\n<!-- pre_merge_checks_walkthrough_start -->\n\n<details>\n<summary>🚥 Pre-merge checks | ✅ 5</summary>\n\n<details>\n<summary>✅ Passed checks (5 passed)</summary>\n\n| Check name | Status | Explanation |\n| :------------------------: | :------- | :----------------------------------------------------------------------------------------------------------------------------------------- |\n| Title check | ✅ Passed | The title accurately summarises the main change: handling missing rsync gracefully during build to prevent yarn install failure. |\n| Description check | ✅ Passed | The description clearly relates to the changeset, explaining the issue with rsync unavailability and the improvements made. |\n| Linked Issues check | ✅ Passed | The PR successfully implements graceful rsync fallback handling as required by `#14361`, preventing build failure when rsync is unavailable. |\n| Out of Scope Changes check | ✅ Passed | All changes are directly scoped to addressing the rsync availability issue in the build process; no extraneous modifications detected. |\n| Docstring Coverage | ✅ Passed | No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. |\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- [ ] <!-- {\"checkboxId\": \"7962f53c-55bc-4827-bfbf-6a18da830691\"} --> 📝 Generate docstrings (stacked PR)\n- [ ] <!-- {\"checkboxId\": \"3e1879ae-f29b-4d0d-8e06-d12b7ba33d98\"} --> 📝 Generate docstrings (commit on current branch)\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<!-- announcements_start -->\n\n> [!TIP]\n> [Issue Planner](https://www.coderabbit.ai/issue-planner) is now in beta. Read the [docs](https://docs.coderabbit.ai/issues/planning) and try it out! Share your feedback on [Discord](https://discord.com/invite/coderabbit).\n\n<!-- announcements_end -->\n\n<!-- tips_start -->\n\n---\n\n\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/3939024288/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/3939034941",
"html_url": "https://github.com/laurent22/joplin/pull/14415#issuecomment-3939034941",
"issue_url": "https://api.github.com/repos/laurent22/joplin/issues/14415",
"id": 3939034941,
"node_id": "IC_kwDOBLftOs7qyOc9",
"user": {
"login": "KanhaiyaPandey",
"id": 109562285,
"node_id": "U_kgDOBofJrQ",
"avatar_url": "https://avatars.githubusercontent.com/u/109562285?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/KanhaiyaPandey",
"html_url": "https://github.com/KanhaiyaPandey",
"followers_url": "https://api.github.com/users/KanhaiyaPandey/followers",
"following_url": "https://api.github.com/users/KanhaiyaPandey/following{/other_user}",
"gists_url": "https://api.github.com/users/KanhaiyaPandey/gists{/gist_id}",
"starred_url": "https://api.github.com/users/KanhaiyaPandey/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/KanhaiyaPandey/subscriptions",
"organizations_url": "https://api.github.com/users/KanhaiyaPandey/orgs",
"repos_url": "https://api.github.com/users/KanhaiyaPandey/repos",
"events_url": "https://api.github.com/users/KanhaiyaPandey/events{/privacy}",
"received_events_url": "https://api.github.com/users/KanhaiyaPandey/received_events",
"type": "User",
"user_view_type": "public",
"site_admin": false
},
"created_at": "2026-02-21T16:15:23Z",
"updated_at": "2026-02-21T16:15:23Z",
"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/3939034941/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/3939183653",
"html_url": "https://github.com/laurent22/joplin/pull/14415#issuecomment-3939183653",
"issue_url": "https://api.github.com/repos/laurent22/joplin/issues/14415",
"id": 3939183653,
"node_id": "IC_kwDOBLftOs7qyywl",
"user": {
"login": "yugalkaushik",
"id": 138966980,
"node_id": "U_kgDOCEh3xA",
"avatar_url": "https://avatars.githubusercontent.com/u/138966980?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/yugalkaushik",
"html_url": "https://github.com/yugalkaushik",
"followers_url": "https://api.github.com/users/yugalkaushik/followers",
"following_url": "https://api.github.com/users/yugalkaushik/following{/other_user}",
"gists_url": "https://api.github.com/users/yugalkaushik/gists{/gist_id}",
"starred_url": "https://api.github.com/users/yugalkaushik/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/yugalkaushik/subscriptions",
"organizations_url": "https://api.github.com/users/yugalkaushik/orgs",
"repos_url": "https://api.github.com/users/yugalkaushik/repos",
"events_url": "https://api.github.com/users/yugalkaushik/events{/privacy}",
"received_events_url": "https://api.github.com/users/yugalkaushik/received_events",
"type": "User",
"user_view_type": "public",
"site_admin": false
},
"created_at": "2026-02-21T18:07:01Z",
"updated_at": "2026-02-21T18:07:01Z",
"body": "@KanhaiyaPandey Thank you for the PR. Please make sure to review the [AI policy](https://github.com/joplin/gsoc/blob/master/ai_policy.md) and clearly mention the required details in the PR description so it aligns with the project guidelines.",
"author_association": "CONTRIBUTOR",
"reactions": {
"url": "https://api.github.com/repos/laurent22/joplin/issues/comments/3939183653/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/3940520347",
"html_url": "https://github.com/laurent22/joplin/pull/14415#issuecomment-3940520347",
"issue_url": "https://api.github.com/repos/laurent22/joplin/issues/14415",
"id": 3940520347,
"node_id": "IC_kwDOBLftOs7q35Gb",
"user": {
"login": "laurent22",
"id": 1285584,
"node_id": "MDQ6VXNlcjEyODU1ODQ=",
"avatar_url": "https://avatars.githubusercontent.com/u/1285584?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/laurent22",
"html_url": "https://github.com/laurent22",
"followers_url": "https://api.github.com/users/laurent22/followers",
"following_url": "https://api.github.com/users/laurent22/following{/other_user}",
"gists_url": "https://api.github.com/users/laurent22/gists{/gist_id}",
"starred_url": "https://api.github.com/users/laurent22/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/laurent22/subscriptions",
"organizations_url": "https://api.github.com/users/laurent22/orgs",
"repos_url": "https://api.github.com/users/laurent22/repos",
"events_url": "https://api.github.com/users/laurent22/events{/privacy}",
"received_events_url": "https://api.github.com/users/laurent22/received_events",
"type": "User",
"user_view_type": "public",
"site_admin": false
},
"created_at": "2026-02-22T08:49:48Z",
"updated_at": "2026-02-22T08:49:48Z",
"body": "Wow the things we can do these days with AI. I definitely wasn't expecting a re-implementation of rsync logic in TypeScript. But in any case we don't want this.\r\n\r\nThanks for the contribution. We’re closing this PR because it does not follow the project’s contribution policy: it is not based on a triaged, accepted issue and does not address a concrete problem agreed upon by maintainers.\r\n\r\nWhile the change itself is not necessarily incorrect, reviewing and maintaining such PRs takes time away from higher-priority work.\r\n\r\nPlease see our [Contribution Scope Policy](https://joplinapp.org/help/dev/#contribution-scope) for details on what kinds of contributions we accept.\r\n\r\nPlease make sure you read our guidelines: https://github.com/joplin/gsoc\r\n\r\nAnd our AI policy: https://github.com/joplin/gsoc/blob/master/ai_policy.md\r\n",
"author_association": "OWNER",
"reactions": {
"url": "https://api.github.com/repos/laurent22/joplin/issues/comments/3940520347/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
}
]
}