From ae4026f44aff8c8b760b40afe46e7a6ec08a591a Mon Sep 17 00:00:00 2001 From: Ahsan Javaid Date: Mon, 3 Aug 2026 10:28:02 +0200 Subject: [PATCH 1/2] fix(theme-studio): close stale inspector panel on section switch --- .../solvronix_desk/page/theme_studio/theme_studio.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/solvronix_desk/solvronix_desk/page/theme_studio/theme_studio.js b/solvronix_desk/solvronix_desk/page/theme_studio/theme_studio.js index c319a0a..1745fe9 100644 --- a/solvronix_desk/solvronix_desk/page/theme_studio/theme_studio.js +++ b/solvronix_desk/solvronix_desk/page/theme_studio/theme_studio.js @@ -2235,6 +2235,12 @@ solvronix_desk.ThemeStudio = class ThemeStudio { .filter('[data-section="' + self.active_section + '"]').addClass("active"); self.$root.find("#sts-control-search").val(""); self.$root.find(".sts-control-panel .sts-field,.sts-control-panel .sts-color-row,.sts-control-panel .sts-range-row,.sts-control-panel .sts-check").show(); + /* A floating inspector opened from a previous scene has no reason + to survive a section switch — leaving it open stranded a stale + panel over whatever scene/section the user navigated to next. */ + self._clear_workspace_selection(false); + self.selected_inspector = null; + self._render_inspector(); }); this.$root.on("input", "#sts-control-search", function () { self._search_controls(this.value); From c34aca65550eba6afb88f1d50c2148fe1393d4a9 Mon Sep 17 00:00:00 2001 From: Ahsan Javaid Date: Mon, 3 Aug 2026 13:56:09 +0200 Subject: [PATCH 2/2] chore: bump version to 2.0.1, fix changelog gaps --- CHANGELOG.md | 35 +++++++++++++++++------------------ solvronix_desk/__init__.py | 2 +- solvronix_desk/hooks.py | 2 +- 3 files changed, 19 insertions(+), 20 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 73ab6d7..b003c73 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,29 +1,18 @@ # Changelog -## [Unreleased] - -### Added -- Theme Studio Chart System with schema-driven global defaults and permission-filtered individual editors for Dashboard Charts, Dashboard Graphs, Query/Script Report charts, and Number Card sparklines -- Visual, structural, and behavioral chart controls for surfaces, palettes, individual series, axes, legends, labels, tooltips, animation, interaction, and safe advanced options -- Layered chart reset behavior: property and chart resets inherit global values, while the global reset restores built-in system defaults - -### Changed -- Theme Studio is now the single user-facing configuration experience for visual themes, branding, Smart Home, and Command Palette settings -- Opening Theme Settings redirects to Theme Studio; administrators retain an explicit raw-settings maintenance action -- Branding image controls in Theme Studio now use Frappe attachment fields instead of requiring manually entered URLs -- Theme Studio now uses a readable control and preview typography scale instead of 6–10px interface text -- Theme Studio's login scene now mirrors the public login card, branding, image background, fields, links, and light/dark token behavior -- Dashboard, Form, Table, and Login previews now support click-to-select property editing in a floating inspector beside the selected item -- Published profile and realtime theme refreshes now update chart configuration atomically without changing chart data or callbacks +## [2.0.1] — 2026-08-03 ### Fixed -- Public login now applies Theme Studio's Light/Dark/Auto mode and uses equal border-box sizing for the card head and form body -- Hide-powered now removes generated footer content; login branding replaces Frappe's cube and enforces symmetric card geometry across Frappe versions -- Frappe v16's nested login card head now stays inside one clipped, rounded outer card instead of extending past its right edge +- Today's View header still linked "All Workspaces" to the old broken `/desk/home` route after the widget-based dashboard rewrite landed; it now points at the stable `/desk/all-apps` page like the "Your Apps" widget already did +- Dashboard chart grid (`.grid-col-2`) grew unbounded across resize cycles — Frappe Charts' own resize observer fed back into a grid track sized by content instead of the container, pushing the second column off-screen over time. Tracks are now capped at their fair share of the container +- Theme Studio's floating widget-inspector panel stayed open when switching sections in the left control panel, stranding a stale panel referencing the previous widget; section switches now close it the same way its own close button does ## [2.0.0] — 2026-07-29 — Complete Theme Studio ### Added +- Theme Studio Chart System with schema-driven global defaults and permission-filtered individual editors for Dashboard Charts, Dashboard Graphs, Query/Script Report charts, and Number Card sparklines +- Visual, structural, and behavioral chart controls for surfaces, palettes, individual series, axes, legends, labels, tooltips, animation, interaction, and safe advanced options +- Layered chart reset behavior: property and chart resets inherit global values, while the global reset restores built-in system defaults - A complete searchable visual editor spanning colours, navigation, form controls, typography, cards, tables, dashboards, login branding, layout, accessibility, and advanced overrides - Frappe Default, Light, Dark, High Contrast, Solvronix, and Forest profiles, plus custom profile create, update, duplicate, rename, delete, import, and export workflows - Live Dashboard, Form, Table, and Login preview scenes with desktop/tablet/mobile modes, Frappe comparison, drag-and-drop layout, undo/redo, draft saving, and section reset @@ -37,8 +26,18 @@ - The full theme is resolved per request, so scheduled, user, role, and company profiles can produce different Desk CSS on the same site - Theme settings now drive the real Frappe navbar, sidebar, controls, data views, workspaces, login page, branding, typography, and layout - Theme publishing preserves legacy Theme Settings fields, broadcasts a refresh to connected users, and generates flash-free first-paint CSS +- Theme Studio is now the single user-facing configuration experience for visual themes, branding, Smart Home, and Command Palette settings +- Opening Theme Settings redirects to Theme Studio; administrators retain an explicit raw-settings maintenance action (Theme Studio's `...` menu → "Open raw Theme Settings") +- Branding image controls in Theme Studio now use Frappe attachment fields instead of requiring manually entered URLs +- Theme Studio now uses a readable control and preview typography scale instead of 6–10px interface text +- Theme Studio's login scene now mirrors the public login card, branding, image background, fields, links, and light/dark token behavior +- Dashboard, Form, Table, and Login previews now support click-to-select property editing in a floating inspector beside the selected item +- Published profile and realtime theme refreshes now update chart configuration atomically without changing chart data or callbacks ### Fixed +- Public login now applies Theme Studio's Light/Dark/Auto mode and uses equal border-box sizing for the card head and form body +- Hide-powered now removes generated footer content; login branding replaces Frappe's cube and enforces symmetric card geometry across Frappe versions +- Frappe v16's nested login card head now stays inside one clipped, rounded outer card instead of extending past its right edge - Actual sidebar and top-toolbar colours now match Theme Studio preview tokens, including readable automatic foreground colours for active items - Sticky toolbar settings no longer turn the toolbar into a body flex item or split the Desk into a large blank column - Profile action buttons now reflect the selected profile, explain unavailable actions, and can duplicate the current unsaved theme instead of failing silently diff --git a/solvronix_desk/__init__.py b/solvronix_desk/__init__.py index 8c0d5d5..159d48b 100644 --- a/solvronix_desk/__init__.py +++ b/solvronix_desk/__init__.py @@ -1 +1 @@ -__version__ = "2.0.0" +__version__ = "2.0.1" diff --git a/solvronix_desk/hooks.py b/solvronix_desk/hooks.py index 8292cbb..f1b1355 100644 --- a/solvronix_desk/hooks.py +++ b/solvronix_desk/hooks.py @@ -7,7 +7,7 @@ app_license = "MIT" app_color = "#E8610A" app_icon = "octicon octicon-paintcan" -app_version = "2.0.0" +app_version = "2.0.1" required_apps = []