Skip to content

Releases: off-grid-ai/OGAM

Off Grid v0.0.73

Choose a tag to compare

@alichherawalla alichherawalla released this 13 Mar 13:34

What's Changed in v0.0.73

Bug Fixes

  • fix: detect thinking capability from APIs instead of hardcoding true (cb35757)
  • fix: reset checklistDismissed for existing installs with incomplete onboarding (518a004)
  • fix: keep onboarding blinking dot visible, stop auto-opening sheet on launch (a3df201)
  • fix: enable thinking mode for remote models in discovery and provider defaults (47712b3)

Chores

  • chore: bump version to 0.0.73 [skip ci] (87703f4)

Full Changelog: v0.0.72...v0.0.73

Off Grid v0.0.72

Choose a tag to compare

@alichherawalla alichherawalla released this 13 Mar 10:43

What's Changed in v0.0.72

Features

  • feat: ModelPickerSheet — icon-only unload button, always-visible Add Remote Server (dce7d21)

Bug Fixes

  • fix: use discovered capabilities for remote tool-calling/thinking instead of hardcoded true (f0d8bb3)
  • fix: port-agnostic model capability detection — try both APIs, fall back to name-based (9952efb)
  • fix(.gitignore): split corrupted .yarn exclusion into two lines (892ddac)
  • fix(lint): remove unused OpenAIToolCall import, compact getGpuInfo to fit max-lines (aca15d6)
  • fix(sonar): reduce cognitive complexity, duplication, and code smells (b872289)
  • fix: commit all pending changes — httpClient test signatures, removed eslint-disables, warning fixes (e6e3513)
  • fix: don't overwrite server-API vision metadata with name-pattern heuristics (0c6e7a4)
  • fix(lint): remove unused manager variable in remoteServerManager tests (1b04010)
  • fix(ts): resolve tsc --noEmit errors (5729cf1)
  • fix(lint): resolve max-lines in ChatMessage, fix barrel imports in remoteServerManager (604416d)
  • fix(lint): split httpClient into httpClientSSE+httpClientUtils, bundle streaming params into StreamRequestConfig (ca351b6)
  • fix(lint): bundle callbacks+buildMeta into ctx param, reduce localProvider max-params to ≤3 (92c0d36)
  • fix(lint): extract RemoteServerModal styles/form-hook/subcomponent, reduce to 166 lines (49647d2)
  • fix(lint): extract LAN discovery and remote model handlers, reduce useHomeScreen arrow fn to ≤250 lines (7b62999)
  • fix(lint): extract RemoteServersScreen styles to own file, reduce to 249 lines (0ba9fd2)
  • fix(lint): extract TextTab/ImageTab and remoteStyles, fix inline styles, reduce ModelSelectorModal to 219 lines (2387533)
  • fix(lint): extract spotlight logic to useHomeScreenSpotlight, reduce HomeScreen arrow fn to ≤250 lines (68e00c7)
  • fix(lint): extract KnowledgeBaseSection to own file, reduce ProjectDetailScreen to 270 lines (4a106ef)
  • fix(lint): reduce handleAddDocument complexity from 16 to 15 (98f9872)
  • fix(lint): compact single-prop style and add missing useMemo dep (9d22c6e)
  • fix(lint): split useChatScreen — extract handlers and effects to reduce arrow fn to ≤250 lines (7f0ed04)
  • fix(lint): extract ChatMessageArea to own file, reduce index.tsx to 232 lines (d74cac9)
  • fix(lint): reduce llm.ts to ≤350 lines (1ac183c)
  • fix(lint): reduce types/index.ts to ≤350 lines (f3e5ccc)
  • fix(lint): reduce appStore.ts to ≤350 lines (27d94c8)
  • fix(lint): resolve max-params and max-lines in generationToolLoop (30e3a9b)
  • fix(lint): split remoteServerStore — extract helpers to reduce file to <350 lines (269a798)
  • fix(lint): move ensureRemoteServerStoreHydrated to module scope in App.tsx (145d913)
  • fix(lint): resolve ESLint errors in ModelPickerSheet (274ac38)
  • fix: emit fallback message when model returns empty response after tool calls (287f319)
  • fix: refresh KB doc list after each file during multi-file indexing (0212564)
  • fix: hydrate remote server store before initializing providers on app start (e15e56b)
  • fix: derive supportsVision from remote model capabilities in ChatScreen (165cba6)
  • fix: detect remote model vision capability via server API, not name patterns (89ace7a)

Refactors

  • refactor(llm): extract resolveGpuBackend to eliminate nested ternary (e5e20e8)
  • refactor: rename OllamaModelInfo to RemoteModelInfo, reduce cognitive complexity (ae3f20a)
  • refactor: remove dead code — tempProvider in discoverModels, enrichModelsWithCapabilities (d4e0313)
  • refactor(openAICompatibleProvider): split file to fix 5 lint errors (26f684c)
  • refactor(generationService): split into helpers file to fix file-too-long lint error (2cd4488)

Chores

  • chore: bump version to 0.0.72 [skip ci] (b9ae5e7)
  • chore: remove LocalAI from LAN discovery — support Ollama and LM Studio only (c1f4383)

Tests

  • test: fix remoteServerManager tests after detectVisionCapability extraction (3929f9f)
  • test: update and add tests for remote vision, Ollama images, LocalAI removal (d11b62d)

Full Changelog: v0.0.71...v0.0.72

Off Grid v0.0.71

Choose a tag to compare

@alichherawalla alichherawalla released this 12 Mar 19:25

What's Changed in v0.0.71

Features

  • feat: remote model thinking, tool loop fixes, and LAN discovery improvements (ffc4653)
  • feat: wire up LAN auto-discovery to Remote Servers screen (5734130)
  • feat: tap pending-settings banner to reload text model (fe64537)
  • feat: show active project badge in chat header; fix project selector not opening from settings (4f27cb2)
  • feat: pass generation options to OpenAI-compatible API requests (e05f3ff)
  • feat: initialize remote server providers on app startup (6985720)
  • feat: add remote model selection to ModelSelectorModal (a3fa8b2)
  • feat: enable remote model usage in chat (de25602)
  • feat: add remote model selection to homescreen (31c09d9)
  • feat: add remote server management UI (f657cc7)
  • feat: integrate remote providers into generation service (ce56d40)
  • feat: integrate remote providers into generation service (bc142a9)
  • feat: add provider infrastructure and remote server manager (1356a70)
  • feat: add HTTP client with XHR streaming for React Native (c1f2200)
  • feat: add remote server types and store (66e1583)
  • feat: add KnowledgeBaseScreen with document preview (4ed7d12)
  • feat: update ProjectDetailScreen with 50/50 layout (7d8a3fd)
  • feat: add ProjectChatsScreen and DocumentPreviewScreen (90025b3)
  • feat: replace FTS5/BM25 keyword search with semantic embedding search (6aa8688)
  • feat: initialize RAG database on app startup (1b2a9f4)
  • feat: add Knowledge Base UI section to ProjectDetailScreen (9dc9f21)
  • feat: inject RAG context into project conversation prompts (6183741)
  • feat: extend Project type and store with RAG support (4450bc7)
  • feat: add core RAG services for project-scoped knowledge base (a6bc9bc)
  • feat: add op-sqlite dependency and jest configuration for RAG (6cbcb62)

Bug Fixes

  • fix: revert modelDeps to settings dep in handleReloadTextModel — avoids new lint warning (b37a667)
  • fix: address all PR review comments — remove debug logs, tighten LAN discovery, gate LM Studio kwargs (4a655fd)
  • fix: replace ReDoS-vulnerable regex in remoteServerManager endpoint dedup (0546fef)
  • fix: scope HTTP allowances — remove NSAllowsArbitraryLoads from iOS, clarify Android base-config (f3a3f18)
  • fix: resolve all test failures across 4 test suites (ed57d31)
  • fix: compact discovered model list items further, drop empty capabilities row (46fa3d7)
  • fix: reduce discovered model list item size and padding (ebd8eff)
  • fix: make discovered models list scrollable, cap at ~3 visible, reduce margins (08fb4d4)
  • fix: show discovered models above action buttons in remote server modal (84b7caf)
  • fix: show Test Connection and Add Server buttons side by side (26d265e)
  • fix: auto-test connection when manually adding a remote server (c02f356)
  • fix: scroll-to-bottom button overlapping chat input on Android (4c91603)
  • fix: keyboard input, stop button, pre-tool text, server deduplication, LAN discovery improvements (e189ef1)
  • fix: fallback (143ad34)
  • fix: test failures and wifi icon overflow in model card (1d7bcbd)
  • fix: add reasoning and thinking fields to OpenAI delta type (d61cecb)
  • fix: resolve test isolation issue in tools/handlers.test.ts (8f98c45)
  • fix: use correct probe paths and validate private IP for LAN discovery (789b5d5)
  • fix: allow HTTP to LAN servers on Android and iOS (c7467b0)
  • fix: update Podfile.lock to sync with upgraded node_modules (43b5470)
  • fix: use explicit path for AndroidManifest.xml Sonar exclusion (c272746)
  • fix: exclude AndroidManifest.xml from SonarCloud analysis (5cecb94)
  • fix: move NOSONAR to permission line in AndroidManifest (cb6a8ab)
  • fix: suppress SonarCloud hotspot for CAMERA permission in AndroidManifest (2c470af)
  • fix: remove unused activeRemoteTextModelId destructure in generationService (4053698)
  • fix: address Gemini review — debug logs, Android camera, timer sync (de81c5e)
  • fix: remove duplicate test and reduce SonarCloud duplication below 3% (5a0c24c)
  • fix: resolve remaining SonarCloud hotspots and reduce duplication (b80d223)
  • fix: resolve SonarCloud reliability bug and reduce test duplication (1c93193)
  • fix: suppress SonarCloud security hotspots in test files (c09a1c2)
  • fix: add settings to handleReloadTextModel useCallback deps (4ee299c)
  • fix: resolve TypeScript errors in test files (4ff963b)
  • fix: resolve lint errors in test files (ca70771)
  • fix: resolve remaining lint errors (a923742)
  • fix: resolve lint errors in ChatScreen files (86a0e92)
  • fix: add NSCameraUsageDescription to Info.plist (27af829)
  • fix: force unload before reload so setLoadedSettings always runs (746074e)
  • fix: truncate long model names in header; hide local-only UI for remote models (d5d664e)
  • fix: move project indicator to subtitle row in chat header (f01e952)
  • fix: persist loadedSettings so pending-settings warning survives app restart (9666446)
  • fix: always show project badge in chat header (show Default when no project) (416a474)
  • fix: enable tool calling for remote models via OpenAI-compatible API (69d48d6)
  • fix: handle server IP change across networks + fix stale checkmark in model picker (e3d223f)
  • fix: enable tool calling for remote models and remove API key from server setup (dce5dce)
  • fix: remote server routing, health status, LAN discovery (c79863e)
  • fix: abort XHR on stream error (B2) and filter partial tool calls (B1 gap) (0898a65)
  • fix: resolve lint errors in test typecheck fixes (348a428)
  • fix: resolve typecheck errors in test files (041d672)
  • fix: address PR review comments (B1, B4, B5, CQ1, CQ2) (842e244)
  • fix: guard against out-of-order channel markers in parseThinkingContent (e7edf71)
  • fix: remove unused eslint-disable annotation for XMLHttpRequest (1a0b1c7)
  • fix: suppress SonarCloud http hotspots in test fixtures (cbb35a2)
  • fix: resolve SonarCloud security hotspots for ReDoS and weak-cryptography (53ea9c2)
  • fix: resolve security hotspot issues in PR (b03aa65)
  • fix: resolve security hotspot issues in PR (28e46ea)
  • fix: fix TypeScript type errors in KnowledgeBaseScreen test (ab51f0b)
  • fix: remove unused waitFor import in KnowledgeBaseScreen test (0ecf07b)
  • fix: add timeouts and use findByTestId to prevent test timeouts (47075a8)
  • fix: add non-null assertions for alert button callbacks in tests (4baca1b)
  • fix: use valid providerType in RemoteServersScreen tests (fddfb6b)
  • fix: use undefined instead of null and return string in test mocks (a000541)
  • fix: use proper types in useModelsScreen test (035d0e6)
  • fix: cast global to any when accessing crypto in tests (9b18f92)
  • fix: add missing providerType to addServer test calls (7f613a1)
  • fix: replace FrameRequestCallback with inline type in test (b462858)
  • fix: simplify Blob mock in httpClient tests (d53f7a6)
  • fix: remove invalid as const on null in ImageFilterBar test (8db4308)
  • fix: resolve all eslint errors and warnings (e628bcd)
  • fix: add Keychain.ACCESSIBLE mock for remoteServerManager tests (5c8ca3b)
  • fix: correct thinking tag parsing regex (467cf45)
  • fix: remove duplicate import in testHelpers (674d9cf)
  • fix: update tests for remote model support and NoModelScreen behavior (cab5cbd)
  • fix: resolve lint errors and warnings (fe831e7)
  • fix: update tests for remote provider functionality (afcd8f6)
  • fix: resolve lint and TypeScript errors (1a5635d)
  • fix: improve remote model reliability and generation stats (ee86871)
  • fix: add logging for remote generation debugging (2eba47d)
  • fix: address Gemini review - batch transactions, type safety, Zustand pattern (fb05828)
  • fix: resolve all remaining SonarCloud issues across entire codebase (7e86966)
  • fix: replace regex with iterative tag stripping to resolve security hotspot (88824a0)
  • fix: simplify estimateCharBudget and add zero-clamping (33f54b4)
  • fix: resolve remaining SonarCloud issues and Gemini review comments (49a79ff)
  • fix: resolve SonarCloud issues across codebase (7489ffa)
  • fix: address Greptile and Gemini review comments (7efdbc2)
  • fix: enable FTS5 module for op-sqlite on Android and iOS (0c2afaf)
  • fix: resolve SonarCloud async/void type mismatch in onPress handler (5365a52)
  • fix: address Gemini review comments on RAG PR (a8d88f0)

Refactors

  • refactor: extract more test setup helpers to reduce duplication (efcf0cc)
  • refactor: eliminate remaining SonarCloud duplication hotspots (cd8b396)
  • refactor: extract duplicated tool loop handlers and loading state JSX (544aa03)
  • refactor: extract repeated setup patterns to reduce test duplication (89c25f4)
  • refactor: extract SSE parsing logic to eliminate duplication (397f9a4)
  • refactor: move pdfExtractor mock to documentService test file (d282d7d)

Chores

  • chore: bump version to 0.0.71 [skip ci] (f8533a0)
  • chore: remove orphaned PDFExtractor duplicate files (debb238)
  • chore: update iOS project for new dependencies (cbd1443)
  • chore: minor updates for remote provider compatibility (3470666)
  • chore: update tests and dependencies for remote providers (0242acf)

Tests

  • test: update networkDiscovery probe test to match new status === 200 requirement (93e13d8)
  • test: add scan network tests for RemoteServersScreen (4fde5f9)
  • test: add unit tests and fix test suite failures (57d82be)
  • test: update openAICompatibleProvider tests for AbortSignal param (f7a441e)
  • test: add missing coverage to RemoteServersScreen tests (56a09b3)
  • test: add branch coverage to useHomeScreen tests (23 tests) (2b9167e)
  • test: add ChatMessage utils unit tests (19 tests) (7b2c5a0)
  • test: add ModelPickerSheet component tests (47 tests) (8bc37ef)
  • test: add useHomeScreen hook unit tests (1999579)
  • test: add missing branch coverage to documentService tests (7f43070)
  • test: add RemoteServerModal component tests (24d1802)
  • test: refactor toolUsage tests to use test.each pattern (c8a63d2)
  • test: add tests for KnowledgeBaseScreen, DocumentPreviewScreen, ProjectChatsScreen to fix branch coverage threshold (0f928db)
  • test: add tests for generateId fallback paths (111ad36)
  • test: improve remoteServerStore coverage with fetch t...
Read more

Off Grid v0.0.70

Choose a tag to compare

@alichherawalla alichherawalla released this 08 Mar 06:07

What's Changed in v0.0.70

Bug Fixes

  • fix: chat input issues - keyboard-aware popover and always-on tools (93141ea)

Chores

  • chore: bump version to 0.0.70 [skip ci] (00f8931)
  • chore: bump version to 0.0.70 [skip ci] (8dc514b)

Other

  • Revert "chore: bump version to 0.0.70 [skip ci]" (1b61814)

Full Changelog: v0.0.69...v0.0.70

Off Grid v0.0.69

Choose a tag to compare

@alichherawalla alichherawalla released this 08 Mar 03:20

What's Changed in v0.0.69

Features

  • feat: replace toolbar icons with quick settings and attach popovers (d463ea0)
  • feat: add thinking mode toggle with /no_think support (954c8bd)
  • feat: update recommended models to Qwen 3.5 lineup (9bf560b)

Bug Fixes

  • fix: always strip think tags when model supports thinking (9d4edac)
  • fix: append /no_think for image-only messages when thinking disabled (6425910)
  • fix: use Dimensions for popover positioning instead of magic number (89e2ae8)
  • fix: remove redundant Cancel button from image attach alert (7828e10)
  • fix: exclude BF16 mmproj files when selecting F16 variant (9e19d59)

Refactors

  • refactor: reduce cognitive complexity in QuickSettingsPopover (86c0c46)

Chores

  • chore: bump version to 0.0.69 [skip ci] (39176fe)
  • chore: claude no more (e11be3a)

Other

  • Move quality gates to pre-push (913e9e7)
  • Fix Sonar hotspot and review warnings (638d91a)
  • Fix llama.rn thinking and tool streaming (b060c09)

Full Changelog: v0.0.68...v0.0.69

Off Grid v0.0.68

Choose a tag to compare

@alichherawalla alichherawalla released this 07 Mar 10:43

What's Changed in v0.0.68

Features

  • feat: add Low RAM Core ML image model entries with original attention variant (f6dd14c)

Bug Fixes

  • fix: resolve SwiftLint warnings in DownloadManagerModule (099a2a9)
  • fix: remove low-mem iOS workarounds that cause crashes (a3a47b4)
  • fix: extract nested ternary in LoadingOverlay into helper function (8959198)
  • fix: resolve lint errors and refine low-memory image loading (04e5a98)
  • fix: address PR review comments and fix CI failures (e13ca7d)
  • fix: delay share prompt until second text generation (64fe518)
  • fix: enable image model loading on low-memory devices (1c11e5c)
  • fix: iPhone XS fixes (a4cabcb)
  • fix: guard excludePathFromBackup call for Android compatibility (4444723)

Chores

  • chore: bump version to 0.0.68 [skip ci] (c0ba42d)

Tests

  • test: fix mock isolation in excludeFromBackup tests (54b701a)

Full Changelog: v0.0.67...v0.0.68

Off Grid v0.0.67

Choose a tag to compare

@alichherawalla alichherawalla released this 06 Mar 12:44

What's Changed in v0.0.67

GPU Acceleration (MNN OpenCL)

  • Upgraded MNN binary from 3.2.1 to 3.4.0 with OpenCL GPU acceleration
  • Image generation now uses GPU (OpenCL) instead of CPU — ~2x faster on supported devices
  • Added GPU acceleration toggle and Clear GPU Cache button in image generation settings
  • Reduced default image steps from 20 → 8 (DPM Solver produces good quality with fewer steps on MNN 3.4.0)
  • First-run OpenCL kernel compilation takes ~60s, then cached for subsequent runs
Metric Before After
Default steps 20 8
Time (Snapdragon 8s Gen 3) ~90s ~41s
Acceleration CPU only OpenCL GPU

LLM Inference Performance

  • GPU offloading for LLM inference with larger batches and KV cache reuse
  • Auto-detect GPU capability, cap auto-context at 4096 for mobile
  • Flash attention is now user-configurable with Android GPU layers guard
  • Platform-aware GPU defaults and optimized thread count

Settings UI Overhaul

  • Restructured settings with basic/advanced split, removed Performance tab
  • GPU acceleration controls integrated into settings
  • Hardened prompt enhancement

iCloud Backup Fix

  • Downloaded model files no longer consume iCloud storage (previously 10+ GB)
  • Added isExcludedFromBackup handling for all model directories on iOS
  • Existing users get retroactive fix on first app launch after updating

Bug Fixes

  • Fixed thread leak: shut down executor on catalyst instance destroy
  • Fixed download stuck at zero bytes on Android

Full Changelog: v0.0.66...v0.0.67

Off Grid v0.0.66

Choose a tag to compare

@alichherawalla alichherawalla released this 05 Mar 15:11

What's Changed in v0.0.66

Bug Fixes

  • fix: shut down executor on catalyst instance destroy to prevent thread leak (df2f00e)
  • fix: validate redirect host against allowlist to prevent SSRF bypass (eb50b7c)
  • fix: address Gemini review — sanitize fileName, validate URL host, use executor (d0f86fe)
  • fix: pre-resolve HuggingFace redirects to fix 0-byte downloads on Android (bf38e1a)
  • fix: use explicit null check for pendingStop to satisfy SonarCloud (f029130)
  • fix: address review — abort guard after drain, expand if blocks (03b678f)
  • fix: resolve stop generation race conditions causing stuck UI (fd840b1)

Refactors

  • refactor: extract shared pre-generation setup into prepareGeneration helper (65de213)

Other


Full Changelog: v0.0.65...v0.0.66

Off Grid v0.0.65

Choose a tag to compare

@alichherawalla alichherawalla released this 05 Mar 04:01

What's Changed in v0.0.65

Bug Fixes

  • fix: compare raw float for mmproj size check, not rounded string (3604e36)
  • fix: use explicit null check for activeCompletionPromise (5833a55)
  • fix: remove redundant try-catch on always-resolving promise (e9b54b3)
  • fix: address SonarCloud - log catch blocks, remove non-null assertion (f6548d8)
  • fix: prevent SIGSEGV by draining active completion before context release (b531e1f)

Chores

  • chore: bump version to 0.0.65 [skip ci] (1500143)

Full Changelog: v0.0.64...v0.0.65

Off Grid v0.0.64

Choose a tag to compare

@alichherawalla alichherawalla released this 04 Mar 13:44

What's Changed in v0.0.64

Features

  • feat: stop showing share prompt after engagement, add community links to Settings (d92fca3)
  • feat: add share prompt to encourage GitHub stars and X shares (0c90e0c)

Bug Fixes

  • fix: make generation count increments atomic (23454d6)
  • fix: add top padding to onboarding sheet progress bar (8d77bba)
  • fix: prevent QNN image model failures on non-Qualcomm and older devices (#99) (05658e0)
  • fix: ios builds should be triggerable through scripts/release.sh as well; (3d025e2)

Refactors

  • refactor: reduce test duplication in SharePromptSheet tests (ea20948)
  • refactor: address Gemini review - type safety, named constants, extract helper (1cda1bd)

Chores

  • chore: bump version to 0.0.64 [skip ci] (e41b173)

Other


Full Changelog: v0.0.63...v0.0.64