Fix Qt worker lifecycle crash
This commit is contained in:
@@ -7,8 +7,10 @@ from pathlib import Path
|
||||
from types import SimpleNamespace
|
||||
|
||||
from javis.core.chat_service import ChatService
|
||||
from javis.core.provider_router import ApprovalChoice
|
||||
from javis.memory.sqlite_store import SQLiteSessionStore
|
||||
from javis.providers.base import ChatMessage, ResponseAbortedError
|
||||
from javis.security.privacy import CloudPolicy, PrivacyDecision
|
||||
from javis.ui.chat_controller import DesktopController, sanitized_error
|
||||
from javis.ui.models import GenerationState, StreamEventKind
|
||||
|
||||
@@ -45,10 +47,17 @@ class _Service:
|
||||
class _Hybrid:
|
||||
mode = "auto"
|
||||
last_route = None
|
||||
queued_approval = None
|
||||
|
||||
def set_mode(self, mode: str) -> None:
|
||||
self.mode = mode
|
||||
|
||||
def privacy_decision(self, _text: str) -> PrivacyDecision:
|
||||
return PrivacyDecision(CloudPolicy.ASK, "Test")
|
||||
|
||||
def queue_approval(self, choice: ApprovalChoice) -> None:
|
||||
self.queued_approval = choice
|
||||
|
||||
|
||||
class _StreamingProvider:
|
||||
name = "ollama"
|
||||
@@ -91,6 +100,17 @@ class DesktopControllerTests(unittest.TestCase):
|
||||
self.assertEqual(loaded.messages[0].content, "Hallo")
|
||||
self.assertEqual(renamed.title, "Neu")
|
||||
|
||||
def test_controller_preflights_and_queues_gui_approval(self) -> None:
|
||||
decision = self.controller.approval_decision("Private Frage")
|
||||
self.controller.queue_approval(ApprovalChoice.ALLOW)
|
||||
|
||||
self.assertIsNotNone(decision)
|
||||
self.assertIs(decision.policy, CloudPolicy.ASK)
|
||||
self.assertIs(
|
||||
self.runtime.hybrid_provider.queued_approval,
|
||||
ApprovalChoice.ALLOW,
|
||||
)
|
||||
|
||||
def test_error_sanitizer_masks_key_patterns(self) -> None:
|
||||
secret = "AIza" + "x" * 25
|
||||
result = sanitized_error(RuntimeError(f"Fehler {secret}"))
|
||||
|
||||
Reference in New Issue
Block a user