Silvenga / Rocket.Chat.Net

A Rocket.Chat realtime managed .Net driver and bot
MIT License
28 stars 32 forks source link

Active'ness #3

Closed trepidity closed 7 years ago

trepidity commented 7 years ago

Mark, Do you plan to continue development of this project?

Silvenga commented 7 years ago

I would like to, but wont until Rocket.Chat stops breaking the API on every release. Every release (which was every couple of weeks) I've had to reverse-engineer the changes and update the codebase - no documentation + hacks for dynamic objects like:

[
  "string",
  {
    "object": true
  },
  true
]

This process was time consuming and Rocket.Chat's API is generally not compatible with strongly-typed languages. Right before the last release I supported, Rocket.Chat added caching and broke the basic chat API - which means I can no longer reverse-engineer effectively. Rocket.Chat's supported bot's even broke for a while due to this change.

Even the underlying MeteorJS subscription API had to be reversed engineered, while some of the crypto/UUID stuff is still missing from my implementation. There's no documentation for cross-language support from MeteorJS.

trepidity commented 7 years ago

Brutal! This makes sense though. Thanks for the response.

Silvenga commented 7 years ago

Sorry, a little annoyed with the developers right now. 😸

Going to close this for now.

trepidity commented 7 years ago

I would be too.

graywolf336 commented 7 years ago

We are moving towards a more stable api within the next month or two and also plan on having full documentation. :)

Silvenga commented 7 years ago

That would be great, thanks for the update @graywolf336. Will there be full duplex communication in the final API?

graywolf336 commented 7 years ago

@Silvenga Mind explaining what you expect "full duplex communication" to mean?

Silvenga commented 7 years ago

Mind explaining what you expect "full duplex communication" to mean?

(adj.) Refers to the transmission of data in two directions simultaneously.

Two way - normally via websockets. e.g. https://api.slack.com/rtm

This is what Rocket.Chat.Net primarily does.

graywolf336 commented 7 years ago

Ah yes, right now we have that and we call it the "real time api" https://rocket.chat/docs/developer-guides/realtime-api however right now I would wait to do any work on it because we will be working on versioning it so that it becomes stable and no breaking changes happen anymore.

agc93 commented 7 years ago

Any news on stability or sane versioning @graywolf336 ? The "month or two" is now definitely passed but the realtime API docs still list it as "unreleased"?

graywolf336 commented 7 years ago

I apologise, I thought I had responded to this already.

Sadly the guy who was pushing for stable and versioned real time APIs went on to pursue another adventure and is no longer part of Rocket.Chat.

However I think that they are less likely to change drastically and we now have a process for what has changed in every release, I feel it is a little more stable. Also, we now have native mobile applications which rely on the real-time API and any change to the real-time API would require updates to the native applications which we should be trying to avoid to not break existing clients.

I really do wish I could give you a more confident and solid answer than that, I really do. ☹️ But that is the current state from my perspective.

TheUltimateC0der commented 6 years ago

@graywolf336 Is the API stable for now ?

graywolf336 commented 6 years ago

@CUCO-Ultimate I would think so, especially since we now have two different codebases for the native mobile applications utilizing the rest and real time apis. However, I am unsure as to the status of the documentation.

TheUltimateC0der commented 6 years ago

@Silvenga Do you consider maintaining this project more active?