-
-
Notifications
You must be signed in to change notification settings - Fork 102
Closed
Labels
Description
Description
In the lab handler, we attempt to merge the page_config_data set on the webapp with the readout from the settings dir:
| recursive_update(page_config, get_page_config(labextensions_path, settings_dir, logger=self.log)) |
The code that reads out data from the config file includes a part that converts dicts to lists:
jupyterlab_server/jupyterlab_server/config.py
Lines 170 to 174 in 3c7a83c
| # Convert dictionaries to lists to give to the front end | |
| for (key, value) in page_config.items(): | |
| if isinstance(value, dict): | |
| page_config[key] = [subkey for subkey in value if value[subkey]] |
However, this is run before the attempted merge with serverapp data. So, if someone has set dict data for a key (e.g. "disabledExtensions" on the serverapp data, it gets clobbered by the (potentially empty) list from the settings dir.
Expected behavior
The conversion from dict to list happens after all merging has happened. As recursive_update does not merge lists, this seems the most reasonable option.