Integrate PrintedWaste queue API and add QueueServerSelectModal#214
Merged
Kief5555 merged 13 commits intoOpenCloudGaming:devfrom Apr 11, 2026
Merged
Integrate PrintedWaste queue API and add QueueServerSelectModal#214Kief5555 merged 13 commits intoOpenCloudGaming:devfrom
Kief5555 merged 13 commits intoOpenCloudGaming:devfrom
Conversation
…d QueueServerSelectModal for user selection
…d QueueServerSelectModal component - Updated package version to 0.3.2. - Implemented IPC handler for fetching queue data from PrintedWaste API. - Added fetchPrintedWasteQueue method to OpenNowApi interface. - Created QueueServerSelectModal component for user interaction with queue data. - Enhanced App component to handle queue selection for free-tier users.
Collaborator
Author
…d cleaning up unused code - Removed the regions prop from QueueServerSelectModal as it was no longer needed. - Cleaned up unused imports and constants related to region handling. - Updated related logic to ensure proper functionality without the regions data.
…Card functionality - Removed unnecessary autoZone comparison logic for cleaner code. - Updated the layout of the recommended server cards to always display two side by side. - Improved RecommendCard component to handle null zone values and added disabled state for better user experience. - Adjusted styles for better visual feedback during loading and interaction.
Collaborator
Author
Collaborator
|
They look into it when I have time. Not a high priority at the moment |
Collaborator
|
Can you fix merge conflicts? |
- Changed the .gitignore entry for package-lock.json to ensure opennow-stable/package-lock.json is tracked.
- Removed outdated dependencies and added new ones for improved functionality. - Updated node engine requirements for compatibility. - Cleaned up unnecessary entries to streamline the package-lock file.
- Added new dev dependencies for jsonfile and universalify to enhance functionality. - Updated existing entries to ensure compatibility with the latest versions.
…theming - Changed hardcoded color values to CSS variables for better theming consistency. - Updated ping and queue color functions to use new color values. - Adjusted text and background colors to align with the new design system.
…etter user experience - Updated hover effects for the Cancel and Launch buttons to improve visual feedback. - Changed background, border, and text color styles to utilize CSS variables for consistency. - Enhanced the Launch button with a gradient background and box shadow on hover.
Collaborator
Author
|
@zortos293 bump |
Collaborator
|
@capyai review this |
Contributor
There was a problem hiding this comment.
Pull request overview
Adds a PrintedWaste queue-data integration (via IPC) and introduces a new renderer modal that lets free-tier users choose a preferred GFN routing zone (auto/closest/manual) before launching.
Changes:
- Added a new IPC channel + main/preload plumbing to fetch queue wait-time data from
api.printedwaste.com. - Extended shared
OpenNowApi+ types withfetchPrintedWasteQueue()and PrintedWaste queue payload types. - Refactored the renderer launch flow to gate FREE-tier launches behind a new
QueueServerSelectModalUI.
Reviewed changes
Copilot reviewed 6 out of 8 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| opennow-stable/src/shared/ipc.ts | Adds PRINTEDWASTE_QUEUE_FETCH IPC channel constant. |
| opennow-stable/src/shared/gfn.ts | Adds PrintedWaste queue types and the new OpenNowApi.fetchPrintedWasteQueue() method. |
| opennow-stable/src/preload/index.ts | Exposes fetchPrintedWasteQueue() to the renderer via window.openNow. |
| opennow-stable/src/main/index.ts | Registers an IPC handler that fetches PrintedWaste queue JSON from the main process. |
| opennow-stable/src/renderer/src/components/QueueServerSelectModal.tsx | New modal UI to display queue + ping data and select a routing zone. |
| opennow-stable/src/renderer/src/App.tsx | Adds FREE-tier gating and wires the new modal into the play flow. |
| opennow-stable/package-lock.json | Dependency lock updates. |
| .gitignore | Updates lockfile ignore rules. |
Files not reviewed (1)
- opennow-stable/package-lock.json: Language not supported
…data normalization - Introduced timeout handling for API requests and responses. - Added validation for API response structure to ensure expected data types. - Normalized queue data format for better consistency and error handling. - Updated QueueServerSelectModal to utilize initial queue data and refresh it while open. - Implemented session storage for ping results to optimize performance.
Closed
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.

This pull request introduces a new integration with the PrintedWaste GFN queue API, allowing the app to fetch and display real-time queue wait times for free-tier users before launching a game. It also refactors the game launch flow to present a queue server selection modal to free users, improving the user experience. Supporting changes include updates to IPC channels, shared types, and API definitions.
PrintedWaste Queue Integration:
index.tsto fetch queue data from the PrintedWaste API, including customUser-Agentheaders and error handling.PrintedWasteZoneandPrintedWasteQueueDataingfn.tsto represent the structure of the queue data returned by the API.fetchPrintedWasteQueuemethod to theOpenNowApiinterface and exposed it in the preload script for renderer access. [1] [2] [3]PRINTEDWASTE_QUEUE_FETCHinipc.ts.Game Launch Flow and UI:
App.tsxto show a queue server selection modal (QueueServerSelectModal) for free-tier users before starting a session. The modal uses the new PrintedWaste queue data to inform server selection. [1] [2] [3] [4] [5] [6] [7] [8] [9]Dependency and Metadata Updates:
package-lock.jsonto version0.3.2and made minor adjustments to dependency metadata, such as adding or removing thepeerfield for several packages. [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11]Closes: #160