diff --git a/CHANGELOG.md b/CHANGELOG.md
index 9933ba7f..83c58a06 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,24 @@
# Changelog
+## [0.13.1](https://github.com/Monadical-SAS/reflector/compare/v0.13.0...v0.13.1) (2025-09-22)
+
+
+### Bug Fixes
+
+* TypeError on not all arguments converted during string formatting in logger ([#667](https://github.com/Monadical-SAS/reflector/issues/667)) ([565a629](https://github.com/Monadical-SAS/reflector/commit/565a62900f5a02fc946b68f9269a42190ed70ab6))
+
+## [0.13.0](https://github.com/Monadical-SAS/reflector/compare/v0.12.1...v0.13.0) (2025-09-19)
+
+
+### Features
+
+* room form edit with enter ([#662](https://github.com/Monadical-SAS/reflector/issues/662)) ([47716f6](https://github.com/Monadical-SAS/reflector/commit/47716f6e5ddee952609d2fa0ffabdfa865286796))
+
+
+### Bug Fixes
+
+* invalid cleanup call ([#660](https://github.com/Monadical-SAS/reflector/issues/660)) ([0abcebf](https://github.com/Monadical-SAS/reflector/commit/0abcebfc9491f87f605f21faa3e53996fafedd9a))
+
## [0.12.1](https://github.com/Monadical-SAS/reflector/compare/v0.12.0...v0.12.1) (2025-09-17)
diff --git a/server/reflector/worker/cleanup.py b/server/reflector/worker/cleanup.py
index 7fcc1f73..965a44f9 100644
--- a/server/reflector/worker/cleanup.py
+++ b/server/reflector/worker/cleanup.py
@@ -5,7 +5,6 @@ Deletes old anonymous transcripts and their associated meetings/recordings.
Transcripts are the main entry point - any associated data is also removed.
"""
-import asyncio
from datetime import datetime, timedelta, timezone
from typing import TypedDict
@@ -226,5 +225,5 @@ async def cleanup_old_public_data(
retry_kwargs={"max_retries": 3, "countdown": 300},
)
@asynctask
-def cleanup_old_public_data_task(days: int | None = None):
- asyncio.run(cleanup_old_public_data(days=days))
+async def cleanup_old_public_data_task(days: int | None = None):
+ await cleanup_old_public_data(days=days)
diff --git a/server/reflector/worker/process.py b/server/reflector/worker/process.py
index 8c885d14..e660e840 100644
--- a/server/reflector/worker/process.py
+++ b/server/reflector/worker/process.py
@@ -213,7 +213,6 @@ async def process_meetings():
should_deactivate = True
logger_.info(
"Meeting deactivated - scheduled time ended with no participants",
- meeting.id,
)
else:
logger_.debug("Meeting not yet started, keep it")
@@ -224,8 +223,8 @@ async def process_meetings():
processed_count += 1
- except Exception as e:
- logger_.error(f"Error processing meeting", exc_info=True)
+ except Exception:
+ logger_.error("Error processing meeting", exc_info=True)
finally:
try:
lock.release()
@@ -233,7 +232,7 @@ async def process_meetings():
pass # Lock already released or expired
logger.info(
- f"Processed meetings finished",
+ "Processed meetings finished",
processed_count=processed_count,
skipped_count=skipped_count,
)
diff --git a/www/.npmrc b/www/.npmrc
new file mode 100644
index 00000000..052f58b5
--- /dev/null
+++ b/www/.npmrc
@@ -0,0 +1 @@
+minimum-release-age=1440 #24hr in minutes
\ No newline at end of file
diff --git a/www/app/(app)/rooms/page.tsx b/www/app/(app)/rooms/page.tsx
index 9de5950a..723d698a 100644
--- a/www/app/(app)/rooms/page.tsx
+++ b/www/app/(app)/rooms/page.tsx
@@ -309,7 +309,7 @@ export default function RoomsList() {
setRoomInput(null);
setIsEditing(false);
- setEditRoomId("");
+ setEditRoomId(null);
setNameError("");
refetch();
onClose();
@@ -449,415 +449,428 @@ export default function RoomsList() {
-
-
- General
- Calendar
- Share
- WebHook
-
+
+