Skip to content

feat(medium): fix: polish Spotify Track Selection UI optimization PR (#9547)#9585

Merged
arii merged 3 commits into
ui-ux-spotify-track-selection-optimization-14059094504088146715from
ui-ux-spotify-track-selection-optimization-14059094504088146715-8433731724221419932
Mar 19, 2026
Merged

feat(medium): fix: polish Spotify Track Selection UI optimization PR (#9547)#9585
arii merged 3 commits into
ui-ux-spotify-track-selection-optimization-14059094504088146715from
ui-ux-spotify-track-selection-optimization-14059094504088146715-8433731724221419932

Conversation

@arii
Copy link
Copy Markdown
Owner

@arii arii commented Mar 19, 2026

Description

This pull request addresses architectural improvements and fixes identified during the code review audit for PR #9547, focusing on polishing the Spotify Track Selection UI optimization.

Fixes #9547

Change Type: 🐛 Bug fix (non-breaking change fixing an issue)

Related Issues

Closes #9547

Changes Made

  1. Re-added duration to API response mapping and types for backward compatibility.
  2. Removed redundant logic by deleting the extra Play/Pause IconButton from PlaylistTracksDisplay.tsx and the duplicate imageUrl field from types/core.ts.
  3. Adjusted Spotify commands to correctly utilize URI-based playback (track.uri) rather than array positional indices (position).
  4. Fixed a TypeScript warning in utils/socketManager.ts involving an unsafe any cast.
  5. Standardized SpotifyPlaylistItem by making artists strictly a string.
  6. Cleaned up unused variables and imports, resolving CI lint failures.
  7. Successfully synchronized Unit Tests to reflect the new architecture.

Testing

Unit tests have been successfully synchronized to reflect the new architecture. Impact areas include features and testing.

Original PR Body

Addressed the architectural improvements and fixes identified during code review audit for PR #9547:

  1. Re-added duration to API response mapping and types for backward compatibility.
  2. Removed redundant logic by deleting the extra Play/Pause IconButton from PlaylistTracksDisplay.tsx and the duplicate imageUrl field from types/core.ts.
  3. Adjusted Spotify commands to correctly utilize URI-based playback (track.uri) rather than array positional indices (position).
  4. Fixed a TypeScript warning in utils/socketManager.ts involving an unsafe any cast.
  5. Standardized SpotifyPlaylistItem by making artists strictly a string.
  6. Cleaned up unused variables and imports, resolving CI lint failures.
  7. Successfully synchronized Unit Tests to reflect the new architecture.

PR created automatically by Jules for task 8433731724221419932 started by @arii

- Keep `duration` field alongside `duration_ms` for backward compatibility in API responses and types.
- Standardize `SpotifyPlaylistItem` type by simplifying `artists` to a `string` and removing redundant `imageUrl`.
- Remove redundant Play/Pause `IconButton` in `PlaylistTracksDisplay` and handle clicks on the row directly.
- Migrate index-based playback to URI-based playback in `PlaylistTracksDisplay`.
- Fix TypeScript error in `socketManager.ts` by replacing `as any` cast.
- Resolve unused imports linting issues.
- Update related unit tests to match architecture changes.

Co-authored-by: arii <342438+arii@users.noreply.github.com>
@google-labs-jules
Copy link
Copy Markdown
Contributor

👋 Jules, reporting for duty! I'm here to lend a hand with this pull request.

When you start a review, I'll add a 👀 emoji to each comment to let you know I've read it. I'll focus on feedback directed at me and will do my best to stay out of conversations between you and other bots or reviewers to keep the noise down.

I'll push a commit with your requested changes shortly after. Please note there might be a delay between these steps, but rest assured I'm on the job!

For more direct control, you can switch me to Reactive Mode. When this mode is on, I will only act on comments where you specifically mention me with @jules. You can find this option in the Pull Request section of your global Jules UI settings. You can always switch back!

New to Jules? Learn more at jules.google/docs.


For security, I will only act on instructions from the user who triggered this task.

@github-actions
Copy link
Copy Markdown
Contributor

👋 Welcome to HRM!

Thanks for your contribution. This repository uses Gemini AI for automated triage, code review, and generation.

🤖 Gemini Manual Trigger Quick Reference

Command Action
@gemini-bot Run AI Code Review (PR only)
@gemini-enrich Run PR Enrichment (PR only)
@gemini-triage Run Issue Triage
@gemini-coder <task> Generate Code
@create-review-issues Create issues from review (PR only)
@gemini-help Show this help message
@pr-squash Squash PR commits (PR only)
@conflict-resolve Resolve merge conflicts (PR only)

For more details and GitHub CLI examples, see the Manual Trigger Guide.

@github-actions github-actions Bot changed the title fix: polish Spotify Track Selection UI optimization PR (#9547) feat(medium): fix: polish Spotify Track Selection UI optimization PR (#9547) Mar 19, 2026
@github-actions
Copy link
Copy Markdown
Contributor

ℹ️ Gemini Review Disabled

Automatic review is currently disabled via GEMINI_ENABLE_PR_REVIEW. To run review manually:

Via Comment:

@gemini-bot

Via GitHub Actions:

  1. Go to Actions → Reusable Gemini Review
  2. Click "Run workflow"
  3. Enter PR number: 9585

Via GitHub CLI:

gh workflow run reusable-gemini-review.yml -f pr_number=9585

🤖 Gemini Manual Trigger Guide

To re-enable: Set repository variable GEMINI_ENABLE_PR_REVIEW=true

@github-actions
Copy link
Copy Markdown
Contributor

🤖 Gemini Review Skipped

Review was skipped for the following reason: Gemini review is globally disabled

🤖 Gemini Manual Trigger Guide

@arii arii added the not reviewed The review could not be performed or completed successfully. label Mar 19, 2026
- Fix `TypeError` regarding `offset: { uri }` in `PlaylistTracksDisplay` and `spotify-selection/page.tsx` by updating `useSpotifyCommand` payload type to accept either `position` or `uri`.
- Fix `SpotifyCommandParameters` TS error in `socketManager.ts` by explicitly importing `SpotifyCommandParameters`.

Co-authored-by: arii <342438+arii@users.noreply.github.com>
@github-actions
Copy link
Copy Markdown
Contributor

🤖 Gemini Review Skipped

Review was skipped for the following reason: Gemini review is globally disabled

🤖 Gemini Manual Trigger Guide

@arii arii added not reviewed The review could not be performed or completed successfully. and removed not reviewed The review could not be performed or completed successfully. labels Mar 19, 2026
…ng error

Co-authored-by: arii <342438+arii@users.noreply.github.com>
@github-actions
Copy link
Copy Markdown
Contributor

🤖 Gemini Review Skipped

Review was skipped for the following reason: Gemini review is globally disabled

🤖 Gemini Manual Trigger Guide

@arii arii added not reviewed The review could not be performed or completed successfully. and removed not reviewed The review could not be performed or completed successfully. labels Mar 19, 2026
@arii arii marked this pull request as ready for review March 19, 2026 02:06
@arii arii merged commit 6dd8deb into ui-ux-spotify-track-selection-optimization-14059094504088146715 Mar 19, 2026
29 checks passed
@arii arii deleted the ui-ux-spotify-track-selection-optimization-14059094504088146715-8433731724221419932 branch March 19, 2026 02:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

not reviewed The review could not be performed or completed successfully.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant