Fix Tampermonkey Extension For Queue Skipping & Seat.io IframeChart Session Keep-Alive for Ticket Booking Site (webook.com)

Job ID: 40424265

Budget: $30 – $250 USD

Project Description:

I have a Tampermonkey userscript extension for webook.com (a ticket booking platform based in Saudi Arabia). The extension was working before but recently broke after the site updated their queue system and seats.io integration.

The site flow is simple:

User joins a virtual queue to buy event tickets
Once queue passes, site loads a seats.io iframe for seat selection
User selects seats and proceeds to checkout

What my extension does (and needs to do again):

Keeps the booking session alive indefinitely (prevents the seats.io iframe hold token from expiring)
Blocks all expiry popups/overlays so the user never gets kicked out
Maintains seat selection even if user takes time to decide

What's currently broken:

Hold token creation fails — The site uses a private seats.io workspace (66e63c10464382fb1f049832). Direct API calls to seats.io return 404 Workspace not found. The token can ONLY come from webook's own backend API after the queue passes.

Session still expires — Even when we intercept WebSocket messages, timers, and postMessage events inside the seats.io iframe, the session eventually dies.

Queue polling works but token capture doesn't — The script polls /api/v2/event-detail/{slug}/hold-token correctly but doesn't properly capture and preserve the hold token when the queue finally passes.

What I need you to do:

Investigate the actual flow between webook.com and their seats.io integration (network requests, WebSocket messages, how the hold token is created/renewed/expired)

Fix the extension so that:
Hold token is properly captured when queue passes
Session stays alive indefinitely (block expiry from iframe side AND parent side)
Seat selection is preserved
No expiry popups appear

Provide experimental proof — You MUST demonstrate it working:
If there's no live event with a queue right now, find one or create a test scenario
Screen recording showing: session staying alive past normal expiry time (typically 5-15 minutes)
Show before/after (without extension = session dies, with extension = session persists)
Document what you found works and what doesn't work

Technical details you should know:

The site is Nuxt.js (Vue) based
seats.io iframe handles seat map rendering
Hold tokens have a TTL (usually ~15 min)
The site uses JWT auth tokens
Queue system returns _queue object with queued: true/false, user_number, waiting_number
API base: https://api.webook.com
Event detail endpoint: /api/v2/event-detail/{slug}/hold-token

Stack:

JavaScript (Tampermonkey/Greasemonkey userscript)
seats.io API knowledge helpful
WebSocket interception
DOM manipulation
Reverse engineering web apps

I will provide:

Current version of the extension (full source code)
Access details if needed
Example event URLs

Deliverables:

Working .user.js Tampermonkey script
Short documentation of what was wrong and how you fixed it
Screen recording proof ofLong Queue Event of it working (session alive past normal expiry)
List of what approaches work vs don't work (so I understand the solution)

Important notes:

This was working before — the core approach is sound, just needs updating for their recent changes
I don't need queue skip/bypass — I just need the session to stay alive AFTER getting through the queue
Budget-friendly because it's a focused fix, not a full build from scratch