Commit Graph

151 Commits

Author SHA1 Message Date
andrew 97150ce2c4 Update setup.html 2026-01-21 11:44:46 +13:00
andrew c8c6397192 Update linux sh files and appdir folder 2026-01-21 11:26:26 +13:00
andrew 1c24b914b3 Update theme-manager.js 2026-01-21 10:59:21 +13:00
andrew e9cf7b29ae Create README-linux-upload.md 2026-01-21 10:46:23 +13:00
andrew 48ae196c4c Improve portable data path resolution logic
Updated getPortableDataPath to prefer storing 'user-data' in Documents/My Games/<AppName>, with a fallback to the app directory if necessary. This enhances data portability and aligns with common user data storage conventions.
2026-01-21 10:23:53 +13:00
andrew 6ea31e7f80 Add first-time setup onboarding flow
Introduces a multi-step onboarding process for first-time users, including theme selection and default browser setup. Adds setup.html, setup.js, and setup.css for the new UI, updates main.js and preload.js to support onboarding logic and IPC handlers, and adjusts theme-manager.js for correct theme directory resolution.
2026-01-20 22:07:22 +13:00
andrew a0e76e623d Add BrowserView tab system and overlay menu for desktop mode
Introduces a BrowserView-based tab management system for desktop mode, replacing webview elements for tab content. Adds IPC handlers and state management for creating, activating, destroying, and communicating with BrowserViews. Implements an overlay menu popup window for tab actions and zoom controls. Updates renderer UI to use a dedicated view host container, and refactors tab creation and navigation logic to use BrowserViews. Improves focus styling in CSS and updates preload and IPC messaging to support BrowserView contexts.
2026-01-19 20:57:24 +13:00
andrew 03a99b7d46 Improve tab navigation and gamepad D-pad support
Enhanced directional navigation logic to prioritize active tab panel content when moving from tab links, improving keyboard and controller accessibility. Added robust D-pad detection for gamepads, supporting both button and axis-based D-pads for broader controller compatibility. Updated settings tab logic to allow ArrowDown/ArrowRight to move focus from tabs to the active panel, with global fallback for improved accessibility.
2026-01-19 19:50:51 +13:00
andrew de64ae21c0 Add bookmark management UI and logic
Introduces UI buttons for adding bookmarks and current page bookmarks in bigpicture.html. Implements bookmark creation, editing, and saving logic in bigpicture.js, including OSK integration for bookmark input, persistent storage support, and improved rendering of bookmark tiles.
2026-01-19 14:55:37 +13:00
andrew ee548b2053 Add search history and zoom controls to settings
Implemented search history tracking and display using localStorage, with options to clear history from the settings page. Replaced the display scale slider with interactive zoom controls and preset buttons, applying zoom changes immediately. Updated styles and HTML structure to support these new features.
2026-01-18 16:22:39 +13:00
andrew 8df3e8bfe8 Improve tab history navigation and internal page handling
Refactors tab history management to prevent duplicate entries and ensure correct navigation for internal nebula:// pages. Updates back/forward navigation to use custom history tracking, properly converting between home and webview tabs, and disables navigation buttons based on history state instead of webview methods.
2026-01-18 16:06:55 +13:00
andrew a59209a40f Hide tab favicon on image load error
Adds an onerror handler to tab favicon images to hide them if the favicon fails to load, improving the appearance of tabs with missing or broken favicon URLs.
2026-01-18 15:55:22 +13:00
andrew 59118da998 Redesign 404 page with improved UI and UX
Revamps the 404.html page with a modern dark-themed design, enhanced layout, and improved messaging. Adds responsive styles, a prominent error icon, clearer action buttons, and displays the attempted URL. Refactors JavaScript for better navigation handling and integration with Electron or parent window messaging.
2026-01-18 15:52:41 +13:00
andrew 681b087f7a Rename internal URL scheme from browser:// to nebula://
Replaces all occurrences of the 'browser://' internal URL scheme with 'nebula://' across main process, plugin manager, and renderer files. This change standardizes the internal page scheme to 'nebula://' for improved clarity and branding.
2026-01-18 13:38:26 +13:00
andrew 0eb9ec0c9a Redesign settings UI and update Electron to v40
Revamps the settings page with improved layout, modernized CSS, and enhanced accessibility, including new layout helpers, better grouping, and consistent styling. Updates Electron from v39.2.7 to v40.0.0 in dependencies. Adds dynamic theme application to the settings page, ensuring user-selected themes are reflected immediately.
2026-01-18 13:22:46 +13:00
andrew bb4cbabb76 Redesign Electron updater UI and restrict updates to dev mode
Revamps the Electron update section in settings with a new UI, status banner, and clearer messaging. The updater logic is now only available in development mode; the main process disables update attempts in packaged builds. Updates to the renderer and main process ensure users on Steam or packaged builds are informed that updates are handled externally, while developers can check and install Electron updates during development.
2026-01-18 12:46:55 +13:00
andrew 00fccfdc1b Fix double zoom bug in Big Picture Mode display scaling
Removed unconditional CSS zoom call that was causing zoom to be applied
twice (Electron zoom + CSS zoom), resulting in squared scaling values.
Now correctly uses Electron zoom as primary with CSS as fallback only.
2026-01-18 12:17:51 +13:00
andrew 52a4d877a1 Enable portable user data on all platforms
Portable mode now works on Windows, macOS, and Linux, storing user data in a 'user-data' folder within the app directory by default. The mode is enabled by default and can be disabled via NEBULA_PORTABLE=0. All file operations for history and search data now respect portable mode, using secure file writes where appropriate. Updated .gitignore and package.json to exclude portable data from versioning and packaging. Also fixed Bing icon filename case in home.html.
2026-01-02 17:36:43 +13:00
andrew 9c8b334133 Update home.js 2026-01-01 22:24:48 +13:00
andrew 26126982e2 Implement custom Windows title bar and theme refactor
Adds a frameless window with custom title bar controls for Windows, including minimize, maximize/restore, and close buttons. Refactors theme color application to use CSS variables and color-mix for improved consistency and dynamic theming across home, settings, and main UI. Updates renderer and styles to support the new title bar, platform detection, and improved color handling. No changes to lock files.
2026-01-01 15:25:45 +13:00
andrew 1b71a4001d Refactor Big Picture Mode to use main window
Big Picture Mode now launches in the main application window instead of a separate Electron window. This reduces resource usage, prevents SteamOS desktop mode conflicts, and enables seamless switching between Desktop and Big Picture modes. Updated documentation, main process logic, and preload API to reflect the new architecture.
2026-01-01 12:17:35 +13:00
andrew 76f5ef188a Refactor Steam callback cleanup on app exit
Simplified the cleanup logic for Steam callback pump by removing unnecessary try-catch and optional chaining. The cleanup is now directly registered after requiring Electron modules.
2026-01-01 00:34:57 +13:00
andrew 72438af1b6 Improve Steam Input handling and update documentation
Updated main.js to better manage Steam Input environment variables, explicitly initialize and shutdown Steam Input, and regularly pump Steam callbacks to ensure proper controller support. Enhanced README-STEAM.md with detailed instructions for configuring Steam Input on Windows, Linux, and Steam Deck, including guidance for software/app limitations and launch options.
2025-12-31 23:58:38 +13:00
andrew 3d07b85706 Added more steam controller configs 2025-12-30 22:21:59 +13:00
andrew ddf5bf49be Improve Steam Deck controller support and documentation
Adds environment variable setup and early gamepad initialization to main.js and preload.js to ensure native controller support on Steam Deck and SteamOS. Updates README-STEAM.md and BIG_PICTURE_MODE.md with detailed instructions for disabling Steam Input emulation and troubleshooting. Introduces start-steamdeck.sh launcher script to automate environment configuration for Steam Deck users.
2025-12-30 21:47:40 +13:00
andrew 705efa04e0 Delete nebula-appdir.tar.gz 2025-12-30 21:02:35 +13:00
andrew ec08213563 Steam Controller Reg 2025-12-30 19:48:04 +13:00
andrew 47970eb0cd Create setup.sh 2025-12-30 18:53:41 +13:00
andrew b9f7779fc5 Save user data to internal folder (Linux) 2025-12-30 18:31:55 +13:00
andrew 4bd2ef0e2d Create update-appdir.sh 2025-12-30 18:22:51 +13:00
andrew f59f4576b9 Revert "Add Steam Input support for Big Picture Mode"
This reverts commit 8994b9b2d3.
2025-12-30 18:15:14 +13:00
andrew 8994b9b2d3 Add Steam Input support for Big Picture Mode
Introduces a Steam Input bridge using steamworks.js, enabling native controller support in Big Picture Mode and on Steam Deck. Adds a new steam-input-manager.js module, integrates IPC handlers in main.js, exposes a steamInputAPI in preload.js, and updates bigpicture.js to use Steam Input when available with fallback to legacy Gamepad API. Updates dependencies and scripts in package.json for Steam Deck and Big Picture profiles.
2025-12-30 17:52:17 +13:00
andrew 55858f13ac some logos added 2025-12-29 15:18:57 +13:00
andrew a77de1d38e Merge branch 'SteamOS' of https://github.com/NebulaZMG/NebulaBrowser into SteamOS 2025-12-29 15:18:06 +13:00
andrew 63f8a22e5c Add nebula-appdir archive via Git LFS 2025-12-29 15:09:20 +13:00
andrew b1c12bbe2d Configure Git LFS for large archives 2025-12-29 15:08:57 +13:00
andrew d60d5e6049 Merge branch 'SteamOS' of https://github.com/NebulaZMG/NebulaBrowser into SteamOS 2025-12-29 12:14:41 +13:00
andrew 87fe66f082 got gpu rendering working, also removed plugins 2025-12-29 12:01:24 +13:00
andrew 464f1f376f Merge branch 'SteamOS' of https://github.com/NebulaZMG/NebulaBrowser into SteamOS 2025-12-28 22:40:39 +13:00
andrew d85a8754d9 started adding Screen Scale 2025-12-28 22:38:19 +13:00
andrew cfbfe5ea6f Merge branch 'SteamOS' of https://github.com/NebulaZMG/NebulaBrowser into SteamOS 2025-12-28 22:14:17 +13:00
andrew 60d382a135 Game Mode compatability
- Browser will now launch into big picture mode if device is in game mode

- Controllers work
2025-12-28 22:13:07 +13:00
andrew fa04dc4e32 Update bigpicture.js
Make gamepad work via steam launch
2025-12-28 21:53:14 +13:00
andrew 21da448e8f Initial commit (without build artifacts) 2025-12-28 21:36:50 +13:00
andrew 921ab9642f Revert "Add SteamOS GPU fixes and launch script"
This reverts commit 27cb97ac00.
2025-12-28 12:01:32 +13:00
andrew 8843185fd6 Revert "Improve SteamOS/GPU detection and Linux packaging"
This reverts commit a92e3e4652.
2025-12-28 12:01:29 +13:00
andrew ba40586910 Revert "Refactor GPU config: move critical Linux flags to main.js"
This reverts commit 80622e63fb.
2025-12-28 12:01:17 +13:00
andrew 8b9e97c292 Revert "Update package.json"
This reverts commit 9898d8248e.
2025-12-28 12:01:14 +13:00
andrew 3a551867aa Revert "Update GPU flags for SteamOS and improve updater logging"
This reverts commit 541c974397.
2025-12-28 12:01:11 +13:00
andrew a95d7678c7 Revert "Update SteamOS GPU flags for improved compatibility"
This reverts commit e77bdfd962.
2025-12-28 12:01:08 +13:00