[Feature] macOS 项目 JDK / Maven 只保留 local.json 一份存储,移除 UserDefaults 副本
Los mantenedores suelen responder en 1 día
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
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Activo
- Stack tecnológico
- java, macos, typescript
- Área
- build-system, desktop, tooling
Línea de trabajo
Trace macOS toolchain reads through Core runConfig.inspect, ProjectRuntimeService.adoptProjectToolchain, ProjectRuntimeSettings, ProjectLoadState.hasLoadedDocuments, and MavenService. Review the migration cases and existing tests, then run ./scripts/test-macos.sh and ./scripts/verify-service-boundaries.sh; done requires one source of truth, migration coverage, updated architecture notes, and real Mac validation.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
问题
macOS 上项目 JDK、Maven、Maven JDK 仍然存了两份:
.lithe/run/local.json的toolchain:运行配置实际使用,Windows 与 Core 也以它为准;- UserDefaults
lithe.project-runtime-settings.<项目路径>里的ProjectRuntimeSettings:设置页表单、Maven 进程环境、环境检查使用。
#809 定下了「local.json 为唯一真源,UserDefaults 只是副本」,靠一组同步规则维持一致:
- 运行配置读完项目文档后,
ProjectRuntimeService.adoptProjectToolchain以local.json覆盖副本; - 本机层从未保存过默认值时,保留副本,下次保存时写入;
- 服务编辑器保存写
savedProjectToolchain ?? 副本; - 设置表单准备完成前禁用,关闭时只在准备完成后保存;
- 运行文档未读完时不写
local.json(ProjectLoadState.hasLoadedDocuments)。
#809 审查中修复的问题,多数出在这两份数据之间的同步时序上:加载中保存空值、旧副本反向覆盖、编辑器写入空默认值、准备期间的修改被还原。只要还有两份,这类问题就可能再出现。
期望
- macOS 读取项目 JDK、Maven、Maven JDK 的地方(
javaHomeURL、mavenJavaHomeURL、mavenExecutable、设置表单)直接读local.json的toolchain(经 CorerunConfig.inspect),UserDefaults 不再保存这三个字段。 - 一次性迁移:
local.json没有toolchain、而 UserDefaults 里有值时,把它写入local.json,然后清除 UserDefaults 中的这三个字段。迁移只执行一次,失败时保留原值并报告。 - 迁移完成后删除只为同步存在的代码:
adoptProjectToolchain、savedProjectToolchain ?? 副本的回退、mergeImportedSettings中这三个字段的补齐逻辑等。 - 同时梳理
ProjectRuntimeSettings里的 Mavensettings.xml与本地仓库路径:它们和MavenService自己的本机配置也是两份,应明确由 Maven 本机配置持有。
风险
- 涉及 macOS 启动、Maven 进程、环境检查的 JDK 来源,必须在 Mac 上实机验证:运行、Maven 目标、测试运行、切换项目、首次打开未生成配置的项目。
- 迁移需要覆盖:只有 UserDefaults、只有
local.json、两边都有且不同、local.json损坏。
验收
- macOS 这三个字段只有
local.json一个存储 - 一次性迁移覆盖上述四种情况,并有测试
- 删除同步用代码,Run / Maven / 环境检查读取同一来源
- Maven
settings.xml/ 本地仓库路径只有一个持有方 -
./scripts/test-macos.sh与./scripts/verify-service-boundaries.sh通过,实机验证通过 - 更新
.agents/notes/implemented/architecture/2026-09-21-maven-settings-reach-the-language-server.md中的真源规则
背景
来自 #809(关联 #749)合并前的评审,属于长期可维护性问题,范围大于 #809,故单独处理。
- Lenguaje dominante
- TypeScript
- Estrellas
- 1.8k
- Forks
- 151
- Merge medio
- 8 h 24 min
- PR fusionados (30 d)
- 345
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: 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 1lck/Lithe-IDEA
-
[Feature] 通知栏合并重复消息并显示次数Abiertoarea:ui enhancement issue-form:feature platform:cross-platform review: high
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
1lck/Lithe-IDEA#1092 ·
Los mantenedores suelen responder en 1 día
-
[Bug][macOS] 打开已有运行配置的项目时同步探测 JDK/Maven 阻塞主线程Posiblemente ocupada @defia la tomó hoy. Abiertoarea:run bug claimed P1 platform:macos review: high
1lck/Lithe-IDEA#1098 · 2 comentarios · 1 asignado ·
Los mantenedores suelen responder en 1 día
-
[Feature][macOS] 项目文件树右键菜单提供 Find in Files / Replace in FilesPosiblemente ocupada @defia la tomó hoy. Abiertoarea:search claimed enhancement P2 platform:macos review: high
1lck/Lithe-IDEA#1096 · 3 comentarios · 1 asignado ·
Los mantenedores suelen responder en 1 día
-
[Bug][macOS] 点击项目树后方向键仍操作编辑器,目录名称双击不能展开Posiblemente ocupada @defia la tomó hoy. Abiertoarea:project bug claimed P1 platform:macos review: high
1lck/Lithe-IDEA#1095 · 3 comentarios · 1 asignado ·
Los mantenedores suelen responder en 1 día
-
[Feature] 希望可以修改编程字体Posiblemente ocupada @Mucheen la tomó hoy. Abiertoarea:editor enhancement issue-form:feature P0 platform:macos review: low
1lck/Lithe-IDEA#1090 · 3 comentarios · 1 asignado ·
Los mantenedores suelen responder en 1 día
Todos los issues de 1lck/Lithe-IDEA
Issues similares
-
bug DUP Reservations
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
bcgov/reserve-rec-public#952 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
daufderheide/racecoordinator_ai#948 ·
Los mantenedores suelen responder en 1 día
-
Bug pulumi/pulumi
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día
-
bug priority:high
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
Los mantenedores suelen responder en 1 día
-
api bug claude
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
diegosouzapw/OmniRoute#15764 ·
Los mantenedores suelen responder en 2 días