Commit Graph

  • 5fa7750046 Sonarr and Lidarr had the same deadlock and the same missing confirmation as Radarr, so give them the same budget and strikes main Gmer4Lfe 2026-08-26 21:20:05 -04:00
  • 1838eed855 Give AI_ASSIST_CLEANUP the consumer it has never had: it describes the shape of a classification and decides nothing, so switching it off changes no deletion Gmer4Lfe 2026-08-26 18:03:17 -04:00
  • 96d8a5e3f0 Make a file earn its deletion over consecutive runs, so a partial classification failure too small to trip the tracked-count gate cannot remove anything Gmer4Lfe 2026-08-26 17:58:42 -04:00
  • 0431e720de A cap that aborts cannot drain a backlog bigger than itself, so make it a per-run budget and let the queue clear over consecutive nights Gmer4Lfe 2026-08-26 17:55:21 -04:00
  • 7f4921de49 Give the wizard an assistant scoped to the step you are actually stuck on, so a first-run question can say "this" and mean something Gmer4Lfe 2026-08-26 17:31:52 -04:00
  • d4c19baa32 Folding the Scheduler dock into the shared chat left its scope behind, so the troubleshooter has been diagnosing without the log tail for whatever was open Gmer4Lfe 2026-08-26 17:25:28 -04:00
  • d444fd8036 A path with an apostrophe broke the remote shell quoting and a big file outran the connect timeout, so intact backups were reported corrupt and absent Gmer4Lfe 2026-08-25 21:30:57 -04:00
  • d42b1e2dda ffprobe exit 0 with a chapter-track warning is not corruption; guard the delete path against a detector that is wrong at scale Gmer4Lfe 2026-08-25 18:29:43 -04:00
  • 9492dc4c39 dig names the resolver it could not reach in its error text, so a DNS timeout was scraped as the answer and restarted DDNS over nothing Gmer4Lfe 2026-08-25 18:29:43 -04:00
  • 172beca3c5 A state key is a file path, not a regex — a release tag like [Bluray-1080p] holds an invalid range, so grep bailed and the tempfile swap wiped every other entry Gmer4Lfe 2026-08-25 18:29:43 -04:00
  • f0c1289519 Let the file own why the row cap is conditional; the README states that it is Gmer4Lfe 2026-08-25 17:21:20 -04:00
  • 128172d3a8 The row counts below four columns were the naive division, not what the board does Gmer4Lfe 2026-08-25 17:21:20 -04:00
  • 820e8325a6 Docs: the row-height cap is conditional now, and the board's narrow-screen behaviour was nowhere in the page help Gmer4Lfe 2026-08-25 17:15:20 -04:00
  • 74c6a0f5eb Monitor: hold the System card to the Network card's height below eight columns, where the two stop sharing a row Gmer4Lfe 2026-08-25 17:07:18 -04:00
  • d289a9101c Monitor: cap the System card's Varaverk block so the host figures set the card's height, not the sum of both Gmer4Lfe 2026-08-25 17:01:52 -04:00
  • 9553ecb16a The two functions the row-overflow hatch added were not in EXPORTS Gmer4Lfe 2026-08-25 17:01:10 -04:00
  • fb104bf05a Monitor: a rung taller than one screen sizes rows to content, since the page scrolls there anyway and the cap only clipped cards Gmer4Lfe 2026-08-25 16:54:19 -04:00
  • f4adc31215 Close the last four headers, and say what the destructive tools refuse to do Gmer4Lfe 2026-08-25 16:51:14 -04:00
  • c6254f2342 The dev checkers documented themselves under headings nothing else uses Gmer4Lfe 2026-08-25 16:45:39 -04:00
  • d25b147a56 A CLI tool has runtime modes, not a request Gmer4Lfe 2026-08-25 16:42:39 -04:00
  • 1f9915f074 Fill the single missing section in three scripts that had everything else Gmer4Lfe 2026-08-25 16:41:06 -04:00
  • c0e7a97a56 Document what the cert and auth sweeps will not do Gmer4Lfe 2026-08-25 16:39:01 -04:00
  • 68c835f33b Document what the proxy and cert collectors guarantee Gmer4Lfe 2026-08-25 16:37:25 -04:00
  • 6b9fda76db Say how the spawned tools are actually invoked Gmer4Lfe 2026-08-25 16:34:02 -04:00
  • 1be259b66d Two AI includes documented themselves under names nothing else uses Gmer4Lfe 2026-08-25 16:31:43 -04:00
  • 2c3c88d067 Say what the include layer exports and what it reads from conf Gmer4Lfe 2026-08-25 16:29:57 -04:00
  • 3fc14d16bf A worker that is spawned has arguments, not runtime modes Gmer4Lfe 2026-08-25 16:25:55 -04:00
  • 4cc50889d6 Document the api layer's operational models, and fix two headers that had gone stale against the code Gmer4Lfe 2026-08-25 16:25:55 -04:00
  • 63e68740b6 Put the header sections back in the order the other 116 scripts use Gmer4Lfe 2026-08-25 16:19:19 -04:00
  • f2fddeb87d The reboot path's container stops were unbounded, and stopped a different list than it restored Gmer4Lfe 2026-08-24 20:22:55 -04:00
  • eda411c0be Give the PHP layer somewhere to record what it swallowed Gmer4Lfe 2026-08-24 18:51:36 -04:00
  • 492757ce70 Walk appdata once for the space check, and refuse to export when it cannot be measured Gmer4Lfe 2026-08-24 18:46:26 -04:00
  • b58282b3d6 Read a filesystem once where two probes were answering the same question Gmer4Lfe 2026-08-24 18:46:26 -04:00
  • 9da2760a42 A localStorage guard was covering the layout restore it wrapped Gmer4Lfe 2026-08-24 18:42:34 -04:00
  • 049f633667 Bound the watchdogs' docker calls — a hung daemon is what they exist to catch Gmer4Lfe 2026-08-24 18:39:59 -04:00
  • 84946ed0c6 clear_logs previewed on one size basis and cleared on another Gmer4Lfe 2026-08-24 18:36:29 -04:00
  • 514e13660c Give the bash side the disk helpers it never had, reporting the same unit as vv_df Gmer4Lfe 2026-08-24 18:36:29 -04:00
  • 9333334b7b Bound the two tailscale lookups that were missed when the others were Gmer4Lfe 2026-08-24 18:33:40 -04:00
  • 367d0203b8 Find guards wired onto a helper that can never return non-zero Gmer4Lfe 2026-08-24 18:22:59 -04:00
  • 37017882c7 Check the header standard now that it is written down rather than implied Gmer4Lfe 2026-08-24 18:22:59 -04:00
  • f116a1584e Offboard reported a stack cleanup that could not fail and, on one path, had not run Gmer4Lfe 2026-08-24 18:22:59 -04:00
  • 1a5bacce87 Point the webhook's dependency note at where the handler actually lives Gmer4Lfe 2026-08-24 18:22:59 -04:00
  • f6e5f7dcd6 Drop the remote-metrics endpoint nothing called and api/monitor.php already served Gmer4Lfe 2026-08-24 18:22:59 -04:00
  • 0f0c407458 Arrange and folder saves reported failure on every success, and split a move across two writes Gmer4Lfe 2026-08-24 18:22:59 -04:00
  • 354992c9e7 Keep a script's arguments and trailing comment when it moves between orchestrators Gmer4Lfe 2026-08-24 18:22:59 -04:00
  • 28987240aa Let a sync window take a whole share in one click Gmer4Lfe 2026-08-23 17:16:24 -04:00
  • fbf2b92167 Drop containers that no longer exist from the conf lists, after three days absent Gmer4Lfe 2026-08-23 16:54:53 -04:00
  • 206a119a4b Show each container's fallback tier on the Monitor board Gmer4Lfe 2026-08-23 16:38:58 -04:00
  • 671e7ea5a4 Make fallback coverage something that can actually happen, and say so on the page Gmer4Lfe 2026-08-23 16:38:58 -04:00
  • d5cf3db2ec Close every orchestrator the same way, and make skipped work a visible outcome Gmer4Lfe 2026-08-23 16:38:58 -04:00
  • dc8823724d Let the GPU transform actually run when deploying to a partner Gmer4Lfe 2026-08-23 16:38:58 -04:00
  • a392108562 Warn before a transfer when a disk backing the remote share is nearly full Gmer4Lfe 2026-08-23 10:15:54 -04:00
  • fd1ab58598 Declare the Monitor board in one place, so a card's width and position stop living in eighteen inline styles and four media queries Gmer4Lfe 2026-08-23 00:44:30 -04:00
  • bd13bdc6e1 Revert the Monitor column ladder for now; the layout work is paused, not abandoned Gmer4Lfe 2026-08-22 23:53:27 -04:00
  • bdf1bce4be Place the storage and array cards by span, not by column index, so they follow the grid instead of forcing it back to eight Gmer4Lfe 2026-08-22 23:50:13 -04:00
  • c5c0477653 Derive Monitor's column count from what the cards actually need, so no width forces a sideways scroll Gmer4Lfe 2026-08-22 23:45:02 -04:00
  • 76faf0f9f8 Let an installation add its own tabs without the repo having to name them Gmer4Lfe 2026-08-22 16:37:37 -04:00
  • 879109e55d Drain the orphan backlog safest-first instead of aborting, so a run over budget still makes progress Gmer4Lfe 2026-08-22 16:37:31 -04:00
  • 61b7d2a96a Partnership stacks are the owner's declaration, so a mirror must read them from the owner's conf Gmer4Lfe 2026-08-22 14:03:57 -04:00
  • 15d802ae3d Preview mode that survives a reboot, and a fallback log that survives one too Gmer4Lfe 2026-08-22 13:52:34 -04:00
  • ac17be2cd9 Say fallback, not failover — the synonym was silently matching nothing in three renderers, plus retrying probes and a 2-minute handback window Gmer4Lfe 2026-08-22 13:43:30 -04:00
  • f1ba418aa8 A dry run walked the failover branches and reached notify(), which had no dry-run gate Gmer4Lfe 2026-08-22 09:53:53 -04:00
  • b17cc3a09d Say on each node card whose containers the tiers are, since they are the other host's Gmer4Lfe 2026-08-22 09:49:43 -04:00
  • 1c38abe1d0 Fallback coverage: colour the wait, group by tier, and lock the stacks the partner already runs Gmer4Lfe 2026-08-22 09:33:06 -04:00
  • 5d42a28d34 Each assistant card remembers its own conversation instead of every card resuming the newest one Gmer4Lfe 2026-08-22 08:46:35 -04:00
  • e5f4ede3f2 Coverage and settings above the chat, tier delays and the probe target alongside them, coverage in three columns Gmer4Lfe 2026-08-22 01:43:07 -04:00
  • ce613bcf9d Rehome the failover coverage picker on the Fallback tab, five days after it was dropped from Partnership for belonging here Gmer4Lfe 2026-08-22 01:32:08 -04:00
  • 8ce8f0dfbe The Monitor fallback card described a state file without saying whether anything still writes it Gmer4Lfe 2026-08-22 01:11:00 -04:00
  • 13c221244e A partner's conf is in the RAM cache, not CONF_DIR, and a commented-out template entry is not configuration Gmer4Lfe 2026-08-22 01:06:24 -04:00
  • a89b704fa1 Watchdog and Monitor looked the partner up by exact key, and the remote probe passed a quote to cut as a filename Gmer4Lfe 2026-08-22 00:59:24 -04:00
  • 0f228020ef State-file age is time since the last transition, not staleness, and a preview's state is the one being decided Gmer4Lfe 2026-08-22 00:52:38 -04:00
  • 8454d3d0a2 A dry run does not refresh live state, so say that rather than showing its age as stale Gmer4Lfe 2026-08-22 00:48:16 -04:00
  • da15cc7531 Rebuild the Fallback tab around what the daemon is actually doing, not what its last state file said Gmer4Lfe 2026-08-22 00:44:35 -04:00
  • 5924aae1c0 Fallback read the peer list by exact key, so a partner whose tailnet name differs by one character rendered as UNREACHABLE Gmer4Lfe 2026-08-22 00:34:33 -04:00
  • 46239012b4 The dry-run cleanup trap replaced the lock-release trap and orphaned fallback.lock Gmer4Lfe 2026-08-22 00:24:06 -04:00
  • f8119f3786 Give the test harness a stop that cannot strand its iptables rule, and clean up the dry-run state copy Gmer4Lfe 2026-08-22 00:20:40 -04:00
  • 41c0598220 A fallback dry run wrote real reboot-surviving state, and a failed tier writeback reported itself as a dry run Gmer4Lfe 2026-08-22 00:00:56 -04:00
  • 387382ec9f Media Stack called every node local, and a host whose watchdogs never ran reported all clear Gmer4Lfe 2026-08-21 22:50:09 -04:00
  • 20998c8c31 The Streams scope was reset to this host on every page load, on a dashboard that is never reloaded by choice Gmer4Lfe 2026-08-21 21:58:24 -04:00
  • f5d6edd9d0 The mirrored folder layout never reached the container card, which reads Varaverk's own store and not folder.view3's Gmer4Lfe 2026-08-21 21:50:22 -04:00
  • 4808a57289 Monitor's partner card read phase flags that only ever describe the mirror, so the owner rendered as not provisioned on the mirror Gmer4Lfe 2026-08-21 21:43:00 -04:00
  • 96b907acbc Say what Varaverk itself is using on the System card Gmer4Lfe 2026-08-21 09:39:52 -04:00
  • d9c37ac763 Add a checker for the two JS faults this plugin has actually shipped Gmer4Lfe 2026-08-21 09:32:04 -04:00
  • 146be2d0ad Report every failed fetch instead of discarding it Gmer4Lfe 2026-08-21 09:23:51 -04:00
  • 906375dc23 Share the font map with the function that renders it Gmer4Lfe 2026-08-21 09:05:21 -04:00
  • e1cdf03d40 Say why mesh chat failed instead of retrying a minute later Gmer4Lfe 2026-08-21 09:00:19 -04:00
  • 8041da5424 Stop starting Unraid's Node CLI on every Partnership render Gmer4Lfe 2026-08-21 08:53:29 -04:00
  • 7c4f881b57 Render an answer in full instead of folding it behind a control Gmer4Lfe 2026-08-21 08:44:08 -04:00
  • 81abc5adee Add a mesh scope to the Streams card Gmer4Lfe 2026-08-21 08:38:37 -04:00
  • 331b7b6b13 Resolve a peer from tailscale status before falling back to DNS Gmer4Lfe 2026-08-21 08:38:37 -04:00
  • fe23c59e0c Stop the process-list pipeline writing broken-pipe noise to stderr Gmer4Lfe 2026-08-21 08:26:28 -04:00
  • 666e1ebab2 Silence the sampler pipeline's broken-pipe chatter Gmer4Lfe 2026-08-21 08:24:55 -04:00
  • 3d05276312 Reach the integrated-graphics check on a box with no nvidia-smi Gmer4Lfe 2026-08-21 08:24:20 -04:00
  • 00fdee5649 Detect Intel integrated graphics, which nvidia-smi cannot see Gmer4Lfe 2026-08-21 08:23:14 -04:00
  • 4a29e7bc99 Read the CPU temperature instead of the alarm threshold beside it Gmer4Lfe 2026-08-21 08:17:36 -04:00
  • a07019e3aa Fix the parity card referencing a variable the previous commit removed Gmer4Lfe 2026-08-21 08:11:19 -04:00
  • aa16fbaa8b Stop calling an empty parity slot an emulated disk Gmer4Lfe 2026-08-21 08:07:38 -04:00
  • 9c15df8e22 Report the owner's model and index on a mirror's Monitor card Gmer4Lfe 2026-08-21 07:59:50 -04:00
  • 111c70d6b4 Bill a turn to the node that asked, not the node that generated Gmer4Lfe 2026-08-20 20:04:08 -04:00
  • 0621f66889 Share one AI across the mesh instead of confining it to the owner Gmer4Lfe 2026-08-20 19:53:28 -04:00