Repository navigation
Release: opt-in analytics, video and the unified retrieval engine - #215
Draft
alichherawalla wants to merge 167 commits into
Draft
alichherawalla wants to merge 167 commits into
alichherawalla wants to merge 167 commits into
Conversation
…, Pro upgrade pages) and the first-chat prompt
…route allowlist in main
…racters or a 1,000-character stack line, and a quote the cut leaves open still goes
…aches the log, Android puts its latest part in the text)
…takes ~2 s cold, so the 2 s bound dropped the batch a quit was flushing
…open a quote of a kind already checked
…is still the person's text
Takes the whole PR and keeps main's behaviour at each seam: - Embeddings: the chosen search model and main's document engine each keep their own pipeline; documents stay on DOCUMENT_EMBEDDER. The index rebuild covers memories and the search index (main moved knowledge-base text out of rag_chunks into the document index). - Setup: main's redesigned panel with #164's model selection, video runtime recovery and readable setup errors. - Video in main's newer code: model picker slots, settings tabs, gallery header, remote servers per modality, the preemptible queue (VIDEO_JOB, abortable admission), backup with attached documents, data erasure with analytics. - Image argument builders now live in @offgrid/models; main's Qwen Turbo defaults moved there. - Native engine: main's pinned stable-diffusion.cpp stays. The decode-preview patches are ported to that pin; prepare-image-runtime.mjs reads engine-pins.json and build-sd-macos.sh applies the patches, replacing the duplicate build-image-macos.sh. Windows/Linux keep the source-build option.
The log is the seam usage statistics read. A clip records its model, its backend once the engine starts, and how it ended; a remote clip records the remote backend.
generation_finished gets modality video with its duration; video packs report downloads and loads without a quant; video_generation joins feature_used and the daily snapshot; a video_setup funnel. stable-diffusion.cpp is reported as engine sd.cpp for images and videos. Each media setup funnel now opens with its Models tab. Spec agreed with the mobile thread.
Real job service, engine stand-ins and the real PostHog SDK against a loopback endpoint: generation_finished (modality video, engine sd.cpp, duration), feature_used and model_loaded arrive, and no prompt, path or file name does.
CI logs showed only totals, so per-file hotspots (MemoryChat/index.tsx) read as "coverage not reported". Adds the text reporter; thresholds are unchanged.
Extensions from 0.0.5 send kinds with every vault call. Desktop Pro uses it to send authenticator accounts only to an extension that reads them; older extensions send none and keep a working vault.
Takes the whole PR and keeps main's and the video release's behaviour at each seam: - Retrieval: #201's records engine replaces LanceDB search. #164's embedding-model choice now picks the record embedder: a change embeds every record into a staging table with the new model and swaps it in one transaction; cancel, failure or an interrupted launch drops the staging table and keeps the old index. Documents stay on the fixed document embedder; the default record model is #201's multilingual-e5-small, now first in the Models list. - GPU: main's GPU placement (Auto passes no -ngl) carries #201's "llama.cpp fits the layers"; the chat engine follows #201's backend ladder and keeps main's device probe; CPU means CPU only. Video joins the backend policy and runs on the sd engine ladder. - Performance pack: main's live pack updates, background replacement and pause-aware install, with #201's driver floors, stall detection, free-space check, Local AppData folder, GPU smoke test and no-restart activation. - Release: #201's macOS sd build now builds main's pinned engine with the video decode-preview patches; the DMG keeps main's arm64 build with #201's arch-named file. - Chat fallback: main never switches the model; #201's GPU-fault restart then CPU run apply.
Analytics importing videogen made an import cycle (analytics → videogen → llm → analytics). The bootstrap registers it like Pro's sources.
Lint: the merged check compared a number field with null.
Ali chose option B: the Tasks header keeps Collapse Chat. #164 had brought the test for its removal.
|
Important Draft PR not reviewedDraft PRs are not automatically reviewed by default.
To automatically review draft PRs, update your CodeRabbit configuration: reviews:
auto_review:
drafts: true
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Real profile database, record store, embedding service and rebuild owner; the embedding model is the only stand-in. A failure, a cancel and a launch after an interrupted change keep the old index and choice; a completed change embeds every record with the new model.
Agreed with the mobile thread; OGAM copies the line verbatim.
This was referenced Oct 23, 2026
Light mode. Before: the released app (0.0.55). After: the packaged release build.
#201 made image jobs evict grounding and decision (they cannot share GPU memory); a clip needs more memory than a picture. Found in the merge-resolution review.
Only arm64 ships, so the arch suffix from #201 is not needed.
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.




Release: opt-in analytics, video generation and the unified retrieval engine, as one Desktop release. Merge order: shared → desktop-pro → OGAD (
propoints at desktop-pro's release head). Nothing merges without Ali's go-ahead.Supersedes (kept open)
What the release adds beyond the merges
docs/ANALYTICS.md, identical with OGAM):generation_finishedwith modalityvideoandduration_ms; enginesd.cpp(images too); video pack download/load events without a quant;video_generationinfeature_usedand the daily snapshot;video_setupfunnel. Each media setup funnel now opens with its Models tab. Never prompts, paths or file names.kindsin the vault call).textreporter added; thresholds unchanged), for Argus hotspots.Approved exceptions (Ali)
Resolution notes (where both sides could not survive as written; approved)
memoriesvectors and the LanceDB backfill: replaced, because One retrieval engine; every local engine picks a GPU that works and recovers from faults #201 retires both. The feature (pick a model, rebuild with progress, cancel and restore, restore after an interrupted launch) runs on One retrieval engine; every local engine picks a GPU that works and recovers from faults #201's record store. Search keeps working on the old vectors until the swap, so Add video as a Desktop modality with OGAD remote generation #164's "search off while rebuilding" guards are gone.gpuLayers: null(Auto) is main'sgpuPlacement: 'auto'(same behaviour: no-ngl); Settings keeps main's Auto switch and live "layers in use".build-image-macos.sh(arm64 duplicate ofbuild-sd-macos.sh) removed. One retrieval engine; every local engine picks a GPU that works and recovers from faults #201'sbuild-sd-mac.shnow builds main's pinned engine with the video patches, not master-889 (a downgrade for Qwen-Image). Main'scheck-windows-onnx-preload.mjsstep is dropped with One retrieval engine; every local engine picks a GPU that works and recovers from faults #201's ONNX helper process.vectors-rebuild.test.ts, the oldembedding-index-rebuild.dbtest.ts. Replaced by the real-databaseembedding-model-switch.dbtest.ts.OffGrid-<v>.dmgkept (only arm64 ships); One retrieval engine; every local engine picks a GPU that works and recovers from faults #201's arch suffix dropped. The release workflow's DMG lines match main.Follow-ups
build-native-enginesso the CI macOS engine archive carries the video decode previews; until then release builds play video without decode-progress frames.build-sd-macos.shfor CI archives,build-sd-mac.shin the release job); one can go.Related release PRs
Verification so far
kindscases): 3/3.--no-verify. CI runs the full suite.Screenshots (light mode; before = released app 0.0.55, after = packaged release build)
Not captured: the Remote server Video row (shows only for an OGAD or OpenRouter server), and the Vault authenticator screen (Pro-gated in a clean profile). The chat headings' entrance animation does not run in a background window, so its end state was forced for the capture.
Packaged smoke (macOS, unsigned build, isolated profile)
usage:false, crashes:false); opt-in works.videoGenStatus: available).Not verified yet (port 8439 held by another dev OGAD)
video, no content) are covered by the journey test with the real PostHog SDK.