Skip to content

feat: introduce System Info dashboard for full device visibility and debugging support#662

Open
saulob wants to merge 38 commits intofatihak:mainfrom
saulob:feat/system/info-panel
Open

feat: introduce System Info dashboard for full device visibility and debugging support#662
saulob wants to merge 38 commits intofatihak:mainfrom
saulob:feat/system/info-panel

Conversation

@saulob
Copy link
Copy Markdown

@saulob saulob commented Apr 2, 2026

System Info Page

This PR introduces an essential System Info dashboard to InkyPi, providing full visibility into the device, system configuration, and installed plugins.

Why this matters

Currently, InkyPi lacks a centralized way to understand the environment it is running on. There is no clear visibility into hardware details, system configuration, or even which plugins are installed and where they come from.

This makes debugging harder, support slower, and onboarding less intuitive.

This PR addresses that gap by adding a dedicated System Info screen that exposes all relevant information in a clear and structured way.

The layout is inspired by the Windows 11 system information page, focusing on quick scanning, clean grouping, and readability.

What’s included

  • New System Info screen integrated into the UI

  • High-level overview cards:

    • Display (type and resolution)
    • CPU (model and frequency)
    • RAM (installed, usable, and usage)
    • Uptime
    • Local IP
    • Temperature (when available)
  • Detailed sections:

    • Device Specifications

      • Device name and hostname
      • Architecture
      • CPU cores and frequencies
      • RAM breakdown
      • Storage usage
    • System Specifications

      • OS name and version
      • Distribution
      • Kernel
  • Installed Plugins visibility

    • Total count and breakdown (built-in vs third-party)
    • Full list of installed plugins
    • Direct links to third-party repositories
    • Tooltip with plugin id and source

Impact

  • Improves debugging by exposing real device state
  • Reduces friction when comparing different setups
  • Makes plugin ecosystem more transparent
  • Helps both users and maintainers quickly understand the environment
  • Adds a missing core capability expected in systems like this

Notes

  • Lightweight implementation, no external dependencies
  • Gracefully handles missing data

Screenshots

Tested on real hardware (Raspberry Pi Zero 2 W)

Screenshots below show the System Info page running on a real device, not only in development environment

  • Correct CPU detection (ARM Cortex-A53)
  • Accurate memory reporting (installed, usable and used RAM)
  • Storage values matching SD card size
  • Plugin list rendering correctly

Access from main UI

Quick access to the new System Info page directly from the top navigation, making it easy to inspect system details at any time.

image

System Info overview

High-level summary with key runtime information such as display, CPU, RAM usage, uptime and local IP, designed for quick diagnostics and readability.

Device specifications

Detailed hardware and resource breakdown, including architecture, CPU cores, memory usage and storage, providing full visibility into the running environment.

image image

System and plugins overview

Complete system details (OS, kernel, distribution) along with installed plugins, including clear separation between built-in and third-party plugins with direct repository links.

image

Saulo Benigno and others added 30 commits March 26, 2026 20:19
src/static/styles/ was fully ignored as a vendor directory, but
main.css and system_info.css are project-owned files, not generated
by update_vendors.sh. Replace the directory ignore with a specific
rule for the only actual vendor file (select2.min.css), allowing
system_info.css to be tracked.
Copilot AI review requested due to automatic review settings April 2, 2026 00:27
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds a new “System Info” dashboard to InkyPi, providing a dedicated UI page (and JSON API) that surfaces device, OS, runtime, and plugin metadata for debugging and support.

Changes:

  • Introduces a new system_info Flask blueprint with routes for /system-info and /api/system-info.
  • Adds a new System Info template + stylesheet and integrates navigation entry + icon.
  • Adds a comprehensive unit test suite covering most helper functions used to collect system data.

Reviewed changes

Copilot reviewed 6 out of 8 changed files in this pull request and generated 8 comments.

Show a summary per file
File Description
src/blueprints/system_info.py Implements system/plugin info collection and exposes page + API endpoints.
src/templates/system_info.html Renders the System Info dashboard UI, including overview and plugin sections.
src/static/styles/system_info.css Adds styling for the System Info page layout, cards, and plugin chips/tooltips.
src/templates/inky.html Adds navigation entry to access the System Info page from the main UI.
src/inkypi.py Registers the new system_info blueprint with the Flask app.
tests/test_system_info.py Adds tests for formatting and data collection helpers used by the System Info feature.
.gitignore Adjusts ignored static assets to allow new stylesheet while still ignoring vendor CSS.
src/static/icons/system_info.png Adds the System Info icon used in navigation and header.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/blueprints/system_info.py Outdated
Comment thread src/blueprints/system_info.py Outdated
Comment thread src/blueprints/system_info.py
Comment thread src/templates/system_info.html Outdated
Comment thread src/templates/system_info.html Outdated
Comment thread src/static/styles/system_info.css Outdated
Comment thread tests/test_system_info.py
Comment thread tests/test_system_info.py Outdated
@saulob
Copy link
Copy Markdown
Author

saulob commented Apr 2, 2026

All Copilot review comments addressed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants