arjunattam / vscode-chat

Chat with your team while you collaborate over code using VS Live Share
https://marketplace.visualstudio.com/items?itemName=karigari.chat
GNU General Public License v3.0
529 stars 67 forks source link

[vscode] Add new chat provider: Mattermost #118

Open kaoDev opened 5 years ago

kaoDev commented 5 years ago

My chat provider is Mattermost

cometkim commented 5 years ago

I started working on this. maybe I need to wait for #286 closed

arjunattam commented 5 years ago

That's awesome, @cometkim. Please feel free to reach out for any questions - I would love to support you in near real-time. I'm at arjun@rubberduck.io or arjunattam on twitter DMs. Looking at your query in the PR in a sec.

protagros commented 5 years ago

I started working on this. maybe I need to wait for #286 closed

Hey!

Are there any updates on this? :)

Cheers!

cometkim commented 5 years ago

@protagros @arjun27 Sorry, I have stopped it for a while because I'm extremely busy recently

Maybe I can resume it in March.

HaaLeo commented 5 years ago

Slowly but steady I started working on this using mattermost/mattermost-redux. I am developing against a mattermost server running in a docker container. You can check out my progress at https://github.com/HaaLeo/vscode-chat/tree/feature/mattermost. I already can fetch teams, fetch users, fetch channels, fetch channel history and switch between teams. Currently I face an issue regarding profile images. I can get the correct URL via the client, however they are not rendered on the UI. I think this is because the UI has no access rights to that URL like the client has.

cometkim commented 5 years ago

Maybe I can resume it in March.

Whoops, I'm embarrassing. @HaaLeo please let me know if I can any help.

started working on this using mattermost/mattermost-redux.

API client in mattermost-redux is too heavy-to-use in 3rd party app that doesn't need store integration.

And this project currently using Axios and TypeScript so maybe you can't get any advantage from it.

I've worked on a new client a while and will resume work as soon as possible (after some typing issues have been resolved). any suggestions are welcome.

HaaLeo commented 5 years ago

Hi @cometkim I think it would be great to have an own typescript driver. As soon as the client4 and websocket clients are implemented it is good to go. Until then I will stick to mattermost-redux. I think most of the API calls should be similar, so migrating your typescript client should not be all that hard later.

please let me know if I can any help.

Thank you, I definetly will, when I face any issues 👍. However there is still plenty of basic functionality to implement such as create posts which should be quite straight forward to implement. One issue that came up: The GUI cannot get images via the eariler retrieved image URL, because the GUI is not aware of the personal access token that is used for API calls (and it also should not know it?). So any ideas on this issue are welcome 😃.

arjunattam commented 5 years ago

Hey @HaaLeo - by "UI", are you referring to the webview in the extension? If so, we can use message passing between the UI and the node process. The request to fetch images can be proxied via the node process, which would attach the API token to it, and return the image back to the webview for rendering.

HaaLeo commented 5 years ago

@arjun27 yes, that's exactly what I meant. 👍

rbalet commented 3 years ago

Hi @HaaLeo, are there any updates?

HaaLeo commented 3 years ago

@rbalet There is an "alpha-ish" version on this branch https://github.com/HaaLeo/vscode-chat/tree/feature/mattermost which allows you to send and receive basic messages. I remember that I ran into some issues regarding when the network connection is unstable (reconnecting and so on). Further some ChatProvider interfaces are still not implemented. To be honest I could not manage to resume working on this since my last commit in August 2019 🙈 (sorry for that). Currently I am busy finishing my master's thesis.

However, if anybody is motivated to continue working on this and wants to continue from the mentioned branch I started, I am happy to help and introduce you to what I have done so far.