Argument parsing prevented auto-detection from running when --full
was supplied without an explicit username. After shifting --full,
no positional arguments remained, but the script had already skipped
the auto-detection branch, leaving USERNAME empty and causing the
script to abort.
Allow users to import scripts into the JSON editor via local file
upload or by selecting from the existing script library.
- Dropdown toggle for 'Local' and 'Library' import sources.
- Script selection dialog with category and search filters.
- Global search using the existing command menu logic.
* fix(frontend): implement weighted search scoring for command menu
The previous cmdk search was filtered correctly but then sorted by category
order rather than match strength. This caused "Dokpoly" to appear above
"Traefik", if you searched for Traefik, simply because its category (Containers) comes before Traefik's
category alphabetically.
- Flatten search results into a single "Search Results" group.
- Implement scoring to prioritize name matches over descriptions.
- Revert to category grouping only when the search query is empty.
* perf(frontend): optimize search logic
Limiting the results to 20 helps a lot.
Prevent the summary data from refetching unnecessarily when log pagination
changes.
- Split the data fetching into two separate useEffect hooks.
- Summary is now fetched only on mount.
- Logs refetch only when page or limit dependencies change.
- Decoupled loading states to prevent chart loading animation during log updates.