add lxc-update

This commit is contained in:
liph committed 2026-08-04 11:22:17 +02:00
1 parent 27abec8ab7
commit d6fd64c8af
9 files changed
+121 -2

No files matched your search

+2 -2
View File
@@ -1,5 +1,5 @@
{ {
"version": "0.7.5", "version": "0.8.0",
"body": "### Breaking Changes\n- Installed and linked plugins, including their enabled state, are now global to the current user instead of isolated by Herdr session. Plugins installed only in a named session on Herdr 0.7.3 must be installed or linked again. (#1174)\n\n### Added\n- Added a live-agent CLI facade with named `start`, atomic `prompt`, logical `send-keys`, and server-owned `wait` workflows. Agent startup targets an existing pane without changing topology, validates the requested interactive agent kind and strict agent name, and accepts native arguments after `--`.\n- Added transient declarative Agent view queries through `agent.view.set/clear`; filtered and sorted views now define sidebar, mobile, mouse, and agent-keybind navigation order.\n- Added one-shot plugin `[[startup]]` hooks for restoring plugin-owned state after server startup and live handoff.\n- Added per-token foreground, bold, and dim styling to expanded Space and Agent sidebar row layouts.\n- Added `ui.sidebar_start_collapsed` to launch Herdr with the sidebar collapsed. (#1463)\n- Added `ui.prompt_new_workspace_name` to ask for a workspace name before interactive TUI creation.\n- Added macOS support for the `HERDR_AGENT=<agent>` foreground-process hint, allowing agents hidden behind host-visible wrappers such as `nono` to use the named agent's screen manifest. (#679)\n\n### Changed\n- Agent commands now accept only a unique live agent name or the pane ID currently hosting that agent. Names are cleared when the occupant exits, is released, or is replaced. The old top-level `wait` commands were replaced by `agent wait` and `pane wait-output`, and `agent send` was replaced by `agent send-keys`.\n- The session navigator now uses connected tree glyphs, groups matches by workspace, and automatically selects the first result when a search begins. (#1611)\n\n### Fixed\n- CLI requests now return a machine-readable `protocol_mismatch` error when the client and server protocols differ, while recovery commands remain available. (#1435)\n- Linux sound notifications now terminate and reap audio players that do not exit, preventing unavailable audio from leaving CPU-bound `mpg123` processes behind. (#1622)\n- Oversized bracketed text pastes are now rejected with a client-local notification instead of disconnecting the client. (#1665)\n- Agent prompt waits now report `agent_prompt_stalled` after five seconds without an observed state change instead of waiting indefinitely after an ineffective submission.\n- `herdr config check` now reports unknown config keys with their full paths instead of treating ignored typos as valid configuration. (#1573)\n- Codex panes with customized static terminal titles now fall back to the live working footer instead of remaining idle, while OSC activity remains preferred. (#1563)\n- Grok panes now preserve working and blocked state from terminal signals and pinned background-work status instead of falling back to idle mid-turn.\n- OpenCode lifecycle reports are now serialized so out-of-order plugin events cannot leave an idle pane marked working. (#1519)\n- Kimi question prompts now report blocked until the user answers or dismisses them.\n- Pi lifecycle reporting now uses settled events, preventing transient message boundaries from publishing an idle state mid-turn.\n- The Pi, OMP, OpenCode, and Kilo Code integrations can now be installed on Windows and report lifecycle state and native session identity through Herdr's named-pipe API. (#1531)\n- Named agent prompts now honor live bracketed-paste mode before sending Enter, preserving OpenCode text such as `A != B` instead of triggering shell mode. (#1525)\n- New panes, tabs, layouts, and workspaces using `new_cwd = \"follow\"` now inherit the foreground process-group leader's working directory instead of an unrelated helper process directory. (#1472)\n- Cached pane working directories no longer trigger repeated filesystem checks, avoiding slow sidebar rendering on network filesystems such as Ceph. (#1603)\n- Windows foreground-process snapshots are now shared across panes, reducing idle CPU use in sessions with many panes. (#1158)\n- Terminal diff streams now batch contiguous writes, reducing the visible wave effect while scrolling pane history. (#283)\n- A standalone Escape arriving beside another key is now preserved as its own input instead of being combined into a fabricated Alt chord. (#541)\n- Pane viewports that were following live output now continue following after a resize.\n- Mouse selections now remain visible when `ui.copy_on_select = false` while clipboard writes stay disabled. (#1471)\n- Workspace close confirmation now shows the current workspace name instead of a stale or unrelated label. (#1364)\n- Plugin command arrays now preserve whitespace-only arguments. (#1594, #1613)\n- Plugins can now be installed or linked while no Herdr server is running. (#1670)\n- Remote attach now discovers Herdr installed in mise's canonical tool path before offeriLine truncated "body": "### Added\n- Added `herdr --skill` to print the agent skill bundled with the running Herdr binary.\n- Added `ui.pane_scrollbars = false` to hide terminal pane scrollbars and reclaim their reserved column. (#2167)\n- Added `ui.tab_bar_position = \"bottom\"` to place the desktop tab row below terminal panes. (#2117)\n- Added live filtering to the keybind help with `/`, Backspace, and `Ctrl+U`. (#1825, #1832, thanks @corrius)\n- Added Windows support for `experimental.switch_ascii_input_source_in_prefix` with Korean IMEs. (#1802, #1823, thanks @joonhwan)\n- Added Grok CLI session reporting and native restore with `grok --resume <id>`. (#1800, #1807, thanks @carlesso)\n- Added Antigravity CLI session reporting and native restore with `agy --conversation <id>`. (#1011, #1571, #2087, thanks @ludoo)\n- Added automatic text history reads for idle alternate-screen agents, with the application viewport restored after collection.\n- Added `workspace.move_block`, the `workspace.reordered` event, and atomic worktree-group reordering. (#1694)\n- Added a Simplified Chinese README. (#1990, thanks @patrick-xin)\n\n### Changed\n- Experimental options are no longer exposed in the Settings TUI and remain available through the config file.\n- Agent status indicators now use the same static workspace marks across the sidebar, navigator, and mobile views, eliminating continuous spinner rendering while agents work.\n- Hidden pane output no longer triggers unnecessary TUI rendering.\n- Windows preview downloads now include Herdr and a modern app-local ConPTY runtime in one archive. (#1533, #1644, #1828)\n- Worktree parents and children now stay packed together in the sidebar, including while groups are reordered.\n- Public documentation now separates stable, preview, and immutable versioned release snapshots.\n- Repository and installation links now use `herdrdev/herdr` after the GitHub organization migration.\n- Relicensed Herdr from AGPL-3.0-or-later to Apache-2.0.\n\n### Fixed\n- Pane applications now receive semantic light/dark query responses and live Mode 2031 updates when the host appearance changes. (#714)\n- Remote attach now falls back to `sh` when the login shell cannot perform path discovery. (#1201)\n- PTY output continues to be read while pane input is temporarily blocked. (#1295)\n- Worktree CLI help and docs no longer advertise the redundant `--json` flag; worktree commands remain JSON-only and continue accepting the flag for compatibility. (#2171)\n- OpenCode 2 preview panes now appear as OpenCode agents and use the existing OpenCode status detection. (#2169)\n- Pane text copied through VS Code Remote Tunnels now reaches the viewing machine's clipboard instead of overwriting the remote host clipboard. (#2015)\n- Windows agent detection now follows Git Bash-launched agents across emulated `exec` process boundaries. (#2107)\n- Detached Windows servers and pane processes now survive logout from the OpenSSH session that started them. (#2008)\n- Windows `agent start` now launches agents without native arguments instead of timing out on an invalid empty PowerShell argument list. (#2072)\n- Headless servers now resume restored agent sessions without waiting for a TUI client to attach. (#2064)\n- Vibe and other Kitty-keyboard pane applications now receive shifted letters and punctuation when they request associated text. (#2020)\n- Kitty-keyboard pane applications now receive printable key releases without duplicate text input. (#1746)\n- Kitty graphics remain visible during host repaints. (#1628)\n- Pane applications now receive correct XTWINOPS terminal and cell-size query responses. (#835)\n- WSL clients query the host cell size when the terminal ioctl reports no pixels, keeping graphics sharp instead of using the 8x16 fallback. (#2146, #2160, thanks @WakaTaira)\n- Linux runtimes without terminal foreground process groups can opt into child-group agent detection with `HERDR_PROCESS_DETECTION=child-groups`. (#1982)\n- Installing the Herdr agent skill with the `skills` CLI no longer copies the entire repository. (#2022)\n- Nix builds now include the bundled agent skill required by `herdr --skill`. (#1889, #1890, thanks @olafkfreund)\n- Agent prompts now wait briefly after sending text before pressing Enter, preventing prompts from remaining in agent composers without starting a turn. (#1878)\n- Empty clipboard writes from pane applications no longer erase existing clipboard contents or show a copied confirmation. (#1893)\n- Plain mouse movement no longer triggers continuous full renders while preserving Herdr menu hover and pane application mouse tracking. (#1865)\n- Extended-button drags now preserve Herdr hover state while applications receive the drag.\n- `ui.copy_on_select = false` now retains drag and double-click word selections without copying; `Ctrl+C`, or `Cmd+C` when the host terminal forwards it, copies and clears the selection. (#1782)\n- Pane and agent read responses now report `truncated: true` wLine truncated
"show_on_startup": true "show_on_startup": true
} }
Submodule herdr_1/.config/herdr/plugins/.tmp-install-750065-1785311987680/checkout added at 5f76bc9eab.
Submodule herdr_1/.config/herdr/plugins/github/herdr-bar-96eebe452a9c added at 58c23e5c8d.
Submodule herdr_1/.config/herdr/plugins/github/herdr-lazygit-b11d62e75f78 added at a13e12c99e.
Submodule herdr_1/.config/herdr/plugins/github/herdr-spreader-f248c87aa2e2 added at 5f76bc9eab.
Submodule herdr_1/.config/herdr/plugins/github/herdr-zoxide-f7b96c313637 added at 7be842fe84.
Submodule herdr_1/.config/herdr/plugins/github/osamahbeig.pane-mover-d60fe0209b83 added at a9fde7a4f9.
Submodule herdr_1/.config/herdr/plugins/github/sessionizer-66e03d1ff740 added at d3476681fe.
+112
View File
@@ -0,0 +1,112 @@
#!/bin/bash
# LXC Arch Container Cleanup Script
# Usage: sudo bash cleanup.sh [--auto]
set -euo pipefail
AUTO=0
if [[ "${1:-}" == "--auto" ]]; then
AUTO=1
fi
ask() {
if [[ $AUTO -eq 1 ]]; then
return 0
fi
read -rp "$1 [y/N]: " ans
[[ "$ans" =~ ^[Yy]$ ]]
}
# --- PRE-CHECK ---
echo "=== Disk Usage (Before) ==="
df -h /
echo ""
# 1. PACMAN / PARU CACHE
if ask "Clean pacman package cache (keeps only latest 2 versions)?"; then
if command -v paccache &>/dev/null; then
paccache -rk2
else
echo "Installing pacman-contrib for paccache..."
pacman -S --noconfirm pacman-contrib
paccache -rk2
fi
fi
# 2. ORPHANED PACKAGES (pacman/paru)
echo ""
echo ">>> Checking for orphaned packages..."
orphans=$(pacman -Qdtq 2>/dev/null || true)
if [[ -n "$orphans" ]]; then
echo "Orphans found:"
echo "$orphans"
if ask "Remove orphaned packages?"; then
# shellcheck disable=SC2086
pacman -Rns --noconfirm $orphans
fi
else
echo "No orphaned packages found."
fi
# 3. PARU BUILD CACHE (AUR)
if command -v paru &>/dev/null; then
echo ""
if ask "Clean paru build cache (~/.cache/paru)?"; then
CACHE_DIR="${HOME}/.cache/paru"
if [[ -d "$CACHE_DIR" ]]; then
rm -rf "$CACHE_DIR/clone"/* 2>/dev/null || true
rm -rf "$CACHE_DIR/diffs"/* 2>/dev/null || true
echo "Paru cache cleaned."
fi
fi
fi
# 4. PODMAN CLEANUP
if command -v podman &>/dev/null; then
echo ""
echo ">>> Podman cleanup..."
dangling=$(podman images -f dangling=true -q 2>/dev/null || true)
if [[ -n "$dangling" ]]; then
echo "Dangling images found."
if ask "Remove dangling podman images?"; then
podman image prune -f
fi
else
echo "No dangling podman images."
fi
if ask "Run full podman system prune (removes unused containers, networks, images)?"; then
podman system prune -f
fi
else
echo "Podman not installed, skipping."
fi
# 5. JOURNAL LOGS
if ask "Vacuum systemd journal to 7 days / 100MB?"; then
journalctl --vacuum-time=7d --vacuum-size=100M
fi
# 6. TEMP FILES
if ask "Clean /tmp and /var/tmp (files older than 3/7 days)?"; then
find /tmp -type f -atime +3 -delete 2>/dev/null || true
find /var/tmp -type f -atime +7 -delete 2>/dev/null || true
echo "Temp files cleaned."
fi
# 7. TRIM (helpful on SSD/thin-provisioned storage)
if command -v fstrim &>/dev/null; then
if ask "Run fstrim to discard unused blocks?"; then
fstrim -av / 2>/dev/null || echo "fstrim failed or not supported by host storage"
fi
fi
# 8. LARGE LOG CHECK
echo ""
echo ">>> Large log files (>10MB) in /var/log:"
find /var/log -type f -size +10M -exec ls -lh {} + 2>/dev/null || true
echo ""
echo "=== Disk Usage (After) ==="
df -h /