一些检查失败了
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
814 行
60 KiB
JSON
814 行
60 KiB
JSON
{
|
||
"issue": {
|
||
"url": "https://api.github.com/repos/laurent22/joplin/issues/14515",
|
||
"repository_url": "https://api.github.com/repos/laurent22/joplin",
|
||
"labels_url": "https://api.github.com/repos/laurent22/joplin/issues/14515/labels{/name}",
|
||
"comments_url": "https://api.github.com/repos/laurent22/joplin/issues/14515/comments",
|
||
"events_url": "https://api.github.com/repos/laurent22/joplin/issues/14515/events",
|
||
"html_url": "https://github.com/laurent22/joplin/pull/14515",
|
||
"id": 4008213927,
|
||
"node_id": "PR_kwDOBLftOs7HLad7",
|
||
"number": 14515,
|
||
"title": "Desktop: Resolves #13146: Add Windows ARM64 support. Use standard desktop dist flow for Windows ARM64 local build",
|
||
"user": {
|
||
"login": "dfrobese",
|
||
"id": 22085580,
|
||
"node_id": "MDQ6VXNlcjIyMDg1NTgw",
|
||
"avatar_url": "https://avatars.githubusercontent.com/u/22085580?v=4",
|
||
"gravatar_id": "",
|
||
"url": "https://api.github.com/users/dfrobese",
|
||
"html_url": "https://github.com/dfrobese",
|
||
"followers_url": "https://api.github.com/users/dfrobese/followers",
|
||
"following_url": "https://api.github.com/users/dfrobese/following{/other_user}",
|
||
"gists_url": "https://api.github.com/users/dfrobese/gists{/gist_id}",
|
||
"starred_url": "https://api.github.com/users/dfrobese/starred{/owner}{/repo}",
|
||
"subscriptions_url": "https://api.github.com/users/dfrobese/subscriptions",
|
||
"organizations_url": "https://api.github.com/users/dfrobese/orgs",
|
||
"repos_url": "https://api.github.com/users/dfrobese/repos",
|
||
"events_url": "https://api.github.com/users/dfrobese/events{/privacy}",
|
||
"received_events_url": "https://api.github.com/users/dfrobese/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": 1091233678,
|
||
"node_id": "MDU6TGFiZWwxMDkxMjMzNjc4",
|
||
"url": "https://api.github.com/repos/laurent22/joplin/labels/documentation",
|
||
"name": "documentation",
|
||
"color": "fef1bf",
|
||
"default": true,
|
||
"description": "Documentation, web site, README"
|
||
},
|
||
{
|
||
"id": 1366673470,
|
||
"node_id": "MDU6TGFiZWwxMzY2NjczNDcw",
|
||
"url": "https://api.github.com/repos/laurent22/joplin/labels/windows",
|
||
"name": "windows",
|
||
"color": "bfd4f2",
|
||
"default": false,
|
||
"description": ""
|
||
}
|
||
],
|
||
"state": "closed",
|
||
"locked": false,
|
||
"assignees": [],
|
||
"milestone": null,
|
||
"comments": 12,
|
||
"created_at": "2026-03-01T20:34:59Z",
|
||
"updated_at": "2026-03-04T11:03:46Z",
|
||
"closed_at": "2026-03-04T10:51:32Z",
|
||
"assignee": null,
|
||
"author_association": "NONE",
|
||
"active_lock_reason": null,
|
||
"draft": false,
|
||
"pull_request": {
|
||
"url": "https://api.github.com/repos/laurent22/joplin/pulls/14515",
|
||
"html_url": "https://github.com/laurent22/joplin/pull/14515",
|
||
"diff_url": "https://github.com/laurent22/joplin/pull/14515.diff",
|
||
"patch_url": "https://github.com/laurent22/joplin/pull/14515.patch",
|
||
"merged_at": null
|
||
},
|
||
"body": "## Problem\nWindows ARM64 local desktop builds did not follow the same standard packaging flow as other Windows targets, which made local validation and troubleshooting inconsistent. This could produce confusing behavior across repeated local runs and cross-architecture scenarios.\n\n## Solution\n- Unified Windows local dist invocation to use the standard flow for both targets: `yarn dist --win --<arch>`.\n- Moved `corepack`/`npm` path resolution to run after dev-shell initialization so PATH-provided tools are available.\n- Reordered native patch application to occur after install so patches target actual installed files.\n- Added explicit `git clean` exit-code handling.\n- Prevented persistent `package.json` mutations by restoring the file after temporary `npm pkg set` overrides.\n- Updated target-specific rebuild selection to prefer target architecture environment variables (falling back to host architecture only when target vars are absent).\n- Clarified docs that source-build env vars are conditional on `-ForceSourceBuild`.\n\n## Test Plan\n- Ran ARM64 local flow:\n - `./.github/scripts/build-clean-win-arm64.ps1 -TargetArch arm64 -SkipInstall`\n - Confirmed standard invocation path: `yarn dist --win --arm64 --publish=never`\n- Ran x64 local flow:\n - `./.github/scripts/build-clean-win-arm64.ps1 -TargetArch x64 -SkipInstall`\n - Confirmed standard invocation path: `yarn dist --win --x64 --publish=never`\n- Verified expected Windows artifacts are produced for both architectures in local dist output.\n- Verified script behavior changes requested in review comments:\n - command resolution occurs after dev-shell setup,\n - patching occurs after install,\n - temporary build config overrides do not persist,\n - arch selection for rebuild uses target architecture variables.\n\n## Notes\n- Local repeated runs may still encounter an external file-lock issue on `app.asar` in unpacked output directories; this appears environmental and outside the scope of this flow-unification change.\r\n",
|
||
"closed_by": {
|
||
"login": "dfrobese",
|
||
"id": 22085580,
|
||
"node_id": "MDQ6VXNlcjIyMDg1NTgw",
|
||
"avatar_url": "https://avatars.githubusercontent.com/u/22085580?v=4",
|
||
"gravatar_id": "",
|
||
"url": "https://api.github.com/users/dfrobese",
|
||
"html_url": "https://github.com/dfrobese",
|
||
"followers_url": "https://api.github.com/users/dfrobese/followers",
|
||
"following_url": "https://api.github.com/users/dfrobese/following{/other_user}",
|
||
"gists_url": "https://api.github.com/users/dfrobese/gists{/gist_id}",
|
||
"starred_url": "https://api.github.com/users/dfrobese/starred{/owner}{/repo}",
|
||
"subscriptions_url": "https://api.github.com/users/dfrobese/subscriptions",
|
||
"organizations_url": "https://api.github.com/users/dfrobese/orgs",
|
||
"repos_url": "https://api.github.com/users/dfrobese/repos",
|
||
"events_url": "https://api.github.com/users/dfrobese/events{/privacy}",
|
||
"received_events_url": "https://api.github.com/users/dfrobese/received_events",
|
||
"type": "User",
|
||
"user_view_type": "public",
|
||
"site_admin": false
|
||
},
|
||
"reactions": {
|
||
"url": "https://api.github.com/repos/laurent22/joplin/issues/14515/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/14515/timeline",
|
||
"performed_via_github_app": null,
|
||
"state_reason": null
|
||
},
|
||
"comments": [
|
||
{
|
||
"url": "https://api.github.com/repos/laurent22/joplin/issues/comments/3980977794",
|
||
"html_url": "https://github.com/laurent22/joplin/pull/14515#issuecomment-3980977794",
|
||
"issue_url": "https://api.github.com/repos/laurent22/joplin/issues/14515",
|
||
"id": 3980977794,
|
||
"node_id": "IC_kwDOBLftOs7tSOaC",
|
||
"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-01T20:35:12Z",
|
||
"updated_at": "2026-03-04T10:51:44Z",
|
||
"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/3980977794/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/3980978403",
|
||
"html_url": "https://github.com/laurent22/joplin/pull/14515#issuecomment-3980978403",
|
||
"issue_url": "https://api.github.com/repos/laurent22/joplin/issues/14515",
|
||
"id": 3980978403,
|
||
"node_id": "IC_kwDOBLftOs7tSOjj",
|
||
"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-01T20:35:36Z",
|
||
"updated_at": "2026-03-04T08:53:56Z",
|
||
"body": "<!-- This is an auto-generated comment: summarize by coderabbit.ai -->\n<!-- This is an auto-generated comment: review paused by coderabbit.ai -->\n\n> [!NOTE]\n> ## Reviews paused\n> \n> It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the `reviews.auto_review.auto_pause_after_reviewed_commits` setting.\n> \n> Use the following commands to manage reviews:\n> - `@coderabbitai resume` to resume automatic reviews.\n> - `@coderabbitai review` to trigger a single review.\n> \n> Use the checkboxes below for quick actions:\n> - [ ] <!-- {\"checkboxId\": \"7f6cc2e2-2e4e-497a-8c31-c9e4573e93d1\"} --> ▶️ Resume reviews\n> - [ ] <!-- {\"checkboxId\": \"e9bb8d72-00e8-4f67-9cb2-caf3b22574fe\"} --> 🔍 Trigger review\n\n<!-- end of auto-generated comment: review paused by coderabbit.ai -->\n<!-- walkthrough_start -->\n\n<details>\n<summary>📝 Walkthrough</summary>\n\n## Walkthrough\n\nAdds Windows ARM64 build support: new PowerShell scripts for orchestration, local native builds, dev-shell and audits; patches for node-gyp/sqlite3/keytar and repo-local Node/Python setup; updates electron native rebuild and wasm-pack invocation; adds documentation and cspell tokens.\n\n## Changes\n\n|Cohort / File(s)|Summary|\n|---|---|\n|**Build orchestration** <br> `.github/scripts/build-clean-win-arm64.ps1`|New CI/local entrypoint for Windows ARM64 with strict params, command resolution, repo-local Node/Python prep, node-gyp/sqlite3/keytar patches, Corepack/Yarn wrappers, conditional clean/install/dist/publish flows and fail‑fast error handling.|\n|**Local native & converter builders** <br> `.github/scripts/build-onenote-win-arm64-local.ps1`, `.github/scripts/build-sqlite3-win-arm64-local.ps1`|Local-build scripts: tool resolution (wasm-pack, cargo, Yarn), dev-shell invocation, node-gyp/MSBuild patching and MSBuild fallback for sqlite3, environment control and explicit error messages.|\n|**Dev shell & audit tooling** <br> `.github/scripts/dev-shell-win-arm64.ps1`, `.github/scripts/install-audit-win-arm64.ps1`|Dev-shell helper to launch VS Dev Shell (Arch/HostArch, MSVS version, PATH/GYP/npm vars) and an install-audit script that runs Corepack/Yarn and `yarn why` (human or JSON output) for dependency inspection.|\n|**Native/electron rebuild helper** <br> `packages/app-desktop/tools/electronRebuild.js`|ARM64 detection now uses `process.arch`; adds explicit Windows ARM64 rebuild invocation (`--arch arm64`) and simplifies non‑ARM Windows handling.|\n|**WASM build invocation** <br> `packages/onenote-converter/tools/build.js`|Switches from a single-shell string to an argument-array invoking `WASM_PACK_BIN` (or `wasm-pack`) with explicit args (`build`, `--target nodejs`, `./renderer`).|\n|**Docs & spelling** <br> `readme/dev/windows-arm64-local-build.md`, `packages/tools/cspell/dictionary2.txt`|New local Windows ARM64 build guide and added cspell tokens (`Msvs`, `napi`).|\n\n## Sequence Diagram(s)\n\n```mermaid\nsequenceDiagram\n participant Dev as Dev machine (Terminal)\n participant Script as PS build script\n participant DevShell as VS Dev Shell\n participant Tooling as Corepack / Yarn / Node / Python\n participant Builder as MSBuild / electron-builder\n\n Dev->>Script: Invoke build script (params)\n Script->>DevShell: Launch dev-shell-win-arm64.ps1 (Arch, MsvsVersion)\n DevShell-->>Script: Environment prepared (PATH, GYP_MSVS_VERSION, npm config)\n Script->>Tooling: Resolve Node, Python, Corepack/Yarn, wasm-pack\n Tooling-->>Script: Tool paths returned\n Script->>Tooling: Run Corepack/Yarn install (optional --mode=skip-build)\n Tooling-->>Script: Install result\n alt native modules need rebuild\n Script->>Script: Apply patches (node-gyp, sqlite3, keytar)\n Script->>Builder: Run node-pre-gyp / MSBuild / electron-builder\n Builder-->>Script: Built artifacts (sqlite3.node, app dist)\n end\n Script->>Dev: Exit with success or descriptive error\n```\n\n</details>\n\n<!-- walkthrough_end -->\n\n<!-- pre_merge_checks_walkthrough_start -->\n\n<details>\n<summary>🚥 Pre-merge checks | ✅ 2 | ❌ 2</summary>\n\n### ❌ Failed checks (1 error, 1 warning)\n\n| Check name | Status | Explanation | Resolution |\n| :-----------------------------------: | :--------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| Pr Description Must Follow Guidelines | ❌ Error | PR description lacks explicit section headers for Problem, Solution, and Test Plan as required by guidelines, and begins with implementation details rather than user-visible impact. | Restructure with explicit headers (**Problem**, **Solution**, **Test Plan**), establish user-visible impact first, and ensure comprehensive verification addressing unresolved issues. |\n| Docstring Coverage | ⚠️ Warning | Docstring coverage is 0.00% 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 (2 passed)</summary>\n\n| Check name | Status | Explanation |\n| :---------------: | :------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| Title check | ✅ Passed | The title accurately summarises the main change: adding Windows ARM64 support and unifying the build flow to use standard desktop dist commands for both ARM64 and x64 architectures. |\n| Description check | ✅ Passed | The pull request description directly addresses the changeset, explaining the problem (inconsistent Windows ARM64 build flow), the solution (unified invocation using standard yarn dist commands), and test validation performed. |\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<!-- announcements_start -->\n\n> [!TIP]\n> Try [Coding Plans](https://www.coderabbit.ai/issue-planner). Let us write the prompt for your AI agent so you can ship faster (with fewer bugs).\n> Share your feedback on [Discord](https://discord.com/invite/coderabbit).\n\n<!-- announcements_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=14515)! 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/3980978403/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/3981042592",
|
||
"html_url": "https://github.com/laurent22/joplin/pull/14515#issuecomment-3981042592",
|
||
"issue_url": "https://api.github.com/repos/laurent22/joplin/issues/14515",
|
||
"id": 3981042592,
|
||
"node_id": "IC_kwDOBLftOs7tSeOg",
|
||
"user": {
|
||
"login": "dfrobese",
|
||
"id": 22085580,
|
||
"node_id": "MDQ6VXNlcjIyMDg1NTgw",
|
||
"avatar_url": "https://avatars.githubusercontent.com/u/22085580?v=4",
|
||
"gravatar_id": "",
|
||
"url": "https://api.github.com/users/dfrobese",
|
||
"html_url": "https://github.com/dfrobese",
|
||
"followers_url": "https://api.github.com/users/dfrobese/followers",
|
||
"following_url": "https://api.github.com/users/dfrobese/following{/other_user}",
|
||
"gists_url": "https://api.github.com/users/dfrobese/gists{/gist_id}",
|
||
"starred_url": "https://api.github.com/users/dfrobese/starred{/owner}{/repo}",
|
||
"subscriptions_url": "https://api.github.com/users/dfrobese/subscriptions",
|
||
"organizations_url": "https://api.github.com/users/dfrobese/orgs",
|
||
"repos_url": "https://api.github.com/users/dfrobese/repos",
|
||
"events_url": "https://api.github.com/users/dfrobese/events{/privacy}",
|
||
"received_events_url": "https://api.github.com/users/dfrobese/received_events",
|
||
"type": "User",
|
||
"user_view_type": "public",
|
||
"site_admin": false
|
||
},
|
||
"created_at": "2026-03-01T21:15:45Z",
|
||
"updated_at": "2026-03-01T21:15:45Z",
|
||
"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/3981042592/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/3981089091",
|
||
"html_url": "https://github.com/laurent22/joplin/pull/14515#issuecomment-3981089091",
|
||
"issue_url": "https://api.github.com/repos/laurent22/joplin/issues/14515",
|
||
"id": 3981089091,
|
||
"node_id": "IC_kwDOBLftOs7tSplD",
|
||
"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:42:52Z",
|
||
"updated_at": "2026-03-01T21:42:52Z",
|
||
"body": "Thanks, but I think this code would be more suitable as some kind of unofficial build method that we could list [here](https://discourse.joplinapp.org/t/unofficial-alternative-joplin-distributions/23703) for example, since it's quite niche.\r\n\r\nWhat would make sense for our repo, is to have something that automatically builds that ARM64 version as part of our CI pipeline. But it would need to be relatively simple to maintain",
|
||
"author_association": "OWNER",
|
||
"reactions": {
|
||
"url": "https://api.github.com/repos/laurent22/joplin/issues/comments/3981089091/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/3987145272",
|
||
"html_url": "https://github.com/laurent22/joplin/pull/14515#issuecomment-3987145272",
|
||
"issue_url": "https://api.github.com/repos/laurent22/joplin/issues/14515",
|
||
"id": 3987145272,
|
||
"node_id": "IC_kwDOBLftOs7tpwI4",
|
||
"user": {
|
||
"login": "dfrobese",
|
||
"id": 22085580,
|
||
"node_id": "MDQ6VXNlcjIyMDg1NTgw",
|
||
"avatar_url": "https://avatars.githubusercontent.com/u/22085580?v=4",
|
||
"gravatar_id": "",
|
||
"url": "https://api.github.com/users/dfrobese",
|
||
"html_url": "https://github.com/dfrobese",
|
||
"followers_url": "https://api.github.com/users/dfrobese/followers",
|
||
"following_url": "https://api.github.com/users/dfrobese/following{/other_user}",
|
||
"gists_url": "https://api.github.com/users/dfrobese/gists{/gist_id}",
|
||
"starred_url": "https://api.github.com/users/dfrobese/starred{/owner}{/repo}",
|
||
"subscriptions_url": "https://api.github.com/users/dfrobese/subscriptions",
|
||
"organizations_url": "https://api.github.com/users/dfrobese/orgs",
|
||
"repos_url": "https://api.github.com/users/dfrobese/repos",
|
||
"events_url": "https://api.github.com/users/dfrobese/events{/privacy}",
|
||
"received_events_url": "https://api.github.com/users/dfrobese/received_events",
|
||
"type": "User",
|
||
"user_view_type": "public",
|
||
"site_admin": false
|
||
},
|
||
"created_at": "2026-03-02T21:57:39Z",
|
||
"updated_at": "2026-03-02T21:58:00Z",
|
||
"body": "Let me check.",
|
||
"author_association": "NONE",
|
||
"reactions": {
|
||
"url": "https://api.github.com/repos/laurent22/joplin/issues/comments/3987145272/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/3991788072",
|
||
"html_url": "https://github.com/laurent22/joplin/pull/14515#issuecomment-3991788072",
|
||
"issue_url": "https://api.github.com/repos/laurent22/joplin/issues/14515",
|
||
"id": 3991788072,
|
||
"node_id": "IC_kwDOBLftOs7t7doo",
|
||
"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-03T15:24:42Z",
|
||
"updated_at": "2026-03-03T15:24:42Z",
|
||
"body": "Hello, as we are getting a lot of with pull requests at the moment due to GSoC, I'm trying to keep a clean PR backlog, so I would prefer to close this one for now. But feel free to ping me if you'd like to do something more",
|
||
"author_association": "OWNER",
|
||
"reactions": {
|
||
"url": "https://api.github.com/repos/laurent22/joplin/issues/comments/3991788072/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/3991921784",
|
||
"html_url": "https://github.com/laurent22/joplin/pull/14515#issuecomment-3991921784",
|
||
"issue_url": "https://api.github.com/repos/laurent22/joplin/issues/14515",
|
||
"id": 3991921784,
|
||
"node_id": "IC_kwDOBLftOs7t7-R4",
|
||
"user": {
|
||
"login": "dfrobese",
|
||
"id": 22085580,
|
||
"node_id": "MDQ6VXNlcjIyMDg1NTgw",
|
||
"avatar_url": "https://avatars.githubusercontent.com/u/22085580?v=4",
|
||
"gravatar_id": "",
|
||
"url": "https://api.github.com/users/dfrobese",
|
||
"html_url": "https://github.com/dfrobese",
|
||
"followers_url": "https://api.github.com/users/dfrobese/followers",
|
||
"following_url": "https://api.github.com/users/dfrobese/following{/other_user}",
|
||
"gists_url": "https://api.github.com/users/dfrobese/gists{/gist_id}",
|
||
"starred_url": "https://api.github.com/users/dfrobese/starred{/owner}{/repo}",
|
||
"subscriptions_url": "https://api.github.com/users/dfrobese/subscriptions",
|
||
"organizations_url": "https://api.github.com/users/dfrobese/orgs",
|
||
"repos_url": "https://api.github.com/users/dfrobese/repos",
|
||
"events_url": "https://api.github.com/users/dfrobese/events{/privacy}",
|
||
"received_events_url": "https://api.github.com/users/dfrobese/received_events",
|
||
"type": "User",
|
||
"user_view_type": "public",
|
||
"site_admin": false
|
||
},
|
||
"created_at": "2026-03-03T15:46:48Z",
|
||
"updated_at": "2026-03-03T15:46:48Z",
|
||
"body": "I did some changes and like to commit\r\n",
|
||
"author_association": "NONE",
|
||
"reactions": {
|
||
"url": "https://api.github.com/repos/laurent22/joplin/issues/comments/3991921784/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/3991935727",
|
||
"html_url": "https://github.com/laurent22/joplin/pull/14515#issuecomment-3991935727",
|
||
"issue_url": "https://api.github.com/repos/laurent22/joplin/issues/14515",
|
||
"id": 3991935727,
|
||
"node_id": "IC_kwDOBLftOs7t8Brv",
|
||
"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-03T15:49:05Z",
|
||
"updated_at": "2026-03-03T15:49:05Z",
|
||
"body": "Ok it's reopened",
|
||
"author_association": "OWNER",
|
||
"reactions": {
|
||
"url": "https://api.github.com/repos/laurent22/joplin/issues/comments/3991935727/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/3992028789",
|
||
"html_url": "https://github.com/laurent22/joplin/pull/14515#issuecomment-3992028789",
|
||
"issue_url": "https://api.github.com/repos/laurent22/joplin/issues/14515",
|
||
"id": 3992028789,
|
||
"node_id": "IC_kwDOBLftOs7t8YZ1",
|
||
"user": {
|
||
"login": "dfrobese",
|
||
"id": 22085580,
|
||
"node_id": "MDQ6VXNlcjIyMDg1NTgw",
|
||
"avatar_url": "https://avatars.githubusercontent.com/u/22085580?v=4",
|
||
"gravatar_id": "",
|
||
"url": "https://api.github.com/users/dfrobese",
|
||
"html_url": "https://github.com/dfrobese",
|
||
"followers_url": "https://api.github.com/users/dfrobese/followers",
|
||
"following_url": "https://api.github.com/users/dfrobese/following{/other_user}",
|
||
"gists_url": "https://api.github.com/users/dfrobese/gists{/gist_id}",
|
||
"starred_url": "https://api.github.com/users/dfrobese/starred{/owner}{/repo}",
|
||
"subscriptions_url": "https://api.github.com/users/dfrobese/subscriptions",
|
||
"organizations_url": "https://api.github.com/users/dfrobese/orgs",
|
||
"repos_url": "https://api.github.com/users/dfrobese/repos",
|
||
"events_url": "https://api.github.com/users/dfrobese/events{/privacy}",
|
||
"received_events_url": "https://api.github.com/users/dfrobese/received_events",
|
||
"type": "User",
|
||
"user_view_type": "public",
|
||
"site_admin": false
|
||
},
|
||
"created_at": "2026-03-03T16:04:21Z",
|
||
"updated_at": "2026-03-03T16:04:21Z",
|
||
"body": "I pushed the changes. I appreciate your wait. Years ago I was in the minority of using Apple ARM technology, now it is a common platform. Things are changing. ",
|
||
"author_association": "NONE",
|
||
"reactions": {
|
||
"url": "https://api.github.com/repos/laurent22/joplin/issues/comments/3992028789/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/3996627605",
|
||
"html_url": "https://github.com/laurent22/joplin/pull/14515#issuecomment-3996627605",
|
||
"issue_url": "https://api.github.com/repos/laurent22/joplin/issues/14515",
|
||
"id": 3996627605,
|
||
"node_id": "IC_kwDOBLftOs7uN7KV",
|
||
"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-04T10:28:29Z",
|
||
"updated_at": "2026-03-04T10:28:29Z",
|
||
"body": "One issue to keep in mind here is that this is really a massive PR for a niche usage, so I'm not so keen on putting in resources to maintain this.\r\n\r\nIs it really how Electron ARM64 apps are built, with a bunch of bespoke ps scripts? I don't know if you use AI, but they do this, create massive custom scripts, when there are libraries or packages that would do the job (for example I wanted to test a WebDAV server and Claude ended up implementing one instead of importing an existing server).\r\n\r\nSo that's why earlier I was suggesting to move that to a separate repository for now that you and other contributors could maintain, and we can link it from our wiki.\r\n\r\nAlso another issue is that we actually have to pay every time we sign a Windows app and all its binary dependencies. So that's an extra fixed cost for the project.",
|
||
"author_association": "OWNER",
|
||
"reactions": {
|
||
"url": "https://api.github.com/repos/laurent22/joplin/issues/comments/3996627605/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/3996747077",
|
||
"html_url": "https://github.com/laurent22/joplin/pull/14515#issuecomment-3996747077",
|
||
"issue_url": "https://api.github.com/repos/laurent22/joplin/issues/14515",
|
||
"id": 3996747077,
|
||
"node_id": "IC_kwDOBLftOs7uOYVF",
|
||
"user": {
|
||
"login": "dfrobese",
|
||
"id": 22085580,
|
||
"node_id": "MDQ6VXNlcjIyMDg1NTgw",
|
||
"avatar_url": "https://avatars.githubusercontent.com/u/22085580?v=4",
|
||
"gravatar_id": "",
|
||
"url": "https://api.github.com/users/dfrobese",
|
||
"html_url": "https://github.com/dfrobese",
|
||
"followers_url": "https://api.github.com/users/dfrobese/followers",
|
||
"following_url": "https://api.github.com/users/dfrobese/following{/other_user}",
|
||
"gists_url": "https://api.github.com/users/dfrobese/gists{/gist_id}",
|
||
"starred_url": "https://api.github.com/users/dfrobese/starred{/owner}{/repo}",
|
||
"subscriptions_url": "https://api.github.com/users/dfrobese/subscriptions",
|
||
"organizations_url": "https://api.github.com/users/dfrobese/orgs",
|
||
"repos_url": "https://api.github.com/users/dfrobese/repos",
|
||
"events_url": "https://api.github.com/users/dfrobese/events{/privacy}",
|
||
"received_events_url": "https://api.github.com/users/dfrobese/received_events",
|
||
"type": "User",
|
||
"user_view_type": "public",
|
||
"site_admin": false
|
||
},
|
||
"created_at": "2026-03-04T10:51:19Z",
|
||
"updated_at": "2026-03-04T10:51:19Z",
|
||
"body": "Ok, I reject.",
|
||
"author_association": "NONE",
|
||
"reactions": {
|
||
"url": "https://api.github.com/repos/laurent22/joplin/issues/comments/3996747077/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/3996808398",
|
||
"html_url": "https://github.com/laurent22/joplin/pull/14515#issuecomment-3996808398",
|
||
"issue_url": "https://api.github.com/repos/laurent22/joplin/issues/14515",
|
||
"id": 3996808398,
|
||
"node_id": "IC_kwDOBLftOs7uOnTO",
|
||
"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-04T11:03:46Z",
|
||
"updated_at": "2026-03-04T11:03:46Z",
|
||
"body": "Thanks for your understanding. As mentioned we can reconsider if there's a simple way to do this, perhaps using electron-builder or other well-maintained package",
|
||
"author_association": "OWNER",
|
||
"reactions": {
|
||
"url": "https://api.github.com/repos/laurent22/joplin/issues/comments/3996808398/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
|
||
}
|
||
]
|
||
} |