Skip to content

Add Steam cloud saves browser shortcut#840

Merged
utkarshdalal merged 1 commit into
utkarshdalal:masterfrom
xXJSONDeruloXx:feat/steam-cloud-saves-link
Mar 20, 2026
Merged

Add Steam cloud saves browser shortcut#840
utkarshdalal merged 1 commit into
utkarshdalal:masterfrom
xXJSONDeruloXx:feat/steam-cloud-saves-link

Conversation

@xXJSONDeruloXx
Copy link
Copy Markdown
Contributor

@xXJSONDeruloXx xXJSONDeruloXx commented Mar 13, 2026

steam-cloud-link

simple convenience feature, for steam games, open steam cloud management page in your default browser


Summary by cubic

Adds a “Browse online saves” shortcut for Steam games to open the game’s Steam Cloud page in your default browser. The option is available even if the game isn’t installed.

Written for commit c260193. Summary will update on new commits.

Summary by CodeRabbit

  • New Features
    • Added "Browse Online Saves" menu option to each game, providing direct access to cloud-stored saved games through the store's remote storage interface. This feature is grouped with other cloud save options in the game options panel, making it easy for players to discover and manage their backed-up game saves from one convenient location.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Mar 13, 2026

📝 Walkthrough

Walkthrough

The pull request introduces a new "Browse Online Saves" menu option to the game library interface. The change spans three files: defining the new enum constant, implementing the option in the Steam app screen with an Intent to open the store's remote storage page, and configuring its icon and category placement in the options panel.

Changes

Cohort / File(s) Summary
Menu Option Definition
app/src/main/java/app/gamenative/ui/enums/AppOptionMenuType.kt
Added new enum constant BrowseOnlineSaves with associated text "Browse online saves".
Menu Screen Implementation
app/src/main/java/app/gamenative/ui/screen/library/appscreen/SteamAppScreen.kt
Integrated BrowseOnlineSaves option to menu, wired to launch Intent for store's remote storage page. Modified logic to return constructed options list instead of empty list when game is not installed or download in progress. Added Intent import.
Menu Display Component
app/src/main/java/app/gamenative/ui/screen/library/components/GameOptionsPanel.kt
Added icon mapping (Icons.AutoMirrored.Filled.OpenInNew) and category grouping (CLOUD_SAVES) for the new BrowseOnlineSaves option.

Estimated Code Review Effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Poem

🐰✨ A hop through code, a feature new,
Browse saves online, it's what rabbits do!
Enums, screens, and panels align,
Cloud storage access, oh how divine! 🌧️📦

🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title directly describes the main change: adding a Steam cloud saves browser shortcut. It accurately summarizes the primary functionality introduced across all modified files.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
📝 Coding Plan
  • Generate coding plan for human review comments

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown
Contributor

@cubic-dev-ai cubic-dev-ai Bot left a comment

Choose a reason for hiding this comment

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

1 issue found across 3 files

Prompt for AI agents (unresolved issues)

Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.


<file name="app/src/main/java/app/gamenative/ui/enums/AppOptionMenuType.kt">

<violation number="1" location="app/src/main/java/app/gamenative/ui/enums/AppOptionMenuType.kt:22">
P3: New user-visible menu label is hardcoded instead of using a string resource, which bypasses localization and the project’s no-hardcoded-UI-strings guidance.</violation>
</file>

Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review.

Comment thread app/src/main/java/app/gamenative/ui/enums/AppOptionMenuType.kt
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In
`@app/src/main/java/app/gamenative/ui/screen/library/appscreen/SteamAppScreen.kt`:
- Around line 763-769: The onClick handler in SteamAppScreen.kt launches a
browser Intent directly (Uri.parse("https://store.steampowered.com/...$gameId"))
which can throw ActivityNotFoundException or a ContextException when the
provided Context is not an Activity; update the onClick to defensively resolve
and launch the intent: create the ACTION_VIEW intent, call
intent.resolveActivity(context.packageManager) (or use
context.packageManager.queryIntentActivities) to ensure an activity can handle
it, and if the context is not an Activity add Intent.FLAG_ACTIVITY_NEW_TASK
before calling context.startActivity; also wrap startActivity in a try/catch for
ActivityNotFoundException to log/safely handle failures; apply the same
defensive changes to the identical pattern in BaseAppScreen.kt.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 524a150e-47ce-4e8e-92d9-467a0127d5b0

📥 Commits

Reviewing files that changed from the base of the PR and between 662474e and c260193.

📒 Files selected for processing (3)
  • app/src/main/java/app/gamenative/ui/enums/AppOptionMenuType.kt
  • app/src/main/java/app/gamenative/ui/screen/library/appscreen/SteamAppScreen.kt
  • app/src/main/java/app/gamenative/ui/screen/library/components/GameOptionsPanel.kt

@utkarshdalal utkarshdalal merged commit 5628c69 into utkarshdalal:master Mar 20, 2026
3 checks passed
kdryja pushed a commit to kdryja/GameNative that referenced this pull request Mar 21, 2026
@Lexi4
Copy link
Copy Markdown

Lexi4 commented Apr 2, 2026

When i try open via this button i need again auth my steam account for opened site. That's normal behaviour? We can't reuse auth from gamenative caches?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants