diff --git a/jupyterlab_server/app.py b/jupyterlab_server/app.py index 64529160..5d0a7af2 100644 --- a/jupyterlab_server/app.py +++ b/jupyterlab_server/app.py @@ -123,6 +123,14 @@ def initialize_settings(self) -> None: immutable_cache.update(extensions_url) self.settings.update({"static_immutable_cache": list(immutable_cache)}) + if self.serverapp: + untracked_message_types = getattr( + self.serverapp.kernel_manager, "untracked_message_types", None + ) + if untracked_message_types: + web_app = self.serverapp.web_app + page_config_data = web_app.settings.setdefault("page_config_data", {}) + page_config_data["untracked_message_types"] = list(untracked_message_types) def initialize_templates(self) -> None: """Initialize templates.""" diff --git a/jupyterlab_server/themes_handler.py b/jupyterlab_server/themes_handler.py index 89f1c826..fc8c7233 100644 --- a/jupyterlab_server/themes_handler.py +++ b/jupyterlab_server/themes_handler.py @@ -6,8 +6,9 @@ import os import re +from collections.abc import Generator from glob import glob -from typing import Any, Generator +from typing import Any from urllib.parse import urlparse from jupyter_server.base.handlers import FileFindHandler diff --git a/jupyterlab_server/translation_utils.py b/jupyterlab_server/translation_utils.py index 6d3faf57..cee84752 100644 --- a/jupyterlab_server/translation_utils.py +++ b/jupyterlab_server/translation_utils.py @@ -17,7 +17,8 @@ import sys import traceback from functools import lru_cache -from typing import Any, Pattern +from re import Pattern +from typing import Any import babel from packaging.version import parse as parse_version diff --git a/tests/test_labapp.py b/tests/test_labapp.py index d7e39dd3..e7df291d 100644 --- a/tests/test_labapp.py +++ b/tests/test_labapp.py @@ -59,7 +59,10 @@ def ispath(p): return p.endswith(("Dir", "Path")) or p == "serverRoot" nondirs = {k: v for k, v in page_config.items() if not ispath(k)} - assert nondirs == { + untracked_message_types = getattr( + labserverapp.serverapp.kernel_manager, "untracked_message_types", None + ) + expected_nondirs = { "appName": "JupyterLab Server Application", "appNamespace": "jupyterlab_server", "appUrl": "/lab", @@ -96,6 +99,9 @@ def ispath(p): "workspacesApiUrl": "/lab/api/workspaces", "wsUrl": "", } + if untracked_message_types is not None: + expected_nondirs["untracked_message_types"] = untracked_message_types + assert nondirs == expected_nondirs @pytest.fixture