Commit Graph

31 Commits

Author SHA1 Message Date
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 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 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 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 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 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 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 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 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 a69b6195d1 Add FLIP tab animations for open, close, and reorder
Implements FLIP (First, Last, Invert, Play) animations for tab reordering, opening, and closing in the tab bar. Tabs now animate smoothly when added, removed, or reordered, improving visual feedback and user experience. CSS classes and keyframes for enter and exit transitions are introduced, and the tab rendering logic is updated to measure and animate tab positions.
2025-08-10 11:26:54 +12:00
andrew 6b3b8465ce Made burger menu close when clicked off 2025-08-10 11:11:27 +12:00
andrew 5a5cbc204f Performance fixes for UI 2025-08-10 11:07:20 +12:00
andrew bd86ffc423 Open site history links in new tab from settings
Site history items in settings are now clickable links that request navigation in a new tab, preserving the settings view. Renderer logic updated to handle 'navigate' events with a 'newTab' option from both webview IPC and postMessage.
2025-08-10 10:55:17 +12:00
andrew 5c7d831ebf Improve tab strip accessibility and UI
Enhances the tab strip with ARIA roles, keyboard navigation, and improved drag-and-drop reordering. Refactors tab rendering for better accessibility, adds dedicated new-tab button, and updates styles for a more modern look and clearer tab controls.
2025-08-10 10:46:54 +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 90dfe73632 Fix webview creation and update site history
Refactored createTab to properly set webview attributes (id, src, allowpopups, partition, preload) for correct loading and management. Updated site-history.json with recent search and navigation entries.
2025-07-31 22:45:57 +12:00
andrew e8dc253f03 Improve theme and navigation IPC between pages
Enhanced inter-process communication for theme updates and navigation between home, settings, and main browser pages. Theme changes in settings now propagate to home via Electron IPC and postMessage fallback. Navigation requests from home and other webviews are handled more robustly, supporting both Electron IPC and postMessage. Also refactored tab creation and improved event handling for better reliability.
2025-07-31 22:40:37 +12:00
andrew aba6145bea Only one tab start up
Fixed 2 tabs opening on start up
2025-07-31 21:43:29 +12:00
andrew b96b61e6da Improve webview tab activation and styling
Ensure the webviews container is visible when converting a home tab to a webview, and activate the converted tab in the UI. Also, update webview CSS to set width and height to 100% for better layout consistency.
2025-07-31 21:41:21 +12:00
andrew 0f93274d84 Bookmarks saved to json added 2025-07-31 21:33:58 +12:00
andrew afa25a113d Remove site history dropdown and update Electron
Eliminated the custom site history dropdown UI and its related event handlers from script.js. Updated Electron to version 37.2.4 in package.json and package-lock.json. Cleared entries from search-history.json and site-history.json.
2025-07-28 10:03:48 +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