-
Notifications
You must be signed in to change notification settings - Fork 145
Add installation progress tracking #1280
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
Merged
+108
−28
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
0d45e04
to
43ba557
Compare
d945ac5
to
7ce0500
Compare
- Document 13 distinct installation stages - Create living document with detailed observations - Build stage parser for programmatic detection - Analyze 7400+ lines of debug output
- Corrected stage identification to 12 major stages - Removed unnecessary download_completion stage - Fixed parser to correctly handle all transitions - Updated documentation with accurate stage details
- Document exact transition indicators for each stage - Include actual output examples from the UV log - Show precise patterns used to detect stage changes
- Use actual raw output from UV log - Clearly identify fixed vs variable parts - Add notes about spacing and formatting details - Ensure patterns match exactly what parser detects
- Changed all 'log line' references to 'output' - Fixed Stage 2 date format (2024-11-14 not 2025-05-30) - Fixed Stage 8 indentation to match actual output - Verified all output examples against actual log file
- Reduced stages from 12 to 11 - Cache checking is part of resolution setup, not a distinct stage - Updated documentation and parser accordingly
- Explained why each specific log line indicates phase transition - Included context about module transitions and log levels - Clarified the logical progression between phases - Added details about what distinguishes each phase from others
- Changed regex patterns from hardcoded 'ms'/'s' to '\w+' - Updated documentation to note flexible time units - Parser now handles ms, s, m, h, d, or any other suffix
- Cache checking was merged into resolution_setup - Parser now correctly identifies 11 logged stages - Initializing is stage 0 but never appears in logs
- Added regex pattern for each of the 11 stages - Patterns match the exact log output formats - Use flexible time units (\w+) as specified - Patterns are ready for implementation in parser
- Kept all regex patterns in place - Removed only the header lines as requested - Maintains clean documentation format
- Identify Headers frame as true download start marker - Document max_frame_size (16384 bytes) for byte calculation - Detail 4-step download initiation sequence - Add parallel download timeline with precise timings - Include stream-to-package mapping and overlap analysis
- Remove hard-coded max_frame_size value - Remove hard-coded stream-to-package mappings - Remove unsupported concurrent download limit claim - Clarify dynamic nature of stream assignment
- Replace specific timeline with general concurrency description - Focus on the download pattern rather than specific instances - Describe dynamic stream assignment process
- Document cache hit vs miss paths in metadata retrieval - Clarify stages that only occur during downloads - Update installation planning with all message types - Remove hard-coded timing assumptions - Note conditional stage execution based on cache state
- Add 'When this stage occurs' note to every stage - Use consistent terminology throughout - Clarify which stages are always vs conditionally executed - Remove redundant notes about stage skipping
- Remove unnecessary 'When this stage occurs' for always-run stages - Fix inconsistent wording (use 'Why this marks the phase start') - Keep conditional notes only where needed (downloads/preparation) - Maintain clean document structure
- Replace interpreted output with actual log lines - Include timestamps and exact formatting from logs - Fix Installation Planning to show real examples - Fix Cache Hit path with actual log output
- Remove v2 file and update original parser - Fix comment header and usage message - Parser now correctly implements all 11 documented stages
The stages already document when things are skipped
Changed all instances from 'Why this marks the phase start:' to consistent 'Why this marks the phase:' throughout document
- Define 12 distinct UV installation stages - Create comprehensive type definitions for parsed output - Design main IUVParser interface with full API - Add streaming parser interface for real-time processing - Include pattern matcher and validator interfaces - Document implementation guidelines and patterns - Provide extensibility through custom patterns - Add TypeScript-first design with strict typing
Simple package lists will suffice for tracking installed/removed packages
7ce0500
to
ef69c9d
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
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.
Add installation progress tracking
Adds installation stage tracking to
AppState
, providing a queryable API for frontend to both act statelessly and receive ongoing updates.AppState
May be merged ahead of frontend changes.