╭ changed ───────────╮ │src/ui/Repo/Undo.zig│ ╰────────────────────╯ ╭───────────╮ │← all files│ ╰───────────╯ ╭───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │257 // resolving it names them as they are now, and leaves the email when no user │ │258 // holds it, which is also what local mode sees with no admin db to read │ │259 fn pushUser(arena: *std.heap.ArenaAllocator, haxy_moment: ?evt.AdminDB.HashMap(.read_only), payload: []const u8) !?DetailButton { │ │260 - const Payload = struct { author: ?struct { email: []const u8 } = null }; │ │260 + const Payload = struct { author: struct { email: []const u8 } }; │ │261 const parsed = std.json.parseFromSlice(Payload, arena.child_allocator, payload, .{ .ignore_unknown_fields = true }) catch |err| switch (err) {│ │262 error.OutOfMemory => return err, │ │263 else => return null, │ ╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭─────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │264 }; │ │265 defer parsed.deinit(); │ │266 - const author = parsed.value.author orelse return null; │ │267 - return switch (try ui.Author.initFromEmail(haxy_moment, arena, author.email)) { │ │266 + return switch (try ui.Author.initFromEmail(haxy_moment, arena, parsed.value.author.email)) { │ │267 .unknown => null, │ │268 .email => |email| .{ .label = " user ", .text = email }, │ │269 .user_name => |name| .{ .label = " user ", .text = name, .link = try ui.userLink(arena, name) },│ ╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────╯