Added compatibility shim for the Qdrant Edge migration

This commit is contained in:
Thorsten Sommer 2026-06-20 16:10:45 +02:00
parent c3bf2563cd
commit 5670f07fbd
Signed by untrusted user who does not match committer: tsommer
GPG Key ID: 371BBA77A02C0108
3 changed files with 29 additions and 2 deletions

View File

@ -0,0 +1,26 @@
# Qdrant Edge Migration
- Status: Active
- Introduced: 2026-06-02
- Remove after: 2026-12-02
- Code references:
- `runtime/src/qdrant_edge_database.rs`
## User Impact
Older installations may still contain Qdrant server sidecar binaries or directories after upgrading to a release that uses Qdrant Edge.
Without this shim, obsolete Qdrant server files could remain in application data or bundled resource locations even though AI Studio no longer starts or uses the separate Qdrant server process.
## Compatibility Behavior
When Qdrant Edge starts, AI Studio checks known previous Qdrant server sidecar locations and attempts to remove obsolete `qdrant` and `qdrant_test` files or directories.
On Windows and macOS production installations, AI Studio also checks the executable directory for old `qdrant.exe` or `qdrant` sidecar binaries. Missing paths are ignored, and failed cleanup attempts are logged without blocking Qdrant Edge startup.
## Removal Checklist
- Remove `remove_obsolete_qdrant_sidecar_files`.
- Remove `remove_obsolete_qdrant_path` if it has no other callers.
- Remove the startup cleanup call from `start_qdrant_edge_database`.
- Update this document's status to `Removed`.

View File

@ -27,5 +27,4 @@ This applies to LLM provider, embedding provider, and transcription provider API
- Remove `LegacySelfHostedAPIKeys`. - Remove `LegacySelfHostedAPIKeys`.
- Remove legacy lookup, migration, and cleanup calls from API key read, write, and delete paths. - Remove legacy lookup, migration, and cleanup calls from API key read, write, and delete paths.
- Keep `LLMProvidersExtensions.ToSecretId()` and the canonical `Self-hosted` namespace. - Keep `LLMProvidersExtensions.ToSecretId()` and the canonical `Self-hosted` namespace.
- Update this document's status to `Removed`. - Update this document's status to `Removed`.
- Add a changelog entry only if removal is user-visible.

View File

@ -384,6 +384,8 @@ fn set_qdrant_edge_unavailable(reason: String) {
status.unavailable_reason = Some(reason); status.unavailable_reason = Some(reason);
} }
// Temporary compatibility shim until 2026-12-02:
// documentation/compatibility-shims/2026-06-qdrant-edge-migration.md
fn remove_obsolete_qdrant_sidecar_files<R: tauri::Runtime>(app_handle: &tauri::AppHandle<R>) { fn remove_obsolete_qdrant_sidecar_files<R: tauri::Runtime>(app_handle: &tauri::AppHandle<R>) {
let mut paths = Vec::new(); let mut paths = Vec::new();