frontapp / front-chat-sdk

Utilities for instantiating Front Chat.
https://front.com/
Apache License 2.0
1 stars 3 forks source link

NPM package? #10

Open austinhutchison opened 7 months ago

austinhutchison commented 7 months ago

The documentation on the help.front.com website here says there is an npm package for the chat sdk

Install Front Chat on a single-page application (SPA)
To install Front Chat on a single-page application (SPA) like React, please refer to the npm package [here](https://github.com/frontapp/front-chat-sdk).

In these docs, I don't see a package I can add to my project, only a repo to clone with examples.

Should the documentation be changed?

Vilos92 commented 7 months ago

Hi @austinhutchison ,

We had plans to introduce an npm package but our team ended up shifting focus after this repository was published. What you're seeing in the documentation is incorrect - I appreciate you flagging this so our team can fix it 🙏🏼

I hope the examples in this repository are at least helpful for your use case. If there is any appetite for an npm package, our team will keep that in mind as we plan upcoming features for Front Chat.

Thank you again for pointing this out, I will keep this issue open until the documentation on help.front.com is updated.

Vilos92 commented 7 months ago

Hi @austinhutchison ,

The article in question has been updated to no longer reference an npm package, thank you again for calling this out!

I'll close this issue but please do not hesitate to reach out to our support team if you run into further issues setting up Front Chat.

Vilos92 commented 7 months ago

Closing as the relevant Help Center article has been fixed: https://help.front.com/en/articles/2049#install_front_chat_on_your_website

SamuelMS commented 4 months ago

@Vilos92 Please reconsider creating an NPM package. It's very rare for a first-party package like this to not be released on NPM, and it means that we need to add a reference to this GitHub repo in our package.json manifest. Here are the issues as I see them:

  1. This is non-standard, meaning we'll need to obtain additional exemptions from our security teams to install from a repository directly;
  2. This has poor control over version management, as the best we can do is pin a specific commit in this repository's history;
  3. The repository has development files and a dangling example app that certainly don't need to be present in production environments.

I would instead propose following Stripe's methodology, where they let you install their bootstrap packages from NPM (which has first-class support for scanning by organizations like Snyk), but their code internals then later load a dynamic bundle from their CDN.

lnhrdt commented 4 months ago

@Vilos92 please reconsider the request. I echo everything @SamuelMS said about why.

Vilos92 commented 4 months ago

Thank you @SamuelMS and @lnhrdt for your feedback and for expressing interest in an npm package. At this time, our team does not have the capacity to work on this, largely due to the additional overhead and considerations such as backward compatibility and security involved in maintaining an official package. However, I will raise this with the team and ensure it is considered in our planning.

If other developers find this npm package valuable, we encourage them to add their feedback on this issue. Additionally, for those who wish to provide further input or suggestions directly to our product team, you can do so through our feedback portal here. This helps us gauge the level of interest and understand its potential impact.

SamuelMS commented 4 months ago

Thank you @SamuelMS and @lnhrdt for your feedback and for expressing interest in an npm package. At this time, our team does not have the capacity to work on this, largely due to the additional overhead and considerations such as backward compatibility and security involved in maintaining an official package. However, I will raise this with the team and ensure it is considered in our planning.

If other developers find this npm package valuable, we encourage them to add their feedback on this issue. Additionally, for those who wish to provide further input or suggestions directly to our product team, you can do so through our feedback portal here. This helps us gauge the level of interest and understand its potential impact.

Thanks for the reply. I've copied over my comment to the Aha! board. Should our team consider this repository unmaintained, or does the lack of bandwidth you mentioned only extend to adding NPM support?

Vilos92 commented 4 months ago

No problem, and thank you for submitting your feedback to the portal!

Should our team consider this repository unmaintained, or does the lack of bandwidth you mentioned only extend to adding NPM support?

You can consider this repository still maintained. The lack of bandwidth only extends to adding NPM support.

The code here is primarily related to embedding and launching the Front Chat widget, and the lack of recent updates is because these interactions have been stable since the repository's publication.

For additional examples or updates to the library, please open issues directly on this repository - our team is actively monitoring them. For feature changes to Front Chat itself, this feedback portal will give these requests the most visibility.

SamuelMS commented 4 months ago

No problem, and thank you for submitting your feedback to the portal!

Should our team consider this repository unmaintained, or does the lack of bandwidth you mentioned only extend to adding NPM support?

You can consider this repository still maintained. The lack of bandwidth only extends to adding NPM support.

The code here is primarily related to embedding and launching the Front Chat widget, and the lack of recent updates is because these interactions have been stable since the repository's publication.

For additional examples or updates to the library, please open issues directly on this repository - our team is actively monitoring them. For feature changes to Front Chat itself, this feedback portal will give these requests the most visibility.

Makes sense, thanks. One more note – it looks like the Front plugin SDK does, in fact, have an NPM package:

You might've already been aware of that package, but I hadn't found it until today, so – pardon the repetition here, but is there any chance your Chat SDK can borrow some of their work and also be published as an NPM package in the near future? Thank you.

Vilos92 commented 4 months ago

Makes sense, thanks. One more note – it looks like the Front plugin SDK does, in fact, have an NPM package:

You might've already been aware of that package, but I hadn't found it until today, so – pardon the repetition here, but is there any chance your Chat SDK can borrow some of their work and also be published as an NPM package in the near future? Thank you.

Hi @SamuelMS,

We’re aware of the Plugin SDK's NPM package, and we appreciate you bringing it up. While we see potential in leveraging their work, any decision to publish the Chat SDK as an NPM package under the @frontapp organization would likely use a different package name.

No need to apologize for the repetition—it's valuable feedback and underscores that this is a significant pain point for some of our users. While I have a say in our team's roadmap, we need to work within the broader priorities set by the company. Sharing your thoughts on the Aha portal not only helps us prioritize internally but also strengthens our case for the importance of implementing an NPM package for our users.

For any others reading this issue, I encourage you to share your thoughts on the Aha portal as well for better visibility. Please do not hesitate to post on this repository issue if you have more feedback; I only mean to say that Aha has much larger visibility within our organization.

Thank you for your continued engagement and patience as we navigate these decisions!

Vilos92 commented 1 week ago

Re-opening this as we now have tentative plans to introduce an npm package. Thank you for the feedback everybody, and for also posting on Aha.