Skip to content

Add favorite workflows for audio and text - #508

Merged
MinasukiHikimuna merged 1 commit into
mainfrom
signed/issue-416
Aug 29, 2026
Merged

Add favorite workflows for audio and text#508
MinasukiHikimuna merged 1 commit into
mainfrom
signed/issue-416

Conversation

@MinasukiHikimuna

@MinasukiHikimuna MinasukiHikimuna commented Aug 29, 2026

Copy link
Copy Markdown
Collaborator

Summary

Add per-user favorite support for individual audio and text entities. Audio and text detail headers now expose the shared favorite control, list cards reflect favorited state through existing engagement data, and both media lists offer a Favorite filter backed by current-user affinity queries.

The regression coverage verifies favoriting, unmarking, positive and negative favorite filters, and isolation between users for both entity types.

Linked issue

Closes #416

Type of change

  • Bug fix
  • New feature
  • Refactor / tech debt
  • Docs
  • Other: N/A

AI usage

  • No AI was used for this PR.
  • AI was used for this PR.
    • Model(s): GPT-5.6 Sol
    • Where / how: Issue investigation, live UI reproduction, implementation, regression tests, verification, and code review.
  • A human (me) has reviewed, understands, and takes full responsibility for every change here including that the design and architecture are sound. (required)

Testing done & evidence

  • npm --prefix ui test -- --run src/test/AudioTextDetailPages.test.tsx — passed, 1 test file and 7 tests.
  • dotnet build src/Cove.slnx -c Release --no-restore — passed with 0 errors. Four pre-existing xUnit1051 warnings remain in an unrelated tag test class.
  • dotnet build src/Cove.ApiTests/Cove.ApiTests.csproj --configuration Release --no-restore — passed with 0 errors. The same four unrelated xUnit1051 warnings were reported.
  • dotnet test src/Cove.ApiTests/Cove.ApiTests.csproj --configuration Release --no-build --no-restore --filter "FullyQualifiedName~AudioEngagementLifecycleApiTests|FullyQualifiedName~TextEngagementAndRescanApiTests" --logger "console;verbosity=normal" — passed, 6 of 6 tests.
  • npm --prefix ui run build — passed TypeScript compilation and the production Vite build. Vite reported its existing config compatibility and chunk-size warnings.
  • git diff --check — passed.
  • Live browser verification confirmed that audio and text detail controls set favorite state and that the Favorite criterion appears in the text list filter dialog. The detail header is shared across view and edit tabs, so the control remains available while editing.
  • Independent xhigh review found no blocking or non-blocking findings after the negative-filter and unmark coverage was added.

Checklist

  • I have read and followed the Contribution Guide.
  • Builds and existing tests pass.
  • I added or updated tests where it makes sense.
  • I updated docs where needed.
  • This PR is focused and does not bundle unrelated changes.

Audio and text entities exposed ratings, likes, and bookmarks but had no favorite control or favorite-based list filtering, leaving those media types outside Cove's normal per-user favorites workflow.

Wire their detail headers to the shared engagement favorite mutation, add current-user favorite criteria to audio and text queries, expose those criteria in the filter UI, and cover favoriting, unmarking, positive filtering, negative filtering, and user isolation.
@MinasukiHikimuna
MinasukiHikimuna merged commit 7c94176 into main Aug 29, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Allow audios and texts to be marked as favorites

1 participant