Skip to content

Commit 63a8bc4

Browse files
Merge branch 'main' into feature/flatten-recently-played-tracks-into-albums
2 parents a0d0e24 + 114c1dd commit 63a8bc4

File tree

9 files changed

+48
-21
lines changed

9 files changed

+48
-21
lines changed

.github/workflows/build-android.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ jobs:
4343
fi
4444
4545
46-
- uses: actions/cache@v3
46+
- uses: actions/cache@v5
4747
with:
4848
path: |
4949
node_modules
@@ -68,7 +68,7 @@ jobs:
6868

6969

7070
- name: 📦 Upload APK for testing
71-
uses: actions/upload-artifact@v4
71+
uses: actions/upload-artifact@v6
7272
if: always()
7373
with:
7474
name: jellify-android-pr-${{ github.event.number }}-${{ env.VERSION_NUMBER }}

.github/workflows/build-ios.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ jobs:
5454
zip -r Jellify-Release-Simulator.zip Jellify.app
5555
5656
- name: 📦 Upload IPA for testing
57-
uses: actions/upload-artifact@v4
57+
uses: actions/upload-artifact@v6
5858
if: always()
5959
with:
6060
name: jellify-ios-pr-${{ github.event.number }}-${{ env.VERSION_NUMBER }}

.github/workflows/maestro-test.yml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ jobs:
2424
with:
2525
bun-version: 1.3.4
2626

27-
- uses: actions/cache@v4
27+
- uses: actions/cache@v5
2828
with:
2929
path: |
3030
node_modules
@@ -40,7 +40,7 @@ jobs:
4040
java-version: '17'
4141

4242
- name: 🐘 Setup Gradle
43-
uses: gradle/actions/setup-gradle@v3
43+
uses: gradle/actions/setup-gradle@v5
4444

4545
- name: 🍎 Run bun init-android
4646
run: bun i
@@ -58,7 +58,7 @@ jobs:
5858
run: bun run android-build
5959

6060
- name: 📤 Upload Android Artifacts
61-
uses: actions/upload-artifact@v4
61+
uses: actions/upload-artifact@v6
6262
with:
6363
name: android-artifacts
6464
path: ./android/app/build/outputs/apk/release/*.apk
@@ -90,7 +90,7 @@ jobs:
9090
with:
9191
bun-version: 1.3.4
9292

93-
- uses: actions/cache@v3
93+
- uses: actions/cache@v5
9494
with:
9595
path: |
9696
node_modules
@@ -104,13 +104,13 @@ jobs:
104104
run: export MAESTRO_VERSION=1.40.0; curl -Ls "https://get.maestro.mobile.dev" | bash
105105

106106
- name: Set up JDK 17
107-
uses: actions/setup-java@v4
107+
uses: actions/setup-java@v5
108108
with:
109109
java-version: '17'
110110
distribution: 'zulu'
111111

112112
- name: ⬇️ Download Android Artifacts
113-
uses: actions/download-artifact@v4
113+
uses: actions/download-artifact@v7
114114
with:
115115
name: android-artifacts
116116
path: artifacts/
@@ -154,7 +154,7 @@ jobs:
154154
DISCORD_WEBHOOK_URL: ${{ secrets.MAESTRO_WEBHOOK_RESULTS }}
155155

156156
- name: Store tests result
157-
uses: actions/upload-artifact@v4.3.4
157+
uses: actions/upload-artifact@v6
158158
if: always()
159159
with:
160160
name: TestResult

.github/workflows/publish-beta.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,7 @@ jobs:
163163
KEY_PASSWORD: ${{ secrets.ANDROID_KEY_PASSWORD }}
164164

165165
- name: 📤 Upload Android Artifacts
166-
uses: actions/upload-artifact@v4
166+
uses: actions/upload-artifact@v6
167167
with:
168168
name: android-artifacts
169169
path: ./android/app/build/outputs/apk/release/*.apk
@@ -240,7 +240,7 @@ jobs:
240240
MATCH_REPO_PAT: "anultravioletaurora:${{ secrets.SIGNING_REPO_PAT }}"
241241

242242
- name: 📤 Upload iOS Artifact
243-
uses: actions/upload-artifact@v4
243+
uses: actions/upload-artifact@v6
244244
with:
245245
name: ios-artifacts
246246
path: ./ios/Jellify.ipa
@@ -251,7 +251,7 @@ jobs:
251251
runs-on: macos-15
252252
steps:
253253
- name: 🛒 Checkout Repo
254-
uses: actions/checkout@v4
254+
uses: actions/checkout@v6
255255
with:
256256
token: ${{ secrets.SIGNING_REPO_PAT }}
257257

@@ -290,14 +290,14 @@ jobs:
290290

291291
- name: ⬇️ Download Android Artifacts
292292
if: ${{ github.event.inputs['build-platform'] == 'Android' || github.event.inputs['build-platform'] == 'Both' }}
293-
uses: actions/download-artifact@v4
293+
uses: actions/download-artifact@v7
294294
with:
295295
name: android-artifacts
296296
path: artifacts/
297297

298298
- name: ⬇️ Download iOS Artifacts
299299
if: ${{ github.event.inputs['build-platform'] == 'iOS' || github.event.inputs['build-platform'] == 'Both' }}
300-
uses: actions/download-artifact@v4
300+
uses: actions/download-artifact@v7
301301
with:
302302
name: ios-artifacts
303303
path: artifacts/

.github/workflows/run-jest-test-suite.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ jobs:
2222
bun-version: 1.3.4
2323

2424
- name: 📦 Cache dependencies
25-
uses: actions/cache@v4
25+
uses: actions/cache@v5
2626
with:
2727
path: |
2828
~/.bun/install/cache

src/api/queries/playlist/utils/index.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,12 @@ export async function fetchPlaylistTracks(
133133
Recursive: false,
134134
Limit: ApiLimits.Library,
135135
StartIndex: pageParam * ApiLimits.Library,
136-
Fields: [ItemFields.MediaSources, ItemFields.ParentId, ItemFields.Path],
136+
Fields: [
137+
ItemFields.MediaSources,
138+
ItemFields.ParentId,
139+
ItemFields.Path,
140+
ItemFields.SortName,
141+
],
137142
},
138143
)
139144

src/components/Player/components/song-info.tsx

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -106,13 +106,21 @@ export default function SongInfo({ swipeX }: SongInfoProps = {}): React.JSX.Elem
106106
return (
107107
<XStack>
108108
<YStack justifyContent='flex-start' flex={1} gap={'$0.25'}>
109-
<TextTicker {...TextTickerConfig} style={{ height: getToken('$9') }}>
109+
<TextTicker
110+
{...TextTickerConfig}
111+
style={{ height: getToken('$9') }}
112+
key={`${nowPlaying!.item.Id}-title`}
113+
>
110114
<Text bold fontSize={'$6'}>
111115
{trackTitle}
112116
</Text>
113117
</TextTicker>
114118

115-
<TextTicker {...TextTickerConfig} style={{ height: getToken('$8') }}>
119+
<TextTicker
120+
{...TextTickerConfig}
121+
style={{ height: getToken('$8') }}
122+
key={`${nowPlaying!.item.Id}-artist`}
123+
>
116124
<Text fontSize={'$6'} color={'$color'} onPress={handleArtistPress}>
117125
{nowPlaying?.artist ?? 'Unknown Artist'}
118126
</Text>

src/components/Player/mini-player.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ export default function Miniplayer(): React.JSX.Element {
118118
<Animated.View
119119
entering={FadeIn}
120120
exiting={FadeOut}
121-
key={`${nowPlaying!.item.AlbumId}-mini-player-song-info`}
121+
key={`${nowPlaying!.item.Id}-mini-player-song-info`}
122122
style={{
123123
width: '100%',
124124
}}

src/providers/Player/hooks/mutations.ts

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -225,12 +225,19 @@ export const useRemoveFromQueue = () => {
225225

226226
return async (index: number) => {
227227
trigger('impactMedium')
228-
TrackPlayer.remove([index])
228+
await TrackPlayer.remove([index])
229229

230230
const prevQueue = usePlayerQueueStore.getState().queue
231231
const newQueue = prevQueue.filter((_, i) => i !== index)
232232

233233
usePlayerQueueStore.getState().setQueue(newQueue)
234+
235+
// If queue is now empty, reset player state to hide miniplayer
236+
if (newQueue.length === 0) {
237+
usePlayerQueueStore.getState().setCurrentTrack(undefined)
238+
usePlayerQueueStore.getState().setCurrentIndex(undefined)
239+
await TrackPlayer.reset()
240+
}
234241
}
235242
}
236243

@@ -240,6 +247,13 @@ export const useRemoveUpcomingTracks = () => {
240247
const newQueue = await TrackPlayer.getQueue()
241248

242249
usePlayerQueueStore.getState().setQueue(newQueue as JellifyTrack[])
250+
251+
// If queue is now empty, reset player state to hide miniplayer
252+
if (newQueue.length === 0) {
253+
usePlayerQueueStore.getState().setCurrentTrack(undefined)
254+
usePlayerQueueStore.getState().setCurrentIndex(undefined)
255+
await TrackPlayer.reset()
256+
}
243257
}
244258
}
245259

0 commit comments

Comments
 (0)