╭ changed ──────────────╮ │src/ui/Repo/Threads.zig│ ╰───────────────────────╯ ╭───────────╮ │← all files│ ╰───────────╯ ╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │242 const route = removeRoute(data.identity, data.selected_id, data.comment_id) orelse return error.RouteTooLong;│ │243 const action = try std.fmt.allocPrint(aa, "form:{s}", .{try route.toUrl(session.page_arena)}); │ │244 const event_name = if (data.comment_id.len == 0) thread_name else "comment"; │ │245 - const label = try std.fmt.allocPrint(aa, "remove {s}", .{event_name}); │ │245 + var label_buf: ["remove ".len + @max(thread_name.len, "comment".len)]u8 = undefined; │ │246 + const label = try std.fmt.bufPrint(&label_buf, "remove {s}", .{event_name}); │ │247 var center = try initRemoveForm(allocator, action, label); │ │248 errdefer center.deinit(allocator); │ │249 try stack.children.put(allocator, center.getFocus().id, .{ .center = center }); │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │1118 } │ │1119 │ │1120 if (comment_page) |page| { │ │1120 - const back_label = try std.fmt.allocPrint(self.session.page_arena.allocator(), "← back to {s}", .{thread_name}); │ │1121 + var back_label_buf: ["← back to ".len + thread_name.len]u8 = undefined; │ │1122 + const back_label = try std.fmt.bufPrint(&back_label_buf, "← back to {s}", .{thread_name}); │ │1123 var back = try Comment.linkBox(allocator, self.session, back_label, commentsRoute(self.data.identity, entry.id, 0) orelse return error.RouteTooLong);│ │1124 errdefer back.deinit(allocator); │ │1125 try inner.children.put(allocator, back.getFocus().id, .{ .widget = .{ .text_box = back }, .rect = null, .min_size = null }); │ ╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │1126 │ │1127 try Comment.appendComment(allocator, inner, self.session, self.data.identity, kind, page.selected); │ │1126 - try Comment.appendCount(allocator, inner, page.replies.count, "reply", "replies", self.session.page_arena.allocator()); │ │1128 + try Comment.appendCount(allocator, inner, page.replies.count, "reply", "replies"); │ │1129 for (page.replies.comments) |comment| try Comment.appendComment(allocator, inner, self.session, self.data.identity, kind, comment); │ │1130 try Comment.appendWindowNav(allocator, inner, self.session, self.data.identity, kind, &page.selected.comment.event.thread_id, &page.selected.id, page.replies);│ │1131 │ ╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │1144 if (description_page) { │ │1145 // the back link, in the title slot so the pane's input handling │ │1146 // applies to it unchanged. │ │1145 - const back_label = try std.fmt.allocPrint(self.session.page_arena.allocator(), "← back to {s}", .{thread_name}); │ │1147 + var back_label_buf: ["← back to ".len + thread_name.len]u8 = undefined; │ │1148 + const back_label = try std.fmt.bufPrint(&back_label_buf, "← back to {s}", .{thread_name}); │ │1149 var tb = try wgt.TextBox(ui.Widget).init(allocator, back_label, .{ .border_style = .single, .rounded_corners = true, .wrap_kind = .none });│ │1150 errdefer tb.deinit(allocator); │ │1151 tb.getFocus().focusable = true; │ ╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │1220 errdefer reply.deinit(allocator); │ │1221 try inner.children.put(allocator, reply.getFocus().id, .{ .widget = .{ .text_box = reply }, .rect = null, .min_size = null }); │ │1222 │ │1220 - try Comment.appendCount(allocator, inner, entry.comments.count, "comment", "comments", self.session.page_arena.allocator()); │ │1223 + try Comment.appendCount(allocator, inner, entry.comments.count, "comment", "comments"); │ │1224 for (entry.comments.comments) |comment| try Comment.appendComment(allocator, inner, self.session, self.data.identity, kind, comment);│ │1225 try Comment.appendWindowNav(allocator, inner, self.session, self.data.identity, kind, entry.id, null, entry.comments); │ │1226 │ ╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯