Skip to content

Releases

0.2.1

Choose a tag to compare

@Aaqil101 Aaqil101 released this 09 Nov 03:26
  • Keep generated tables full width under themes like Minimal, so dashboard and view tables no longer shrink to their content width
  • Hide the search placeholder while the count pill expands on hover

0.2.0

Choose a tag to compare

@github-actions github-actions released this 09 Nov 01:25

Lifeline 0.2.0 is a large feature release. It adds backups for your liked lists, Shorts detection, upload dates and playability facts, a removed-video archive, and a rebuilt playlist page. Existing installs migrate automatically.

Highlights

  • Liked videos and Liked music backups (opt-in). Two new toggles under Playlists → Backed-up playlists → System lists write Liked Videos.md and Liked Music.md from the thumbs-up list and YouTube Music's liked songs. They use the same fetch path as any playlist, so every bullet keeps a real added date, and their frontmatter type (lifeline-liked) keeps them out of Dashboard counts, the playlists panel, and the new-since-sync feed. Both are off by default; turning one off stops the fetch and leaves the note as a backup.
  • Identify Shorts. Each playlist and Watch Later video can now carry duration (whole seconds) and short fields. The default, Confirm with YouTube, answers anything over 3 minutes from its length with no request, and looks up shorter videos once on the watch page. Answers are cached per video, at most 50 pages are fetched per sync a fraction of a second apart, answers are checkpointed every 25 probes, and an unclear page is retried on a later sync. The first run that looks a video up shows one disclosure notice.
  • Better video facts. Playlist and Watch Later bullets now record the upload date (published), an effective region block (blocked), and live/upcoming, all from calls sync already made. Three toggles under Notes → Video bullet fields are on by default. The views draw Blocked and Upcoming as distinct badges, show the upload date beside the added date, and add a Published search scope.
  • Removed-video archive. A video that leaves a playlist now stays in the note by default, marked removed (and removed_on when known), instead of silently disappearing. Count only keeps the old behaviour. Each playlist can override the global mode, and Purge, Restore, and Clear archive manage a disposable archive that keeps the backup counts honest.
  • Rebuilt playlist page. Playlists to track and Get saved playlist IDs are now one Backed-up playlists page that groups the playlists you created, the ones you saved from other channels, the two system lists, and anything not resolved yet. The collector lives in a collapsed Add missing saved playlists section, and a refresh now resolves imported IDs instead of demoting them to "Not resolved yet".
  • Blur age-restricted videos toggle. The manual Blurred thumbnails list can now standalone: turning this off keeps sensitive on age-restricted bullets but blurs only the videos you listed.

Notes, Views, and Dashboard

  • Five note-view scripts and stylesheets instead of three: lifeline-liked.js and lifeline-liked-music.js join the Channels, playlist, and Watch Later views, each with its own Liked videos layout and Liked music layout row.
  • The video views gain two live controls. Shorts (Everything, Hide Shorts, Only Shorts) filters rows, the search count, and paging, and the same choice filters the dashboard feed and its New since sync chip. Removed (Everything, Hide removed, Only removed) hides removed bullets by default and appears only once a note carries one. Both are written back to settings and followed by every open view without a sync.
  • The Cinema card, Ticket row, and Ledger table show the upload date, and Ledger adds a Published column before Added.
  • The Dashboard's Needs attention panel now counts removed entries only while a playlist is in Count only mode, so Keep-mode bullets are never double-counted, and it never lists a removed bullet as a video.

Behaviour Changes

  • An existing vault picks up the three Video bullet fields defaults and rewrites its playlist and Watch Later notes once on the next sync. Identify Shorts also defaults to Confirm with YouTube, so a default install adds duration/short to the videos it classifies. Setting it to Off writes neither and strips both on the next sync.
  • Removed videos are kept in the note by default (previously they were count-only). Set Removed videos in notes to Count only for the old output.
  • A removed or unavailable video's downloaded thumbnail is deleted on the next sync; its bullet keeps thumbnail_url, so the picture still draws online.
  • A video removed before this version has no removed_on field until it returns and is removed again.

Upgrade Notes

  • state.json and state_purged.json are replaced by a state/ folder with one file per concern: channels.json, playlists.json, faces.json, runtime.json, and purged.json. The old files are migrated once and renamed state.json.migrated-<timestamp> / state_purged.json.migrated-<timestamp>.
  • If state/runtime.json exists but state/playlists.json is missing, sync pauses rather than overwriting the backup with an empty one. Restore the file, or delete runtime.json and reload Obsidian to start a new backup.
  • A corrupt state file is copied to <name>.corrupt-<timestamp> before Lifeline continues with defaults.
  • minAppVersion is still 1.14.0. Desktop only, one Google account, no background scheduler, no new API scopes, and no secrets outside the OS keychain.

Privacy

  • Shorts detection makes full page requests to youtube.com for videos under 3 minutes, up to 50 per sync, only while Identify Shorts is set to Confirm with YouTube. It costs no API quota, and each video is requested at most once across its life in the backup.

Issues resolved: #31, #32, #33, #34, #35, #36, #37

0.1.1

Choose a tag to compare

@github-actions github-actions released this 31 Oct 02:50

Review cleanups after the first community directory scan. No changes to what gets written to your vault.

Fixes

  • Clears the review warnings: the OAuth loopback server is now typed through a small local facade instead of Node type annotations, so lint environments without @types/node no longer see any types in src/auth.ts.
  • Clears the vault-enumeration recommendation: the journal-date check and the view-strip pass now walk only the journal and output folders instead of listing every note in the vault (same scope as before, far less surface), and the folder picker collects folder paths only.
  • Clears the clipboard-access recommendation: Select collector script on the collector page now highlights the script so you copy it with Ctrl+C yourself; the plugin never reads or writes the clipboard.

Licensed under GPL-3.0-or-later.

0.1.0

Choose a tag to compare

@github-actions github-actions released this 31 Oct 01:57

First release of Lifeline, an Obsidian plugin that backs up your YouTube data into plain Markdown.

What it does

  • Channels.md: every subscription, as Dataview-queryable inline fields
  • Playlists/*.md: one note per playlist you choose to track
  • Watch Later.md: a dedicated note for your watch-later substitute playlist
  • Dashboard.md (opt-in): a glass-cockpit home note driven by DataviewJS
  • Views in notes (opt-in): poster, chips, or table layouts above the entries
  • Images (opt-in): channel avatars and banners, video thumbnails (link or download)
  • Append-only sync log in the plugin folder

Requirements

  • Obsidian 1.14.0 or newer, desktop only (the OAuth flow uses a loopback redirect)
  • A Google Cloud project with the YouTube Data API v3 enabled
  • The Dataview community plugin if you want the dashboard or note views

See the README for setup, including Google Cloud configuration.

Install

Download main.js, manifest.json, and styles.css into <vault>/.obsidian/plugins/lifeline/, or add Aaqil101/obsidian-lifeline through BRAT.

Licensed under GPL-3.0-or-later.