╭ changed ──────╮ │src/ui/Repo.zig│ ╰───────────────╯ ╭───────────╮ │← all files│ ╰───────────╯ ╭──────────────────────────────────────────────────────────────────────────────────────────────────────╮ │294 }; │ │295 if (route_thread_kind) |kind| if (repo.event.threadRole(kind) == null) return error.NotFound;│ │296 const undo_index = if (route == .repo_undo) route.repo_undo.index else null; │ │297 - const undo_clear = route == .repo_undo and route.repo_undo.clear; │ │298 - // only xit repos have undo history, so it's read in their branch below │ │297 + // only xit repos have undo history, so it's read in their branch below. │ │298 + // local mode leaves undo to xit itself. │ │299 var undo_data: ?Undo = null; │ │300 // only the owner sees the settings, which show the repo's hash kind │ │301 var settings: ?Settings = null; │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │337 }; │ │338 } │ │339 // tabs switch in-page, so every tab's data is read here │ │340 - if (repo_kind == .xit and handle.canWrite()) { │ │340 + if (repo_kind == .xit and session.data.host_kind == .server and handle.canWrite()) { │ │341 undo_data = Undo.init(opened.self_repo_opts, arena, opened, session.haxy_moment, repo_identity.identity, undo_index, handle) catch |err| switch (err) {│ │342 error.OutOfMemory => return err, │ │343 else => .{ .identity = try arena.allocator().dupe(u8, repo_identity.identity), .handle = handle, .failure = @errorName(err) }, │ ╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │398 }; │ │399 if (route == .repo_undo and undo_data == null) return error.NotFound; │ │400 if ((route == .repo_settings or route == .repo_members or route == .repo_branches) and settings == null) return error.NotFound;│ │401 - if (undo_data) |*undo| undo.clear = undo_clear; │ │401 discussions.repo_source = source; │ │402 issues.repo_source = source; │ │403 patches.repo_source = source; │ ╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯