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

Improve Handy integration #2555

Merged
merged 9 commits into from
May 10, 2022

Conversation

WithoutPants
Copy link
Collaborator

@WithoutPants WithoutPants commented May 4, 2022

  • Now syncs with a Handy device when the UI is first loaded, and caches the server offset time.
  • Added more information for Handy integration to the Interactive Options section in the Interface Settings:
    image

When not connected, the connect button allows attempting to reconnection.
When connected, there is a Sync button which calculates the server offset.

  • Adds a status overlay to interactive scenes when the player is paused/not started:
    image

This indicates when an interactive script is still being uploaded. It is only shown when a Handy key is configured and when the scene is interactive.

Resolves #2539 - the initial lead time was due to recalculating the server offset time before uploading the script, which is time consuming and mostly unnecessary.

Other issues that I identified that are yet to be addressed in this PR:

  • does not signal to stop the device when navigating to another page
  • needs to handle looping videos
  • needs to handle next/previous navigation
  • when autoplay is true and the scene is interactive, it should finish uploading the funscript before starting playback

@WithoutPants WithoutPants added the bug Something isn't working label May 4, 2022
@WithoutPants WithoutPants added this to the Version 0.15.0 milestone May 4, 2022
@WithoutPants WithoutPants added the improvement Something needed tweaking. label May 4, 2022
@Morderath
Copy link

First impression:

  • Responsiveness is once again very good in general, and the other issues you identified covers the remaining sources of giving the perception of latency. I'm stoked I was right that it was the Sync section of the code that was causing those delays
  • UI element on the video is very good - Can you make it a bit brighter though actually? I dig the idea of keeping it out of the way, it's JUST on the wrong side of visible though, doesn't need much (I'm about 7ft from a older model flatscreen 58" making that observation)
  • Not sure why, but there is now a delay when deleting videos - It takes a while to think. To expand on this -> I noticed that in the previous version where I had the other issues, I started getting a new error - I apologize, I did not capture it, but it was a large, large box of context text, essentially saying "File is in use". Refreshing the screen to try again succeeds, pausing video had no effect -> Made me think the Handy integration was causing some sort of filelocking when using the delete function that includes the "Delete Funscript also" feature that was added a few months ago.

If I notice anything else I'll let you know but well done!

@inventiv3919
Copy link

I haven't had a chance to test this pr yet (tomorrow I'm going to try and finally learn how to create docker images from GitHub repositories) but I figured it might help to know that

noticed that in the previous version where I had the other issues, I started getting a new error - I apologize, I did not capture it, but it was a large, large box of context text, essentially saying "File is in use". Refreshing the screen to try again succeeds, pausing video had no effect -> Made me think the Handy integration was causing some sort of filelocking when using the delete function that includes the "Delete Funscript also" feature that was added a few months

I've been deleting videos + funscripts ever since the pr hit docker without encountering this error. I also tested it out just now by connecting my handy, playing a scripted video in one tab then deleting it from another tab and it didn't throw up any errors.

@WithoutPants
Copy link
Collaborator Author

I've updated to address the leftover issues I found. I've also bumped up the opacity and the state will also stay on-screen until the device is ready, in the event that the player is started before the script is uploaded.

@WithoutPants WithoutPants merged commit ea2fcd9 into stashapp:develop May 10, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working improvement Something needed tweaking.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Bug Report] Handy responsiveness poor since Handy Server side update to APIv2
3 participants