From d1e52fe93e654da4d767251b5613eacebd0ad5a9 Mon Sep 17 00:00:00 2001 From: Violet Caulfield <42452695+anultravioletaurora@users.noreply.github.com> Date: Wed, 19 Nov 2025 19:32:30 -0600 Subject: [PATCH] 669 bug artist list dissapears after refresh (#699) * fix issue where lists disappeared in the library tab * bump some dependencies * fix issue where context sheet wasn't at the right height on android --- ios/Jellify.xcodeproj/project.pbxproj | 5 +- ios/Podfile.lock | 4 +- package.json | 10 ++-- src/components/Albums/component.tsx | 4 ++ src/components/Artists/component.tsx | 9 +++- src/components/Context/index.tsx | 2 +- src/components/Tracks/component.tsx | 4 ++ yarn.lock | 74 +++++++++++++-------------- 8 files changed, 63 insertions(+), 49 deletions(-) diff --git a/ios/Jellify.xcodeproj/project.pbxproj b/ios/Jellify.xcodeproj/project.pbxproj index 5c201fb8..771f8de8 100644 --- a/ios/Jellify.xcodeproj/project.pbxproj +++ b/ios/Jellify.xcodeproj/project.pbxproj @@ -63,6 +63,7 @@ 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = LaunchScreen.storyboard; path = Jellify/LaunchScreen.storyboard; sourceTree = ""; }; 8798FC37A1454014A7B318F9 /* Figtree-SemiBold.otf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "Figtree-SemiBold.otf"; path = "../assets/fonts/Figtree-SemiBold.otf"; sourceTree = ""; }; 8B91428F7F524687A96EE362 /* Figtree-LightItalic.otf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "Figtree-LightItalic.otf"; path = "../assets/fonts/Figtree-LightItalic.otf"; sourceTree = ""; }; + B226FC42CAD40AAFAD287380 /* Pods-Jellify.devrelease.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Jellify.devrelease.xcconfig"; path = "Target Support Files/Pods-Jellify/Pods-Jellify.devrelease.xcconfig"; sourceTree = ""; }; C5258FBB23272277847FE07E /* libPods-Jellify.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Jellify.a"; sourceTree = BUILT_PRODUCTS_DIR; }; CF605E5D2DF95BAB00858968 /* Figtree-Black.otf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "Figtree-Black.otf"; sourceTree = ""; }; CF605E5E2DF95BAB00858968 /* Figtree-BlackItalic.otf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "Figtree-BlackItalic.otf"; sourceTree = ""; }; @@ -221,7 +222,7 @@ children = ( 1EFD74F540EE131CCCC762FE /* Pods-Jellify.debug.xcconfig */, E53A46F6214019C12F016ACB /* Pods-Jellify.release.xcconfig */, - 7980EBA21635C96A124E1463 /* Pods-Jellify.devrelease.xcconfig */, + B226FC42CAD40AAFAD287380 /* Pods-Jellify.devrelease.xcconfig */, ); path = Pods; sourceTree = ""; @@ -811,7 +812,7 @@ }; CFDEVREL001 /* DevRelease */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 7980EBA21635C96A124E1463 /* Pods-Jellify.devrelease.xcconfig */; + baseConfigurationReference = B226FC42CAD40AAFAD287380 /* Pods-Jellify.devrelease.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = YES; diff --git a/ios/Podfile.lock b/ios/Podfile.lock index 48706077..339533bd 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -2118,7 +2118,7 @@ PODS: - SocketRocket - SwiftAudioEx (= 1.1.0) - Yoga - - react-native-vector-icons-material-design-icons (12.3.0) + - react-native-vector-icons-material-design-icons (12.4.0) - React-NativeModulesApple (0.82.1): - boost - DoubleConversion @@ -3433,7 +3433,7 @@ SPEC CHECKSUMS: react-native-pager-view: a0516effb17ca5120ac2113bfd21b91130ad5748 react-native-safe-area-context: c00143b4823773bba23f2f19f85663ae89ceb460 react-native-track-player: 89d8e641c83a89bea5dee43c381be743282553e9 - react-native-vector-icons-material-design-icons: c502df5b988ce85d6c7d2b7ee909818315760b82 + react-native-vector-icons-material-design-icons: 76cd460b3540b80527b4a80fb7f867f7deedb498 React-NativeModulesApple: 46690a0fe94ec28fc6fc686ec797b911d251ded0 React-oscompat: 95875e81f5d4b3c7b2c888d5bd2c9d83450d8bdb React-perflogger: 2e229bf33e42c094fd64516d89ec1187a2b79b5b diff --git a/package.json b/package.json index b49ad883..87198942 100644 --- a/package.json +++ b/package.json @@ -42,11 +42,11 @@ "@react-native-community/cli": "20.0.0", "@react-native-community/netinfo": "^11.4.1", "@react-native-masked-view/masked-view": "^0.3.2", - "@react-native-vector-icons/material-design-icons": "^12.3.0", - "@react-navigation/bottom-tabs": "7.7.1", - "@react-navigation/material-top-tabs": "7.4.1", - "@react-navigation/native": "7.1.19", - "@react-navigation/native-stack": "7.6.1", + "@react-native-vector-icons/material-design-icons": "12.4.0", + "@react-navigation/bottom-tabs": "7.8.5", + "@react-navigation/material-top-tabs": "7.4.3", + "@react-navigation/native": "7.1.20", + "@react-navigation/native-stack": "7.6.3", "@sentry/react-native": "7.6.0", "@shopify/flash-list": "2.2.0", "@tamagui/config": "1.137.1", diff --git a/src/components/Albums/component.tsx b/src/components/Albums/component.tsx index 851ef2ae..fe28c31c 100644 --- a/src/components/Albums/component.tsx +++ b/src/components/Albums/component.tsx @@ -143,6 +143,10 @@ export default function Albums({ onEndReached={onEndReached} ItemSeparatorComponent={ItemSeparatorComponent} refreshControl={refreshControl} + stickyHeaderConfig={{ + // When this is true the flashlist likes to flicker + useNativeDriver: false, + }} stickyHeaderIndices={stickyHeaderIndices} /> diff --git a/src/components/Artists/component.tsx b/src/components/Artists/component.tsx index c7d30789..39054276 100644 --- a/src/components/Artists/component.tsx +++ b/src/components/Artists/component.tsx @@ -1,5 +1,5 @@ import React, { RefObject, useCallback, useEffect, useMemo, useRef } from 'react' -import { Separator, useTheme, XStack, YStack } from 'tamagui' +import { getTokenValue, Separator, useTheme, XStack, YStack } from 'tamagui' import { Text } from '../Global/helpers/text' import { RefreshControl } from 'react-native' import ItemRow from '../Global/components/item-row' @@ -82,7 +82,7 @@ export default function Artists({ ) : typeof artist === 'number' ? null : typeof artist === 'object' ? ( ) : null, - [navigation, artists], + [navigation], ) // Effect for handling the pending alphabet selector letter @@ -125,6 +125,7 @@ export default function Artists({ return ( { if (artistsInfiniteQuery.hasPreviousPage) artistsInfiniteQuery.fetchPreviousPage() diff --git a/src/components/Context/index.tsx b/src/components/Context/index.tsx index 4ed2dc1a..3410d1c9 100644 --- a/src/components/Context/index.tsx +++ b/src/components/Context/index.tsx @@ -108,7 +108,7 @@ export default function ItemContext({ useEffect(() => trigger('impactLight'), [item?.Id]) return ( - + {renderAddToQueueRow && } diff --git a/src/components/Tracks/component.tsx b/src/components/Tracks/component.tsx index bd3da46c..84251bef 100644 --- a/src/components/Tracks/component.tsx +++ b/src/components/Tracks/component.tsx @@ -168,6 +168,10 @@ export default function Tracks({ } + stickyHeaderConfig={{ + // When this is true the flashlist likes to flicker + useNativeDriver: false, + }} /> {showAlphabeticalSelector && trackPageParams && ( diff --git a/yarn.lock b/yarn.lock index 0848661b..73c3b407 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1922,21 +1922,21 @@ resolved "https://registry.yarnpkg.com/@react-native-masked-view/masked-view/-/masked-view-0.3.2.tgz#7064533a573e3539ec912f59c1f457371bf49dd9" integrity sha512-XwuQoW7/GEgWRMovOQtX3A4PrXhyaZm0lVUiY8qJDvdngjLms9Cpdck6SmGAUNqQwcj2EadHC1HwL0bEyoa/SQ== -"@react-native-vector-icons/common@^12.3.0": - version "12.3.0" - resolved "https://registry.yarnpkg.com/@react-native-vector-icons/common/-/common-12.3.0.tgz#8a3cb778fd197e971da0fa69a35fa4fc8b030f1a" - integrity sha512-5GMBcLBkA0MuciweYcrSyvi9fYGanfVnE2J+pwHx1QiaVgTaoCm4rylJgSS77MVI5qUiGh7aJpqq5afSz2U4bw== +"@react-native-vector-icons/common@^12.4.0": + version "12.4.0" + resolved "https://registry.yarnpkg.com/@react-native-vector-icons/common/-/common-12.4.0.tgz#60fc6f4d9a0e7e7b06f7c3a996e320c72c588a15" + integrity sha512-t9W0q+AW7WH1Oj5aEg7wGNXDLZJb5sIVkAWo5qtad3PcbBADqoCdikRK/ToLK+xlB0TxjcuL0T74ogudMkYGeA== dependencies: find-up "^7.0.0" picocolors "^1.1.1" plist "^3.1.0" -"@react-native-vector-icons/material-design-icons@^12.3.0": - version "12.3.0" - resolved "https://registry.yarnpkg.com/@react-native-vector-icons/material-design-icons/-/material-design-icons-12.3.0.tgz#2cad45c0a12afb0d05f7620eb8b81b4470f15f42" - integrity sha512-0fut9zjUJtGWwjGQ0lbirmPnjMkou9vkBY3d3ZsaHqXCBgV3fGeOWuRZ17eDpsGy/9BTRtBRI85RYdFGhdcB4Q== +"@react-native-vector-icons/material-design-icons@12.4.0": + version "12.4.0" + resolved "https://registry.yarnpkg.com/@react-native-vector-icons/material-design-icons/-/material-design-icons-12.4.0.tgz#e4377ce3214fc97e536190920fa48638930ca31a" + integrity sha512-4ewAiHdOCujqprUJYFnBcUJduNddAc+w3Plnl1NhJksAyOaHzCNBg01JgVtkysxPho6++OOMge3FhwyBT8Wtcg== dependencies: - "@react-native-vector-icons/common" "^12.3.0" + "@react-native-vector-icons/common" "^12.4.0" "@react-native/assets-registry@0.82.1": version "0.82.1" @@ -2135,19 +2135,19 @@ invariant "^2.2.4" nullthrows "^1.1.1" -"@react-navigation/bottom-tabs@7.7.1": - version "7.7.1" - resolved "https://registry.yarnpkg.com/@react-navigation/bottom-tabs/-/bottom-tabs-7.7.1.tgz#64f996c1b5cfaacd1173c8cb5b5499a1db761cc7" - integrity sha512-BU4k7To+idoQNsoXZwf71kOgkg7IWCsr5ZYFdqnQi/MjgNEpu46KenofQNw80cT0o7luNupNL2/WgjJnT/tQ2g== +"@react-navigation/bottom-tabs@7.8.5": + version "7.8.5" + resolved "https://registry.yarnpkg.com/@react-navigation/bottom-tabs/-/bottom-tabs-7.8.5.tgz#def0fddd299a665b45a4604d8ae95702860610f4" + integrity sha512-Zm9UOTfEtBLL7Wm+JBc0v/lh72cen9a8WVN5KSCEN7EtiQIPXbQUZg1ktEzme600HhxvaNZzzSz0X+w2E5nG5w== dependencies: - "@react-navigation/elements" "^2.8.0" + "@react-navigation/elements" "^2.8.2" color "^4.2.3" sf-symbols-typescript "^2.1.0" -"@react-navigation/core@^7.13.0": - version "7.13.0" - resolved "https://registry.yarnpkg.com/@react-navigation/core/-/core-7.13.0.tgz#71577637cc32626e208fa994fc13e77394b17932" - integrity sha512-Fc/SO23HnlGnkou/z8JQUzwEMvhxuUhr4rdPTIZp/c8q1atq3k632Nfh8fEiGtk+MP1wtIvXdN2a5hBIWpLq3g== +"@react-navigation/core@^7.13.1": + version "7.13.1" + resolved "https://registry.yarnpkg.com/@react-navigation/core/-/core-7.13.1.tgz#ad013f2adcd8604e947dc8c6e52e8fbfc97a6582" + integrity sha512-aPf1vjQhMytPC9CmJu28hT5eTaBJuqIf9T6IRICtap5HHgFLrsYizLZrg3D0H2AoPyOoijMPWzwf7VCBzfGvrg== dependencies: "@react-navigation/routers" "^7.5.1" escape-string-regexp "^4.0.0" @@ -2158,40 +2158,40 @@ use-latest-callback "^0.2.4" use-sync-external-store "^1.5.0" -"@react-navigation/elements@^2.8.0": - version "2.8.0" - resolved "https://registry.yarnpkg.com/@react-navigation/elements/-/elements-2.8.0.tgz#da804a5aed08ba1bcc3c311b70aec99edfaef8ca" - integrity sha512-uvSOkYOF7wfgkt57cl+6fZ2vQgTiYYyJleZzuWthPKHK4nDq2M4sc9SSzgK9GS9UCJFRBErNtl3S+/ErtrwREw== +"@react-navigation/elements@^2.8.2": + version "2.8.2" + resolved "https://registry.yarnpkg.com/@react-navigation/elements/-/elements-2.8.2.tgz#7aa74ac3870303bc86e12c09c3e821efdc63bf03" + integrity sha512-K5NWIMar81oAoRAgLwrWcLpXzY2K5yG3gNU/56uyC12u+i5SyIVAv+ygP36UXvrNLzDigg8OdRSdEBb8ePqQtA== dependencies: color "^4.2.3" use-latest-callback "^0.2.4" use-sync-external-store "^1.5.0" -"@react-navigation/material-top-tabs@7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@react-navigation/material-top-tabs/-/material-top-tabs-7.4.1.tgz#5287a79c4efb1cbf19cf2fff1d85221b069c1e38" - integrity sha512-dox0p78P+dScyRBsCUrSITjG/iXeT/QAj+AS2viBfE2Odr+CmnYbNYawMyAQO/GzYB5ImqP4lgNvP+qBrCypMA== +"@react-navigation/material-top-tabs@7.4.3": + version "7.4.3" + resolved "https://registry.yarnpkg.com/@react-navigation/material-top-tabs/-/material-top-tabs-7.4.3.tgz#e9284e2851a91f349afb7365b779e9de7ac2ca61" + integrity sha512-CI0jJmal0grOvCRIe2aTYUowEDnLh44J+xCwZkbRnCsMNie1sqCfbGFxuOOb/OiMuPRdvi8uCrlARNgTUMsLOg== dependencies: - "@react-navigation/elements" "^2.8.0" + "@react-navigation/elements" "^2.8.2" color "^4.2.3" react-native-tab-view "^4.2.0" -"@react-navigation/native-stack@7.6.1": - version "7.6.1" - resolved "https://registry.yarnpkg.com/@react-navigation/native-stack/-/native-stack-7.6.1.tgz#6854982eb0abc322e711689de6fdae62d0a710c5" - integrity sha512-JbYhLzZD6dHv23bGYusToaOlsdEdMgL/QtKEhwV9fEKgFNoDvkZlak8rTPJUrOlC56QwMOPe1vLG83udlNeVYQ== +"@react-navigation/native-stack@7.6.3": + version "7.6.3" + resolved "https://registry.yarnpkg.com/@react-navigation/native-stack/-/native-stack-7.6.3.tgz#ed39844ebd9e58099de267de4f06f9cbc426120b" + integrity sha512-F0f0+3K1mVWiQEZbyZen0LAl7Gc4qpbWM4Tpva5aCqBAECZyn7/uLbVhSXtC/EwzMqQ+ojPLtceFQhXhJqfqfg== dependencies: - "@react-navigation/elements" "^2.8.0" + "@react-navigation/elements" "^2.8.2" color "^4.2.3" sf-symbols-typescript "^2.1.0" warn-once "^0.1.1" -"@react-navigation/native@7.1.19": - version "7.1.19" - resolved "https://registry.yarnpkg.com/@react-navigation/native/-/native-7.1.19.tgz#f147e412a9f4a5c5eed85b4bde25171d0ce0297b" - integrity sha512-fM7q8di4Q8sp2WUhiUWOe7bEDRyRhbzsKQOd5N2k+lHeCx3UncsRYuw4Q/KN0EovM3wWKqMMmhy/YWuEO04kgw== +"@react-navigation/native@7.1.20": + version "7.1.20" + resolved "https://registry.yarnpkg.com/@react-navigation/native/-/native-7.1.20.tgz#60e83c62482e1203f72e9ad68c84c7bb81cb98c3" + integrity sha512-15luFq+35M2IOMHgbTJ0XDkPY7gm3YlR3yQKTuOTOHs+EeAUX71DlUuqcWMRqB0tt+OT6HimDQR7OboTB0N30g== dependencies: - "@react-navigation/core" "^7.13.0" + "@react-navigation/core" "^7.13.1" escape-string-regexp "^4.0.0" fast-deep-equal "^3.1.3" nanoid "^3.3.11"