Conversation
…dding, Performance, Search, Settings, SmartFolder, Vision, AnalysisHistory, organization)
…Pools, logExportWorker)
- Removed unused dependency `copy-webpack-plugin` from package.json and package-lock.json. - Enhanced error handling in `SearchService` for file access, ensuring non-ENOENT errors are treated as existing files. - Improved idempotency checks in `batchOrganizeHandler` to prevent duplicate operations after path normalization. - Added mutex timeout handling in `semantic.js` to throw errors on initialization timeouts. - Updated GPU detection logic in `GPUMonitor` to handle concurrent calls and improve reliability. - Refactored `workerPools` to manage OCR and embedding pools with better error handling and backoff strategies.
…test fixes - Chat streaming: RAF throttle for setChatMessages, ChatPanel memo - Graph: O(1) selectedNode/searchResult lookup, SET_GRAPH atomic updates - ELK layout: topology hash cache, worker construction fix - Backend: AbortSignal propagation (SmartFolders, ReRanker, OrgSuggestions) - Backend: withAbortableTimeout for ClusteringService, ModelManager fallback - Backend: rolling semaphore in BatchProcessor, 60s timeouts for embeddings - Hot paths: VisionService async pathExists, ChatHistoryStore async mkdir - Persistence: json.length estimate instead of TextEncoder re-encode - AnalysisHistoryModal: cap fetch at 500 entries - Tests: withAbortableTimeout mock, RelationshipIndexService fake timers
Preserve array payload semantics across IPC handlers, ensure copy destinations are created consistently, and harden search, persistence, and batch-analysis fallback behavior with targeted regression coverage.
Harden settings and notification flows, refine IPC/chat behavior, and expand unit plus e2e test coverage (including new SettingsPanel tests) to reduce functional regressions across renderer and main-process boundaries.
- Run Prettier on 8 files with style issues - Add eslint-disable for intentional control-char regex in useOrganization - All CI checks pass (format, lint, test:coverage, verify:ipc-handlers, build)
- Implemented `clearReadyQueueHandler` to clear the analysis queue via IPC. - Added `clearAllReadyAnalyses` method in `ProcessingStateService` to clear ready and pending jobs. - Updated `useAnalysis` to call the new IPC method for clearing the queue on user action. - Enhanced logging for LLM label generation failures in `ClusteringService`. - Adjusted concurrency handling in `OrganizationSuggestionServiceCore` to respect new settings.
…e thresholds Introduce a release-stability pipeline that catches regressions before tagging: - Smoke suite runner (scripts/stability/) executes fixed critical-path journeys twice on the same SHA and compares results - Threshold checker enforces search fallback rate (<25%) and uncategorized routing rate (<30%) guardrails, plus latency drift detection (>=50%) - Unified IPC contract verifier replaces separate channel-sync and handler checks with a single coherent validation pass - systemAnalytics now tracks search fallback and organization routing telemetry for runtime stability observability - SearchService and OrganizationSuggestionServiceCore instrumented to record stability metrics at key fallback/routing decision points - CI and release workflows updated to run critical-path smoke suite and new IPC contracts verification - Added SearchService stability pack and extended organization/search tests
Resolve 10 merge conflicts from dependency bumps (PRs #49, #51, #52): - package.json: take newer terser-webpack-plugin + tsconfig-paths-webpack-plugin - batchOrganizeHandler: keep idempotency check + improved mkdir comment - semantic.js: merge comment styles, remove redundant whitespace - ClusteringService: combine both import sets (textModelActivity + fileTypeUtils) - ParallelEmbeddingService: keep bgWork.track() wrapping - workerPools: keep debug logging in error catch blocks - GraphTour: keep click-to-close backdrop + step title/counter - UnifiedSearchModal: deduplicate ./utils imports, keep EMPTY_SET, merge chat watchdog with mount guard, take main's search timeout style - chatIpc: combine startTimer + _cleaned guards, add exportConversation - atomicFileOperations: take AbortController timeout approach from main
- analysisIpc: expect 7 handlers (was 6), assert CLEAR_READY_QUEUE exists - useAnalysis: await async clearAnalysisQueue (now calls clearReadyQueue), add clearReadyQueue mock to electronAPI fixture
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This pull request primarily focuses on extensive structural refactoring across the core architecture, including IPC handlers, backend services, and worker pools, alongside significant performance optimizations and the introduction of a new stability framework. The changes aim to improve system reliability, enhance interactive tracking, and bolster test coverage across the application.
Core architecture and refactoring:
ChatHistory,DownloadWatcher,Llama, andParallelEmbedding.ErrorBoundary,UnifiedSearchModal, andindex.html.Performance and feature additions:
textModelActivityto enable interactive LLM request tracking.SearchService.clearReadyQueueIPC handler and processing state method.Stability, testing, and dependency updates:
OrganizationSuggestionServiceCore,ClusteringService, and IPC/UI regression paths.Bug fixes and UI improvements:
useOrganizationUI fallback to properly handle uncategorized states.