Fix window-key separator mismatch in Workspace/SystemSetting controllers
Table of Contents
This page is a capture in the next bucket of the product backlog — a pre-sprint idea, not yet pulled into a sprint as a story.
What
WorkspaceController.cpp (~line 508) and SystemSettingController.cpp
(~line 331) both check key.startsWith("details:")=/
=key.startsWith("history:") before propagating a NATS staleness
notification to an open detail/history dialog. But
EntityController::build_window_key() joins the window type and
identifier with a dot, not a colon (QString("%1.%2")), so tracked
keys look like "details.<id>", never "details:<id>". The colon
check is always false, so markAsStale() never fires on these two
controllers' open dialogs when a change notification arrives — dead
code, no functional impact beyond a missed UI refresh (data is still
correct on reload).
Why
The identical bug was found by PR review on #1460 (Land NATS
notification-wiring capability in qt-profile controller) in
CurrencyController.cpp and in the newly-generalised codegen
template; both were fixed there. WorkspaceController.cpp and
SystemSettingController.cpp are unrelated components (not part of
the Commission: currency story), so fixing them was scoped out of
that PR — same one-line fix (":" → ".") applies to both.
References
- PR #1460: https://github.com/OreStudio/OreStudio/pull/1460
projects/ores.qt/workspace/src/WorkspaceController.cpp(~line 508)projects/ores.qt/admin/src/SystemSettingController.cpp(~line 331)projects/ores.qt/api/src/EntityController.cpp—build_window_key()