release(ios): 0.2.2 移除分组改用标签归类并完成石墨配色重构
- 删除分组实体:分组视图/编辑器/仓储与 groupId 全部移除,升级首启清理 instance-groups.json 与 fleet.groupMode - 新增批量标签表:三态覆盖度(未贴 / N/M / 全部),整批加减与新建标签 - 配色重构,全应用零蓝色:石墨墨色承担主操作与选中态,颜色只留给状态语义; 浅色改中性冷灰,深色改低明度石墨三层 - 选中态改实心主色 + onPrimary,替换不可读的低透明度色雾(主题块、图例胶囊) - 应用图标重做为扁平石墨底 + 黄铜 SIM 面板,参数化光栅化脚本与参考稿 - 运行概览:检测进度并入副标题,读数栅格固定八格两行并保留不可用占位 - 实例详情:仪表改两列发丝线栅格,缺数据留轨道,修掉头部高度回弹; 补齐设备名称/存储总量/可用存储/使用率四个字段名 - 版本号显示去掉括号,设置页只显示 0.2.2 - 文档:新增 docs/ios-native-0.2.2.md,同步 ios-native.md 与两处 README
This commit is contained in:
@@ -22,7 +22,6 @@ final class InstanceRepositoryTests: XCTestCase {
|
||||
name: "Lab Alpha",
|
||||
origin: URL(string: "http://192.168.3.55:3000/")!,
|
||||
tags: ["primary", "lab"],
|
||||
groupId: nil,
|
||||
password: "secret"
|
||||
)
|
||||
|
||||
@@ -48,7 +47,7 @@ final class InstanceRepositoryTests: XCTestCase {
|
||||
func testRejectsInvalidOriginDuplicateOriginAndStaleRevision() async throws {
|
||||
let repository = FileInstanceRepository(location: location)
|
||||
let origin = URL(string: "http://192.168.1.20:3000")!
|
||||
let input = InstanceInput(name: "One", origin: origin, tags: [], groupId: nil, password: nil)
|
||||
let input = InstanceInput(name: "One", origin: origin, tags: [], password: nil)
|
||||
let first = try await repository.create(input)
|
||||
|
||||
do {
|
||||
@@ -56,7 +55,6 @@ final class InstanceRepositoryTests: XCTestCase {
|
||||
name: "Nested",
|
||||
origin: URL(string: "http://192.168.1.20:3000/admin")!,
|
||||
tags: [],
|
||||
groupId: nil,
|
||||
password: nil
|
||||
)
|
||||
_ = try await repository.create(nested)
|
||||
@@ -80,21 +78,18 @@ final class InstanceRepositoryTests: XCTestCase {
|
||||
}
|
||||
}
|
||||
|
||||
func testListFiltersBySearchTagAndGroup() async throws {
|
||||
func testListFiltersBySearchAndTag() async throws {
|
||||
let repository = FileInstanceRepository(location: location)
|
||||
let groupId = UUID()
|
||||
_ = try await repository.create(InstanceInput(
|
||||
name: "Lab Alpha",
|
||||
origin: URL(string: "http://192.168.1.10:3000")!,
|
||||
tags: ["production"],
|
||||
groupId: groupId,
|
||||
password: nil
|
||||
))
|
||||
_ = try await repository.create(InstanceInput(
|
||||
name: "Home Beta",
|
||||
origin: URL(string: "http://192.168.1.20:3000")!,
|
||||
tags: ["lab"],
|
||||
groupId: nil,
|
||||
password: nil
|
||||
))
|
||||
|
||||
@@ -102,8 +97,8 @@ final class InstanceRepositoryTests: XCTestCase {
|
||||
XCTAssertEqual(search.map(\.name), ["Lab Alpha"])
|
||||
let tagged = try await repository.list(InstanceQuery(tags: ["lab"]))
|
||||
XCTAssertEqual(tagged.map(\.name), ["Home Beta"])
|
||||
let grouped = try await repository.list(InstanceQuery(groupId: groupId))
|
||||
XCTAssertEqual(grouped.map(\.name), ["Lab Alpha"])
|
||||
let production = try await repository.list(InstanceQuery(tags: ["production"]))
|
||||
XCTAssertEqual(production.map(\.name), ["Lab Alpha"])
|
||||
let sorted = try await repository.list(InstanceQuery())
|
||||
XCTAssertEqual(sorted.map(\.name), ["Home Beta", "Lab Alpha"])
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user