Commit graph

731 commits

Author SHA1 Message Date
Zero Liu
f895d5f7c3 Fix dropdown color 2025-09-28 10:31:41 -07:00
Zero Liu
e16a1a2115 Update chat history popover hover color 2025-09-27 23:45:33 -07:00
Zero Liu
e636317490 Update highlight to use tw-bg-dropdown-hover 2025-09-27 23:43:48 -07:00
Zero Liu
15260e9ec6 Use file path again 2025-09-27 22:18:58 -07:00
Zero Liu
5f8c57bdcd Simplify search logic 2025-09-27 22:14:57 -07:00
Zero Liu
29987a4eb2 Fix memory tool description 2025-09-27 21:55:30 -07:00
Zero Liu
59f4d6a2f1 Improve search result 2025-09-27 21:49:18 -07:00
Zero Liu
522eb3aebf Support space in typeahead trigger 2025-09-27 21:29:09 -07:00
Logan Yang
60971f64cc chore: Update version to 3.1.0-preview-250927 in manifest.json 2025-09-27 20:51:30 -07:00
Logan Yang
fe49c13492
feat: Temporarily disable autocomplete features (#1858) 2025-09-27 19:48:15 -07:00
Wenzheng Jiang
0071ed2cbf
Properly extract response text in UserMemoryManager (#1857) 2025-09-27 19:28:43 -07:00
Logan Yang
56cac6eff9
feat: Implement localSearch CiC prompting flow in CopilotPlusChainRunner (#1856) 2025-09-27 18:57:13 -07:00
Emt-lin
a1efad1c64
feat: Add new chat history popover. (#1850)
* feat: Add new chat history popover.

* feat: Add open source file button to chat history popover

- Add ArrowUpRight button to each chat history item
- Implement openChatSourceFile method in main.ts
- Add onOpenSourceFile callback prop chain through components
- Open chat files in new Obsidian tabs when clicked
- Optimize error handling to prevent duplicate notices
2025-09-27 16:38:02 -07:00
Logan Yang
866a97bcfb
Refactor Brevilabs API integration to use models base URL (#1855)
- Updated constants to switch from BREVILABS_API_BASE_URL to BREVILABS_MODELS_BASE_URL for model-related API calls.
- Adjusted ChatModelManager and EmbeddingManager to utilize the new models base URL for configuration settings.
2025-09-27 14:12:21 -07:00
Emt-lin
cb5aae4b8c
Enhance progress bar and bug fix (#1814)
* feat: Add edit context for progress card.
* fix: When adding a model, do not set the key in the single model setting.
* fix: fix the width of the popover on mobile.
2025-09-27 14:11:58 -07:00
Zero Liu
e3e9675c89
Fix mobile typeahead menu size (#1853) 2025-09-26 22:00:31 -07:00
Logan Yang
21fe29703b
Fix chat crash React 409 (#1849) 2025-09-25 22:48:44 -07:00
Zero Liu
ad039687ac Implement chat input v3 (#1794) 2025-09-25 12:59:20 -07:00
Wenzheng Jiang
2ab947501b Building persistent memory for copilot (#1848) 2025-09-25 12:59:20 -07:00
Logan Yang
9327c7a916
Fix tool calls UI freeze (#1846)
* Fix tool call UI freeze
* Have no sources section rendered when there's none
2025-09-24 00:56:21 -07:00
Logan Yang
301b67e8b1
Fix chat save with instant title notice (#1845)
* Fix chat save AI-generated title parsing
* Make chat save instant with AI generated topic property
2025-09-23 21:29:40 -07:00
Logan Yang
731a8e819e
3.0.3 (#1842) 2025-09-22 20:39:48 -07:00
Logan Yang
97f3b5d2c4
Update model setting buttons (#1843)
* Add grok 4 fast openrouter

* Update model setting buttons
2025-09-22 20:13:03 -07:00
Logan Yang
7bed022d8a
fix: adjust vertical positioning in ModelTable component (#1840) 2025-09-22 19:34:40 -07:00
Emt-lin
86b7fcab88
feat: add mobile-responsive components for settings. (#1813)
* feat: add mobile-responsive components for settings.
* fix: Restrict HelpTooltip components to only affect mobile devices.
* fix: fix the args.diff case test.
2025-09-22 18:06:54 -07:00
Logan Yang
047d42c5a7
Update sources styling (#1838) 2025-09-22 17:19:17 -07:00
Logan Yang
feeea21127
Drop user and bot icons to save space and add shade to user message (#1837) 2025-09-22 14:22:52 -07:00
Logan Yang
09124e19e5
Add OpenRouter GPT-4.1 models to projects mode (#1832) 2025-09-22 00:39:58 -07:00
Logan Yang
dd7e9e185f
Refactor active note inclusion and index event handling to respect setting (#1831)
* Refactor active note inclusion logic

* Refactor IndexEventHandler to manage event listeners based on semantic search settings

- Introduced `shouldHandleEvents` method to determine if indexing-related events should be processed.
- Replaced `initializeEventListeners` with `syncEventListeners` to conditionally register listeners based on settings.
- Added `teardownEventListeners` method to clean up listeners and reset state when not needed.
- Subscribed to settings changes to dynamically manage event listeners.
2025-09-22 00:02:20 -07:00
Logan Yang
8076a0e171
Refactor constants and settings to enhance folder management (#1830)
* Refactor constants and settings to enhance folder management

- Introduced `COPILOT_FOLDER_ROOT` constant to streamline folder path definitions.
- Updated `DEFAULT_CHAT_HISTORY_FOLDER` and `DEFAULT_CUSTOM_PROMPTS_FOLDER` to use the new root constant for improved organization.
- Added `DEFAULT_QA_EXCLUSIONS_SETTING` to ensure consistent exclusion of the Copilot folder in QA settings.
- Implemented `sanitizeQaExclusions` function to normalize QA exclusion patterns, ensuring the Copilot folder is properly excluded from settings.

* Update log file management to reduce in-memory buffer size

- Decreased the in-memory ring buffer from 1000 to 500 entries to optimize memory usage.
- Adjusted documentation to reflect the new buffer size for clarity.
- Updated log truncation logic in BaseChainRunner to use a constant for maximum log length, enhancing maintainability.

* Add unit tests for sanitizeQaExclusions function

- Introduced a new test file `model.test.ts` to validate the behavior of the `sanitizeQaExclusions` function.
- Added tests to ensure proper handling of non-string values, distinct slash-only patterns, and normalization of trailing slashes.
- Enhanced the `sanitizeQaExclusions` function in `model.ts` to improve key handling and normalization logic for QA exclusion patterns.
2025-09-21 20:56:52 -07:00
Logan Yang
92d6f98af2
Implement inline citation (#1821)
* Implement inline citation for vault search for both vault QA and Plus chains

refactor: enhance citation utilities and improve source handling in chain runners

- Introduced new utility functions for citation management, including sanitization and formatting of source catalogs.
- Updated CopilotPlusChainRunner and VaultQAChainRunner to utilize the new citation utilities for improved citation handling.
- Enhanced ChatSingleMessage component to consolidate duplicate sources and ensure accurate citation numbering.
- Added comprehensive tests for citation utilities to ensure functionality and edge case handling.

refactor: dedupe chunks for unique titles in search tool sources

refactor: enhance citation handling in CopilotPlus and VaultQA chain runners

- Introduced a sanitization function to remove pre-existing citation markers from document content, preventing number leakage.
- Updated the formatting of retrieved documents in VaultQA to utilize the new sanitization function for cleaner output.
- Improved footnote renumbering logic in ChatSingleMessage to prioritize first-mention order, ensuring accurate citation mapping.

refactor: streamline source citation handling in ChatSingleMessage component and enhance web search tool instructions

- Simplified the processing of source links in ChatSingleMessage to use a more efficient mapping approach.
- Updated the web search tool's instruction to clarify the use of footnote-style citations, ensuring compatibility with Markdown formatting.

* feat: add inline citation setting toggle and refactor

- Introduced a new setting to enable inline citations in AI-generated responses, allowing for footnote-style references within the text.
- Updated citation utilities to manage fallback sources and improve citation instructions based on user settings.
- Enhanced CopilotPlusChainRunner and VaultQAChainRunner to utilize the new inline citation feature, ensuring accurate source representation.
- Modified ChatSingleMessage component to process inline citations based on the new setting, improving the display of sources in chat messages.
- Added tests for new citation functionalities to ensure reliability and correctness.

* feat: enhance citation utilities and add tests for normalization

- Introduced the `normalizeCitations` function to improve citation formatting by removing periods after citations and handling footnote references.
- Updated `processInlineCitations` to ensure correct mapping of non-sequential citations and consolidate duplicate sources.
- Added comprehensive tests for the new citation functionalities, ensuring accurate citation processing and representation in AI-generated responses.
- Modified QASettings description for clarity regarding the inline citations feature.

* fix: address critical bug in citation processing for consecutive citations

- Enhanced the `normalizeCitations` function to correctly handle consecutive citations without spaces, ensuring accurate mapping and representation in output.
- Added a test case to replicate and validate the fix for the identified bug, confirming that both citations are processed and displayed correctly.
- Updated existing citation handling logic to improve robustness and prevent unconverted citations in the output.

* refactor: improve citation handling and enhance citation utilities

- Refactored `CopilotPlusChainRunner` to streamline citation source management, replacing `lastCitationLines` with `lastCitationSources` for better clarity and structure.
- Updated the `addFallbackSources` function to handle citation formatting more effectively, ensuring proper display of titles and paths.
- Enhanced the `normalizeCitations` function to support multiple citations in brackets, ensuring correct sorting and mapping of citation numbers.
- Added new test cases to validate the handling of alternate headings, HTML summaries, and multiple citations, improving overall robustness of citation processing.
- Introduced `getWebSearchCitationInstructions` for web-specific citation guidance, enhancing user experience with clear instructions for inline citations.

* fix: move documentations

* refactor: normalize footnote rendering in ChatSingleMessage component

- Introduced `normalizeFootnoteRendering` function to streamline footnote display by removing separators and backreferences, and fixing numbering artifacts.
- Updated `ChatSingleMessage` to utilize the new normalization function, enhancing the clarity and presentation of footnotes in chat messages.
- Added unit tests for `normalizeFootnoteRendering` to ensure proper functionality and handling of various footnote scenarios.

* test: enhance ChatSingleMessage tests and add deduplication tests for search tools

- Updated `ChatSingleMessage.test.tsx` to include `TooltipProvider` for improved rendering context.
- Refactored mock implementation for `obsidian` to streamline testing setup.
- Introduced new test file `SearchTools.dedupe.test.ts` to validate the deduplication logic in search tool sources, ensuring correct handling of duplicate entries while preserving the highest score.
- Added tests to verify deduplication behavior for various scenarios, enhancing overall test coverage and reliability.
2025-09-21 20:03:09 -07:00
Wenzheng Jiang
a7c7823ba4
Map Copilot aliases to builtin tools (#1829) 2025-09-20 19:48:43 -07:00
Zero Liu
e3f232f795
Fix chat crash issue (#1827) 2025-09-19 14:37:29 -07:00
Wenzheng Jiang
b65600522e
FIX: Supporting creating new folders in composer tools (#1796)
* Create non-existent folder in composer tools

* Improve getFile
2025-09-15 17:28:19 -07:00
Logan Yang
6f18acc0cc
Update README.md (#1819) 2025-09-12 22:17:15 -07:00
Logan Yang
b18782040e
feat: conditionally initialize VectorStoreManager and enhance relevant notes handling based on semantic search setting (#1817) 2025-09-12 18:26:18 -07:00
Logan Yang
0d477f869e
feat: enhance folder management by ensuring nested folder paths exist (#1816)
- Make sure nested folder works cross-platform
- Move defaults under copilot parent folder
- Update log file to only create on manual trigger
2025-09-12 16:30:30 -07:00
Logan Yang
5a2d4603b4
feat: add setting to generate AI chat title on save (#1811) 2025-09-11 18:36:40 -07:00
Logan Yang
b6da24d5ef
feat: move settings for context menu and markdown image handling to BasicSettings (#1810) 2025-09-11 16:50:22 -07:00
Logan Yang
5d93e6159d
Show embedding model (#1809) 2025-09-11 15:12:25 -07:00
Logan Yang
af5cc5ed19
feat: add search explanation table in log (#1805)
- Add search explanation table in log
- Clean up log for log file
- Implement open and clear log file commands
- Exclude log file from search (both lexical and semantic)
2025-09-11 01:05:34 -07:00
Emt-lin
3ddc42a9f1
fix: add safe area bottom padding to view content. (#1795) 2025-09-10 22:39:20 -07:00
Logan Yang
c033655b96
Implement log file (#1804) 2025-09-10 22:34:57 -07:00
Logan Yang
e50aa90187
Fix mobile embedded image passing (#1793)
- Replaced Buffer.from(...).toString("base64") with arrayBufferToBase64 in brevilabsClient, Chat, and ImageProcessor files for consistency and improved readability.
2025-09-10 18:08:51 -07:00
Emt-lin
0512e21471
fix: improve loading state management in project context updates. (#1787) 2025-09-05 12:38:00 -07:00
Emt-lin
946fb139ef
fix: Optimized the height of the modal box and the display of the close button on mobile devices. (#1786) 2025-09-05 12:10:14 -07:00
Zero Liu
bb8bbcb5d1
Only scroll to bottom when user messages are added (#1788) 2025-09-05 12:09:07 -07:00
Wenzheng Jiang
9239dab78a
Improve the regex for composer codeblock (#1778) 2025-09-03 13:51:34 -07:00
Logan Yang
d6ad7162c5
3.0.2 (#1777) 2025-08-30 22:59:37 -07:00
Wenzheng Jiang
ea66cfe56e
Switch to the new file when creating files with composer tools. (#1775)
* Switch to the new file when creating files with composer tools.

* Handle file creation race condition with improved error handling

Co-authored-by: jwzh.hi <jwzh.hi@gmail.com>

---------

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
2025-08-30 22:55:36 -07:00