Add Group Details plugin for Group Cards#700
Open
Stash-KennyG wants to merge 29 commits intostashapp:mainfrom
Open
Add Group Details plugin for Group Cards#700Stash-KennyG wants to merge 29 commits intostashapp:mainfrom
Stash-KennyG wants to merge 29 commits intostashapp:mainfrom
Conversation
added 28 commits
April 10, 2026 17:05
UI plugin for group list cards: filtered total duration and average vertical resolution with GraphQL-backed metrics. Made-with: Cursor
Enhance metrics display by adding a new setting to include all scenes in calculations, allowing for a more comprehensive view of total duration and average vertical resolution. Adjusted CSS for improved layout and responsiveness of metrics. Updated README to reflect new functionality and usage instructions. Made-with: Cursor
Updated the CSS for the Group Details plugin to implement a stacked layout for metrics, improving visual clarity. Adjusted JavaScript to add tooltip support for scene metrics, ensuring better user experience. Incremented version to 0.1.6 and updated README to reflect layout changes and tooltip functionality.
Stack duration and scene count above a resolution row; show resolution as FA-based bucket icons via PluginApi with free-tier fallbacks; extend tooltips with average height header and scene lists; bump to 0.1.7. Made-with: Cursor
Enhance tooltip functionality by ensuring the resolution icon wrapper captures hover events for better user experience. Adjust JavaScript to default icon dimensions to 512 if not specified, and update README to clarify tooltip behavior. Increment version to 0.1.8.
Enhance tooltip functionality by adding detailed resolution sample lines for scenes contributing to the average vertical height. Update the README to clarify the tooltip behavior for both duration and resolution metrics. Increment version to 0.1.9.
Refactor resolution bucket handling by replacing Font Awesome icons with inline SVGs for better visual distinction. Adjust resolution bucket labels to include correct comparisons. Update README to reflect changes in icon usage and resolution bucket definitions. Increment version to 0.1.20.
Removed the resolution sample line formatting and adjusted the tooltip to display a simplified resolution average. Updated the README to reflect changes in tooltip behavior and versioning. Incremented version to 0.1.11.
Modified the tooltip header for total duration to enhance clarity by removing unnecessary details. This change aims to improve user understanding of the displayed information. No version increment required.
Refine resolution bucket icons and tooltip text for clarity. Adjusted the tooltip to display resolution average in pixels correctly and updated the README to reflect changes in icon usage and bucket definitions. Incremented version to 0.1.12.
Refine scene eligibility logic to ensure that single-scene groups are always included in metrics, regardless of their scene_index. Updated README to clarify this exception and adjusted the version number accordingly.
…ion 0.1.15 Introduced new PNG images for various video resolutions (144p, 240p, 360p, 480p, 720p, 1080p, 2k, 4k, 5k, 6k, and 8k) to enhance visual representation in the Group Details plugin. Updated the JavaScript to utilize these images for resolution metrics and refined the CSS for better display. Incremented version to 0.1.15.
Added total file count calculation to enhance metrics in the Group Details plugin. Adjusted resolution bucket rendering logic to conditionally display content based on the number of files. Incremented version to 0.1.17.
Refactor CSS and JavaScript to enhance date line display within group cards. Introduced new functions to find and mount duration on date lines, improving the overall layout and user experience. Incremented version to 0.1.19.
… encoding Introduced a new PLUGIN_BASE_URL to dynamically determine the base URL for plugin assets, improving flexibility. Updated the getResolutionPngSrcCandidates function to use safeName for file names, ensuring proper URL encoding. Incremented version to 0.1.20.
Incremented version to 0.1.22. Removed unused fileName variable from JavaScript and added new asset mappings for various video resolutions (144p, 240p, 360p, 480p, 720p, 1080p, 2k, 4k, 5k, 6k, and 8k) in the YAML configuration to enhance visual representation in the Group Details plugin.
…ersion to 0.1.23 Removed unnecessary DOM manipulation for metrics rows and streamlined the addition of resolution nodes. Updated the version in the YAML configuration to reflect these changes.
…nd update version to 0.1.24 Removed the dynamic base URL logic and replaced it with a direct mapping to embedded resolution images for improved performance. Added a new JavaScript file for image mappings and updated the version in the YAML configuration.
…solution image and optimizing the embedded resolution images for better performance. This change streamlines the image assets used in the plugin, ensuring only relevant resolutions are included.
…solution image and optimizing the embedded resolution images for better performance. This change streamlines the image assets used in the plugin, ensuring only relevant resolutions are included.
…lution image and optimizing the embedded resolution images for better performance. This change further streamlines the image assets used in the plugin, ensuring only relevant resolutions are included.
…d 360p resolution images and optimizing the embedded 144p image for better performance. This change continues to streamline the image assets used in the plugin, ensuring only essential resolutions are included.
…ild script for asset management. Updated version to 0.1.26 to reflect these changes.
…image assets for 1080p and 144p resolutions. This change continues to optimize the image assets used in the plugin, ensuring a more comprehensive range of resolutions is available for better performance and visual representation.
…ion badges. Regenerate 240/360/480/720/1080 badge assets with numeric-only labels and rebuild images.js so the embedded data URIs match the updated graphics. Made-with: Cursor
…d improving scene tooltip formatting. Removed obsolete resolution badge assets to streamline the plugin's performance and visual representation.
for scene eligibility and updating related documentation. Update Group Details plugin to version 0.2.1
DogmaDragon
reviewed
Apr 13, 2026
Contributor
There was a problem hiding this comment.
This looks to be a rogue file?
DogmaDragon
reviewed
Apr 13, 2026
Contributor
There was a problem hiding this comment.
This looks to be a production file?
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Add the
GroupDetailsplugin for group cards with computed duration and average vertical resolution metrics from GraphQL scene dataWhat It Adds
H:MM:SS) to the right side of the date row..card-popovers.Overview
Data Source
Metrics are computed in-browser from GraphQL
findGroupscene data (id,title,files { duration height },groups { group { id } scene_index }).Scene Filtering
The goal of the plugin is to include the feature portion of the attached scenes. Often individuals select -1 or 99 for things like trailers or BTS. This filter can be disabled by ticking include all scenes. When disabled (default), scenes are included only if
scene_indexis:null, or0..89Exception: if the group has exactly one scene, scene-index filtering is bypassed for that group.
When Include all scenes is enabled, all returned scenes are included regardless of
scene_index.Sorting
Duration tooltip scene lines are sorted by:
scene_indexascending (nullsorts as90)idascending (stable tie-break)Duration Metric
H:MM:SS.N. Title H:MM:SSwhenscene_indexis presentTitle H:MM:SSwhenscene_indexis nullResolution Metric
Average resolution uses vertical pixels (
height) from each included scene's tallest file:duration > 360are eligible. Goal: Exclude sub-6 minute scenes to filter trailers etc.round(sum(height) / count).Resolution Average: <N>pResolution Average: —when no eligible average exists.Resolution chip empty/dash behavior:
totalFileCount > 1and no eligible average: render—.Resolution Badge Mapping
The plugin picks a PNG badge using a 2% tolerance (
>= 98%of target resolution):< 234->144p.png240,360,480,720,1080,1440 (2k),2160 (4k),2880 (5k),3160 (6k),4320 (8k)Test plan
/groupsand verify duration appears on the date line, right-alignedResolution Average: <N>por—scene_indexordering with null handling and secondary duration sort)bash plugins/GroupDetails/build.shand confirmimages.jsis regenerated fromassets/*.pngAI assisted. Human Verified