[PR #3] [MERGED] chrome extension popup and options page #6

Closed
opened 2026-02-15 17:16:04 -05:00 by yindo · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/onyx-dot-app/onyx-chrome-extension/pull/3
Author: @rohoswagger
Created: 12/11/2025
Status: Merged
Merged: 1/8/2026
Merged by: @rohoswagger

Base: mainHead: roshan/chrome-extension-revamp


📝 Commits (10+)

📊 Changes

19 files changed (+2432 additions, -367 deletions)

View changed files

📝 README.md (+16 -8)
📝 manifest.json (+32 -7)
📝 service_worker.js (+124 -10)
src/pages/background_loader.js (+0 -20)
📝 src/pages/onyx_home.html (+66 -67)
📝 src/pages/options.html (+510 -44)
📝 src/pages/options.js (+71 -30)
📝 src/pages/panel.html (+79 -77)
📝 src/pages/panel.js (+29 -6)
src/pages/popup.html (+252 -0)
src/pages/popup.js (+58 -0)
src/pages/welcome.html (+618 -0)
src/pages/welcome.js (+192 -0)
src/styles/selection-icon.css (+39 -0)
📝 src/styles/shared.css (+4 -12)
📝 src/utils/constants.js (+8 -7)
📝 src/utils/content.js (+0 -11)
📝 src/utils/error-modal.js (+182 -68)
src/utils/selection-icon.js (+152 -0)

📄 Description

complete revamp of the chrome extension!

Key Features

Onboarding

Smooth onboarding, prompts you to set the root domain for your onyx instance as well as enabling onyx as the default new tab page

https://github.com/user-attachments/assets/f67b0596-0a51-4347-a8ed-a916476ba2c7

New Tab Page

Override the default new tab page to see your past chats and interact with Onyx!
Screenshot 2025-12-12 at 00 03 22

Sidebar

Open a sidebar directly in your browser to chat with onyx completely integrated into your browser experience! Accessible via Alt+O
Screenshot 2025-12-12 at 00 05 40

Cursor

Highlight any text and ask Onyx about it

https://github.com/user-attachments/assets/1752752a-e98e-47d3-82a7-d4203f80e940

Search Engine

Use the onyx keyword to use onyx as a search engine in your browser!

https://github.com/user-attachments/assets/32798212-e125-4eb5-9032-8c4e1402acad

Popup

Simple popup with some lightweight configuration settings
Screenshot 2025-12-12 at 00 09 08

Settings

Extension settings page with more detailed configuration and settings for the chrome extension
Screenshot 2025-12-12 at 00 09 43

Small Nits

  • for the search engine omnibox:

    • do we have a query param for auto populating and submitting a query? i saw something about ?firstMessage= but that didn't work when i tried it.
  • for the sidebar

    • do we have a query param for AppLayout that opens without the default sidebar open? i saw a potential ?defaultSidebarOpen= but wasn't able to get it working
  • change to ChatInputBar to fix some formatting things:

  // Additional effect to handle initial render in iframe/side panel contexts
  // where the DOM may not be fully laid out on first paint
  useEffect(() => {
    const textarea = textAreaRef.current;
    if (!textarea) return;

    // Use requestAnimationFrame to ensure we run after the browser has painted
    const rafId = requestAnimationFrame(() => {
      textarea.style.height = "0px";
      textarea.style.height = `${Math.min(
        textarea.scrollHeight,
        MAX_INPUT_HEIGHT
      )}px`;
    });

    return () => cancelAnimationFrame(rafId);
  }, []); // Only run on mount

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/onyx-dot-app/onyx-chrome-extension/pull/3 **Author:** [@rohoswagger](https://github.com/rohoswagger) **Created:** 12/11/2025 **Status:** ✅ Merged **Merged:** 1/8/2026 **Merged by:** [@rohoswagger](https://github.com/rohoswagger) **Base:** `main` ← **Head:** `roshan/chrome-extension-revamp` --- ### 📝 Commits (10+) - [`49898dc`](https://github.com/onyx-dot-app/onyx-chrome-extension/commit/49898dc482c3d8a9b0a2d41272d4eeface04a5ef) chrome extension popup and options page - [`0962521`](https://github.com/onyx-dot-app/onyx-chrome-extension/commit/09625212bfc93915da9238fa429da115137eab0d) side panel shortcut - [`a995fb5`](https://github.com/onyx-dot-app/onyx-chrome-extension/commit/a995fb5c22edd0f8a6f794d8bc34f0952aed465e) onyx cursor icon - [`fb124cd`](https://github.com/onyx-dot-app/onyx-chrome-extension/commit/fb124cd075af8b7cf33127d889ac735f3279642e) refactor some things so it works - [`f9a8e57`](https://github.com/onyx-dot-app/onyx-chrome-extension/commit/f9a8e57aacf0f4c60b71922e00b93ab0f1eaf0f4) cleanup - [`780d3ce`](https://github.com/onyx-dot-app/onyx-chrome-extension/commit/780d3ce2db5f1ac4b772a2b780ed6d84ad122994) chrome extension final cleanup - [`8cdbbbc`](https://github.com/onyx-dot-app/onyx-chrome-extension/commit/8cdbbbce248c6986e458eee52de9aee63265272a) nits - [`1b42463`](https://github.com/onyx-dot-app/onyx-chrome-extension/commit/1b42463ada76ae3a78e1775b7444136f4fefdb65) final cleanups - [`1494945`](https://github.com/onyx-dot-app/onyx-chrome-extension/commit/149494502b139862a2e43ec1a6cbe9a0da0e5296) onboarding flow - [`684a6cc`](https://github.com/onyx-dot-app/onyx-chrome-extension/commit/684a6cca1c5e52698afde8152ef93c78983e546b) welcome.js ### 📊 Changes **19 files changed** (+2432 additions, -367 deletions) <details> <summary>View changed files</summary> 📝 `README.md` (+16 -8) 📝 `manifest.json` (+32 -7) 📝 `service_worker.js` (+124 -10) ➖ `src/pages/background_loader.js` (+0 -20) 📝 `src/pages/onyx_home.html` (+66 -67) 📝 `src/pages/options.html` (+510 -44) 📝 `src/pages/options.js` (+71 -30) 📝 `src/pages/panel.html` (+79 -77) 📝 `src/pages/panel.js` (+29 -6) ➕ `src/pages/popup.html` (+252 -0) ➕ `src/pages/popup.js` (+58 -0) ➕ `src/pages/welcome.html` (+618 -0) ➕ `src/pages/welcome.js` (+192 -0) ➕ `src/styles/selection-icon.css` (+39 -0) 📝 `src/styles/shared.css` (+4 -12) 📝 `src/utils/constants.js` (+8 -7) 📝 `src/utils/content.js` (+0 -11) 📝 `src/utils/error-modal.js` (+182 -68) ➕ `src/utils/selection-icon.js` (+152 -0) </details> ### 📄 Description complete revamp of the chrome extension! ## Key Features ### Onboarding Smooth onboarding, prompts you to set the root domain for your onyx instance as well as enabling onyx as the default new tab page https://github.com/user-attachments/assets/f67b0596-0a51-4347-a8ed-a916476ba2c7 ### New Tab Page Override the default new tab page to see your past chats and interact with Onyx! <img width="1728" height="996" alt="Screenshot 2025-12-12 at 00 03 22" src="https://github.com/user-attachments/assets/c39f58d5-6cea-4f70-967c-41cf706ca841" /> ### Sidebar Open a sidebar directly in your browser to chat with onyx completely integrated into your browser experience! Accessible via `Alt+O` <img width="1728" height="996" alt="Screenshot 2025-12-12 at 00 05 40" src="https://github.com/user-attachments/assets/118e2ef5-5e28-41e7-8e97-dc257db36fba" /> ### Cursor Highlight any text and ask Onyx about it https://github.com/user-attachments/assets/1752752a-e98e-47d3-82a7-d4203f80e940 ### Search Engine Use the `onyx` keyword to use onyx as a search engine in your browser! https://github.com/user-attachments/assets/32798212-e125-4eb5-9032-8c4e1402acad ### Popup Simple popup with some lightweight configuration settings <img width="311" height="315" alt="Screenshot 2025-12-12 at 00 09 08" src="https://github.com/user-attachments/assets/417eb55e-92b6-40f2-ba4e-b01125e98fa4" /> ### Settings Extension settings page with more detailed configuration and settings for the chrome extension <img width="1728" height="1000" alt="Screenshot 2025-12-12 at 00 09 43" src="https://github.com/user-attachments/assets/ddb449fd-8b01-49c1-ad40-310bb77fe869" /> ## Small Nits - for the search engine omnibox: - do we have a query param for auto populating and submitting a query? i saw something about `?firstMessage=` but that didn't work when i tried it. - for the sidebar - do we have a query param for AppLayout that opens without the default sidebar open? i saw a potential `?defaultSidebarOpen=` but wasn't able to get it working - change to `ChatInputBar` to fix some formatting things: ``` // Additional effect to handle initial render in iframe/side panel contexts // where the DOM may not be fully laid out on first paint useEffect(() => { const textarea = textAreaRef.current; if (!textarea) return; // Use requestAnimationFrame to ensure we run after the browser has painted const rafId = requestAnimationFrame(() => { textarea.style.height = "0px"; textarea.style.height = `${Math.min( textarea.scrollHeight, MAX_INPUT_HEIGHT )}px`; }); return () => cancelAnimationFrame(rafId); }, []); // Only run on mount ``` - chrome extension currently published under pablo@onyx.app, need to somehow remove this and i can republish either under roshan@onyx.app or hello@onyx.app or something more professional --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
yindo added the pull-request label 2026-02-15 17:16:04 -05:00
yindo closed this issue 2026-02-15 17:16:04 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: onyx-dot-app/onyx-chrome-extension#6