Commit Graph

335 Commits

Author SHA1 Message Date
Nick Sweeting
e43001612f
Quiesce crawl in API auth workflow test 2026-07-26 23:27:47 -07:00
Nick Sweeting
e6c3dc8a64
Fix docs root install ownership and live progress rows 2026-07-26 20:59:08 -07:00
Nick Sweeting
50939fdbcb Resolve binaries through abxpkg hook projections 2026-07-26 16:17:16 -07:00
Nick Sweeting
f58301b70c Improve setup wizard sections 2026-07-26 12:23:13 -07:00
Nick Sweeting
883c4f3c93 Bump downloader dependencies for dev 2026-07-26 12:07:05 -07:00
Nick Sweeting
317da5ea7c
Constrain transformed preview images
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-07-25 23:28:37 -07:00
Nick Sweeting
412bd144f0
Stabilize rewritten preview screenshots 2026-07-25 22:54:35 -07:00
Nick Sweeting
9129e41c76
Stabilize live chrome signal cleanup test 2026-07-25 22:54:05 -07:00
Nick Sweeting
080238f215
Cover root HTML image response rewrites 2026-07-25 22:35:42 -07:00
Nick Sweeting
fbad221bc4
Rewrite archived HTML image sources to responses 2026-07-25 22:34:30 -07:00
Nick Sweeting
b7eab3ebda
Fix real binary resolution in CI tests 2026-07-25 22:05:09 -07:00
Nick Sweeting
8254f962ba
Fix CI runtime resolution and host policy regressions 2026-07-25 18:35:25 -07:00
Nick Sweeting
28d3392291
Fix screenshot deploy sequencing 2026-07-25 15:26:08 -07:00
Nick Sweeting
0fea07064d
Honor forwarded proto in setup URL suggestions 2026-07-25 15:10:57 -07:00
Nick Sweeting
05350846ab
Sync ArchiveBox UI and setup updates 2026-07-25 14:50:15 -07:00
Nick Sweeting
c89f6b0542
Fix ArchiveBox CI runtime regressions 2026-07-25 12:26:20 -07:00
Nick Sweeting
d4ff0d033f
Merge remote-tracking branch 'origin/dev' into codex/all-tests-ci 2026-07-25 11:51:21 -07:00
Nick Sweeting
7658df9208 Fix ArchiveBox CI runtime paths and docs validation 2026-07-25 11:51:15 -07:00
Claude
f7c182d76c
Merge remote-tracking branch 'origin/dev' into claude/archivebox-postgresql-support-xrlgim
# Conflicts:
#	.github/workflows/test-parallel.yml
#	.github/workflows/test.yml
#	uv.lock
2026-07-24 10:30:55 +00:00
Nick Sweeting
eacfae5d6c
Run all ArchiveBox tests through unified CI 2026-07-24 00:50:40 -07:00
Claude
7167c5dd8a
Add native PostgreSQL support alongside SQLite
Add DATABASE_ENGINE=postgres (plus DATABASE_HOST/PORT/USER/PASSWORD/NAME)
config and centralize all sqlite-vs-postgres branching in
archivebox.misc.db:

- get_database_settings() builds DATABASES for either backend; the sqlite
  path is unchanged (custom lock-retry backend, same PRAGMAs).
- database_exists()/ensure_database_ready() replace index.sqlite3 file
  checks; init auto-creates the postgres database when missing.
- approximate_row_counts() serves admin index counts from sqlite_stat1 or
  pg_class.reltuples; missing-table detection covers both vendors.
- rebuild_models_from_migration_state() lets historical sqlite-only raw
  SQL migrations resync postgres schema from Django migration state at
  every divergence point (postgres can never hold legacy data, so
  affected tables are empty when these run). All raw-DDL and PRAGMA
  migrations are now vendor-gated with sqlite behavior byte-for-byte
  unchanged.
- A pre_save clamp truncates CharField values to max_length: sqlite
  never enforced varchar(n) but postgres does (e.g. long crawl labels).
- Collation-sensitive URL range scans branch to escaped LIKE on postgres
  (with a text_pattern_ops index) since linguistic collations break
  bytewise range tricks; the crawl-config JSON search wave gets a
  jsonb-text implementation.

Verified on real PostgreSQL 16: fresh init applies the entire migration
graph, schema matches models exactly (column-level parity check +
makemigrations --check), and add/run/list/search/status/remove all work
end-to-end. New test_postgres_backend.py suite boots a real throwaway
postgres cluster (initdb + pg_ctl); CI workflows install postgres server
binaries.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019YHSjZM6TstSAMN2PhgfUg
2026-07-23 17:08:47 +00:00
Nick Sweeting
a3c5e13ff8 Release ArchiveBox through complete CI coverage
Some checks failed
CI / Linters (push) Waiting to run
CI / Complete test suite (push) Waiting to run
CI / Sharded and plugin tests (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) Has been cancelled
2026-07-23 07:00:05 -07:00
Nick Sweeting
6592af0d19
Exercise ArchiveBox through unified runtime lifecycles 2026-07-21 19:26:42 -07:00
Nick Sweeting
1ca93ee0f6
Use corrected unified runtime releases 2026-07-20 14:23:03 -07:00
Nick Sweeting
01f5666dbc
Route runtime binaries through abxpkg 2026-07-20 12:50:14 -07:00
Nick Sweeting
a5ae6e9022 Restore existing hook readiness boundary 2026-07-20 08:05:25 -07:00
Nick Sweeting
48bef35706 Restore deterministic background lifecycle tests 2026-07-20 01:31:28 -07:00
Nick Sweeting
be9b826503 Wait for imported root snapshot completion 2026-07-20 00:04:22 -07:00
Nick Sweeting
15f85be84b
Assert recovered snapshots record completion 2026-07-19 23:25:21 -07:00
Nick Sweeting
2cd0c88cd0
Finalize parser output before sealing snapshots 2026-07-19 22:58:05 -07:00
Nick Sweeting
9a2bde2252
Keep import parser tests offline 2026-07-19 22:08:58 -07:00
Nick Sweeting
6e915c11aa
Restore complete deterministic ArchiveBox CI 2026-07-19 20:08:29 -07:00
Nick Sweeting
ee0e3eb43c
Enforce the sealed search maintenance boundary 2026-07-19 08:54:32 -07:00
Nick Sweeting
0843fc67e4
Restore complete deterministic CI coverage 2026-07-18 21:22:53 -07:00
Nick Sweeting
1106b84d99
Treat zombie test processes as exited 2026-07-18 16:59:57 -07:00
Nick Sweeting
a82a94ffa7
Make recursive crawl coverage deterministic 2026-07-18 15:39:40 -07:00
Nick Sweeting
6e2853fbf0
Isolate recursive crawl plugin runtime paths 2026-07-18 10:44:10 -07:00
Nick Sweeting
cfb0f7c5d9
Keep search backend selection independent of plugin filters 2026-06-24 13:19:25 -07:00
Nick Sweeting
ca2254d55b
Centralize plugin selection dependency resolution 2026-06-24 12:12:52 -07:00
Nick Sweeting
bf1d7ebe15
Limit disabled extractor plugin narrowing to version tests 2026-06-24 11:15:43 -07:00
Nick Sweeting
f61c8ad5ea
Keep disabled extractor CLI tests from resolving plugins 2026-06-24 10:58:08 -07:00
Nick Sweeting
28bce9ebaf
Honor explicit plugin enable aliases over plugin selection 2026-06-24 10:41:59 -07:00
Nick Sweeting
8284321510
Resolve plugin config aliases in ArchiveBox config 2026-06-24 10:14:28 -07:00
Nick Sweeting
3fa3794bf3
Skip disabled plugin binary checks in version 2026-06-24 09:51:28 -07:00
Nick Sweeting
c91fea7773
Fix unreadable persona profile handling 2026-06-24 09:07:49 -07:00
Nick Sweeting
83188f70e6
Fix stuck snapshots with disabled queued plugins 2026-06-22 04:13:22 -07:00
Nick Sweeting
682b2e25b1
Bump opencode plugin session route 2026-06-22 03:13:30 -07:00
Nick Sweeting
276d98b5c5
Use shared opencode plugin release 2026-06-22 00:01:24 -07:00
Nick Sweeting
6fa3b5c9bb
Test disabled OpenCode navigation explicitly 2026-06-21 22:58:47 -07:00
Nick Sweeting
7712a9803f
Hide agent links when OpenCode is disabled 2026-06-21 22:03:44 -07:00