Repository navigation
feat(playlists): keep moments as clips and play them back to back - #685
Merged
Merged
Conversation
Playlists hold clips: a moment of any resource (t0 to t1, with a title, a note and the words picked), or a highlight's passage and label. A playlist is its maker's, private until shared; each reader gets only the clips of resources they can read, each with the resource's signed media link as the recording player gets it. The API adds, reorders and removes clips (Undo adds one back at its position), and agents list playlists and add moments over MCP, to the one used last by default. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QFUNzy1QZy5HhKAyJxTAYJ
…lay it 8000 back to back Add to playlist in the selection toolbar and beside each highlight keeps the moment as a clip in the playlist used last (a new one called Clips when there is none), with Undo. The Playlists page lists yours and the shared ones; a playlist's page plays its clips back to back on each resource's own audio or video, reorders them by dragging or with Up and Down, and takes one out with Undo. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QFUNzy1QZy5HhKAyJxTAYJ
adeelahmad
force-pushed
the
claude/project-thread-xfmkzn
branch
from
October 19, 2026 14:10
a01e590 to
d47d236
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Requested by Adeel · project thread
Description
Before: a good moment in a recording could be highlighted, but there was no way to gather moments from several resources and play them in order.
After: you can keep a moment of any recording, video or document as a clip, with a title and a note. Select words in a transcript and choose Add to playlist, or add a highlight from its tab. One click puts it at the end of the playlist you used last (a new one called Clips when you have none), with Undo. The new Playlists page lists yours and the ones others shared. A playlist's page plays its clips back to back on each resource's own audio or video, reorders them by dragging or with Up and Down, and takes one out with Undo. A shared playlist shows each reader only the clips of resources they can read. Agents use
/api/v1/playlistsand the MCP toolslist_playlistsandadd_to_playlist.How: the first commit adds the playlist and clip tables, routes, MCP tools and clean-up (deleting a resource removes its clips; removing an account removes their playlists). The second adds Add to playlist in the transcript and highlights and the Playlists pages.
Motivation and Context
Item from the personal feature plan sheet (clips and playlists).
Screenshots (if appropriate):
n/a
Steps to reproduce (if appropriate):
Select a sentence in a transcript and choose Add to playlist, do the same in another recording, then open Playlists → Clips and press Play: both moments play one after the other.
Types of changes
!in the title)Checklist:
make hookschecks it on commit).tests/api/test_playlists.py,tests/api/test_mcp.py,__tests__/playlists-model.test.ts,__tests__/playlist-page.test.tsx,__tests__/recording-comments.test.tsx).docs/accordingly (docs/playlists.md).## UnreleasedinCHANGELOG.md. Written aschangelog.d/clips.md, per build(release): changelog fragments in changelog.d/ instead of one Unreleased section #581.Done questions (AGENTS.md)
/api/v1/playlists, MCPlist_playlistsandadd_to_playlist..envedit or manual step.docs/requirements.mdname the checks.make openapi).Local CI: the container ran several times slower than usual, so I ran the changed tests directly.
test_playlists.py,test_mcp.py,test_delete.py,test_setup_assistant.pyandtest_scaling_agents.pypassed (46 passed), ruff is clean, the threat model validator agrees andmake openapishows no drift. GitHub CI decides the merge.Generated by Claude Code