Skip to content

feat: new menu called Quick Access - #2725

Open
Mysteriza wants to merge 3 commits into
BruceDevices:devfrom
Mysteriza:quick-access
Open

feat: new menu called Quick Access#2725
Mysteriza wants to merge 3 commits into
BruceDevices:devfrom
Mysteriza:quick-access

Conversation

@Mysteriza

@Mysteriza Mysteriza commented Jul 28, 2026

Copy link
Copy Markdown
Contributor

Proposed Changes

Finding and launching your most-used files shouldn't require digging through folders every time.

This PR introduces Quick Access, a new main menu that lets users save up to 15 frequently used files for instant access after the device boots. Instead of browsing through LittleFS or the SD card each time, users can pin their favorite files once and launch them directly from the main menu.

Supported file types include IR, SubGHz, BadUSB, and JavaScript files.

Files can be pinned or unpinned either while browsing files or from the Add Files option inside Quick Access.


Types of Changes

  • New Feature
  • Refactoring

Verification

  • After flashing the firmware, Quick Access appears as the first item in the main menu.
  • Supported files (.ir, .sub, .txt, .js) can be pinned directly from the file browser.
  • Pinned files are listed inside Quick Access and can be launched immediately.
  • Files can be removed individually or all at once with confirmation prompts.
  • New files can be added from either LittleFS or the SD card.
  • The 15-file limit is enforced, with a notification shown when the limit is reached.

Testing

Tested on Reaper (ESP32-S3) hardware.

Verified:

  • Pinning and unpinning files
  • Launching pinned files
  • Adding files from LittleFS and SD card
  • Individual and bulk removal
  • Maximum pin limit

Linked Issues

N/A


User-Facing Change

Users can now save their favorite files in Quick Access and launch them directly from the main menu without navigating through the file browser every time.

Screenshots

09-08-2026_14-15 09-08-2026_14-15_1 09-08-2026_14-16

Further Comments

This PR also includes several internal improvements, including code cleanup, reduced duplication, performance optimizations, and additional path validation for safer file handling.

@Mysteriza Mysteriza changed the title feat: new menu called Quick access feat: new menu called Quick Access Jul 28, 2026
- QuickAccessManager: JSON persistence of up to 15 pinned items in LittleFS
- QuickAccessMenu: new main menu item (first position) with star icon
  - Shows pinned files as launchable options
  - Manage Pins sub-menu to remove individual pins
  - Clear All, Browse & Pin shortcuts
  - Empty-state hint when no pins exist
  - Smart handling for missing files (offers to remove stale pin)
- loopSD integration: Pin/Unpin from Quick Access option for .ir, .sub, .txt
  - Context-aware label (Pin vs Unpin) based on current state
- Startup default: Quick Access is first menu item, focused on cold boot
Add QuickAccessManager with JSON persistence to LittleFS
(max 15 pins). Add QuickAccessMenu with star icon, manage
and add-files submenus with confirmation dialogs. Add
Pin/Unpin options in file browser for .ir, .sub, .txt,
.js/.bjs files.

Refactor: extract toggleQuickAccessPin helper in sd_functions
to eliminate 4x duplication; fix reserved include guards;
optimize toJson() to avoid return-by-value copy.
Security: add path traversal protection and input validation
in pin() and executePinnedItem().
@bmorcelli bmorcelli added the enhancement New feature or request label Aug 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants