{
	"issue": {
		"url": "https://api.github.com/repos/laurent22/joplin/issues/8452",
		"repository_url": "https://api.github.com/repos/laurent22/joplin",
		"labels_url": "https://api.github.com/repos/laurent22/joplin/issues/8452/labels{/name}",
		"comments_url": "https://api.github.com/repos/laurent22/joplin/issues/8452/comments",
		"events_url": "https://api.github.com/repos/laurent22/joplin/issues/8452/events",
		"html_url": "https://github.com/laurent22/joplin/pull/8452",
		"id": 1799913663,
		"node_id": "PR_kwDOBLftOs5VQSP2",
		"number": 8452,
		"title": "Desktop: attempt to fix #6052: Create arm64 function for cross-compile support",
		"user": {
			"login": "noah-nash",
			"id": 48302704,
			"node_id": "MDQ6VXNlcjQ4MzAyNzA0",
			"avatar_url": "https://avatars.githubusercontent.com/u/48302704?v=4",
			"gravatar_id": "",
			"url": "https://api.github.com/users/noah-nash",
			"html_url": "https://github.com/noah-nash",
			"followers_url": "https://api.github.com/users/noah-nash/followers",
			"following_url": "https://api.github.com/users/noah-nash/following{/other_user}",
			"gists_url": "https://api.github.com/users/noah-nash/gists{/gist_id}",
			"starred_url": "https://api.github.com/users/noah-nash/starred{/owner}{/repo}",
			"subscriptions_url": "https://api.github.com/users/noah-nash/subscriptions",
			"organizations_url": "https://api.github.com/users/noah-nash/orgs",
			"repos_url": "https://api.github.com/users/noah-nash/repos",
			"events_url": "https://api.github.com/users/noah-nash/events{/privacy}",
			"received_events_url": "https://api.github.com/users/noah-nash/received_events",
			"type": "User",
			"user_view_type": "public",
			"site_admin": false
		},
		"labels": [],
		"state": "closed",
		"locked": false,
		"assignee": null,
		"assignees": [],
		"milestone": null,
		"comments": 7,
		"created_at": "2023-07-11T23:32:19Z",
		"updated_at": "2023-07-13T10:29:33Z",
		"closed_at": "2023-07-13T10:29:16Z",
		"author_association": "CONTRIBUTOR",
		"sub_issues_summary": {
			"total": 0,
			"completed": 0,
			"percent_completed": 0
		},
		"active_lock_reason": null,
		"draft": false,
		"pull_request": {
			"url": "https://api.github.com/repos/laurent22/joplin/pulls/8452",
			"html_url": "https://github.com/laurent22/joplin/pull/8452",
			"diff_url": "https://github.com/laurent22/joplin/pull/8452.diff",
			"patch_url": "https://github.com/laurent22/joplin/pull/8452.patch",
			"merged_at": "2023-07-13T10:29:16Z"
		},
		"body": "(hopefully) Resolves #6052 \r\n\r\nThe network errors referenced in the issue were caused by not downloading the prebuilt `keytar` module. Creating a separate electron-rebuild command should make it act similar to `prebuild-install` and make it fetch the proper prebuilt keytar module when building from source is not possible (different architectures). This should also hopefully work towards making a Linux arm64 build as well.\r\n\r\nIf this does not solve the issue, it may have to be pushed back earlier in the CI build process, before `yarn install`.\r\n\r\n<!--\r\n\r\nPlease prefix the title with the platform you are targetting:\r\n\r\nHere are some examples of good titles:\r\n\r\n- Desktop: Resolves #123: Added new setting to change font\r\n- Mobile, Desktop: Fixes #456: Fixed config screen error\r\n- All: Resolves #777: Made synchronisation faster\r\n\r\nAnd here's an explanation of the title format:\r\n\r\n- \"Desktop\" for the Windows/macOS/Linux app (Electron app)\r\n- \"Mobile\" for the mobile app (or \"Android\" / \"iOS\" if the pull request only applies to one of the mobile platforms)\r\n- \"CLI\" for the CLI app\r\n\r\nIf it's two platforms, separate them with commas - \"Desktop, Mobile\" or if it's for all platforms, prefix with \"All\".\r\n\r\nIf it's not related to any platform (such as a translation, change to the documentation, etc.), simply don't add a platform.\r\n\r\nThen please append the issue that you've addressed or fixed. Use \"Resolves #123\" for new features or improvements and \"Fixes #123\" for bug fixes.\r\n\r\nAND PLEASE READ THE GUIDE: https://github.com/laurent22/joplin/blob/dev/CONTRIBUTING.md\r\n\r\n-->\r\n",
		"closed_by": {
			"login": "laurent22",
			"id": 1285584,
			"node_id": "MDQ6VXNlcjEyODU1ODQ=",
			"avatar_url": "https://avatars.githubusercontent.com/u/1285584?v=4",
			"gravatar_id": "",
			"url": "https://api.github.com/users/laurent22",
			"html_url": "https://github.com/laurent22",
			"followers_url": "https://api.github.com/users/laurent22/followers",
			"following_url": "https://api.github.com/users/laurent22/following{/other_user}",
			"gists_url": "https://api.github.com/users/laurent22/gists{/gist_id}",
			"starred_url": "https://api.github.com/users/laurent22/starred{/owner}{/repo}",
			"subscriptions_url": "https://api.github.com/users/laurent22/subscriptions",
			"organizations_url": "https://api.github.com/users/laurent22/orgs",
			"repos_url": "https://api.github.com/users/laurent22/repos",
			"events_url": "https://api.github.com/users/laurent22/events{/privacy}",
			"received_events_url": "https://api.github.com/users/laurent22/received_events",
			"type": "User",
			"user_view_type": "public",
			"site_admin": false
		},
		"reactions": {
			"url": "https://api.github.com/repos/laurent22/joplin/issues/8452/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/8452/timeline",
		"performed_via_github_app": null,
		"state_reason": null
	},
	"comments": [
		{
			"url": "https://api.github.com/repos/laurent22/joplin/issues/comments/1631636215",
			"html_url": "https://github.com/laurent22/joplin/pull/8452#issuecomment-1631636215",
			"issue_url": "https://api.github.com/repos/laurent22/joplin/issues/8452",
			"id": 1631636215,
			"node_id": "IC_kwDOBLftOs5hQMr3",
			"user": {
				"login": "github-actions[bot]",
				"id": 41898282,
				"node_id": "MDM6Qm90NDE4OTgyODI=",
				"avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4",
				"gravatar_id": "",
				"url": "https://api.github.com/users/github-actions%5Bbot%5D",
				"html_url": "https://github.com/apps/github-actions",
				"followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers",
				"following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}",
				"gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}",
				"starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}",
				"subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions",
				"organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs",
				"repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos",
				"events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}",
				"received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events",
				"type": "Bot",
				"user_view_type": "public",
				"site_admin": false
			},
			"created_at": "2023-07-11T23:32:34Z",
			"updated_at": "2023-07-13T10:29:33Z",
			"author_association": "CONTRIBUTOR",
			"body": "****CLA Assistant Lite bot**** All contributors have signed the CLA  ✍️ ✅",
			"reactions": {
				"url": "https://api.github.com/repos/laurent22/joplin/issues/comments/1631636215/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/1631642401",
			"html_url": "https://github.com/laurent22/joplin/pull/8452#issuecomment-1631642401",
			"issue_url": "https://api.github.com/repos/laurent22/joplin/issues/8452",
			"id": 1631642401,
			"node_id": "IC_kwDOBLftOs5hQOMh",
			"user": {
				"login": "noah-nash",
				"id": 48302704,
				"node_id": "MDQ6VXNlcjQ4MzAyNzA0",
				"avatar_url": "https://avatars.githubusercontent.com/u/48302704?v=4",
				"gravatar_id": "",
				"url": "https://api.github.com/users/noah-nash",
				"html_url": "https://github.com/noah-nash",
				"followers_url": "https://api.github.com/users/noah-nash/followers",
				"following_url": "https://api.github.com/users/noah-nash/following{/other_user}",
				"gists_url": "https://api.github.com/users/noah-nash/gists{/gist_id}",
				"starred_url": "https://api.github.com/users/noah-nash/starred{/owner}{/repo}",
				"subscriptions_url": "https://api.github.com/users/noah-nash/subscriptions",
				"organizations_url": "https://api.github.com/users/noah-nash/orgs",
				"repos_url": "https://api.github.com/users/noah-nash/repos",
				"events_url": "https://api.github.com/users/noah-nash/events{/privacy}",
				"received_events_url": "https://api.github.com/users/noah-nash/received_events",
				"type": "User",
				"user_view_type": "public",
				"site_admin": false
			},
			"created_at": "2023-07-11T23:36:37Z",
			"updated_at": "2023-07-11T23:36:37Z",
			"author_association": "CONTRIBUTOR",
			"body": "I have read the CLA Document and I hereby sign the CLA",
			"reactions": {
				"url": "https://api.github.com/repos/laurent22/joplin/issues/comments/1631642401/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/1632172152",
			"html_url": "https://github.com/laurent22/joplin/pull/8452#issuecomment-1632172152",
			"issue_url": "https://api.github.com/repos/laurent22/joplin/issues/8452",
			"id": 1632172152,
			"node_id": "IC_kwDOBLftOs5hSPh4",
			"user": {
				"login": "laurent22",
				"id": 1285584,
				"node_id": "MDQ6VXNlcjEyODU1ODQ=",
				"avatar_url": "https://avatars.githubusercontent.com/u/1285584?v=4",
				"gravatar_id": "",
				"url": "https://api.github.com/users/laurent22",
				"html_url": "https://github.com/laurent22",
				"followers_url": "https://api.github.com/users/laurent22/followers",
				"following_url": "https://api.github.com/users/laurent22/following{/other_user}",
				"gists_url": "https://api.github.com/users/laurent22/gists{/gist_id}",
				"starred_url": "https://api.github.com/users/laurent22/starred{/owner}{/repo}",
				"subscriptions_url": "https://api.github.com/users/laurent22/subscriptions",
				"organizations_url": "https://api.github.com/users/laurent22/orgs",
				"repos_url": "https://api.github.com/users/laurent22/repos",
				"events_url": "https://api.github.com/users/laurent22/events{/privacy}",
				"received_events_url": "https://api.github.com/users/laurent22/received_events",
				"type": "User",
				"user_view_type": "public",
				"site_admin": false
			},
			"created_at": "2023-07-12T09:32:15Z",
			"updated_at": "2023-07-12T09:32:15Z",
			"author_association": "OWNER",
			"body": "Thanks @noah-nash. Looks like it builds, but there's an unrelated problem with signing the app which I'll check first before merging this. By the way do you understand how keytar could affect the network lib? As I understand, the request headers somehow were not being passed around anymore but I don't see how that could be related to keytar",
			"reactions": {
				"url": "https://api.github.com/repos/laurent22/joplin/issues/comments/1632172152/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/1632678339",
			"html_url": "https://github.com/laurent22/joplin/pull/8452#issuecomment-1632678339",
			"issue_url": "https://api.github.com/repos/laurent22/joplin/issues/8452",
			"id": 1632678339,
			"node_id": "IC_kwDOBLftOs5hULHD",
			"user": {
				"login": "laurent22",
				"id": 1285584,
				"node_id": "MDQ6VXNlcjEyODU1ODQ=",
				"avatar_url": "https://avatars.githubusercontent.com/u/1285584?v=4",
				"gravatar_id": "",
				"url": "https://api.github.com/users/laurent22",
				"html_url": "https://github.com/laurent22",
				"followers_url": "https://api.github.com/users/laurent22/followers",
				"following_url": "https://api.github.com/users/laurent22/following{/other_user}",
				"gists_url": "https://api.github.com/users/laurent22/gists{/gist_id}",
				"starred_url": "https://api.github.com/users/laurent22/starred{/owner}{/repo}",
				"subscriptions_url": "https://api.github.com/users/laurent22/subscriptions",
				"organizations_url": "https://api.github.com/users/laurent22/orgs",
				"repos_url": "https://api.github.com/users/laurent22/repos",
				"events_url": "https://api.github.com/users/laurent22/events{/privacy}",
				"received_events_url": "https://api.github.com/users/laurent22/received_events",
				"type": "User",
				"user_view_type": "public",
				"site_admin": false
			},
			"created_at": "2023-07-12T14:50:48Z",
			"updated_at": "2023-07-12T14:50:48Z",
			"author_association": "OWNER",
			"body": "@noah-nash, you have some linter errors. Could you run `yarn run linter ./` from the root please?",
			"reactions": {
				"url": "https://api.github.com/repos/laurent22/joplin/issues/comments/1632678339/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/1633387060",
			"html_url": "https://github.com/laurent22/joplin/pull/8452#issuecomment-1633387060",
			"issue_url": "https://api.github.com/repos/laurent22/joplin/issues/8452",
			"id": 1633387060,
			"node_id": "IC_kwDOBLftOs5hW4I0",
			"user": {
				"login": "noah-nash",
				"id": 48302704,
				"node_id": "MDQ6VXNlcjQ4MzAyNzA0",
				"avatar_url": "https://avatars.githubusercontent.com/u/48302704?v=4",
				"gravatar_id": "",
				"url": "https://api.github.com/users/noah-nash",
				"html_url": "https://github.com/noah-nash",
				"followers_url": "https://api.github.com/users/noah-nash/followers",
				"following_url": "https://api.github.com/users/noah-nash/following{/other_user}",
				"gists_url": "https://api.github.com/users/noah-nash/gists{/gist_id}",
				"starred_url": "https://api.github.com/users/noah-nash/starred{/owner}{/repo}",
				"subscriptions_url": "https://api.github.com/users/noah-nash/subscriptions",
				"organizations_url": "https://api.github.com/users/noah-nash/orgs",
				"repos_url": "https://api.github.com/users/noah-nash/repos",
				"events_url": "https://api.github.com/users/noah-nash/events{/privacy}",
				"received_events_url": "https://api.github.com/users/noah-nash/received_events",
				"type": "User",
				"user_view_type": "public",
				"site_admin": false
			},
			"created_at": "2023-07-13T01:01:18Z",
			"updated_at": "2023-07-13T01:01:18Z",
			"author_association": "CONTRIBUTOR",
			"body": "My bad. I just linted the code and it should be good now. ",
			"reactions": {
				"url": "https://api.github.com/repos/laurent22/joplin/issues/comments/1633387060/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/1633435745",
			"html_url": "https://github.com/laurent22/joplin/pull/8452#issuecomment-1633435745",
			"issue_url": "https://api.github.com/repos/laurent22/joplin/issues/8452",
			"id": 1633435745,
			"node_id": "IC_kwDOBLftOs5hXEBh",
			"user": {
				"login": "dreness",
				"id": 5242016,
				"node_id": "MDQ6VXNlcjUyNDIwMTY=",
				"avatar_url": "https://avatars.githubusercontent.com/u/5242016?v=4",
				"gravatar_id": "",
				"url": "https://api.github.com/users/dreness",
				"html_url": "https://github.com/dreness",
				"followers_url": "https://api.github.com/users/dreness/followers",
				"following_url": "https://api.github.com/users/dreness/following{/other_user}",
				"gists_url": "https://api.github.com/users/dreness/gists{/gist_id}",
				"starred_url": "https://api.github.com/users/dreness/starred{/owner}{/repo}",
				"subscriptions_url": "https://api.github.com/users/dreness/subscriptions",
				"organizations_url": "https://api.github.com/users/dreness/orgs",
				"repos_url": "https://api.github.com/users/dreness/repos",
				"events_url": "https://api.github.com/users/dreness/events{/privacy}",
				"received_events_url": "https://api.github.com/users/dreness/received_events",
				"type": "User",
				"user_view_type": "public",
				"site_admin": false
			},
			"created_at": "2023-07-13T02:16:42Z",
			"updated_at": "2023-07-13T02:16:42Z",
			"author_association": "NONE",
			"body": "> By the way do you understand how keytar could affect the network lib? As I understand, the request headers somehow were not being passed around anymore but I don't see how that could be related to keytar\r\n\r\nLooks like [keytar](https://github.com/atom/node-keytar)'s job is to manage Joplin credentials by storing and loading them with the appropriate platform-native credential store. HTTP credentials are typically communicated in the form of HTTP headers, so failure to fetch credentials could certainly yield broken headers.\r\n\r\nOn macOS, a running application is authorized to access items in the keychain (or not) based on the identity in the code signature of that application. The code signature identity is derived from the developer certificate used to do the signing, which is bound to a specific Apple developer account (or the signature is an ad-hoc signature, which is effectively \"anonymous and guaranteed unique\"). Ad-hoc signatures are really only useful for development purposes, for reasons I'm about to explain.\r\n\r\nAny app is allowed to store new items to the keychain, however only the app that stored a keychain item is allowed to retrieve that item (the exception is when using [keychain access groups](https://developer.apple.com/documentation/security/keychain_services/keychain_items/sharing_access_to_keychain_items_among_a_collection_of_apps/)). Updated versions a given app - i.e. with the same bundle ID and signed by the same developer ID - are authorized to access keychain items stored by other versions of that app. Even if it's the exact same software, if the app is signed by a different identity, Keychain considers it to be a distinct app, which is good, otherwise it would be super easy to steal another app's credentials.",
			"reactions": {
				"url": "https://api.github.com/repos/laurent22/joplin/issues/comments/1633435745/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/1633979430",
			"html_url": "https://github.com/laurent22/joplin/pull/8452#issuecomment-1633979430",
			"issue_url": "https://api.github.com/repos/laurent22/joplin/issues/8452",
			"id": 1633979430,
			"node_id": "IC_kwDOBLftOs5hZIwm",
			"user": {
				"login": "laurent22",
				"id": 1285584,
				"node_id": "MDQ6VXNlcjEyODU1ODQ=",
				"avatar_url": "https://avatars.githubusercontent.com/u/1285584?v=4",
				"gravatar_id": "",
				"url": "https://api.github.com/users/laurent22",
				"html_url": "https://github.com/laurent22",
				"followers_url": "https://api.github.com/users/laurent22/followers",
				"following_url": "https://api.github.com/users/laurent22/following{/other_user}",
				"gists_url": "https://api.github.com/users/laurent22/gists{/gist_id}",
				"starred_url": "https://api.github.com/users/laurent22/starred{/owner}{/repo}",
				"subscriptions_url": "https://api.github.com/users/laurent22/subscriptions",
				"organizations_url": "https://api.github.com/users/laurent22/orgs",
				"repos_url": "https://api.github.com/users/laurent22/repos",
				"events_url": "https://api.github.com/users/laurent22/events{/privacy}",
				"received_events_url": "https://api.github.com/users/laurent22/received_events",
				"type": "User",
				"user_view_type": "public",
				"site_admin": false
			},
			"created_at": "2023-07-13T10:28:45Z",
			"updated_at": "2023-07-13T10:28:45Z",
			"author_association": "OWNER",
			"body": "> Any app is allowed to store new items to the keychain, however only the app that stored a keychain item is allowed to retrieve that item (the exception is when using [keychain access groups](https://developer.apple.com/documentation/security/keychain_services/keychain_items/sharing_access_to_keychain_items_among_a_collection_of_apps/)). Updated versions a given app - i.e. with the same bundle ID and signed by the same developer ID - are authorized to access keychain items stored by other versions of that app. Even if it's the exact same software, if the app is signed by a different identity, Keychain considers it to be a distinct app, which is good, otherwise it would be super easy to steal another app's credentials.\r\n\r\nIndeed that's probably what is is. We store secrets in the keychain using keytar, and since it was broken they weren't being saved anymore. Hopefully this pull request should fix this.\r\n\r\nAll tests are passing now, thanks @noah-nash, let's see if we can build this arm64 app!",
			"reactions": {
				"url": "https://api.github.com/repos/laurent22/joplin/issues/comments/1633979430/reactions",
				"total_count": 1,
				"+1": 0,
				"-1": 0,
				"laugh": 0,
				"hooray": 1,
				"confused": 0,
				"heart": 0,
				"rocket": 0,
				"eyes": 0
			},
			"performed_via_github_app": null
		}
	]
}