╭ changed ────────────╮ │src/ui/Auth/Login.zig│ ╰─────────────────────╯ ╭───────────╮ │← all files│ ╰───────────╯ ╭──────────╮ │← previous│ ╰──────────╯ ╭──────────────────────────────────────────────────────────────────────────────────────────────────╮ │224 // dupe user_id into the arena so the session can hold a stable slice │ │225 const user_id_stable = try self.session.arena.allocator().dupe(u8, &user_id);│ │226 self.session.data.user_id = user_id_stable; │ │243 - self.session.data.login_failure = null; │ │227 │ │228 // adopt the user's name and persisted prefs │ │229 try self.session.loadUser(); │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │239 }, │ │240 } │ │241 } │ │242 + │ │243 + fn rememberFailure(self: *View, failure: ui.Session.FormFeedback.LoginFailure, username: []const u8) !void {│ │244 + self.session.data.form_feedback = .{ .login = .{ │ │245 + .failure = failure, │ │246 + .username = try self.session.arena.allocator().dupe(u8, username), │ │247 + } }; │ │248 + } │ │249 }; │ │250 │ ╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯