3v0k4 / dextop

DexTop - Real-time Dexcom blood sugars on your desktop
https://getdextop.com
6 stars 0 forks source link

Not working on MacOS Sequoia #1

Closed DrKoneko closed 1 week ago

DrKoneko commented 1 month ago

When I open the app on Mac OS Sequoia it immediately closes. It was working fine yesterday before updating so I assume something in the new Mac OS version broke something. Let me know what information you need, I'm not really sure how to debug apps on Mac OS. Sorry!

Thanks for the amazing work you do!

3v0k4 commented 4 weeks ago

Thanks for the good words.

Yes, it looks like Electron had some issues with Sequoia. But it seems newer versions of Electron would work fine.

I'm not currently enrolled in the Apple Developer Program, so I cannot release a new version of DexTop at the moment because I don't have the certificates to sign the app.

I could update the dependencies and share with you the few steps needed to build the application directly on your machine. That would also help me confirm DexTop works on Sequoia.

Would you be willing to do that?

DrKoneko commented 2 weeks ago

Sorry I didn't get back to you earlier, I'd absolutely be willing to do that.

3v0k4 commented 2 weeks ago

I upgraded the dependencies on main.

What you need to do to run the app is:

git clone git@github.com:3v0k4/dextop.git
cd dextop
npm install
npm run start

To use npm you need node installed. You can check it with:

node --version

On my laptop, I'm running v18.19.0 but later versions would work too.

Please let me know how that goes πŸ™

DrKoneko commented 2 weeks ago

When I tried cloning the repo it failed, however when I used git clone https://github.com/3v0k4/dextop.git it cloned fine. I ran with npm and it started and worked flawlessly. In the terminal there is are a bunch of errors that all seem the same: lQueryDeviceAttribEXT: Bad attribute. [4577:1007/141359.961803:ERROR:gl_display.cc(497)] EGL Driver message (Error) eglQueryDeviceAttribEXT: Bad attribute. [4577:1007/141400.010695:ERROR:gl_display.cc(497)] EGL Driver message (Error) eglQueryDeviceAttribEXT: Bad attribute. [4577:1007/141400.060079:ERROR:gl_display.cc(497)] EGL Driver message (Error) eglQueryDeviceAttribEXT: Bad attribute. [4577:1007/141400.109655:ERROR:gl_display.cc(497)] EGL Driver message (Error) eglQueryDeviceAttribEXT: Bad attribute. [4577:1007/141400.161671:ERROR:gl_display.cc(497)] EGL Driver message (Error) eglQueryDeviceAttribEXT: Bad attribute. [4577:1007/141400.177945:ERROR:gl_display.cc(497)] EGL Driver message (Error) eglQueryDeviceAttribEXT: Bad attribute. [4577:1007/141400.227416:ERROR:gl_display.cc(497)] EGL Driver message (Error) eglQueryDeviceAttribEXT: Bad attribute. [4577:1007/141400.246255:ERROR:gl_display.cc(497)] EGL Driver message (Error) eglQueryDeviceAttribEXT: Bad attribute. [4577:1007/141400.269155:ERROR:gl_display.cc(497)] EGL Driver message (Error) eglQueryDeviceAttribEXT: Bad attribute. [4577:1007/141400.284139:ERROR:gl_display.cc(497)] EGL Driver message (Error) eglQueryDeviceAttribEXT: Bad attribute. (This is only a fraction of the errors but they're all the same with different numbers.) They only appear when the dextop window is open, but it doesn't seem to have an effect on anything. My BG is showing the same as it does on my phone.

3v0k4 commented 2 weeks ago

Thanks for reporting DexTop works fine on Sequoia with the code from main.

As I said before, I cannot release a new version at the moment, so there are a couple of options:

You can run it with npm run start as you already did, but I expect that could be annoying as you need to keep the terminal around.

The alternative would be to run npm run package, which would create /path/to/repo/out/DexTop-darwin-x64/DexTop.app (the path inside out/ could be slightly different depending on your OS). Then, you can move the DexTop.app wherever you want and use it as a normal app.

The alternative would be to run npm run make, which would create /path/to/repo/out/make/. Then, you can use the installer inside make/.

You'll get a warning when you run the app that says something like "Error: Could not get code signature for running application"β€”it's connected to the the fact the application is not signed as I shared in a previous comment.

EDIT: use npm run make (instead of npm run package)

DrKoneko commented 2 weeks ago

I tried running npm run make but it resulted in an error: Jakobys-MacBook-Pro:dextop jakoby$ npm run make

dextop@0.11.0 make electron-forge make

βœ” Checking your system βœ” Loading configuration βœ” Resolving make targets β€Ί Making for the following targets: βœ” Running package command βœ” Preparing to package application βœ” Running packaging hooks βœ” Running generateAssets hook βœ” Running prePackage hook βœ” [plugin-webpack] Preparing webpack bundles βœ” Preparing native dependencies [0.4s] βœ” Building webpack bundles [3s] βœ” Packaging application βœ” Packaging for x64 on darwin [1s] βœ” Running postPackage hook βœ” Running preMake hook ❯ Making distributables βœ– Making a dmg distributable for darwin/x64 β€Ί Cannot find module 'appdmg' Require stack:

(node:1270) [DEP0174] DeprecationWarning: Calling promisify on a function that returns a Promise is likely a mistake. (Use node --trace-deprecation ... to show where the warning was created) (node:1270) [DEP0174] DeprecationWarning: Calling promisify on a function that returns a Promise is likely a mistake. (node:1270) [DEP0174] DeprecationWarning: Calling promisify on a function that returns a Promise is likely a mistake. (node:1270) [DEP0174] DeprecationWarning: Calling promisify on a function that returns a Promise is likely a mistake. (node:1270) [DEP0174] DeprecationWarning: Calling promisify on a function that returns a Promise is likely a mistake. (node:1270) [DEP0174] DeprecationWarning: Calling promisify on a function that returns a Promise is likely a mistake. (node:1270) [DEP0174] DeprecationWarning: Calling promisify on a function that returns a Promise is likely a mistake. (node:1270) [DEP0174] DeprecationWarning: Calling promisify on a function that returns a Promise is likely a mistake. (node:1270) [DEP0174] DeprecationWarning: Calling promisify on a function that returns a Promise is likely a mistake. (node:1270) [DEP0174] DeprecationWarning: Calling promisify on a function that returns a Promise is likely a mistake. (node:1270) [DEP0174] DeprecationWarning: Calling promisify on a function that returns a Promise is likely a mistake. (node:1270) [DEP0174] DeprecationWarning: Calling promisify on a function that returns a Promise is likely a mistake. (node:1270) [DEP0174] DeprecationWarning: Calling promisify on a function that returns a Promise is likely a mistake.

An unhandled rejection has occurred inside Forge: Error: Cannot find module 'appdmg' Require stack:

3v0k4 commented 1 week ago

It looks like package succeeds (make runs first package), but make fails when creating the DMG.

If package actually succeeded, you should find the DexTop.app file somewhere inside out/ and you could use that.

Otherwise, do you have brew available? Could you try the following(source):

brew install python-setuptools
npm run make
DrKoneko commented 1 week ago

Unfortunately I still get the same error. I verified that python-setuptools was installed. I also installed python 3.13 but it still doesn't change anything.

3v0k4 commented 1 week ago

Does npm run package succeed?

Could you find the DexTop.app inside out/?

DrKoneko commented 1 week ago

Yes, I'm not sure when it was created but the app suddenly appeared upon running the command again. It still failed but unlike this morning it finally did reappear. Thank you so much!