From d3a174a0a8eee0c5f144992f1f6d2d314b727248 Mon Sep 17 00:00:00 2001 From: sokumon Date: Thu, 20 Nov 2025 17:07:06 +0530 Subject: [PATCH 1/5] fix: choose app from workspace itself --- frappe/desk/doctype/desktop_icon/desktop_icon.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frappe/desk/doctype/desktop_icon/desktop_icon.py b/frappe/desk/doctype/desktop_icon/desktop_icon.py index 14a256878c..f7c72083f5 100644 --- a/frappe/desk/doctype/desktop_icon/desktop_icon.py +++ b/frappe/desk/doctype/desktop_icon/desktop_icon.py @@ -695,7 +695,7 @@ def create_desktop_icons_from_workspace(): icon.link_to = w.name icon.icon = w.icon if w.module: - app_name = frappe.db.get_value("Module Def", w.module, "app_name") + app_name = w.app or frappe.db.get_value("Module Def", w.module, "app_name") if app_name in frappe.get_installed_apps(): app_title = frappe.get_hooks("app_title", app_name=app_name)[0] app_icon = frappe.db.exists("Desktop Icon", {"label": app_title, "icon_type": "App"}) From c60a990a72a657da93e58e115b988867a722cc4b Mon Sep 17 00:00:00 2001 From: sokumon Date: Thu, 20 Nov 2025 17:55:39 +0530 Subject: [PATCH 2/5] fix: check in_import before exporting --- frappe/desk/doctype/desktop_icon/desktop_icon.py | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/frappe/desk/doctype/desktop_icon/desktop_icon.py b/frappe/desk/doctype/desktop_icon/desktop_icon.py index f7c72083f5..bfd91f3c0d 100644 --- a/frappe/desk/doctype/desktop_icon/desktop_icon.py +++ b/frappe/desk/doctype/desktop_icon/desktop_icon.py @@ -44,16 +44,15 @@ class DesktopIcon(Document): def on_trash(self): clear_desktop_icons_cache() + if frappe.conf.developer_mode and self.standard and self.app: + self.delete_desktop_icon_file() + + def on_update(self): allow_export = ( self.standard and self.app and not frappe.flags.in_import and frappe.conf.developer_mode ) if allow_export: - self.delete_desktop_icon_file() - - def on_update(self): - if frappe.conf.developer_mode: - if self.standard == 1 and self.app: - self.export_desktop_icon() + self.export_desktop_icon() def export_desktop_icon(self): folder_path = create_directory_on_app_path("desktop_icon", self.app) From 372c6e6fce1f9b51279805d86e8c591e4fe332c6 Mon Sep 17 00:00:00 2001 From: sokumon Date: Fri, 21 Nov 2025 12:55:06 +0530 Subject: [PATCH 3/5] fix: export productivity icon --- frappe/desktop_icon/productivity.json | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 frappe/desktop_icon/productivity.json diff --git a/frappe/desktop_icon/productivity.json b/frappe/desktop_icon/productivity.json new file mode 100644 index 0000000000..5c6cd39462 --- /dev/null +++ b/frappe/desktop_icon/productivity.json @@ -0,0 +1,19 @@ +{ + "app": "frappe", + "creation": "2025-11-20 17:16:09.925913", + "docstatus": 0, + "doctype": "Desktop Icon", + "hidden": 0, + "icon_type": "Link", + "idx": 0, + "label": "Productivity", + "link_to": "ToDo", + "link_type": "DocType", + "modified": "2025-11-20 17:16:15.385376", + "modified_by": "Administrator", + "name": "Productivity", + "owner": "Administrator", + "parent_icon": "Framework", + "roles": [], + "standard": 1 +} From 6b3fe39a1a2e104a79f017a43daca81f47e04627 Mon Sep 17 00:00:00 2001 From: sokumon Date: Fri, 21 Nov 2025 12:58:22 +0530 Subject: [PATCH 4/5] fix: add a seperate redirect for app to desk --- frappe/hooks.py | 1 + 1 file changed, 1 insertion(+) diff --git a/frappe/hooks.py b/frappe/hooks.py index 69b0cad09c..07d1d0a185 100644 --- a/frappe/hooks.py +++ b/frappe/hooks.py @@ -66,6 +66,7 @@ website_route_rules = [ website_redirects = [ {"source": r"/app/(.*)", "target": r"/desk/\1"}, {"source": "/apps", "target": "/desk"}, + {"source": "/app", "target": "/desk"}, ] base_template = "templates/base.html" From f1e06da058e8348970259242c351031f93939244 Mon Sep 17 00:00:00 2001 From: sokumon Date: Fri, 21 Nov 2025 14:07:05 +0530 Subject: [PATCH 5/5] fix(sidebar): show collpase button after discard is clicked --- frappe/public/scss/desk/sidebar.scss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frappe/public/scss/desk/sidebar.scss b/frappe/public/scss/desk/sidebar.scss index 8b4de84351..654dc6c902 100644 --- a/frappe/public/scss/desk/sidebar.scss +++ b/frappe/public/scss/desk/sidebar.scss @@ -255,7 +255,7 @@ } } .collapse-sidebar-link { - display: none; + display: flex; } } .sidebar-item-edit-controls {