release: archivebox 0.9.32rc1
Some checks failed
CodeQL / Analyze (${{ matrix.language }}) (none, python) (push) Has been cancelled
Build Debian package / build (amd64) (push) Has been cancelled
Build Debian package / build (arm64) (push) Has been cancelled
Build Docker image / buildx (push) Has been cancelled
Run linters / lint (push) Has been cancelled
Build Pip package / build (push) Has been cancelled
Release State / release-state (push) Has been cancelled
Parallel Tests / Discover test files (push) Has been cancelled
Run tests / python_tests (ubuntu-22.04, 3.13) (push) Has been cancelled
Run tests / docker_tests (push) Has been cancelled
Build Debian package / test (amd64, ubuntu-24.04) (push) Has been cancelled
Build Debian package / test (arm64, ubuntu-24.04-arm) (push) Has been cancelled
Build Debian package / release (push) Has been cancelled
Parallel Tests / ${{ matrix.test.name }} (push) Has been cancelled
Parallel Tests / ${{ matrix.plugin.name }} (push) Has been cancelled

This commit is contained in:
Nick Sweeting 2026-05-25 00:09:24 -07:00
parent 629c4ba468
commit 9b0aaeb6f5
No known key found for this signature in database
3 changed files with 19 additions and 9 deletions

View File

@ -408,6 +408,7 @@
class="tag-admin-shell"
data-search-url="{{ tag_search_api_url }}"
data-create-url="{{ tag_create_api_url }}"
data-initial-has-snapshots="{{ initial_has_snapshots }}"
>
<section class="tag-admin-toolbar">
<div class="tag-admin-panel tag-admin-panel--search">
@ -561,6 +562,7 @@ document.addEventListener('DOMContentLoaded', function () {
sort: typeof next.sort === 'string' ? next.sort : (sortSelect?.value || 'created_desc'),
created_by: typeof next.created_by === 'string' ? next.created_by : (createdBySelect?.value || ''),
year: typeof next.year === 'string' ? next.year : (yearSelect?.value || ''),
has_snapshots: typeof next.has_snapshots === 'string' ? next.has_snapshots : (shell.dataset.initialHasSnapshots || 'yes'),
};
}
@ -597,6 +599,12 @@ document.addEventListener('DOMContentLoaded', function () {
url.searchParams.delete('year');
}
if (state.has_snapshots && state.has_snapshots !== 'yes') {
url.searchParams.set('has_snapshots', state.has_snapshots);
} else {
url.searchParams.delete('has_snapshots');
}
window.history.replaceState({}, '', url.toString());
}
@ -607,7 +615,9 @@ document.addEventListener('DOMContentLoaded', function () {
}
function renderCards(nextCards, state) {
cards = Array.isArray(nextCards) ? nextCards : [];
cards = Array.isArray(nextCards) ? nextCards.filter(function (card) {
return Number(card && card.num_snapshots || 0) > 0;
}) : [];
setMeta(state || getCurrentState(), cards.length);
if (!cards.length) {
@ -625,9 +635,7 @@ document.addEventListener('DOMContentLoaded', function () {
'<span>' + escapeHtml(snapshot.title) + '</span>' +
'</a>';
}).join('')
: snapshotCount > 0
? '<a class="tag-card__empty tag-snapshot-badge" href="' + escapeHtml(card.filter_url) + '">' + escapeHtml(snapshotCount) + ' snapshot' + (snapshotCount === 1 ? '' : 's') + ' attached</a>'
: '<div class="tag-card__empty">No snapshots attached yet.</div>';
: '<a class="tag-card__empty tag-snapshot-badge" href="' + escapeHtml(card.filter_url) + '">' + escapeHtml(snapshotCount) + ' snapshot' + (snapshotCount === 1 ? '' : 's') + ' tagged</a>';
return '' +
'<article class="tag-card" data-id="' + escapeHtml(card.id) + '" data-slug="' + escapeHtml(card.slug) + '" data-filter-url="' + escapeHtml(card.filter_url) + '" data-rename-url="' + escapeHtml(card.rename_url) + '" data-delete-url="' + escapeHtml(card.delete_url) + '" data-export-urls-url="' + escapeHtml(card.export_urls_url) + '" data-export-jsonl-url="' + escapeHtml(card.export_jsonl_url) + '">' +
@ -661,6 +669,7 @@ document.addEventListener('DOMContentLoaded', function () {
if (state.sort) params.set('sort', state.sort);
if (state.created_by) params.set('created_by', state.created_by);
if (state.year) params.set('year', state.year);
if (state.has_snapshots) params.set('has_snapshots', state.has_snapshots);
const url = withApiKey(searchUrl + '?' + params.toString());
const response = await fetch(url, {
headers: buildHeaders(false),
@ -678,6 +687,7 @@ document.addEventListener('DOMContentLoaded', function () {
sort: payload.sort || state.sort,
created_by: payload.created_by || '',
year: payload.year || '',
has_snapshots: payload.has_snapshots || state.has_snapshots,
},
};
}

View File

@ -1,6 +1,6 @@
{
"name": "archivebox",
"version": "0.9.31rc44",
"version": "0.9.32rc1",
"repository": "github:ArchiveBox/ArchiveBox",
"license": "MIT",
"dependencies": {

View File

@ -1,6 +1,6 @@
[project]
name = "archivebox"
version = "0.9.31rc44"
version = "0.9.32rc1"
requires-python = ">=3.13"
description = "Self-hosted internet archiving solution."
authors = [{name = "Nick Sweeting", email = "pyproject.toml@archivebox.io"}]
@ -79,9 +79,9 @@ dependencies = [
### Extractor dependencies (optional binaries detected at runtime via shutil.which)
### Binary/Package Management
"abxbus>=2.5.4", # EventBus API
"abxpkg>=1.10.35", # for: detecting, versioning, and installing binaries via apt/brew/pip/npm
"abx-plugins>=1.10.100", # shared ArchiveBox plugin package with Chrome/Puppeteer dependency wiring
"abx-dl>=1.10.100", # shared ArchiveBox downloader package with blocking install preflight
"abxpkg>=1.11.1", # for: detecting, versioning, and installing binaries via apt/brew/pip/npm
"abx-plugins>=1.11.1", # shared ArchiveBox plugin package with Chrome/Puppeteer dependency wiring
"abx-dl>=1.11.1", # shared ArchiveBox downloader package with blocking install preflight
### UUID7 backport for Python <3.14
"uuid7>=0.1.0; python_version < '3.14'", # provides the uuid_extensions module on Python 3.13
]