-
-
Notifications
You must be signed in to change notification settings - Fork 115
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
feat(replay): add user guidance #472
base: main
Are you sure you want to change the base?
Conversation
@@ -24,7 +24,7 @@ | |||
|
|||
from openadapt import common, config | |||
from openadapt.db import BaseModel | |||
from openadapt.logging import filter_log_messages | |||
from openadapt.logging_config import filter_log_messages |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I was facing this error
PSYCHOPY Error: AttributeError: module 'logging' has no attribute 'getLogger'
Used this solution from stackoverflow post:
If the current file you are working has name logging.py change it else it will give circular import error.
@abrichr Currently I created the base code for running pyside6 application which prompts the user to to record(essentially just the UI), but have not implemented the functionality for actually recording or inserting into the db yet. I have listed below some screenshots of the pyside application. Let me know how I can improve this! |
What do you think about removing the "Recording in progress" screen? As a next step, we need an API somewhere that can be triggered when running
** We need to have some additional process in record.py (or the main process) wait until all of the readers and writers have started (all of the readers and writers need to receive a |
From our 1-on-1 conversation notes: API should implement a singleton pattern
Have configurable pause key in config.py to pause replay Refactor stop_sequence_detected to stop_sequence_event (optional) We need to pass something into each of the processes in record.py that the process sets once it has started. E.g. a started_event. If we use multiprocessing.Event, we need a separate event per process. If we use multiprocessing.Vlaue, we can have a single event that each process increments. (The latter sounds like a leaky abstraction).
Now during replay, in a function called on_assistance_required (when it is called is TBD), we start the recording (passing in the started_event to record.py), and wait until the started_event is set, after which we can display a notification to the user We need to confirm that the memory usage of record.py does not increase when the user is idle during a recording. |
What kind of change does this PR introduce?
This PR introduces a feature enhancement to address OpenAdapt Issue #104, providing functionality for handling user interactions during replay strategies.
Summary
This PR addresses the need to prompt users during replay strategies when the current Screenshot/WindowState deviates from the expected state in the recording. It implements the following steps:
Checklist
How can your code be run and tested?
Run
python -m openadapt.replay_control
Other information