Version history
SkinQuest changelog
Release notes for SkinQuest updates.
Current
v15.2.1 - Clearer orders and unpaid purchase fix
- Every delivery order has its own spaced card, prominent order number, item details and selection indicator. Shared deliveries have a distinct gold border.
- Separated order selection from the actions for selected orders so it is easier to see exactly what a bulk action will affect.
- Fixed an older database settlement constraint that prevented saving unpaid invoices and purchases awaiting reimbursement.
- Included the corrected cumulative upgrade SQL and full database setup.
v15.2.0 - Faster deliveries and purchase reimbursements
- Rebuilt admin Deliveries as a searchable customer queue with compact checklists, grouped item quantities, one Steam message and bulk fulfilment actions.
- Shared deliveries can be regrouped or separated before sending. Mixed-stage items progress together without overwriting existing locks or ready items.
- Finance records unpaid reward costs and personally paid purchases, shows who SkinQuest owes, and settles reimbursements without counting the purchase twice.
- EUR and USD purchases retain their original amount and the manually entered SEK exchange rate. Company cash and unpaid costs have separate totals.
- Updated existing-site and full-setup SQL, including the delivery trade-link query and server-side bulk validation.
v15.1.1 - Giveaway and navigation fixes
- Giveaways now load automatically, show a clear empty state when no prize is live, and show entry instructions only when a prize is available.
- Added the same navigation to every customer page, with Rewards beside Dashboard and Giveaways between Surveys and Earn.
- Aligned the header and page widths and restored the gap above the Giveaways page.
v15.1.0 - Deliveries and giveaways
- Reworked deliveries into guided next steps for single orders and shared Steam offers. Every order includes a copyable Steam trade message.
- Added Giveaways with admin prize selection, a customizable end time that defaults to eight days, verified survey reward eligibility, explicit entry and participant counts.
- Added an admin winner draw after closing and a TimeWall connection check. TimeWall launch now requires configured placement and credit settings.
v15.0.5 - Dashboard width correction + tighter reward details
- Restored full-width lower dashboard sections so Coin history, Achievements and growth content no longer sit in a narrow centered column.
- Kept the top dashboard summary cards intentionally constrained without centering the entire dashboard.
- Reworked reward detail pages into a left information rail and right purchase panel so the large empty area below reward artwork is removed.
v15.0.4 - Dashboard, navigation and reward-shop polish
- Removed Help from the main navigation, enlarged nav labels and improved desktop spacing.
- Compacted Dashboard summary cards, removed the extra level-progress sentence and moved Coin history directly below Achievements.
- Rebalanced How it works cards so sections have consistent copy length and sizing.
- Made reward cards tighter and gave the whole tile a stronger hover/click treatment instead of emphasizing only the title link.
- Finance & funding now prevents invalid type/category combinations before submit.
- Preserved the Trustpilot completed-order BCC integration.
v15.0.3 - Compact rewards and cleaner account pages
- Four rewards per desktop row, with centered content and a clickable card.
- Grouped variants are always enabled. Removed variant counts and customer pricing-source badges.
- Centered Dashboard summaries, no recommendation banner, and three recent coin movements with Show more.
- My orders is the only order list; internal delivery headings are hidden from customers.
- Help is back in navigation, CPX panels align, and controls have one focus indicator.
v15.0.2 - Dashboard navigation and saved rewards
- Dashboard restored to the main navigation, with header and content aligned.
- Removed catalogue quick buttons and search instructions. Counts say rewards.
- Survey provider buttons open the signed provider page directly in a new tab.
- Consistent provider button spacing and contained Saved rewards cards.
v15.0.1 - Navigation and rewards cleanup
- Compact navigation, accessible availability filters and simpler survey provider tabs.
- Static item artwork, one main coin price and condition selection only when there are multiple variants.
- Sticker Slabs are excluded without deleting existing orders or resetting Steam sync.
v15.0.0 - Providers, shared deliveries and mobile journeys
- CPX and approved TimeWall Surveys together, with account-bound launch controls. A separate Earn page is prepared for a future tasks placement.
- Private My orders page with recorded unlock times, next steps and saved prices.
- Shared deliveries group one customer's orders for bulk updates without merging their prices or history.
- Trade locked defaults to 192 hours from the saved update, with optional custom times. Staff must use Steam's actual item availability when it differs.
- Changed trade links require explicit staff review before unsent orders are marked sent.
- Actionable order badges, clearer stock/delivery estimates and provider-labelled coin movements.
- Mobile safe areas, larger controls and layouts for small screens.
- Owner-only earning statistics and corrected user metrics based on recorded events, not invented historical activity.
v14.6.2 - TimeWall callback preparation
Added the TimeWall surveys callback, duplicate-event handling and hold/chargeback processing alongside CPX.
v14.6.1 - Reward layout and variant picker
Aligned catalogue cards and a compact Normal, Souvenir and StatTrak type-and-wear picker.
v14.6.0 - Clear reward journeys and owner finance
- Low-cost first reward examples from the live catalogue and clearer homepage delivery explanations.
- Grouped wear, StatTrak and Souvenir variants with permanent item pages and exact-variant checkout.
- Server-side multi-word search, wear/weapon aliases, one-character typo matching and keyboard-accessible suggestions.
- Private order pages with the saved coin price, recorded milestones, trade-lock countdown and customer updates.
- Coin history source filters, older-entry pagination, order links and linked support requests.
- Personal dashboard next action based on setup, current orders, goals and coin balance.
- Owner-only manual EUR income, expected payments, costs and funding records with audited corrections.
- Separate empty, connection-error and unconfirmed-availability survey states.
- Includes second-provider application guidance; no unapproved provider is activated.
- Requires the v14.6.0 SQL delta. Existing Edge Functions, secrets and Steam Cron are unchanged.
v14.5.7 - User account interface correction
- Entire user rows open the account with mouse, touch or keyboard; removed View user buttons.
- Separated identity, totals and history into clearly spaced cards.
- Styled history tabs and navigation controls consistently with Operations.
- Added contextual empty states and moved CPX explanations to Survey results.
- No database, Edge Function or Cron changes.
v14.5.6 - Unified user accounts and activity tracking
- Cleaner user directory with creation dates, last active, coins and existing account filters.
- Unified account view with paginated orders, coin history, promo redemptions, survey results and support.
- Fixed CPX launch tracking and separated reward postbacks from CPX-labelled ledger evidence.
- Missing activity records are shown as unknown, not fabricated historical counts.
v14.5.5 - Account dates and CPX activity
- Users now show the authentication account creation date.
- Added historic verified CPX reward-result counts, excluding pending or reversed results.
- Added tracked CPX launch-click counts starting with this release. These are not individual survey opens inside CPX.
- Kept user role/login filters, sorting, pagination, and Admin access protections.
v14.5.4 - User filters and reward deletion repair
- Users can be filtered by customer/admin/owner role and Steam versus other sign-in accounts.
- Added server-side sorting by coins, account age, name, and role across the complete user directory.
- Repaired legacy reward-item foreign keys while preserving old order names and coin values.
- Removed duplicate search focus rings and moved Steam links out of the reward action buttons to keep desktop rows aligned.
v14.5.3 - Inventory and history controls
- Prepared stock and order fallback now share one reward listing: stock is used first, then ordering takes over.
- Added reward stock/order filters and sorting plus searchable promo-code history.
- Owners can enable, disable, and delete promo codes while existing redemptions and awarded coins remain recorded.
- Owners can delete manual catalog items after open orders are resolved; historic orders retain the original item and coin snapshots.
- Replaced native browser select menus with consistent SkinQuest-styled menus.
v14.5.2 - Admin directory and cleanup controls
- Added searchable users to Admin with account, Steam, coin, order, and support context.
- Replaced the generic Admin SQ badge with the existing SkinQuest logo.
- Added initial owner controls for manually created rewards and promo codes.
v14.5.1 - Order evidence and achievement dates
- Trade sent no longer needs an optional Steam offer link; Admin asks for confirmation before recording the status.
- Achievement dates now use the recorded activity or order event, with an honest unknown date where historic evidence is missing.
- Admin no longer retries original order emails for months-old orders.
- Fixed the Admin button that opens the customer's Steam trade URL.
v14.5.0 - Steam-linked reward catalog
- Unified prepared stock and Available to order items in one searchable reward catalog.
- Added resumable server-side Steam market sync for weapon skins, knives, gloves, and cases with marketplace images and metadata.
- Added owner controls for Steam markup, EUR-to-coin conversion, minimum price, freshness window, default ETA, and automatic publishing.
- Steam-linked coin prices now recalculate from stored market prices while every confirmed customer order keeps its original price snapshot.
- Stale Steam prices automatically pause checkout at both the interface and database layers without deducting coins.
- Added server-side reward search, filters, counts, and pagination so the shop and Admin remain usable with a full catalog.
- Removed the unfinished Google login placeholder from Settings.
v14.4.1 - Order workflow hardening
- Enforced safe order transitions server-side so admins cannot accidentally skip purchase/trade stages.
- Trade sent orders can no longer be refunded/cancelled through the normal workflow; declined/expired offers return to Ready to trade instead.
- Added database inventory guards for negative stock, reserved > total, and unsafe stocked → orderable mode switches.
- Admin now shows only valid next statuses and mode-aware quick actions.
- Customer order history now shows initial ETA, exact unlock time, and clearer sent/refund explanations.
- Added optional scheduled trade-lock sweep so expired locks can become Ready to trade and notify fulfilment without an Admin page refresh.
- Admin retries missed actionable status notifications when orders are loaded.
v14.4.0 - Reward ordering & trade-lock workflow
- Added In stock / prepared and Available to order reward modes.
- Added Ordered → Trade locked → Ready to trade → Trade sent → Completed lifecycle and live Steam trade-lock countdowns.
- Separated physical prepared stock from orderable inventory and added order/status emails.
v14.3.0 - Admin operations workspace
- Rebuilt Admin as a dedicated operations workspace with responsive navigation, overview, queues, inventory, status, promo, audit, coin, and team views.
- Added permanent SQ-R order numbers and SQ-S support ticket numbers plus global case search.
- Added detailed case drawers, handler attribution, resolution ownership, timelines, terminal-state protection, and audited RPC workflows.
- Protected the final owner and made coin/team changes auditable.
v14.2.0 - Password reset cooldown and safer login modal
- Forgot password now allows only one reset email per email address every 60 seconds through a server-side rate limiter.
- The reset button shows a live cooldown instead of allowing several emails to be queued immediately.
- Selecting text in the sign-in form can now be dragged outside the dialog without accidentally closing the login window when the mouse is released.
- Retains the v14.1.4 notification privacy and drawer fixes.
v14.1.4 - Private notification drawer fix
- Admins now only see notifications belonging to their own account in the personal notification drawer.
- Notification queries explicitly filter by the signed-in user instead of relying on admin-capable RLS.
- Mark all read now operates on the same notifications that are displayed.
- The notification drawer close button now works even if the header auth controls were re-rendered.
v14.1.3 - Verified Steam contact email and safer trade links
- Steam sign-in accounts without a real contact email now get a required email popup on the dashboard.
- Added 6-digit email verification so reward and support updates never rely on the synthetic Steam auth address.
- Reward redemption is blocked server-side until Steam-only users have a verified contact email.
- Steam trade URLs are now checked against the connected Steam account so a different account's trade link cannot be saved or redeemed with.
- Reward order emails now use the verified contact email for Steam users.
v14.1.2 - Clearer admin controls and balanced CPX spacing
- Redistributed CPX summary spacing so the availability count, guidance, and action no longer crowd one another.
- Rebuilt Operating overview as six distinct KPI cards with separated labels, values, and context.
- Reworked Public system status into clear component cards with readable messages and aligned controls.
- Made every admin panel collapsible to its title and remembered collapsed sections in the current browser.
- No database or Edge Function changes in this release.
v14.1.1 - Roomier surveys and custom reward filters
- Gave the CPX survey workspace a wider desktop canvas and more spacing between its panels.
- Stacks the CPX summary above the live offers before the two-column layout becomes cramped.
- Replaced the browser-native Weapon, Condition, and Rarity lists with SkinQuest-styled dropdown menus.
- Removed the Goals only filter and integrated the reset action cleanly into the filter bar.
- No database or Edge Function changes in this release.
v14.1.0 - Split CPX layout and reward progress polish
- Rebuilt Surveys around a dedicated CPX Research summary panel and a cleaner survey wall.
- Shows six CPX offers at once for a balanced two-column or responsive mobile layout.
- Shortened the secure fallback button to “Open CPX Research”.
- Separated reward progress and remaining-coin values so they stay readable on narrow cards.
- No database or Edge Function changes in this release.
v14.0.4 - Secure embedded CPX surveys
- Added CPX Research's full-content survey widget directly to the Surveys page.
- Signed every CPX session server-side so the publisher secret never appears in the website code.
- Added clear loading, signed-out, empty, and error states plus a signed new-tab fallback.
- Kept the survey page focused on CPX Research; BitLabs and Lootably remain hidden.
- No database changes in this release. The updated survey-feed Edge Function must be deployed.
v14.0.3 - Notifications, dashboard speed, and CPX cleanup
- Cleaned up the notification drawer, including the Mark all read action and scrollbar.
- Reward notifications now open and highlight the exact matching dashboard request.
- Made dashboard data load in parallel and refresh silently when returning to the tab.
- Removed BitLabs and Lootably from Surveys and added the official CPX Research logo.
- No database changes in this release.
v14.0.2 - Interface polish and layout cleanup
- Fixed the logged-in desktop navbar so How it works stays on one line.
- Removed the dashboard setup checklist.
- Kept a single Achievements section on the dashboard instead of showing both quests and achievements.
- Added more breathing room under the Redeem a code input.
- Cleaned up the Surveys page and removed the awkward oversized recommended-surveys block.
- No database changes in this release.
v13.1.0 - BitLabs, refund XP repair, and mobile polish
- Activated BitLabs with a signed-in offerwall, verified HMAC callback, idempotent credits, and negative reconciliation support.
- Fixed rejected reward refunds so restored coins no longer add XP or display an earning animation.
- Added an Install SkinQuest shortcut to the home page and real Apple, Android, and desktop icons to the install guide.
- Reworked the mobile header, menu, cards, forms, provider layouts, modals, and install flow for narrow screens.
- Forwarded account deletion to BitLabs when the Server-to-Server key is configured.
v13.0.0 - Secure surveys, account controls, and installable app
- Rebuilt Surveys with secure CPX links and provider-ready survey accounting.
- Added safer reward redemption, automatic order emails, password recovery, account deletion, and support rate limiting.
- Added the install page, PWA shell, SEO metadata, and updated legal information.
v12.2.10 - Redemption stability + Trade URL fix
- Restored the stable v12.2.4 redemption frontend and redeem_reward database function after a regression in later repair releases.
- Moved Trade URL form binding outside the main startup sequence so unrelated page-loading errors cannot leave the Save button inactive.
- The Save button now enters its Saving state immediately and shows inline success, validation, timeout, or database feedback.
- Added a focused existing-project repair SQL and a matching full setup SQL without replacing the wider working redemption schema.
- Restored the complete version history instead of replacing the newest changelog entry each release.
v12.2.9 - Redemption diagnostics + schema synchronization
- Added redemption database synchronization and more specific redeem error reporting.
- Superseded by the narrower v12.2.10 stability repair, which restores the previously working redemption path.
v12.2.8 - Trade URL save feedback
- Added immediate button feedback, inline Trade URL status messages, and timeout handling.
- The frontend feedback improvements were retained in v12.2.10 with a narrower database repair.
v12.2.7 - Initial Trade URL database patch
- Added a dedicated save_skinquest_trade_url RPC, flexible Steam link validation, and an own-profile fallback.
- The release package still contained outdated SQL files, which was corrected in later versions.
v12.2.6 - Campaign tracking paths
- Added neutral campaign paths /01 through /05 that keep the numbered landing path visible for GA4 comparison.
v12.2.5 - Clean public URLs
- Added clean routes such as /dashboard, /surveys, /rewards, and /settings through Apache rewrites.
v12.2.4 - CS2 profile ranks + gain animations
- Added the complete CS2 profile rank title progression from Private Rank 1 through Global General, shown alongside each user's SkinQuest level.
- Added animated +Coins and +XP popups when new earnings are detected, including a special level-up banner with the newly unlocked rank title.
- Levels above 40 keep the Global General title while SkinQuest level progression continues.
v12.2.3 - Google Analytics
- Added the Google Analytics (gtag.js) tag to every page for site traffic tracking.
v12.2.2 - Service worker no longer serves stale pages
- The install-support service worker was caching pages/CSS/JS cache-first, so a browser that had already visited the site could keep showing an old version after a deploy. Switched it to network-first: it always tries the live site first and only falls back to the cached copy when offline.
- If a browser had already cached the site before this fix, one hard refresh (or fully closing and reopening the tab) clears it out for good.
v12.2.1 - Favicon + goal card fix
- The browser tab icon (favicon) is now transparent instead of showing a solid dark square block.
- Fixed the goal star on dashboard goal reward cards pushing outside the card when the reward name was long.
v12.2.0 - Mobile fit fixes + icon-only app icon
- Fixed the Rewards page status bar so the new goal-star counter no longer crowds "Clear filters" on narrow phones.
- Goal reward cards on the dashboard now stack the picture above the details on narrow phones instead of squeezing them side by side.
- The installable app icon is now the SQ shield mark only (no wordmark), scaled to fill the icon like a normal app icon.
- Raised the goal rewards star limit from 5 to 6.
- Included upgrade SQL that raises the favorite_rewards limit to 6 and updated the full setup SQL to match.
v12.1.2 - PWA install support + goal rewards
- SkinQuest can now be added to your phone or desktop home screen as an installable app, with its own icon and offline-friendly app shell.
- Added a star button on every reward card so you can mark up to 5 rewards as goals.
- The dashboard now shows a Goal rewards section (when at least one reward is starred) with the reward's picture, name, and a progress bar toward its coin cost.
- Once you have enough coins for a starred reward, the progress bar is replaced with a Claim reward button that jumps to Rewards with that item already searched.
- Included upgrade SQL for the new favorite_rewards table and updated the full setup SQL to match.
v12.1.1 - Background + notification admin views
- Fixed the map background layer so it renders above the body color and no longer disappears on deployed pages.
- Added admin-only Supabase views for Reward Updates, Offer Issues, and Product Updates notification email lists.
- Made regular copy less over-bold so the interface feels less AI-generated and more like a normal product site.
- Made the header logo slightly larger while keeping responsive sizes for smaller screens.
- Moved Theme settings above Notifications so appearance settings are easier to find.
- Made map themes a little more noticeable through background glow, subtle accents, and theme cards without recoloring the full UI.
- Added extra navbar/profile stability polish to reduce visible movement during auth refreshes.
- Kept Surveys as the clearer navigation label while leaving /surveys as the page URL.
- Included upgrade SQL for the new admin notification subscriber views and updated README release notes.
v12.0.1 - Theme polish + navigation stability
- Made map themes feel more noticeable through stronger background mood, glows, borders, and theme cards.
- Kept the main SkinQuest interface colors consistent instead of recoloring the whole UI per map.
- Reduced page-change flicker by applying the saved theme before the stylesheet loads.
- Stabilized the top-right account area so it does not jump back to a loading state as noticeably between pages.
- Moved Steam Connected into a proper status pill layout in Settings.
- Renamed the Earn navigation label to Surveys while keeping /surveys as the page URL.
- Added README notes that Support notifications and Steam auth setup are already completed.
v12.0.0 - Map themes + stability cleanup
- Added selectable Nuke, Train, Mirage, Dust2, and Ancient themes in Settings.
- Theme choices update the page background and theme mood across SkinQuest.
- Saved the selected theme locally so the site keeps the same look on the next visit.
- Fixed the Steam disconnect button not opening its confirmation dialog.
- Removed completed support notification setup notes from the release package.
v11.9.3 - Steam sign-in + disconnect
- Added Steam sign-up and sign-in from the auth modal.
- Added Steam disconnect from Settings.
- Kept Steam login showing skinquestcs.com through the Steam callback page.
- Updated SQL and setup notes for the new Steam auth state mode.
v11.9.2 - Settings cleanup + Steam Connect prep
Rebuilt Settings into clean Account, Notifications, Theme, and Account safety sections, removed reward browsing preferences and quick actions, shortened How it works, hid resolved support requests from the main admin inbox, and wired the Steam Connect button to the Supabase Steam auth functions.
Previous
v11.8.3 - Support notification prep
Gave the floating support widget a cleaner look, added a required reply email field, added support@skinquestcs.com contact links, and included the Supabase Edge Function files needed for real server-side support email notifications.
Previous
v11.8.2 - Pre-meeting polish hotfix
Removed the extra Need more coins availability chip, tightened the availability filter layout, hid unfinished Steam/Google auth buttons, hid the Admin nav link until admin access is confirmed, and fixed trade-link wording to point to Settings.
Previous
v11.8.1 - Reward toolbar hotfix
Removed browser number arrows from the price range fields and tightened the availability pills so the toolbar looks cleaner on desktop.
Previous
v11.8 - Reward filters & settings polish
Rebuilt the reward shop controls with typed min/max coin filters, pill availability filters, a custom animated sort menu, result counts, clear filters, larger logo sizing, and more complete settings cards.
Previous
v11.7 - Logo & reward shop polish
Applied the SkinQuest logo from the existing assets folder, kept the loading bar, and cleaned the Rewards filter/sort toolbar so controls stay aligned and feel smoother when changed.
v11.6 - Nav & auth cleanup
Cleaned the top navigation, moved Settings into the account dropdown only, removed duplicate level details from the profile menu, added logout confirmation, and improved signup copy when an email may already exist.
v11.5 - User flow & admin workflow
Improved reward CTAs, affordable filtering, account dropdown, first-time setup panel, admin copy tools, system status cards, support context, and clearer empty states.
v11.4 - Roles & navigation
Added footer versioning, owner/admin role split, owner-only reward and coin tools, support inbox, admin roles panel, and level progress in navigation.
v11.3 - Loading & mobile polish
Added cleaner loading states, reduced account flashing, improved mobile header layout, and cleaned Settings spacing.
v11.2 - Test phase cleanup
Cleaned dashboard, support widget, redeem history show-more, default reward sorting, and admin access behavior.