Commit Graph

166 Commits

Author SHA1 Message Date
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
andrew 7d210f528b Revert "Switch SteamOS to software rendering for webview stability"
This reverts commit 10b6f11cf0.
2025-12-28 12:01:05 +13:00
andrew 538785b98d Revert "Update style.css"
This reverts commit 1b0869ea69.
2025-12-28 12:01:02 +13:00
andrew a4a7ac4fa9 Revert "Update home webview display style"
This reverts commit b70473cc92.
2025-12-28 12:00:59 +13:00
andrew b70473cc92 Update home webview display style
Changed #home-webview display from flex to block and removed the flex property to improve layout consistency when the home container is active.
2025-12-28 11:59:43 +13:00
andrew 1b0869ea69 Update style.css 2025-12-28 11:58:05 +13:00
andrew 10b6f11cf0 Switch SteamOS to software rendering for webview stability
Replaces hardware acceleration and ANGLE-based GPU flags with software rendering on SteamOS to address webview rendering issues under Gamescope. Updates both main.js and the start:steamos script in package.json to disable GPU compositing and enforce software rendering.
2025-12-28 11:56:23 +13:00
andrew e77bdfd962 Update SteamOS GPU flags for improved compatibility
Refined GPU command line switches for SteamOS/Gamescope in main.js to use ANGLE with X11, enable VulkanFromANGLE, and adjust feature flags. Updated the start:steamos script in package.json to match these changes for better webview rendering and stability on Steam Deck.
2025-12-28 11:54:37 +13:00
andrew 541c974397 Update GPU flags for SteamOS and improve updater logging
Adjusted GPU command line switches for better SteamOS/Gamescope compatibility, including switching to egl-angle and refining feature flags. Improved auto-updater logger setup with error handling to avoid issues in unsupported environments.
2025-12-28 11:52:54 +13:00
andrew 9898d8248e Update package.json 2025-12-28 11:49:52 +13:00
andrew 80622e63fb Refactor GPU config: move critical Linux flags to main.js
Critical Linux and SteamOS GPU flags are now set immediately after loading Electron in main.js, before app.ready, to ensure proper rendering and compatibility. The GPUConfig class now only applies additional, non-critical settings. Improved SteamOS detection logic and added more detailed logging for GPU environment detection.
2025-12-28 11:47:57 +13:00
andrew a92e3e4652 Improve SteamOS/GPU detection and Linux packaging
Enhances GPU flag handling for SteamOS and Gamescope by adding early detection and flag injection in main.js. Updates the README with clearer SteamOS instructions, adds a SteamOS-optimized .desktop file, and improves Linux packaging options in package.json for AppImage and deb targets with appropriate flags and metadata.
2025-12-28 11:42:52 +13:00
andrew 27cb97ac00 Add SteamOS GPU fixes and launch script
Introduces SteamOS/Steam Deck detection and GPU configuration in gpu-config.js, adds a dedicated start-steamos.sh launch script, and updates package.json with new scripts for SteamOS and Linux GPU-safe launches. Also adds a comprehensive GPU troubleshooting guide in GPU-FIX-README.md to address rendering issues on various platforms.
2025-12-28 11:37:25 +13:00
andrew 1687f34e9b Redesign settings UI and add new settings functionality
Revamps the settings section in Big Picture mode with a tabbed interface for Themes, Display, Privacy, and About panels. Adds theme selection with live preview and persistence, display scale adjustment, privacy controls for clearing data/history/search, and an About panel showing app and environment info. Updates main process to handle theme and display scale changes, and implements corresponding renderer logic and styles.
2025-12-28 11:00:20 +13:00
andrew 399e8da5b4 Add scroll normalization for consistent scroll speed
Introduces CSS and JavaScript to normalize scroll speed across all sites by intercepting wheel events and applying a consistent scroll delta. The normalization is injected into webviews on load to ensure uniform scrolling behavior regardless of site-specific overrides.
2025-12-28 10:50:52 +13:00
andrew 37345b267b Add enhanced history management and favicons
Introduces clear and refresh buttons for browsing history, enables favicon display for history, bookmarks, and recent sites, and improves history storage with IPC support and localStorage fallback. Also updates styles for action buttons and favicons, and adds gamepad navigation for browser history.
2025-12-28 10:47:04 +13:00
andrew 8a2b7ee5e9 Enhance Big Picture Mode OSK and webview input support
Adds native input event injection for webviews via IPC, improves the on-screen keyboard (OSK) UI with a blinking cursor and label, and enables seamless text entry into webview input fields. Also refines virtual cursor click handling for better compatibility with complex sites and video players.
2025-12-28 10:35:59 +13:00
andrew 3d538a09f9 Add sidebar toggle and fullscreen webview support
Implements a sidebar hidden state and toggle functionality for fullscreen webview mode, including new CSS for sidebar transitions and a menu hint. Updates gamepad input handling to allow toggling the sidebar and scrolling in webview mode, and restricts focusable elements to the sidebar and header when browsing. Improves user experience when navigating and interacting with web content in fullscreen.
2025-12-27 23:27:03 +13:00
andrew 5c837aecd8 Add Big Picture Mode for Steam Deck and controllers
Introduces a new Big Picture Mode with a controller-friendly, console-style UI optimized for Steam Deck and handheld devices. Adds new renderer files (HTML, CSS, JS) for the mode, updates main and preload scripts to support window management and IPC for Big Picture Mode, and documents features and usage in BIG_PICTURE_MODE.md. Updates settings and navigation to allow launching and exiting Big Picture Mode.
2025-12-27 23:09:45 +13:00
andrew 43ebed0ade Add auto-update and display scale features
Integrates electron-updater for automatic app updates, including IPC and renderer APIs for update status and controls. Adds display scale (zoom) setting to settings UI, persists user preference in localStorage, and applies it on startup. Updates OAuth popup allowlist logic and upgrades Electron to v39.2.7.
2025-12-27 22:23:14 +13:00
andrew c864ca187c Add per-theme colors for URL bar and tabs
Introduces new color properties for the URL bar and tab strip in all themes, updates the theme system and CSS to support these, and ensures the renderer applies the correct colors to the main UI. This allows each theme to fully customize the appearance of the URL bar and tabs for a more cohesive look.
2025-12-27 21:59:09 +13:00
Andrew Zambazos abac7ed092 Update package-lock.json 2025-12-22 14:49:33 +13:00
andrew 691c6c8628 Add Electron upgrade feature with UI and backend fixes
Introduces an Electron upgrade section in settings, allowing users to check for and upgrade to the latest stable or nightly Electron versions. Implements backend logic to read the installed Electron version directly from package.json, properly handles switching between stable and nightly builds, and improves error handling and UI feedback during upgrade operations. Includes documentation of the upgrade process and bug fixes related to version display and upgrade reliability.
2025-11-09 14:33:55 +13:00
andrew 3bf0458ede Route window.open popups to new tabs with OAuth allowlist
Window.open and <webview> popups are now intercepted and routed into new tabs, except for OAuth/SSO flows (Google, Microsoft, etc.) which are allowed to open real popups to preserve authentication semantics. Renderer logic is updated to handle 'open-url-new-tab' IPC events and consistently open external http(s) links in tabs, improving user experience and security.
2025-11-09 14:18:50 +13:00
andrew 3e47980d22 Merge branch 'main' of https://github.com/NebulaZMG/NebulaBrowser 2025-10-09 13:16:58 +13:00
andrew e665ab2d9f Some plugin work 2025-10-09 13:16:40 +13:00
andrew ff41944f2c Add HTTP interstitial warning and bypass support
Introduces an insecure.html interstitial page that warns users before navigating to unencrypted HTTP sites, except for localhost and previously bypassed hosts. Updates script.js to intercept HTTP navigations, display the warning, and allow session-based bypasses when the user chooses to proceed.
2025-10-08 19:16:52 +13:00
andrew f02a78b958 Add malware scanning to downloads with Windows Defender
Integrates post-download malware scanning using Windows Defender on Windows platforms. Adds scan status tracking, rescan and delete actions for infected files, and updates the downloads UI to display scan results and actions. Non-Windows platforms show scan as unavailable.
2025-09-20 22:05:55 +12:00
andrew 36a4e58017 tried to add formatting to nebot page 2025-09-12 19:16:34 +12:00
andrew 70cd3571d1 Add Nebot plugin with chat UI and adaptive typing
Introduces the Nebot plugin, including main process logic for chat session management, IPC handlers, and Ollama API integration. Adds a dedicated chat UI with adaptive typing animation, markdown rendering, settings modal, and supporting assets (CSS, HTML, JS, markdown bundle). Includes documentation for model selection and testing instructions.
2025-09-12 18:23:34 +12:00
andrew 71462d83de Replace Nebot plugin with Return YouTube Dislike
Removed the Nebot chat plugin and its files, and added the Return YouTube Dislike plugin with main process logic, renderer preload, and manifest. Updated plugin manager and main process to support internal plugin pages and improved plugin event handling. Minor updates to renderer and documentation.
2025-09-11 20:42:43 +12:00
andrew 0a26ecccd5 Add categories and authors metadata to plugins
Introduces optional 'categories' and 'authors' fields to plugin manifests, updates plugin-manager.js to normalize and expose these fields, and enhances the settings UI to display plugin tags and authors. Also updates documentation and an example plugin manifest to demonstrate the new fields.
2025-09-09 21:13:27 +12:00
andrew 0b0bf27028 Update renderer-preload.js 2025-09-09 20:14:14 +12:00
andrew 1537c495bd made window dragable 2025-09-09 14:28:17 +12:00
andrew cb9a2fe897 Added proper full screen support 2025-09-09 14:20:29 +12:00
andrew 7cd6048778 Add Nebot plugin with Ollama chat integration
Introduces the Nebot plugin, providing a floating chat panel that communicates with a local or remote Ollama server and persists chat sessions. Adds dependencies for markdown rendering and code highlighting (dompurify, highlight.js, marked). Removes the sample-hello plugin. Updates site-history.json with recent browsing history.
2025-09-08 21:42:09 +12:00