This app runs inside the BotSurf browser. Don't have it yet? Get the app or extension now!

Discourse Topic Read-Position Marker

Utilities · All
0 installs · Verified BotGentz app
Launch App
Opens in BotSurf — try it free, no account needed.
CategoryUtilities
PlatformAll
Pricing Free
Installs0
Download BotSurf to use — free
No account needed for free apps. Once BotSurf is open, find this app in Apps from the + menu.

About this app

WHAT IT DOES

Discourse Topic Read-Position Marker scans the current page for Discourse topic posts, extracting post content, post numbers, authors, and timestamps from Discourse topic views. The floating panel displays a read-position marker showing the last read post, progress through the topic, and quick jump controls. A summary shows topic length, unread posts count, and reading progress percentage. Mark the current position, jump to next unread, and save read position per topic. New posts since last visit are highlighted, and reading progress is tracked across sessions.

WHERE IT RUNS

Works on Discourse topic pages, including forum threads, discussion topics, and post streams. The script detects posts using Discourse-specific selectors and extracts post metadata. It works best on Discourse forum topic pages.

HOW TO USE

The panel displays reading progress with a progress bar, post statistics (total posts, read position, unread count), and the next unread post information. Click "Mark Here" to save your current scroll position as the read position. Use "Jump to Unread" to scroll to the next post you haven't read. The panel automatically saves your position per topic. Keyboard shortcuts M (mark position) and J (jump to unread) provide quick controls. Export your saved positions for backup or reference. The progress bar updates in real-time as you scroll.

MECHANISM — POST DETECTION WITH POSITION TRACKING

The script detects Discourse posts by finding post containers using selectors (.post, .topic-post). From each container, it extracts the post number, author, and timestamp using targeted sub-selectors. The read position is stored locally with the topic ID as the key, allowing position persistence across sessions. The progress calculation compares the current read position to the total number of posts in the topic. Unread posts are identified by comparing each post's number to the saved read position. The "Mark Here" function finds the last visible post in the viewport and saves its number as the new read position. All extraction and position tracking runs client-side with no network calls.

THE PANEL

The floating panel is fully draggable and remembers its position per domain. Click the minimize button to collapse it to a small bubble, or press Escape to hide it. The panel automatically adjusts to different screen sizes and can be resized to show more content. All settings, including progress display preferences and keyboard shortcuts, are saved per domain. The panel integrates smoothly with any page layout using the BGPanel framework, maintaining clean separation from page content.

PLEASE NOTE

This script requires the free BotGentz extension to run. It does not send any data to external servers; all extracted post data and read positions remain entirely local to your browser using GM_setValue. The script never reads password fields, hidden inputs, or file inputs. It stores only post numbers, topic IDs, and read positions from publicly visible Discourse page content. Post detection depends on the page structure; if posts are not detected, use the "Scan Topic" button to refresh extraction. The script works on Discourse pages and detects pages by hostname. Read positions are saved per topic and persist across browser sessions. Data persists across browser sessions and is isolated per browser profile.

Similar Apps

Log in to BotGentz

Suggest an App

Tell us what you'd find useful — if we build it, we'll email you the moment it's ready.