Files
bhs/CHANGELOG.md
icsboyx d6c465466a
All checks were successful
Rust CI / build-test (push) Successful in 1m22s
feat: add statistics API and dashboard for asset metrics
- Implemented `/api/stats` endpoint to return JSON metrics including active assets, total uploads, storage usage, and recent activity.
- Created `stats.html` page to display real-time statistics with auto-refresh functionality.
- Enhanced asset logging to include uploader IP and detailed event information for uploads and deletions.
- Updated asset model to store uploader IP for audit purposes.
- Improved logging functionality to ensure log directory exists before writing.
- Refactored asset creation and management to support new features and logging.
2026-01-09 20:59:24 +01:00

1.6 KiB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[0.1.0] - 2026-01-09

Added

  • Statistics Dashboard (/stats.html) with real-time metrics:
    • Active assets count
    • Total uploads and deletions
    • Storage usage
    • Image vs text breakdown
    • Average server response time
    • Total request count
    • Recent activity feed (last 20 events)
    • Auto-refresh every 30 seconds
  • Statistics API (GET /api/stats) returning JSON metrics
  • Enhanced logging for asset events:
    • Upload events with uploader IP, MIME type, size, duration, timestamps
    • Delete events with full asset metadata
    • Request timing (dur_ms) in access logs
  • Uploader IP tracking stored with each asset for audit purposes
  • Stats link in index page footer
  • Ephemeral image and text sharing with configurable TTL (1-60 minutes)
  • Drag/drop, paste, and file picker upload support
  • Base64 encoding for images, raw text for plain text
  • UUID-based asset storage as JSON files
  • Background cleanup task (every 60 seconds)
  • Dark theme UI with zoom overlay
  • View page for shared content
  • Access logging with timing, IPs, and user agent
  • Docker and docker-compose support with Traefik labels
  • Environment variables for bind address and port
  • Access logging with timing, IPs, and user agent
  • Docker and docker-compose support with Traefik labels
  • Environment variables for bind address and port