Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Firestore-shorten-urls-bitly] Extension will break down if not updated to Bitly APIv4 by deadline March 1st, 2020 #170

Closed
babkouew opened this issue Jan 19, 2020 · 8 comments
Assignees
Labels
blocked Blocked by an outstanding issue or PR type: feature request New feature or request

Comments

@babkouew
Copy link

babkouew commented Jan 19, 2020

Hi Firebase Extension Team -

I recently installed the Firestore-shorten-urls extension via the Firebase Console but while auditing the extension I noticed that calls to the Bitly API were reliant on the library node-bitly which is not maintained anymore.

This is problematic because Bitly is deprecating its old APIv3 for a new one APIv4 and is asking developers to migrate before March 1st, 2020, when APIv3 will be deactivated.

The creator of node-bitly @tanepiper, mentioned that he is looking for a new maintainer for his library and has no intention of updating it to the new APIv4.

Consequently, the shorten-urls-bitly extension will in all likelihood breakdown in about a month from now since it is using node-bitly v6.0.8, which is incompatible with Bitly APIv4.

Will you implement the necessary changes in time for all the users who are currently using your extension or is it safer to stay away from it for now?

@tanepiper
Copy link

Hi there, author of the Bitly library here - yes I can confirm I have no intention of spending any time working on the existing bitly library - I've since moved on from needing to use it and have been calling for new maintainers, or for some support to maintain it, but sadly neither have materialised (despite 13k downloads per week - so I suspect it's not just Firebase that's about to break)

In this case, I'd advise switching to https://github.com/vijaypatoliya/bitly-node-api - it seems to support V4 API, although it does seem a bit more complex internally than mine. Also doesn't seem to be actively maintained.

As I've mentioned I have pipelines set up, so if someone wants to provide a PR to fix this and release a new version I'm happy to help with that.

@Ehesp
Copy link
Member

Ehesp commented Jan 20, 2020

Hey, thanks for brining this up. I'll take a look at the library you linked and see if we can port it over. Thanks.

@Ehesp
Copy link
Member

Ehesp commented Jan 21, 2020

Pushed up a non-breaking PR for this. Decided to just directly send a POST request to the v4 API rather that use the library above, as it's lightweight and also seems overly complicated for our own needs.

Need to test it a bit more before merging.

@babkouew
Copy link
Author

babkouew commented Jan 21, 2020

@Ehesp Excellent - looking forward to it.

@tanepiper
Copy link

Up to you, but in the end I have decided (after seeing your PR that it might be easier than expected) to update the library. I'm aiming to have it over before end of January. But I agree even my library is probably overkill for what you need tanepiper/node-bitly#73

@babkouew
Copy link
Author

I have implemented a custom trigger function in the meantime instead of the extension and I can confirm that bitly-node-api works with Bitly APIv4.

@Ehesp
Copy link
Member

Ehesp commented Jan 25, 2020

@laurenzlong any preference on implementation here? It's currently setup to do a direct POST with axios but it seems other libraries are migrating to v4 so could use those?

@laurenzlong
Copy link
Contributor

laurenzlong commented Jan 29, 2020

Directly interacting with v4 Bit.ly API sounds good.

@Ehesp Ehesp added the blocked Blocked by an outstanding issue or PR label Jan 31, 2020
@Ehesp Ehesp closed this as completed Feb 6, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
blocked Blocked by an outstanding issue or PR type: feature request New feature or request
Projects
None yet
Development

No branches or pull requests

4 participants