╭ changed ───────────────╮ │src/event/Assignment.zig│ ╰────────────────────────╯ ╭───────────╮ │← all files│ ╰───────────╯ ╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │101 // the thread's set holds active assignments only, oldest first. the id │ │102 // fixes the thread, so an assignment never moves between sets. │ │103 const order_key = evt.orderKey(record.created_order, event_id); │ │104 - const thread_assignments = try DB.SortedSet(.read_write).init(try by_thread.putCursor(hash.hashInt(hash_kind, &record.event.thread_id)));│ │104 + const thread_id = try evt.parseEventId(&record.event.thread_id); │ │105 + const thread_assignments = try DB.SortedSet(.read_write).init(try by_thread.putCursor(hash.hashInt(hash_kind, &thread_id))); │ │106 if (record.removed) { │ │107 _ = try thread_assignments.remove(&order_key); │ │108 } else { │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │110 } │ │111 │ │112 // only an issue is indexed by assignee │ │112 - const thread_id = try evt.parseEventId(&record.event.thread_id); │ │113 const issue = (try evt.readRecordSubset(evt.Issue, struct { created_order: u64, removed: bool }, DB, hash_kind, haxy_moment.readOnly(), arena, &thread_id)) orelse return;│ │114 try indexIssue(DB, hash_kind, haxy_moment, record.event.email, &evt.orderKeyDesc(issue.created_order, &thread_id), !record.removed and !issue.removed); │ │115 } │ ╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭─────────────────────────────────────────────────────────────────╮ │189 comptime hash_kind: hash.HashKind, │ │190 arena: *std.heap.ArenaAllocator, │ │191 haxy_moment: evt.EventDB(hash_kind).HashMap(.read_only),│ │192 - thread_id: []const u8, │ │192 + thread_id: *const [evt.event_id_size]u8, │ │193 ) ![]const []const u8 { │ │194 const DB = evt.EventDB(hash_kind); │ │195 var emails: std.ArrayList([]const u8) = .empty; │ ╰─────────────────────────────────────────────────────────────────╯