Skip to content

Conversation

webfiltered
Copy link
Contributor

@webfiltered webfiltered commented Aug 29, 2025

Add installation progress tracking

Adds installation stage tracking to AppState, providing a queryable API for frontend to both act statelessly and receive ongoing updates.

  • Keeps track of the actual installation stage via AppState
  • Performs stage updates throughout installation flow
  • Reports an indeterminate progress state during core startup & extremely early app initialisation
  • Removes the automatic window maximise when installation traditionally transitioned to console output
  • Forces window back to 1024x768 whenever the install wizard is started

May be merged ahead of frontend changes.

@webfiltered webfiltered changed the title Add progress IPC notifications for uv tasks Add uv Download / Task Progress Monitoring Aug 29, 2025
@webfiltered webfiltered force-pushed the parse-uv-ii branch 2 times, most recently from 0d45e04 to 43ba557 Compare September 3, 2025 13:38
- 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
@webfiltered webfiltered changed the title Add uv Download / Task Progress Monitoring Add installation progress tracking Sep 4, 2025
@webfiltered webfiltered marked this pull request as ready for review September 4, 2025 16:17
@webfiltered webfiltered requested review from a team as code owners September 4, 2025 16:17
@dosubot dosubot bot added size:L This PR changes 100-499 lines, ignoring generated files. enhancement New feature or request labels Sep 4, 2025
@webfiltered webfiltered merged commit 6ca6e60 into main Sep 4, 2025
17 of 18 checks passed
@webfiltered webfiltered deleted the parse-uv-ii branch September 4, 2025 16:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request size:L This PR changes 100-499 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant