phergie / phergie-irc-client-react

IRC client library built on React
BSD 3-Clause "New" or "Revised" License
56 stars 26 forks source link

Internal processing #40

Closed Renegade334 closed 8 years ago

Renegade334 commented 9 years ago

I am working on a branch under Renegade334@devel-internal-processing that would give the client some input processing functionality in order to store or modify connection-specific data.

Examples of internal processing that the client absolutely should handle:

Examples that the client could handle:

elazar commented 9 years ago

Would the last two items negate the need for https://github.com/Renegade334/phergie-irc-plugin-react-chanmodes ?

Renegade334 commented 9 years ago

Yes. Also, Pong's functionality should definitely be included here.

elazar commented 9 years ago

Also, I'm a little concerned at the description of this change. The client was designed specifically to be relatively simple, low-level, and lightweight, and the bot to build on top of that using plugins. I'm afraid of losing the simplicity of the client if too much logic is added at that level. Can you outline how you plan to implement these changes?

Renegade334 commented 9 years ago

The objective would be to provide core functionality - that functionality that should be present in all cases, like responding to server pings or updating the connection's nickname - as part of the client. I've added an example to the branch.

elazar commented 9 years ago

How would any parsed data be made accessible to non-core code?

Renegade334 commented 9 years ago

Through the connection data scheme. Example: 7de37f79b718716cd210fa494bcca8ca2f3ba052

The same scheme could be used by plugins to provide non-essential functionality that isn't handled by the client. For example, if it's decided that channel lists shouldn't be handled by the client, a plugin could maintain the channel lists within the connection instances, which could then be accessed at liberty by any other plugins that want to access that data.

elazar commented 9 years ago

Fair enough. Feel free to proceed.

svpernova09 commented 8 years ago

resolved via #42