╭ changed ────╮ │build.zig.zon│ ╰─────────────╯ ╭─────────────────────────────────────────────────────────────────────────────────────────────────────╮ │ 3 .version = "0.0.0", │ │ 4 .dependencies = .{ │ │ 5 .xit = .{ │ │ 6 - .url = "git+https://github.com/xit-vcs/xit#0d4a1d01109ba9f028e2a1f203573e83ff6e28cd",│ │ 7 - .hash = "xit-0.0.0-Ub3nDIvvTwFgk-uwVrHVGC6P9a6lp5XhUILilG6qy1nS", │ │ 6 + .url = "git+https://github.com/xit-vcs/xit#abda08bcf18b09ae5fcd3655192ef78149b3b982",│ │ 7 + .hash = "xit-0.0.0-Ub3nDAjvTwGcTd2CEMMxQOt3EqEvup-W3GSeqiv0Y4x3", │ │ 8 }, │ │ 9 }, │ │10 .paths = .{ │ ╰─────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭ changed ────────╮ │src/main_wasm.zig│ ╰─────────────────╯ ╭────────────────────────────────────────────────────╮ │147 navigate(url); │ │148 return; │ │149 } │ │150 - try root_ptr.getFocus().setFocus(focus_id);│ │150 + root_ptr.getFocus().setFocus(focus_id); │ │151 } │ │152 │ │153 fn setFocus(focus_id: usize) !void { │ ╰────────────────────────────────────────────────────╯ ╭──────────────────────────────────────────────────────────────────────────────────────────╮ │154 const root_ptr = if (root) |*root_value| root_value else return error.NotStarted;│ │155 - try root_ptr.getFocus().setFocus(focus_id); │ │155 + root_ptr.getFocus().setFocus(focus_id); │ │156 } │ │157 │ │158 fn consoleLog(arg: []const u8) void { │ ╰──────────────────────────────────────────────────────────────────────────────────────────╯ ╭ changed ─╮ │src/ui.zig│ ╰──────────╯ ╭──────────────────────────────────────────────────────────────────────────────────────────────────────╮ │787 if (crossPageLink(root_focus, focus_id, session.data.current_page)) |route| {│ │788 return session.navigate(route); │ │789 } │ │790 - try root_focus.setFocus(focus_id); │ │790 + root_focus.setFocus(focus_id); │ │791 } │ │792 // forward the press into the widget tree so buttons (and any │ │793 // future click-aware widgets) can react. widgets that don't │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭──────────────────────────────────────────────────────────────────────────────────────────╮ │901 while (iter.next()) |entry| { │ │902 switch (entry.value_ptr.focus.kind) { │ │903 .custom => |custom| if (std.mem.eql(u8, custom, Quit.tab_kind)) {│ │904 - try root_focus.setFocus(entry.key_ptr.*); │ │904 + root_focus.setFocus(entry.key_ptr.*); │ │905 // a Stack only builds its selected child, so the quit │ │906 // button isn't in the focus tree until a build runs with │ │907 // the quit tab selected. build once, then send a │ ╰──────────────────────────────────────────────────────────────────────────────────────────╯ ╭──────────────────────────────────────────────────────────╮ │990 .min_size = .{ .width = null, .height = 40 },│ │991 .max_size = .{ .width = 80, .height = null },│ │992 }, root.getFocus()); │ │993 - if (root.getFocus().child_id) |child_id| { │ │994 - try root.getFocus().setFocus(child_id); │ │995 - } │ │993 │ │994 return root; │ │995 } │ ╰──────────────────────────────────────────────────────────╯ ╭────────────────────────────────────────────────────────────────────────────────────────╮ │1305 } │ │1306 │ │1307 if (index != current_index) { │ │1311 - try root_focus.setFocus(in.text_boxes.items[index].getFocus().id);│ │1308 + root_focus.setFocus(in.text_boxes.items[index].getFocus().id); │ │1309 if (in.cellRect(index)) |rect| { │ │1310 self.scroll.scrollToRect(rect); │ │1311 } │ ╰────────────────────────────────────────────────────────────────────────────────────────╯ ╭ changed ────────────╮ │src/ui/Auth/Login.zig│ ╰─────────────────────╯ ╭─────────────────────────────────────────────────────────────────────────────────╮ │140 // Shift+Tab walks backward through the form, matching the │ │141 // typical UX; arrow_up does the same. │ │142 .arrow_up, .back_tab => if (current > 0) { │ │143 - try root_focus.setFocus(self.nav_ids[current - 1]); │ │143 + root_focus.setFocus(self.nav_ids[current - 1]); │ │144 return; │ │145 }, │ │146 // Tab moves to the next field, matching the form-style UX users│ ╰─────────────────────────────────────────────────────────────────────────────────╯ ╭────────────────────────────────────────────────────────────────────────────────╮ │147 // expect; arrow_down does the same. │ │148 .arrow_down, .tab => if (current + 1 < self.nav_ids.len) { │ │149 - try root_focus.setFocus(self.nav_ids[current + 1]); │ │149 + root_focus.setFocus(self.nav_ids[current + 1]); │ │150 return; │ │151 }, │ │152 // submit on Enter from any nav field — typical "press Enter in│ ╰────────────────────────────────────────────────────────────────────────────────╯ ╭────────────────────────────────────────────────────────────────────────────────╮ │268 │ │269 // jump focus back to the users tab — the login button we │ │270 // just pressed is about to be hidden by the tab-label swap│ │271 - try root_focus.setFocus(self.success_redirect_tab_id); │ │271 + root_focus.setFocus(self.success_redirect_tab_id); │ │272 }, │ │273 } │ │274 } │ ╰────────────────────────────────────────────────────────────────────────────────╯ ╭──────╮ │next →│ ╰──────╯