Skip to content

Add network-level cron configuration to automatically refresh user configs #242

Description

@Marchand-Nicolas

Description 📹

Add network-level cron configuration to automatically refresh user configs

Currently, the cron system only refreshes user configs based on the refreshInCron property defined at the starky module level. This issue proposes adding a network-level cron configuration that allows networks to specify whether their configs should be refreshed periodically, while still respecting the existing module-level refresh settings.

The enhancement would add a cron boolean property to network configurations in configs/networks.json. When set to true, user configs using that network would be refreshed during the cron job execution, but ONLY if the corresponding starky module also has refreshInCron set to true. This ensures both conditions must be met for automatic refresh to occur.

(Currently no configs have the cron enabled, but you can change that to do your tests)

Proposed Actions 🛠️

Here's a checklist of actions to follow for resolving this issue:

  1. Fork and Create Branch:
    Fork the repository and create a new branch using the issue number:
   git checkout -b fix-[issue-number]
  1. Implement Changes:
  • Add cron boolean property to network configuration type in types/networks.ts
  • Update configs/networks.json to include cron property for each network (default to false)
  • Modify the cron logic in cron.ts to check BOTH module-level refreshInCron AND network-level cron settings
  • Update the refreshDiscordServer function to filter configs where both starkyModule.refreshInCron === true AND network.cron === true
  • Add proper error handling and logging for network-level cron operations
  • Update any relevant documentation or comments explaining the new dual-condition cron behavior
  1. Run Tests and Commit Changes:
    Make sure your changes don't break existing functionality and commit with a clear message:
   git commit -m "Fix: Add network-level cron configuration with dual-condition refresh logic"

Required 📋

To keep our workflow smooth, please make sure you follow these guidelines:

  • Assignment: Don't create a pull request if you weren't assigned to this issue.
  • Timeframe: Complete the task within 3 business days.
  • Closing the Issue: In your PR description, close the issue by writing Close #[issue_id].
  • Review Process:
    • Once you've submitted your PR, change the label to "ready for review".
    • If changes are requested, address them and then update the label back to "ready for review" once done.
  • Testing: Test your PR locally before pushing, and verify that tests and build are working after pushing.

Thank you for your contribution 🙏

⚠️ WARNING: Failure to follow the requirements above may result in being added to the OnlyDust blacklist, affecting your ability to receive future rewards.

Metadata

Metadata

Assignees

No one assigned

    Labels

    good first issueGood for newcomersonlydust-waveContribute to awesome OSS repos during OnlyDust's open source weekopen for contributionAn issue that is available for an Only Dust contribution

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions