diff --git a/docs/env.md b/docs/env.md index 2c1eac07e..a08b6d66a 100644 --- a/docs/env.md +++ b/docs/env.md @@ -34,6 +34,7 @@ These are the environment variables you can set for the `impress-backend` contai | CACHES_DEFAULT_KEY_PREFIX | The prefix used to every cache keys. | docs | | COLLABORATION_API_URL | Collaboration api host | | | COLLABORATION_SERVER_SECRET | Collaboration api secret | | +| COLLABORATION_WS_INACTIVITY_TIMEOUT | Timeout (in seconds) the user is consider as inactive if not activity. The websocket is cloed after this inactivity period. `None` means disabled. | None | | COLLABORATION_WS_NOT_CONNECTED_READY_ONLY | Users not connected to the collaboration server cannot edit | false | | COLLABORATION_WS_URL | Collaboration websocket url | | | CONVERSION_API_CONTENT_FIELD | Conversion api content field | content | diff --git a/src/backend/core/api/viewsets.py b/src/backend/core/api/viewsets.py index f39c930e5..77a6f3cf4 100644 --- a/src/backend/core/api/viewsets.py +++ b/src/backend/core/api/viewsets.py @@ -2831,6 +2831,7 @@ class ConfigView(drf.views.APIView): "API_USERS_SEARCH_QUERY_MIN_LENGTH", "COLLABORATION_WS_URL", "COLLABORATION_WS_NOT_CONNECTED_READY_ONLY", + "COLLABORATION_WS_INACTIVITY_TIMEOUT", "CONVERSION_FILE_EXTENSIONS_ALLOWED", "CONVERSION_FILE_MAX_SIZE", "CONVERSION_UPLOAD_ENABLED", diff --git a/src/backend/core/tests/test_api_config.py b/src/backend/core/tests/test_api_config.py index 6fb8a30ca..84151df7f 100644 --- a/src/backend/core/tests/test_api_config.py +++ b/src/backend/core/tests/test_api_config.py @@ -26,6 +26,7 @@ pytestmark = pytest.mark.django_db API_USERS_SEARCH_QUERY_MIN_LENGTH=6, COLLABORATION_WS_URL="http://testcollab/", COLLABORATION_WS_NOT_CONNECTED_READY_ONLY=True, + COLLABORATION_WS_INACTIVITY_TIMEOUT=300, CONVERSION_UPLOAD_ENABLED=False, CRISP_WEBSITE_ID="123", FRONTEND_CSS_URL="http://testcss/", @@ -55,6 +56,7 @@ def test_api_config(is_authenticated): "API_USERS_SEARCH_QUERY_MIN_LENGTH": 6, "COLLABORATION_WS_URL": "http://testcollab/", "COLLABORATION_WS_NOT_CONNECTED_READY_ONLY": True, + "COLLABORATION_WS_INACTIVITY_TIMEOUT": 300, "CONVERSION_FILE_EXTENSIONS_ALLOWED": [".docx", ".md"], "CONVERSION_FILE_MAX_SIZE": 20971520, "CONVERSION_UPLOAD_ENABLED": False, diff --git a/src/backend/impress/settings.py b/src/backend/impress/settings.py index 6cd528359..dab41e666 100755 --- a/src/backend/impress/settings.py +++ b/src/backend/impress/settings.py @@ -507,6 +507,11 @@ class Base(Configuration): environ_name="COLLABORATION_WS_NOT_CONNECTED_READY_ONLY", environ_prefix=None, ) + COLLABORATION_WS_INACTIVITY_TIMEOUT = values.IntegerValue( + None, + environ_name="COLLABORATION_WS_INACTIVITY_TIMEOUT", + environ_prefix=None, + ) # Frontend FRONTEND_THEME = values.Value(