Commit Graph

117 Commits

Author SHA1 Message Date
Nick Sweeting
d044f5ee0e
Isolate OpenCode in its plugin and stop forced Git initialization (#1869)
* Stop initializing Git repositories for OpenCode sessions

* Isolate optional AI failures behind a lazy plugin adapter

* Keep explicit plugin enable flags boolean after config resolution

* Use Django login redirect encoding at the optional agent boundary

* Cover cold-start failures and real browser storage isolation

* Verify persisted dismissal and native storage denial variants

* Keep headless browser interaction independent of display timing

* Install optional OpenCode clients through the plugin extra
2026-09-03 16:05:30 -07:00
Nick Sweeting
57f15284b4
Link static export JSONL manifest 2026-08-30 15:42:42 -07:00
Nick Sweeting
b06f2ca7ae
Keep static snapshot links offline-safe 2026-08-30 15:39:35 -07:00
Nick Sweeting
a1b763974e
Handle unarchived static snapshot details 2026-08-30 13:01:34 -07:00
Nick Sweeting
c8ef576235
fix: secure snapshot output deletion handoff 2026-08-29 23:03:08 -07:00
Nick Sweeting
6906edc076
fix: make portable exports and screenshot deploys reliable 2026-08-29 16:03:29 -07:00
Nick Sweeting
3fcb5700ed
fix: place auxiliary snapshot cards before compact cards 2026-08-29 15:06:49 -07:00
Nick Sweeting
6ed11bd04f
fix: pack compact output cards in dense grid 2026-08-29 14:14:14 -07:00
Nick Sweeting
1105a18163
fix: pack compact snapshot output cards 2026-08-29 14:04:54 -07:00
Nick Sweeting
4762ff4f57
fix: soften archive result delete controls 2026-08-28 21:14:59 -07:00
Nick Sweeting
d882c4bc0c
feat: add output controls to snapshot admin 2026-08-28 14:35:40 -07:00
Nick Sweeting
e548608149
feat: add snapshot output batch deletion 2026-08-27 21:34:48 -07:00
Nick Sweeting
f04433e9ad
eliminate snapshot detail query overhead 2026-08-27 15:24:04 -07:00
Nick Sweeting
4410b2a7af
show snapshot sizes in capture chooser 2026-08-27 13:33:49 -07:00
Nick Sweeting
3a7354d230
fix unified browser extension snapshots
Some checks are pending
CI / Linters (push) Waiting to run
CI / Install and CLI platform compatibility (push) Waiting to run
CI / Discovered test matrix (push) Waiting to run
CI / Documentation and root tests (push) Waiting to run
CI / CodeQL (push) Waiting to run
CI / Tested Python artifacts (push) Waiting to run
CI / Tested Docker images (push) Waiting to run
CI / All required CI lanes (push) Blocked by required conditions
Deploy Publicsite to GitHub Pages / deploy (push) Waiting to run
2026-08-26 18:24:08 -07:00
Nick Sweeting
4ccada2933 Keep setup bootstrap aligned with locked abxpkg 2026-08-16 01:20:54 -07:00
Nick Sweeting
afa6b78fff Toggle snapshot header once per click 2026-08-13 11:57:02 -07:00
Nick Sweeting
9a74934667
Keep wildcard TLS to one certificate 2026-08-13 01:11:05 -07:00
Nick Sweeting
6f4e4b0e5c
Document HTTPS setup restart 2026-08-12 22:53:45 -07:00
Nick Sweeting
15398709ae
Use flex sizing for snapshot previews 2026-08-12 16:27:01 -07:00
Nick Sweeting
849a66c1d5
Clarify setup wizard ingress certificate guidance
Some checks are pending
CI / Linters (push) Waiting to run
CI / Install and CLI platform compatibility (push) Waiting to run
CI / Discovered test matrix (push) Waiting to run
CI / Documentation and root tests (push) Waiting to run
CI / CodeQL (push) Waiting to run
CI / Tested Python artifacts (push) Waiting to run
CI / Tested Docker images (push) Waiting to run
CI / All required CI lanes (push) Blocked by required conditions
Deploy Publicsite to GitHub Pages / deploy (push) Waiting to run
2026-08-12 16:07:28 -07:00
Nick Sweeting
183775bf32
Resize snapshot previews with header state 2026-08-12 11:02:23 -07:00
Nick Sweeting
efa0ed0110
Fix navbar logout action 2026-08-01 20:47:49 -07:00
Nick Sweeting
f58301b70c Improve setup wizard sections 2026-07-26 12:23:13 -07:00
Nick Sweeting
291efbbe3b
Align snapshot plugin thumbnail icon 2026-07-25 22:28:55 -07:00
Nick Sweeting
c24a34a930
Refine snapshot thumbnail heading layout 2026-07-25 22:24:42 -07:00
Nick Sweeting
8254f962ba
Fix CI runtime resolution and host policy regressions 2026-07-25 18:35:25 -07:00
Nick Sweeting
05350846ab
Sync ArchiveBox UI and setup updates 2026-07-25 14:50:15 -07:00
Nick Sweeting
cbeeda9210
Keep plugin dependency selection server-side 2026-06-24 13:47:11 -07:00
Nick Sweeting
7712a9803f
Hide agent links when OpenCode is disabled 2026-06-21 22:03:44 -07:00
Nick Sweeting
11c9f8c163
fix: improve snapshot preview rendering 2026-06-14 00:16:21 -07:00
Nick Sweeting
18e3580dcd
fix: harden reflected metadata rendering 2026-06-14 00:06:35 -07:00
Nick Sweeting
4fa90e484a
release: archivebox 0.9.34rc71 2026-06-07 20:51:28 -07:00
Nick Sweeting
87b518314a
release: archivebox 0.9.34rc67 2026-06-07 04:06:45 -07:00
Nick Sweeting
c0fb8eb532
release: archivebox 0.9.34rc39 2026-06-03 17:19:48 -07:00
Nick Sweeting
c075d654d8
Consolidate runtime config handling 2026-06-01 15:03:40 -07:00
Nick Sweeting
cab05eb1c6
Refactor plugins search progress and config flows 2026-06-01 00:08:27 -07:00
Nick Sweeting
28860d016a
release: archivebox 0.9.33rc80
Some checks are pending
CodeQL / Analyze (${{ matrix.language }}) (none, python) (push) Waiting to run
Build Debian package / build (amd64) (push) Waiting to run
Build Debian package / build (arm64) (push) Waiting to run
Build Debian package / test (amd64, ubuntu-24.04) (push) Blocked by required conditions
Build Debian package / test (arm64, ubuntu-24.04-arm) (push) Blocked by required conditions
Build Debian package / release (push) Blocked by required conditions
Build Docker image / build ${{ matrix.platform }} (digest-linux-amd64, docker-amd64, linux/amd64, ubuntu-24.04) (push) Waiting to run
Build Docker image / build ${{ matrix.platform }} (digest-linux-arm64, docker-arm64, linux/arm64, ubuntu-24.04-arm) (push) Waiting to run
Build Docker image / publish multiarch tags (push) Blocked by required conditions
Run linters / lint (push) Waiting to run
Build Pip package / build (push) Waiting to run
Release State / release-state (push) Waiting to run
Parallel Tests / Discover test files (push) Waiting to run
Parallel Tests / ${{ matrix.test.name }} (push) Blocked by required conditions
Parallel Tests / ${{ matrix.plugin.name }} (push) Blocked by required conditions
Run tests / python_tests (ubuntu-22.04, 3.13) (push) Waiting to run
Run tests / docker_tests (push) Waiting to run
2026-05-31 19:16:51 -07:00
Nick Sweeting
b2689266f7
release: archivebox 0.9.33rc79 2026-05-31 18:57:22 -07:00
Nick Sweeting
76c8ca4ca8
refactor: remove ENABLED_PLUGINS config, use PLUGINS as the single plugin selector
ENABLED_PLUGINS and PLUGINS were two near-identical config keys: PLUGINS
was the CLI/per-run whitelist (--plugins flag, runner config), while
ENABLED_PLUGINS was the UI/API "persisted enabled set" — but both ended
up steering the same plugin resolution. Consolidating on PLUGINS as the
single source of truth.

- archivebox/config/common.py: drop the ENABLED_PLUGINS Field entirely
  (no alias, no compat shim — the migration is one-shot).
- archivebox/hooks.py:get_enabled_plugins(): read PLUGINS instead of
  ENABLED_PLUGINS. Function name kept (describes the return value).
- archivebox/templates/core/add.html: admin "Add" form JS now writes to
  PLUGINS; help text updated to reference PLUGINS.

views.py:1302 and runner.py:585 already read/wrote PLUGINS; they're now
consistent with the resolver.

abx-dl is unaffected — it receives selected_plugins as a Python list
argument and never reads either config key.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-31 02:49:53 -07:00
Nick Sweeting
c1e792fee6
release: v0.9.33rc52 2026-05-31 01:24:43 -07:00
Nick Sweeting
6ce2555dfd
fix: rename utils.py → util.py across modules, fix add --index-only, misc cleanups
Renames (no functional change, just consistency with the rest of the codebase):
- cli/cli_utils.py → cli/cli_util.py
- core/host_utils.py → core/host_util.py
- core/tag_utils.py → core/tag_util.py
- crawls/schedule_utils.py → crawls/schedule_util.py
- machine/env_utils.py → machine/env_util.py

Functional fixes:
- archivebox add --index-only now materializes Snapshot rows synchronously
  via crawl.create_snapshots_from_urls() instead of just queueing the Crawl
  and leaving the index empty. The previous behavior broke every test that
  expected --index-only to populate the index, since the runner is never
  started in index-only mode.
- config/collection.py: add _coerce_from_str_dict as the inverse of
  _coerce_to_str_dict so JSON-encoded INI values are decoded back to native
  dict/list types when mirrored into Machine.config (a JSONField). Without
  this, downstream consumers like MachineEvent / abx-dl get raw JSON
  strings where they expect dicts.

Plus matching admin / middleware / model touch-ups, the registration
password_change_form template, and assorted small cleanups the user
worked through while validating the deploy path.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-30 14:30:33 -07:00
Nick Sweeting
b0a47e8bf5
wip: snapshot live progress, universal --init, runner perms, supervisord SIGINT
- Snapshot detail page: embed scoped live-progress monitor (same-origin
  /progress.json on whichever host the page is served from); hide admin
  action buttons when scoped; per-snapshot perms via can_view_snapshot.
- crawl_file API: respect crawl-level permissions; PUBLIC/UNLISTED served
  to guests, PRIVATE returns 404 for non-admin/non-owner.
- CrawlRunner: replace allow_paused_snapshot_maintenance with
  allow_maintenance_on_inactive_crawl so SEALED crawls don't short-circuit
  the cancellation guard for legitimate maintenance hooks (search backend
  backfill, fs migration, etc.). Fixes infinite STARTED loop on snapshots
  with queued search_backend results.
- Universal `--init` flag: works on any subcommand (server, update, add,
  shell, install, ...). Detected at module load, stripped from argv, and
  consumed in the dispatcher so subprocesses inherit a clean env.
- supervisord_util.run_runner_worker: route Ctrl+C through
  supervisor.signalProcess(name, "SIGINT") instead of raw os.kill on a
  cached pid, gated on statename=RUNNING. Prevents killing unrelated
  processes when the worker's pid has been reused by the OS.
- Login page: remove non-functional password-reset links; add
  has_real_admin_users template tag to gate the bootstrap hint.
- Add page: hide underline on the "Get the extension" link.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-30 04:45:15 -07:00
Nick Sweeting
9704d933e6
release: archivebox 0.9.33rc41 2026-05-29 04:17:08 -07:00
Nick Sweeting
dd741de767
release: archivebox 0.9.33rc40 2026-05-29 04:06:13 -07:00
Nick Sweeting
2d2b8ff047
release: archivebox 0.9.33rc39 2026-05-29 03:53:41 -07:00
Nick Sweeting
c750084c3c
release: archivebox 0.9.33rc37 2026-05-29 02:50:04 -07:00
Nick Sweeting
fbcc972441
backup: save in-progress dev changes 2026-05-28 05:20:52 -07:00
Nick Sweeting
09f7c8bba0
release: archivebox 0.9.32rc32 2026-05-27 14:50:49 -07:00
Nick Sweeting
b37dd20d21
feat: refresh public snapshot index 2026-05-27 11:03:13 -07:00