F95Zone Thread Watcher & Metrics

Alerts on new threads & user notifications, tracks upload frequency with data metrics, manages ignored prefixes, and adds colorful UI enhancements.

這裡只顯示彼此間有代碼差異的版本。 顯示所有版本。

  • v2.0.0 2025-08-21

    1. Upload Analysis & Sparkline

    • Refactored analyzeUploadFrequencies() with helper functions for cleaner, modular code.
    • Added calculateCurrentHourProbability() to get the probability of uploads in the current hour.
    • Improved sparkline rendering with makeSparklineTable() for aligned, colored hour cells and tooltips.

    2. Manual Check

    • Added manual check toggle and configurable interval input.

    3. UI / UX Enhancements

    • Warning messages now styled and structured for clarity.
    • New game list is scrollable, visually cleaner, and supports clickable titles.
    • Entries can be individually removed without leaving the page.

    4. Safety & Observers

    • safetyCheck() updated: verifies thread tab is active and tracks threadLostFocus.
    • updateErrorMsg() now styled and clearly lists issues, including observer and notification states.

    5. Data Handling

    • newGameLog stores { title, link } objects instead of strings.
    • getNewData() collects id, title, link, timestamp per thread.
    • checkData() safely adds new entries and maintains alignment with previousData and uploadTimestamps.

    6. Restore Data

    • Added a Restore Data button with hidden file input in the modal.
    • Loads JSON backups, validates structure, and saves to currentData.
    • File input resets on every UI render for reliable re-selection.

  • v1.1.1 2025-08-20

    Update typo at @match

  • v1.1.0 2025-08-20
    1. Thread Observer Fix
    • Added subtree: true to MutationObserver to detect nested thread additions.
    • Added initial check for existing threads on observer initialization.
    • Clarified that MutationObserver only detects future changes, not pre-existing nodes.
    1. Ignored Prefix List
    • Fixed modal close issue by adding e.stopPropagation() and e.preventDefault() on dynamically generated remove buttons.
    • Ensured dynamically generated buttons do not trigger parent modal’s outside-click listeners.
    1. New Game List Container
    • Added scrollable container (overflow-y: auto) to handle long lists without breaking <details> animation.
    • Optimized rendering of long lists:

      • Avoided multiple DOM queries.
      • Replaced repeated innerHTML += with a single assignment using join("<br>") or <div> elements for semantic structure.
    1. Config Row Styling
    • Extended .config-row CSS to support <select> elements alongside inputs.
    • Ensured selects grow with available space and optionally match input height.
    1. Backup System
    • Added manual backup button (#backup-data) to download current data as a JSON file.
    • Uses loadData() to pull current state and save as a timestamped JSON file.
    • Provides alerts for success or failure during backup.
  • v1.0.2 2025-08-20

    Improvements & Fixes

    • Added safety checks for thread and alert observers

      • Script now detects if initialization fails (e.g. not logged in).
    • Added error handling system

      • Warning messages are generated dynamically and shown inside the modal.
      • Clear explanations for missing functionality (notifications, thread observer, alert observer).
      • Suggests login + refresh when required.
    • Cleaner code structure for better maintainability.

    UX Enhancements

    • More user-friendly error messages.
    • Warnings formatted with line breaks for better readability.
  • v1.0.1 2025-08-20

    change homepage link

  • v1.0 2025-08-20

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址