Commit Graph

33 Commits

Author SHA1 Message Date
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 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 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 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 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 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 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 e228ca6317 Add plugin system with sample plugin and settings UI
Introduces a plugin architecture, including a PluginManager, plugin loading in main and renderer processes, and a sample plugin demonstrating menu, IPC, and context menu contributions. Adds a Plugins tab to the settings UI for managing plugins (enable/disable, reload), and updates preload.js to load renderer preloads from plugins. Documentation for plugin development is included in README-PLUGINS.md.
2025-09-08 19:10:05 +12:00
andrew 37c1f98261 Add integrated downloads manager and UI
Implements a full downloads manager with Electron main process handling, IPC APIs, and renderer integration. Adds a dedicated downloads page, a mini downloads popup in the navigation bar with progress ring, and controls for pausing, resuming, canceling, opening, and showing downloads. Updates styles and navigation to support the new downloads features.
2025-09-08 12:31:01 +12:00
andrew a880a4ff71 Enable WebAuthn features and improve z-index layering
Adds early enabling of WebAuthn and platform authenticator features in Chromium via command line switches, and injects diagnostics to check availability in the renderer. CSS z-index values are increased for navigation and menu elements to ensure proper layering above <webview> surfaces. Updates Electron to 37.3.1 and expands site-history.json with additional authentication-related URLs.
2025-09-03 10:31:48 +12:00
andrew 2b27fae28b Enable custom draggable header on macOS
Updated window options in main.js to use a hidden, transparent title bar on macOS, allowing for a custom header in the renderer. Added CSS to designate draggable regions and opt-out for interactive controls, improving window drag usability while maintaining clickable elements.
2025-08-26 09:42:28 +12:00
andrew ffbbc9ee1d Update main.js 2025-08-16 22:07:06 +12:00
andrew 38972b0f35 Add 'Save Image As...' to context menu and image saving support
Introduces a 'Save Image As...' option to the context menu for images. Implements IPC handlers in main and preload scripts to save images from URLs, data URLs, and file URLs. Updates renderer logic to handle saving images from various sources, including blob URLs via webview conversion.
2025-08-15 18:53:15 +12:00
andrew f319384fdc Switch to native Electron context menu
Replaces the custom HTML context menu with a native Electron menu for webview and window areas. Adds context menu handling in main and preload scripts, relays commands to renderer, and updates renderer logic to support new menu actions. Improves integration and user experience by leveraging platform-native menus.
2025-08-15 18:49:09 +12:00
andrew 1e32a4e7a4 Customize user agent to hide Electron branding
Introduces a custom Chrome-compatible user agent string that omits the Electron token and appends a Nebula marker for improved site compatibility and reduced Electron detection. Adds debug mode to optionally reveal Electron in the UA for troubleshooting, and updates session configuration to consistently apply the new user agent.
2025-08-15 18:44:52 +12:00
andrew 4b2f70b53d Add local file open support and improve URL handling
Introduces a dialog to open local HTML files via Ctrl+O/Cmd+O, converting file paths to file:// URLs for navigation. Also improves input handling by stripping quotes and better detecting local file paths. Updates bookmarks and clears site history.
2025-08-15 15:43:05 +12:00
andrew 47834020b2 add dev tools toggle to side menu 2025-08-15 14:04:21 +12:00
andrew 163d3c7b31 Optimize window startup and session configuration
Improves perceived performance by creating the window hidden, showing it after first paint, and maximizing on Windows after display. Defers non-critical tasks and session configuration to avoid blocking UI initialization. Adds high-resolution startup timing markers and refines session/user agent handling for OAuth compatibility.
2025-08-15 13:59:44 +12:00
andrew da7f871d69 Improve popup, navigation, and user agent handling
Refactored window.open and new-window logic to better support OAuth/SSO popups and preserve POST bodies, removing deprecated event handlers that broke login flows. Updated user agent handling to append Nebula branding to the real Chromium UA for improved compatibility with anti-bot systems. Enhanced webview event handling for Cloudflare challenge detection and refined tab/popup heuristics. Cleaned up site-history.json.
2025-08-13 11:15:54 +12:00
andrew 80b9354fce Add advanced reload and history clearing features
Introduces hard reload and fresh reload buttons to the UI, allowing users to reload pages while ignoring cache or with a cache-busting parameter. Refactors session and browser data clearing logic to handle multiple sessions and resets history JSON files. Adds per-section clear buttons for site and search history in settings, improving user control over stored data.
2025-08-11 10:59:10 +12:00
andrew 6596c13d4d Add detailed About panel to settings page
Introduces an About tab in the settings page displaying app, runtime, and system diagnostics. Adds IPC and preload bridge for about info, clipboard copy functionality, and external navigation for GitHub and Help links. Updates site-history.json with relevant links.
2025-08-11 10:49:32 +12:00
andrew 8deeccb32e Refactor history and settings UI; improve tab rendering
Moved site and search history management from the main process to the renderer for better performance and reliability. Updated settings UI to use a sidebar tab layout with improved accessibility and responsive design. Refactored tab rendering in the browser to use efficient scheduling and added a robust tab label function. Cleaned up context menu code and improved async file operations for bookmarks and history.
2025-08-09 21:51:31 +12:00
andrew dd82dd3fea Improve Google OAuth compatibility and session handling
Updated Electron window and session configuration to enhance Google OAuth sign-in compatibility, including user agent spoofing, session partitioning, and webview security settings. Added debugging for cookie changes and improved request headers for OAuth flows. Updated renderer code and index.html to use the new session partition and user agent. Added oauth-debug.md to document changes and troubleshooting steps.
2025-08-01 14:14:06 +12:00
andrew 0f93274d84 Bookmarks saved to json added 2025-07-31 21:33:58 +12:00
andrew c6a77f1096 Use platform-specific app icon in createWindow
Updated the window icon path to use a .icns file on macOS and a .png file on other platforms. This ensures proper icon display across different operating systems.
2025-07-28 10:47:48 +12:00
andrew fbd9ba8a1b Add GPU error handling and performance optimizations
Introduces a comprehensive GPU configuration and fallback system to resolve GPU process launch failures (Error 18), including new modules for GPU management and performance monitoring. Adds a GPU diagnostics HTML page, optimized CSS for rendering, and a diagnostic startup script. Updates main and preload scripts for improved stability, async file operations, and enhanced API exposure. Site history and bookmarks handling are optimized for performance and reliability.
2025-07-26 14:38:05 +12:00
andrew 0b61f86dd4 Refactor site history to use localStorage and improve UI
Site history is now managed in localStorage for faster access and better cross-tab experience, with file sync for persistence. Added a dropdown for quick site history access in the address bar, updated settings page to display and manage site history from localStorage, and improved history recording logic in both main and renderer processes. Also added debug info and test data utilities for development.
2025-07-26 14:15:13 +12:00
andrew cfd2ccf50d Neb added 2025-07-25 22:46:38 +12:00
andrew 1b6c58a348 project created 2025-07-25 22:03:20 +12:00
andrew d69a44fe0d Project added to repo 2025-07-25 14:22:48 +12:00