✨ 亮点
- 共享配置改为配置文件驱动:无参数运行
filespace 时读取(不存在则自动创建带注释模板)用户配置目录下的默认配置文件 filespace/config.yaml,按其 shared_folders 共享,不再默认共享当前目录;-d/--dir 改为临时追加共享目录并做存在性校验(替代原位置参数)。本机管理页的添加/移除共享、设置/修改/移除密码均立即写回当前生效的配置文件(仅存密码 sha256 哈希,不存明文),移除了原「上次共享列表」恢复机制
- 修复切换主题后弹窗不可见、整页点不动:cssinjs 将弹窗等组件的
@keyframes 与同名 token 的组件样式注入在同一个 prependQueue 节点中,主题切换按「选择器签名」分组清理旧节点时会让动画名引用悬空 → Modal 卡在 ant-zoom-enter(opacity: 0)不可见,而 mask 铺满全屏拦截点击(表现为「切主题后弹窗没反应 / 页面点不动」)。修复后签名解析整体跳过 at-rule 定义块,且含定义块的节点直接豁免,不参与分组删除
- 架构整理:拆分上帝文件(
api 按资源分文件、share 按职责分文件)、抽出 internal/auth 作为「密码哈希 + 访问令牌」的单一契约包(share 与 api 共同依赖,消除散落的 sha256 与 hex↔bytes 来回转换)、前端抽出 use_nodes_data 共享 hook 与 nodes.ts 派生层,消除 dashboard 与 nodes 面板的重复数据获取
- 清理兼容性遗留代码并整体优化:移除向后兼容的旧持久化格式读取、零引用导出与过时注释;
handoff 两处重复的「POST + 错误解析」抽为 postAPI 助手;运行锁文件写入的 Close 错误不再被忽略;antd 6.6 废弃的 Alert message 属性更正为 title,文件夹卡片时间统一本地化显示;全链路(gofmt / go vet / go mod tidy / tsc / eslint / next build / 四平台交叉编译)验证通过
- 添加共享的密码弹窗增加「跳过」:不想设密码时可直接以开放共享添加,无需再留空提交
📦 构建
- 版本:v0.4.0
- 产物:linux x86_64 / windows x86_64 / macOS arm64 / macOS x86_64(
--web 参数启动内置前端界面)
- 首次运行会创建默认配置文件:Linux
~/.config/filespace/config.yaml、macOS ~/Library/Application Support/filespace/config.yaml、Windows %AppData%\filespace\config.yaml
⚠️ macOS 二进制为交叉编译产物,未经真实 Mac 验证,如遇问题请提交 Issue。