Skip to content

Conversation

@CrawlerCode
Copy link
Owner

This pull request introduces major improvements to the issue search experience.

Previously, searching was somewhat confusing. There was a local search and "extended search" to find issues that are not assigned to you. Both searches were processed at the same time.


Now you have to select a search mode:

image

Local search

You could search through all the issues on your list. This includes issues that you have pinned, remembered, or where timers still exist. However, the local search only searches the subject of the issue.

Remote redmine search

This mode uses the Redmine search engine to find issues. If you need an advanced search, you should choose remote search.
This allows you to search in all searchable fields (including custom fields), find issues that are not assigned to you or issues that have already been closed.

image

Both search modes have their own advantages and limitations, depending on what you want to find. So just pick the correct search mode at the right time.

Tip: You can easily switch search mode by pressing CTRL + M without using the mode picker.

- Introduce search modes (local and remote)
- Replace "extended search" by "remote redmine search"
- Allow to search in any searchable fields (#46)
- Allow to search for closed issues
- Search in specified project not in all (fix)
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR enhances the search functionality by introducing two distinct search modes: local search (for searching through cached issues) and remote Redmine search (for comprehensive server-side searching). The change replaces the previous automatic "extended search" feature with an explicit mode selection, giving users more control over their search experience. A keyboard shortcut (CTRL+M) allows quick toggling between modes.

  • Removed the extendedSearch setting and replaced it with a mode-based search system
  • Refactored search components into IssueSearch and TimerSearch with context-based state management
  • Updated the Redmine API to support more flexible search options (titles-only, open issues, assigned to me)

Reviewed changes

Copilot reviewed 25 out of 25 changed files in this pull request and generated 7 comments.

Show a summary per file
File Description
src/provider/SettingsProvider.tsx Removed deprecated extendedSearch feature flag
src/pages/SettingsPage.tsx Removed UI controls for extendedSearch setting
src/pages/TimersPage.tsx Refactored to use new TimerSearch component with context
src/pages/IssuesPage.tsx Refactored to use new IssueSearch component and filter context pattern
src/lang/*.json Updated translations for new search modes and removed old extended search strings
src/hooks/useTimers.ts Updated to use new TimerSearchContext type
src/hooks/useSearch.ts Deleted old search hook
src/hooks/useRedmineSearch.ts New hook implementing remote Redmine search with customizable options
src/hooks/useMyIssues.ts Simplified by removing inline filtering logic, now handles only data fetching
src/hooks/useIssues.ts Removed search parameter, simplified to pure data fetching
src/hooks/useHotkey.ts Changed parameter order to be more intuitive (hotkey, callback, enabled)
src/components/ui/field.tsx Added FieldInfo component for displaying tooltips
src/components/ui/dropdown-menu.tsx New dropdown menu component for mode selection UI
src/components/timer/TimerSearch.tsx New search component for timers page with local search only
src/components/timer/EditTimer.tsx Updated to use new useHotKey signature
src/components/issue/Search.tsx Deleted old search component
src/components/issue/IssueSearch.tsx New search component with mode selection, remote search options, and context
src/components/issue/IssuesList.tsx Updated to use new search context pattern
src/components/issue/Filter.tsx Refactored to provider/consumer pattern with context API
src/components/form/ToggleField.tsx Added support for description and info tooltip props
src/api/redmine.ts Renamed and enhanced search methods with more flexible options
README.md Updated feature compatibility table with new search terminology

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

CrawlerCode and others added 2 commits December 6, 2025 22:23
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@CrawlerCode CrawlerCode merged commit 770fa4b into v2 Dec 6, 2025
@CrawlerCode CrawlerCode deleted the feat/enhance-search branch December 6, 2025 21:29
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.

1 participant