Commit Graph

142 Commits

Author SHA1 Message Date
2f02df4910 security: encrypt NaCl keypair at rest with AES-GCM and harden PoW captcha signature with HMAC-SHA256 2026-02-08 14:15:23 +01:00
ce2b8657bb fix: remove paid_at and payment_status from listing detail fields for public access 2026-02-08 14:09:58 +01:00
763870e135 test: add service tests for DirectusClient, DirectusError, categories, files, listings, and notifications 2026-02-08 14:08:57 +01:00
5493148551 feat: use sessionStorage by default for UUID/tokens, add opt-in remember-me with warning 2026-02-08 14:02:46 +01:00
8073003460 refactor: modularize directus.js into 8 focused submodules with backward-compatible facade 2026-02-08 13:57:46 +01:00
9f48e073b8 fix: security hardening + code quality improvements (401 retry limit, UUID crypto, debounce this-bug, deduplicate CSS/helpers, optimize SW precache) 2026-02-08 13:53:23 +01:00
c66c80adcc perf: lighthouse optimizations - inline critical CSS, lazy-load routes, WebP images, fix CLS and contrast 2026-02-08 11:22:36 +01:00
013d591e75 refactor: reuse getConversations in messages, prevent duplicate favorites on sync 2026-02-08 10:51:13 +01:00
45e7f9dde7 refactor: event delegation, unified subscription cleanup, centralized listing status helpers 2026-02-08 10:50:11 +01:00
088db52258 fix: guard non-published listings for non-owners, locale-aware number format, accept all currencies as default 2026-02-08 10:46:29 +01:00
727ec17abd fix: missing await in messages, incomplete SW locale cache, captcha bypass via drafts 2026-02-08 10:44:59 +01:00
bc7e702e6e fix: show stored UUID instead of Directus ID in settings, add hint text 2026-02-08 10:38:37 +01:00
0c9bef405f feat: add RUB and BRL currencies, make settings currency dropdown dynamic 2026-02-08 10:30:00 +01:00
3bf0ab3963 feat: extend language selection in settings to all 7 supported locales 2026-02-08 10:27:05 +01:00
af25be449d feat: soft-delete listings with visual dimming, auto-remove hint, and 30-day expiry 2026-02-08 10:25:06 +01:00
e7c73f85b9 feat: free edit and publish/unpublish toggle for paid listings within 30-day period 2026-02-08 10:07:47 +01:00
c66b77dbf8 feat: add i18n support for Italian, Spanish, Portuguese and Russian 2026-02-08 09:56:43 +01:00
a5995857e8 feat: add rsync deploy script with documentation 2026-02-07 17:55:12 +01:00
39ab822fd2 feat: add Made in Switzerland badge to footer 2026-02-07 17:34:10 +01:00
7a8dc334c8 feat: add minimal about and contact pages 2026-02-07 17:31:20 +01:00
eb4e0b3118 fix: update service worker cache with missing pages and notifications service 2026-02-07 17:20:56 +01:00
54bf150d65 feat: register privacy/terms routes and unify legal page layouts 2026-02-07 17:18:39 +01:00
a66abc446d docs: add Apache and HestiaCP setup instructions to og-proxy.php 2026-02-07 16:45:06 +01:00
2f964b09a0 feat: add Open Graph and X Card meta tags with server-side crawler proxy 2026-02-07 16:42:13 +01:00
9ad14231ee docs: add press kit with logos, icons, brand guidelines and copy texts 2026-02-07 16:38:16 +01:00
736d48c1cb docs: add marketing strategy with pre-launch, beta, and post-launch plan 2026-02-07 16:19:24 +01:00
b77011ec8a refactor: always show sort and collapsible price filter toolbar on home page 2026-02-07 15:55:33 +01:00
4ee13d51ef fix: improve filter bar layout on small mobile screens (320px) 2026-02-07 15:49:11 +01:00
38cc8017ae fix: use recursive category lookup for translated filter badge labels 2026-02-07 15:46:58 +01:00
affa8bec39 fix: link category badge to home page instead of deprecated search route 2026-02-07 15:43:56 +01:00
ae1e9da9fa refactor: remove max-width from search-box for full-width layout consistency 2026-02-07 15:39:01 +01:00
c902c97614 refactor: remove redundant listings title on home page, keep only with active filters 2026-02-07 15:34:35 +01:00
641793b2c4 fix: prevent auth logout by sending refresh request without expired access token header 2026-02-07 15:31:10 +01:00
135c23e55e docs: add public statistics to roadmap 2026-02-07 15:26:15 +01:00
82001f90f6 docs: add reputation system concept, MultiSig escrow and Tor to roadmap 2026-02-07 15:23:07 +01:00
10dd923739 feat: add notifications system with bell badge, polling, Directus flows, and webhook integration 2026-02-07 15:13:17 +01:00
f6ba0085f9 feat: add in-app notifications system with bell icon, polling, and notifications page 2026-02-07 14:18:00 +01:00
1bd44e6632 feat: cache categories in localStorage for 24h to reduce API requests 2026-02-07 13:25:38 +01:00
7e7310e5dd feat: show masked UUID in settings with toggle visibility and copy button 2026-02-07 11:48:31 +01:00
9346de85e7 refactor: hide theme toggle and lang dropdown in header when logged in 2026-02-07 11:43:16 +01:00
bb50615e0a refactor: replace hardcoded categories with Directus-powered category tree and translations 2026-02-07 11:23:39 +01:00
4f00b303e8 docs: update AGENTS.md and README.md with favorites sync, expired listings flow, token refresh 2026-02-07 10:43:31 +01:00
0c51542df8 feat: add FavoritesService with Directus sync, union merge on login, localStorage migration 2026-02-07 10:41:28 +01:00
fc1a1ede66 fix: refresh auth token on tab visibility change to prevent logout after inactivity 2026-02-07 10:28:15 +01:00
d076bff10c refactor: use status field instead of expires_at for expired badge on listing cards 2026-02-07 10:05:14 +01:00
4c53c9adef update status text 2026-02-07 10:02:47 +01:00
7505ce5555 feat: handle expired listings via expires_at, optimize polling to query only pending IDs, filter expired from public listings 2026-02-07 09:58:30 +01:00
a3d2a3327a feat: poll payment status every 15s on my-listings page for pending transactions 2026-02-07 09:42:38 +01:00
7f58003b52 fix: fire login event after registration, clear stale tokens on session restore, add published/expired status badges to listing cards 2026-02-07 09:37:32 +01:00
3f51cb5e53 fix: remove restricted fields from public listing query, fix service worker offline fallback, style description as card and remove redundant heading 2026-02-07 09:04:13 +01:00