Skip to content

Conversation

@travertexs
Copy link
Contributor

Description

This pull request includes a series of updates focusing on improving web search capabilities, enhancing settings management, and addressing various bug fixes and refactorings.

Key Changes:

  • Introduced support for multiple web search backends (untested due to the manual effort involved in API registration).
  • Implemented major changes to the settings schema and migration process.
  • Improved settings migration logic.
  • Temporarily hid the DuckDuckGo search option due to ongoing issues with duck-duck-scrape.
  • Resolved issues with settings parsing and error handling.
  • Updated package dependencies to ensure the project uses the latest stable versions.

Checklist before requesting a review

  • I have reviewed the guidelines for contributing to this repository.
  • I have performed a self-review of my code
  • I have run the test suite (by running pnpm run test)
  • I have tested the functionality manually
    • Functionality of various web search backends
    • Functionality of settings parsing and error handling
    • Functionality of settings migration

travertexs and others added 11 commits June 13, 2025 13:50
Group web search related settings under a single webSearchSettings object for better organization.

Additionally, it introduces a new setting urlFetchBackend to control whether Jina or a local parser is used for fetching URL content.
merge changes from `file-search-fix` branch
This commit refactors the `parseInfioSettings` function to fix issues in error handling during settings migration, addressing issues that caused test failures. The changes also prevent excessive error logging in the terminal.
This commit introduces support for various web search backends, providing users with more options within the plugin.

Key Changes:
- Added multiple new search backends
- Modified the settings tab to include dropdown menus for selecting the preferred web search backends, along with corresponding API key input fields where necessary.

Current Supported Search Backends:
- SerpAPI
- Scrapingdog
- Serper
- Jina
- DuckDuckGo,
- Brave
This commit introduces a major refactoring of the settings schema to improve organization, maintainability, and future extensibility.

Key changes:
- Renamed `filesSearchSettings` to `fileSearchSettings`
- `migrateSettings` function is now moved to `migration.ts`. It can correctly handle schema migrations from older versions to the current one.
- Older, unused setting fields are now explicitly marked as deprecated within the settings schema to maintain backward compatibility while facilitating cleaner code.
- `DEFAULT_SETTINGS` has been updated to reflect the new structure, with some common schemas moved or reorganized.
- Tests for settings parsing have been updated to validate the new schema and migration logic.
Key Changes:
- Moved `SETTINGS_SCHEMA_VERSION` and `DeprecatedSettingsSchema` to `shared.ts`. This resolves a circular dependency, ensuring `SETTINGS_SCHEMA_VERSION` is correctly defined when migration objects are initialized.
- Simplified conditional checks within individual migration functions.
- Modified `parseInfioSettings` to first attempt strict parsing of current settings, deferring to the migration process only when an older or non-standard format is detected.
…ck-duck-scrape`

This commit temporarily hide the DuckDuckGo search option from the settings. This is due to unresolved issues with `duck-duck-scrape`.
@travertexs travertexs marked this pull request as ready for review June 17, 2025 18:32
@duanfuxiang0
Copy link
Member

hi travertexs

I still couldn't properly merge your last submission, so I started over from version 0.6.10

Can you use rebase instead of merge?
Is it possible to cherry-pick an entire commit?

This would greatly improve my review/testing efficiency.
Thank you very much! Feel free to email me if you have any questions.

@duanfuxiang0
Copy link
Member

If it's an error from settings.test, you can ignore it for now—there's currently an issue with the testing here. I can manually test and modify this part.

You can add your own file search test file as long as it ensures normal functionality.

Thanks again!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants