Skip to content

v1.1.0

Choose a tag to compare

@gioxx gioxx released this 25 Sep 18:08
5de1a59

This release adds an operator-facing agent read API, an "analyzed" triage workflow across the admin dashboard and single-paste view, stronger visual feedback throughout, and a custom delete-confirmation modal — plus several storage-layer and correctness fixes found during review and live testing.

New features

  • GET /api/agent/paste/<slug>: a Bearer-token-protected, read-only endpoint so an AI agent (or any operator-side automation) can fetch a paste's content given the plain share link a user reports, without needing an admin login session. Sensitive uploader metadata (IP, country, user agent) is redacted from the response, and expired pastes correctly return 404.
  • Analyzed triage workflow: mark an upload as analyzed straight from its own page (single-click Mark/Unmark, no confirmation needed) or in bulk from the dashboard toolbar (Mark as analyzed (N), acting on every selected row at once, no confirmation). The dashboard shows a read-only checkmark badge next to the slug for analyzed uploads, and a toolbar toggle switches between showing everything and hiding analyzed rows.
  • Delete, everywhere: single-row and bulk delete from the dashboard, and a Delete button on the upload's own page too — all routed through the same custom on-screen confirmation modal (no native browser confirm()).
  • Copy feedback: every copy button (paste view and dashboard bulk-copy) and the new bulk Mark-as-analyzed action flash green with a checkmark on success, instead of a silent text swap.
  • Back to admin: a one-click icon button on every upload's page returns to a fresh dashboard — handy right after deleting or toggling analyzed on the upload you were viewing.
  • Rows and forms auto-deselect once a bulk action (mark or copy) completes, so the toolbar always reflects "done" instead of leaving a stale selection.

Fixes

  • updatePasteMeta no longer risks losing or duplicating a paste's metadata under concurrent writes (e.g. two quick toggles of the analyzed flag).
  • Pastes uploaded before this release (missing the new analyzed field) are read as false instead of undefined.
  • Fixed a double-escaping bug in the paste view's Delete confirmation message that broke the entire inline script in production — silently disabling Copy, Mark/Unmark as analyzed, and Delete together. Added a regression test that actually parses the emitted script instead of only checking for substrings.
  • Fixed the paste-view copy button reading event.currentTarget after an await (always null by then per spec), which silently skipped the copy-success flash.
  • Synced the frontpage's footer with the server-rendered pages' footer (License link, product-page link were missing).

Docs

  • README documents the full admin feature set and the optional AGENT_API_TOKEN environment variable.
  • Added a license reference (AGPL-3.0) and a link to logdrop's official page in the footer, on every page.

Full Changelog: v1.0.0...v1.1.0