mirror of
https://github.com/cogwheel0/conduit.git
synced 2026-08-29 13:31:44 +00:00
|
Some checks are pending
L10n / l10n (push) Waiting to run
* fix: resolve reported rendering, voice, terminal, and connection bugs LaTeX (#642, #533): render complex MathJax SVGs through the compatible renderer so underbrace/boxed/pmatrix no longer glitch or leak `amp`, and center block equations horizontally. Fonts (#501): rebuild the bundled Geist faces, which mapped lowercase Greek omega to the uppercase glyph. Hermes (#637): connection tests now exercise authenticated capability and toolset discovery instead of the unauthenticated health endpoint, so a server that only answers /health no longer reports "connected". Voice (#632): request microphone permission before starting the Android foreground service, which crashed when permission had never been granted. Voice (#630): stop local STT while TTS plays so the model no longer hears itself. Barge-in is off by default and opt-in from Audio settings, and the voice overlay gains a speakerphone toggle. Transport (#629): drop the plaintext-HTTP restriction for Hermes and direct connections. Tailscale/Headscale CGNAT addresses and other private networks were rejected outright. Custom headers and the self-signed certificate toggle are now shared by all backends via a single Hermes transport configurator. Terminal (#626): download now opens the native save dialog instead of the share sheet. Terminal (#608): route the `terminal:display_file` event into the Terminal files panel rather than dropping it in the chat event handler. Auth (#606): drive reverse-proxy login through the real WebView identity and cookie store so Authelia and similar providers finish sign-in. Also fixes pre-existing test failures on main: three assertions still expected the single-newline block join replaced in #641, and six expected the "Delete connection" button label renamed to "Delete" in #628. * fix: route Android speakerphone and address review feedback Speakerphone on Android: setSpeakerphoneOn is deprecated and no-ops on Android 12+ once a communication device is selected, which the voice session does for Bluetooth SCO. The toggle rendered but never changed the route. Select the built-in speaker as the communication device instead, keeping the legacy call as the pre-31 fallback, and tear down the active SCO route before re-routing so a headset cannot keep owning playback. Voice: treat TtsError as a terminal assistant-speech event. With barge-in disabled the recognizer is stopped for playback and only TtsCompleted restarted it, so a failed TTS request left voice mode active with no way to accept the next utterance. Hermes: cancel active runs when certificate trust changes. A trust-only edit rebuilt the transport while old cancellation tokens stayed live. Terminal: sanitize the download file name, which comes from the server's Content-Disposition header, before passing it to the save dialog. Hermes settings: use the existing headerName/headerValue/addHeader/ removeHeader localizations instead of hardcoded English. Adds coverage for the speakerphone toggle, TTS-error recovery, and HttpClient forwarding through the desktop RPC channel factory. * fix: fall back for dot-only download file names `.` and `..` survive character sanitization but name a directory rather than a file, so writing them throws instead of producing a download. Use the timestamp fallback for those, and cover the sanitizer directly. Windows reserved device names are not handled: this app ships only iOS and Android targets. |
||
|---|---|---|
| .. | ||
| conduit_user_agent.dart | ||
| conduit_user_agent_platform.dart | ||
| conduit_user_agent_platform_io.dart | ||
| conduit_user_agent_platform_stub.dart | ||
| image_header_utils.dart | ||
| same_origin_redirect_interceptor.dart | ||
| self_signed_image_cache_manager.dart | ||
| self_signed_image_cache_manager_factory.dart | ||
| self_signed_image_cache_manager_factory_io.dart | ||