• Joined on 2024-02-11
poslop closed issue poslop/palette#35 2026-09-09 06:34:48 +00:00
Refactor: project structure cleanup
poslop pushed to main at poslop/palette 2026-09-09 06:33:40 +00:00
4f1e901f04 Refactor: split monolith into cmd/palette + internal/{store,api,web,lang} (#35)
poslop closed issue poslop/palette#40 2026-09-09 05:44:10 +00:00
Admin endpoint with install-time ENV key
poslop pushed to main at poslop/palette 2026-09-09 05:44:02 +00:00
a3349b4a98 Admin endpoint: ENV/file admin key, --reset-admin-key, settings API wired into ratelimit/max-bytes/default-expiry/burn-window (#40)
poslop commented on issue poslop/palette#33 2026-09-09 05:35:06 +00:00
Bug fixing sweep: end-to-end audit of all features

Bug-fixing sweep complete. Full systematic pass over create/view/burn/expiry/history/saved/navigation/concurrency flows against the live server, plus code review of main.go/web.go/burn.go/cans.go/c…

poslop closed issue poslop/palette#33 2026-09-09 05:35:06 +00:00
Bug fixing sweep: end-to-end audit of all features
poslop pushed to main at poslop/palette 2026-09-09 05:34:25 +00:00
03600b2ed5 sweep: fix missing view_count on HTML views, API expiry bounds, search ignoring custom slug (#33)
poslop commented on issue poslop/palette#34 2026-09-09 05:14:39 +00:00
Security pentest sweep

Security pentest sweep complete. Findings (live-verified against localhost:8080):

CRITICAL — Auth bypass: forgeable password unlock cookie — FIXED (cb23707) The pw_<id> cookie was a…

poslop pushed to main at poslop/palette 2026-09-09 05:14:03 +00:00
cb23707125 pentest: bind unlock cookie to HMAC per-paste token; serve only safe content types on /raw and can items with nosniff (#34)
poslop closed issue poslop/palette#47 2026-09-09 05:00:01 +00:00
Rework README: user-friendly feature list and get started guide
poslop commented on issue poslop/palette#47 2026-09-09 05:00:01 +00:00
Rework README: user-friendly feature list and get started guide

Reworked in 238dc96: user-first intro, Features list, Get Started (source+docker image), screenshots table referencing docs/palette-previews, config table, single API example pointing to the new…

poslop commented on issue poslop/palette#48 2026-09-09 04:59:47 +00:00
Custom expiry times

Implemented in 127c12c + 15ce7ff: Custom radio reveals number+unit select (minutes/hours/days/weeks/months, months=30d); client-side validation 1min-1year with inline error; composed Go-duration…

poslop commented on issue poslop/palette#49 2026-09-09 04:59:47 +00:00
Burn after N reads

Implemented in d5a47b1. Reads counted per unique viewer session per the decision comment: reads_limit/reads_used columns (guarded ALTER TABLE) + paste_views (paste_id, viewer_id, last_viewed).…

poslop closed issue poslop/palette#49 2026-09-09 04:59:29 +00:00
Burn after N reads
poslop closed issue poslop/palette#48 2026-09-09 04:59:28 +00:00
Custom expiry times
poslop pushed to main at poslop/palette 2026-09-09 04:58:56 +00:00
15ce7ff011 Fix unclosed composeCustomExpiry brace that broke page JS (#48)
poslop pushed to main at poslop/palette 2026-09-09 04:54:55 +00:00
238dc96454 README rework: user-first structure, features, screenshots, config table; API detail moved to docs/API.md (#47)
poslop pushed to main at poslop/palette 2026-09-09 04:54:04 +00:00
d5a47b1a31 Burn after N reads: reads_limit/reads_used, per-viewer 15min dedupe via paste_views, reads_remaining in API+stats pill, raw counts as read (#49)
127c12c79a Custom expiry: Custom radio with number+unit select, client-side validation 1min-1year, Go-duration composition (#48)
Compare 2 commits »
poslop closed issue poslop/palette#56 2026-09-09 03:42:00 +00:00
Topbar: external-link arrow on Git + rename 'Mine' nav item
poslop pushed to main at poslop/palette 2026-09-09 03:39:43 +00:00
2e1ce508fa Saved page: live search + sortable columns via shared table module (#57)