Commit Graph

  • 601ea03b1a Backup step: drop the timestamp list, and make both answers cards main librelad 2026-08-29 14:14:17 +01:00
  • 6018250526 Choose which snapshot to restore, per app and for the settings librelad 2026-08-29 13:44:21 +01:00
  • 94683db240 Backup step: snapshot times, a disabled Next, and readable errors librelad 2026-08-29 08:43:02 +01:00
  • f736ec6501 Drop the section headings — the step name is already at the top librelad 2026-08-29 08:25:14 +01:00
  • aff9b398da Backup step: Read sits beside the password, like Check beside the folder librelad 2026-08-29 08:08:47 +01:00
  • f77915de3b Backup step: gate Next instead of instructing librelad 2026-08-29 07:53:47 +01:00
  • 853e51baac Show the confirmed backup as a card, not a sentence librelad 2026-08-29 07:34:55 +01:00
  • 7fef102369 Put the found backups under the field they fill in librelad 2026-08-29 07:27:16 +01:00
  • cf8a4b2c69 Find the backup before asking for its password librelad 2026-08-29 07:04:15 +01:00
  • 9bb9ed79a9 Storage defaults: hang them off the mount, not the app-data path librelad 2026-08-29 06:48:03 +01:00
  • 42afc20ee0 Backup step: the wizard's own field layout, and a name that matches librelad 2026-08-29 06:10:27 +01:00
  • 429ec3fa2d Contents step: show the two snapshot kinds as two things librelad 2026-08-29 05:51:24 +01:00
  • 6a62c94cf8 Adoption: a new config file inherits its siblings' mode, not 0640 librelad 2026-08-29 05:07:12 +01:00
  • a361e38562 Wizard: New install or Restore from backup librelad 2026-08-29 05:04:43 +01:00
  • 5dd763713d Read a backup repository from the WebUI, and stop adoption breaking things librelad 2026-08-29 04:33:07 +01:00
  • 3fbc997a2d First-run restore: actually restore the system config, and check the domains librelad 2026-08-29 04:18:43 +01:00
  • 00b6926605 Storage step: the dropdown picks a drive, paths are their own section librelad 2026-08-29 03:56:12 +01:00
  • fd0a0fd08c Storage step: say "not connected", and allow custom paths librelad 2026-08-29 03:09:25 +01:00
  • 03d4788a2c fix(cli): show help on an unknown verb, and accept validate librelad 2026-08-29 02:42:30 +01:00
  • 1ed42c7645 fix(validate): only judge configs/ files that are actually sourced librelad 2026-08-29 02:35:19 +01:00
  • b0a00649f7 ownership: find an app wherever it lives, not only under the primary root librelad 2026-08-28 13:14:17 +01:00
  • 2d5674108b setup: registering a drive made it disappear from the Storage step librelad 2026-08-28 13:09:43 +01:00
  • 65c947704b ownership: create the secret drop's parent instead of requiring it librelad 2026-08-28 12:46:43 +01:00
  • 9d8b92367b uninstall: read the storage registry before deleting it librelad 2026-08-28 12:43:04 +01:00
  • 0aaae01833 webui: create the secret drop at install, not by hand librelad 2026-08-28 12:40:03 +01:00
  • 7b0cf0bbba test: cover the Connect option's not-yet-available state librelad 2026-08-28 12:27:30 +01:00
  • 99e81e9ab8 backup: LibrePortal Connect as a destination type, greyed out until it exists librelad 2026-08-28 12:21:37 +01:00
  • f227435abf setup: put an icon in the slot that was reserving room for one librelad 2026-08-28 11:41:26 +01:00
  • d51e014cad setup: the wizard's select popups opened behind its own modal librelad 2026-08-28 11:25:41 +01:00
  • 00114a6ce2 setup: fix the Backups dialog, and make dialogs testable at all librelad 2026-08-28 10:48:39 +01:00
  • 34512f7b28 setup: rebuild the wizard's Backups step around the locations that exist librelad 2026-08-28 10:20:23 +01:00
  • 0aa92e128e webui: a one-shot channel for secrets, instead of the command line librelad 2026-08-28 08:48:03 +01:00
  • 988297e8de compose: fall back to docker-compose.yml when the app's config is out of scope librelad 2026-08-28 08:21:11 +01:00
  • b92134316f uninstall: say what was left behind on other storage locations librelad 2026-08-28 08:09:34 +01:00
  • 78bc20b8ac setup: surface the per-app storage choice in the App Center librelad 2026-08-28 07:46:36 +01:00
  • 56cd6e7fa4 storage: choose which drive an app installs onto librelad 2026-08-28 07:22:11 +01:00
  • d0735ea9ba docs: first-run restore generates new secrets over a backup holding the old ones librelad 2026-08-28 06:50:57 +01:00
  • 95edf64558 docs: the multi-disk test matrix, and what it found librelad 2026-08-28 06:46:52 +01:00
  • d13138398c installer: say something when a spare drive is attached but not mounted librelad 2026-08-28 06:45:08 +01:00
  • b3aff2833c docs: record what the relocated-restore failure actually cost librelad 2026-08-28 06:40:33 +01:00
  • 3518006205 relocate: rewrite the manager's crontab when a root moves librelad 2026-08-28 06:38:07 +01:00
  • 7ed8539af7 setup: stop calling the app-data drive "System disk" when it is not librelad 2026-08-28 06:35:16 +01:00
  • 864059ab83 paths: recover the roots from the baked unit when nothing exported them librelad 2026-08-28 06:31:02 +01:00
  • fc92d556f1 dev: harness for the multi-disk install, and make lp-shot follow the roots librelad 2026-08-28 06:24:39 +01:00
  • 226ebe1717 backup: give borg and kopia the same ownership mapping as restic librelad 2026-08-28 06:20:31 +01:00
  • 17316b7fe2 backup: restore ownership through a multi-range userns map librelad 2026-08-27 17:04:12 +01:00
  • 1fa36abb63 backup: stop claiming restored files "are already owned correctly" librelad 2026-08-27 13:42:53 +01:00
  • c9779d6581 restore: create staging as the principal that writes to it librelad 2026-08-27 12:41:21 +01:00
  • 089ac8827c network: allocate ports the host isn't already listening on librelad 2026-08-27 12:33:28 +01:00
  • 5c8876428b test: pin the CLI argv path, and document the third silent truncation librelad 2026-08-27 12:22:18 +01:00
  • 536b5b8e10 restore: stop the first-run bulk restore from silently dropping most of the host librelad 2026-08-27 12:20:59 +01:00
  • 5b2d824aac docs: record the two silent no-ops the end-to-end restore run found librelad 2026-08-27 12:16:48 +01:00
  • 647b19cf4a restore: ask the repository about a snapshot by id, not by app tag librelad 2026-08-27 12:15:15 +01:00
  • f8c9e87643 backup: create a location's config as the manager, not the container user librelad 2026-08-27 12:15:15 +01:00
  • 1381b052ae fix(app): make export/import actually work — found by a real round trip librelad 2026-08-27 11:33:52 +01:00
  • aa44e0b542 feat(setup): Import step — bring apps in from .lpapp files by path librelad 2026-08-27 10:10:13 +01:00
  • da0136149b feat(app): import-check — inspect an export without importing it librelad 2026-08-27 10:04:32 +01:00
  • ef60cce98a feat(app): portable .lpapp export and import — phase 4 librelad 2026-08-27 09:08:41 +01:00
  • 6c89e430e1 feat(restore): preflight report — phase 3 librelad 2026-08-27 09:05:49 +01:00
  • 3c2f8f0691 docs(roadmap): rewrite phases 3-4 for the installer-based restore librelad 2026-08-27 08:57:26 +01:00
  • e165e28ceb feat(install): New setup or Restore from backup — two installer paths librelad 2026-08-27 08:47:33 +01:00
  • d44ebf0ca7 docs(roadmap): the restore password has no safe channel to the host yet librelad 2026-08-27 08:14:18 +01:00
  • 15ca10530d feat(setup): Backups step — phase 1 of first-run restore librelad 2026-08-27 08:11:36 +01:00
  • 69b62fda06 docs(roadmap): first-run New Install vs Restore from Backup librelad 2026-08-27 08:01:47 +01:00
  • af707be949 feat(system): libreportal-relocate — move an installed LibrePortal's roots librelad 2026-08-27 07:59:34 +01:00
  • 6fd6587714 feat(setup): selections above, drives below, and both roots choosable librelad 2026-08-26 06:39:25 +01:00
  • 3034eaf4c7 feat(install): choose system and app-data disks independently; theme the dropdown librelad 2026-08-26 03:48:55 +01:00
  • 8d41b98497 feat(install): ask where app data goes, like an OS installer librelad 2026-08-26 03:33:44 +01:00
  • 49c463a996 feat(storage): a default location, so one choice places every future app librelad 2026-08-26 03:31:13 +01:00
  • 731b787ce5 feat(setup): drop the system disk's checkbox, group the rest under a divider librelad 2026-08-26 03:13:08 +01:00
  • 6a8536fb1b fix(setup): fill the capacity bar with used space, drop the footer note librelad 2026-08-26 03:06:40 +01:00
  • e101764085 feat(setup): drop the filesystem type, show capacity as free-of-total + a bar librelad 2026-08-26 02:38:14 +01:00
  • 3b602ddb53 style(setup): space the drive badge from the facts that follow it librelad 2026-08-26 02:31:55 +01:00
  • 6d31da917f feat(setup): move the Storage explainer into a "?" tooltip librelad 2026-08-26 02:25:54 +01:00
  • d8c9f2486b feat(setup): show the system disk, and slim the drive cards to one line librelad 2026-08-26 02:19:40 +01:00
  • e71fc15f38 fix(setup): use the shared eo-modal for drive details librelad 2026-08-26 01:57:57 +01:00
  • 7eb6d36d55 feat(storage): readable drive cards, a details modal, and an fstab offer librelad 2026-08-26 01:44:46 +01:00
  • f5238f21ca feat(setup): wire storage data into regen, split candidate warnings librelad 2026-08-25 23:14:56 +01:00
  • cea653f67b feat(setup): Storage step in the first-run wizard librelad 2026-08-25 22:45:10 +01:00
  • 70ca195f30 docs(roadmap): mark what is built, and record the fork-bomb postmortem librelad 2026-08-24 20:40:51 +01:00
  • 8fad6c6a4d fix(restore): take the source path from the snapshot, not local config librelad 2026-08-24 20:39:35 +01:00
  • 26e98698d8 feat(storage): per-app placement, app move, and the READONLY marker librelad 2026-08-24 20:37:35 +01:00
  • 0de7f40f5d feat(storage): registry helper, fitness checks, CLI and the Disks view librelad 2026-08-24 20:30:46 +01:00
  • ac4c11b5e9 fix(storage): move the app->location index out of configs/ librelad 2026-08-24 20:25:07 +01:00
  • 928e244696 fix(config): stop sourcing files in unmarked configs/ subdirectories librelad 2026-08-24 16:03:02 +01:00
  • 8b5e02c760 refactor(storage): resolve every app directory through appDir librelad 2026-08-24 04:09:51 +01:00
  • 2d24a764a8 refactor(storage): route elevation tests and the WebUI tree through paths.sh librelad 2026-08-24 04:04:19 +01:00
  • db04f8f000 feat(storage): path primitives for multiple container roots librelad 2026-08-24 04:01:19 +01:00
  • 48c78270a9 docs(roadmap): the Disks view — one row per filesystem librelad 2026-08-24 03:54:22 +01:00
  • 5491455290 docs(roadmap): storage and backup locations may share a drive librelad 2026-08-24 03:51:33 +01:00
  • 5efdae0167 docs(roadmap): removable drives warn, never block librelad 2026-08-24 03:49:12 +01:00
  • bb56b1db4b docs(roadmap): fitness checks, first-run wizard step, config panels librelad 2026-08-24 03:35:01 +01:00
  • 786d8ebfe8 docs(roadmap): drop STORAGE_PINNED, record the name-vs-path decision librelad 2026-08-24 03:14:04 +01:00
  • 8ef04ef5ad docs(roadmap): tighten the storage-locations design librelad 2026-08-24 03:04:53 +01:00
  • 472a63466b feat(instance): repair pass for clones made before the tool/auth renames librelad 2026-08-24 03:01:24 +01:00
  • 11e8142d41 docs(roadmap): plan per-app storage locations librelad 2026-08-24 02:58:25 +01:00
  • f82237da36 fix(instance): make an instance's own functions reachable librelad 2026-08-24 02:51:18 +01:00
  • 0e6eb841bd fix(webui): refresh the Instances bar when an instance task completes librelad 2026-08-24 02:48:18 +01:00
  • 66cdb5be0d fix(backup): report the real reason a live capture fails librelad 2026-08-21 01:04:18 +01:00
  • facf764c4b feat(webui): bulk selection on app tasks, updates overview, and app backups librelad 2026-08-21 00:59:19 +01:00