feat: add last scan link to supported projects table and include scanID in project data - #105
Merged
Merged
Conversation
… ID in project data
jkondrat
approved these changes
Jul 8, 2026
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
Enhanced the Supported Projects page to provide users with direct access to the latest scan results for each project. The "Last scan" link is now displayed directly next to the project's grade badge, seamlessly integrated into the existing score/rating UI. This improvement enables one-click navigation to detailed scan reports for any project in the dashboard without cluttering the table layout.
Changes
1. Backend API Enhancement (
app.py)app.pyget_supported_projects()(lines 1150–1225)latest_scan_idfrom the JSON filename (UUID) when processing scan recordslatest_scan_idin the projects map during aggregation, ensuring it reflects the most recent scanlatest_scan_idin the API response for each project entry2. Frontend Template Update (
templates/supported_projects.html)templates/supported_projects.html<a href="/report/${proj.latest_scan_id}" class="last-scan-link" target="_blank">Last scan</a>only appears ifproj.latest_scan_idis available3. CSS Styling (
static/style.css)static/style.css.last-scan-link(lines 3514–3524)0.75rem— secondary emphasis, subtle appearance500— readable without being prominentvar(--primary)— consistent with theme and other interactive elements0.75— visually subtle, non-intrusive1— increased visibility on interaction0.2s ease) — polished interaction feelTesting
✓ Supported Projects Section Renders Correctly
✓ "Last Scan" Link Works Correctly
/report/{latest_scan_id}in a new tablatest_scan_idavailability)✓ No UI Regressions in Broader Report
Verification Method
python3 -m py_compile app.py✓Notes
Assumptions
latest_scan_idin the API response corresponds directly to a valid scan UUID stored in the results directory/report/{scan_id}route already exists and handles invalid/missing IDs gracefullyData Access Pattern
The implementation sources the latest scan URL using the existing data flow:
.json)latest_scan_idfield/report/{latest_scan_id}linkThis pattern is consistent with how scan data is already tracked and exposed via the API.
Limitations
Follow-up Work (Optional)
Ready to merge — All changes are backward-compatible, isolated to the Supported Projects section, and thoroughly tested.