Skip to content

feat: Add auto browser detection and improve reliability#56

Open
frimodig wants to merge 5 commits into
FailSpy:mainfrom
frimodig:feature/auto-browser-detection-and-reliability
Open

feat: Add auto browser detection and improve reliability#56
frimodig wants to merge 5 commits into
FailSpy:mainfrom
frimodig:feature/auto-browser-detection-and-reliability

Conversation

@frimodig
Copy link
Copy Markdown

@frimodig frimodig commented Jan 14, 2026

Summary

This PR combines browser compatibility improvements with Steam API enhancements for a more robust experience.


🔀 Includes changes from PR #55 (DIASILEDU)

This PR incorporates the excellent work from #55 to provide a single, comprehensive update. Merging these together avoids conflicts and ensures both improvements work seamlessly together.

From PR #55 (Steam API Improvements):

  • Steam Web API key management - Prompts for and saves API key to steam_api_key.txt
  • Paginated app list fetching - Uses the proper Steam Store API with pagination
  • Parallel app details fetching - Uses ThreadPoolExecutor for faster lookups
  • Better error handling - Graceful handling of 403 errors and missing app details
  • Virtual environment setup - Improved run_redeemer.bat for Windows users

🌐 New: Auto Browser Detection

Supported Browsers (auto-detected)

  • Google Chrome
  • Brave
  • Microsoft Edge
  • Chromium
  • Opera
  • Vivaldi
  • Arc
  • Firefox

Custom Browser Support

For unlisted browsers, set environment variables:

export BROWSER_PATH='/path/to/browser/executable'
export BROWSER_TYPE='chromium'  # or 'firefox'

webdriver-manager Integration

  • Automatically downloads the correct browser driver
  • No manual WebDriver setup required
  • Falls back gracefully if not installed (backwards compatible)

✅ Non-Breaking Changes

All changes maintain backwards compatibility:

  • webdriver-manager is optional (falls back to PATH-based driver detection)
  • Browser detection only adds options, doesn't change existing behavior
  • Existing setups continue to work unchanged

Tested on macOS with Brave browser.

DIASILEDU and others added 5 commits December 30, 2025 15:40
- Auto-detect 8 browsers (Chrome, Brave, Edge, Chromium, Opera, Vivaldi, Arc, Firefox)
- Support custom browser via BROWSER_PATH/BROWSER_TYPE env vars
- Add webdriver-manager for automatic driver downloads
- Add retry logic for Steam API failures
- Maintain backwards compatibility with existing setups
Merged changes from DIASILEDU:
- Steam Web API key management
- Paginated app list fetching with better error handling
- Parallel app details fetching with ThreadPoolExecutor
- Virtual environment setup improvements
- README updates
@BryanWall
Copy link
Copy Markdown

I have been using this PR and it works much better. Thank you.

I had it fail today when trying to redeem unredeemed keys, however. I think it may be because there were no unredeemed keys, but I'm not sure. When I ran it again and chose not to redeem keys it worked without error. I will attach the error log.

Do you know if it's possible to include which bundle a key came from in the output?

error.log

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants