CapSoftware / Cap

Open source Loom alternative. Effortless, instant screen sharing.
https://cap.so
GNU Affero General Public License v3.0
3.63k stars 169 forks source link

Macos tray icon #22

Closed richiemcilroy closed 4 months ago

richiemcilroy commented 4 months ago

Solves https://github.com/CapSoftware/Cap/issues/21

vercel[bot] commented 4 months ago

@ItsEeleeya is attempting to deploy a commit to the Cap Software Inc Team on Vercel.

A member of the Team first needs to authorize it.

richiemcilroy commented 4 months ago

Hey @ItsEeleeya - it's looking good! Almost there. However when I begin the recording the tray icon doesn't seem to change.

ItsEeleeya commented 4 months ago

Hey, I checked this before pushing and it was working

Cap Recording Built from my last commit

Now that I try building or running dev it either complains about resend api key not being there, or get a bunch of Next.js errors. (Tried deleting everything and pulling from commits, same results) I'd greatly appreciate any advice or info on this since getting the project running was the most time consuming part. (and pulling from origin it behaves the same for me) I set NEXT_PUBLIC_LOCAL_MODE=true in .env, but sometimes I feel it's not doing anything Image below is just one example of the seemingly random errors I'm getting

huh

richiemcilroy commented 4 months ago

Hmm if you go to Privacy & Security - do you have permissions enabled for the Terminal app for Screen Recording, Microphone, Camera?

I'll add this to the guide.

Let me know if that stops some of the errors

ItsEeleeya commented 4 months ago

I changed where it triggers and fixed a small problem. The icon changes when you successfully start recording and changes back to default when it stops

One small note, sometimes the app crashes on stop recording when whether I'm on this or the main branch but not the latest release. Is this known?

richiemcilroy commented 4 months ago

Hey @ItsEeleeya - is this ready for me to re-review?

ItsEeleeya commented 4 months ago

Hey @ItsEeleeya - is this ready for me to re-review?

For the tray icon, Yes. The media device selection in my last commit is WIP.

It is nearly finished except for some UI de-sync that can happen menu

ItsEeleeya commented 4 months ago

Hey @richiemcilroy It's ready for a review! Let me know if there are any refactors or renaming that should be reverted. The selector context menu also uses the selected mark to be consistent with the tray selector

menu selected

richiemcilroy commented 4 months ago

Hey @ItsEeleeya - works great! Only problem I can see is that the recording icon doesn't change to the stop icon when recording. Below is a screen recording of me starting a Cap recording

https://github.com/CapSoftware/Cap/assets/33632126/fd0a7c57-1188-4280-bc60-cca7f8fdc3d3

richiemcilroy commented 4 months ago

Also thanks for adding the context menu selector to the tray icon - will add $50 to the bounty

ItsEeleeya commented 4 months ago

Hey @ItsEeleeya - works great! Only problem I can see is that the recording icon doesn't change to the stop icon when recording. Below is a screen recording of me starting a Cap recording

771cd745-7e10-427b-94fc-d26f2c15beba.mp4

That's odd, it has worked for me since the the first commit and I haven't been able to replicate that. The event is triggered right inside Recorder.start_dual_recording() Did you check for any possible errors or panics related to it?

From your video it seems that the icon changes a couple of seconds after stopping the recording which then immediately changes back. I've moved it to trigger before the Tauri command is invoked (Which might potentially make the icon stay as the stop icon if the command ever manages to fail and stop recording never gets called)

Hopefully this will resolve the issue

ItsEeleeya commented 4 months ago

Also thanks for adding the context menu selector to the tray icon - will add $50 to the bounty

Of course! I'd also be happy to help to transition to Tauri v2 once it's stable and there aren't other priority issues that I can work on. It will definitely make managing the tray and a lot more stuff much easier from the frontend

richiemcilroy commented 4 months ago

Solves https://github.com/CapSoftware/Cap/issues/21