Skip to content

Hannah/install from server#1758

Closed
HannahPadd wants to merge 51 commits intollelievr/electronfrom
hannah/install-from-server
Closed

Hannah/install from server#1758
HannahPadd wants to merge 51 commits intollelievr/electronfrom
hannah/install-from-server

Conversation

@HannahPadd
Copy link
Copy Markdown

@HannahPadd HannahPadd commented Feb 25, 2026

Still Work in Progress.

Install from server is a system to have SlimeVR server install itself (kinda like how discord does it). It can also send information about the current installation to the gui to inform the user about uninstalled components or misconfigured components.

This commit relies on this PR from SolarXR: SlimeVR/SolarXR-Protocol#198

Hannah Lindrob and others added 30 commits February 4, 2026 10:53
@github-actions github-actions bot added Area: Documentation Improvements or additions to documentation Area: Application Protocol Related to communication with apps like the GUI, overlay, games Area: GUI Related to the GUI Area: Continuous Integration Automated testing and deployment Area: Translation Improvements or additions to translations Area: SteamVR Driver Related to the SteamVR Driver Area: Server Related to the server labels Feb 25, 2026
@loucass003 loucass003 changed the base branch from main to llelievr/electron February 25, 2026 17:52
@loucass003
Copy link
Copy Markdown
Member

I changed the base of the PR so the diff makes more sense

Comment on lines +71 to +79
(
(
(
contentLength?.toFloat()
?: 1f
)
)
)
)
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

WTH is going on here 😆

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Intellij format suggestion iirc.

Comment on lines +20 to +26
var response = false
if (udevResponse.contains("slime")) {
response = true
}
else {
response = false
}
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can probably be more succinctly represented:

Suggested change
var response = false
if (udevResponse.contains("slime")) {
response = true
}
else {
response = false
}
val response = udevResponse.contains("slime")


if (os.contains("linux")) {
val linuxUpdater = Linux()
val linuxFlavour = executeShellCommand("uname", "-n")
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

unused?

Comment on lines +40 to +50
private fun executeShellCommand(vararg command: String): String = try {
val process = ProcessBuilder(*command)
.redirectErrorStream(true)
.start()
process.inputStream.bufferedReader().readText().also {
process.waitFor()
}
} catch (e: IOException) {
LogManager.warning("Error executing shell command: ${e.message}")
"Error executing shell command: ${e.message}"
}
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

duplicated from InstallerUtils

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, that's because it's still wip and I haven't decided on where I will put it.

return
}
val vrPathRegContents = executeShellCommand("${steamVRLocation}\\bin\\win64\\vrpathreg.exe", "finddriver", "slimevr")
val isDriverRegistered = vrPathRegContents.contains("WINDOWSSTEAMVRDRIVERDIRECTORY")
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
val isDriverRegistered = vrPathRegContents.contains("WINDOWSSTEAMVRDRIVERDIRECTORY")
val isDriverRegistered = vrPathRegContents.contains(WINDOWSSTEAMVRDRIVERDIRECTORY)

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also seems to have been reverted accidentally

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also seems to have been reverted accidentally

Comment on lines +93 to +101
private const val LINUXSTEAMVRDRIVERURL = "https://github.com/SlimeVR/SlimeVR-OpenVR-Driver/releases/latest/download/slimevr-openvr-driver-x64-linux.zip"
private const val LINUXSTEAMVRDRIVERNAME = "slimevr-openvr-driver-x64-linux.zip"
private const val LINUXSTEAMVRDRIVERDIRECTORY = "slimevr-openvr-driver-x64-linux"
private const val LINUXFEEDERURL = "https://github.com/SlimeVR/SlimeVR-Feeder-App/releases/latest/download/SlimeVR-Feeder-App-Linux.zip"
private const val LINUXFEEDERNAME = "SlimeVR-Feeder-App-Linux.zip"
private const val LINUXFEEDERDIRECTORY = "SlimeVR-Feeder-App-Linux"
private const val LINUXSERVERURL = "https://github.com/SlimeVR/SlimeVR-Server/releases/latest/download/SlimeVR-amd64.appimage"
private const val LINUXSERVERNAME = "SlimeVR-amd64.appimage"
private const val LINUXSERVERDIRECTORY = "slimevr-linux"
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These should be screaming snake case

Comment on lines +80 to +88
private const val WINDOWSSTEAMVRDRIVERURL = "https://github.com/SlimeVR/SlimeVR-OpenVR-Driver/releases/latest/download/slimevr-openvr-driver-win64.zip"
private const val WINDOWSSTEAMVRDRIVERNAME = "slimevr-openvr-driver-win64.zip"
private const val WINDOWSSTEAMVRDRIVERDIRECTORY = "slimevr-openvr-driver-win64"
private const val WINDOWSFEEDERURL = "https://github.com/SlimeVR/SlimeVR-Feeder-App/releases/latest/download/SlimeVR-Feeder-App-win64.zip"
private const val WINDOWSFEEDERNAME = "SlimeVR-Feeder-App-win64.zip"
private const val WINDOWSFEEDERDIRECTORY = "SlimeVR-Feeder-App-win64"
private const val WINDOWSSERVERURL = "https://github.com/SlimeVR/SlimeVR-Server/releases/latest/download/SlimeVR-win64.zip"
private const val WINDOWSSERVERNAME = "slimevr-win64.zip"
private const val WINDOWSSERVERDIRECTORY = "slimevr-win64"
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These should be screaming snake case

@ImSapphire
Copy link
Copy Markdown
Member

It seems the reverts happened in commit cb39890

@HannahPadd HannahPadd closed this Feb 27, 2026
@HannahPadd HannahPadd reopened this Feb 27, 2026
@HannahPadd HannahPadd closed this Feb 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Area: Application Protocol Related to communication with apps like the GUI, overlay, games Area: Continuous Integration Automated testing and deployment Area: Documentation Improvements or additions to documentation Area: GUI Related to the GUI Area: Server Related to the server Area: SteamVR Driver Related to the SteamVR Driver Area: Translation Improvements or additions to translations

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants