Commit Graph

79 Commits

Author SHA1 Message Date
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 ec08213563 Steam Controller Reg 2025-12-30 19:48:04 +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 d85a8754d9 started adding Screen Scale 2025-12-28 22:38:19 +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 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 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 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 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 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 1537c495bd made window dragable 2025-09-09 14:28:17 +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 62810fcb89 Tab DnD animations added 2025-09-08 18:49:38 +12:00
andrew 5fac652b27 Settings page mods
- Made the settings page look more moderns
- Removed home page layout settings from settings menu
2025-09-08 12:41:46 +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 311340bd6d Revamp UI styles with modern glassy chrome and focus rings
Significantly updates renderer/style.css to introduce a modern, glassy chrome look with gradients, blur, and accent colors. Adds accessible focus rings, improved button and tab styles, and enhanced visual contrast when the Home view is active. Also increases the overlay z-index in home.css to ensure popups appear above other UI elements. Updates site-history.json with recent YouTube URLs.
2025-09-07 21:37:57 +12:00
andrew 6c7ffde3a6 Add layout visibility toggles and improve search bar UI
Introduces checkboxes in the edit toolbar to toggle visibility of the greeting, bookmarks, and 'At A Glance' widgets, persisting user preferences in localStorage. Refactors the search bar and search engine selector for a unified, glassy pill appearance and improved responsiveness. The clock now displays hours and minutes only, updating precisely at the start of each minute. Draggable elements are clamped to remain within the viewport, and visibility changes are applied immediately and on save/cancel.
2025-09-06 22:12:44 +12:00
andrew 3116f4de1b Home fixes
- Greeting given movement options
- Cancel / Save moves according to AAG location
2025-09-06 21:55:21 +12:00
andrew 5e3b99fdd6 Add customizable home layout editing and settings
Introduces an edit mode on the home page allowing users to drag and reposition the greeting, search bar, top sites, and 'at a glance' widget. Adds persistent storage for these layout preferences and a settings panel for fine-tuning positions and widget corner. Updates CSS, HTML, and JS to support edit UI, drag logic, and settings integration.
2025-09-06 21:46:08 +12:00
andrew 285fc44124 Add greeting, weather, and clock widgets to home page
Introduces a dynamic greeting, live clock, and weather widget to the home page. Adds a 'Reset' button for bookmarks, refines the bookmarks card UI, and updates CSS for new widgets and improved layout. Settings page now includes a weather unit preference (auto, Celsius, Fahrenheit) that syncs with the home page weather display.
2025-09-06 21:15:57 +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 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