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

[Feat] Add support for Sideloading Browser Apps and Games #2739

Merged
merged 12 commits into from May 29, 2023

Conversation

flavioislima
Copy link
Member

@flavioislima flavioislima commented May 29, 2023

This PR adds the support to add a URL for a sideload App.

Extending even more the capabilities of Heroic since now it can be used for several other purposes from launching Xcloud, Nvidia GeForceNow, or even Video Streaming services like Netflix, HBO Max, or YouTube. I am sure this will be useful to someone to make devices like the Steam Deck even more flexible.

By default, all browser apps will be launched in fullscreen. We can add a setting for it in the future if people need it. For now, let us keep like this.

image image image

Use the following Checklist if you have changed something on the Backend or Frontend:

  • Tested the feature and it's working on a current and clean install.
  • Tested the main App features and they are still working on a current and clean install. (Login, Install, Play, Uninstall, Move games, etc.)
  • Created / Updated Tests (If necessary)
  • Created / Updated documentation (If necessary)

@flavioislima flavioislima requested review from a team, arielj, CommandMC, Nocccer and imLinguin and removed request for a team May 29, 2023 08:56
@flavioislima flavioislima added the pr:ready-for-review Feature-complete, ready for the grind! :P label May 29, 2023
Copy link
Member

@imLinguin imLinguin left a comment

Choose a reason for hiding this comment

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

Looks good overall, that feature seems nice. However I'm missing a way to close the window properly, sure there is a AbortController like for games. I just don't see how one could close the game in gamescope session without killing whole process tree using Quit Game from Deck overlay. (Just a thought, killing the process isn't that bad after all)

Also left small comments for you to consider

src/backend/storeManagers/storeManagerCommon/games.ts Outdated Show resolved Hide resolved
src/backend/storeManagers/storeManagerCommon/games.ts Outdated Show resolved Hide resolved
@flavioislima
Copy link
Member Author

Looks good overall, that feature seems nice. However I'm missing a way to close the window properly, sure there is a AbortController like for games. I just don't see how one could close the game in gamescope session without killing whole process tree using Quit Game from Deck overlay. (Just a thought, killing the process isn't that bad after all)

Have you tried?
I will test on the Steam deck later but based on how HyperPlay is behaving, it works just fine there.

@imLinguin
Copy link
Member

That was just a thought I had. I'll test the feature later

@slynobody
Copy link

thank you! maybe just a little early to ask: is each webapp isolated from each other and/or could you give them / alter specific user-data-dirs? (user facing options would also be great to alter eachs specific ://flags/ as well as cookie / cache-deletion policy)

@flavioislima
Copy link
Member Author

thank you! maybe just a little early to ask: is each webapp isolated from each other and/or could you give them / alter specific user-data-dirs? (user facing options would also be great to alter eachs specific ://flags/ as well as cookie / cache-deletion policy)

For now they are isolated from each other. I think it's safer this way.

@imLinguin
Copy link
Member

It's worth noting they are isolated based on the domain of provided URL

@@ -11,7 +11,7 @@ export const install = async (args: InstallParams) => {
startTime: 0
}

await ipcRenderer.invoke('addToDMQueue', dmQueueElement)
ipcRenderer.invoke('addToDMQueue', dmQueueElement)
Copy link
Member Author

Choose a reason for hiding this comment

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

not a related change, just a small fix to my previous PR.

@flavioislima flavioislima merged commit dfb78b8 into main May 29, 2023
13 checks passed
@flavioislima flavioislima deleted the feat/browser_apps branch May 29, 2023 16:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
pr:ready-for-review Feature-complete, ready for the grind! :P
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants