-
Notifications
You must be signed in to change notification settings - Fork 0
🔧 Fix GitHub Actions firmware file handling for releases #4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Conversation
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
🚀 Enhanced Automated Release Workflow: - Added comprehensive firmware file verification before release creation - Enhanced build process with proper error handling and file size validation - Added detailed logging to troubleshoot firmware file issues - Verify all required files exist and have reasonable sizes before proceeding 🏗️ Improved Build Workflow: - Added Feather ESP32-S3 TFT to build matrix for complete CI coverage - Separate artifact uploads for each board type for better organization - Enhanced build reporting for both hardware platforms - Better artifact naming and retention management 🛠️ Updated Manual Release Workflow: - Build firmware for both ESP32dev and Feather ESP32-S3 TFT environments - Comprehensive firmware file verification before release creation - Enhanced release with firmware binaries for both supported boards - Proper file naming convention for easy identification 🔍 Added Verification Steps: - File existence checks with clear error messages - File size validation (>100KB for .bin, >1MB for .elf) - Detailed logging of file locations and sizes - Graceful failure with diagnostic information This resolves the "HTTP 404: Not Found" error by ensuring firmware files are built, verified, and exist before attempting to attach them to releases.
📊 Build Size Analysis
Analysis
This analysis helps maintain optimal memory usage across code changes. |
arunkumar-mourougappane
added a commit
that referenced
this pull request
Oct 17, 2025
Added comprehensive network details page accessible by clicking on scan results. Features Implemented: ✅ Clickable Network List Items (Acceptance Criteria #1): - Each network item in scan results is now clickable - Clicking navigates to /scan/details?id=<network_index> - Added visual feedback on hover (background color change) - Mobile-friendly touch targets with inline onclick handlers ✅ Network Details Page (Acceptance Criteria #2): - New route handler handleScanDetails() at /scan/details - Back navigation button to return to scan results - Graceful error handling for invalid/missing network IDs - Scan results cached in memory to avoid re-scanning ✅ Information Display (Acceptance Criteria #3): Basic Network Information: - Network Name (SSID) with special handling for hidden networks - MAC Address (BSSID) formatted as XX:XX:XX:XX:XX:XX - Handles missing BSSID gracefully Signal Information: - RSSI displayed in dBm - Signal Quality calculated as percentage with 8-level descriptive scale: * 100% Excellent (Very Close) ≥ -30 dBm * 90% Excellent ≥ -50 dBm * 80% Very Good ≥ -60 dBm * 70% Good ≥ -67 dBm * 60% Fair ≥ -70 dBm * 50% Weak ≥ -80 dBm * 30% Very Weak ≥ -90 dBm * 10% Extremely Weak < -90 dBm - Visual signal indicators with emoji icons - Color-coded quality bar (green/yellow/orange/red) Channel Information: - Channel number with frequency band (2.4GHz or 5GHz) - Channel congestion analysis: Clear/Light/Moderate/Heavy/Severe - Counts networks on same channel with color-coded indicators Security Information: - Encryption type with icons for all 9 WiFi auth modes: * Open, WEP, WPA, WPA2, WPA/WPA2, WPA2 Enterprise, WPA3, WPA2/WPA3, WAPI - Security level assessment (None/Weak/Moderate/Good/Excellent) - Color-coded security ratings - Security warnings for open and WEP networks Connection Analysis/Recommendations: - Automated recommendations based on signal strength - Security assessment warnings - Channel congestion impact analysis - Clear ✅/⚠️ /❌ indicators for quick evaluation ✅ UI/UX Requirements (Acceptance Criteria #4): - Consistent purple gradient theme matching existing interface - Responsive design with proper spacing - Card-based layout with background colors for sections - Emoji icons throughout for visual recognition - Clean section-based information hierarchy ✅ Performance & Memory (Acceptance Criteria #5): - Scan result caching structure (CachedScanResult) - Supports up to 50 cached networks - 5-minute cache timeout (300000ms) - Uses PROGMEM and F() macro for static strings - Pre-allocated String buffers (html.reserve(8192)) - Cache validation before displaying details - Memory-efficient: Flash 83.1% (was 82.4%), RAM 16.4% (was 15.8%) ✅ Navigation & Accessibility (Acceptance Criteria #6): - Back to Scan Results button with absolute positioning - Breadcrumb-style navigation structure - Clickable entire network row (not just text) - Inline hover effects for visual feedback ✅ Edge Cases & Error Handling (Acceptance Criteria #7): - Cache expiration check with redirect to /scan - Invalid network ID validation with redirect - Out of bounds index checking - Missing BSSID handling with "Not Available" message - Hidden network SSID display as "<Hidden Network>" Technical Implementation: Data Structures: - CachedScanResult struct stores SSID, RSSI, channel, encryption, BSSID - Static array cachedNetworks[50] for result storage - lastScanTime timestamp for cache invalidation - isCacheValid() function checks timeout Route Registration: - Added /scan/details route in startWebServer() - handleScanDetails() function declaration in web_server.h Scan Page Modifications: - Modified handleScan() to cache results after scan - Made network list items clickable with onclick handlers - Added hover effects with inline onmouseover/onmouseout - Removed WiFi.scanDelete() to preserve results - Added hint text: "💡 Click on any network to view detailed information" - Hidden network handling in scan list Memory Optimization: - All static HTML strings use F() macro - Color values and descriptions stored efficiently - Switch statement for encryption type mapping - Minimal string concatenation with pre-allocation Build Results: ✅ ESP32dev: Flash 83.1% (1,088,625 bytes), RAM 16.4% (53,692 bytes) ✅ Feather ESP32-S3: Flash 71.9% (1,036,493 bytes), RAM 16.0% (52,496 bytes) Testing Checklist Progress: ✅ Builds successfully on both ESP32dev and Feather boards ✅ All encryption types handled with proper icons and descriptions ✅ Signal quality calculation matches acceptance criteria ranges ✅ Channel congestion correctly counts networks ✅ Back navigation implemented ✅ Invalid network ID redirects to scan page ✅ Memory usage within acceptable limits (< 85% flash, < 20% RAM) This implementation fully addresses Issue #10 acceptance criteria with a professional, user-friendly interface for viewing detailed WiFi network information.
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.
🚀 Enhanced Automated Release Workflow:
🏗️ Improved Build Workflow:
🛠️ Updated Manual Release Workflow:
🔍 Added Verification Steps:
This resolves the "HTTP 404: Not Found" error by ensuring firmware files are built, verified, and exist before attempting to attach them to releases.