Changelog

All notable changes to Ophel Atlas are documented here.

View on GitHub
v1.1.0

🚀 New Features

  • Quick Quote Chains — Prompt chains can now be triggered directly from quick quote actions, with chain icon picker, drag-to-reorder, and embedded quote anchors for reliable reference restoration across page refreshes.

🐛 Bug Fixes

  • Outline copy at level 0 — Fixed issue where copying the outline returned empty results when user queries were hidden and expand level was set to 0, even though AI response headings were visible in the panel. Now copies all heading levels (H1-H6) in this scenario to match what's displayed.
  • Prompt queue keyboard shortcuts — Prompt queue input now respects the user's send shortcut setting (Enter vs Ctrl+Enter) instead of hardcoding Enter behavior. The expanded queue panel uses capture-phase event handling to prevent keyboard events from being blocked by the editable guard, so Enter and Ctrl+Enter shortcuts work correctly on all platforms including Mac.
  • Prompt queue text alignment — Queue item text now displays left-aligned instead of center-aligned for better readability.
  • ChatGLM generation detection — Fixed false-positive generation status detection caused by historical "answer terminated" messages. The isGenerating() method now excludes .stop-answer-default selector which matches static text from previous responses rather than the current generation state.
  • ChatGLM stop button — Alt+K shortcut now correctly stops generation by targeting the inner .enter-icon-container element instead of the outer container div.
  • Qianwen Slate editor sync — Fixed content insertion from prompt queue where inserted text couldn't be edited or deleted. The editor now properly syncs Slate's virtual DOM by using selectAll + delete + insertText with complete event chains (beforeinput, input, change) to ensure both DOM and Slate state update correctly.
  • Launcher peek retention — When the mouse moves from the panel logo to other quick buttons (e.g. toolbox), the launcher peek panel now hides instead of staying open and blocking the toolbox menu. (#653)
v1.0.60

✨ Improvements

  • Userscript bundle size — Split Markdown rendering code, Markdown styles, user-query Markdown styles, and site icons into external userscript assets so Greasy Fork sync has less inline code to process while preserving the existing rendering injection path.
  • Zen Mode exit button — Added a "Show exit button" setting for Zen Mode, so the on-page exit button can be hidden while keeping the quick button and shortcut exit paths available. (#645)

🐛 Bug Fixes

  • AI Studio mobile Enter key — AI Studio on Android and other mobile devices now lets the soft-keyboard Enter key insert a newline instead of triggering an accidental send, while Ophel-driven sends still use the native send button or the safe keyboard fallback. (#646)
  • AI Studio mobile history sync — AI Studio conversation sync now recognizes the mobile Library card layout, so mobile pages no longer report that no sidebar conversations were found when history is available.
  • Conversation sync loading — Conversation sync now uses each adapter's own conversation source to decide when sidebar history has finished loading, waits longer for slow lazy-loaded sidebars, and disables sync-delete when a complete load cannot be confirmed. Doubao and Yuanbao now share the safer base loader. (#639)
v1.0.59

🚀 New Features

  • Outline copy — The Outline toolbar can now copy the currently selected outline depth as Markdown headings by reusing the export pipeline, so virtual-scroll conversations are loaded and restored safely before headings and user queries are copied. (#539)
  • Conversations quick open — Conversation rows can now be opened from the context menu in a new tab, so older sessions can be reopened without replacing the current chat. (#578)

🐛 Bug Fixes

  • ChatGPT native TOC outline — ChatGPT outlines now recover the full user-question list when the native TOC only exposes real prompt text after hover, cache the extracted labels per TOC instance, and avoid userscript crashes from cross-realm pointer events. (#642)
  • ChatGPT tab status — ChatGPT tabs no longer show while idle when a sidebar conversation title contains "Stop" or "停止". The generation detector now only uses visible stop buttons from the composer area. (#630)
  • Gemini tab renaming — Gemini tabs no longer flicker back to the native page title during active replies when automatic tab renaming is enabled.
  • Gemini watermark removal — Replaced the legacy Gemini/Nano Banana remover with the SDK-backed implementation and fixed user-uploaded image handling plus generated-image removal regressions. (#593, #625)
  • Prompt imports — Prompt Library import now accepts prompt backup files exported from the Backup page, not just the raw prompt-list JSON format.
  • Rendered user-query spacing — Rendered Markdown in user questions now ignores native plain-text whitespace classes, preventing large blank gaps between paragraphs and quoted text on DeepSeek, Doubao, Z.ai, ChatGLM, Qwen, and similar sites.
v1.0.58

🐛 Bug Fixes

  • Conversation title isolation — Browser tab renaming now keeps Ophel-managed status/model labels separate from raw conversation titles, preventing exported conversation titles and filenames from inheriting tab status, model names, or repeated -> separators when a page cannot expose its model name.
  • Doubao share-page export and outline — Doubao share links under /thread/ are now recognized as exportable conversations, and share-page message lists can now feed the Outline tab instead of requiring the regular chat-page virtual list.
  • Z.ai share-page outline — Z.ai share pages now reuse the same conversation content container detection as export, so Outline extraction works when the share DOM does not include the regular #chat-container wrapper.
  • ChatGLM code-block export — ChatGLM assistant replies split around code blocks now export the full answer instead of stopping at the first rendered Markdown segment.
  • Localized untitled exports — Untitled export titles now follow the current UI language even when an older fallback title was saved in another language.
  • Qianwen user-query Markdown contrast — Rendered user-query Markdown on Qianwen now uses a dedicated readable bubble style instead of inheriting low-contrast native question-card colors.
  • Qianwen/Qwen Studio Outline duplicates — User questions wrapped by nested site containers now appear once in the Outline while preserving the correct export output.
  • Custom tab-title formats — Missing model names and previously managed tab titles are now resolved from the configured placeholder structure instead of separator-specific cleanup, preventing recursive title growth with arbitrary custom formats.
v1.0.57

🐛 Bug Fixes

  • Claude theme mode sync — Claude theme switching now keeps Claude-specific DOM hints inside the Claude adapter and avoids writing extra page-level light / data-theme / color-scheme markers that could diverge from Claude's native theme state.
  • ChatGPT native TOC bookmark stability — ChatGPT native TOC user-question bookmarks now keep the same identity across virtual-scroll state changes, reducing ghost bookmarks and duplicate matches for the same prompt.
v1.0.56

🚀 New Features

  • AI Studio user attachments in exports — AI Studio Markdown exports now include images and files from user prompts; zip packages preserve downloadable user images under assets/images/, while file-only cards keep their visible filename and token details in Markdown.
  • ChatGLM attachment, image, and thought export — ChatGLM exports now preserve user-uploaded images and files plus AI-generated images in Markdown and zip packages. Share-page exports also recognize ChatGLM's current thinking payloads and format included thoughts as > [Thought] blockquotes when "Include Thoughts in Export" is enabled, while filtering user avatars from exported assets.
  • ChatGPT generated image export — ChatGPT Markdown exports now include generated image-only assistant turns, preserving generated images in both regular Markdown output and zip asset packages.
  • Claude export attachments and thoughts — Claude Markdown exports now preserve images and files from user prompts in both Markdown and zip package modes, and can include expanded Claude thinking blocks when "Include Thoughts in Export" is enabled.
  • DeepSeek user attachments in exports — DeepSeek Markdown exports now include images and files from user prompts, including share pages; zip packages resolve downloadable share attachments into assets/images/ and assets/files/ with stable Markdown references.
  • Doubao image and attachment export — Doubao Markdown exports now include images and files from user prompts plus images from assistant replies. Zip packages preserve downloadable resources under assets/images/ and assets/files/, with generated-image fallback handling for pages that keep only placeholder images in the DOM.
  • Grok image and attachment export — Grok Markdown exports now include generated images from assistant replies plus images and files from user prompts. Zip packages preserve downloadable images under assets/images/ and user files under assets/files/ with stable Markdown references.
  • Gemini Canvas code export — Gemini conversation and share-page exports now open Canvas artifacts, switch to the code tab without relying on localized labels, and include generated Canvas code in Markdown exports.
  • Ima attachment, generated image, and thought export — Ima Markdown exports now include user-uploaded images and files, preserve AI-generated images in regular Markdown and zip asset packages, and include visible thinking content when "Include Thoughts in Export" is enabled. Empty attachment containers are ignored so plain user prompts no longer export a phantom attachment item.
  • Kimi share conversation export — Kimi share pages are now supported in conversation export, outline, and scroll navigation. Exports preserve user-uploaded images in Markdown and zip asset packages, include visible file attachment labels, and keep user prompts aligned with the correct assistant replies.
  • Qianwen attachment and generated image export — Qianwen Markdown exports now recognize the current share-page question and answer DOM, include user-uploaded images and file cards, and preserve AI-generated images in both regular Markdown and zip asset packages, avoiding empty-message exports on updated pages.
  • Qwen Studio attachment, generated image, and thought export — Qwen Studio Markdown exports now include user-uploaded images and full file-card names, preserve AI-generated images in regular Markdown and zip asset packages, and can export expanded thinking details from regular and share-page conversations when "Include Thoughts in Export" is enabled.
  • Yuanbao attachment, generated image, and thought export — Yuanbao Markdown exports now include images and files from user prompts, preserve AI-generated images in regular Markdown and zip asset packages, and include visible thinking content when "Include Thoughts in Export" is enabled.
  • Z.ai attachment and thought export — Z.ai conversation and share-page exports now preserve user-uploaded images and files in Markdown and zip packages, deduplicate signed CDN links from API and DOM sources, and include reasoning blocks when "Include Thoughts in Export" is enabled.

✨ Improvements

  • Export progress overlay — Long conversation exports now show a full-page progress overlay with the current export stage, blocking accidental clicks, scrolling, and typing while Ophel loads history, extracts content, packages assets, saves files, and restores the page.
v1.0.55

🚀 New Features

  • ChatGPT Deep Research export — ChatGPT Markdown zip exports now preserve uploaded images and linked files from user prompts, and include Deep Research reports as a title and link in Markdown. The extension build also allows oaiusercontent.com assets so shared-page images can be packaged. (#579)
  • Claude document artifacts and outline — Claude Markdown document artifacts can now be exported as linked files in Markdown zip packages under assets/documents/, and the Outline tab shows a separate Document source when Claude's right-side document panel is open. (#588)
  • Claude user attachments in exports — Claude Markdown zip exports now preserve uploaded images and linked files from user prompts, packaging them under assets/images/ and assets/files/ with stable Markdown references. (#588)
  • Gemini Deep Research document outline — The Outline tab now shows a "Chat / Document" source switch when a Gemini Deep Research report is open, letting you browse and jump through the right-side report outline separately from the left-side conversation outline. (#585)
  • Gemini Deep Research report panel Markdown shortcuts — Added Copy Markdown and Download Markdown buttons to the Gemini Deep Research right-side report panel toolbar, exporting only the current report without changing regular conversation exports. (#579)
  • Markdown export packages — Markdown exports can now be delivered as a zip package when a site adapter provides assets, including a manifest and stable relative paths for referenced files. Generated Markdown documents are packaged under assets/documents/, images under assets/images/, and user-uploaded attachments under assets/files/, with uploaded documents resolved the same way as regular Gemini conversations. (#580)
  • Gemini Deep Research export — Gemini Deep Research exports now cover owned app conversations, conversation share pages, and generated report share pages; closed report panels are opened during export and restored afterward, with uploaded file labels included in exported user prompts. (#573)

🐛 Bug Fixes

  • Theme sync regression — Turning off Sync Native Page Colors no longer prevents supported host pages from following Ophel's light/dark theme toggle. The setting now only controls native color override CSS, while Doubao and Ima remain panel-only because their adapters declare host theme sync unsupported.
  • Claude export order and outline cleanup — Claude assistant exports now keep text and artifact links in their original reply order, and page/sidebar headings such as "Recents" are no longer pulled into the conversation outline. (#588)
  • Inline bookmark visibility — Page inline bookmark icons now fully respect the hidden setting and no longer depend on the Outline tab's "show user questions" filter, fixing stale or missing stars on virtual-scroll sites such as ChatGPT, DeepSeek, AI Studio, and Doubao. (#570)
v1.0.54

🚀 New Features

  • Prompt queue and library integration — Prompt Library actions can now add prompts to the queue, and the queue batch dialog can add prompts directly from the library. (#547, @mrpops2ko)

✨ Improvements

  • Direct row drag sorting — Prompt items and conversation folders can now be reordered by long-press dragging the row itself, matching the existing conversation-item interaction without requiring a dedicated drag handle.
  • Clearer outline tab icon — Updated the Outline tab and tab-order settings icon to better communicate the outline hierarchy while keeping the previous document-style icon for empty states.
  • Prompt floating controls — Softened the selected-prompt bar styling and aligned it with the prompt queue above the input box.

🐛 Bug Fixes

  • Doubao and Ima panel theme switching — Ophel's panel theme now switches independently on sites that do not support native page theme changes, fixing Doubao getting stuck in dark mode and keeping rendered user-query code blocks readable.
  • ChatGPT clean mode sponsored cards — Clean Mode now hides ChatGPT sponsored recommendation cards, including the new ad blocks with "Ad options" menus.
  • Doubao outline extraction — Doubao outlines now recognize the newer md-box-root answer DOM, restoring headings for conversations that previously showed an empty outline. (#565)
  • Conversation folder selector icon spacing — Tightened the sync-folder selector padding and gave folder emoji icons a stable centered box so they no longer look clipped in the Conversations toolbar.
  • Attachment-only submit shortcut — Pressing Enter or Ctrl+Enter can now send messages that contain only images or attachments. (#555)
  • Temporary panel preview interactions — Dialogs, menus, dropdowns, and Prompt tab popups opened from the temporary Quick Buttons panel preview now keep the preview available while you interact with them, then close the preview automatically once the interaction ends.
  • DeepSeek outline navigation — Outline jumps to user questions in long DeepSeek conversations now use DeepSeek's native timeline when the message is outside the mounted DOM, avoid stale jump results during rapid clicks, and keep only the current outline item highlighted without showing bookmark-missing notices for normal outline jumps.
v1.0.53

🚀 New Features

  • Formula copy format setting — Double-click formula copy can now output either LaTeX source or MathML source. LaTeX delimiter wrapping remains available for LaTeX mode, while MathML mode copies the serialized source when the site exposes one.

🐛 Bug Fixes

  • Claude adapter — Adapted to Claude's recent page redesign: outline no longer picks up screen-reader-only headings, share links with new URL format are now recognized, theme switching works again, model locking and click simulation are compatible with the new UI components.
  • Doubao virtual scroll navigation — Adapted Doubao to its new virtual-list chat DOM so outline jumps, return anchors, and top/bottom navigation now use the real v_list_scroller container. The outline also keeps an in-memory cache of headings and user prompts that have entered the viewport, preventing previously seen outline items from disappearing when Doubao unloads them from the DOM.
  • Kimi conversation navigation — Fixed the Conversations tab failing to switch Kimi chats when clicking history items from Kimi's sidebar. Kimi chat links are now matched by parsed conversation ID instead of a broad selector, with an SPA route fallback when the native link is not mounted.
  • Ima user prompt extraction — Restored user-question detection for Ima's updated chat DOM, so prompts inside the new userBubbleWrap / chatMainBubble structure are included in outline, export, usage stats, and user-query Markdown rendering again.
  • Formula copy site compatibility — Added Qwen Studio support for its non-standard formula DOM where LaTeX source is embedded as direct text inside . Kimi and Yuanbao now explicitly show an unsupported-site message instead of attempting unreliable extraction from visual-only KaTeX HTML.
  • Gemini Canvas freeze with table Markdown copy — Table copy buttons are no longer injected into Gemini Canvas editor tables, preventing ProseMirror DOM update loops that could freeze or crash the page when a Canvas document contains tables. (#535)
v1.0.52

🚀 New Features

  • Hover Ophel logo to temporarily preview the panel — When the panel is collapsed into the Quick Buttons logo, hovering the logo now opens a temporary panel preview anchored beside the Quick Buttons group. The preview does not persist the panel's expanded state, and clicking the logo still performs the regular panel toggle. (#524)
  • Title format token chips — The title format input in Settings now renders {status}, {title}, and {model} placeholders as styled blue chips, making the format template easier to read and edit at a glance.
  • Tab status indicator: "hide checkmark when read" — A new option keeps the ✅ completion icon visible only until you view the tab, then hides it automatically. (#520)

🐛 Bug Fixes

  • Reading history restore scope — Reading history now saves and resumes positions only on owned conversation pages. Shared pages, new-chat pages, and other site routes no longer trigger auto-resume; page eligibility now lives in each site adapter for clearer maintenance.
  • Conversation sync cleanup — Manual sync now removes conversations that were deleted on the same site/account and opens Gemini's recent chats section when needed before syncing.
  • Gemini Library page: fix "Open in New Tab" — Adapted to the new /library path (renamed from /mystuff) and adjusted button position to avoid overlap with Gemini's native delete button.
  • Zen mode exit button text unreadable due to transparency: Replaced the button background from translucent glass-morphism variables with the theme's primary background color, preventing underlying page text from bleeding through and making both layers unreadable. (#431)
  • Tab title: prevent -> duplication — Fixed a race condition where the auto-rename title format could repeatedly append -> to the tab title when the model name was temporarily unavailable, resulting in chains like 标题->->->->.
  • Gemini adapter: adapt to new sidebar structure — Updated selectors and navigation logic to support the new gem-nav-list-item[data-test-id="conversation"] sidebar items; added a scroll-to-load helper and fixed conversation ID/title extraction and navigation to restore compatibility with the Gemini sidebar redesign.
v1.0.51

🚀 New Features

  • Quick Buttons proximity wake radius (Settings → Quick Buttons): A new slider controls how close the cursor must be before the floating widget auto-expands (default 150 px, matching previous behavior). Set it to 0 for a true dwell-hover mode — the widget only expands after the cursor rests on the water-drop for 300 ms, preventing accidental expansion from the cursor passing through. (#492)
  • Drag conversations into folders: In the Conversations tab, you can now drag a chat onto any folder to move it there. Thanks @t0ny-peng (#512)

🐛 Bug Fixes

  • Floating panel settings UX and positioning preview: Moved the default edge distance margin setting to only display under Floating panel mode, and updated the description across all 10 locales. Also fixed an issue where adjusting default margin/position settings failed to update the panel position in real-time. (#519)
  • Fixed ChatGPT outline display and navigation issues: Resolved cases where the outline was incomplete or clicks failed to navigate to the message in long chats, and fixed routing issues where switching conversations caused the outline to lag, display incorrect entries, or show empty headings. (#402)
  • Resolved ChatGPT export duplication, scrambling, and truncation issues in long conversations: Re-engineered the export process to handle virtualization, ensuring all turns are fully loaded, ordered correctly, and deduplicated without missing segments or repeating messages.
  • AI Studio export missed turns and could loop in long conversations: Rewrote the export collector to iterate the DOM-resident ms-chat-turn list directly so every user prompt and assistant reply (including attachments and the separate "thoughts" turn) is captured in a single pass.
  • Fixed conversation title missing or wrong on shared pages across 12 sites: Added isSharePage() detection and page-heading fallbacks so the browser tab title and export Markdown heading work correctly on shared (non-owned) conversation pages.
v1.0.50

🐛 Bug Fixes

  • Fixed page-width and user-question-width adjustments not working or misaligned on DeepSeek, Kimi, and Qianwen
  • Fixed code and math in Qianwen user messages not rendering correctly
  • Fixed clean mode not hiding new promotional banners on ChatGLM, Ima, and Kimi
  • Fixed code blocks displaying with inconsistent widths when page-width adjustment is enabled on ChatGLM
  • Fixed the Alt+/ shortcut reporting "model selector not found" on AI Studio
  • Fixed the outline only showing nearby messages in long conversations on AI Studio and ChatGPT
  • Fixed the copy button disappearing when scrolling inside a code block in user messages
  • Fixed code blocks being hard to distinguish from the message bubble background on some sites (Kimi, DeepSeek, etc.)
  • Fixed the circular theme-switch animation not appearing on ChatGPT
v1.0.49

🐛 Bug Fixes

  • Windows UI font regression after the macOS CJK fallback fix: Restored system-ui priority on Windows and other non-macOS platforms while keeping CJK fonts before system-ui on macOS. Also removed Arial/Roboto local aliases from the Inter fallback so environments without bundled Inter fall back to the native system UI font instead of mixing unrelated fonts. (#489 regression, #491)
  • macOS CJK font appears too thin (PingFang SC): Changed the macOS CJK font preference from PingFang SC to Hiragino Sans SC (with PingFang SC as fallback). Hiragino Sans SC has heavier strokes that render more legibly at normal weight on macOS.
v1.0.48

🐛 Bug Fixes

  • Settings About page store icons shrink when platform name wraps: Added flex-shrink: 0 to store icon SVGs so they maintain consistent size regardless of the platform name's length in the "Love Ophel?" rating section. Also shortened the German edgeAddons label from "Microsoft Edge Add-on" to "Edge Add-on" to match other locales and prevent unnecessary wrapping.
  • Gemini strips code indentation in user query Markdown: Fixed extractUserQueryMarkdown trimming all leading whitespace from each query-text-line, which removed meaningful code indentation. Now uses dedent logic to strip only the wrapper spaces Gemini adds, preserving relative indentation inside code blocks.
  • ChatGPT model lock fails to detect model in non-English locales: Fixed an infinite switch loop where the keyword (e.g. think) matched the English menu item slug (gpt-5-5-thinking) but not the localized pill label (思考). The adapter now retains the last known model slug after the menu closes, so the lock check passes regardless of display language.
  • ChatGPT model lock broken after site redesign: The 2025 ChatGPT redesign removed the header model-switcher button. Updated the adapter to target the new Composer area Pill button (__composer-pill), fix menu item detection (menuitemradio role + data-testid^=model-switcher-), and extract model name from the pill's span.truncate text node. Removed ~90 lines of now-obsolete state-caching code specific to the old two-step header interaction.
  • User query code blocks wrap too early near the copy button: Fixed the user query Markdown code copy button participating in code text layout and reducing the first line's available width. The button now overlays the code block without forcing premature line wraps.
  • Gemini font reverts to Times New Roman when using code blocks: Fixed font regression on Gemini when user messages contain backticks or code blocks. The injected markdown container now explicitly applies font-family and forced inline background/color styles to override Angular's component-scoped CSS rules, preserving Google Sans/Roboto font. Primarily affects Firefox/Zen Browser users. (#474)
  • User query bubble background overridden by site theme: Fixed native theme sync on ChatGPT, Kimi, and Gemini incorrectly applying theme colors to the user message bubble background. User bubbles now retain their original platform colors when theme sync is enabled.
  • Syntax highlighting broken in user query code blocks: Fixed hljs token colors (keywords, strings, comments, etc.) being overridden by site CSS on some platforms.
  • CJK font falls back to Hiragino (Japanese glyphs) on macOS in English locale: Fixed the font-family stack across all UI surfaces placing system-ui/BlinkMacSystemFont before explicit CJK fonts. Blink's CJK fallback logic would select Hiragino instead of PingFang SC on English-locale macOS, causing mixed glyph shapes and inconsistent character metrics within the same text. CJK fonts (PingFang SC, Hiragino Sans SC, etc.) are now declared before system-ui to ensure correct Simplified Chinese rendering. (#486)
v1.0.47

✨ Improvements

  • Gemini Markdown Bold Fix now defaults to off: The "Markdown Bold Fix" toggle for Gemini is now disabled by default. It can still be enabled in Settings → Site Settings → Gemini.
  • Panel state remembered in auto-snap mode: Both floating and auto-snap modes now remember whether the panel was open or closed across page refreshes.

🐛 Bug Fixes

  • Claude reply notifications repeating endlessly: Fixed notifications firing repeatedly after a reply was completed on Claude.ai. (#470)
  • Yuanbao theme sync broken: Fixed theme detection failing on Yuanbao after they changed their dark mode implementation.
  • Drag-to-sort broken on Yuanbao: Fixed tab order, quick button, and prompt drag sorting failing on Yuanbao.
v1.0.46

🐛 Bug Fixes

  • Gemini source tooltips broken after Markdown fix: Fixed source/citation tooltip chips disappearing in Gemini when the Markdown bold fix was enabled. The fixer was rewriting paragraph innerHTML, destroying Gemini's native event handlers for source tooltips. Affected paragraphs that contained citation chips are now skipped. (#468)
v1.0.45

✨ Improvements

  • Max page width raised to 99%: The maximum percentage for page width and user query width is raised from 94% to 99%. (#447)
  • Narrow screen auto-adaptation: On narrow screens like mobile, percentage-width mode automatically expands to 95% to prevent content from being too narrow. (#447)
  • Auto-hide quick buttons when panel opens: When the toggle is on, the quick button group auto-collapses when the panel opens and restores when it closes, keeping the interface cleaner.
  • Quick button settings layout improvement: The "Hide" toggle and "Opacity" control are grouped separately above the button ordering list, making them easier to find.

🐛 Bug Fixes

  • Panel position drift on zoom: Fixed the quick button group and main panel gradually drifting to the center of the screen after using trackpad or browser zoom shortcuts. (#458)
  • Quick button settings lost on refresh: Fixed some settings being reset after saving and refreshing the page.
  • Untranslated UI strings: Fixed some dialogs and tooltips showing Chinese text in Russian, English, German, and 10 other languages.
  • Korean/CJK text rendering broken: Fixed Korean and other CJK characters appearing as boxes or garbled text in the panel for Windows users. (Thanks @Apious #432)
  • DeepSeek page width: Aligned AI reply width with the input box width.
v1.0.44

✨ Improvements

  • WebDAV provider quick presets: Added server address presets for popular services including Jianguoyun (NutStore), InfiniCloud, Nextcloud, Synology, and Seafile — click to fill in, no manual lookup needed.
  • Backup action area redesign: Regrouped buttons for Test Connection, Save Config, Backup Now, and Restore Backup with clearer visual hierarchy.
  • Backup file list style improvement: File names now use a scrollable horizontal layout to avoid truncation; Restore and Delete buttons are in separate columns for clearer targeting.
  • Settings page description improvements: Rewrote descriptions for word count, Firefox shortcut notes, and AI Studio model sync for greater accuracy.
  • Reading history default retention reduced to 3 days: Reduced from 7 days to 3 days to save local storage; existing data is not affected.
  • Send shortcut setting moved to Prompts panel: The "Send Shortcut" option moved from general settings to the Prompts tab, grouping it with prompt-related features.
  • Global shortcut default changed to Alt+O: Avoids conflict with Chrome's built-in "Open Gemini" shortcut; displayed as ⌥O on Mac.
  • ChatGPT bold fix disabled by default: Reduces interference with ChatGPT's native page styles; can be enabled manually when needed.

🐛 Bug Fixes

  • WebDAV backup list parsing compatibility: Fixed inability to read cloud backup file lists when some WebDAV providers (e.g. pCloud) return XML with namespace prefixes.
  • WebDAV operation interrupted after first authorization: Fixed the original operation (backup, restore, or test connection) not resuming after confirming the authorization dialog on first WebDAV use.
  • Doubao conversation delete confirmation broken: Adapted to Doubao's new page structure; fixed the delete confirmation dialog not triggering correctly (also fixed for Traditional Chinese UI).
  • Quick button initialization position jump: Fixed the visual jump of quick buttons sliding down from the top to their target position on page refresh.

ℹ️ Notes

  • Existing users' global shortcuts will not change automatically. To use Alt+O, please update it manually in your browser's shortcut settings.
v1.0.43

🚀 New Features

  • Panel mode toggle shortcut: Added Alt+M (Mac: ⌥M) shortcut to switch between Auto-Snap and Floating modes with one key.

✨ Improvements

  • More visible toast messages: Toast notifications are now clearer across all themes (including dark mode), long text is auto-truncated, and the system "Reduce Motion" setting is respected.
  • Anchor button click animation: Added a light spring animation when clicking anchor buttons in the main panel footer and floating quick buttons for more responsive feedback.

🐛 Bug Fixes

  • Tooltip lingering after tab switch: Fixed tooltips appearing unexpectedly when switching away and back to the browser tab during a hover-triggered countdown.
  • Horizontal image carousel blocked: Fixed horizontal image carousels on ChatGPT and similar pages being unable to swipe left/right when "Prevent Auto-Scroll" was enabled.
v1.0.42

⚠️ Breaking Changes

  • Double-click title bar behavior changed: The double-click action on the panel title bar changed from "Toggle Privacy Mode" to "Quick switch panel display mode (Floating ↔ Auto-Snap)".

✨ Improvements

  • Double-click title bar to switch panel mode: Double-click the panel's top title bar (Logo or brand name area) to quickly switch between Floating and Auto-Snap modes without entering settings.
  • Hover on Logo/brand name to show advanced guide: Moving the mouse over the panel's Logo or Ophel brand name automatically shows the advanced shortcut guide (MagicCodex), which closes when the mouse leaves.
  • Overall UI refinement: Numerous UI detail improvements.
  • Community links in settings page: Added store rating, GitHub, Ko-fi, and Discord quick links in the bottom-left corner, with theme and language switching integrated.
  • About page visual polish: Comprehensive refinement of buttons, headings, navigation, and theme cards.
  • Feature tip tour: Added feature hint bubbles to the panel and outline tabs to help discover hidden functionality.
  • Panel tab icons slightly enlarged: Outline, conversation, and prompt icons enlarged from 14px to 16px for better clarity.

🐛 Bug Fixes

  • Update notification showing repeatedly: Fixed the "plugin updated" dialog reappearing shortly after being closed.
  • Settings slider reset not persisting: Fixed "Restore Default" taking effect immediately but reverting to old values after page refresh.
  • Panel briefly flashing default light theme on refresh: Fixed panels briefly flashing to the default appearance before switching back to the user's theme on fast-loading sites like Gemini.