후속 과제: 메인 프로세스 i18n, legacy 디렉터리 제거, tsconfig 프로젝트 분리
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 35/100
- Tipo de issue
- Refactorización
- Claridad
- Bastante claro
- Estado de actividad
- Tranquilo
- Stack tecnológico
- electron, eslint, python, typescript
Línea de trabajo
Trata las tres secciones como unidades de trabajo independientes: inspecciona los mensajes codificados directamente en src/main/collectors/.ts, src/main/onboard.ts, src/main/portal.ts y src/main/ediscovery.ts; revisa README.md y legacy/ antes de eliminarlos; después examina el tsconfig.json raíz y npm run typecheck. Se considera terminado cuando la unidad seleccionada tiene actualizadas sus referencias documentadas, comprobaciones y pruebas, sin dejar ambiguas las otras secciones.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
PR #11(코드 리뷰 지적사항 일괄 수정)에서 의도적으로 범위 밖으로 미룬 항목들입니다. 각각 독립적인 작업 단위라 별도로 처리합니다.
1. 메인 프로세스 하드코딩 한국어 문자열 i18n 처리
현황: 렌더러는 5개 언어(en/ko/ja/zh-CN/es) i18n이 적용되어 있으나, 메인 프로세스에는 사용자에게 노출되는 한국어 문자열이 약 255개 하드코딩되어 있습니다. 수집 진행 로그, 오류 메시지, 온보딩 안내문 등이 언어 설정과 무관하게 항상 한국어로 표시됩니다.
주요 위치:
src/main/collectors/*.ts— 수집 진행/경고/오류 메시지src/main/onboard.ts— 온보딩 단계 안내src/main/portal.ts— 포털 자동화 상태 메시지src/main/ediscovery*.ts— 내보내기 파싱 경고
제안 방향:
- 메인 프로세스가 문자열 대신
{ key, params }형태의 구조화된 메시지를 IPC로 보내고, 렌더러가t()로 번역하는 방식이 가장 깔끔합니다. 로그 저장 시에도 언어 중립적이라는 이점이 있습니다. - 255개 × 5개 언어 = 1,275개 번역이 필요하므로 기계번역에 그대로 의존하면 품질 리스크가 큽니다. 최소한 en/ko는 사람이 검수해야 합니다.
규모: 기능 단위 작업 (별도 PR 권장)
2. legacy/ 디렉터리 제거
현황: 리포지토리 루트의 legacy/에 Electron 재작성 이전의 Python/웹 코드 약 2.6MB가 남아 있습니다. 빌드·테스트·런타임 어디에서도 참조되지 않는 죽은 코드입니다.
막고 있는 것: README.md가 legacy 구현을 참조하고 있어, 단순 삭제 시 문서가 깨집니다.
할 일:
- README에서 legacy 참조 정리 (마이그레이션 노트로 대체하거나 삭제)
-
legacy/삭제 - 히스토리 보존이 필요하면 삭제 전 태그를 하나 남기기 (예:
pre-electron-legacy)
부가 효과: clone 용량 감소, 코드 검색 노이즈 제거, ESLint/보안 스캐너의 오탐 감소
3. tsconfig.json 프로젝트 분리 (main / preload / renderer)
현황: main·preload·renderer가 단일 tsconfig.json 을 공유합니다. 그 결과:
lib에DOM이 포함되어 메인 프로세스 코드에서도window,document,localStorage등이 타입 체크를 통과합니다. 런타임에는 존재하지 않으므로 컴파일 단계에서 잡아야 할 오류를 놓칩니다.- 반대로 렌더러에서 Node 전용 API를 참조해도 타입상 막히지 않습니다.
할 일:
-
tsconfig.node.json(main + preload,lib: ["ES2023"], DOM 제외) -
tsconfig.web.json(renderer,lib: ["ES2023","DOM","DOM.Iterable"]) - 루트
tsconfig.json을references기반 솔루션 파일로 전환 -
npm run typecheck가 두 프로젝트를 모두 검사하도록 수정 - ESLint
parserOptions.project도 함께 갱신
주의: 분리 직후 기존에 숨어 있던 타입 오류가 다수 드러날 가능성이 높습니다.
- Lenguaje dominante
- Python
- Estrellas
- 2
- Forks
- 3
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
Aún no hemos revisado los archivos de configuración de este proyecto. Empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de microsoft/CopilotWatchTower
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 82/100
Todos los issues de microsoft/CopilotWatchTower
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
PedestrianDynamics/pyFDS-Evac#199 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
521xueweihan/HelloGitHub#3790 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
sandialabs/atlas-ui-3#978 ·
Los mantenedores suelen responder en 1 día
-
area: tests perceived difficulty: 2
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Nitjsefnie-Harness-Commons/daedalus#1255 ·
Los mantenedores suelen responder en 1 día
-
hf-audiolm-qwen: `generate_until` hardcodes `.to("cuda")` and aborts on non-CUDA acceleratorsAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 86/100
EleutherAI/lm-evaluation-harness#4256 ·
Los mantenedores suelen responder en 1 día