Skip to content
This repository was archived by the owner on Jan 3, 2026. It is now read-only.
This repository was archived by the owner on Jan 3, 2026. It is now read-only.

Deprecate and remove MediaContainerV3 - incomplete V2 migration component #306

@cameronsjo

Description

@cameronsjo

Issue

MediaContainerV3.tsx is an incomplete/experimental component from the V2 API migration that should be deprecated and removed.

Problems Identified

  1. Architectural Mismatch: Tries to use V2 API with legacy V1 components (MediaLightbox)
  2. Incomplete Implementation: Missing critical features:
    • User ratings management
    • Queue management
    • Media parsing infrastructure
    • Copy file IDs functionality
  3. API Signature Errors (4 TypeScript errors):
    • useV2MediaActions() called without required props
    • Uses non-existent hideMedia (should be hideMediaEverywhere/hideMediaInPosts)
    • Uses non-existent updateTags (should be addMediaTags/removeMediaTags)
    • Calls likeMedia(id, {rating: 1}) but signature is likeMedia(id)
    • MediaLightbox missing 6+ required props

Root Cause

This component represents transitional code from the V2 migration that was never completed. It attempts to bridge V2 MediaFile entities with legacy post-based infrastructure.

Recommendation

DEPRECATE this component rather than fix it:

  1. Add deprecation notice to file
  2. Identify usages (ModernMediaGrid uses it)
  3. Migrate ModernMediaGrid to use MediaContainerWithContext or create V2-native lightbox
  4. Remove MediaContainerV3 once migration complete

Better Alternatives

  • MediaContainer - Full-featured, production-ready
  • MediaContainerWithContext - Context-aware wrapper
  • Future: Build V2-native lightbox component that works with MediaFile directly

Files Affected

  • apps/frontend/src/features/media/components/MediaContainerV3.tsx
  • apps/frontend/src/features/media/components/ModernMediaGrid.tsx (uses it)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions