fix: fixed CSM-007

This commit is contained in:
2026-05-09 10:41:28 +02:00
parent e5429f7265
commit 88c689ee55
6 changed files with 364 additions and 98 deletions

View File

@@ -25,7 +25,7 @@ defmodule BDS.Desktop.ShellLive.Bridges do
{:noreply,
socket
|> assign(:tab_meta, tab_meta)
|> callbacks.reload.(socket.assigns.workbench)}
|> callbacks.refresh_sidebar.(socket.assigns.workbench)}
end
def handle_info({:chat_tool_call, conversation_id, tool_call}, socket, _callbacks) do
@@ -82,7 +82,7 @@ defmodule BDS.Desktop.ShellLive.Bridges do
{:noreply,
socket
|> assign(:tab_meta, tab_meta)
|> callbacks.reload.(socket.assigns.workbench)}
|> callbacks.refresh_sidebar.(socket.assigns.workbench)}
end
def handle_info({:open_sidebar_item, params, intent}, socket, callbacks) do
@@ -90,25 +90,30 @@ defmodule BDS.Desktop.ShellLive.Bridges do
end
def handle_info({:chat_editor_toggle_sidebar}, socket, callbacks) do
{:noreply, callbacks.reload.(socket, Workbench.toggle_sidebar(socket.assigns.workbench))}
{:noreply,
callbacks.refresh_layout.(socket, Workbench.toggle_sidebar(socket.assigns.workbench))}
end
def handle_info({:chat_editor_toggle_panel}, socket, callbacks) do
{:noreply, callbacks.reload.(socket, Workbench.toggle_panel(socket.assigns.workbench))}
{:noreply,
callbacks.refresh_layout.(socket, Workbench.toggle_panel(socket.assigns.workbench))}
end
def handle_info({:chat_editor_toggle_assistant_sidebar}, socket, callbacks) do
{:noreply,
callbacks.reload.(socket, Workbench.toggle_assistant_sidebar(socket.assigns.workbench))}
callbacks.refresh_layout.(
socket,
Workbench.toggle_assistant_sidebar(socket.assigns.workbench)
)}
end
def handle_info({:chat_editor_switch_view, view}, socket, callbacks) do
{:noreply,
callbacks.reload.(socket, Workbench.click_activity(socket.assigns.workbench, view))}
callbacks.refresh_sidebar.(socket, Workbench.click_activity(socket.assigns.workbench, view))}
end
def handle_info({:entity_changed, payload}, socket, callbacks) when is_map(payload) do
{:noreply, CliSync.apply_entity_change(socket, payload, callbacks.reload)}
{:noreply, CliSync.apply_entity_change(socket, payload, callbacks.refresh_content)}
end
def handle_info(:refresh_task_status, socket, callbacks) do
@@ -155,7 +160,7 @@ defmodule BDS.Desktop.ShellLive.Bridges do
end
def handle_info(:tags_changed, socket, callbacks) do
{:noreply, callbacks.reload.(socket, socket.assigns.workbench)}
{:noreply, callbacks.refresh_content.(socket, socket.assigns.workbench)}
end
def handle_info({:settings_output, title, message, level}, socket, callbacks) do
@@ -267,7 +272,8 @@ defmodule BDS.Desktop.ShellLive.Bridges do
end
def handle_info({:close_tab, type, id}, socket, callbacks) do
{:noreply, callbacks.reload.(socket, Workbench.close_tab(socket.assigns.workbench, type, id))}
{:noreply,
callbacks.refresh_layout.(socket, Workbench.close_tab(socket.assigns.workbench, type, id))}
end
def handle_info(_message, socket, _callbacks), do: {:noreply, socket}

View File

@@ -19,7 +19,7 @@ defmodule BDS.Desktop.ShellLive.SidebarCreate do
def create(socket, kind, callbacks) do
case socket.assigns.projects.active_project_id do
project_id when is_binary(project_id) -> create(socket, project_id, kind, callbacks)
_other -> callbacks.reload.(socket, socket.assigns.workbench)
_other -> callbacks.refresh_content.(socket, socket.assigns.workbench)
end
end
@@ -32,12 +32,12 @@ defmodule BDS.Desktop.ShellLive.SidebarCreate do
categories: []
}) do
{:ok, _post} ->
callbacks.reload.(socket, socket.assigns.workbench)
callbacks.refresh_content.(socket, socket.assigns.workbench)
{:error, reason} ->
socket
|> callbacks.append_output.(dgettext("ui", "New Post"), inspect(reason), nil, "error")
|> callbacks.reload.(socket.assigns.workbench)
|> callbacks.refresh_content.(socket.assigns.workbench)
end
end
@@ -46,7 +46,7 @@ defmodule BDS.Desktop.ShellLive.SidebarCreate do
{:ok, source_path} ->
case BDS.Media.import_media(%{project_id: project_id, source_path: source_path}) do
{:ok, _media} ->
callbacks.reload.(socket, socket.assigns.workbench)
callbacks.refresh_content.(socket, socket.assigns.workbench)
{:error, reason} ->
socket
@@ -56,16 +56,16 @@ defmodule BDS.Desktop.ShellLive.SidebarCreate do
nil,
"error"
)
|> callbacks.reload.(socket.assigns.workbench)
|> callbacks.refresh_content.(socket.assigns.workbench)
end
:cancel ->
callbacks.reload.(socket, socket.assigns.workbench)
callbacks.refresh_content.(socket, socket.assigns.workbench)
{:error, %{message: message}} ->
socket
|> callbacks.append_output.(dgettext("ui", "Import media"), message, nil, "error")
|> callbacks.reload.(socket.assigns.workbench)
|> callbacks.refresh_content.(socket.assigns.workbench)
end
end
@@ -98,7 +98,7 @@ defmodule BDS.Desktop.ShellLive.SidebarCreate do
nil,
"error"
)
|> callbacks.reload.(socket.assigns.workbench)
|> callbacks.refresh_content.(socket.assigns.workbench)
end
end
@@ -130,7 +130,7 @@ defmodule BDS.Desktop.ShellLive.SidebarCreate do
nil,
"error"
)
|> callbacks.reload.(socket.assigns.workbench)
|> callbacks.refresh_content.(socket.assigns.workbench)
end
end
@@ -151,7 +151,7 @@ defmodule BDS.Desktop.ShellLive.SidebarCreate do
{:error, reason} ->
socket
|> callbacks.append_output.(dgettext("ui", "New Chat"), inspect(reason), nil, "error")
|> callbacks.reload.(socket.assigns.workbench)
|> callbacks.refresh_content.(socket.assigns.workbench)
end
end
@@ -180,12 +180,12 @@ defmodule BDS.Desktop.ShellLive.SidebarCreate do
nil,
"error"
)
|> callbacks.reload.(socket.assigns.workbench)
|> callbacks.refresh_content.(socket.assigns.workbench)
end
end
def create(socket, _project_id, _kind, callbacks),
do: callbacks.reload.(socket, socket.assigns.workbench)
do: callbacks.refresh_content.(socket, socket.assigns.workbench)
def action(:posts), do: %{kind: "post", label: "sidebar.newPost"}
def action(:media), do: %{kind: "media", label: "sidebar.importMedia"}

View File

@@ -31,7 +31,7 @@ defmodule BDS.Desktop.ShellLive.SidebarDelete do
socket
|> assign(:shell_overlay, nil)
|> callbacks.append_output.(delete_title(route), inspect(reason), nil, "error")
|> callbacks.reload.(socket.assigns.workbench)
|> callbacks.refresh_content.(socket.assigns.workbench)
end
end
@@ -74,7 +74,7 @@ defmodule BDS.Desktop.ShellLive.SidebarDelete do
nil,
"error"
)
|> callbacks.reload.(socket.assigns.workbench)
|> callbacks.refresh_content.(socket.assigns.workbench)
end
end
@@ -88,7 +88,7 @@ defmodule BDS.Desktop.ShellLive.SidebarDelete do
socket
|> assign(:shell_overlay, nil)
|> assign(:tab_meta, Map.delete(socket.assigns.tab_meta, {type, id}))
|> callbacks.reload.(workbench)
|> callbacks.refresh_content.(workbench)
{:error, reason} ->
socket
@@ -99,7 +99,7 @@ defmodule BDS.Desktop.ShellLive.SidebarDelete do
nil,
"error"
)
|> callbacks.reload.(socket.assigns.workbench)
|> callbacks.refresh_content.(socket.assigns.workbench)
end
end