glass/docs/refactor-plan.md
2025-07-13 10:49:19 +09:00

1.3 KiB

Refactor Plan: Non-Window Logic Migration from windowManager.js

Goal

windowManager.js를 순수 창 관리 모듈로 만들기 위해 비즈니스 로직을 해당 서비스와 featureBridge.js로 이전.

Steps (based on initial plan)

  1. Shortcuts: Completed. Logic moved to shortcutsService.js and IPC to featureBridge.js. Used internalBridge for coordination.

  2. Screenshot: Next. Move captureScreenshot function and related IPC handlers from windowManager.js to askService.js (since it's primarily used there). Update askService.js to use its own screenshot method. Add IPC handlers to featureBridge.js if needed.

  3. System Permissions: Create new permissionService.js in src/features/common/services/. Move all permission-related logic (check, request, open preferences, mark completed, etc.) and IPC handlers from windowManager.js to the new service and featureBridge.js.

  4. API Key / Model State: Completely remove from windowManager.js (e.g., setupApiKeyIPC and helpers). Ensure all usages (e.g., in askService.js) directly require and use modelStateService.js instead.

Notes

  • Maintain original logic without changes.
  • Break circular dependencies if found.
  • Use internalBridge for inter-module communication where appropriate.
  • After each step, verify no errors and test functionality.