33 Commits

Author SHA1 Message Date
Myx
0865c2fe33 feat: Basic general context menu
All checks were successful
Queue Release Build / prepare (push) Successful in 14s
Deploy Web Apps / deploy (push) Successful in 14m39s
Queue Release Build / build-linux (push) Successful in 40m59s
Queue Release Build / build-windows (push) Successful in 28m59s
Queue Release Build / finalize (push) Successful in 1m58s
2026-04-04 05:38:05 +02:00
Myx
84fa45985a feat: Add chat embeds v1
Youtube and Website metadata embeds
2026-04-04 04:47:04 +02:00
Myx
de2d3300d4 fix: Fix users unable to see or hear each other in voice channels due to
stale server sockets, passive non-initiators, and race conditions
during peer connection setup.

Fix users unable to see or hear each other in voice channels due to
stale server sockets, passive non-initiators, and race conditions
during peer connection setup.

Server:
- Close stale WebSocket connections sharing the same oderId in
  handleIdentify instead of letting them linger up to 45s
- Make user_joined/user_left broadcasts identity-aware so duplicate
  sockets don't produce phantom join/leave events
- Include serverIds in user_left payload for multi-room presence
- Simplify findUserByOderId now that stale sockets are cleaned up

Client - signaling:
- Add fallback offer system with 1s timer for missed user_joined races
- Add non-initiator takeover after 5s when the initiator fails to send
  an offer (NON_INITIATOR_GIVE_UP_MS)
- Scope peerServerMap per signaling URL to prevent cross-server
  collisions
- Add socket identity guards on all signaling event handlers
- Replace canReusePeerConnection with hasActivePeerConnection and
  isPeerConnectionNegotiating with extended grace periods

Client - peer connections:
- Extract replaceUnusablePeer helper to deduplicate stale peer
  replacement in offer and ICE handlers
- Add stale connectionstatechange guard to ignore events from replaced
  RTCPeerConnection instances
- Use deterministic initiator election in peer recovery reconnects
- Track createdAt on PeerData for staleness detection

Client - presence:
- Add multi-room presence tracking via presenceServerIds on User
- Replace clearUsers + individual userJoined with syncServerPresence
  for atomic server roster updates
- Make userLeft handle partial server removal instead of full eviction

Documentation:
- Add server-side connection hygiene, non-initiator takeover, and stale
  peer replacement sections to the realtime README
2026-04-04 02:47:58 +02:00
Myx
37cac95b38 Add access control rework 2026-04-02 03:18:37 +02:00
Myx
314a26325f Database changes to make it better practise 2026-04-02 01:32:08 +02:00
Myx
bbb6deb0a2 feat: Theme engine
big changes
2026-04-02 00:08:38 +02:00
Myx
8b6578da3c fix: Notification audio
All checks were successful
Queue Release Build / prepare (push) Successful in 16s
Deploy Web Apps / deploy (push) Successful in 11m55s
Queue Release Build / build-linux (push) Successful in 30m56s
Queue Release Build / build-windows (push) Successful in 27m50s
Queue Release Build / finalize (push) Successful in 2m0s
2026-03-30 21:14:26 +02:00
Myx
e3b23247a9 feat: Close to tray 2026-03-30 04:48:34 +02:00
Myx
42ac712571 feat: Add notifications 2026-03-30 04:41:58 +02:00
Myx
109402cdd6 perf: Health snapshot changes 2026-03-30 00:28:45 +02:00
Myx
aa595c45d8 Fix autostart on linux 2026-03-19 21:38:47 +01:00
Myx
c862c2fe03 Auto start with system
Some checks failed
Queue Release Build / prepare (push) Has been cancelled
Queue Release Build / build-linux (push) Has been cancelled
Queue Release Build / build-windows (push) Has been cancelled
Queue Release Build / finalize (push) Has been cancelled
Deploy Web Apps / deploy (push) Successful in 6m2s
2026-03-18 23:46:16 +01:00
Myx
141de64767 Reconnection when signal server is not active and minor changes 2026-03-18 20:45:31 +01:00
Myx
eb987ac672 Private servers with password and invite links (Experimental) 2026-03-18 20:42:40 +01:00
Myx
150c45c31a Use wayland if possible on linux
All checks were successful
Queue Release Build / prepare (push) Successful in 58s
Deploy Web Apps / deploy (push) Successful in 22m58s
Queue Release Build / build-linux (push) Successful in 1h10m11s
Queue Release Build / build-windows (push) Successful in 32m8s
Queue Release Build / finalize (push) Successful in 3m11s
2026-03-13 20:14:19 +01:00
Myx
22d355a522 [Experimental Screenshare audio fix] Seperate logic to own files (minor change can possibly revert) 2026-03-13 02:26:55 +01:00
Myx
be465fd297 Fix screenshare portals linux
All checks were successful
Queue Release Build / prepare (push) Successful in 14s
Queue Release Build / build-windows (push) Successful in 34m25s
Queue Release Build / build-linux (push) Successful in 40m26s
Queue Release Build / finalize (push) Successful in 3m44s
2026-03-11 17:54:04 +01:00
Myx
7b3caa0b61 Fix electron windows screen and window picker for screensharing
All checks were successful
Queue Release Build / prepare (push) Successful in 44s
Queue Release Build / build-windows (push) Successful in 32m25s
Queue Release Build / build-linux (push) Successful in 42m57s
Queue Release Build / finalize (push) Successful in 3m41s
2026-03-11 14:40:53 +01:00
Myx
c3fbd7d4fe Add auto updater 2026-03-10 23:38:57 +01:00
Myx
e8e5c24600 Add file upload from clipboard 2026-03-10 00:44:00 +01:00
Myx
dc6746c882 Disallow any types 2026-03-09 23:02:52 +01:00
Myx
3b1aab4985 Messages now actually gets deleted 2026-03-09 22:12:08 +01:00
Myx
47473f4295 Improve screenshare performance 2026-03-09 21:12:06 +01:00
Myx
7a4c4ede8c Screensharing rework
Split Linux screensharing audio tracks, Rework screensharing functionality and layout
This will need some refactoring soon
2026-03-08 06:33:27 +01:00
Myx
d20509566d Change klippy window behavour, Fix user management behavour, clean up search server page 2026-03-08 00:00:17 +01:00
Myx
10467dfccb Cleaning up comments 2026-03-06 05:21:41 +01:00
Myx
fe2347b54e Imrpove chat with gifs, videos, music player, redesigns and improved filesharing errors 2026-03-06 04:47:07 +01:00
Myx
2d84fbd91a Fix bugs and clean noise reduction 2026-03-06 02:22:43 +01:00
Myx
be91b6dfe8 Refacor electron app and add migrations 2026-03-04 01:38:43 +01:00
Myx
e231f4ed05 Refactor and code designing 2026-03-02 03:30:22 +01:00
Myx
6d7465ff18 Big commit 2026-03-02 00:13:34 +01:00
Myx
8c551a90f4 Remote connection 2026-01-09 19:49:38 +01:00
Myx
87c722b5ae init 2025-12-28 08:23:30 +01:00