Preface¶
In the DSH left sidebar, sessions that have not been opened usually display only the workspace folder name, without a topic. Only after you click into a session does its topic appear. This usually happens because session.list only reads rows from the projection cache that have not been materialized through I/O.
dsh-session-theme fixes this issue by prewarming the projection cache on startup. The following section introduces the plugin’s functionality and how to use it.
Plugin Introduction¶
dsh-session-theme is a DSH Web plugin maintained by Xliecc. It solves the issue where cold sessions in the sidebar are displayed only by folder name, ensuring that each session’s topic is visible when the page loads.
Core Features¶
- Displays the topic of each session when the page loads.
- Prewarms the session projection cache on startup.
- Processes only “cold” sessions (sessions that have not been opened in the current process).
- Handles errors for each session individually (a corrupted session does not affect other sessions).
- Performs idempotent write-backs (ensures the cache is hit on subsequent starts).
Installation and Enablement¶
Run the following command to install:
dsh plugin add dsh-session-theme
After installation, the browser side needs a hard refresh (Ctrl/Cmd+Shift+R) so the client refetches the session.list data.
Verification¶
After installing and refreshing, open the DSH Web sidebar and verify that each session row displays its topic.
At the same time, search the server logs for the following line to confirm that cache prewarming succeeded:
dsh-session-theme: projection cache warmed (N sessions)
Notes¶
- A hard refresh is required after installation.
- The plugin is licensed under the MIT License.
- The plugin has zero external dependencies.
Conclusion¶
By repairing the projection cache during startup, dsh-session-theme makes the session display in the sidebar more intuitive. You can view the related source code and catalog information at the following addresses:
GitHub
Community Catalog