Commit Graph

14 Commits

Author SHA1 Message Date
Antigravity d5a9efd285 fix: burn-after-read creator bypass — show share panel instead of navigating
When a paste is created with burn_after_read enabled, redirect to the
paste view was consuming the burn before the recipient could open it.

Fix: after creating a burn paste, the creator never navigates to the
view page. Instead, paste_create.js swaps the editor for a centered
'Burn link ready' share panel showing the full URL (with key fragment)
pre-selected in a monospace input and a Copy button. The editor and nav
controls are hidden. A 'Create another' link returns to a fresh editor.

The first person to actually open the URL is always the intended
recipient, who triggers the burn as designed.
2026-05-16 12:49:44 +01:00
Antigravity 3c15f1e2c7 feat: burn-after-read (self-destruct) paste option
- Add 🔥 Burn checkbox on the create page (next to Discuss)
- New DB columns: burn_after_read (INTEGER) and burn_token (TEXT) with
  automatic migration for existing databases
- POST /api/burn/<paste_id> endpoint: validates a one-time burn_token
  (constant-time comparison), deletes paste + comments atomically
- burn_token embedded as a JSON island in view.html so paste_view.js
  can read it without Jinja in external scripts
- After successful decryption, scheduleBurn() fires 1.5 s later so
  the user has time to read/copy before the paste is destroyed
- showBurnBanner() inserts a warm amber warning strip (slides in with
  animation) informing the viewer the paste will self-destruct
- Burn is intentionally NOT persisted to localStorage — it's a
  deliberate per-paste choice, not a sticky preference
- Server responds 200 even if paste is already gone (idempotent)
2026-05-16 12:31:47 +01:00
ComputerTech 24d70aeb08 feat: scrollable view layout, discussions extend page, word wrap toggle, divider-style comments 2026-04-06 21:10:14 +01:00
ComputerTech 89e194a435 feat: discussions (comments) on pastes with optional nickname and E2E encryption 2026-04-06 20:50:07 +01:00
ComputerTech c8d78c7d61 fix: clicking highlighted line number clears the highlight 2026-04-06 19:50:10 +01:00
ComputerTech f93d232769 feat: GitHub-style line linking (?L=5 or ?L=5-12) 2026-04-06 19:46:16 +01:00
ComputerTech 636d4c919e fix: line numbers button for plain text and initial render 2026-04-06 18:00:46 +01:00
ComputerTech 8365b38673 Implement user deletion tokens, admin panel, and security hardening 2026-03-31 12:05:06 +01:00
ComputerTech cdbd700c2e Allow configuring paste ID and encryption key lengths in config.json 2026-03-28 01:15:14 +00:00
ComputerTech f8cc163ba9 Switch to AES-128 for shorter decryption keys in URLs (backwards compatible) 2026-03-28 01:08:21 +00:00
ComputerTech a46cba7143 Remove 'Never' expiry (1-year max) and fix Raw blob URL issue 2026-03-28 01:00:52 +00:00
ComputerTech 53b908e651 Fix the clear button and improve rate limiting 2026-03-27 16:04:26 +00:00
ComputerTech 0bb85da6bb Comprehensive security & reliability audit: hardened CSP, fixed vulnerabilities, improved theme management, and added line numbers toggle. 2026-03-27 15:22:53 +00:00
ComputerTech 14be14e437 Initial commit — Bastebin 2026-03-26 14:44:36 +00:00