Release Notes - Social Archiver
Chrome Extension updates
Browser extension changes
- A roll-up of updates from 1.8.1 through 1.8.3. Saving a store page now produces a product card with price, rating, store, and real product photos, and you can save it in one click from the toolbar without opening the preview panel. - Product pages from Amazon, Coupang, Ohouse, Uniqlo, 29cm, Musinsa, SSG, Gmarket, and more are saved as product cards with price, rating, store, and product photos. - Save a product in one click from the toolbar, with progress shown while it saves. - Pages that do not properly declare product information are still recognized by reading the page itself. - Product galleries now skip banners, icons, and small thumbnails, keeping full-size product photos. - Sites that block server access are routed to clipping instead, with an explanation of why. - Naver reader keeps its paragraph breaks, failed archive alerts can open the original page, and the Threads translate button no longer ends up in archives.
- Chrome extension 1.7.6 opens posts straight into Reader Mode on the platforms you choose, and adds X, Threads, Substack, and Bluesky to Reader. Tap hashtags and links in the body and comments, zoom and swipe through images, and drive Reader faster with a keyboard shortcut and Cmd/Ctrl +/-. - Posts on the platforms you enable (YouTube, Facebook, Instagram, X, Threads, Substack, Bluesky, LinkedIn) open straight into Reader Mode, with a one-time prompt the first time you open Reader. - X, Threads, Substack, and Bluesky are now supported in Reader Mode. - Hashtags and links in the post body and comments render as tappable links. - Click an image to view it enlarged; step through multiple images with arrows or a swipe. - Toggle Reader with a keyboard shortcut (set your own) and resize the text with Cmd/Ctrl +/-. - LinkedIn posts open in Reader straight from “Copy link to post,” comments now thread as replies, and hashtags render cleanly.
- Chrome extension 1.7.5 lets you pick which language to read for bilingual YouTube videos in Reader, so the two languages no longer overlap. - For YouTube videos with bilingual captions (e.g. English + Korean), a language selector at the top of the reader lets you show one language or both. - Fixes the two languages overlapping on one line — each language now renders on its own line for easier reading. - Polished the reader typography controls (font size, line height, width).
- Chrome extension 1.7.4 keeps AI chats archived from Reader more reliably across clients and makes long conversation transcripts easier to read. - AI chat archives saved from Reader open more consistently across desktop, mobile, and web. - Conversation transcripts now render in easier-to-scan sections that follow the message flow. - YouTube Reader capture and AI chat saves preserve related metadata more reliably. - AI drawer and Reader overlay layout polish improves the experience when reading long conversations alongside the source text.
- Chrome extension 1.7.3 turns YouTube pages into a reader with the video pinned above a grouped transcript, table of contents, active-section highlighting, and follow-along autoscroll. - The YouTube reader keeps the video pinned at the top and groups transcript lines into readable sections so long videos scan more like articles. - The left table of contents doubles as a position indicator, keeping the current section visible while you scroll through the transcript. - Space, left/right arrows, and Shift/Cmd arrows control playback plus segment and chapter jumps, while autoscroll follows the active playback range reliably. - Entering Reader Mode now prevents the original YouTube player from continuing behind the reader or being toggled together with the reader player by Space. - Long-video HH:MM:SS timecodes keep their own space in both transcript rows and the TOC instead of crowding into the body text.
- Chrome extension 1.7.2 lets you chat with the Claude Code on your own Mac about the article you’re reading, right inside Reader Mode. It reuses your existing Claude Code login — no API keys, no extra billing — and you can save the conversation alongside your archive or clip. (macOS only — requires the Local Media Helper and Claude Code.) - Tap the sparkle icon in the reader toolbar to open a chat panel on the right — ask for a summary, a counterpoint, a term explained, anything about what you’re reading. - Select a passage in the article and an “Ask AI” button appears, attaching that excerpt as a quote so you can ask about it directly. - Pick the model (Default, Sonnet, Opus, or Haiku) from the panel header and switch it mid-conversation. - Once you’ve chatted, an “include chat” toggle saves the whole conversation alongside your archive or your Obsidian/desktop clip. - Shared-link preview cards (Facebook and more) now render at the foot of the post in the reader view.
- Chrome extension 1.7.1 introduces Reader Mode. Open Facebook, Instagram, X, Threads, Reddit, LinkedIn posts and web articles in a clean, distraction-free reading view, highlight passages as you read, and archive or clip to Obsidian right from the reader. - Open Reader Mode from the toolbar icon or right-click menu for a clean, content-only view — social posts use platform-native extraction for faithful text, and web pages render as articles. - Select any passage to highlight it in five colors with optional notes; highlights travel into your Obsidian clips as ==marks==. - Leave the reader switch on and every page you open with the extension icon flips straight into the reading view. - Load platform comments on demand via the speech-bubble icon, rendered in the same comfortable reader typography. - Tune font size, line height, column width, serif/sans, and light/dark theme — settings sync across your devices.
- Chrome extension 1.7.0 redesigns the Activity Queue so retrying a failed archive updates the same entry to its final state instead of creating a duplicate. - Retrying a failed archive now updates the same row in place — it turns back into progress and lands on completed, leaving a single final state per URL. - Entries tried more than once show a chip like ×2; clicking it expands the previous attempts with their time and failure reason. - Archiving the same URL again without the Retry button also cleans up leftover failed entries once it succeeds. - Cancelled archives now show a gray Cancelled label instead of a red error, keeping them distinct from real failures. - Fixed offline-queued archives never reflecting their eventual success or failure in the activity list.
- Chrome extension 1.6.9 coalesces repeated archive clicks and quick re-submits on the same page so they no longer create duplicate archives, and lets the server safely recognize the same request. - Archiving the same URL multiple times in quick succession now coalesces into a single request instead of creating duplicate archives. - Each archive request carries a stable identifier, so network retries that arrive more than once are safely filtered out on the server. - Rapidly clicking the popup button or overlapping retries during bulk import no longer consumes extra credits.
- Chrome extension 1.6.8 lets Obsidian clipping manage multiple vaults, keep a separate default vault, and correctly route clips to the vault selected in the popup. - Add multiple Obsidian vault folders from extension settings and review each vault permission, status, and media save path. - Mark one vault as the default while choosing a different vault per clip from the popup. - The popup vault picker now sends the selected vault id through Clip to Obsidian. - Fixed a regression where selecting a non-default vault in the popup could still clip through the default vault, including local media handoff and remote deep links.
- Chrome extension 1.6.7 makes Local Media Helper setup clearer on pages such as TikTok and Instagram Stories, while improving direct desktop-save flows and Helper update guidance. - TikTok and Instagram Story/Highlight pages now show a small setup prompt when the Helper is not installed, enabled, or paired. - Helper download and release links in extension settings now follow the latest 0.1.4 package metadata. - Local save flows that send clips and bulk imports directly to the desktop app are easier to discover and use. - Improved reliability and quality handling for media such as X/Twitter HLS videos.
- Chrome extension 1.6.5 adds a "Send to Desktop" destination alongside Clip to Obsidian, re-assembles X/Twitter videos at their best available quality, and improves code formatting and Threads post detection. - Choose "Send to Desktop" from the Clip to Obsidian dropdown to save straight into the desktop app, and route bulk imports there too. A default save destination can be set in extension options. - X/Twitter videos are now re-assembled from their highest-quality segments through the Local Media Helper instead of settling for a lower-quality stream. - Code snippets inside post text are now automatically detected and wrapped in code blocks for readability, and numbered lists that used to reset around a code block now continue correctly. - Threads posts using the newer layout, where the first line renders above the timestamp, are now recognized instead of failing with "Could not read this post."
- Chrome extension 1.6.3 adds an "Obsidian vault" destination to Reddit saved, X bookmarks, and Instagram saved/your-posts imports. Whole collections save straight into your vault with no account and no quota. - A new "Obsidian vault" destination in the destination dropdown sends Reddit, X, and Instagram bulk imports to your vault — works while logged out. - Posts and media are written straight into your vault through the plugin, never touching the server, so they never use your archive quota. - Rate-limit resilient: the posts collected so far are saved immediately, with the rest continuing once the limit clears. - Requires Obsidian plugin 4.1.0 or later. Browser extension guide
- Chrome extension 1.6.2 adds YouTube to no-login "Clip to Obsidian" saves and preserves available automatic or manual transcripts in both vault-only clips and server-backed archive content. Local-only saves are kept clearly separate from server archive flows. - YouTube watch, Shorts, live, and embed URLs are now recognized as local clip targets, so title, channel, description, thumbnail, and video metadata can be saved to Obsidian without signing in. - Transcript capture now prefers the active tab session plus iOS InnerTube caption tracks, making previously empty transcripts such as Korean auto-captions much more reliable. - Server-backed archive and sync paths also keep transcripts as a
## Transcriptsection, including timestamp links and caption text when notes are opened later. - Local-only saves remain separate from server archive, share-link creation, and Immich upload flows so vault-only storage is an explicit choice. Browser extension guide - Chrome extension 1.6.1 adds a "Clip to Obsidian" option to the signed-in dropdown — save straight into your vault with no server and no quota. Naver Blog, Naver Cafe, and Kakao Brunch clipping arrive, and Bluesky/Mastodon clips now include reply threads. - The signed-in main button dropdown gains "Clip to Obsidian" — a local-only clip that saves into your vault instead of the server archive, using no monthly archive quota. - Clipping now covers X, Threads, Instagram (posts and stories), Facebook, Reddit, TikTok, Bluesky, Mastodon, LinkedIn, Substack notes, Naver Blog, Naver Cafe, Kakao Brunch, and ordinary web pages. This release adds the Naver and Brunch platforms, and Bluesky/Mastodon clips now include reply threads. Browser extension guide
- Chrome extension 1.6.0 tells Instagram's temporary request limits apart from a real logout, replacing the misleading "session expired" message with accurate wait guidance after large imports. Support bundles now also include export run history for faster diagnosis. - When Instagram limits import requests while you are still signed in, the extension now says "your login is fine — wait a few hours" instead of "session expired". - No more prompts to sign back in or restart the browser, preventing immediate retries that extend the limit. - The pre-flight safety card recommends waiting and smaller batches for 24 hours after a temporary limit. - Support bundles now include recent export run history, limit state, and usage info (account ids are masked). Troubleshooting guide
- Chrome extension 1.5.9 adds a "Repair failed media" action that re-fetches just the missing media for a single archive after an Instagram import, and lets no-account web uploads use the Local Media Helper for higher-quality video. - A "Repair failed media" button now appears on archives with missing media in Instagram Import history, re-fetching only the missing photos or videos onto the existing archive without using extra credits. - No-account web uploads can now use the Local Media Helper to assemble Instagram DASH video at higher quality when the Helper is installed, enabled, and high-quality video is turned on — falling back to standard quality otherwise, just as before. - Failed media uploads now retry automatically per file, and the sidepanel and import history show more detail about which media items failed.
- Chrome extension 1.5.7 adds date range support for Instagram My Posts imports, with a smaller default batch size, clearer input error handling, and better share-web upload recovery. - My Posts imports can now use From/To dates to import only posts from a selected period. - When Limit is set to No limit, discovery follows the date range and stops after older posts are reached. - The default Limit is now 50 posts so first runs and test runs start more conservatively. - Start export is blocked with a clear message when From/To dates are reversed or invalid. - The My Posts popup layout and scrolling were fixed so date inputs are not covered by guidance cards. - Interrupted share-web uploads now retry media repair for duplicate archives instead of leaving broken media in place.
- Chrome extension 1.5.6 improves Immich Direct Uploads, duplicate detection, resume behavior, and progress visibility across Instagram Saved Posts, My Posts, and profile grid imports. - The selected Instagram Import destination is now frozen when the run starts, fixing cases where the UI showed Immich but uploads went to the Web account. - Immich uploads now use stronger ledger and checksum preflight handling, so previously uploaded media is skipped more reliably and upload history persists correctly from the offscreen context. - Profile grid and large import flows are chunked more safely, with resume behavior that skips items already handled in the same run. - A new Instagram Import Monitor side panel shows post-level uploads, duplicate skips, failures, and previous import history. - Options can export a redacted Support Diagnostics bundle to make support requests easier to investigate. - macOS Local Media Helper installation, update notices, and native pairing make high-quality Immich video upload setup easier. Download macOS Local Media Helper
- Chrome extension 1.5.4 adds Kidsnote, a childcare center notice-sharing service, as a new archive source, with a backfill option to bring in past notices and photos in one run. TikTok video capture is also more reliable using the Local Media Helper. - Open a Kidsnote notice and archive it directly from the extension popup, or set up an ongoing subscription for a class. - A backfill option imports past notices along with their photos in a single run, with progress shown in the popup. - Kidsnote photos can also be uploaded directly to Immich. - TikTok video capture now uses the Local Media Helper for better quality and reliability.
- The Chrome extension can now upload Instagram media directly to Immich separately from Social Archiver archiving, with macOS Local Media Helper support for higher-quality video handling. - Immich can be selected as the upload destination for single Instagram posts, My Posts, Saved Posts, and profile grid flows. - Uploads can target an existing Immich album, create a new album, or fall back to the configured default album. - Immich asset descriptions now use only the post body. - Previously uploaded items are skipped from the extension upload ledger to reduce duplicate uploads. - The macOS Local Media Helper can mux Chrome-downloaded DASH video/audio sidecars locally before Immich upload. - Chrome Options now includes a macOS helper download link and connection check UI. Windows and Linux helpers are coming later. Download macOS Local Media Helper
- This update improves podcast subscription reliability, adds Kidsnote and Naver Blog subscription support, supports localhost addresses for Immich and Karakeep, and expands Immich upload support in the Chrome extension. - Improved podcast subscription stability. - Added Kidsnote support. - Added Naver Blog subscriptions. - Added localhost address support for Immich and Karakeep integrations. - Chrome extension now has built-in Immich upload support across more archiving use cases. - Included minor bug fixes and performance improvements.
- Chrome extension 1.4.10 archives Reddit posts and comments using your signed-in browser session and adds Instagram My Posts import to bring in your own profile posts in one run. - Reddit posts and comments now archive more reliably using your signed-in browser session, including author avatars. - Reddit comment imports now cover a wider range of replies. - Instagram My Posts scrolls your own profile grid to automatically discover and import your posts in one run. - Added support for archiving Tagesspiegel articles.
- This Chrome extension update makes Instagram posts, comments, and highlights more reliable by using your signed-in browser session. - Private, age-restricted, and sign-in-required Instagram posts can now be archived from the current Chrome session. - Improved preservation for carousel images and videos, blob media, audio, and author avatars. - Captures more comments and replies, keeping the reply structure where available. - Instagram highlights can now be saved with better author information and cleaner links.
- The Chrome extension improves Facebook outbound links, web-article detection for sites such as Wikidocs, Threads session extraction, and credit error copy. - Right-clicked
l.facebook.com/l.phplinks inside Facebook posts are resolved to the real URL from theuparameter before archiving. - For example, an X post link shown through Facebook is now handled as an X post archive. - General web articles with/blog/@author/123-style nested paths no longer get misclassified as Mastodon; they stay in the Web archive flow. - Threads client-session extraction now avoids mixing engagement counts, sort controls, and nested replies into the main post body. - Credit shortage errors now show clearer available/required credit counts while keeping the mobile app upgrade or restore guidance. - The Release Notes button in Chrome extension Settings opens the hub with the Chrome extension filter applied. - Release notes now have one public home across Social Archiver clients, with settings links that open the relevant platform filter. - Added a shared release notes page for mobile, Obsidian, web, and Chrome extension updates. - Added settings entry points that open the correct platform-filtered view. - Kept GitHub Releases focused on Obsidian distribution while product-facing notes move into the Social Archiver web surface. - Started the backfill path for mobile App Store notes, share-web changes, and Chrome extension updates.
- Chrome session archiving became more reliable for Threads and X, with stronger Instagram export downloads and article cleanup. - Threads posts can now be archived directly from a Chrome session. - Improved X session threads, comment reply hierarchy, author avatars, and long-form article cleanup. - Escaped thread headings are normalized so web and Obsidian render the archive more cleanly. - Instagram export downloads are hardened to reduce mid-export failures.
- Public share-web pages became easier for search and agents to read, while Threads and X article rendering reduced duplicate body and heading issues. - Public share pages now expose cleaner metadata and structure for search engines and agents. - Threads author replies and articles render more naturally, with escaped thread headings normalized. - X long-form articles preserve internal sections, comment reply hierarchy, and author avatars more reliably. - Subscription author bios and metadata sync more consistently across web, mobile, and Obsidian.
- The Chrome extension improved TikTok session media selection, added Instagram Story archiving, and preserved animated Reddit GIF media. - TikTok visible videos and network candidates are matched more accurately, with candidate preview and selection in the extension UI. - MSE streams, audio sidecars, and recorder fallback handling make TikTok upload and remux flows more reliable. - TikTok author metadata, canonical URLs, and hover-preview aspect ratios are preserved more consistently. - Added Instagram Story client archiving and preserved Reddit animated GIF videos.
- The Chrome extension added X bookmark import and improved Reddit Saved post and comment import reliability. - Added X bookmark discovery and partial flush handling before a tab closes. - Preserved link-card images and URLs, with progress based on discovered items. - Added local Reddit Saved post and comment import with better comment reply and preview preservation. - Cleaned up the extension import layout and analytics identity flow.
- Added iPad support and reflected the Chrome extension flow for archiving Instagram Saved Posts. - Added iPad support. - Adjusted some UI/UX for the larger iPad canvas. - Improved performance when switching tabs. - Instagram Saved Posts can be archived through the Chrome extension.
- The Chrome extension enabled collection-level Instagram Saved Posts export, feeding Obsidian or web upload import flows. - Added local Instagram Saved Posts export with collection-aware ZIP filenames. - Added Web destination mode so exports can feed either Obsidian import or web upload flows. - Handled session expiry as a resumable pause and polished pause, cancel, and notification behavior. - Improved long-collection reliability with export history and content-script fallback injection.