fix(desktop): adiciona permissao start-dragging e debug logging no Hub

- Adiciona core🪟allow-start-dragging para corrigir erro ACL do drag-region
- Adiciona logging detalhado no ChatHubWidget para debug de clicks
- Adiciona logging no comando open_chat_window para diagnostico
- Ajusta ordem size/position e set_ignore_cursor_events no Hub
- Remove set_hub_minimized apos build para evitar conflitos de timing

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
esdrasrenan 2025-12-16 01:17:42 -03:00
parent 0cdbc082ab
commit 6430d33c7c
5 changed files with 54 additions and 13 deletions

View file

@ -1282,8 +1282,15 @@ fn open_hub_window_with_state(app: &tauri::AppHandle, start_minimized: bool) ->
.build()
.map_err(|e| e.to_string())?;
// Reaplica layout/posicao
let _ = set_hub_minimized(app, start_minimized);
// IMPORTANTE: Garantir que a janela receba eventos de cursor (evita click-through)
if let Some(hub) = app.get_webview_window(HUB_WINDOW_LABEL) {
let _ = hub.set_ignore_cursor_events(false);
let _ = hub.set_focus();
}
// REMOVIDO TEMPORARIAMENTE: set_hub_minimized logo apos build pode causar
// "resize em cima do resize" no timing errado do WebView2
// let _ = set_hub_minimized(app, start_minimized);
crate::log_info!("Hub window aberta (minimizada={})", start_minimized);
Ok(())
@ -1305,10 +1312,14 @@ pub fn set_hub_minimized(app: &tauri::AppHandle, minimized: bool) -> Result<(),
(400.0, 520.0) // Lista expandida (igual ao web)
};
// Primeiro reposiciona, depois redimensiona para evitar corte
let (x, y) = resolve_chat_window_position(app, Some(&window), width, height);
window.set_position(tauri::LogicalPosition::new(x, y)).map_err(|e| e.to_string())?;
// IGUAL AO CHAT: primeiro size, depois position (ordem importa para hit-test no Windows)
window.set_size(tauri::LogicalSize::new(width, height)).map_err(|e| e.to_string())?;
window.set_position(tauri::LogicalPosition::new(x, y)).map_err(|e| e.to_string())?;
// Reforcar foco apos resize
let _ = window.set_focus();
crate::log_info!("Hub -> minimized={}, size={}x{}, pos=({},{})", minimized, width, height, x, y);
Ok(())