core
core copied to clipboard
The core library driving üWave, the self-hosted collaborative listening platform.
we had some playlist data corruptions because of a web client bug overnight. bugs in the client or web api should not be able to cause u-wave-core to store invalid...
The message of the day is currently stored in Redis. Nothing super wrong with that, but we now have a general mechanism for runtime configuration. If we use the config...
Adds a `uw.avatars` API. The public API is: - `uw.avatars.getAvailableAvatars(user)` - List available avatar descriptors. - `uw.avatars.setAvatar(user, descriptor)` - Set the user's avatar to one of the `getAvailableAvatars()` descriptors -...
right now `debug` is used for all logs. We could move to some more advanced (JSON) logging solution and make logs available to moderators in the app. https://www.npmjs.com/package/pino
All the other endpoints have a response format like ```js { "meta": {}, "data": {} } ``` but `/api/now` just responds with an object that's a grab bag of possibly-useful...
Multiple mods might attempt to skip the same song at about the same time, and the second one would hit the skip button just after the first skip went through....
Reserve usernames for a while after somebody changed away from them, perhaps for an hour or a day. That way other users can't hijack usernames as easily.
So moderators can track users more easily if they've changed their name.
UwaveError could take two arguments: language string id and default message. Then interfaces like http-api can translate those if needed.
In particular, so we can expose a method to get the total number of users who are online, so https://hub.u-wave.net can display the number of users.