Commit graph

148 commits

Author SHA1 Message Date
nocci
76f578e2e6 feat(auth): enhance automatic login and MFA handling
Some checks are pending
Build and push Docker image (amd64, arm64 to hub.docker.com and ghcr.io) / docker (push) Waiting to run
Lint / Lint (push) Waiting to run
Sonar / sonarcloud (push) Waiting to run
- add handleMFA function for improved two-step verification
- implement direct login page handling with automatic sign-in

🐛 fix(claim): improve game claim process and duplicate prevention

- normalize claim URLs and deduplicate by URL
- fix various selectors for claim buttons and handle different languages
- prevent duplicate game claims by checking existing records

♻️ refactor(utils): improve code readability and maintainability

- extract normalizeClaimUrl function for URL handling
- restructure logic for claim and notification processes

🌐 i18n(claim): add support for game claim text in German

- handle German text for claim buttons and status checks
2025-12-29 14:15:22 +00:00
nocci
faf22aafb1 🐛 fix(prime-gaming): update URL and selectors for claims
Some checks are pending
Build and push Docker image (amd64, arm64 to hub.docker.com and ghcr.io) / docker (push) Waiting to run
Lint / Lint (push) Waiting to run
Sonar / sonarcloud (push) Waiting to run
- change URL_CLAIM to point to new Luna claims home
- update selectors for sign-in and user verification
- improve handling of cookies acceptance

 feat(prime-gaming): enhance game claiming logic

- add support for new layout and game list detection
- implement flexible scrolling for loading all game cards
- refine logic for internal and external game claims
- improve store identification for external claims

♻️ refactor(prime-gaming): modularize game tab and list location

- extract functions for opening games tab and locating games list
- enhance code readability and maintainability

🐛 fix(prime-gaming): handle dynamic selectors for availability dates

- support multiple selectors for availability date detection
- improve error handling and logging for missing elements
2025-12-29 11:41:09 +00:00
Ralf Vogler
dee47d2218 pg: redeem gog: detect captcha 2025-04-15 17:27:21 +02:00
Ralf Vogler
726db4527b Current free game title in blue 2025-04-15 17:26:27 +02:00
Ralf Vogler
04d1b7ea9e pg: fix auto-login; rememberMe was removed 2025-04-15 17:22:21 +02:00
Ralf Vogler
0fefcc47b7 pg: skipBasedOnTime if days left > PG_TIMELEFT 2025-04-15 17:08:34 +02:00
Ralf Vogler
1f4af79e0e pg: fix loading all games by 2*PageDown + checking height instead of End + checking count..., #357 2024-08-29 13:23:45 +02:00
Ralf Vogler
eafb2316f7 pg: login now has Continue button after email 2024-08-28 02:31:47 +02:00
Ralf Vogler
c87deb393e pg: DLC: forgot to await scrollUntilStable, closes #356 2024-08-02 14:02:33 +02:00
Ralf Vogler
8605b70377 pg: fix internal/external locators, closes #355, waitUntilStable 2s -> 5s 2024-08-02 12:57:37 +02:00
Ralf Vogler
b8f7068a87 pg: scrollUntilStable to wait in loop to load all games since one scroll may not be enough 2024-07-10 13:27:48 +02:00
Ralf Vogler
9cf5d2f7f2 pg: include code in redeem_url for gog, closes #330 2024-06-25 15:50:02 +02:00
Ralf Vogler
55226933c0 filenamify datetime recordHar for Windows : -> ., fix #336 2024-06-25 15:30:02 +02:00
Ralf Vogler
afceb0aad9
Merge branch 'main' into main 2024-06-25 13:30:42 +02:00
Ralf Vogler
43bef9b23c pg: redeem microsoft store and xbox, WIP, #315, #5 2024-06-23 20:44:03 +02:00
Ralf Vogler
f920aa26d0 pg: checkTimeLeft via PG_TIMELEFT=1 2024-06-23 19:18:30 +02:00
Ralf Vogler
30b1835bdb pg: reverse games: oldest/bottom to newest/top 2024-06-23 19:16:01 +02:00
Tymec
8c535f48fa
Update prime-gaming.js 2024-05-18 19:47:18 +02:00
Ralf Vogler
2ea0c611e4 pg: fix claiming external games, detect store early in description, delete old code 2024-02-13 23:48:48 +01:00
Ralf Vogler
e4e4ce703d pg: also get and store url for internal games 2024-02-13 23:45:36 +01:00
Ralf Vogler
c3657f05ac workaround for cropped viewport (Playwright regression), fixes #277 2023-12-28 17:56:09 +01:00
Ralf Vogler
a9e20928ee pg: fix util.js -> src/util.js
64676795d1 (r135743209)
2023-12-26 18:56:36 +01:00
Ralf Vogler
64676795d1 mv {config,migrate,util,version}.js src/ 2023-12-26 17:09:14 +01:00
Ralf Vogler
ace4ef8303 pg: DLC: ignore timeout if there is no code
https://github.com/vogler/free-games-claimer/issues/208#issuecomment-1868317276
2023-12-23 18:16:30 +01:00
Jannis Hell
093ed813c6
Update prime-gaming.js
account for more than one account link button
2023-12-23 11:55:27 +01:00
Jannis Hell
e06ad3a27f
use tw-button css class over button html element selector 2023-12-22 16:40:02 +01:00
Jannis Hell
f4270e176f Update prime-gaming.js
The button was renamed to "Claim" instead of "Claim now" this causes / fixes #208
2023-12-20 20:55:14 +01:00
Ralf Vogler
3c15252d8b pg: use chalk to color game codes blue, closes #250 2023-12-19 12:06:15 +01:00
Ralf Vogler
0832ae57f5 run eslint --fix . 2023-11-08 01:16:49 +01:00
Ralf Vogler
e4e4f2eafa fix eslint errors 2023-11-07 18:10:22 +01:00
Ralf Vogler
e5935faa13 sonarcloud fixes 2023-11-07 15:20:58 +01:00
Ralf Vogler
b99a154267 Revert "workaround for recordVideo broken in Playwright 1.36"
This reverts commit 13b2917dd0.

Fine to do after upgrade to 1.39 in 75f7d77445.
which included https://github.com/microsoft/playwright/issues/27086
2023-11-02 16:26:45 +01:00
Ralf Vogler
ad2301c3fd pg: eg: fix detecting successful claim 2023-10-10 22:42:38 +02:00
Ralf Vogler
a8ab989a7f pg: external: check for 'Link account' besides 'Link game account' 2023-10-10 22:12:59 +02:00
Ralf Vogler
9fc68b881f pg: legacygames: don't wait for response, just text 2023-10-10 22:01:23 +02:00
Ralf Vogler
41f1f95509 PW: replace deprecated type() with pressSequentially() for OTPs 2023-09-18 14:02:15 +02:00
Ralf Vogler
13b2917dd0 workaround for recordVideo broken in Playwright 1.36
Recording videos with relative path as in docs was broken for Firefox.
Issue: https://github.com/microsoft/playwright/issues/27086
Can be reverted after PR is available in release: https://github.com/microsoft/playwright/pull/27099
2023-09-18 13:03:04 +02:00
Ralf Vogler
b748460b73 disable Playwright's handleSIGINT and close context ourselves to save recordings also on SIGINT 2023-09-18 12:58:20 +02:00
Ralf Vogler
1fbabbc0f2 log path of recorded video 2023-09-18 12:49:23 +02:00
Ralf Vogler
b449ee4d7f pg: redeem: legacygames success/error 2023-09-05 16:12:20 +02:00
Ralf Vogler
d4ebdd091a pg: log current game in claim loop, not data loop 2023-09-05 15:59:17 +02:00
Ralf Vogler
d8e2093a0d pg: INTERACTIVE=1 to confirm each claim or skip it 2023-09-05 15:56:24 +02:00
Ralf Vogler
6a7cca31a4 update dependencies via ncu -u, lowdb: pass defaultData
dotenv                          ^16.0.3  →  ^16.3.1
  enquirer                         ^2.3.6  →   ^2.4.1
  lowdb                            ^5.1.0  →   ^6.0.1
  playwright-firefox              ^1.31.0  →  ^1.37.1
  puppeteer-extra-plugin-stealth  ^2.11.1  →  ^2.11.2

https://github.com/typicode/lowdb/releases/tag/v6.0.0
> Require defaultData parameter for Low and LowSync constructors to improve TypeScript experience
2023-08-24 13:14:39 +02:00
Ralf Vogler
3d1168f653 pg: external: split loop for URLs to avoid issue with changed elementHandles (Page.adoptNode) 2023-08-23 00:51:19 +02:00
Ralf Vogler
40bcf1c8a2 pg: status 'claimed' (not just 'claimed and redeemed') for external stores 2023-08-23 00:09:27 +02:00
Ralf Vogler
7551a6ca96 pg: fixup e2e28301e6? 2023-08-19 17:04:33 +02:00
Ralf Vogler
e2e28301e6 pg: fix #185? 2023-08-19 16:35:58 +02:00
Ralf Vogler
e794a3306f pg: dlc: grouped list of dlcs per unlinked store, #180 2023-08-17 17:02:47 +02:00
Ralf Vogler
5c8f8fc3fd pg: dlc: log url of dlc if account not linked, #180 2023-08-17 16:44:59 +02:00
Ralf Vogler
86832e7fe9 pg: dlc: log url of dlc if account not linked, #180 2023-08-17 16:43:47 +02:00