Skip to content

feat: download TAF tracks as OGG files - #329

Open
ditschi wants to merge 11 commits into
toniebox-reverse-engineering:developfrom
ditschi:feature/taf-track-download
Open

ditschi wants to merge 11 commits into
toniebox-reverse-engineering:developfrom
ditschi:feature/taf-track-download

Conversation

@ditschi

@ditschi ditschi commented Sep 27, 2026

Copy link
Copy Markdown

Summary

Adds a track picker so TAF downloads can be one *.ogg file, or several tracks as *.ogg files (ZIP when more than one track is selected).

  • Header checkbox selects or deselects every track (indeterminate when mixed).
  • Primary action follows the selection: one file, or N tracks as *.ogg.
  • The request uses ogg=true plus tracks= for the chosen chapters.

Backend note: this PR is frontend-only. Track splitting / ZIP STORE still needs the TeddyCloud backend to honor tracks=. Until then the UI is ready and the download request is explicit.

Demo video

taf-selected-tracks.mp4

Screenshots

All tracks selected:

All tracks selected

Two of three tracks selected:

Partial selection

Test plan

  • Open Library, click download on a multi-chapter TAF
  • Header checkbox selects all tracks; mixed selection shows indeterminate
  • “Als eine *.ogg-Datei herunterladen” stays available
  • Changing the selection updates the primary button label

cursoragent and others added 5 commits September 12, 2026 22:16
Add a track table with header select-all for TAF downloads. A single
selected track uses ogg=true&tracks=N; multiple tracks download as ZIP.

Co-authored-by: Ditschi <ditschi@users.noreply.github.com>
Make the download track list easier on touch: one header checkbox
toggles all rows, the header shows the selection count, and the
number is merged into the track title column.

Co-authored-by: Ditschi <ditschi@users.noreply.github.com>
Keep the format visible on tooltips, modal title, and action buttons.

Co-authored-by: Ditschi <ditschi@users.noreply.github.com>
Track titles in the query exceeded the server limit and were dropped, and opening the download link replaced the app with a blank tab.
The script copied an old query shape and nothing ran it. Non-TAF downloads now wait until the file has actually been fetched.
@henryk86

henryk86 commented Sep 28, 2026 •

Copy link
Copy Markdown
Collaborator

Thanks again for this pr!

Can you modify the Changelog entry for this too? Please refer to toniebox-reverse-engineering/teddycloud#169

@henryk86 henryk86 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

so mostly "design" things, just one critical issue.

Comment thread src/components/tonies/common/modals/TafTrackDownloadModal.tsx Outdated
Comment thread src/components/tonies/common/modals/TafTrackDownloadModal.tsx Outdated
Comment thread src/components/tonies/common/modals/TafTrackDownloadModal.tsx Outdated
Comment thread src/components/tonies/common/modals/TafTrackDownloadModal.tsx
Comment thread src/components/tonies/common/modals/TafTrackDownloadModal.tsx Outdated
Comment thread src/components/tonies/common/modals/TafTrackDownloadModal.tsx
Comment thread src/components/tonies/common/modals/TonieInformationModal.tsx Outdated

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can you remove this? (out of prs scope, but would be a improvement ;)

@ditschi ditschi Sep 28, 2026 •

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done (the closable={false} line was removed, so the X button shows again).

Comment thread src/components/tonies/common/modals/TonieInformationModal.tsx
Comment thread src/components/tonies/common/modals/TafTrackDownloadModal.tsx Outdated
- keep the track table small, no preselected tracks
- drop minHeight on the download buttons, add spacing
- show the track list with play button again for single-track TAFs
- download single-track TAFs directly from the library
- info modal can be closed via X and mask click
- reference issue toniebox-reverse-engineering#169 in the changelog

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@henryk86

Copy link
Copy Markdown
Collaborator

Backend note: this PR is frontend-only. Track splitting / ZIP STORE still needs the TeddyCloud backend to honor tracks=. Until then the UI is ready and the download request is explicit.

the backend part is not yet available (= no pr for that)?

@ditschi

ditschi commented Sep 28, 2026

Copy link
Copy Markdown
Author

Changelog now references issue #169.

@ditschi

ditschi commented Sep 28, 2026

Copy link
Copy Markdown
Author

The backend part is here now: toniebox-reverse-engineering/teddycloud#484.

@henryk86

Copy link
Copy Markdown
Collaborator

@ditschi : as i can not link you in the other issue. please have a look here: #332

as far as i can see in the history, you added both features. thank you!

Christian Ditscher and others added 2 commits October 1, 2026 02:47
Resolve conflicts with runtime URL prefix support and the listened toggle:
keep the TAF download panel in the info modal and prefix its content URL
with withBase, keep both the TAF download click handler and useToggleListened
in FileBrowser, and prefix the TAF download modal URL with the runtime base path.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…k-download

Adopt backendUrl() from develop in the file download hook and drop the
baseApiUrl argument that develop removed from handleFileDownload.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@henryk86

henryk86 commented Oct 4, 2026 •

Copy link
Copy Markdown
Collaborator

@ditschi: you might also adapt the help dialog in the tonies overview and adapt the following to the new functionality:

image

src\components\tonies\tonieslist\modals\ToniesHelpModal.tsx

        {
            key: 3,
            icon: <DownloadOutlined />,
            title: t("tonies.help.actionItems.infoIcon.download.title"),
            text: t("tonies.help.actionItems.infoIcon.download.text"),
            description: t("tonies.help.actionItems.infoIcon.download.description"),
        },

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@henryk86 henryk86 added enhancement New feature or request prio Should be solved with priority labels Oct 9, 2026
@henryk86

Copy link
Copy Markdown
Collaborator

@ditschi : Did you already adapt the helptext in another branch? if not, can you add those changes? Then this PR would be ready to be merged :) Thank you!

@henryk86
henryk86 self-requested a review October 10, 2026 08:33

@henryk86 henryk86 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

see comment above

…ng it/pl translations

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@henryk86

Copy link
Copy Markdown
Collaborator

@SciLor ready to merge also :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request prio Should be solved with priority

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants