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

Plugin system #798

Closed
jakzo opened this issue Aug 4, 2023 · 6 comments
Closed

Plugin system #798

jakzo opened this issue Aug 4, 2023 · 6 comments
Labels
enhancement A new feature or general improvement to LiveSplit One. needs further discussion / research There's further design decisions that need to be made in order to continue. requires livesplit-core changes There's a bug or missing feature in livesplit-core that needs to be implemented.

Comments

@jakzo
Copy link

jakzo commented Aug 4, 2023

Are there any plans for a plugin system (like the main Livesplit's components)? I recently forked this repo to make running my game easier (I'm using it with the Quest 2 standalone VR headset) and while some changes should stay in the fork it would be nice if I didn't have to have the fork diverge so far for things like autosave splits on quit.

@CryZe CryZe added enhancement A new feature or general improvement to LiveSplit One. needs further discussion / research There's further design decisions that need to be made in order to continue. requires livesplit-core changes There's a bug or missing feature in livesplit-core that needs to be implemented. labels May 11, 2024
@CryZe
Copy link
Collaborator

CryZe commented Jun 3, 2024

Can you elaborate what exactly you would need upstreamed from your fork? For example we will have auto saving later today.

A plugin system isn't planned anytime soon, or rather, the plugins are mostly in the form of auto splitters primarily, which won't work in the web version of course. So at least for the web version, nothing like that is planned, until maybe far into the future.

However it sounds like your issue might be resolved by simply upstreaming some individual features that you need.

@CryZe
Copy link
Collaborator

CryZe commented Jun 8, 2024

I'll close this for now, please open issues for the individual things you still want upstreamed. Auto saving is merged now.

@CryZe CryZe closed this as completed Jun 8, 2024
@jakzo
Copy link
Author

jakzo commented Jun 8, 2024

Nice. As far as I know, neither I nor anyone else have been using my fork for a while so I'm not in a rush to implement these but here are the things I added in my fork for reference:

  • Auto load premade layout with levels for the game I was running (Bonelab)
  • Remember last used websocket IP and autoconnect on startup (with interval retry)
  • Automatically switch to game time when timer starts
  • I hosted the fork on an HTTP page (not HTTPS) so that it could connect to the headset's IP without being stopped by browser security

@CryZe
Copy link
Collaborator

CryZe commented Jun 8, 2024

Remember last used websocket IP

This is a thing now. I'll look into auto connect / reconnect.

Automatically switch to game time when timer starts

I'll make it so it remembers the timing method after reloading the page. Possibly allow switching the timing method via the websocket too.

I hosted the fork on an HTTP page

Localhost is nowadays reachable from https again, but yeah I don't think http is something we'll do in the official version.

Auto load premade layout with levels for the game I was running (Bonelab)

Can you explain how this is different from just opening LiveSplit One with the most recent splits and layout still being open? Or rather, what exactly is actionable for us here?

@jakzo
Copy link
Author

jakzo commented Jun 8, 2024

Localhost is nowadays reachable from https again, but yeah I don't think http is something we'll do in the official version.

Livesplit was actually running on a computer or phone while the game (with a mod to host a websocket autosplitter server) was running on the headset which is why I needed HTTP to connect to a local network IP and not localhost.

what exactly is actionable for us here?

Nothing really. I added that as a convenience for people running the game to not have to set it up for the game themselves. I don't think that should be added to the core, was just mentioning all the things I added in the fork.

@CryZe
Copy link
Collaborator

CryZe commented Jun 8, 2024

why I needed HTTP to connect to a local network IP and not localhost.

Yeah that's so unfortunate that they don't allow this anymore. I'm somewhat looking into therun.gg support, so maybe long term going through a website like that would help with that (at least with therun.gg it wouldn't be the WebSocket protocol though).

I opened two issues for the rest: #920 #919

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement A new feature or general improvement to LiveSplit One. needs further discussion / research There's further design decisions that need to be made in order to continue. requires livesplit-core changes There's a bug or missing feature in livesplit-core that needs to be implemented.
Projects
None yet
Development

No branches or pull requests

2 participants