From 0b51d133a4d64cd2d67ac85c732816ff2fa2aade Mon Sep 17 00:00:00 2001 From: Andrew Zambazos Date: Tue, 24 Feb 2026 20:50:00 +1300 Subject: [PATCH] Archive Steam docs; add itch.io upload guide MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Move legacy Steam-related docs into documentation/archived and add a new UPLOAD-ITCH.md describing how to publish builds to itch.io with Butler. Update top-level README to state official releases will be on itch.io. Remove Steam-specific UI/features: drop steamCloudOptIn from first-run preferences, remove the Steam Cloud teaser and summary from the setup flow, and adjust settings/setup copy to reference handheld devices and non‑Steam distribution. Also make a small wording tweak in the plugins doc about rendererPreload. --- GPU-FIX-README.md | 0 README.md | 3 + documentation/UPLOAD-ITCH.md | 113 ++++++++++++++++++ .../archived/ELECTRON_UPGRADE_FIXES.md | 0 documentation/archived/GPU-FIX-README.md | 3 + .../archived/README-PLUGINS.md | 2 +- .../archived/README-STEAM.md | 10 +- .../archived/README-linux-upload.md | 4 + .../archived/TYPING_ANIMATION_DEMO.md | 0 main.js | 1 - renderer/settings.html | 4 +- renderer/setup.html | 11 +- renderer/setup.js | 7 -- 13 files changed, 136 insertions(+), 22 deletions(-) delete mode 100644 GPU-FIX-README.md create mode 100644 documentation/UPLOAD-ITCH.md rename ELECTRON_UPGRADE_FIXES.md => documentation/archived/ELECTRON_UPGRADE_FIXES.md (100%) create mode 100644 documentation/archived/GPU-FIX-README.md rename README-PLUGINS.md => documentation/archived/README-PLUGINS.md (98%) rename README-STEAM.md => documentation/archived/README-STEAM.md (96%) rename README-linux-upload.md => documentation/archived/README-linux-upload.md (94%) rename TYPING_ANIMATION_DEMO.md => documentation/archived/TYPING_ANIMATION_DEMO.md (100%) diff --git a/GPU-FIX-README.md b/GPU-FIX-README.md deleted file mode 100644 index e69de29..0000000 diff --git a/README.md b/README.md index 10d010c..e40b6be 100644 --- a/README.md +++ b/README.md @@ -68,6 +68,9 @@ Nebula may be distributed outside of Steam through platforms such as: Availability and packaging may change over time and are not guaranteed. +Official releases for Nebula will be published on itch.io; Steam distribution +is not available due to the Steam review outcome described above. + --- ## Licensing diff --git a/documentation/UPLOAD-ITCH.md b/documentation/UPLOAD-ITCH.md new file mode 100644 index 0000000..5f9492f --- /dev/null +++ b/documentation/UPLOAD-ITCH.md @@ -0,0 +1,113 @@ +# Uploading releases to itch.io using Butler + +This document explains how to prepare and upload Nebula releases to itch.io using Butler, covering macOS, Windows, and Linux. + +## Overview + +Butler (itch.io) is the recommended channel for distributing Nebula releases. The process is: + +1. Build your platform-specific artifact. +2. Install and authenticate `butler`. +3. Push the build to your `username/game:channel` with `butler push`. + +## Install Butler + +- macOS / Linux / Windows: Download the appropriate Butler binary from the official itch.io Butler releases (follow the official docs). Unpack, make executable, and place it on your `PATH`. + +Example (Linux/macOS): + +```bash +# after downloading 'butler' binary +chmod +x butler +sudo mv butler /usr/local/bin/ +``` + +On Windows, place `butler.exe` in a folder on `PATH` or use it directly from the build folder. + +## Authenticate + +Run: + +```bash +butler login +``` + +This opens a browser-based authentication flow. Verify with: + +```bash +butler whoami +``` + +If automation is required, consult the official Butler docs for API-key/token login options. + +## Prepare platform artifacts + +macOS +- Create a zip of your `.app` bundle (keep the `.app` as a top-level item inside the zip): + +```bash +ditto -c -k --sequesterRsrc --keepParent MyApp.app MyApp-mac.zip +``` + +Windows +- Zip the folder containing your `.exe` and runtime files, or create an installer and zip the installer. + +```powershell +Compress-Archive -Path .\build\MyApp\* -DestinationPath MyApp-windows.zip +``` + +Linux +- Create a tarball (or zip) of the Linux runtime files: + +```bash +tar -czf MyApp-linux.tar.gz -C build/linux . +``` + +Note: ensure the main binary has executable permissions before archiving. + +## Push to itch.io + +Basic command: + +```bash +butler push /: +``` + +Examples: + +```bash +# macOS build +butler push MyApp-mac.zip myuser/nebulabrowser:mac + +# Windows build +butler push MyApp-windows.zip myuser/nebulabrowser:windows + +# Linux build +butler push MyApp-linux.tar.gz myuser/nebulabrowser:linux +``` + +Set a release version for itch.io using `--userversion`: + +```bash +butler push MyApp-mac.zip myuser/nebulabrowser:mac --userversion 1.2.3 +``` + +## Recommended channel strategy + +- `stable` or `default` — production releases +- `beta` — pre-release testing +- Use platform-specific channels (e.g., `mac`, `windows`, `linux`) if you want separate channels per OS + +## Tips + +- Keep artifacts small and platform-specific to reduce download size. +- Verify the upload with `butler whoami` and by visiting your game page on itch.io. +- When testing on macOS, notarization and Gatekeeper may affect distribution; provide clear install instructions on your itch page. + +## Rollback + +Butler supports pushing to a channel multiple times; the latest pushed build becomes the current for that channel. To revert, push a previous artifact or use the itch.io web UI to select a previous build. + +## References + +Consult the official Butler documentation for advanced usage (credentials, automated CI uploads, delta uploads, and platform-specific packaging recommendations). diff --git a/ELECTRON_UPGRADE_FIXES.md b/documentation/archived/ELECTRON_UPGRADE_FIXES.md similarity index 100% rename from ELECTRON_UPGRADE_FIXES.md rename to documentation/archived/ELECTRON_UPGRADE_FIXES.md diff --git a/documentation/archived/GPU-FIX-README.md b/documentation/archived/GPU-FIX-README.md new file mode 100644 index 0000000..fef0e51 --- /dev/null +++ b/documentation/archived/GPU-FIX-README.md @@ -0,0 +1,3 @@ +# GPU-FIX-README (archived) + +This file was present at repository root and has been archived here for reference. The canonical GPU fix documentation lives under `documentation/`. diff --git a/README-PLUGINS.md b/documentation/archived/README-PLUGINS.md similarity index 98% rename from README-PLUGINS.md rename to documentation/archived/README-PLUGINS.md index 97a809b..512ebbd 100644 --- a/README-PLUGINS.md +++ b/documentation/archived/README-PLUGINS.md @@ -31,7 +31,7 @@ Example: Fields: - id: Unique id. Defaults to folder name if omitted. - main: Optional entry for main process integration. -- rendererPreload: Optional file injected into the preload. Use it to expose limited APIs. +- rendererPreload: Optional file injected into the preload. Use it to expose a safe surface to the page. - categories: Optional string or array of strings used for organizing/filtering plugins in UI and APIs. Example: ["AI", "Utilities"]. - authors: Optional string or array of strings/objects describing authors. Objects support { name, email, url }. In APIs/UI, names are displayed. - enabled: Defaults to true. diff --git a/README-STEAM.md b/documentation/archived/README-STEAM.md similarity index 96% rename from README-STEAM.md rename to documentation/archived/README-STEAM.md index dd21a7b..dfffd61 100644 --- a/README-STEAM.md +++ b/documentation/archived/README-STEAM.md @@ -1,5 +1,10 @@ Converting extracted AppImage (`squashfs-root`) into a distributable AppDir for Steam +> Note: Nebula will not be distributed on the Steam Store. This document is +> kept for reference and for users who run Nebula via Steam as a non-Steam +> shortcut. Official distribution will be handled via itch.io and other +> non-Steam channels. + If your environment lacks `rsync`, use `cp -a` to copy the extracted AppImage into a clean AppDir and prepare it for upload to Steam. 1) Copy the extracted AppImage to an AppDir folder @@ -77,7 +82,7 @@ Nebula solves this by: ### Gamepad API (for Developers) -The gamepad handler exposes an API via `window.gamepadAPI`: +The gamepad handler exposes an API via `window.gamepadAPI`. ```javascript // Check if gamepad handler is initialized @@ -142,7 +147,6 @@ If Steam is still applying mouse emulation: - **Steam Deck / SteamOS Gaming Mode**: - Open Nebula → press the Steam button → **Controller Settings** (or the controller icon) - Set the layout to a **Gamepad** template (not “Keyboard/Mouse”), or disable Steam Input if the toggle is available - - This stops Steam from translating controller input into keyboard/mouse events (“Desktop Layout” behavior). If you **don’t see a Controller tab** (common when the Steam entry is treated as an “application/tool”): - Use **Big Picture / Gaming Mode** and edit the **Controller Layout** for that specific entry. @@ -160,7 +164,7 @@ If Steam is still applying mouse emulation: The `VAR=value %command%` syntax does **not** work on Windows. Use the Steam UI instead: -1. **Library** → right-click Nebula → **Properties** → **Controller** → set to **"Disable Steam Input"** +1. **Library** → right-click Nebula → **Properties** → **Controller** → set to **"Disable Steam Input"** 2. If no Controller tab exists, open Steam in **Big Picture Mode** → Nebula → **Manage Game** (gear) → **Controller Options** → **Disable Steam Input** If you must use launch options on Windows, use this wrapper syntax: diff --git a/README-linux-upload.md b/documentation/archived/README-linux-upload.md similarity index 94% rename from README-linux-upload.md rename to documentation/archived/README-linux-upload.md index 31c0f52..c2bed17 100644 --- a/README-linux-upload.md +++ b/documentation/archived/README-linux-upload.md @@ -1,5 +1,9 @@ # Linux / SteamOS Build Upload Guide (SteamCMD) +> Note: Nebula will not be distributed on the Steam Store. This Steam upload +> guide is retained for historical/reference purposes only. Official releases +> will be published on itch.io and other non-Steam channels. + This guide explains how to upload the **Linux / SteamOS** build of Nebula Browser to Steam using **SteamCMD**. It is tailored to the current project layout on Steam Deck / Linux. --- diff --git a/TYPING_ANIMATION_DEMO.md b/documentation/archived/TYPING_ANIMATION_DEMO.md similarity index 100% rename from TYPING_ANIMATION_DEMO.md rename to documentation/archived/TYPING_ANIMATION_DEMO.md diff --git a/main.js b/main.js index 1c0536a..822cf38 100644 --- a/main.js +++ b/main.js @@ -612,7 +612,6 @@ async function completeFirstRun(preferences = {}) { selectedThemeId: preferences.selectedTheme || 'default', defaultBrowserAttempted: preferences.defaultBrowserSet || false, defaultBrowserSet: preferences.defaultBrowserSet || false, - steamCloudOptIn: preferences.steamCloudOptIn || false, completedAt: new Date().toISOString() }; diff --git a/renderer/settings.html b/renderer/settings.html index 127a79d..d0944cd 100644 --- a/renderer/settings.html +++ b/renderer/settings.html @@ -36,7 +36,7 @@

Big Picture Mode

-

A controller-friendly UI designed for Steam Deck and handheld devices.

+

A controller-friendly UI designed for handheld devices (e.g., Steam Deck).

diff --git a/renderer/setup.js b/renderer/setup.js index ba22562..9281b91 100644 --- a/renderer/setup.js +++ b/renderer/setup.js @@ -416,13 +416,6 @@ function renderCompletionSummary() {
${setupState.defaultBrowserSet ? 'Set as Default' : 'Not Set'}
-
-
☁️
-
-
Steam Cloud Sync
-
Coming in Phase 2
-
-
`; }