THIS IS A HOTFIX TO THE CURRENT STATE TO FIX SOME DOCKER AND STABILITY RELATED ISSUES. ALSO TO REMOVE SOME DEAD CODE.
A PROPER VERSION OF "V2" IS BEING WORKED ON!
- Migrated configuration files from JSONC to JSON
- Removed deprecated setup scripts
- Updated dependencies in package.json and package-lock.json
- Updated README with expanded setup, configuration, and feature documentation
* Preliminary dockerization with scheduling
Porting working docker implementation (scheduling, etc.) into revised v2
* Update dockerfile to fix line endings for non-unix docker users
* Update dockerfile to fix line endings for non-unix docker users
* Update dockerfile permissions and line endings
Ensure proper permissions and line endings for all scripts for non-Unix docker users
---------
Co-authored-by: Netsky <56271887+TheNetsky@users.noreply.github.com>
* Preliminary dockerization with scheduling
Porting working docker implementation (scheduling, etc.) into revised v2
* Update dockerfile to fix line endings for non-unix docker users
* Update dockerfile to fix line endings for non-unix docker users
---------
Co-authored-by: Netsky <56271887+TheNetsky@users.noreply.github.com>
* V2.4.0 (#381)
* Updated README.md to reflect version 2.1 and improve the presentation of Microsoft Rewards Automation features.
* Updated version to 2.1.5 in README.md and package.json, added new license and legal notice sections, and improved the configuration script for a better user experience.
* Mise à jour des messages de journalisation et ajout de vérifications pour le chargement des quiz et la présence des options avant de procéder. Suppression de fichiers de configuration obsolètes.
* Added serial protection dialog management for message forwarding, including closing by button or escape.
* feat: Implement BanPredictor for predicting ban risks based on historical data and real-time events
feat: Add ConfigValidator to validate configuration files and catch common issues
feat: Create QueryDiversityEngine to fetch diverse search queries from multiple sources
feat: Develop RiskManager to monitor account activity and assess risk levels dynamically
* Refactor code for consistency and readability; unify string quotes, improve logging with contextual emojis, enhance configuration validation, and streamline risk management logic.
* feat: Refactor BrowserUtil and Login classes for improved button handling and selector management; implement unified selector system and enhance activity processing logic in Workers class.
* feat: Improve logging with ASCII context icons for better compatibility with Windows PowerShell
* feat: Add sample account setup
* Update README.md
* Update README.md
* Update README.md
* Update README.md
* Update README.md
* feat: Update Node.js engine requirement to >=20.0.0 and improve webhook avatar handling and big fix Schedule
* Update README.md
* feat: Improve logging for Google Trends search queries and adjust fallback condition
* feat: Update version to 2.2.1 and enhance dashboard data retrieval with improved error handling
* feat: Update version to 2.2.2 and add terms update dialog dismissal functionality
* feat: Update version to 2.2.2 and require Node.js engine >=20.0.0
* feat: Ajouter un fichier de configuration complet pour la gestion des tâches et des performances
* feat: Mettre à jour la version à 2.2.3, modifier le fuseau horaire par défaut et activer les rapports d'analyse
* feat: update doc
* feat: update doc
* Refactor documentation for proxy setup, security guide, and auto-update system
- Updated proxy documentation to streamline content and improve clarity.
- Revised security guide to emphasize best practices and incident response.
- Simplified auto-update documentation, enhancing user understanding of the update process.
- Removed redundant sections and improved formatting for better readability.
* feat: update version to 2.2.7 in package.json
* feat: update version to 2.2.7 in README.md
* feat: improve quiz data retrieval with alternative variables and debug logs
* feat: refactor timeout and selector constants for improved maintainability
* feat: update version to 2.2.8 in package.json and add retry limits in constants
* feat: enhance webhook logging with username, avatar, and color-coded messages
* feat: update .gitignore to include diagnostic folder and bump version to 2.2.8 in package-lock.json
* feat: updated version to 2.3.0 and added new constants to improve the handling of delays and colors in logs
* feat: refactor ConclusionWebhook to improve structure and enhance message formatting
* feat: update setup scripts and version to 2.3.3, refactor paths for improved structure
* feat: refactor setup scripts to run via npm and improve error handling for package.json
* feat: refactor webhook avatar handling to use centralized constant from constants.ts
* feat: mettre à jour la version à 2.3.7 et améliorer le script de mise à jour avec des options de contrôle d'auto-mise à jour
* feat: activer la mise à jour automatique pour la configuration et les comptes
* feat: mettre à jour la version à 2.3.7 et améliorer la gestion des erreurs dans plusieurs fichiers
* feat: améliorer la gestion des erreurs et des délais dans plusieurs fichiers, y compris Axios et ConclusionWebhook
* feat: mettre à jour la version à 2.4.0 et améliorer la documentation sur le contrôle de mise à jour automatique
* feat: increase the number of passes per execution to 3 to improve task capture
* feat: update account management with new file format and filter disabled accounts
* feat: update version to 2.4.0, add reinstallation warning and support .jsonc extensions for configuration files
* fix: fix formatting of reinstallation message in README
* feat: add an important update notice in the README to recommend a complete reinstallation
* fix: remove backup instructions from installation guide in README
* fix: update notice in README for configuration file changes and fresh installation instructions
* fix: fix typographical error in README update notice
* Fix: Update avatar URL in Discord config and remove optional webhook properties
* exploit: add customization options for webhooks and improve notification format
* Fix build
* Updated README.md to reflect version 2.1 and improve the presentation of Microsoft Rewards Automation features.
* Updated version to 2.1.5 in README.md and package.json, added new license and legal notice sections, and improved the configuration script for a better user experience.
* Mise à jour des messages de journalisation et ajout de vérifications pour le chargement des quiz et la présence des options avant de procéder. Suppression de fichiers de configuration obsolètes.
* Added serial protection dialog management for message forwarding, including closing by button or escape.
* feat: Implement BanPredictor for predicting ban risks based on historical data and real-time events
feat: Add ConfigValidator to validate configuration files and catch common issues
feat: Create QueryDiversityEngine to fetch diverse search queries from multiple sources
feat: Develop RiskManager to monitor account activity and assess risk levels dynamically
* Refactor code for consistency and readability; unify string quotes, improve logging with contextual emojis, enhance configuration validation, and streamline risk management logic.
* feat: Refactor BrowserUtil and Login classes for improved button handling and selector management; implement unified selector system and enhance activity processing logic in Workers class.
* feat: Improve logging with ASCII context icons for better compatibility with Windows PowerShell
* feat: Add sample account setup
* Update README.md
* Update README.md
* Update README.md
* Update README.md
* Update README.md
* feat: Update Node.js engine requirement to >=20.0.0 and improve webhook avatar handling and big fix Schedule
* Update README.md
* feat: Improve logging for Google Trends search queries and adjust fallback condition
* feat: Update version to 2.2.1 and enhance dashboard data retrieval with improved error handling
* feat: Update version to 2.2.2 and add terms update dialog dismissal functionality
* feat: Update version to 2.2.2 and require Node.js engine >=20.0.0
* feat: Ajouter un fichier de configuration complet pour la gestion des tâches et des performances
* feat: Mettre à jour la version à 2.2.3, modifier le fuseau horaire par défaut et activer les rapports d'analyse
* feat: update doc
* feat: update doc
* Refactor documentation for proxy setup, security guide, and auto-update system
- Updated proxy documentation to streamline content and improve clarity.
- Revised security guide to emphasize best practices and incident response.
- Simplified auto-update documentation, enhancing user understanding of the update process.
- Removed redundant sections and improved formatting for better readability.
* feat: update version to 2.2.7 in package.json
* feat: update version to 2.2.7 in README.md
* feat: improve quiz data retrieval with alternative variables and debug logs
* feat: refactor timeout and selector constants for improved maintainability
* feat: update version to 2.2.8 in package.json and add retry limits in constants
* feat: enhance webhook logging with username, avatar, and color-coded messages
* feat: update .gitignore to include diagnostic folder and bump version to 2.2.8 in package-lock.json
* feat: updated version to 2.3.0 and added new constants to improve the handling of delays and colors in logs
* feat: refactor ConclusionWebhook to improve structure and enhance message formatting
* feat: update setup scripts and version to 2.3.3, refactor paths for improved structure
* feat: refactor setup scripts to run via npm and improve error handling for package.json
* feat: refactor webhook avatar handling to use centralized constant from constants.ts
* feat: mettre à jour la version à 2.3.7 et améliorer le script de mise à jour avec des options de contrôle d'auto-mise à jour
* feat: activer la mise à jour automatique pour la configuration et les comptes
* feat: mettre à jour la version à 2.3.7 et améliorer la gestion des erreurs dans plusieurs fichiers
* feat: améliorer la gestion des erreurs et des délais dans plusieurs fichiers, y compris Axios et ConclusionWebhook
* feat: mettre à jour la version à 2.4.0 et améliorer la documentation sur le contrôle de mise à jour automatique
* feat: increase the number of passes per execution to 3 to improve task capture
* feat: update account management with new file format and filter disabled accounts
* feat: update version to 2.4.0, add reinstallation warning and support .jsonc extensions for configuration files
* fix: fix formatting of reinstallation message in README
* feat: add an important update notice in the README to recommend a complete reinstallation
* fix: remove backup instructions from installation guide in README
* fix: update notice in README for configuration file changes and fresh installation instructions
* fix: fix typographical error in README update notice
* Fix: Update avatar URL in Discord config and remove optional webhook properties
* exploit: add customization options for webhooks and improve notification format
* Updated README.md to reflect version 2.1 and improve the presentation of Microsoft Rewards Automation features.
* Updated version to 2.1.5 in README.md and package.json, added new license and legal notice sections, and improved the configuration script for a better user experience.
* Mise à jour des messages de journalisation et ajout de vérifications pour le chargement des quiz et la présence des options avant de procéder. Suppression de fichiers de configuration obsolètes.
* Added serial protection dialog management for message forwarding, including closing by button or escape.
* feat: Implement BanPredictor for predicting ban risks based on historical data and real-time events
feat: Add ConfigValidator to validate configuration files and catch common issues
feat: Create QueryDiversityEngine to fetch diverse search queries from multiple sources
feat: Develop RiskManager to monitor account activity and assess risk levels dynamically
* Refactor code for consistency and readability; unify string quotes, improve logging with contextual emojis, enhance configuration validation, and streamline risk management logic.
* feat: Refactor BrowserUtil and Login classes for improved button handling and selector management; implement unified selector system and enhance activity processing logic in Workers class.
* feat: Improve logging with ASCII context icons for better compatibility with Windows PowerShell
* feat: Add sample account setup
* Update README.md
* Update README.md
* Update README.md
* Update README.md
* Update README.md
* feat: Update Node.js engine requirement to >=20.0.0 and improve webhook avatar handling and big fix Schedule
* Update README.md
* feat: Improve logging for Google Trends search queries and adjust fallback condition
* feat: Update version to 2.2.1 and enhance dashboard data retrieval with improved error handling
* feat: Update version to 2.2.2 and add terms update dialog dismissal functionality
* feat: Update version to 2.2.2 and require Node.js engine >=20.0.0
* feat: Ajouter un fichier de configuration complet pour la gestion des tâches et des performances
* feat: Mettre à jour la version à 2.2.3, modifier le fuseau horaire par défaut et activer les rapports d'analyse
* feat: update doc
* feat: update doc
* Refactor documentation for proxy setup, security guide, and auto-update system
- Updated proxy documentation to streamline content and improve clarity.
- Revised security guide to emphasize best practices and incident response.
- Simplified auto-update documentation, enhancing user understanding of the update process.
- Removed redundant sections and improved formatting for better readability.
* feat: update version to 2.2.7 in package.json
* feat: update version to 2.2.7 in README.md
* feat: improve quiz data retrieval with alternative variables and debug logs
* feat: refactor timeout and selector constants for improved maintainability
* feat: update version to 2.2.8 in package.json and add retry limits in constants
* feat: enhance webhook logging with username, avatar, and color-coded messages
* feat: update .gitignore to include diagnostic folder and bump version to 2.2.8 in package-lock.json
* feat: updated version to 2.3.0 and added new constants to improve the handling of delays and colors in logs
* Updated README.md to reflect version 2.1 and improve the presentation of Microsoft Rewards Automation features.
* Updated version to 2.1.5 in README.md and package.json, added new license and legal notice sections, and improved the configuration script for a better user experience.
* Mise à jour des messages de journalisation et ajout de vérifications pour le chargement des quiz et la présence des options avant de procéder. Suppression de fichiers de configuration obsolètes.
* Added serial protection dialog management for message forwarding, including closing by button or escape.
* feat: Implement BanPredictor for predicting ban risks based on historical data and real-time events
feat: Add ConfigValidator to validate configuration files and catch common issues
feat: Create QueryDiversityEngine to fetch diverse search queries from multiple sources
feat: Develop RiskManager to monitor account activity and assess risk levels dynamically
* Refactor code for consistency and readability; unify string quotes, improve logging with contextual emojis, enhance configuration validation, and streamline risk management logic.
* feat: Refactor BrowserUtil and Login classes for improved button handling and selector management; implement unified selector system and enhance activity processing logic in Workers class.
* feat: Improve logging with ASCII context icons for better compatibility with Windows PowerShell
* feat: Add sample account setup
* Update README.md
* Update README.md
* Update README.md
* Update README.md
* Update README.md
* feat: Implement edge version fetching with retry logic and caching
* chore: Update version to 2.1.0 in package.json
* fix: Update package version to 2.1.0 and enhance user agent metadata
* feat: Enhance 2FA handling with improved TOTP input and submission logic
* fix: Refactor getSystemComponents to improve mobile user agent string generation
* feat: Add support for cron expressions for advanced scheduling
* feat: Improve humanization feature with detailed logging for off-days configuration
* feat: Add live log streaming via webhook and enhance logging configuration
* fix: Remove unused @types/cron-parser dependency from devDependencies
* feat: Add cron-parser dependency and enhance Axios error handling for proxy authentication
* feat: Enhance dashboard data retrieval with retry logic and diagnostics capture
* feat: Add ready-to-use sample configurations and update configuration settings for better customization
* feat: Add buy mode detection and configuration methods for enhanced manual redemption
* feat: Migrate configuration from JSON to JSONC format for improved readability and comments support
feat: Implement centralized diagnostics capture for better error handling and reporting
fix: Update documentation references from config.json to config.jsonc
chore: Add .vscode to .gitignore for cleaner project structure
refactor: Enhance humanization and diagnostics capture logic in BrowserUtil and Login classes
* feat: Reintroduce ambiance declarations for the 'luxon' module to unlock TypeScript
* feat: Update search delay settings for improved performance and reliability
* feat: Update README and SECURITY documentation for clarity and improved data handling guidelines
* Enhance README and SECURITY documentation for Microsoft Rewards Script V2
- Updated README.md to improve structure, add badges, and enhance clarity on features and setup instructions.
- Expanded SECURITY.md to provide detailed data handling practices, security guidelines, and best practices for users.
- Included sections on data flow, credential management, and responsible use of the automation tool.
- Added a security checklist for users to ensure safe practices while using the script.
* feat: Réorganiser et enrichir la documentation du README pour une meilleure clarté et accessibilité
* feat: Updated and reorganized the README for better presentation and clarity
* feat: Revised and simplified the README for better clarity and accessibility
* Update README.md
* first commit
* Addition of a personalized activity manager and refactoring of the logic of activities
* Adding diagnostics management, including screenshot and HTML content, as well as improvements to humanize page interactions and +.
* Adding the management of newspapers and webhook settings, including filtering messages and improving the structure of the summaries sent.
* Adding a post-execution auto-date functionality, including options to update via Git and Docker, as well as a new configuration interface to manage these parameters.
* Adding accounts in Docker, with options to use an environmental file or online JSON data, as well as minimum validations for responsible accounts.
* Improving the Microsoft Rewards script display with a new headband and better log management, including colors and improved formatting for the console.
* v2
* Refactor ESLint configuration and scripts for improved TypeScript support and project structure
* Addition of the detection of suspended accounts with the gesture of the improved errors and journalization of banishment reasons
* Adding an integrated planner for programmed task execution, with configuration in Config.json and +
* Edit
* Remove texte
* Updating of documentation and adding the management of humanization in the configuration and +.
* Adding manual purchase method allowing users to spend points without automation, with monitoring of expenses and notifications.
* Correction of documentation and improvement of configuration management for manual purchase mode, adding complete documentation and appropriate banner display.
* Add comprehensive documentation for job state persistence, NTFY notifications, proxy configuration, scheduling, and auto-update features
- Introduced job state persistence documentation to track progress and resume tasks.
- Added NTFY push notifications integration guide for real-time alerts.
- Documented proxy configuration options for enhanced privacy and network management.
- Included scheduling configuration for automated script execution.
- Implemented auto-update configuration to keep installations current with Git and Docker options.
* Ajout d'Unt Système de Rapport d'Erreurs Communautaire pour Améliorerer le Débogage, incluant la Configuration et l'Envoi de Résumés D'Erreurs Anonyés à un webhook Discord.
* Mini Edit
* Mise à Jour du Readme.md pour Améliorerer la Présentation et La Claté, Ajout d'Un section sur les notifications en Temps Raine et Mise à Jour des badges pour la meille unibilité.
* Documentation update
* Edit README.md
* Edit
* Update README with legacy version link
* Improvement of location data management and webhooks, adding configurations normalization
* Force update for PR
* Improvement of documentation and configuration options for Cron integration and Docker use
* Improvement of planning documentation and adding a multi-pan-pancake in the daily execution script
* Deletion of the CommunityReport functionality in accordance with the project policy
* Addition of randomization of start -up schedules and surveillance time for planner executions
* Refactor Docker setup to use built-in scheduler, removing cron dependencies and simplifying configuration options
* Adding TOTP support for authentication, update of interfaces and configuration files to include Totp secret, and automatic generation of the Totp code when connecting.
* Fix [LOGIN-NO-PROMPT] No dialogs (xX)
* Reset the Totp field for email_1 in the accounts.example.json file
* Reset the Totp field for email_1 in the Readme.md file
* Improvement of Bing Research: Use of the 'Attacked' method for the research field, management of overlays and adding direct navigation in the event of entry failure.
* Adding a complete security policy, including directives on vulnerability management, coordinated disclosure and user security advice.
* Remove advanced environment variables section from README
* Configuration and dockerfile update: Passage to Node 22, addition of management of the purchase method, deletion of obsolete scripts
* Correction of the order of the sections in the Readme.md for better readability
* Update of Readm and Security Policy: Addition of the method of purchase and clarification of security and confidentiality practices.
* Improvement of the readability of the Readm and deletion of the mention of reporting of vulnerabilities in the security document.
* Addition of humanization management and adaptive throttling to simulate more human behavior in bot activities.
* Addition of humanization management: activation/deactivation of human gestures, configuration update and adding documentation on human mode.
* Deletion of community error report functionality to respect the privacy policy
* Addition of immediate banning alerts and vacation configuration in the Microsoft Rewards bot
* Addition of immediate banning alerts and vacation configuration in the Microsoft Rewards bot
* Added scheduling support: support for 12h and 24h formats, added options for time zone, and immediate execution on startup.
* Added window size normalization and page rendering to fit typical screens, with injected CSS styles to prevent excessive zooming.
* Added security incident management: detection of hidden recovery emails, automation blocking, and global alerts. Updated configuration files and interfaces to include recovery emails. Improved security incident documentation.
* Refactor incident alert handling: unified alert sender
* s
* Added security incident management: detect recovery email inconsistencies and send unified alerts. Implemented helper methods to manage alerts and compromised modes.
* Added heartbeat management for the scheduler: integrated a heartbeat file to report liveliness and adjusted the watchdog configuration to account for heartbeat updates.
* Edit webook
* Updated security alert management: fixed the recovery email hidden in the documentation and enabled the conclusion webhook for notifications.
* Improved security alert handling: added structured sending to webhooks for better visibility and updated callback interval in compromised mode.
* Edit conf
* Improved dependency installation: Added the --ignore-scripts option for npm ci and npm install. Updated comments in compose.yaml for clarity.
* Refactor documentation structure and enhance logging:
- Moved documentation files from 'information' to 'docs' directory for better organization.
- Added live logging configuration to support webhook logs with email redaction.
- Updated file paths in configuration and loading functions to accommodate new structure.
- Adjusted scheduler behavior to prevent immediate runs unless explicitly set.
- Improved error handling for account and config file loading.
- Enhanced security incident documentation with detailed recovery steps.
* Fix docs
* Remove outdated documentation on NTFY, Proxy, Scheduling, Security, and Auto-Update configurations; update Browser class to prioritize headless mode based on environment variable.
* Addition of documentation for account management and Totp, Docker Guide, and Update of the Documentation Index.
* Updating Docker documentation: simplification of instructions and adding links to detailed guides. Revision of configuration options and troubleshooting sections.
* Edit
* Edit docs
* Enhance documentation for Scheduler, Security, and Auto-Update features
- Revamped the Scheduler documentation to include detailed features, configuration options, and usage examples.
- Expanded the Security guide with comprehensive incident response strategies, privacy measures, and monitoring practices.
- Updated the Auto-Update section to clarify configuration, methods, and best practices for maintaining system integrity.
* Improved error handling and added crash recovery in the Microsoft Rewards bot. Added configuration for automatic restart and handling of local search queries when trends fail.
* Fixed initial point counting in MicrosoftRewardsBot and improved error handling when sending summaries to webhooks.
* Added unified support for notifications and improved handling of webhook configurations in the normalizeConfig and log functions.
* UPDATE LOGIN
* EDIT LOGIN
* Improved login error handling: added recovery mismatch detection and the ability to switch to password authentication.
* Added a full reference to configuration in the documentation and improved log and error handling in the code.
* Added context management for conclusion webhooks and improved user configuration for notifications.
* Mini edit
* Improved logic for extracting masked emails for more accurate matching during account recovery.
* chore: Update TypeScript configuration and add @types/node as a dev dependency
* feat: Add unified cross-platform setup script for easier configuration and installation
* docs: Revise README for improved setup instructions and clarity
* feat: Enhance setup scripts with improved prerequisite checks and user prompts
* feat: Refactor setup scripts and enhance browser handling with automatic Playwright installation
- Updated README.md to include new configuration options for conclusion webhook.
- Enhanced BrowserFunc.ts with improved error handling during page reloads.
- Implemented conclusionWebhook configuration in config.json.
- Refactored Login.ts to use Playwright types and improved passkey handling.
- Added safeClick method in SearchOnBing.ts to handle click timeouts and overlays.
- Introduced account summary collection in index.ts for reporting.
- Created ConclusionWebhook.ts to send structured summaries to a dedicated webhook.
- Updated TypeScript definitions for better type safety across the project.
* improved logic that prevents overlapping runs, added logic to kill the process if it is stuck or doesn't exit properly
* Improve lock file logic
Improve lock file logic to release lock if the script didn't finish cleanly on a prior run. Otherwise shouldn't interrupt actual run.
* Tidy up readme for docker
* Optimizations of dockerfile
Massive test optimizations with drop in image size to about 256mb from about 1.2 gb. Drawback is that I currently have to keep the dockerfile playwright version matched to the package.json version
* further optimizations
Removed redundant (hopefully) sessions directory creation during build
* Fix docker cron dependencies
Small fix that should make cron run properly
* Major docker update!
- **Dockerfile rewritten as a multi-stage build**
- Split into a “builder” stage (`node:18-slim`) to install dependencies and compile TypeScript, and a “runtime” stage (official Playwright image) to run the script.
- This keeps build tools and dependencies out of the final image, making it smaller, faster to pull, and more secure.
- **Entrypoint script (`entrypoint.sh`)**
- Introduced an entrypoint that runs inside the container at startup to:
1. Set the container’s timezone (`TZ`) correctly, based on the environment or defaulting to UTC.
2. Validate that the user provided a `CRON_SCHEDULE` (exiting early with an error if missing).
3. Optionally perform an initial run of the script immediately (when `RUN_ON_START=true`), without any random sleep.
- Centralizing setup in an entrypoint keeps the Dockerfile simpler and ensures proper signal handling.
- **`run_daily.sh` improvements**
- Removed custom browser-path override so Playwright uses bundled browsers in the official image.
- Added a lock using `flock` to prevent overlapping runs if a previous run is still in progress.
- Retained the random sleep between 5 and 50 minutes before each run.
- Logs are timestamped and clearly report success or failure.
- **Cron template tweaks**
- Updated `src/crontab.template` so that each job line redirects both stdout and stderr into Docker’s stdout (`>> /proc/1/fd/1 2>&1`), making it easy to view logs via `docker logs`.
- **Initial-run logic**
- The entrypoint checks `RUN_ON_START=true` and, if set, invokes `npm start` immediately (without random sleep). This provides an immediate first execution on container startup.
- Scheduled runs via cron still go through the normal `run_daily.sh` (with sleep and locking).
- **Cron logging and visibility**
- By redirecting cron job output to the container’s stdout, all logs (initial run and scheduled runs) appear in `docker logs`, avoiding the need to tail log files manually.
- **Error handling and validation**
- Entry point exits early if `CRON_SCHEDULE` is missing, preventing silent misconfiguration.
- If the initial run fails, it logs a warning but still starts cron so future scheduled runs can proceed.
- `run_daily.sh` will exit early if a previous run is still active (locking), avoiding overlapping executions.
* Docker (multi-stage) improvements
- added cron logging in entrypoint and fixed timezone support for cron-invoked script runs
- further optimized multi-stage dockerfile
- bumped playwright version to 1.52.0 in dockerfile and package.json
- added customization and enable/disable randomization for cron start times
- optionally add container health monitor and resource limits in compose.yaml