未命名 1
What does this PR do?
Fixes a bug where issue status updates were not being synchronized to the recent issues store, causing stale status to be displayed in the "Search" dropdown.
When a user updates an issue status (single or batch update), the change is now immediately reflected in the recent issues list.
Additionally, when an issue is deleted, it is now visually marked with a strikethrough in the recent issues list instead of being immediately removed, providing better visual feedback to users.
Related Issue
Closes #
Type of Change
- Bug fix (non-breaking change that fixes an issue)
- New feature (non-breaking change that adds functionality)
- Refactor / code improvement (no behavior change)
- Documentation update
- Tests (adding or improving test coverage)
- CI / infrastructure
Changes Made
- packages/core/issues/stores/recent-issues-store.ts - Add updateIssueStatus action to update status for a specific issue ID; Add isDeleted field, markAsDeleted and removeIssue actions
- packages/core/issues/mutations.ts - Sync status updates to recent issues store in useUpdateIssue and useBatchUpdateIssues mutations; Mark deleted issues in recent issues store for useDeleteIssue and useBatchDeleteIssues
- packages/core/issues/ws-updaters.ts - Sync status updates from WebSocket events to recent issues store; Mark deleted issues when receiving WebSocket delete events
- packages/views/search/search-command.tsx - Apply strikethrough styling to deleted issues in the recent issues list
How to Test
- Open any issue and change its status (e.g., from "Todo" to "In Progress")
- Open the "Search" in the sidebar
- Verify the issue status is updated immediately
For deleted issues:
4. Delete an issue that appears in your recent issues list
5. Open the "Search" in the sidebar
6. Verify the deleted issue is still visible but with a strikethrough on its title
Checklist
- I searched for https://github.com/multica-ai/multica/pulls to make sure this isn't a duplicate
- My commit messages follow https://www.conventionalcommits.org/ (fix(scope):, feat(scope):, etc.)
- make check passes (typecheck, unit tests, Go tests, E2E)
- Changes follow existing code patterns and conventions
- No unrelated changes included
AI Disclosure
AI tool used: Claude Code