Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix timer.cancel action fires timer.cancelled event even on idle timers #134507

Open
wants to merge 10 commits into
base: dev
Choose a base branch
from

Conversation

rrooggiieerr
Copy link
Contributor

@rrooggiieerr rrooggiieerr commented Jan 3, 2025

Breaking change

Technically I think this would be a breaking since this fix stops calling the timer.cancelled event on idle timers, however I think this shouldn't be called in the first place, hence this fix

Proposed change

This change stops the timer.cancel action to fire the timer.cancelled event when a timer is idle/already canceled.

I added an extra unit tests for testing canceling already canceled timers.

Also please see #134505 for some findings and thoughts I have on canceling and finishing paused timers.

Type of change

  • Dependency upgrade
  • Bugfix (non-breaking change which fixes an issue)
  • New integration (thank you!)
  • New feature (which adds functionality to an existing integration)
  • Deprecation (breaking change to happen in the future)
  • Breaking change (fix/feature causing existing functionality to break)
  • Code quality improvements to existing code or addition of tests

Additional information

Checklist

  • The code change is tested and works locally.
  • Local tests pass. Your PR cannot be merged unless tests pass
  • There is no commented out code in this PR.
  • I have followed the development checklist
  • I have followed the perfect PR recommendations
  • The code has been formatted using Ruff (ruff format homeassistant tests)
  • Tests have been added to verify that the new code works.

If user exposed functionality or configuration variables are added/changed:

If the code communicates with devices, web services, or third-party tools:

  • The manifest file has all fields filled out correctly.
    Updated and included derived files by running: python3 -m script.hassfest.
  • New or updated dependencies have been added to requirements_all.txt.
    Updated by running python3 -m script.gen_requirements_all.
  • For the updated dependencies - a link to the changelog, or at minimum a diff between library versions is added to the PR description.

To help with the load of incoming pull requests:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

The timer.cancel service fires timer.cancelled event even on idle timers
1 participant