Repository navigation
Releases: GoBeromsu/obsidian-note-player
Releases · GoBeromsu/obsidian-note-player
Release list
0.9.1
Fixes
- fix(deps): override minimatch to patched range
- fix(settings): show progress and failures for companion Bases refresh
- fix(settings): trim folder queries before validating them
- fix(settings): replace dropdowns and reset with one searchable picker
0.9.0
Features
- feat(bases): readable card labels and letterbox-free thumbnails
- feat(settings): add playlist conversion button
- feat(migration): clearer conversion preview
- feat(migration): convert playlist notes to bases command
- feat(thumbnails): clear action and Bases rows use the cache
- feat(thumbnails): cache track thumbnails in the plugin folder
- feat(bases): note player view for playlist bases
- feat(settings): folder dropdowns and searchable property pickers
- feat(playlists): bases-backed playlists with membership property
- feat(library): derive playlists from membership links and base sort
- feat(bases): build playlist base and companion note content
- feat(migration): plan conversion of playlist notes to bases
Fixes
- fix(playlists): register Create playlist Enter through the modal scope
- fix(bases): preserve user card options; no empty or duplicate notices
- fix(playlists): submit Create playlist on Enter
- fix(bases): rename the old Player view to Cards on upgrade
- fix(library): short notice for an unreadable base
- fix(migration): preview copy for base-only upgrades
- fix(migration): no empty progress notice
- fix(library): isolate per-base read failures
- fix(migration): report base-only upgrades separately
- fix(library): isolate unparseable playlist bases
- fix(migration): count each playlist once in the preview
- fix(bases): upgrade views via parsed YAML
- fix(migration): count plugin-created playlists as already converted
- fix(playlists): keep the selected playlist after renaming it
- fix(player): report loading until audio actually plays
- fix(migration): match whole frontmatter keys only
- fix(migration): detect flow-style malformed candidates
- fix(migration): classify malformed notes from content
- fix(migration): skip unrelated notes with malformed YAML
- fix(scope): vault root includes subfolders
- fix: library refresh on folder change, truthful folder setting, notice copy, play scope, picker order
- fix(ui): short labels for bare-path missing references
- fix(ui): hide migration marker and render author links
- fix(bases): pair base embeds with subpaths consistently
- fix(migration): resolve short base embeds, idempotent user embeds, lifecycle waiters
- fix(migration): decide from file content with an owned embed marker
- fix(migration): public-api cache currency
- fix(migration): truthful no-op and already-resolved cache
- fix(migration): use Obsidian's parsed embeds after settle
- fix(migration): base embed check reads the file, not stale cache
- fix(migration): address gate review
- fix(settings): register animation listener through lifecycle
- fix(thumbnails): cancel pending frame on unload
- fix(thumbnails): lifecycle, concurrency and clear safety
- fix(bases): lifecycle-safe listeners and registration warning
- fix(settings): safe folder options and lifecycle cleanup
- fix(settings): match native dropdown look and refresh folder options
- fix(library): never let a stale refresh overwrite a newer one
- fix(migration): keep planner idempotent for tracks_legacy
Other
- docs: update repository owner links after transfer
- perf(startup): defer library discovery until layout is ready
- refactor(bases): use the native cards view for playlists
- refactor(playlists): move rename handling out of main
- Revert "fix(player): report loading until audio actually plays"
- docs: describe folder scope
- refactor(bases): require explicit property mapping
- test(settings): exercise the real control save path
- refactor(settings): one property per role without fallbacks
- chore(deps): update obsidian and eslint-plugin-obsidianmd
0.8.9
Fixes
- fix: read yt-dlp download progress from stdout (#89)
0.8.8
Fixes
- fix: clear connecting state once download fallback starts playing
0.8.7
Fixes
- fix: show loading title only while a resolve or heal is in flight
- fix: keep the current track resolved while its renamed note is indexed
- fix: show a loading title instead of unavailable while a track resolves
0.8.6
Features
- feat: fade out on track switch, keep the lid open through short pauses, and show state in the status bar
- feat(view): fade in the real title when a bare-id row is healed
- feat: inline invalid-URL hint, disabled Add and uniform 2.5s success toasts
- feat(import): one notice per paste, friendly label for unavailable videos
- feat: import every link in a multi-link paste
Fixes
- fix(status): pad the status item so the focus ring clears the text
- fix(player): honest loading label, softer reduced-motion lid, status CSS dedupe
- fix(player): heal cached bare-id tracks and fade/clamp the now-playing title
- fix: name the playing state in the status bar label and drop a duplicate cursor rule
- fix(notices): give action_succeeded the short success duration
- fix(import): heal without a link prompt, relink playlists, tidy unavailable labels
- fix(view): route the action success notice through showNotice
- fix(import): heal bare-id tracks from yt-dlp metadata and retry oEmbed once
- fix: make disabled buttons read as inert in the dark theme
- fix(playback): removing the current track keeps pause and moves to its successor
- fix: show the paste hint when Enter is pressed on an empty URL field
- fix: treat the modal header close button as leaving the field
- fix: no red flash on Cancel or close with an invalid URL
- fix: keep the URL hint calm when focus moves to Cancel and reuse the catalog text
- fix: size the URL hint by line height so the modal does not jump
- fix: use window timers in the URL modal
- fix: turn the URL hint red after a 600 ms pause and lengthen success toasts to 3.5 s
- fix: mute the URL hint while typing and pulse it on Enter over a miss
- fix: use onp- prefix for the URL hint and soften its motion under reduced-motion
- fix(view): label unavailable videos consistently in Now Playing and notices
- fix(library): show the empty cover for unavailable videos instead of YouTube's grey placeholder
- fix(view): rename handlePaste so it stops overriding the core View hook
- fix: show an unavailable video as muted text instead of its raw id
- fix: keep the count flash under reduced motion
- fix: show one notice when a paste creates the Inbox
- fix: save an unreachable video under its id and mark the row unavailable
- fix: detect text inputs in popout windows when pasting
- fix: accept a pasted link wherever focus sits in the view
Other
- style: drop the dead toolbar-description selectors
- chore: sync vitest eslint plugin with boiler-template
- perf: warm the stream while a pasted link imports
0.8.5
Features
- feat: tick the playlist track count when it changes
Fixes
- fix: align the failed cue to the start of the compact subtitle
- fix: wrap the failed cue inside the narrow subtitle
- fix: keep the subtitle bullet silent for screen readers
- fix: space the Autoplay state from the artist and stack it on narrow widths
- fix: let the count flash fade on its own timing
- fix: keep the count tick running across follow-up renders
Other
- chore: sync infra files with boiler-template
- docs: follow the README template
0.8.4
Fixes
- fix: never walk the whole vault when no music folder is set
- fix: keep playlists in the library when scoping to the music folder
- fix: show track count at every width in the playlist toolbar
- fix: fold playlist header into the toolbar row
- fix: re-request pending frames on the element's current window
- fix: ellipsize only the artist in the now-playing subtitle
- fix: follow popout windows in turntable and waveform observers, ellipsize the track subtitle
- fix: type the popout window's ResizeObserver
- fix: rebuild the resize observer when the view moves into a popout
- fix: replace the playlist header card with a compact line above the tracks
- fix: type the per-window ResizeObserver lookup
- fix: observe resize on the leaf's own window so popouts update
- fix: cancel the queued resize frame on view close
- fix: apply responsive classes on the next frame
- fix: let wheel scroll over the deck and lay out narrow views side by side
Other
- refactor: clear Community scan findings (fs, clipboard, vault enumeration)
0.8.3
Fixes
- fix: soften the deck lift under reduced motion
- fix: shorten status item setup and failure labels, tidy playlist name modal
- fix: centre the closed-lid deck in its shell
0.8.2
Features
- feat: deck cue for missing yt-dlp, leaner header
Fixes
- fix: deck cue is a real button
- fix: keyboard-reachable deck cue, grouped toolbar, copy and casing
- fix: keep the last row clear of the status bar item
- fix: tidy settings copy
- fix: match menu labels and Note Player casing to manifest
- fix: consistent notice copy, readable status bar and menu labels
- fix(settings): lead with Playback, group folders under Library, shorter copy
- fix(ui): show now-playing bars, drop lamp glow, tidy narrow queue rows
Other
- docs: add disclosures for network, yt-dlp, file system, vault reads and clipboard