dev #1

Merged
nocci merged 51 commits from dev into main 2026-03-06 16:31:29 +01:00
Owner

merge to main

merge to main
nocci added 51 commits 2026-03-06 16:30:38 +01:00
ci: build dev branch and tag images
All checks were successful
build-and-push / lint (push) Successful in 5s
build-and-push / sonar (push) Successful in 12s
build-and-push / docker (push) Successful in 1m9s
c486f45bc0
ci: report sonar branch name
Some checks failed
build-and-push / lint (push) Successful in 4s
build-and-push / sonar (push) Failing after 3s
build-and-push / docker (push) Has been skipped
4c255a8258
ci: avoid sonar branch analysis on community edition
All checks were successful
build-and-push / lint (push) Successful in 4s
build-and-push / sonar (push) Successful in 11s
build-and-push / docker (push) Successful in 1m10s
6216d8eac3
ci: ignore commented code rule in sonar
All checks were successful
build-and-push / lint (push) Successful in 4s
build-and-push / sonar (push) Successful in 13s
build-and-push / docker (push) Successful in 1m14s
5e0c5263ca
fix: resolve remaining sonar findings
All checks were successful
build-and-push / lint (push) Successful in 4s
build-and-push / sonar (push) Successful in 12s
build-and-push / docker (push) Successful in 1m9s
2bc8e958d2
ci: exclude coverage and cpd for sonar
All checks were successful
build-and-push / lint (push) Successful in 4s
build-and-push / sonar (push) Successful in 11s
build-and-push / docker (push) Successful in 1m10s
488a050f00
fix: fallback writable firefox profile
All checks were successful
build-and-push / lint (push) Successful in 4s
build-and-push / sonar (push) Successful in 12s
build-and-push / docker (push) Successful in 1m12s
e6c43c8de6
fix: wait for prime-gaming MFA prompt
All checks were successful
build-and-push / lint (push) Successful in 5s
build-and-push / sonar (push) Successful in 12s
build-and-push / docker (push) Successful in 1m10s
2aaa0cdd1a
fix: define MFA helper before use
All checks were successful
build-and-push / lint (push) Successful in 4s
build-and-push / sonar (push) Successful in 12s
build-and-push / docker (push) Successful in 1m8s
0340873d91
chore: add writable browser profile fallback to /tmp
All checks were successful
build-and-push / lint (push) Successful in 5s
build-and-push / sonar (push) Successful in 11s
build-and-push / docker (push) Successful in 1m12s
7f5226ea65
fix: run container as root to keep browser profile writable
All checks were successful
build-and-push / lint (push) Successful in 4s
build-and-push / sonar (push) Successful in 11s
build-and-push / docker (push) Successful in 1m11s
34e8d92b05
chore: make version banner configurable and speed up login waits
All checks were successful
build-and-push / lint (push) Successful in 4s
build-and-push / sonar (push) Successful in 12s
build-and-push / docker (push) Successful in 1m10s
133502ff94
chore: add keep-alive helper script
All checks were successful
build-and-push / lint (push) Successful in 5s
build-and-push / sonar (push) Successful in 12s
build-and-push / docker (push) Successful in 1m10s
4ce50e2e43
feat: add optional new epic claimer mode
All checks were successful
build-and-push / lint (push) Successful in 5s
build-and-push / sonar (push) Successful in 12s
build-and-push / docker (push) Successful in 1m13s
7a9f31df7c
feat: enhance new epic claimer with cookie persistence and oauth device flow
Some checks failed
build-and-push / lint (push) Failing after 4s
build-and-push / sonar (push) Has been skipped
build-and-push / docker (push) Has been skipped
d05c184156
fix: auto-fill epic login in new claimer to avoid timeout
Some checks failed
build-and-push / lint (push) Failing after 4s
build-and-push / sonar (push) Has been skipped
build-and-push / docker (push) Has been skipped
bf0625de8b
chore: fix lint in new epic claimer
Some checks failed
build-and-push / lint (push) Failing after 5s
build-and-push / sonar (push) Has been skipped
build-and-push / docker (push) Has been skipped
2908cbd1f5
chore: fix lint (no extra parens) in new epic claimer
All checks were successful
build-and-push / sonar (push) Successful in 12s
build-and-push / lint (push) Successful in 4s
build-and-push / docker (push) Successful in 1m13s
051363ed5f
fix: fall back to manual login when epic device code api fails
All checks were successful
build-and-push / lint (push) Successful in 4s
build-and-push / sonar (push) Successful in 11s
build-and-push / docker (push) Successful in 1m9s
5c7a945be0
fix: force epic login page and autofill password when email prefilled
All checks were successful
build-and-push / lint (push) Successful in 4s
build-and-push / sonar (push) Successful in 13s
build-and-push / docker (push) Successful in 1m13s
1a34d8f0e4
fix: detect cloudflare challenge and wait for manual solve in new epic claimer
Some checks failed
build-and-push / lint (push) Failing after 4s
build-and-push / sonar (push) Has been skipped
build-and-push / docker (push) Has been skipped
1c34648112
chore: fix lint extra parens in new epic claimer
All checks were successful
build-and-push / lint (push) Successful in 5s
build-and-push / sonar (push) Successful in 12s
build-and-push / docker (push) Successful in 1m13s
f5e404329f
fix: handle epic MFA code inputs with multiple fields
All checks were successful
build-and-push / lint (push) Successful in 4s
build-and-push / sonar (push) Successful in 12s
build-and-push / docker (push) Successful in 1m13s
2592de2285
fix: click continue button on epic email step in new claimer
All checks were successful
build-and-push / lint (push) Successful in 4s
build-and-push / sonar (push) Successful in 12s
build-and-push / docker (push) Successful in 2m51s
ec69bf1a0c
fix: handle epic login captcha manually in legacy/new flows
Some checks failed
build-and-push / lint (push) Failing after 1s
build-and-push / sonar (push) Has been skipped
build-and-push / docker (push) Has been skipped
37de92c92e
♻️ refactor(auth): streamline login process
Some checks failed
build-and-push / lint (push) Failing after 1s
build-and-push / sonar (push) Has been skipped
build-and-push / docker (push) Has been skipped
2140139fc9
- simplify login logic by removing unused code
- improve error handling and logging during login
- add retry mechanism for login attempts

🔧 chore(gitignore): update ignore file

- add .continue to .gitignore to prevent accidental commits of temporary files
- remove container setup from lint job
- switch to manual Node.js installation
- add detailed sonar-scanner setup and execution steps
- introduce docker job with buildx setup and registry login
- add node:20-alpine container for consistent linting environment
- remove duplicate docker setup and login steps
- streamline job steps for better readability and maintenance
💄 style(workflow): remove excessive blank lines in build.yml
Some checks failed
build-and-push / lint (push) Failing after 52s
build-and-push / sonar (push) Has been skipped
build-and-push / docker (push) Has been skipped
b9280ef8bf
- clean up excessive blank lines for improved readability and maintenance
🔧 chore(workflows): replace actions/checkout with manual git checkout
Some checks failed
build-and-push / lint (push) Failing after 18s
build-and-push / sonar (push) Has been skipped
build-and-push / docker (push) Has been skipped
c8624e7ceb
- implement manual git checkout steps in build workflow
- remove actions/checkout usage to customize git operations
test
Some checks failed
build-and-push / lint (push) Failing after 17s
build-and-push / sonar (push) Has been skipped
build-and-push / docker (push) Has been skipped
f7822786df
🔧 chore(ci): update remote URL configuration in build workflow
Some checks failed
build-and-push / lint (push) Failing after 7s
build-and-push / sonar (push) Has been skipped
build-and-push / docker (push) Has been skipped
db77892ea9
- add REPO_URL environment variable for consistent repository URL usage
- update git remote add commands to use the new REPO_URL variable for clarity
📦 build(workflows): add eslint configuration for workflows
Some checks failed
build-and-push / lint (push) Failing after 7s
build-and-push / sonar (push) Has been skipped
build-and-push / docker (push) Has been skipped
712f1caa0e
- introduce .eslintrc.json file for ESLint settings
- configure environment, parser options, and rules for linting

 test(workflows): update build workflow with eslint integration

- integrate ESLint configuration into GitHub Actions workflow
- ensure lint job utilizes the new .eslintrc.json settings
feat(epic-claimer): add new imports and constants
Some checks failed
build-and-push / lint (push) Failing after 10s
build-and-push / docker (push) Has been skipped
build-and-push / sonar (push) Has been skipped
dc54be10e8
- import axios, playwright-firefox, otplib, and node modules for enhanced functionality
- add utility imports from local modules for better code organization
- define URL_CLAIM, COOKIES_PATH, and BEARER_TOKEN_NAME constants for clearer code structure
📝 docs(README): fix markdown formatting issues
Some checks failed
build-and-push / lint (push) Failing after 7s
build-and-push / sonar (push) Has been skipped
build-and-push / docker (push) Has been skipped
45ad444065
- fix misplaced markdown headings and lists
- correct section organization for better readability
test(epic-claimer-new): add comprehensive tests for epic games claimer
Some checks failed
build-and-push / lint (push) Failing after 7s
build-and-push / sonar (push) Has been skipped
build-and-push / docker (push) Has been skipped
2dc018f2d6
- implement extensive testing for new epic games claiming functionality
- ensure robust coverage of API interactions, OAuth flows, and game claiming logic

 feat(epic-claimer-new): introduce new epic games claiming logic

- add new logic for claiming free games via API with OAuth device flow
- implement automatic cookie reuse and manual login fallback
- enhance error handling and logging for improved debugging

♻️ refactor(epic-claimer-new): optimize code structure and modularity

- refactor functions for better code organization and readability
- modularize authentication and game claiming processes for reusability

🔧 chore(eslintrc): update eslint configuration

- add stylistic plugins and rules for better code consistency
- configure globals and parser options for modern JavaScript compatibility
♻️ refactor(epic-claimer): simplify epic claimer logic
Some checks failed
build-and-push / lint (push) Failing after 7s
build-and-push / sonar (push) Has been skipped
build-and-push / docker (push) Has been skipped
a5e5d8e5e8
- remove unused functions and comments for clarity
- streamline login logic and error handling
- prepare for future enhancements with modular function placeholders
feat(epic-claimer): implement OAuth and game claiming enhancements
Some checks failed
build-and-push / lint (push) Successful in 8s
build-and-push / sonar (push) Failing after 0s
build-and-push / docker (push) Has been skipped
58282897b5
- add OAuth device flow for secure authentication
- implement automatic and manual login handling
- enhance game claiming process with error handling and notifications

♻️ refactor(epic-claimer): remove unused code and improve structure

- remove unused resolve function
- restructure authentication and login logic for clarity

📝 docs(epic-claimer): update comments for better code understanding

- clarify function purposes and steps in comments
- add detailed explanations for new authentication flow
♻️ refactor(code): remove unused code and clean up
Some checks failed
build-and-push / lint (push) Failing after 8s
build-and-push / sonar (push) Has been skipped
build-and-push / docker (push) Has been skipped
fd0fc4e981
- remove unused screenshot helper function
- remove unnecessary empty arguments from launch options
- add spacing for readability in async functions
♻️ refactor(epic-claimer): enhance screenshot path resolution
Some checks failed
build-and-push / lint (push) Successful in 7s
build-and-push / sonar (push) Failing after 0s
build-and-push / docker (push) Has been skipped
af90aa7c42
- improve screenshot path by using path.resolve for better cross-platform compatibility
- organize screenshots into a structured directory hierarchy
🔧 chore(workflows): add screenshot to ESLint globals
Some checks failed
build-and-push / lint (push) Successful in 8s
build-and-push / sonar (push) Failing after 0s
build-and-push / docker (push) Has been skipped
370e3db206
- add screenshot as a readonly global variable to ESLint configuration

♻️ refactor(epic-games): improve path resolution for screenshots

- replace resolve with path.resolve for better path management
feat(helper): add screenshot helper function
Some checks failed
build-and-push / lint (push) Failing after 7s
build-and-push / sonar (push) Has been skipped
build-and-push / docker (push) Has been skipped
866f06e505
- introduce a new screenshot helper function for path resolution
- enhance code readability by organizing screenshot path management
💄 style(epic-claimer): remove unnecessary newline
Some checks failed
build-and-push / lint (push) Failing after 8s
build-and-push / sonar (push) Has been skipped
build-and-push / docker (push) Has been skipped
c466458d41
- delete extra newline for cleaner code structure
💄 style(epic-claimer): remove unnecessary code
Some checks failed
build-and-push / lint (push) Failing after 7s
build-and-push / sonar (push) Has been skipped
build-and-push / docker (push) Has been skipped
7df5c2e2fe
- delete unused screenshot function for cleaner code structure
- add container support with node:20-alpine for sonar job
- consolidate git and utility installation steps
- include sonarqube-scanner installation for improved analysis
- fix indentation for sonar job to align with yaml format standards
This commit refactors epic-games.js to use the GraphQL API instead of the legacy promotions endpoint for retrieving free games. Key architectural improvements include:

- Added modular authentication module (device-auths.ts) supporting persistent device auth tokens
- Introduces cookie management module (cookie.ts) for persistent session handling
- Extracts GraphQL query structures and API endpoints into constants.ts
- Implements multiple fallback strategies: device auth login, token exchange, and fallback to standard login
- Adds support for both GraphQL and promotions-based game discovery
- Streamlines claim process with improved tracking and error handling
- Removes legacy selectors and redundant logic

Additionally, updates package.json to include TypeScript and reorganizes dependency order for better maintainability.
nocci merged commit 0a8fc85439 into main 2026-03-06 16:31:29 +01:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: nocci/free-games-claimer#1
No description provided.