stefanjudis / netlify-menubar

Netlify menubar app to receive build information or trigger new builds
MIT License
154 stars 11 forks source link

Implement build status of all sites #15

Open flowen opened 5 years ago

flowen commented 5 years ago

Hi Stefan,

Right now you can't instantly see if a domain you own errors. I want to propose to color the sitename in the 'choose site' menu in red.

I guess that means, all sites should be polled in the background (not sure if this already happens).

On top of that I just thought: Remove 'goto site' Just make the sitename clickable. I would suggest to color the sitename in white, with an underline and a hover tooltip (goto site or smth)

Remove the lightgrey dash

And perhaps also color the errors in the 'deploys' menu. Could probably be based on the same logic.

Sorry, hope you don't mind me stating this all in a single issue ;)

From

stefanjudis commented 5 years ago

hey @flowen,

thanks for creating this issue (and I just figured that I misread your tweet 🙈). I love these ideas but let me lay out the limitations today. :)

I want to propose to color the sitename in the 'choose site' menu in red.

Coloring, underlining or any styling is afaik not possible in electron menus. :/

I guess that means, all sites should be polled in the background (not sure if this already happens).

And there you hit right into right topic. Currently, it does not poll all the sites and I'm personally not sure if it should. I e.g. have 15 sites in there and unfortunately, the way to get the information is only via polling. This would mean a lot of requests flying... I guess I have to think about that more because I do see the value in an "all sites monitoring solution".

For me personally, monitoring one site is good enough though. It also would be a major rewrite. :/

Additionally, this might need also some UX considerations because of the style limitations. Maybe it should include two groups (monitored and not monitored sites) and you have a settings menu? Do you have any ideas on how we could reduce requests? I really would like to avoid polling X sites every 10 seconds. :)

flowen commented 5 years ago

ah, what did you read? :)

I have no experience with electron, but I have seen other apps color their menu apps.

This thread is about windows, but perhaps this comment can help?

Here's another code example.

Regarding polling: I have no clue, again the inexperience. But personally, I don't see the use of polling so often. I immediately changed the setting to 5min. When I deploy, I want to see an update (which it already does - very nice!) and I guess once in a while is enough (even once an hour for all sites is enough for me) for a static site.

My usecase is this: I have a couple of sites and I was looking for an app so I can quickly see if one of my sites errors. E.g. when I work with another dev, I guess I only need an update when that dev pushes a commit. That could be done with webhooks or something similar. So the option for a webhook and a plugin on Zapier or IFTTT. Merely a suggestion :) I've never implemented a webhook in an app so I don't know how hard this is.

Perhaps there are other usecases I can't come up with.

I would definitely not rewrite the whole thing :) It's simple, but it works!

Because of my inexperience with electron I find it hard to give UI suggestions.

I guess making 2 groups would complicate the thing (then you need to start managing the sites as well)

For my usecase I would even imagine an app, with only a list of sites (click go to site/netlify) and red / icon if they error out.

edit: I just realised the links with styles and suggestions are in a C language and yours is in JS. Not sure if that's where the limitation comes in

stefanjudis commented 5 years ago

ah, what did you read? :)

My brain with just a quick look translated it into a special notification for error and a read icon. 🙈 Don't know what happened... :D thanks for the detailed explanation!

I have no experience with electron, but I have seen other apps color their menu apps.

I guess you saw apps that render html in the menubar. With the native controls i haven't seen anything colored on Mac yet (the issue describes windows when I'm not mistaken – so far netlify-menubar is only checked on mac).

I have no clue, again the inexperience. But personally, I don't see the use of polling so often.

That's interesting because I mainly use it for checking 'is it live yet?' and 10s is the absolute maximum for me. I'm very focussed on a real time state of one site.

I guess I only need an update when that dev pushes a commit. That could be done with webhooks or something similar.

That's not easily doable with an app because there is no server to send a request to. Getting notified is a dead-end. :(

For my usecase I would even imagine an app, with only a list of sites (click go to site/netlify) and red / icon if they error out.

That is actually interesting. We could add another section on top that has different monitoring behavior and another scheduling time (like every 30min or something)

Netlify Menubar
-----
Email
-----
Overall site monitoring >
  - ✅ site A
  - 🔴 site B
-----
Detailed site monitoring
Choose site >
  - site A
  - site B
www.example.com
...
...

I actually like that! We would have to think about the exact names more... :D

What do you think?

flowen commented 5 years ago

hehe yea what about:

Netlify Menubar
-----
Email
-----
Site status >
  - ✅ site A
  - 🔴 site B
-----
Site actions >
  - site A
  - site B
www.example.com
...
...

Perhaps even an option, checkbox [ ] display only sites with errors