diff --git a/docs/syncplay-server.1 b/docs/syncplay-server.1 index 488206d..7865cc7 100644 --- a/docs/syncplay-server.1 +++ b/docs/syncplay-server.1 @@ -85,6 +85,7 @@ Enables room persistence. Path is to where a database file should be loaded/crea .B \-\-permanent\-rooms-file [directory] Specifies a list of rooms that will still be listed even if their playlist is empty. Path is to where a text file with one room per line. This will require persistent rooms to be enabled. + .TP .B \-\-max\-chat\-message\-length [maxChatMessageLength] Maximum number of characters in one chat message (default is 150). diff --git a/syncplay/server.py b/syncplay/server.py index 149be12..ca5a8ee 100755 --- a/syncplay/server.py +++ b/syncplay/server.py @@ -465,10 +465,11 @@ class RoomManager(object): oldRoom = watcher.getRoom() if oldRoom: oldRoom.removeWatcher(watcher) - self._deleteRoomIfEmpty(oldRoom) + if self._roomsDir is None or oldRoom.isStale(self._timer): + self._deleteRoomIfEmpty(oldRoom) def _getRoom(self, roomName): - if roomName in self._rooms: + if roomName in self._rooms and not self._rooms[roomName].isStale(self._timer): return self._rooms[roomName] else: if RoomPasswordProvider.isControlledRoom(roomName):