I originally reported this issue to Niri, which relies on Smithay. I've tried to implement a function that accesses Wayland's idle notify protocol to see how long the user has been idle for. When I run this code in Niri I only receive idled events, never resumed events.
https://wayland.app/protocols/ext-idle-notify-v1 states about idled events that "It's a compositor protocol error to send this event twice without a resumed event in-between". Is there a bug in my test implementation or is Smithay not sending resumed events when required?