Skip to content

Implement Humble Bundle Choice#9

Open
Knight1 wants to merge 36 commits intoMrMarble:mainfrom
Knight1:choice
Open

Implement Humble Bundle Choice#9
Knight1 wants to merge 36 commits intoMrMarble:mainfrom
Knight1:choice

Conversation

@Knight1
Copy link
Contributor

@Knight1 Knight1 commented Feb 6, 2026

This looks up all the subscription orders, filters it for the new Humble Choice, goes to the membership page, chooses all games and redeems the game if the keytype is steam.

Features

  • Add Humble Choice support: automatically choose and redeem keys from Choice subscription bundles
  • Redeem all key types (steam, origin, uplay, generic, etc.) except keyless entries which are unredeemable
  • Show order loading progress indicator with live count of loaded orders
  • Auto-refresh product list once all orders have finished loading
  • Show toast notification when CSV export has no keys to export
  • Add region lock column to table and CSV export showing country restrictions
  • Add SearchBuilder filter for region lock with "Redeemable in" / "Not redeemable in" conditions using ISO country codes
  • Add region lock to table (with hover menu) and the csv Export

Changed

  • Separate Choice and non-Choice claiming flows for more reliable key redemption
  • Normal Bundles are no longer redeemed if the Value is_expired is true

Bug Fixes

Not implemented / todo

  • testing, testing, testing. Find all the Bugs.
  • It only redeems steam right now. Does not even try to redeem anything else. Main problem is that _keyless is unredeemable. So trying to redeem this after choosing the game results in an error.
  • Old Humble Monthly with games to choose from are also not included right now since you need to choose the games you want. This would require some more magic.

Knight1 and others added 30 commits February 6, 2026 00:47
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 4 to 6.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](actions/setup-node@v4...v6)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Bumps [@rollup/plugin-replace](https://github.com/rollup/plugins/tree/HEAD/packages/replace) from 6.0.2 to 6.0.3.
- [Changelog](https://github.com/rollup/plugins/blob/master/packages/replace/CHANGELOG.md)
- [Commits](https://github.com/rollup/plugins/commits/babel-v6.0.3/packages/replace)

---
updated-dependencies:
- dependency-name: "@rollup/plugin-replace"
  dependency-version: 6.0.3
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Bumps [@rollup/plugin-babel](https://github.com/rollup/plugins/tree/HEAD/packages/babel) from 6.0.4 to 6.1.0.
- [Changelog](https://github.com/rollup/plugins/blob/master/packages/babel/CHANGELOG.md)
- [Commits](https://github.com/rollup/plugins/commits/url-v6.1.0/packages/babel)

---
updated-dependencies:
- dependency-name: "@rollup/plugin-babel"
  dependency-version: 6.1.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Bumps [prettier](https://github.com/prettier/prettier) from 3.5.3 to 3.8.1.
- [Release notes](https://github.com/prettier/prettier/releases)
- [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md)
- [Commits](prettier/prettier@3.5.3...3.8.1)

---
updated-dependencies:
- dependency-name: prettier
  dependency-version: 3.8.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Bumps [rollup-plugin-userscript](https://github.com/violentmonkey/rollup-plugin-userscript) from 0.3.7 to 1.1.0.
- [Commits](violentmonkey/rollup-plugin-userscript@v0.3.7...v1.1.0)

---
updated-dependencies:
- dependency-name: rollup-plugin-userscript
  dependency-version: 1.1.0
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
…setup-node-6

build(deps): bump actions/setup-node from 4 to 6
…gin-replace-6.0.3

build(deps-dev): bump @rollup/plugin-replace from 6.0.2 to 6.0.3
…gin-babel-6.1.0

build(deps-dev): bump @rollup/plugin-babel from 6.0.4 to 6.1.0
….8.1

build(deps-dev): bump prettier from 3.5.3 to 3.8.1
Bumps [@eslint/js](https://github.com/eslint/eslint/tree/HEAD/packages/js) from 9.26.0 to 9.39.2.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Commits](https://github.com/eslint/eslint/commits/v9.39.2/packages/js)

---
updated-dependencies:
- dependency-name: "@eslint/js"
  dependency-version: 9.39.2
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
…9.39.2

build(deps-dev): bump @eslint/js from 9.26.0 to 9.39.2
…gin-userscript-1.1.0

build(deps-dev): bump rollup-plugin-userscript from 0.3.7 to 1.1.0
…aim progress, shows error if clipboard is blocked and asks user to copy it again.
…ontain an object. But the redeem process is server side.
…bject object] since this is a new object with a redeem link and the user it was for.
… parsing. For example the cities_skylines_masstransit_bundle_steam bundle does this.
@Knight1 Knight1 marked this pull request as ready for review February 10, 2026 22:31
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.

1 participant