laurent22 / joplin

Joplin - the privacy-focused note taking app with sync capabilities for Windows, macOS, Linux, Android and iOS.
https://joplinapp.org
Other
45.18k stars 4.92k forks source link

ARM build for mac os M1 processor #6052

Closed rafjaf closed 8 months ago

rafjaf commented 2 years ago

Hello, apparently Joplin 2.6.10 for macos is only optimized for intel-based Mac. Yet buiding Electron apps compatible with ARM proessors seems possible, see https://www.electronjs.org/blog/apple-silicon. Is there any plan to implement this? Thank you in advance for considering this issue.

pawelostr commented 1 year ago

Still relevant

MarcelRei commented 1 year ago

is there an update here?

DreamDevourer commented 1 year ago

Still relevant...

bluesheepcj commented 1 year ago

Still relevant

github-actions[bot] commented 1 year ago

Hey there, it looks like there has been no activity on this issue recently. Has the issue been fixed, or does it still require the community's attention? If you require support or are requesting an enhancement or feature then please create a topic on the Joplin forum. This issue may be closed if no further activity occurs. You may comment on the issue and I will leave it open. Thank you for your contributions.

ajgraves commented 1 year ago

Still. Relevant.

DreamDevourer commented 1 year ago

Still relevant

chausch commented 1 year ago

+1 for joplin on m1!

onedr0p commented 1 year ago

I think we need a fundraiser to buy the dev a m1 or m2 😅

disaac commented 1 year ago

I concur that an official build would be most welcome but this being said, in the meanwhile, it's not so difficult to build Joplin ourselves for Mac M1. I wrote a small script to automate the process:

@rafjaf thanks for the script found myself doing it pretty often and wanting to use different tags and releases so added to the script its here. Also won't update the dmg.js if its not hardcoded with a python2 since electron-builder v23 python2 is no longer required.

rafjaf commented 1 year ago

@disaac Thanks for sharing this (much) improved script!

tthnu commented 1 year ago

Joplin 2.10.18 has been released but still isn't compatible with aarch64-based M series processor......

wzzrd commented 1 year ago

Would be interesting to know what is blocking this

lethargosapatheia commented 1 year ago

I think it's some intrinsic organic hatred against apple, but I might be wrong.

guiix-code commented 1 year ago

There does seem to be a very anti-Apple vibe, despite so many Apple users being sponsors.

lethargosapatheia commented 1 year ago

Yeah, I was a little bit provokatively joking, but it's still obnoxious as hell :-) I'm still looking for alternatives that can synchronise with nextcloud.

schwantuschke commented 1 year ago

Among other things, I switched to FSnotes because of the lack of ARM support...

lethargosapatheia commented 1 year ago

@schwantuschke That looks really nice. Unfortunately I use android and I'd like to have it on my phone too. And I'm not sure you can synchronise it with anything else than icloud (?)

schwantuschke commented 1 year ago

@schwantuschke That looks really nice. Unfortunately I use android and I'd like to have it on my phone too. And I'm not sure you can synchronise it with anything else than icloud (?)

Yes, I sync to a Nextcloud folder on the Mac and also via Nextcloud on iOS. I didn't use iCloud for that at all.

dreness commented 1 year ago

As an excuse to dip into GitHub Actions, I got a universal macOS build of Joplin working in a slightly modified version of this repo's GitHub Actions configuration. Hat tip to @rafjaf for sharing his arm64 build script. Here's the compare of my fork and this repo: https://github.com/laurent22/joplin/compare/dev...dreness:joplin:dev

I went for a universal build instead of arm64 because it takes only a little longer to do so - 6:15 instead of 5:45, using the macOS self-hosted runner on my laptop.

image

The resulting app is certainly larger as a universal build, but I suspect anyone who is ok with 473 MB is probably also ok with 628 MB.

 % du -sh /Applications/Joplin.app /Volumes/Joplin\ 2.11.2-arm64/Joplin.app 
628M    /Applications/Joplin.app
473M    /Volumes/Joplin 2.11.2-arm64/Joplin.app

Using the self-hosted runner also means I don't have to put any signing credentials into GitHub - when building locally, it automatically fetches my developer cert from the keychain.

Note that I don't really know what I'm doing, so take this all with a grain of salt. The main goal was to see how quickly I could get a functional universal build in a configuration as close to the current one as possible. I also disabled one chunk of tests that don't seem to pass on macOS - the searchFilter date stuff.

onedr0p commented 1 year ago

It's pretty wild how there's not a single comment on this issue from the maintainer. @laurent22 any comment on supporting this or will you keep ignoring the problem? Apple Silicon is here to stay.

lethargosapatheia commented 1 year ago

@onedr0p There is a comment, maybe not exactly in this thread, but it reads: "I'm tired of Apple's bullshit" or something along those lines. I love it :D

onedr0p commented 1 year ago

Wow, that's a great way to treat users of your tool. Time for me to move onto another platform like Obsidian or Logseq. If that's how they truly feel they should close and lock this thread as 'not planned'.

wzzrd commented 1 year ago

Whoa whoa whoa folks. It is absolutely not my intention to start a "bash / complain about @laurent22 fest" here. As none of us are his customers (well, at least I am not), he has no obligation to any of us to fix this. The fact that we use his tool doesn't make him personally responsible for having it work the way we would like it to. That is not how open source works.

It would be most useful to have an open discussion about what blocks this, which is what I intended to ask. I'm sure that if a good solution for building universal binaries in a proper pull request would be presented, that this pull request would be merged. I was just wondering if that was the main blocker.

Avalarion commented 1 year ago

I would throw 20€in for a solution working on M1 processors if that would help anything. I understand emotions, but still this is open source, we could all create a merge request, contribute or offer other solutions.

lethargosapatheia commented 1 year ago

So for the record, I've actually quoted him quite accurately, just so you know.

The discussion has been open and there have even been people who said they were willing to pay. It's been more than a year for something one would consider pretty much basic. He's already been asked, on several ocassions. His attitude thus far has been quite unambiguous. This isn't about bashing, it's just about stating something obvious.

skymagician commented 1 year ago

Someone once submitted a pull request, but it was rejected. You can build by yourself, or download from this fork.

onedr0p commented 1 year ago

There's nothing even from @laurent22 that says they would even accept a PR. The issue is the lack of communication and interest and barely any attempts at even supporting people trying to get it to work from the maintainer who is still clearly active on this project. Hell, there's nothing even in the README that references this issue or states the fact that Apple Silicon isn't supported natively.

Daeraxa commented 1 year ago

Before this gets locked completely can we keep the conjecture and accusations to a minimum please? I don't know the reasons behind not officially supporting it but as the PR above mentions Laurent mentions that it would require extensive testing to support a new architecture.

If this needs to be discussed I recommend using the forum instead.

laurent22 commented 1 year ago

Didn't know about this thread and I've already answered on the forum and Twitter too I think - main reason is that I don't have an M1 so I can't test. Pull request was not acceptable and since then nobody else created one.

Perhaps the person maintaining the fork could propose their changes and we can see if it can be merged?

wzzrd commented 1 year ago

Update from the fork maintainer here: https://github.com/noah-nash/joplin-arm64-darwin-guide/issues/5#issuecomment-1608814385

Also, GitHub seems to be trailing MacOS M1 builders and they might become available in the next couple of months to half year. That might be a good way to solve this! See: https://github.com/github/roadmap/issues/528

rafjaf commented 1 year ago

@disaac I tried to build joplin 2.11.11 with your script, but I got the following error message:

Cloning the requested version of Joplin from Github
Cloning into 'joplin'...
remote: Enumerating objects: 4655, done.
remote: Counting objects: 100% (4655/4655), done.
remote: Compressing objects: 100% (4117/4117), done.
remote: Total 4655 (delta 474), reused 3302 (delta 330), pack-reused 0
Receiving objects: 100% (4655/4655), 68.96 MiB | 25.75 MiB/s, done.
Resolving deltas: 100% (474/474), done.
Note: switching to '6886f6fd392a722275dec77cdcd62a5fa4fec485'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command. Example:

  git switch -c <new-branch-name>

Or undo this operation with:

  git switch -

Turn off this advice by setting config variable advice.detachedHead to false

Updating files: 100% (4784/4784), done.
warning: the following paths have collided (e.g. case-sensitive paths
on a case-insensitive filesystem) and only one from the same
colliding group is in the working tree:

  'packages/app-cli/tests/support/photo-åäö.jpg'
  'packages/app-cli/tests/support/photo-åäö.jpg'
Downloading and building dependancies
➤ YN0000: ┌ Resolution step
➤ YN0000: └ Completed in 0s 329ms
➤ YN0000: ┌ Fetch step
➤ YN0000: └ Completed in 11s 21ms
➤ YN0000: ┌ Link step
➤ YN0001: │ Error: Failed to open the cache entry for @react-native/assets@npm:1.0.0: ENOENT: no such file or directory, stat '/Users/rafjaf/Downloads/joplin/.yarn/cache/@react-native-assets-npm-1.0.0-2165b2ba43-4525dd1704.zip'
    at Object.statSync (node:fs:1696:3)
    at $t.statSync (/Users/rafjaf/Downloads/joplin/.yarn/releases/yarn-3.3.1.cjs:377:2792)
    at new Xr (/Users/rafjaf/Downloads/joplin/.yarn/releases/yarn-3.3.1.cjs:377:11633)
    at T (/Users/rafjaf/Downloads/joplin/.yarn/releases/yarn-3.3.1.cjs:429:2832)
    at /Users/rafjaf/Downloads/joplin/.yarn/releases/yarn-3.3.1.cjs:429:2896
    at LP (/Users/rafjaf/Downloads/joplin/.yarn/releases/yarn-3.3.1.cjs:390:9038)
    at Wg.factory (/Users/rafjaf/Downloads/joplin/.yarn/releases/yarn-3.3.1.cjs:429:2887)
    at get baseFs [as baseFs] (/Users/rafjaf/Downloads/joplin/.yarn/releases/yarn-3.3.1.cjs:377:41108)
    at Wg.getExtractHint (/Users/rafjaf/Downloads/joplin/.yarn/releases/yarn-3.3.1.cjs:377:33828)
    at bo.getExtractHint (/Users/rafjaf/Downloads/joplin/.yarn/releases/yarn-3.3.1.cjs:377:33835)
➤ YN0000: └ Completed in 4s 333ms
➤ YN0000: Failed with errors in 15s 819ms
sed: node_modules/dmg-builder/out/dmg.js: No such file or directory
Let's finally build Joplin!
  • electron-builder  version=24.4.0 os=22.4.0
  • loaded configuration  file=package.json ("build" field)
  • writing effective config  file=dist/builder-effective-config.yaml
  • skipped dependencies rebuild  reason=npmRebuild is set to false
  • packaging       platform=darwin arch=arm64 electron=19.1.4 appOutDir=dist/mac-arm64
  • skipped macOS application code signing  reason=cannot find valid "Developer ID Application" identity or custom non-Apple code signing certificate, it could cause some undefined behaviour, e.g. macOS localized description not visible, see https://electron.build/code-signing allIdentities=  1) AAA3A7B0F7825F4AE23ED8AE4B08EA29AA8B2507 "Rafaël Jafferali" (CSSMERR_TP_NOT_TRUSTED)
     1 identities found
                                                Valid identities only
     0 valid identities found
  ⨯ Cannot find module '/Users/rafjaf/Downloads/joplin/packages/app-desktop/tools/notarizeMacApp.js'
Require stack:
- /Users/rafjaf/.npm/_npx/009083ec26dc578f/node_modules/app-builder-lib/out/platformPackager.js
- /Users/rafjaf/.npm/_npx/009083ec26dc578f/node_modules/app-builder-lib/out/electron/electronMac.js
- /Users/rafjaf/.npm/_npx/009083ec26dc578f/node_modules/app-builder-lib/out/electron/ElectronFramework.js
- /Users/rafjaf/.npm/_npx/009083ec26dc578f/node_modules/app-builder-lib/out/packager.js
- /Users/rafjaf/.npm/_npx/009083ec26dc578f/node_modules/app-builder-lib/out/index.js
- /Users/rafjaf/.npm/_npx/009083ec26dc578f/node_modules/electron-builder/out/builder.js
- /Users/rafjaf/.npm/_npx/009083ec26dc578f/node_modules/electron-builder/out/cli/cli.js
- /Users/rafjaf/.npm/_npx/009083ec26dc578f/node_modules/electron-builder/cli.js  failedTask=build stackTrace=Error: Cannot find module '/Users/rafjaf/Downloads/joplin/packages/app-desktop/tools/notarizeMacApp.js'
Require stack:
- /Users/rafjaf/.npm/_npx/009083ec26dc578f/node_modules/app-builder-lib/out/platformPackager.js
- /Users/rafjaf/.npm/_npx/009083ec26dc578f/node_modules/app-builder-lib/out/electron/electronMac.js
- /Users/rafjaf/.npm/_npx/009083ec26dc578f/node_modules/app-builder-lib/out/electron/ElectronFramework.js
- /Users/rafjaf/.npm/_npx/009083ec26dc578f/node_modules/app-builder-lib/out/packager.js
- /Users/rafjaf/.npm/_npx/009083ec26dc578f/node_modules/app-builder-lib/out/index.js
- /Users/rafjaf/.npm/_npx/009083ec26dc578f/node_modules/electron-builder/out/builder.js
- /Users/rafjaf/.npm/_npx/009083ec26dc578f/node_modules/electron-builder/out/cli/cli.js
- /Users/rafjaf/.npm/_npx/009083ec26dc578f/node_modules/electron-builder/cli.js
    at Function.Module._resolveFilename (node:internal/modules/cjs/loader:1072:15)
    at Function.Module._load (node:internal/modules/cjs/loader:925:27)
    at Module.require (node:internal/modules/cjs/loader:1139:19)
    at require (node:internal/modules/helpers:121:18)
    at resolveFunction (/Users/rafjaf/.npm/_npx/009083ec26dc578f/node_modules/app-builder-lib/src/platformPackager.ts:773:13)
    at MacPackager.doSignAfterPack (/Users/rafjaf/.npm/_npx/009083ec26dc578f/node_modules/app-builder-lib/src/platformPackager.ts:333:23)
    at MacPackager.doPack (/Users/rafjaf/.npm/_npx/009083ec26dc578f/node_modules/app-builder-lib/src/platformPackager.ts:317:7)
    at MacPackager.pack (/Users/rafjaf/.npm/_npx/009083ec26dc578f/node_modules/app-builder-lib/src/macPackager.ts:196:7)
    at Packager.doBuild (/Users/rafjaf/.npm/_npx/009083ec26dc578f/node_modules/app-builder-lib/src/packager.ts:442:9)
    at executeFinally (/Users/rafjaf/.npm/_npx/009083ec26dc578f/node_modules/builder-util/src/promise.ts:12:14)
    at Packager._build (/Users/rafjaf/.npm/_npx/009083ec26dc578f/node_modules/app-builder-lib/src/packager.ts:376:31)
    at Packager.build (/Users/rafjaf/.npm/_npx/009083ec26dc578f/node_modules/app-builder-lib/src/packager.ts:337:12)
    at executeFinally (/Users/rafjaf/.npm/_npx/009083ec26dc578f/node_modules/builder-util/src/promise.ts:12:14)
Copy Joplin.app to the root of the Downloads folder

When running the resulting Joplin file, I get the following error:

Uncaught Exception:
Error: Cannot find module '@electron/remote/main'
Require stack:
- /Users/rafjaf/Downloads/Joplin.app/Contents/Resources/app.asar/main.js
- 
at Module._resolveFilename (node:internal/modules/cjs/loader:940:15)
at n._resolveFilename (node:electron/js2c/browser_init:245:1105)
at Module._load (node:internal/modules/cjs/loader:785:27)
at c._load (node:electron/js2c/asar_bundle:5:13343)
at Module.require (node:internal/modules/cjs/loader:1012:19)
at require (node:internal/modules/cjs/helpers:102:18)
at Object.<anonymous> (/Users/rafjaf/Downloads/Joplin.app/Contents/Resources/app.asar/main.js:4:1)
at Module._compile (node:internal/modules/cjs/loader:1118:14)
at Module._extensions..js (node:internal/modules/cjs/loader:1173:10)
at Module.load (node:internal/modules/cjs/loader:988:32)

I am sorry but I feel a bit lost, any help would be most appreciated!

laurent22 commented 1 year ago

If you have an M1, please could you give a try to this release to see if it works?

https://github.com/laurent22/joplin/releases/tag/v2.12.1

It's a Universal build (at least it's supposed to be) so it should work on all platforms. It's working for me but I don't have an M1

lethargosapatheia commented 1 year ago

It's not working in my case. The whole thing is white except for the external frame of the window. I'm running macbook pro m1, mac os 13.4.1 I've waited for a around 2 minutes to not avail. It does show as running on apple silicon though.

laurent22 commented 1 year ago

@lethargosapatheia, could you see if you can open the dev tools? As it should show an error in the console. You can see how to do it here: https://joplinapp.org/debugging

lethargosapatheia commented 1 year ago

(It's actually View - Toggle Developer Tools, not Help... at least in my case) This is what I'm getting:

/Users/username/Desktop/Joplin.app/Contents/Resources/app.asar/node_modules/react-dom/cjs/react-dom.development.js:29840 Download the React DevTools for a better development experience: https://reactjs.org/link/react-devtoolsYou might need to use a local HTTP server (instead of file://): https://reactjs.org/link/react-devtools-faq
node:internal/modules/cjs/loader:943 Uncaught Error: Cannot find module '/Users/username/Desktop/Joplin.app/Contents/Resources/app.asar/node_modules/sqlite3/lib/binding/napi-v6-darwin-unknown-arm64/node_sqlite3.node'
Require stack:
- /Users/username/Desktop/Joplin.app/Contents/Resources/app.asar/node_modules/sqlite3/lib/sqlite3-binding.js
- /Users/username/Desktop/Joplin.app/Contents/Resources/app.asar/node_modules/sqlite3/lib/sqlite3.js
- /Users/username/Desktop/Joplin.app/Contents/Resources/app.asar/index.html
    at Module._resolveFilename (node:internal/modules/cjs/loader:940:15)
    at i._resolveFilename (node:electron/js2c/renderer_init:33:1095)
    at Module._load (node:internal/modules/cjs/loader:785:27)
    at c._load (node:electron/js2c/asar_bundle:5:13343)
    at i._load (node:electron/js2c/renderer_init:33:356)
    at Module.require (node:internal/modules/cjs/loader:1012:19)
    at require (node:internal/modules/cjs/helpers:102:18)
    at Object.<anonymous> (/Users/username/Desktop/Joplin.app/Contents/Resources/app.asar/node_modules/sqlite3/lib/sqlite3-binding.js:4:17)
    at Object.<anonymous> (/Users/username/Desktop/Joplin.app/Contents/Resources/app.asar/node_modules/sqlite3/lib/sqlite3-binding.js:7:3)
    at Module._compile (node:internal/modules/cjs/loader:1118:14)
laurent22 commented 1 year ago

Thanks, looks like it create a compatible app, but it doesn't compile correctly the binary dependencies. I'm going to try to create two separate releases for x64 and arm64 to see if it makes a difference

laurent22 commented 1 year ago

This version now includes an ARM64 specific release (Joplin-2.12.2-arm64.dmg). Does it work any better? (I'm not very optimistic but worth a try)

https://github.com/laurent22/joplin/releases/tag/v2.12.2

marcolaux commented 1 year ago

This version now includes an ARM64 specific release (Joplin-2.12.2-arm64.dmg). Does it work any better? (I'm not very optimistic but worth a try)

https://github.com/laurent22/joplin/releases/tag/v2.12.2

sadly not

Uncaught Error: Cannot find module '/Applications/Joplin.app/Contents/Resources/app.asar/node_modules/sqlite3/lib/binding/napi-v6-darwin-unknown-arm64/node_sqlite3.node'
Require stack:
- /Applications/Joplin.app/Contents/Resources/app.asar/node_modules/sqlite3/lib/sqlite3-binding.js
- /Applications/Joplin.app/Contents/Resources/app.asar/node_modules/sqlite3/lib/sqlite3.js
- /Applications/Joplin.app/Contents/Resources/app.asar/index.html
    at Module._resolveFilename (node:internal/modules/cjs/loader:940:15)
    at i._resolveFilename (node:electron/js2c/renderer_init:33:1095)
    at Module._load (node:internal/modules/cjs/loader:785:27)
    at c._load (node:electron/js2c/asar_bundle:5:13343)
    at i._load (node:electron/js2c/renderer_init:33:356)
    at Module.require (node:internal/modules/cjs/loader:1012:19)
    at require (node:internal/modules/cjs/helpers:102:18)
    at Object.<anonymous> (/Applications/Joplin…te3-binding.js:4:17)
    at Object.<anonymous> (/Applications/Joplin…ite3-binding.js:7:3)
    at Module._compile (node:internal/modules/cjs/loader:1118:14)
laurent22 commented 1 year ago

I will now build a separate ARM64 version so as not to break the existing X64 one, which would also allow us to better configure the dev environment. You can find the latest version here under the name Joplin-2.12.3-arm64.dmg. Does that work any better?

https://github.com/laurent22/joplin/releases/tag/v2.12.3

boli commented 1 year ago

i tried this, i got a joplin window with a white pane. nothing inside it.

https://github.com/laurent22/joplin/releases/tag/v2.12.3

wzzrd commented 1 year ago

Get the same problem, but just swinging by to say: Go @laurent22! Keep up the good work! I'll happily test every test release you drop here! 😎

laurent22 commented 1 year ago

i tried this, i got a joplin window with a white pane. nothing inside it.

https://github.com/laurent22/joplin/releases/tag/v2.12.3

Could you also check the error message in "View - Toggle Developer Tools"?

wzzrd commented 1 year ago

i tried this, i got a joplin window with a white pane. nothing inside it.

https://github.com/laurent22/joplin/releases/tag/v2.12.3

Could you also check the error message in "View - Toggle Developer Tools"?

Error message:

Uncaught Error: Cannot find module '/Applications/Joplin.app/Contents/Resources/app.asar/node_modules/sqlite3/lib/binding/napi-v6-darwin-unknown-arm64/node_sqlite3.node'
Require stack:
- /Applications/Joplin.app/Contents/Resources/app.asar/node_modules/sqlite3/lib/sqlite3-binding.js
- /Applications/Joplin.app/Contents/Resources/app.asar/node_modules/sqlite3/lib/sqlite3.js
- /Applications/Joplin.app/Contents/Resources/app.asar/index.html
    at Module._resolveFilename (node:internal/modules/cjs/loader:940:15)
    at i._resolveFilename (node:electron/js2c/renderer_init:33:1095)
    at Module._load (node:internal/modules/cjs/loader:785:27)
    at c._load (node:electron/js2c/asar_bundle:5:13343)
    at i._load (node:electron/js2c/renderer_init:33:356)
    at Module.require (node:internal/modules/cjs/loader:1012:19)
    at require (node:internal/modules/cjs/helpers:102:18)
    at Object.<anonymous> (/Applications/Joplin.app/Contents/Resources/app.asar/node_modules/sqlite3/lib/sqlite3-binding.js:4:17)
    at Object.<anonymous> (/Applications/Joplin.app/Contents/Resources/app.asar/node_modules/sqlite3/lib/sqlite3-binding.js:7:3)
    at Module._compile (node:internal/modules/cjs/loader:1118:14)
boli commented 1 year ago

Could you also check the error message in "View - Toggle Developer Tools"?

image
wzzrd commented 1 year ago

Probably the cause of the issue:

In /Applications/Joplin.app/Contents/Resources/app.asar.unpacked/node_modules/sqlite3/lib/binding I find two directories: napi-v6-darwin-unknown-x64 and napi-v{napi_build_version}-darwin-unknown-x64.

The first directory contains a node_sqlite3.node file that identifies as Mach-O 64-bit bundle x86_64. The second directory contains a node_sqlite3.node that identifies as Mach-O 64-bit bundle arm64.

Joplin is looking for a directory called napi-v6-darwin-unknown-arm64, which indeed does not exist.

laurent22 commented 1 year ago

Thanks, that looks like it's the reason. I did see it build a "something-unknown" package, which was weird. @noah-nash, have you experienced this issue before and do you know how to fix it?

laurent22 commented 1 year ago

A new build is available with a different build method, is it any better?

https://github.com/laurent22/joplin/releases/tag/v2.12.4

lethargosapatheia commented 1 year ago

It's loading correctly, it works much, much better, but there are important issues still. I can't synchronise with the server

This is probably the relevant part in the console:

Logger.ts:241 01:47:57: Synchronizer: Error: GET info.json: No public access to this resource., No 'Authorization: Basic' header found. Either the client didn't send one, or the server is misconfigured, No 'Authorization: Bearer' header found. Either the client didn't send one, or the server is mis-configured, No 'Authorization: Basic' header found. Either the client didn't send one, or the server is misconfigured (Exception Sabre\DAV\Exception\NotAuthenticated) (401): <?xml version="1.0" encoding="utf-8"?>
<d:error xmlns:d="DAV:" xmlns:s="http://sabredav.org/ns">
  <s:exception>Sabre\DAV\Exception\NotAuthenticated</s:exception>
  <s:message>No public access to this resource., No 'Authorization: Basic' header found. Either the client didn't send one, or the server is misconfigured, No 'Authorization: Bearer' header found. Either the client didn't send one, or the server is mis-configured, No 'Authorization: Basic' header found. Either the client didn't send one, or the server is misconfigured</s:message>
</d:error>

    at newError (/Applications/Joplin.app/Contents/Resources/app.asar/node_modules/@joplin/lib/WebDavApi.js:414:11)
    at WebDavApi.exec (/Applications/Joplin.app/Contents/Resources/app.asar/node_modules/@joplin/lib/WebDavApi.js:441:11)
    at process.processTicksAndRejections (node:internal/process/task_queues:96:5)
    at async FileApiDriverWebDav.get (/Applications/Joplin.app/Contents/Resources/app.asar/node_modules/@joplin/lib/file-api-driver-webdav.js:166:21)

This is also probably relevant, related to the architecture:

main-html.js:90 Cannot load keytar - keychain support will be disabled Error: dlopen(/var/folders/0x/qw7dd59523zc24pkbsbjr7th0000gp/T/.net.cozic.joplin-desktop.RdEPhQ, 0x0001): tried: '/var/folders/0x/qw7dd59523zc24pkbsbjr7th0000gp/T/.net.cozic.joplin-desktop.RdEPhQ' (mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64')), '/System/Volumes/Preboot/Cryptexes/OS/var/folders/0x/qw7dd59523zc24pkbsbjr7th0000gp/T/.net.cozic.joplin-desktop.RdEPhQ' (no such file), '/var/folders/0x/qw7dd59523zc24pkbsbjr7th0000gp/T/.net.cozic.joplin-desktop.RdEPhQ' (mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64')), '/private/var/folders/0x/qw7dd59523zc24pkbsbjr7th0000gp/T/.net.cozic.joplin-desktop.RdEPhQ' (mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64')), '/System/Volumes/Preboot/Cryptexes/OS/private/var/folders/0x/qw7dd59523zc24pkbsbjr7th0000gp/T/.net.cozic.joplin-desktop.RdEPhQ' (no such file), '/private/var/folders/0x/qw7dd59523zc24pkbsbjr7th0000gp/T/.net.cozic.joplin-desktop.RdEPhQ' (mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64'))
    at process.func [as dlopen] (node:electron/js2c/asar_bundle:5:1812)
    at Module._extensions..node (node:internal/modules/cjs/loader:1203:18)
    at Object.func [as .node] (node:electron/js2c/asar_bundle:5:2039)
    at Module.load (node:internal/modules/cjs/loader:988:32)
    at Module._load (node:internal/modules/cjs/loader:829:12)
    at c._load (node:electron/js2c/asar_bundle:5:13343)
    at i._load (node:electron/js2c/renderer_init:33:356)
    at Module.require (node:internal/modules/cjs/loader:1012:19)
    at require (node:internal/modules/cjs/helpers:102:18)
    at Object.<anonymous> (/Applications/Joplin.app/Contents/Resources/app.asar/node_modules/keytar/lib/keytar.js:1:169)

I can confirm that with 2.11.11 amd64 version the sync works and these errors don't show up in the console.

boli commented 1 year ago

same here. it loads 'ok' , but cannot sync. similar error.