Repository navigation
docs: document features from v0.0.55–v0.0.58 - #81
Conversation
…rendering Document features from v0.0.55–v0.0.58 that were missing from docs: - Tool calling system (web search, calculator, date/time, device info) - Configurable KV cache type (f16/q8_0/q4_0) and flash attention toggle - llama.cpp parameter constraint enforcement - Markdown rendering in chat messages - Background download improvements (both platforms) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Summary of ChangesHello @alichherawalla, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request updates the project's documentation to cover features introduced in recent releases (v0.0.55–v0.0.58) that were previously undocumented. The changes primarily focus on detailing the new tool calling system, various LLM inference optimizations like KV cache types and flash attention, markdown rendering capabilities, and enhanced parameter constraint enforcement for llama.cpp. Additionally, the documentation for background downloads has been expanded to reflect cross-platform support. Highlights
Changelog
Activity
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
|
There was a problem hiding this comment.
Code Review
This pull request provides a comprehensive documentation update for features introduced in versions v0.0.55 through v0.0.58. The changes across README.md, ARCHITECTURE.md, and CODEBASE_GUIDE.md are thorough and well-structured. I've identified a couple of minor areas in the documentation where accuracy and consistency could be improved, and I've provided suggestions for them.
| - Android: Persists download state in SharedPreferences, 500ms polling for progress | ||
| - iOS: Uses background URLSession with app lifecycle integration |
There was a problem hiding this comment.
The documentation here suggests that download state persistence is an Android-only feature. However, the implementation in ios/DownloadManagerModule.swift shows that state is also persisted on iOS using UserDefaults. To improve accuracy, it would be clearer to state that persistence is supported on both platforms and then detail the platform-specific implementations.
| - Android: Persists download state in SharedPreferences, 500ms polling for progress | |
| - iOS: Uses background URLSession with app lifecycle integration | |
| - Persists download state on both platforms (Android: SharedPreferences, iOS: UserDefaults) | |
| - Android: 500ms polling for progress updates | |
| - iOS: Uses background URLSession with app lifecycle integration |
| **Tool Loop (`generationToolLoop.ts`):** | ||
| - Orchestrates multi-turn tool execution: LLM → parse → execute → inject → repeat | ||
| - Hard limits: 3 iterations, 5 total tool calls | ||
| - Supports structured tool calls AND fallback XML tag parsing for smaller models |
There was a problem hiding this comment.
For consistency with ARCHITECTURE.md (line 203), consider wrapping the XML tag <tool_call> in backticks to format it as code.
| - Supports structured tool calls AND fallback XML tag parsing for smaller models | |
| - Supports structured tool calls AND fallback XML tag parsing (`<tool_call>`) for smaller models |
|
Addressed both Gemini review comments in 4b35dda:
/gemini review |
There was a problem hiding this comment.
Code Review
This pull request does an excellent job of documenting several new features across the README, architecture guide, and codebase guide. The documentation is thorough and clear. I've found a few minor inconsistencies in property names within CODEBASE_GUIDE.md compared to the source code and have left suggestions to align them for accuracy.
| | **Loading Flags** | `isLoadingModel`, `isGeneratingImage` | Not persisted | | ||
| | **Downloads** | `downloadProgress{}`, `activeBackgroundDownloads[]` | Background downloads persisted (Android) | | ||
| | **Settings** | `systemPrompt`, `temperature`, `maxTokens`, `topP`, `repeatPenalty`, `contextLength`, `nThreads`, `nBatch`, `useGPU`, `nGPULayers`, `modelLoadingStrategy` | All persisted | | ||
| | **Settings** | `systemPrompt`, `temperature`, `maxTokens`, `topP`, `repeatPenalty`, `contextLength`, `nThreads`, `nBatch`, `useGPU`, `nGPULayers`, `modelLoadingStrategy`, `flashAttention`, `kvCacheType` | All persisted | |
There was a problem hiding this comment.
There's a small inconsistency between the documented setting names and the actual implementation in the appStore. The documentation lists flashAttention and kvCacheType, but the store uses flashAttn and cacheType. To maintain consistency, it would be best to update the documentation to match the code.
| | **Settings** | `systemPrompt`, `temperature`, `maxTokens`, `topP`, `repeatPenalty`, `contextLength`, `nThreads`, `nBatch`, `useGPU`, `nGPULayers`, `modelLoadingStrategy`, `flashAttention`, `kvCacheType` | All persisted | | |
| | **Settings** | `systemPrompt`, `temperature`, `maxTokens`, `topP`, `repeatPenalty`, `contextLength`, `nThreads`, `nBatch`, `useGPU`, `nGPULayers`, `modelLoadingStrategy`, `flashAttn`, `cacheType` | All persisted | |
|
|
||
| GenerationMeta | ||
| ├── gpu, gpuBackend?, gpuLayers? | ||
| ├── kvCacheType?, flashAttention? |
There was a problem hiding this comment.
The GenerationMeta type definition in the documentation seems to have a couple of inconsistencies with the actual type in src/types/index.ts. The documentation adds kvCacheType? and flashAttention?, but the type definition uses cacheType? and does not include flashAttention. It would be great to align the documentation with the implementation.
| ├── kvCacheType?, flashAttention? | |
| ├── cacheType? |
| - Final message saved to conversation with `generationMeta`: | ||
| - `tokensPerSecond`, `decodeTokensPerSecond`, `timeToFirstToken`, `tokenCount` | ||
| - `gpu` (boolean), `gpuBackend`, `gpuLayers` | ||
| - `kvCacheType`, `flashAttention` |
There was a problem hiding this comment.
Similar to another comment, the properties listed for generationMeta here don't quite match the implementation. The documentation lists kvCacheType and flashAttention, but the GenerationMeta type in the code uses cacheType and doesn't include a flash attention property. Let's update this for accuracy.
| - `kvCacheType`, `flashAttention` | |
| - `cacheType` |
|
Addressed all 3 new Gemini comments in 1879ecf:
/gemini review |
There was a problem hiding this comment.
Code Review
This pull request provides a comprehensive update to the project's documentation, covering new features from versions v0.0.55 to v0.0.58, including tool calling, KV cache types, and Flash Attention. The changes are clear and well-integrated into the existing documentation. I've found one minor inconsistency that could be improved for clarity.
| **Tool Loop (`generationToolLoop.ts`):** | ||
| - Orchestrates multi-turn tool execution: LLM → parse → execute → inject → repeat | ||
| - Hard limits: 3 iterations, 5 total tool calls | ||
| - Supports structured tool calls AND fallback XML tag parsing for smaller models |
There was a problem hiding this comment.
For consistency with ARCHITECTURE.md and to provide more detail, it would be good to mention the specific XML tag used for fallback tool call parsing.
| - Supports structured tool calls AND fallback XML tag parsing for smaller models | |
| - Supports structured tool calls AND fallback XML tag parsing (`<tool_call>`) for smaller models |
|
The |



Summary
Update README.md, ARCHITECTURE.md, and CODEBASE_GUIDE.md to document features introduced in releases v0.0.55 through v0.0.58 that were missing from documentation:
Type of Change
Screenshots / Screen Recordings
N/A — documentation-only changes.
Checklist
General
Testing
npm test)React Native Specific
N/A — no code changes.
Performance & Models
N/A — no code changes.
Security
Related Issues
N/A
Additional Notes
Reviewed release notes for v0.0.55, v0.0.56, v0.0.57, and v0.0.58. The most significant undocumented feature was the tool calling system introduced in v0.0.58.