Commit Graph

430 Commits

Author SHA1 Message Date
aa1fab53af Added copyright and AGPL notice to all source code files 2025-07-20 16:34:18 +03:00
24c0224dd9 Changed session durations metric to classic histogram, added
last_activity to calculate monthly active users
2025-07-19 18:32:12 +03:00
f793203e04 Added session duration metrics with device analytics along with device
analytics metrics in the DB to aggregate and DeviceID abuse prevention
2025-07-19 18:32:12 +03:00
aaea258a21 Added metrics for sus/malicious connections 2025-07-19 18:32:12 +03:00
52eb471e89 Implemented connection-level rate limiting (to avoid reconnection
abuse), added a file for testing that, still needs to add observability
for this
2025-07-19 18:32:12 +03:00
cb3c866248 Made ci pass 2025-07-19 18:32:12 +03:00
8f58905364 Added in progress requests metric and also returning an error when the
user hits the rate limit
2025-07-19 18:32:12 +03:00
ef45261e01 Added a stub right sidebar for signals 2025-07-19 18:32:12 +03:00
8cee7aa9df Fixed terminal background showing in user profile and updated help
popups
2025-07-19 18:32:12 +03:00
4a8914e05f Fixed dropped vs success requests being flipped 2025-07-19 18:32:12 +03:00
6e2ae28025 Added toggleable borders (not fully fleshed) 2025-07-19 18:32:12 +03:00
95abbe573e Implemented caching for TOS hash, if hash matches the user doesn't need
to re-accept the TOS, users can delete the cache if they wish to review
it
2025-07-19 18:32:12 +03:00
1bc8fc2222 Fixed networklist sometimes rendering outside the screen 2025-07-19 18:32:12 +03:00
0a0915a977 Added session based request rate limiting, uses token bucket strategy 2025-07-19 18:32:12 +03:00
d78eb1fbc4 Added proper locking to session to avoid race conditions/data races 2025-07-19 18:32:12 +03:00
34c944c350 Added some metrics 2025-07-19 18:32:12 +03:00
12f50940b4 Added handling for device analytics, but not the actual implementation
yet
2025-07-19 18:32:12 +03:00
c52d5693e9 Added server metrics (need to actually add metrics later) 2025-07-19 18:32:12 +03:00
dc6c10155c Added anonymous_device_analytics option on the client and added cache
dir to store things like device ID and TOS hashes (only storing device
ID currently)
2025-07-19 18:32:12 +03:00
86c3f3f730 Added device analytics packet 2025-07-19 18:32:12 +03:00
62f17157d8 Improved server logging/error handling 2025-07-19 18:32:12 +03:00
ba47118e51 Replaced most log statements with slog on the server 2025-07-19 18:32:12 +03:00
402e2b4108 Fixed bug where server couldn't shutdown unless all clients closed their
connections willingly
2025-07-19 18:32:12 +03:00
013b65b30f Rephrased device analytics line in user settings to avoid background
issues
2025-07-19 18:28:12 +03:00
f255c81497 Slight changes to pass CI 2025-07-08 22:24:35 +03:00
d9f7b03de8 Added webserver to serve the TOS and Privacy Policy all the time 2025-07-08 21:49:18 +03:00
046b17959f Finished implementing authentication on the client-side 2025-07-08 19:10:26 +03:00
56acb0d51e Color coded accept/decline in TOS page 2025-07-08 18:35:20 +03:00
a34919da2f Refactored client side to comply with protocol changes, implemnted tos
screen model, still missing accept/decline and authentication
2025-07-08 17:53:36 +03:00
8362d835ee Slightly modified default light blue color 2025-07-08 17:53:14 +03:00
0be78648cd Fixed mprocs sending SIGHUP on restart instead of SIGTERM by adding
exec and updated gitignore
2025-07-07 20:06:26 +03:00
047d33b3ae Refactored how the terms of service and privacy policy are stored, by
allowing changing them with 0 downtime
2025-07-07 18:46:47 +03:00
bbd4eae95f Added better logging for packets and payloads and now the writer is
responsible for packaging into a packet the payload (instead of everyone
who sends to the writer)
2025-07-06 18:20:46 +03:00
21b4d14a2f Fixed issues with timeout() function on the server and added automatic
log rotation every midnight (if the server is running at that time)
2025-07-06 15:04:08 +03:00
f80cb4a0fe Implemented server-side authentication in accordance to the protocol 2025-07-06 14:40:32 +03:00
e734449259 Added terms of service (incomplete!!!!) to the server, and added
authentication separation between API calls, actually authentication
(nonce, and verification) is not implemented yet
2025-07-06 00:51:33 +03:00
8f8736d09e Updated protocol spec to new V2 version 2025-07-05 23:24:17 +03:00
5f8ab176b6 Added new packet types to facilitate TOS acceptance, Authentication and
re-authentication for sensitive information updates
2025-07-05 22:35:34 +03:00
9199959cf4 Made check-ci.sh more user friendly 2025-07-05 22:35:18 +03:00
94ccbc282b Refactored server connection handling, still missing TOS and auth
handling
2025-07-05 19:50:13 +03:00
317bc967e6 Added extra info in user settings, fixed typos in help popups and
refactored some log statements
2025-07-05 11:30:16 +03:00
2d1408598a Added ctxkeys package to better handle addition context when logging and
partially integrated it with keys for user id and ip addr
2025-07-03 20:46:29 +03:00
eb219cab1a Completed check-ci.sh and made ci pass 2025-07-03 14:54:38 +03:00
b0681791e3 Fixed ci based on check-ci (incomplete) 2025-07-03 14:44:28 +03:00
875a5576db Updated env var names and added a log dir env var 2025-07-03 14:34:17 +03:00
bb6b93eefd Fixed selected signal not rendering notifications with the proper
background
2025-06-08 11:56:31 +03:00
904134789e Optimized OnNewMessageReceived by only calling it when there is a
single message
2025-06-08 11:14:15 +03:00
3e0210fd13 Chat properly handles and displays the "new message separator" 2025-05-24 17:50:44 +03:00
d10f09fa85 Fixed typo oudated -> outdated 2025-05-24 16:55:26 +03:00
82d26314eb Chat correctly renders "new message separator" given correct inputs
Note this commit doesn't fix the updating so the input is considered
incorrect, will be addressed in the next commit
2025-05-24 16:50:19 +03:00