╭──────────╮ │← previous│ ╰──────────╯ ╭ changed ───────────────╮ │src/test/event/admin.zig│ ╰────────────────────────╯ ╭───────────────────────────────────────────────────────────────────────────────────────────────────────╮ │76 .author = author, │ │77 .event = .{ │ │78 .repo = .{ │ │79 - .user_id = &user_event_id, │ │79 + .user_id = std.fmt.bytesToHex(user_event_id, .lower), │ │80 .name = "ziglings", │ │81 .description = "Learn the Zig programming language by fixing tiny broken programs",│ │82 }, │ ╰───────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │116 const repo_map = try Repo.DB.HashMap(.read_only).init(repo_cursor); │ │117 const repo_record = try evt.read(evt.Repo.Record, Repo.DB, repo_opts.hash, &arena, repo_map); │ │118 │ │119 - try std.testing.expectEqualSlices(u8, &user_event_id, repo_record.event.user_id); │ │119 + try std.testing.expectEqualStrings(&std.fmt.bytesToHex(user_event_id, .lower), &repo_record.event.user_id);│ │120 try std.testing.expectEqualStrings("ziglings", repo_record.event.name); │ │121 │ │122 // the repo resolves by its name alone │ ╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │257 .{ .id = std.fmt.bytesToHex(user_id, .lower), .author = author, .timestamp = 100, .event = .{ .user = .{ .name = "alice", .email = "alice@example.test", .password_hash = pw } } }, │ │258 }); │ │259 const events = [_]evt.EventWithId{ │ │260 - .{ .id = std.fmt.bytesToHex(repo_ids[0], .lower), .author = author, .timestamp = 10_000, .event = .{ .repo = .{ .user_id = &user_id, .name = "repo0", .description = "d0" } } }, │ │261 - .{ .id = std.fmt.bytesToHex(repo_ids[1], .lower), .author = author, .timestamp = 10, .event = .{ .repo = .{ .user_id = &user_id, .name = "repo1", .description = "d1" } } }, │ │262 - .{ .id = std.fmt.bytesToHex(repo_ids[2], .lower), .author = author, .timestamp = 5_000, .event = .{ .repo = .{ .user_id = &user_id, .name = "repo2", .description = "d2" } } }, │ │263 - .{ .id = std.fmt.bytesToHex(repo_ids[3], .lower), .author = author, .timestamp = 20, .event = .{ .repo = .{ .user_id = &user_id, .name = "repo3", .description = "d3" } } }, │ │260 + .{ .id = std.fmt.bytesToHex(repo_ids[0], .lower), .author = author, .timestamp = 10_000, .event = .{ .repo = .{ .user_id = std.fmt.bytesToHex(user_id, .lower), .name = "repo0", .description = "d0" } } },│ │261 + .{ .id = std.fmt.bytesToHex(repo_ids[1], .lower), .author = author, .timestamp = 10, .event = .{ .repo = .{ .user_id = std.fmt.bytesToHex(user_id, .lower), .name = "repo1", .description = "d1" } } }, │ │262 + .{ .id = std.fmt.bytesToHex(repo_ids[2], .lower), .author = author, .timestamp = 5_000, .event = .{ .repo = .{ .user_id = std.fmt.bytesToHex(user_id, .lower), .name = "repo2", .description = "d2" } } }, │ │263 + .{ .id = std.fmt.bytesToHex(repo_ids[3], .lower), .author = author, .timestamp = 20, .event = .{ .repo = .{ .user_id = std.fmt.bytesToHex(user_id, .lower), .name = "repo3", .description = "d3" } } }, │ │264 }; │ │265 try evt.consume(.{ .server = .{ .users_dir = temp_path } }, .user, .xit, repo_opts, io, allocator, &repo, evt.events_ref, &events); │ │266 │ ╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │286 │ │287 // update repo0 at a later timestamp -> keeps its original place │ │288 try evt.consume(.{ .server = .{ .users_dir = temp_path } }, .user, .xit, repo_opts, io, allocator, &repo, evt.events_ref, &[_]evt.EventWithId{ │ │289 - .{ .id = std.fmt.bytesToHex(repo_ids[0], .lower), .author = author, .timestamp = 300, .event = .{ .repo = .{ .user_id = &user_id, .name = "repo0", .description = "updated" } } }, │ │289 + .{ .id = std.fmt.bytesToHex(repo_ids[0], .lower), .author = author, .timestamp = 300, .event = .{ .repo = .{ .user_id = std.fmt.bytesToHex(user_id, .lower), .name = "repo0", .description = "updated" } } },│ │290 }); │ │291 { │ │292 const moment = try evt.currentMoment(repo_opts, &repo); │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭────────────────────────────────────────────────────────────────────╮ │346 .timestamp = 1, │ │347 .author = author, │ │348 .event = .{ .repo = .{ │ │349 - .user_id = &user_id, │ │349 + .user_id = std.fmt.bytesToHex(user_id, .lower),│ │350 .name = "repo", │ │351 .description = "", │ │352 } }, │ ╰────────────────────────────────────────────────────────────────────╯ ╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │383 defer arena.deinit(); │ │384 var moment = try evt.currentMoment(evt.user_repo_opts, &user_repo); │ │385 var record = (try evt.Fork.readById(evt.UserDB, evt.user_repo_opts.hash, moment, &arena, &fork_id)) orelse return error.NotFound;│ │386 - try std.testing.expectEqualSlices(u8, &repo_id, record.event.repo_id); │ │387 - try std.testing.expectEqualSlices(u8, &user_id, record.event.repo_user_id); │ │386 + try std.testing.expectEqualStrings(&std.fmt.bytesToHex(repo_id, .lower), &record.event.repo_id); │ │387 + try std.testing.expectEqualStrings(&std.fmt.bytesToHex(user_id, .lower), &record.event.repo_user_id); │ │388 try std.testing.expectEqual(.draft, record.event.stage); │ │389 try std.testing.expectEqual(1, try activeForkCount(moment)); │ │390 try std.testing.expectEqual(1, try draftForkCount(moment, &repo_id)); │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭ changed ───────────────╮ │src/test/event/patch.zig│ ╰────────────────────────╯ ╭────────────────────────────────────────────────────────────────────╮ │853 .timestamp = 1, │ │854 .author = author, │ │855 .event = .{ .repo = .{ │ │856 - .user_id = &user_id, │ │856 + .user_id = std.fmt.bytesToHex(user_id, .lower),│ │857 .name = "repo", │ │858 .description = "", │ │859 .patch_role = .read, │ ╰────────────────────────────────────────────────────────────────────╯ ╭ changed ───────╮ │src/test/net.zig│ ╰────────────────╯ ╭────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │545 const moment = try evt.currentMoment(evt.admin_repo_opts, &admin); │ │546 const target = (try evt.readRepoByOwnerAndName(io, allocator, &arena, moment, users_dir, "admin", "target", null)) orelse return error.NotFound; │ │547 repo_id = target.event_id; │ │548 - @memcpy(&user_id, target.repo.event.user_id); │ │548 + user_id = try evt.parseEventId(&target.repo.event.user_id); │ │549 // patches are off on a new repo │ │550 try evt.updateRepo(io, allocator, users_dir, &user_id, .{ .name = "admin", .email = "admin@example.test" }, "target", "target", target.repo.event.description, target.repo.event.read_access, .read, .read, .read);│ │551 var user_repo = (try evt.openUserRepo(io, allocator, users_dir, &user_id)) orelse return error.NotFound; │ ╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭───────────────────────────────────────────────────────────────────────────────────╮ │825 .timestamp = 2, │ │826 .author = .{ .name = "admin", .email = "admin@example.test" },│ │827 .event = .{ .repo = .{ │ │828 - .user_id = &user_id, │ │828 + .user_id = std.fmt.bytesToHex(user_id, .lower), │ │829 .name = "target", │ │830 .description = "", │ │831 .patch_role = .read, │ ╰───────────────────────────────────────────────────────────────────────────────────╯ ╭ changed ────────╮ │src/test/undo.zig│ ╰─────────────────╯ ╭─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │71 const repo_id: [evt.event_id_size]u8 = @splat(4); │ │72 const author: evt.CommitAuthor = .{ .name = "test", .email = "test@example.test" }; │ │73 const writer_hex = std.fmt.bytesToHex(writer, .lower); │ │74 - var repo_event: evt.Repo = .{ .user_id = &owner, .name = "demo", .description = "", .read_access = .public }; │ │74 + var repo_event: evt.Repo = .{ .user_id = std.fmt.bytesToHex(owner, .lower), .name = "demo", .description = "", .read_access = .public }; │ │75 const seed = [_]evt.EventWithId{ │ │76 .{ .id = std.fmt.bytesToHex(owner, .lower), .author = author, .event = .{ .user = .{ .name = "alice", .email = "alice@example.test", .password_hash = "unused" } } },│ │77 .{ .id = writer_hex, .author = author, .event = .{ .user = .{ .name = "writer", .email = "writer@example.test", .password_hash = "unused" } } }, │ ╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭──────╮ │next →│ ╰──────╯