LinkPage v1.0.3 — a big release focused on power-user editing, observability, and polish.
Highlights
- In-place file editor — edit attached text files (HTML, XML, JSON, TXT, CSV, MD, SVG) right in the admin: expand view, line numbers, language-aware syntax highlighting, a Ctrl/Cmd+F find bar, and Ctrl/Cmd+S to save. Changes go live on the public page immediately.
- Stock icon picker + colours — choose from a built-in line-icon set and a colour instead of uploading an image. File links get a coloured file-type icon, and links with no icon fall back to the Settings favicon.
- Admin audit log — every admin change and every link click is recorded with the entity's name, time, IP and device. Live auto-refresh, search & type filters, and CSV/JSON export, under Settings → Security → View Log.
- Subsections — sections can now contain one level of subsections. Add and drag-reorder them in the sidebar; the public page renders the nesting, and you can drop a link straight into a subsection.
Admin
- Redesigned link cards — a cleaner, premium card: icon + title header, description, tags, and a footer with views + date; action buttons reveal smoothly on hover.
- Smarter bulk editing — shift-click to select ranges, Select all, Esc to deselect, and move the selection into a specific section/subsection. Drag a link card onto any group, section, or subsection in the sidebar to move it.
- Icon library: export / import / bulk delete — export the whole library as a single file and import it elsewhere (idempotent, de-duped by content); multi-select to delete in bulk. The Settings favicon now appears in the library for reuse.
- In-app update checker — Settings → About shows the current build, the latest GitHub release, and its notes; a pulsing dot on the Changelog pill flags when an update is available.
Public page
- Multi-keyword search — pin keywords as chips (press Enter), combined with AND, matching link names, URLs, groups, sections and subsections.
- Copy link button — one-click copy on every card with a toast confirmation.
- Per-group unlock behaviour — password-protected groups can auto-lock after 30 s (kiosk-safe) or stay unlocked for the whole browser session.
- Default link icon falls back to the Settings favicon when nothing else is available.
Backend
- Versioned database migrations — transactional, version-tracked migrations run on every startup and log what changed, so upgrading from any past version is safe and automatic.
- Faster saves — favicon fetching no longer blocks saving a link; it loads in the background (with an overall time budget) and appears live via Server-Sent Events. TLS verification is skipped for intranet hosts, with a smarter fallback walk.
- Full export / import of links, groups, sections and subsections (idempotent re-import).
New API endpoints
/api/audit (+ /export), /api/icons/export, /api/icons/import, /api/icons/bulk-delete, /api/links/:id/file (GET/PUT), /api/favicon-preview, /api/version, /api/events (SSE).
🐳 Docker users: docker compose pull && docker compose up -d (or rebuild from source). The database schema migrates automatically on startup.