SocialStalker

Releases & Updates

What's new in SocialStalker

A descriptive, transparent record of every feature added, bug resolved, and endpoint adapted across Instagram, Facebook, Twitter / X, and the core browser extension.

Twitter / X Platform Support: Profile Media Archive & Video Downloader

Expands SocialStalker to Twitter / X (x.com and twitter.com) with original-only profile media ZIP archiving, single-tweet highest-bitrate MP4/GIF/photo downloads, dynamic GraphQL query harvesting, and end-to-end telemetry.

Feat

New Capabilities & Enhancements

(3)
twitter

Twitter / X Profile Media ZIP Downloader (Own Tweets Only)

Injects an Archive Media button into Twitter / X profile headers to bulk-download original photos, highest-bitrate MP4 videos, and animated GIFs into a structured ZIP archive while strictly filtering out retweets and liked posts.

Commit:c79c51c
twitter

Single-Tweet Video, GIF & Multi-Photo Downloader

Adds an inline Download button to tweet action bars across feeds, profiles, and status permalinks to save highest-bitrate MP4 videos, animated GIFs, or multi-image posts directly.

Commit:c79c51c
twitter

Dynamic GraphQL Query ID Harvesting & CSRF Session Client

Passively harvests rotating UserByScreenName, UserMedia, UserTweets, and TweetResultByRestId GraphQL query IDs and bearer tokens from live network traffic and client bundles with automatic UserTweets fallback.

Commit:c79c51c
Perf

Adaptations & Improvements

(1)
core

Popup Controls & End-to-End Telemetry Correlation

Added dedicated Twitter / X capability toggles in the extension popup and wired distributed OTLP trace spans and logfmt telemetry for all Twitter operations.

Commit:c79c51c

Distributed Trace & Log Correlation

Correlates content-script logs, error captures, and performance traces with Tempo distributed traces and Loki logfmt streams.

Feat

New Capabilities & Enhancements

(1)
core

Trace Correlation Across Content Scripts

Bridges traceId and spanId from active distributed operations into content-script logfmt logs and caught exceptions, enabling seamless correlation in Tempo and Loki.

Commit:2b613fe
Perf

Adaptations & Improvements

(1)
core

Trace Bridge Reliability & Isolation

Hardened cross-realm trace context propagation between content scripts and background service worker with dedicated test coverage.

Commit:2b613fe

Self-Hosted Observability with Grafana Alloy, Loki & Tempo

Replaces proprietary third-party monitoring with a privacy-first self-hosted Grafana OTLP/HTTP telemetry stack.

Feat

New Capabilities & Enhancements

(2)
core

Lightweight Hand-Written OTLP Exporter

Introduced an in-house OTLP exporter posting directly to Grafana Alloy, streaming structured logfmt logs to Loki and traces to Tempo without heavy SDK bundle overhead.

Commit:ca7d36c
core

Grafana Dashboards & Alert Rules as Code

Added 4 production Grafana dashboards (ss-overview, ss-errors, ss-traces, ss-operations) and 5 alert rules under ops/grafana synchronized with gitnasr.com monitoring.

Commit:ca7d36c

Instagram User Feed GraphQL Migration & Offline Changelog

Migrates user feed fetching to GraphQL connection and bundles offline changelog data.

Perf

Adaptations & Improvements

(1)
core

Offline Changelog Data Bundling

Bundled offline changelog data directly into the extension bundle for instant offline viewing upon auto-update.

Commit:d8e6592
Fix

Resolved Issues & Bug Fixes

(1)
instagram

User Feed GraphQL Migration

Migrated user feed fetching to GraphQL connection to prevent empty feed redirects from Instagram web REST endpoints.

Commit:d8e6592

Instagram Timeline GraphQL Migration & Profile Archive Fix

Migrates profile posts and archive downloads to Instagram's FB-Relay GraphQL connection with dynamic doc_id discovery, rotating query parameters, and robust user ID resolution.

Feat

New Capabilities & Enhancements

(1)
instagram

Dynamic Relay doc_id Discovery & Interceptor Hints

Added automated extraction of rotating Instagram Relay operation doc_ids directly from loaded client bundles and intercepted live GraphQL requests, preventing broken endpoints when Instagram deploys new web bundles.

Commit:1139cd6
Perf

Adaptations & Improvements

(2)
instagram

Relay Provider Flags & Fallback Token Compatibility

Updated query variables to include all October 2026 Relay provider variables (including PolarisSEOIsCrawler and PolarisProfileInformTreatmentBanner), expanded token extraction patterns, and improved author resolution on collab posts.

Commit:1139cd6
core

Offline Changelog Bundling for v2.2.1

Bundled the complete GraphQL migration changelog directly into the extension for instant offline display upon auto-update.

Commit:65c300a
Fix

Resolved Issues & Bug Fixes

(1)
instagram

Profile Timeline & Archive GraphQL Migration

Migrated profile post fetching from the retired v1 REST user feed endpoint to PolarisProfilePostsTabContentQuery_connection (xdt_api__v1__feed__user_timeline_graphql_connection). Fixes the 'Could not build the archive / Instagram returned an empty feed response' error caused by Instagram redirecting web REST feeds to the HTML homepage.

Commit:1139cd6

Changelog Rollup Compilation & CI Workflow Stability

Ensures reliable in-extension changelog bundling in Vite production builds and stabilizes multi-repo release workflow automation.

Fix

Resolved Issues & Bug Fixes

(2)
core

Vite Rollup Changelog Entrypoint Registration

Registered the changelog HTML entrypoint directly in Vite Rollup inputs instead of copying raw .tsx source files as web_accessible_resources, fixing the blank screen when the changelog tab opened.

Commit:68e9ff1
core

Release Workflow YAML Indentation Fix

Fixed indentation in the release.yml workflow to ensure uninterrupted multi-repo package deployment.

Commit:8d69c9b

Offline Changelog Bundling & Multi-Repo Release Pipeline

Overhauls the in-extension changelog into an offline-bundled High-Contrast Brutalist interface with scope filtering, search, and multi-version history.

Feat

New Capabilities & Enhancements

(1)
core

Offline-Bundled Brutalist Changelog Interface

Redesigned the changelog experience with SocialStalker High-Contrast Brutalism, featuring version navigation, search, and platform scope filters (Instagram, Facebook, Stories, Core) that load instantly offline with zero API rate limits.

Commit:99c67f8
Perf

Adaptations & Improvements

(1)
core

Dedicated Public Releases Distribution

Decoupled private extension source code from public distributions. All releases, signed CRX packages, and verified unpacked ZIP archives are now published directly to the public socialstalker/releases repository.

Commit:99c67f8
Fix

Resolved Issues & Bug Fixes

(1)
core

Changelog Entry Compilation Fix

Registered the changelog HTML entrypoint directly in Vite Rollup inputs instead of copying raw .tsx source files as web_accessible_resources, fixing the blank screen when the changelog tab opened.

Commit:68e9ff1

Instagram Stories GraphQL Migration & Automated Update Tab

Migrates Instagram story and highlight reel fetching to resilient GraphQL and POST endpoints, and introduces an automated in-extension 'What's New' tab on updates.

Feat

New Capabilities & Enhancements

(1)
core

Automated 'What's New' Update Tab

The extension now automatically surfaces release notes upon auto-update via chrome.runtime.onInstalled, keeping users informed of changes without hunting for changelogs.

Commit:52e9830
Fix

Resolved Issues & Bug Fixes

(1)
stories

Instagram Stories & Highlights GraphQL and POST Fallback

Migrated reel and story fetching from fragile REST endpoints to authenticated GraphQL document queries and POST fallbacks. Prevents media resolution failures when Instagram returns 400 Bad Request on legacy query params.

Commit:6fea859

Instagram User ID & Endpoint Enhancements

Upgrades Instagram account resolution to preserve downloads across recent web DOM changes, updates rotating GraphQL queries, and adds metadata fallback for stories.

Feat

New Capabilities & Enhancements

(1)
instagram

Multi-Strategy Instagram User ID Resolver

Added profile HTML scraping and GraphQL post strategies to resolve numerical Instagram user IDs. Guarantees story and profile picture downloads succeed even on private or restricted accounts.

Commit:40b38d9
Perf

Adaptations & Improvements

(1)
instagram

Dynamic GraphQL Endpoint Adaptation

Updated rotating GraphQL document IDs and query variables following Instagram's web release, while preserving legacy endpoints as automatic fallbacks to prevent network 404s.

Commit:40b38d9
Fix

Resolved Issues & Bug Fixes

(1)
stories

Story Download Metadata Recovery

Added a fallback to extract story identifiers directly from intercepted network payloads when username resolution is delayed, ensuring the download button triggers immediately.

Commit:40b38d9

Platform Rebuild & Seen-State Blocker

Major rewrite decoupling core browser architecture from platform DOM adapters, adding live seen-state blocking, full-size profile unlocking, and brutalist in-page toast feedback.

Feat

New Capabilities & Enhancements

(6)
core

Platform-Agnostic Core Architecture

Rebuilt the extension around a clean core abstraction layer. Separated DOM observer lifecycles, route classification, zip archiving, and typed background messaging from platform scrapers.

Commit:e1b9f85
seen-blocker

MAIN-World Seen-State Blocker

Implemented a client-side network interceptor running directly in the MAIN page world. Blocks outgoing seen receipts and story view telemetry on Instagram and Facebook before they leave the browser.

Commit:5a32245
facebook

Facebook Avatar Context Menu & Stories Bucket Engine

Right-click any profile avatar or timeline thumbnail to immediately open the raw uncompressed asset. Story handling now queries buckets with dynamic session token management.

Commit:c414448
instagram

Action Row Download Controls

Injected download controls natively into action rows on feed posts, reels, and stories, replacing floating overlay buttons with integrated buttons matching platform UI.

Commit:4380a93
instagram

Tiered Resolution Profile Picture Unlocker

Multi-stage fallback strategy for full-size profile pictures. If Instagram restricts the highest-resolution GraphQL asset, the downloader cascades to the next best CDN cache.

Commit:bf373e3
core

In-Page Brutalist Toast System

Replaced system OS notifications with custom in-page feedback toasts styled after SocialStalker's High-Contrast Brutalism design system.

Commit:fbc6193
Fix

Resolved Issues & Bug Fixes

(4)
stories

Active Frame Tracking on Video Stories

Fixed a bug where paused video stories were saved as corrupt 0-byte images. The downloader now detects active frame buffers and downloads streaming MP4 media.

Commit:a4a9b85
stories

Feed Tray Story Viewer Injection

Fixed an issue where opening stories directly from the home feed tray failed to mount download controls.

Commit:efa1de9
instagram

URL Tracking Token Stripping

Fixed 404 lookup errors caused by Instagram appending tracking query hashes to post shortcodes by isolating pure slug identifiers.

Commit:be557e4
instagram

Dynamic GraphQL Document Harvesting

Replaced pinned GraphQL query hashes with dynamic runtime harvesting directly from active web bundles to prevent query expiration.

Commit:f1788ff