Urgent.News

What's breaking now, across thousands of outlets.

AI

How I made "jump to message" work in ChatGPT, Claude and Gemini

I'm a third-year student, and a lot of my studying and project work happens in AI chats. The chats get long. The useful answer is always somewhere around message 78, and finding it again means a lot of scrolling. So I built DogEar , a Chrome extension that adds a ☆ under every answer in ChatGPT, Claude, Gemini, Perplexity and Grok. You star an answer, and later you click it in a list and the chat…

The author, a third-year student, built a Chrome extension called DogEar that adds a ☆ under every answer in AI chat platforms like ChatGPT, Claude, and Gemini. The extension allows users to star an answer, and later click it in a list to have the chat scroll straight back to the starred message. However, making this feature reliable proved challenging due to several issues.

Firstly, Claude's chat virtualizes messages, keeping only those visible on the screen in the DOM. If an answer is saved and the user is now far down the chat, querying for the saved message in the DOM won't yield any results, even though the answer still exists in the chat.

Secondly, AI chat platforms load messages lazily, meaning older messages arrive in batches as the user scrolls up. This results in a shift of positions on the page every time a new batch is loaded, making it difficult to maintain consistent message referencing.

Lastly, the websites used by these AI chat platforms frequently change their markup and redesigns, often without a public API for accessing chat messages. This constant change makes it hard to reliably recognise the starred message in the future.

To overcome these challenges, DogEar uses a multi-step approach. Firstly, it saves multiple ways to recognise the message later, such as the site's own message ID (when available), a hash of the text, or the first few words of the text. The FNV-1a hash function is used to generate a small hash of the text, ensuring that small layout changes won't break the recognition.

When the user stars an answer, DogEar remembers its position in one of three ways: using the site's own message ID, matching the hashed text, or matching the first few words of the text. If an item was saved with a message ID, DogEar uses that ID to find the message. If not, it searches for a match based on the hashed text or the first few words. This process works when the message is still on the page.

However, the primary challenge lies in finding the message when it's not on the page, especially after lazy loading by the chat platform. To tackle this, DogEar measures the distance from the answer to the bottom of the chat. This distance remains constant as older messages load at the top, allowing the extension to compute the target position accurately.

The chat scrolls from the top when the message isn't found, loading batches of older messages until the chat is tall enough to reach the target position. Finally, the extension scrolls straight to the starred message within the chat.

Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.

This story

This is one outlet's version. Read the fullest account.

Read the original at dev.to →

More in AI

Your AI Agent Is a Confused Deputy: What Developers Need to Know About AI Security

In early 2024, an employee at the engineering firm Arup joined a video call with the company's CFO and several colleagues, then made 15 transfers totalling about US$25 million .

  • Deepfake attackers transferred $25M in 2024 without system compromise
  • Chinese state-sponsored actors used AI coding agent for espionage in 2025
  • OWASP Top 10 now includes prompt injection as top LLM application risk

More from Sunday 8 November →