Skip to content

Clipboard blocked prevention, small fixes, Update CI, Update Deps, expired keys handling#8

Open
Knight1 wants to merge 46 commits intoMrMarble:mainfrom
Knight1:main
Open

Clipboard blocked prevention, small fixes, Update CI, Update Deps, expired keys handling#8
Knight1 wants to merge 46 commits intoMrMarble:mainfrom
Knight1:main

Conversation

@Knight1
Copy link
Contributor

@Knight1 Knight1 commented Feb 6, 2026

Features

  • Track permanent errors (for now expired keys) and do not try to redeem those keys again since it will fail again
  • Add build instructions to README
  • If the clipboard is blocked the code now caches the export and shows a button to export again which unlocks the clipboard
  • CSV is now properly escaped if a game's human_name contains "," which breaks the csv

Changed

  • Updated CI with matrix and latest node versions
  • Changed Changelog generator to changelogen since the old one contained a dependency with a known vulnerability
  • Updated all dependencies
  • Do not export keyless keys into keys and csv
  • Do not redeem keyless keys since this tool is for exporting keys and keyless means no keys to export

-> Please test it.

  • dependabot is still enabled if you don't want that let me know.
  • Choices seems more like a bigger project. Would you like that as 0.6 or add it to the 0.5 until it is ready for merge?

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.
Copy link
Owner

@MrMarble MrMarble left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good! thank you so much!
I left some minor comments, the only one that should be fixed is the possible runtime error in the exportCSV function, I leave the others to your discretion

jobs:
build:
runs-on: ubuntu-latest
runs-on: ubuntu-slim
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Uh nice

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This uses a container instead of a full vm. I think for linting this is just fine.

Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Weird, I have dependabot enabled in the settings it shouldn't need the config file, but let's keep it

Image

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Without the dependabot.yml it does nothing.

Comment on lines 16 to 29
@@ -24,63 +32,124 @@ export function Actions({ dt }: { dt: Accessor<Api<Product>> }) {
)
.map((product) => `${product.human_name}\t${product.redeemed_key_val}`)
.join('\n')

navigator.clipboard.writeText(keys)
}
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

let's use the implicit return of the arrow function instead:

-  const exportASF = (products: Product[]) => {
-    return products
+  const exportASF = (products: Product[]) => products
      .filter(
        (product) =>
          !product.is_gift &&
          product.redeemed_key_val &&
          !product.is_expired &&
          product.key_type === 'steam'
      )
      .map((product) => `${product.human_name}\t${product.redeemed_key_val}`)
      .join('\n')
-  }

Comment on lines +37 to +38
const exportKeys = (products: Product[]) => {
const keys = products
.filter((product) => !product.is_gift && product.redeemed_key_val)
return products
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same as above

@Knight1
Copy link
Contributor Author

Knight1 commented Feb 6, 2026

Please test it :)

dependabot bot and others added 10 commits February 27, 2026 04:25
Bumps [@eslint/js](https://github.com/eslint/eslint/tree/HEAD/packages/js) from 9.39.2 to 9.39.3.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Commits](https://github.com/eslint/eslint/commits/v9.39.3/packages/js)

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

Signed-off-by: dependabot[bot] <support@github.com>
Bumps [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) from 8.54.0 to 8.56.1.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.56.1/packages/typescript-eslint)

---
updated-dependencies:
- dependency-name: typescript-eslint
  dependency-version: 8.56.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Bumps [rollup](https://github.com/rollup/rollup) from 4.57.1 to 4.59.0.
- [Release notes](https://github.com/rollup/rollup/releases)
- [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md)
- [Commits](rollup/rollup@v4.57.1...v4.59.0)

---
updated-dependencies:
- dependency-name: rollup
  dependency-version: 4.59.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

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

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

Signed-off-by: dependabot[bot] <support@github.com>
Bumps [lint-staged](https://github.com/lint-staged/lint-staged) from 16.2.7 to 16.3.2.
- [Release notes](https://github.com/lint-staged/lint-staged/releases)
- [Changelog](https://github.com/lint-staged/lint-staged/blob/main/CHANGELOG.md)
- [Commits](lint-staged/lint-staged@v16.2.7...v16.3.2)

---
updated-dependencies:
- dependency-name: lint-staged
  dependency-version: 16.3.2
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@MrMarble
Copy link
Owner

MrMarble commented Mar 9, 2026

Hey, thank you for your work! Sorry for not reviewing it, I was moving flats, will try to review today

@MrMarble MrMarble self-requested a review March 9, 2026 16:55
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.

2 participants