clockify / browser-extension

Clockify Browser Extension
https://clockify.me/chrome-time-tracking
BSD 3-Clause "New" or "Revised" License
182 stars 167 forks source link

Linear integration #254

Closed diegovogel closed 2 months ago

diegovogel commented 9 months ago

First off, thank you for the excellent Readme! It really did only take a few hours to build this integration. And would have been faster if it weren't for Linear's markup. πŸ˜…

We have been using this integration for a few days now with no problems, but if you see any issues I'd be happy to address them.

A few things to note:

  1. You may notice a lot of fragile child selectors in the code. I had to do this because of Linear's markup (no unique classes or ids to hang on to). I wouldn't be surprised if the integration breaks soon when Linear changes their page structure. We use Linear and Clockify every day, so when it breaks we will know. I'd be happy to maintain this and keep submitting PRs as needed.
  2. Because of the above, the code is written with an emphasis on maintainability instead of conciseness.
  3. The script detects when you're viewing an issue page and only runs there to avoid JS errors. It also detects Project and Team pages. I was going to render the timer button on issue lists but ran into some complications. I may do another PR for this in the future.
  4. I could not get this to work in Firefox, but I checked the production build (i.e. added the extension from the add-on marketplace) and it didn't work either (tried Notion, Clickup, and Google Docs). So this problem seems to be widespread, not just the Linear code.
diegovogel commented 8 months ago

@stefancoing any idea when this might be reviewed? We are currently using Linear with a dev build of the Clockify extension running locally. Would love to switch to the production build.

Bojan-Cvijanovic commented 8 months ago

@diegovogel thank you for your contribution! we are currently reviewing it and we expect the improvements to be available in one of the next releases of the extension;

diegovogel commented 5 months ago

@Bojan-Cvijanovic Happy New Year! Just wanted to check in here. Any update on when this might be merged?

I'm also a little concerned about using the production version of the extension. If Linear's markup changes and we need to fix the Clockify extension, will it take months to merge the fix? If so we'll probably just keep using our dev version of the extension.

MuhammadSawalhy commented 4 months ago

I am waiting for this integration, please accept it!

Bojan-Cvijanovic commented 4 months ago

Thank you for your patience with this! We had to make some major changes with this MR and we introduced some improvements, all in an effort to make this integration more flexible and resilient to future changes. We'll notify you as soon as those changes reach production.

Bojan-Cvijanovic commented 2 months ago

Hi @diegovogel,

Sorry for taking so long. First of all, I apologise for keeping you waiting. With that being said, our team has determined that, because Linear web app frequently changes its markup, minimally but enough to break the selectors used by the integration, it's not viable for us to get invested into maintaining it. Our efforts to overcome the difficulties regarding this integration were all in vain. Our fixes kept breaking only days after we introduce them.

That's why we decided not to accept the changes you made and not to support integration for Linear application at this point. We are grateful for your contributions and support, which we hope will continue in future as well.

diegovogel commented 2 months ago

@Bojan-Cvijanovic thanks for reviewing. I'm a little confused though because I've been using this integration for 6 months with no problems (loaded the unpacked extension). Even after Linear's recent UI refresh, the integration works fine. Can you clarify what problems you've been having?

diegovogel commented 2 months ago

@MuhammadSawalhy @WoH @guillembarnolas β€” Everhour has a great linear integration. I've only tested it briefly, but it's fast, reliable (so far), and much more deeply integrated than this Clockify integration I made. I need to confirm that Everhour will do what we need in terms of budgets and reporting, but we will likely switch to it soon.

guillembarnolas commented 2 months ago

@diegovogel Thanks for the update!