Not functional after laptop resumes from sleep · Issue #464 · StreamController/StreamController · GitHub
Skip to content

Not functional after laptop resumes from sleep #464

Description

@badnetmask

Describe the bug
After resuming my laptop from sleep, StreamController is still open, but there is an internal error which prevents the Stream Deck itself from working. I have to close the app and open again.

To Reproduce
Steps to reproduce the behavior:

  1. Sleep the laptop.
  2. Resume.
  3. Stream Deck is empty/blank.
  4. Close app.
  5. Open app, it works.

Expected behavior
Should work after resume.

Screenshots
N/A

Additional context

  • Distribution: Bazzite (Fedora 42)
  • Desktop: Gnome
  • Version: 1.5.0-beta.11 (Flatpak)
2025-07-31 21:23:40.736 | ERROR    | src.backend.DeckManagement.DeckManager:on_resumed:252 - An error has been caught in function 'on_resumed', process 'MainProcess' (3), thread 'DetectResumeThread' (140220339054272):
Traceback (most recent call last):

  File "/usr/lib/python3.12/threading.py", line 1032, in _bootstrap
    self._bootstrap_inner()
    │    └ <function Thread._bootstrap_inner at 0x7f8819426660>
    └ <DetectResumeThread(DetectResumeThread, started 140220339054272)>
  File "/usr/lib/python3.12/threading.py", line 1075, in _bootstrap_inner
    self.run()
    │    └ <function DetectResumeThread.run at 0x7f87d6b31b20>
    └ <DetectResumeThread(DetectResumeThread, started 140220339054272)>

  File "/app/bin/StreamController/src/backend/DeckManagement/DeckManager.py", line 299, in run
    self.deck_manager.on_resumed()
    │    │            └ <function DeckManager.on_resumed at 0x7f87d6b31800>
    │    └ <src.backend.DeckManagement.DeckManager.DeckManager object at 0x7f87d4406a20>
    └ <DetectResumeThread(DetectResumeThread, started 140220339054272)>

> File "/app/bin/StreamController/src/backend/DeckManagement/DeckManager.py", line 252, in on_resumed
    deck_controller.update_all_inputs()
    │               └ <function DeckController.update_all_inputs at 0x7f87d7d1a020>
    └ <src.backend.DeckManagement.DeckController.DeckController object at 0x7f8804f49010>

  File "/app/bin/StreamController/src/backend/DeckManagement/DeckController.py", line 433, in update_all_inputs
    i.update()
    │ └ <function ControllerKey.update at 0x7f87d74c0b80>
    └ <src.backend.DeckManagement.DeckController.ControllerKey object at 0x7f8804f6ffe0>

  File "/app/bin/StreamController/src/backend/DeckManagement/DeckController.py", line 1903, in update
    rgb_image = image.convert("RGB").rotate(self.deck_controller.deck.get_rotation())
                │     │                     │    │               └ <StreamDeck.Devices.StreamDeckOriginalV2.StreamDeckOriginalV2 object at 0x7f8804f54d10>
                │     │                     │    └ <src.backend.DeckManagement.DeckController.DeckController object at 0x7f8804f49010>
                │     │                     └ <src.backend.DeckManagement.DeckController.ControllerKey object at 0x7f8804f6ffe0>
                │     └ <function Image.convert at 0x7f880c16f240>
                └ <PIL.Image.Image image mode=RGBA size=72x72 at 0x7F8804D61C10>

AttributeError: 'StreamDeckOriginalV2' object has no attribute 'get_rotation'
2025-07-31 21:23:40.766 | INFO     | src.backend.DeckManagement.DeckManager:on_resumed:244 - Resume from suspend detected, reloading decks...
2025-07-31 21:23:42.768 | INFO     | src.backend.DeckManagement.DeckManager:on_resumed:262 - Removing deck
2025-07-31 21:25:27.408 | INFO     | src.backend.LockScreenManager.LockScreenManager:lock:63 - Locking screen: False

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type
    No fields configured for issues without a type.

    Projects

    Status
    No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions