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

Clarify the purpose of the library #40

Open
f-person opened this issue Jul 16, 2023 · 3 comments
Open

Clarify the purpose of the library #40

f-person opened this issue Jul 16, 2023 · 3 comments

Comments

@f-person
Copy link

It's unclear why the lib is called libsession-util instead of, for example, libsession. Will this be used for everything but client-specific features (e.g., business logic, UI, persistence, etc.) in Session clients, or is this library only a collection of utilities that are useful for building Session clients but not enough (i.e., you will still need to write custom code for handling the cryptography)?

While the answers to those questions would be satisfying for me, it'd be better to add a short description of what the library is/will be in the README. I do understand that it's still in active development, and this will probably be clarified in the future, but it could be helpful for potential future users of the lib (i.e., if this will eventually cover all aspects of the Session protocol, I can already integrate it into a Session Dart package I'm working, figure out the API, make it more idiomatic for Dart, instead of re-implementing everything from ground-up (my original idea)) :)

@f-person
Copy link
Author

f-person commented Jul 19, 2023

Quoting https://getsession.org/blog/session-release-roundup-17:

In a final attempt to slay the beast, we gathered up a group of the bravest devs in all of the land to forge a legendary weapon: a standardised library which could handle basic Session functionality for all platforms. They called it libsession.
Once libsession is complete, all of the basic Session-y stuff (like, sending a message) will be exactly the same for every client. This means we will be able to avoid unexpected conflicts or needing to rewrite huge chunks of code to accommodate for one platform’s idiosyncrasies.
Configuration messages are the first major instalment to libsession, and we will look to add other functions (like encryption/decryption logic and onion requests) in the future. We are determined to take down that cross-platform beast! 🗡️

I still wonder about the "util" part in the lib name, though :).

@majestrate
Copy link
Contributor

Quoting https://getsession.org/blog/session-release-roundup-17:

In a final attempt to slay the beast, we gathered up a group of the bravest devs in all of the land to forge a legendary weapon: a standardised library which could handle basic Session functionality for all platforms. They called it libsession.
Once libsession is complete, all of the basic Session-y stuff (like, sending a message) will be exactly the same for every client. This means we will be able to avoid unexpected conflicts or needing to rewrite huge chunks of code to accommodate for one platform’s idiosyncrasies.
Configuration messages are the first major instalment to libsession, and we will look to add other functions (like encryption/decryption logic and onion requests) in the future. We are determined to take down that cross-platform beast! 🗡️

I still wonder about the "util" part in the lib name, though :).

this lib started as a set of utilities to slowly replace the multiple slightly different implementations in a piecewise manner.

@jagerman
Copy link
Member

jagerman commented Aug 7, 2023

I still wonder about the "util" part in the lib name, though :).

At the moment, it's still utilities to help with Session. One day, if it morphs into something more, it'll likely get renamed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants