sys.log
Changelog
Every update, fix, and feature - shipped.
Deserved Launcherv3.0
- >Update: Redesigned entire update system - removed separate updater exe, embedded minimal updater inside the launcher
- >Update: Added in-window update overlay instead of separate dialog - shows version info, release notes, download progress, and update history
- >Update: Three-tier update enforcement: KeyAuth hard lock, API minimum version block, and soft update-available nudge
- >Update: Launcher now loads in restricted mode when update is required instead of blocking startup
- >Update: CHECK UPDATES button auto-highlights when a newer version exists on startup
- >Update: Added minimum version enforcement via /api/versions endpoint
- >Update: Added download retry and manual download fallback for expired licenses during forced updates
- >Cleanup: Deduplicated license key loading into shared LicenseUtils (was copy-pasted in 5 files)
- >Cleanup: Removed dead code across multiple files
- >UI: Added "End Process & Relaunch" button to the "Already Running" dialog
AccountWarmerv1.6.4
- >GoLogin: Fixed proxy type parsing - proxy.mode was incorrectly read as an object instead of a string, causing all proxy types to silently default to HTTP
- >GoLogin: Fixed proxy host/port not being read from top-level profile fields in the profiles list response
- >GoLogin: Single profile fetch now correctly reads proxy type from proxy.mode string enum (http, socks4, socks5, etc.)
Deserved Camera (Driver)v1.1.6
- >Installer: Added DMFT COM registration check to preflight - detects missing CLSID and warns about error 0x80040154 (CLASS_NOT_REGISTERED)
- >Installer: Added automatic DMFT registration fix after install - tries regsvr32 first, falls back to manual registry write if needed
- >Installer: Preflight now shows registered InprocServer32 path and warns if the DLL file is missing at that path
- >Installer: Fixed camera name change writing FriendlyName to wrong registry subkey - now writes to correct child key and restarts device
Deserved Launcherv2.9
- >Versioning: Added minimum_version enforcement - launcher now blocks products below the required minimum version and forces update
- >Versioning: Added /api/versions endpoint on deserved.me for centralized version manifest (no more GitHub API dependency)
- >Versioning: minimum_version field added to products.json and embedded in C++ headers at build time
- >Fix: Launcher minimum_version was empty in builds - now correctly reads from products.json
AccountWarmerv1.6.3
- >UI: Schedule, Warming Session, and Bulk Edit dialogs now remember their window size and position between sessions
- >Warming: Fixed sessions getting stuck on "Orders checked: 0" at end of warming - added 30-second timeouts to end-of-session orders and basket checks
- >Schedules: Fixed "Schedule Selected" not saving Change IP URL and proxy rotation settings to profile config
AccountWarmerv1.6.2
- >UI: Complete GUI redesign - neon green accent, sharp corners, darker palette to match launcher/website
- >UI: Removed Account Health sidebar from Profiles page - table now uses full width
- >UI: Added Profile Dashboard - double-click any profile to see stats, warming activity, recommendations, basket, orders, and session history in one place
- >UI: Added "Dashboard" to right-click context menu for quick access
- >UI: Session history in Dashboard is clickable - double-click to view full session details and actions
- >UI: Quick actions (Quick Warm, Check Orders, Check Basket) moved into the Dashboard for per-profile control
- >UI: Removed Categories and Addresses buttons from Profiles toolbar (accessible via Settings)
- >UI: Widened Status column on Profiles page
- >UI: Heatmap cells now cap at a readable size instead of scaling to fill width
- >UI: Updated all dialogs (Schedule, Warming Session, Initial Cookies, Create Plan, Bulk Edit, Cleanup, etc.) to match new theme
- >UI: Login screen updated - flat green accent, sharp corners, dark background
- >UI: Schedule, Warming Session, and Bulk Edit dialogs are now resizable with scroll bars for smaller screens
- >UI: Dialog buttons pinned at bottom so they're always visible when scrolling
- >Check Proxy: Added support for Vision, Multilogin, Kameleon, Undetectable, and Wadex browsers
- >Check Proxy: Vision falls back to cloud proxies list API when cached proxy data is missing
- >Check Proxy: Undetectable parses proxy string format (type://host:port:login:pass) and falls back to getProfileInfo API
- >Check Proxy: Fixed Multilogin getProfile not returning proxy host/port/login/password fields
- >Context Menu: Removed "Run Scenario" action (disabled for now)
- >Context Menu: Removed "Delete Profile" action
- >Context Menu: Removed MoreLogin-specific items (Check Status, Refresh Fingerprint, Clear Cache)
- >GoLogin: Fixed profile pagination - now fetches all pages instead of only the first 100 profiles
- >Kameleon: Fixed profiles failing to start after first session (403 Forbidden) - now checks profile status and stops before restarting
- >Kameleon: Improved error logging - API error responses now parsed for detailed server messages
- >Proxy Rotation: Added detailed logging for proxy identity resolution, changeIpUrl usage, and rotation attempts
- >Proxy Rotation: Added audit logging when schedule saves proxy config to config.json
- >Warming: Fixed profiles getting stuck on "Executing graceful wind-down sequence" - added 30-second hard timeout
Deserved Launcherv2.8
- >Auth: Launcher now passes license key to child apps on launch, fixing "No active license key in session" for launcher-only users
- >Auth: Fixed new users on launcher-only flow having no license key available for ID generation
- >UI: Changed the UI to match the website, other tools will follow
- >UI: Added auto-login checkbox to login screen (saves preference, auto-authenticates on startup after blacklist check)
- >UI: Added LOGOUT button to main window footer (clears auto-login and closes app with session cleanup)
- >UI: Added END PROCESS dialog when launching an already-running product (no more task manager needed)
- >UI: Login screen now shows actual launcher version instead of hardcoded v1.0.0
Deserved Camerav1.3.1
- >Crypto: Fixed AES-256-GCM failing on Windows Server with STATUS_INVALID_PARAMETER by using standard 12-byte GCM nonce
- >Crypto: Added fallback decryption with legacy 16-byte IV for backwards compatibility
- >Auth: Store entitlement token to config after launcher login so license key backend fallback works
- >ID Generator: Fixed "Missing embedded camera key" error on Windows Server/VPS machines
Deserved Camera (Driver)v1.1.5
- >Crypto: Fixed AES-256-GCM failing on Windows Server with STATUS_INVALID_PARAMETER by using standard 12-byte GCM nonce
- >Crypto: Added fallback decryption with legacy 16-byte IV for backwards compatibility
- >Auth: Store entitlement token to config after launcher login so license key backend fallback works
- >ID Generator: Fixed "Missing embedded camera key" error on Windows Server/VPS machines
AccountWarmerv1.6.1
- >IP History: Added per-profile IP history tracking - records every IP used on each profile with timestamps
- >IP History: Added right-click "IP History..." context menu action on profiles (works for single and multi-select)
- >IP History: Added CSV export for single profile or all profiles with duration, reason, and conflict details
- >IP History: Duplicate IP conflicts now recorded with the conflicting profile ID for full visibility
- >IP History: Filter and sort IP history by any column in the dialog
Deserved Camerav1.3.0
- >Background: Added procedural texture backgrounds (Wood Grain, Marble, Concrete, Tile, Fabric) with Perlin noise generation
- >Background: Added custom color picker for procedural textures with per-texture palette derivation
- >Background: Added Reset button to revert texture color to default palette
- >Background: Added Regenerate button to randomize texture pattern (new seed, same type)
- >Background: Added background image loading - load any image (PNG/JPG/BMP/WEBP) as a background layer behind the foreground
- >Background: Added "Background follows camera effects" toggle - background moves with camera shake for realistic compositing
- >Background: Background drawn 20% oversized when following camera to prevent edge visibility during movement
- >Background: Procedural textures and background images are mutually exclusive - selecting one clears the other
- >UI: Finally updated the GUI for the normal camera
- >UI: Replaced vertical tabbed layout with horizontal accordion sidebar - 7 collapsible sections (Transform, Effects, Background, Frame Overlay, Video, Streaming, Settings)
- >UI: Moved action buttons (Load, Edit, Start/Stop Camera, Resolution, Scale Mode) into horizontal bar below preview
- >UI: Added animated expand/collapse with badge indicators on sidebar sections
- >Config: Per-profile background settings (texture type, seed, custom color, image path, follows-camera) persist across sessions
Deserved Camera (Driver)v1.1.4
- >Background: Added procedural texture backgrounds (Wood Grain, Marble, Concrete, Tile, Fabric) with Perlin noise generation
- >Background: Added custom color picker for procedural textures with per-texture palette derivation
- >Background: Added Reset button to revert texture color to default palette
- >Background: Added Regenerate button to randomize texture pattern (new seed, same type)
- >Background: Added background image loading - load any image (PNG/JPG/BMP/WEBP) as a background layer behind the foreground
- >Background: Added "Background follows camera effects" toggle - background moves with camera shake, auto-pan, and auto-zoom for realistic compositing
- >Background: Background drawn 20% oversized when following camera to prevent edge visibility during movement
- >Background: Procedural textures and background images are mutually exclusive - selecting one clears the other
- >UI: Added Background tab with all background controls (canvas color, procedural textures, background image, follows-camera toggle)
- >Config: Per-profile background settings (texture type, seed, custom color, image path, follows-camera) persist across sessions
AccountWarmerv1.6.0
- >Dolphin: Fixed proxy check showing "Proxy is not set" when proxy is assigned by ID reference instead of embedded in the profile
- >Dolphin: Added proxy-by-ID resolution - fetches proxy details via GET /proxy when profile only contains a proxy ID
- >Dolphin: Fixed proxy port parsing when API returns port as a string instead of integer
- >Proxy Check: Added socks4 proxy type support
- >Multilogin: Fixed scheduled warming failing when folder_id is not in local cache - now auto-fetches from Multilogin API before starting
- >Warming: Fixed profiles getting stuck in "Running/Busy" state when browser fails to open - all browser APIs now handle error signals and clean up immediately
- >Warming: Fixed connection leak when browser open fails - success and error signal connections are now both cleaned up on either outcome
- >Schedules: Added randomized session duration - enable per-schedule to vary duration ±X minutes each run for more natural patterns
- >Schedules: Duration randomization supported in bulk edit and schedule presets
AccountWarmerv1.5.8
- >WADE X: Implemented WADE X anti-detect browser support (profile list, start, stop, right-click open/close)
- >WADE X: Added warming integration with CDP automation port for session control
- >WADE X: Added proxy check support using profile-level proxy data
- >Fix: config.json was not being extracted alongside the bundled engine - all region-specific config values (domains, sites, selectors) were silently falling back to hardcoded defaults
- >Fix: Amazon domain mapping now uses hardcoded fallbacks for all 15 regions so sessions always navigate to the correct regional site (e.g. amazon.de for LV/DE, amazon.co.uk for UK)
- >Fix: eBay domain mapping now uses hardcoded fallbacks for all 15 regions instead of defaulting to ebay.co.uk
- >Fix: Initial Cookies for Latvia (LV) region was showing UK sites - added LV with 38 Latvian sites to hardcoded defaults
AccountWarmerv1.5.7
- >Engine: Added central Event Emitter for status - all events now flow through a singleton bus with sessionId/profileId/timestamp enrichment
- >Engine: Added config.json for all hardcoded values - domains, selectors, timeouts, currencies, languages, timezones, consent selectors, and scoring weights are now editable without code changes
- >Engine: Added config loader with dot-path access (e.g. 'amazon.domains.uk') and hot-reload support
- >Engine: Wired all services (Amazon, eBay, browserHelpers, initialCookies, planSettings, fingerprintCheck) to read from config.json - single source of truth with hardcoded fallbacks
- >Engine: Restructured config.json from flat maps to nested per-region objects (e.g. amazon.regions.uk.domain/currency/language/timezone) for easier maintenance
- >Engine: Added plan settings (turbo/advanced/balanced/basic) and initial cookies plans (fast/balanced/thorough) to config.json
- >Engine: Added initial cookies region sites to config.json - all 14 regions with trusted site lists now configurable
- >Warming: Added Smart Search Query Learning - per-profile search history that avoids repeating queries within 3 sessions, evolves from generic to specific terms, and learns interests from viewed products
- >Warming: Added Session Fingerprint Consistency Scoring - checks timezone, language headers, WebRTC leaks, and region consistency after connecting, emits fingerprint_score/fingerprint_warning to C++
- >Warming: Added Adaptive Pacing - measures page load times and dynamically adjusts actionDelay, actionsPerIteration, and burstPauseTime (slow proxy = more delays, fast proxy = tighter timing)
- >Warming: Added Graceful Session Wind-Down - at 90% session time, stops new searches, filters to safe actions only, closes extra tabs, navigates home, then cleanly exits
- >Warming: Added proxy-aware concurrency - profiles sharing the same proxy (by Change IP URL or host:port) won't run simultaneously, queued profiles wait until the proxy is free
- >Warming: Added Google search referral method - periodically searches via Google (e.g. "amazon.co.uk ddr5") and clicks through to Amazon for more natural traffic patterns, capped at ~2 per session
- >Warming: Added Zappos cross-site browsing - visits Zappos via Google search, browses products for 30-90s, then returns to Amazon for cross-site trust building, max 1 per session
- >Warming: Added Latvia (lv) region support - Amazon/eBay domains, initial cookies sites, sign-in/hello phrases, timezone, currency, and language
- >Amazon: Integrated search learning into performSearch - picks smart queries, records searches and product views for learning
- >Amazon: Integrated adaptive pacing - navigation calls timed and fed back to pacer, main loop uses adjusted plan params
- >Amazon: Integrated wind-down - action filtering during wind-down phase blocks heavy actions
- >eBay: Integrated search learning, adaptive pacing, and wind-down into browseEbay loop
- >Schedules: Added schedule settings presets - save, load, and delete reusable schedule configurations (saved to profiles/schedule_presets.json)
- >UI: Added Latvia (.de) to region dropdown in all dialogs (Schedule, Warming, Initial Cookies, Bulk Edit)
Deserved Camera (Driver)v1.1.3
- >Driver: Removed Front camera - single camera device now, eliminates shared memory conflicts between Front/Back DMFT instances
- >Driver: Renamed camera from "USB2.0 HD UVC WebCam (Rear)" to "USB2.0 HD UVC WebCam"
- >Driver: Increased shared memory from 32MB to 48MB to support 4K BGRA frames without overflow
- >Driver: DMFT now detects stale NV12 queue (producer closed/recreated) and reopens automatically - fixes resolution not updating until device disable/enable
- >Driver: Added safety clamping to BGRA letterboxing path to prevent unsigned underflow on fitX/fitY calculations
- >Camera Tool: Fixed race condition in resolution switching - frame dimensions now captured under render mutex, preventing buffer overread crash in BgraToNv12
- >Camera Tool: Added buffer size validation in SendNv12QueueFrame before BGRA-to-NV12 conversion
- >Camera Tool: NV12 queue now signals State=Stopping before closing, so DMFT consumers detect the change
- >Camera Tool: Resolution change now triggers automatic device restart (via DeservedCameraTool.exe /restart) so consuming apps renegotiate at the new resolution
- >Camera Tool: Added debounced resolution switching (800ms settle time) to prevent concurrent device restarts when rapidly changing resolution
- >Camera Tool: Added "Switching Resolution" overlay with progress indicator and browser refresh hint
- >Camera Tool: Only explicit resolution selections trigger device restart - "Follow Consumer" and "Original Size" modes skip it
- >Installer: Added /restart command to DeservedCameraTool.exe - disables and re-enables camera device with UAC elevation
- >Installer: Fixed camera rename not working - removed Front/Rear suffix preservation logic that re-appended "(Rear)" to new names
AccountWarmerv1.5.6
- >OctoBrowser: Fixed profiles capped at 100 - added auto-pagination to fetch all profiles
- >UI: Fixed row selection not checking the checkbox - clicking any column now syncs the checkbox state
- >UI: Fixed clicking empty space leaving stale checkbox checked - now clears all selections
- >Schedules: Fixed scheduled warming defaulting to headless mode - browser now opens visibly when headless is off
- >Schedules: Fixed deleted schedules with "Queued" or "Running" status continuing to run - now cancels queued/active warmings on delete
- >Schedules: Fixed "Randomize Times" not working - times were only randomized once at creation, now auto-regenerated daily
- >Warming: Fixed tab losing focus during sessions - added periodic bringToFront to keep the warming tab active
- >Sessions: Added bulk delete and clear all history - use checkboxes + Delete Selected or Bulk Actions menu
AccountWarmerv1.5.4
- >FINALLY Fixed MultiLogin not fetching profiles correctly
AccountWarmerv1.5.3
- >Fixed Dolphin proxy check
- >Fixed MultiLogin not fetching profiles correctly
Deserved Camerav1.2.9
- >Added disable preview to fix some lagging issues for some people
AccountWarmerv1.5.2
- >Kameleon: Fixed headless start
- >Undetectable: Implemented Undetectable browser support (profiles list/start/stop + right-click actions)
- >Undetectable: Added warming integration + proxy check fallback via /profile/getinfo
- >GoLogin: Fixed proxy check fallback to use merged proxy list details when config proxy is missing
- >Warming: Suppressed false "Process crashed" errors after a session already completed and ended successfully
AccountWarmerv1.5.1
- >Sessions/Profiles/Schedules: Fixed multi-selecting with Ctrl/Shift modifiers
- >Schedules: Fixed the IP Change URL history dropdown, this now shows the correct URLs
- >Schedules: Fixed the status change, when changing from "Failed"
- >UI: Fixed the settings page not adapting to different window sizes
- >UI: Fixed the left menu not resizing with the window
- >Kameleon: Implemented Kameleon browser support
- >Kameleon: Fixed right-click Open/Close Browser actions using Dolphin endpoints
- >Kameleon: Fixed profile start/stop flow to use /profiles/{profileId}/start and /profiles/{profileId}/stop
- >Kameleon: Added Puppeteer WS fallback ws://127.0.0.1:{port}/puppeteer/{profileId} when start returns no wsUrl
- >Proxy Check: Added Kameleon proxy parsing/fallback so proxy IP checks work for Kameleon profiles
- >Warming Engine: Bring the active tab to front after Initial Cookies and before warming
AccountWarmerv1.5.0
- >Proxy Check: Retry up to 2 times on connection failure (e.g. timeout) or empty IP response
- >Proxy Check: Improve error messages for SOCKS5/Protocol errors with actionable guidance for users (e.g. check proxy type)
- >Vision: Parse proxy_id and inline proxy details from cloud profile list for proxy check support
- >Vision: Add folder proxies endpoint lookup (GET /folders/{id}/proxies) as fallback when profile has proxy_id but no inline data
- >Vision: Store update_url from folder proxies as changeIpUrl for IP rotation support
- >UI: Fix crash when opening Configure Warming dialog (uninitialized widget pointer in category change handler)
- >UI: Configure Warming All now merges settings into existing config instead of overwriting (preserves proxy, address, cookies data)
- >Amazon: Prevent basket accumulation - randomized cap per session (3-6 items), proactive cart visits when approaching cap, boosted removal weights, removal actions in all modes
Deserved Camerav1.2.8
No standalone changes
Deserved Camera (Driver)v1.1.2
- >Video: Fix 30fps videos playing slowly - frame delivery timing now adapts to video's native FPS and playback speed
- >Video: Speed slider now works correctly for all frame rates (was stuck at 30fps delivery regardless of speed setting)
- >Video: Performance optimization for high-res videos - reuse BGRA buffer and D2D bitmap instead of per-frame allocation
- >Video: Bitmap updated in-place via CopyFromMemory instead of recreating every frame (reduces GPU overhead)
AccountWarmerv1.4.8
- >AdsPower: Parse proxy_port when returned as a string in user_proxy_config
- >AdsPower: Persist proxy details into per-profile config on profile load when missing
- >Proxy Check: Use cached AdsPower profile list proxy data instead of /api/v1/user/info
- >Categories: Fix Category Manager deletions so removed categories no longer appear in warming settings
- >Categories: Build warming category dropdown from saved custom_categories.json (defaults + custom)
- >Warming Engine: Always load custom_categories.json so edits to default categories apply
- >Warming: Add Change IP URL recent-history dropdown (edit/delete + short names), saved on config save
- >UI: Improve Profiles/Sessions/Schedules table column resizing (clamped to window, no horizontal scroll)
- >UI: Persist table column widths reliably across relaunch (includes window/layout re-fit)
- >UI: Make column resize handles more discoverable (cursor change on hover + clearer header separators)
Deserved Camerav1.2.7
- >ID Generator: Fix "No active license key in session" when using entitlement sessions
- >ID Generator: Resolve license key from shared .license and entitlement token binding
Deserved Camera (Driver)v1.1.1
- >ID Generator: Fix "No active license key in session" when using entitlement sessions
- >ID Generator: Resolve license key from shared .license and entitlement token binding
AccountWarmerv1.4.9
- >Warming Queue: Count "starting" profiles toward max concurrent warmings to prevent simultaneous starts instead of waiting to be connected to the debug port
- >Schedules: Persist schedule time window (start/end), times-per-day, and randomize setting; fix end time changing when editing
- >Schedules: Fix bulk "Schedule Selected" flow not persisting window/times-per-day, causing edited schedules to show wrong end time
- >Proxy Check: Add per-profile min rotate interval (rate-limit friendly) and retry on 429 Too Many Requests
Deserved Launcherv2.7
- >Updated the auth and session flow to use entitlement tokens from the server
- >All apps MUST be ran from the launcher to avoid session errors
- >Changed the UI (mainly so everyone is on the most recent)
AccountWarmerv1.4.7
- >UI: Added search box on Session and Schedule page
- >Sessions: Resolve display name from current profile list when session name is an ID
- >Logging: Create per-run log files (timestamp + PID) and delete logs older than 7 days
- >Initial Cookies: Add per-profile custom websites list and cookies plan support
- >Initial Cookies: Add per-site consent steps (CSS/XPath/text match) and presets manager
Deserved Camerav1.2.6
- >Logging: Create per-run log files (timestamp + PID) and delete logs older than 7 days
Deserved Camera (Driver)v1.1.0
- >Logging: Create per-run log files (timestamp + PID) and delete logs older than 7 days
AccountWarmerv1.4.6
- >Amazon: Expanded search-result selectors to match sponsored and standard listings
- >Amazon: Prefer clicking anchors inside data-asin result containers
- >Amazon: Reduced click-product navigation wait to avoid 120s action timeouts
- >AdsPower: Merge proxy list data into refreshed profile list via related_profile_no
- >AdsPower: Add proxy list pagination and error handling for profile refresh
- >MoreLogin: Parse proxy port from proxyName when proxyIp omits port
- >OctoBrowser: Resolve proxies via profile lookup and proxy list merge
- >Dolphin: Map single-profile fetch response fields to internal profile model
- >Warming: Auto-fetch Ant Browser proxy details when proxy check starts
- >Warming Queue: Enforce concurrent limits when processing queued profiles
- >Sessions: Add search box to filter session history
- >eBay: Use custom search terms for searches (parity with Amazon)
Deserved Camerav1.2.6
- >Fixed the panning to allow movement off screen, and not be clamped
End of log