summaryrefslogtreecommitdiff
path: root/internal/server
AgeCommit message (Collapse)Author
2025-08-05Updated todos and notesKyren223
2025-08-04Added self hosting instructionsKyren223
2025-08-04Updated copyrightKyren223
2025-08-04Added build info metrics to serverKyren223
2025-08-02Updated readmeKyren223
2025-07-30Fixed ci to pass, removed pyroscopeKyren223
2025-07-21Added the ability to delete usersKyren223
2025-07-20Added copyright and AGPL notice to all source code filesKyren223
2025-07-19Changed session durations metric to classic histogram, addedKyren223
last_activity to calculate monthly active users
2025-07-19Added session duration metrics with device analytics along with deviceKyren223
analytics metrics in the DB to aggregate and DeviceID abuse prevention
2025-07-19Added metrics for sus/malicious connectionsKyren223
2025-07-19Implemented connection-level rate limiting (to avoid reconnectionKyren223
abuse), added a file for testing that, still needs to add observability for this
2025-07-19Added in progress requests metric and also returning an error when theKyren223
user hits the rate limit
2025-07-19Fixed dropped vs success requests being flippedKyren223
2025-07-19Added session based request rate limiting, uses token bucket strategyKyren223
2025-07-19Added proper locking to session to avoid race conditions/data racesKyren223
2025-07-19Added some metricsKyren223
2025-07-19Added handling for device analytics, but not the actual implementationKyren223
yet
2025-07-19Added server metrics (need to actually add metrics later)Kyren223
2025-07-19Improved server logging/error handlingKyren223
2025-07-19Replaced most log statements with slog on the serverKyren223
2025-07-19Fixed bug where server couldn't shutdown unless all clients closed theirKyren223
connections willingly
2025-07-07Fixed mprocs sending SIGHUP on restart instead of SIGTERM by addingKyren223
exec and updated gitignore
2025-07-07Refactored how the terms of service and privacy policy are stored, byKyren223
allowing changing them with 0 downtime
2025-07-06Added better logging for packets and payloads and now the writer isKyren223
responsible for packaging into a packet the payload (instead of everyone who sends to the writer)
2025-07-06Fixed issues with timeout() function on the server and added automaticKyren223
log rotation every midnight (if the server is running at that time)
2025-07-06Implemented server-side authentication in accordance to the protocolKyren223
2025-07-06Added terms of service (incomplete!!!!) to the server, and addedKyren223
authentication separation between API calls, actually authentication (nonce, and verification) is not implemented yet
2025-07-05Updated protocol spec to new V2 versionKyren223
2025-07-05Added new packet types to facilitate TOS acceptance, Authentication andKyren223
re-authentication for sensitive information updates
2025-07-05Refactored server connection handling, still missing TOS and authKyren223
handling
2025-07-05Added extra info in user settings, fixed typos in help popups andKyren223
refactored some log statements
2025-07-03Added ctxkeys package to better handle addition context when logging andKyren223
partially integrated it with keys for user id and ip addr
2025-07-03Updated env var names and added a log dir env varKyren223
2025-05-23Fixed packet loss bug due to client not waiting before exiting for theKyren223
writes to fully proccess
2025-04-29Improved database error logging in server apiKyren223
2025-03-11Added string method to PacketType and improved server logging messages aKyren223
bit
2025-02-13Users that are no longer members (left/kicked/banned) now get fetchedKyren223
and show their names properly in messages
2025-02-12Added blocking/unblocking of users using b/u (user settings are now sKyren223
instead of "u")
2025-02-10Implemented blocking on the server-sideKyren223
2025-02-10Renamed instances of "trusteds" to "trusted users" to be grammaticallyKyren223
correct
2025-02-10@everyone is now sent as normal text when a user doesn't have permissionKyren223
to send it (instead of just disappearing)
2025-02-05Added support for editing messages in user signalsKyren223
2025-02-05When a user sends a message "signal" and the receiving user doesn't haveKyren223
the signal already open, it will be added as the first signal
2025-02-05Implemented deleting messages in user signalsKyren223
2025-02-04Server now also sends the last_read column to the client so the clientKyren223
so the client can use it to persist notifications
2025-02-04Server now uses a new context for api requests to make sure they stillKyren223
get completed even if the user disconnects, this is not ideal and should be reworked in the future
2025-02-04Reverted back the removal of the logic in get notifications to check ifKyren223
the user has access to the frequency, because it is needed for the is_admin ping type but also to prevent the case where someone was an admin, got demoted and can now monitor when new messages are sent there
2025-02-04Refactored the way notifications work on the server-side, next commitKyren223
fixes the client to use this new system
2025-02-02Added support for offline notifications where the server calculates themKyren223
and sends the info to the client when it connects