Skip to content

added: simple-timer @ 1.0.0 #750

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

Merged
merged 5 commits into from
Feb 7, 2025
Merged

Conversation

justjoeyuk
Copy link
Contributor

@justjoeyuk justjoeyuk commented Jan 24, 2025

simple-timer

A minimal plugin designed for simplicity and ease of use.

  • Recent Timers for quick access to common situations
  • Subtle mode to be alerted in a less invasive fashion
  • An alarm will sound and give you the option to suspend immediately or ignore

Plugin Repo

  • I agree to and have already tested at least two plugins that are newly submitted or having a pending update to help ensure the health of the plugin testing process for all contributors.
  • deck-roulette (1.1.6)
  • decky-game-settings

Checklist:

Developer Checklist

  • I am the original author or an authorized maintainer of this plugin.
  • I have abided by the licenses of the libraries I am utilizing, including attaching license notices where appropriate.

Plugin Checklist

  • I have verified that my plugin works properly on the Stable and Beta update channels of SteamOS.
  • I have verified my plugin is unique or alternatively provides more/alternative functionality to a similar plugin already on the store.

Plugin Backend Checklist

  • No: I am using a custom backend other than Python.
  • No: I am using a tool or software from a 3rd party FOSS project that does not have it's dependencies statically linked.
  • No: I am using a custom binary that has all of it's dependencies statically linked.

Testing

  • Tested on SteamOS Stable/Beta Update Channel.

@justjoeyuk justjoeyuk requested a review from a team as a code owner January 24, 2025 22:31
@EMERALD0874
Copy link
Member

@justjoeyuk Please update your testing reports to conform to this template. You need to give more information than what was provided.

Copy link
Member

@EMERALD0874 EMERALD0874 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@justjoeyuk The image in your plugins.json should be used to show your plugin or a graphic representing what it does, not advertise a website on the plugin store. decktools.xyz is fine in the author field, but please select a different image.

@justjoeyuk
Copy link
Contributor Author

@EMERALD0874 Understood. Promo image has been updated to: https://www.decktools.xyz/simple-timer-promo.jpeg and my testing reports have been updated to conform with the template.

@EMERALD0874
Copy link
Member

Approved for deployment to testing store.

@grimkor
Copy link
Contributor

grimkor commented Jan 30, 2025

Was having a play with this in the morning and the timer appears to restart if you let the timer expire while the deck is in standby.

@ohaiibuzzle
Copy link
Contributor

ohaiibuzzle commented Jan 30, 2025

I may be a bit picky on this, but:

  • It appears that when the plugin will display <0 minute remaining near the timer's end, which might get a little confusing.
  • Since you are only updating the timer in five-second intervals anyway (aka precision isn't a big concern), a way to implement this & avoid issues where the timer may get reset or stop counting (as a result of the Steam restarting or, as @grimkor mentioned, going to sleep) would be to store the end time of the timer as Unix timestamp, and check against it inside an asyncio loop instead of creating a sleeping event loop for each timer. This would allow you to, eg. display a notification if the timer couldn't fire (due to the aforementioned reasons), or to implement multiple timers later on (by just pushing more timers onto the stack and check against them).

@justjoeyuk
Copy link
Contributor Author

@ohaiibuzzle thanks for the suggestion, will handle implementation that way - good shout

@EMERALD0874
Copy link
Member

@justjoeyuk Please do not check that someone has tested your plugin at the bottom of your PR template until a testing report has been submitted with the proper format. I've had to uncheck that for you twice.

@Tormak9970
Copy link
Contributor

Tormak9970 commented Jan 31, 2025

Testing Report

Versions

Decky: v3.1.2-pre1
SteamOS: v3.6.20 (Stable)

Summary

Major blocking issues

None

Minor issues

None

Currently installed plugins

  • TabMaster - Dev (essentially v2.8.0)
  • CSS Loader - 2.1.2
  • SteamGridDB - 1.4.0

Yay/nay on to send to the production store or if it requires more testing.

Looks good to me, although I agree that the formatting of the time remaining could use some tweaking

@Tormak9970 Tormak9970 mentioned this pull request Jan 31, 2025
8 tasks
@justjoeyuk justjoeyuk changed the title added: simple-timer @ 0.9.0 added: simple-timer @ 1.0.0 Feb 1, 2025
@justjoeyuk
Copy link
Contributor Author

I have updated the plugin to v1.0.0 with changes proposed for sleep management.

  • Changed the button text to "Less than a minute" if seconds remaining < 60
  • Timer is now based off a timestamp and will be compared when the plugin is either reloaded or device goes to sleep then wakes up
  • If a timer has expired between plugin reloads or device wake, a simple toast will be shown notifying the user that the timer has expired and the timer will be removed
  • If a timer has not expired between plugin reloads or device wake, the timer will continue until it was originally scheduled to end.

@TrainDoctor
Copy link
Member

TrainDoctor commented Feb 1, 2025

@Tormak9970 just want you to confirm no blocking issues with the latest version whenever possible.

Copy link
Member

@EMERALD0874 EMERALD0874 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tested this briefly on my Deck (with Stable SteamOS) and had no blocking issues with the latest version. Also checked the latest features and they seem to work as intended. Checked the code and it also looks good. Considering this good to go!

@EMERALD0874 EMERALD0874 merged commit e737570 into SteamDeckHomebrew:main Feb 7, 2025
2 checks passed
@EMERALD0874 EMERALD0874 mentioned this pull request Feb 14, 2025
7 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

7 participants