Skip to content

Translation follow-ups: deleted model shown as cloud, Ollama checks on the UI thread #985

Open

Description

@KnifeLemon

Follow-ups from the review of #836 (offline translation through a local Ollama).

1. A deleted model is reported as a cloud model

TranslationService.CheckModelRemoteCloudAsync refuses on any error, including a 404 from /api/show.

  1. Pick a model in Manage Ollama, for example qwen2.5:3b.
  2. Remove it with ollama rm qwen2.5:3b.
  3. PreferredOllamaModel still names it, so every translation now fails with the cloud-model security message.

Fix: on a 404, refuse with a "model not found" message (a new error.* key in all 19 language files). Keep the security refusal for every other failure.

2. Ollama checks on the UI thread

  • TranslatorConverter.PerformCheck() is a synchronous HTTP check of up to 250 ms. It runs on the UI thread from Engines → Recheck, from closing the Manage Ollama window, and from Start / Stop Server.
  • Each status change posts catalog.Refresh() to the UI thread, so the next donut or Engines page re-checks every engine there. That's the startup freeze that CheckInBackgroundAsync in App.axaml.cs avoids.

Fix: run PerformCheck through Task.Run, and follow catalog.Refresh() with _ = catalog.CheckInBackgroundAsync();.

Activity

  1. KnifeLemon commented on Nov 1, 2026

    @KnifeLemon
    OwnerAuthor

    @rohitLovesKrishna these are the two follow-ups from #836. Comment here if you'd like to take them, and I'll assign the issue to you. GitHub only lets me assign people who have taken part in an issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    translationUI translations and language support

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions