chore: package updates to try get android to build

Updated packages to latest expo beta
Updated some MMKV usages

Signed-off-by: Lance Chant <13349722+lancechant@users.noreply.github.com>
This commit is contained in:
Lance Chant
2025-09-02 08:15:04 +02:00
parent ccf27284f6
commit c335a3269e
11 changed files with 373 additions and 282 deletions

View File

@@ -76,6 +76,7 @@
"useFrameworks": "static"
},
"android": {
"buildArchs": ["arm64-v8a", "x86_64"],
"compileSdkVersion": 35,
"targetSdkVersion": 35,
"buildToolsVersion": "35.0.0",

View File

@@ -91,7 +91,7 @@ export default function page() {
title: series[0].item.SeriesName,
});
} else {
storage.delete(seriesId);
storage.remove(seriesId);
router.back();
}
}, [series]);

View File

@@ -23,7 +23,7 @@ MMKV.prototype.get = function <T>(key: string): T | undefined {
MMKV.prototype.setAny = function (key: string, value: any | undefined): void {
try {
if (value === undefined) {
this.delete(key);
this.remove(key);
} else {
this.set(key, JSON.stringify(value));
}

492
bun.lock

File diff suppressed because it is too large Load Diff

View File

@@ -65,8 +65,8 @@ const JELLYSEERR_USER = "JELLYSEERR_USER";
const JELLYSEERR_COOKIES = "JELLYSEERR_COOKIES";
export const clearJellyseerrStorageData = () => {
storage.delete(JELLYSEERR_USER);
storage.delete(JELLYSEERR_COOKIES);
storage.remove(JELLYSEERR_USER);
storage.remove(JELLYSEERR_COOKIES);
};
export enum Endpoints {

View File

@@ -23,60 +23,62 @@
},
"dependencies": {
"@bottom-tabs/react-navigation": "^0.9.2",
"@expo/metro-runtime": "~5.0.4",
"@expo/metro-runtime": "~6.1.1",
"@expo/react-native-action-sheet": "^4.1.1",
"@expo/vector-icons": "^14.1.0",
"@expo/vector-icons": "^15.0.2",
"@gorhom/bottom-sheet": "^5.1.0",
"@jellyfin/sdk": "^0.11.0",
"@kesha-antonov/react-native-background-downloader": "^3.2.6",
"@react-native-community/netinfo": "^11.4.1",
"@react-native-menu/menu": "^1.2.3",
"@react-native-menu/menu": "^1.2.4",
"@react-navigation/material-top-tabs": "^7.2.14",
"@react-navigation/native": "^7.0.14",
"@shopify/flash-list": "^1.8.3",
"@tanstack/react-query": "^5.66.0",
"axios": "^1.7.9",
"expo": "^53.0.22",
"expo-application": "~6.1.4",
"expo-asset": "~11.1.7",
"expo-background-task": "~0.2.8",
"expo-blur": "~14.1.4",
"expo-brightness": "~13.1.4",
"expo-build-properties": "~0.14.6",
"expo-constants": "~17.1.5",
"expo-dev-client": "^5.2.0",
"expo-device": "~7.1.4",
"expo-font": "~13.3.1",
"expo-haptics": "~14.1.4",
"expo-image": "~2.4.0",
"expo-linear-gradient": "~14.1.4",
"expo-linking": "~7.1.4",
"expo-localization": "~16.1.5",
"expo-notifications": "~0.31.2",
"expo-router": "~5.1.5",
"expo-screen-orientation": "~8.1.6",
"expo-sensors": "~14.1.4",
"expo-sharing": "~13.1.5",
"expo-splash-screen": "~0.30.8",
"expo-status-bar": "~2.2.3",
"expo-system-ui": "~5.0.11",
"expo-task-manager": "~13.1.6",
"expo-web-browser": "~14.2.0",
"expo": "^54.0.0-preview.12",
"expo-application": "~7.0.5",
"expo-asset": "~12.0.6",
"expo-background-task": "~1.0.5",
"expo-blur": "~15.0.5",
"expo-brightness": "~14.0.5",
"expo-build-properties": "~1.0.6",
"expo-constants": "~18.0.6",
"expo-dev-client": "~6.0.7",
"expo-device": "~8.0.5",
"expo-font": "~14.0.6",
"expo-haptics": "~15.0.5",
"expo-image": "~3.0.5",
"expo-linear-gradient": "~15.0.5",
"expo-linking": "~8.0.6",
"expo-localization": "~17.0.5",
"expo-notifications": "~0.32.7",
"expo-router": "~6.0.0-preview.12",
"expo-screen-orientation": "~9.0.5",
"expo-sensors": "~15.0.5",
"expo-sharing": "~14.0.5",
"expo-splash-screen": "~31.0.7",
"expo-status-bar": "~3.0.6",
"expo-system-ui": "~6.0.5",
"expo-task-manager": "~14.0.5",
"expo-web-browser": "~15.0.5",
"i18next": "^25.0.0",
"jotai": "^2.12.5",
"lodash": "^4.17.21",
"nativewind": "^2.0.11",
"react": "19.0.0",
"react-dom": "19.0.0",
"patch-package": "^8.0.0",
"react": "19.1.0",
"react-dom": "19.1.0",
"react-i18next": "^15.4.0",
"react-native": "npm:react-native-tvos@0.79.5-0",
"react-native": "npm:react-native-tvos@0.81.1-1",
"react-native-awesome-slider": "^2.9.0",
"react-native-bottom-tabs": "^0.9.2",
"react-native-circular-progress": "^1.4.1",
"react-native-collapsible": "^1.6.2",
"react-native-country-flag": "^2.0.2",
"react-native-device-info": "^14.0.4",
"react-native-gesture-handler": "~2.24.0",
"react-native-edge-to-edge": "^1.7.0",
"react-native-gesture-handler": "~2.28.0",
"react-native-google-cast": "^4.9.0",
"react-native-image-colors": "^2.4.0",
"react-native-ios-context-menu": "^3.1.0",
@@ -84,17 +86,17 @@
"react-native-mmkv": "4.0.0-beta.6",
"react-native-nitro-modules": "^0.29.1",
"react-native-pager-view": "^6.9.1",
"react-native-reanimated": "~3.17.4",
"react-native-reanimated": "~4.1.0",
"react-native-reanimated-carousel": "4.0.2",
"react-native-safe-area-context": "5.4.0",
"react-native-screens": "~4.11.1",
"react-native-svg": "15.11.2",
"react-native-safe-area-context": "~5.6.0",
"react-native-screens": "~4.15.4",
"react-native-svg": "15.12.1",
"react-native-udp": "^4.1.7",
"react-native-url-polyfill": "^2.0.0",
"react-native-uuid": "^2.0.3",
"react-native-video": "6.14.1",
"react-native-video": "6.16.1",
"react-native-volume-manager": "^2.0.8",
"react-native-web": "^0.20.0",
"react-native-web": "^0.21.0",
"sonner-native": "^0.21.0",
"tailwindcss": "3.3.2",
"use-debounce": "^10.0.4",

View File

@@ -0,0 +1,58 @@
diff --git a/node_modules/@react-native-menu/menu/android/.DS_Store b/node_modules/@react-native-menu/menu/android/.DS_Store
new file mode 100644
index 0000000..5008ddf
Binary files /dev/null and b/node_modules/@react-native-menu/menu/android/.DS_Store differ
diff --git a/node_modules/@react-native-menu/menu/android/src/main/java/com/reactnativemenu/MenuView.kt b/node_modules/@react-native-menu/menu/android/src/main/java/com/reactnativemenu/MenuView.kt
index 17ed7c6..c45f5cc 100644
--- a/node_modules/@react-native-menu/menu/android/src/main/java/com/reactnativemenu/MenuView.kt
+++ b/node_modules/@react-native-menu/menu/android/src/main/java/com/reactnativemenu/MenuView.kt
@@ -24,6 +24,11 @@ class MenuView(private val mContext: ReactContext) : ReactViewGroup(mContext) {
private var mIsOnLongPress = false
private var mGestureDetector: GestureDetector
private var mHitSlopRect: Rect? = null
+ set(value) {
+ super.hitSlopRect = value
+ mHitSlopRect = value
+ updateTouchDelegate()
+ }
init {
mGestureDetector = GestureDetector(mContext, object : GestureDetector.SimpleOnGestureListener() {
@@ -47,12 +52,6 @@ class MenuView(private val mContext: ReactContext) : ReactViewGroup(mContext) {
prepareMenu()
}
- override fun setHitSlopRect(rect: Rect?) {
- super.setHitSlopRect(rect)
- mHitSlopRect = rect
- updateTouchDelegate()
- }
-
override fun onInterceptTouchEvent(ev: MotionEvent): Boolean {
return true
}
diff --git a/node_modules/@react-native-menu/menu/android/src/main/java/com/reactnativemenu/MenuViewManagerBase.kt b/node_modules/@react-native-menu/menu/android/src/main/java/com/reactnativemenu/MenuViewManagerBase.kt
index 4731e1a..e4d2743 100644
--- a/node_modules/@react-native-menu/menu/android/src/main/java/com/reactnativemenu/MenuViewManagerBase.kt
+++ b/node_modules/@react-native-menu/menu/android/src/main/java/com/reactnativemenu/MenuViewManagerBase.kt
@@ -123,9 +123,9 @@ abstract class MenuViewManagerBase : ReactClippingViewManager<MenuView>() {
fun setHitSlop(view: ReactViewGroup, @Nullable hitSlop: ReadableMap?) {
if (hitSlop == null) {
// We should keep using setters as `Val cannot be reassigned`
- view.setHitSlopRect(null)
+ view.hitSlopRect = null
} else {
- view.setHitSlopRect(
+ view.hitSlopRect = (
Rect(
if (hitSlop.hasKey("left"))
PixelUtil.toPixelFromDIP(hitSlop.getDouble("left")).toInt()
@@ -206,7 +206,7 @@ abstract class MenuViewManagerBase : ReactClippingViewManager<MenuView>() {
@ReactProp(name = ViewProps.OVERFLOW)
fun setOverflow(view: ReactViewGroup, overflow: String?) {
- view.setOverflow(overflow)
+ view.overflow = overflow
}
@ReactProp(name = "backfaceVisibility")

View File

@@ -212,7 +212,7 @@ export const JellyfinProvider: React.FC<{ children: ReactNode }> = ({
const removeServerMutation = useMutation({
mutationFn: async () => {
storage.delete("serverUrl");
storage.remove("serverUrl");
setApi(null);
},
onError: (error) => {
@@ -295,7 +295,7 @@ export const JellyfinProvider: React.FC<{ children: ReactNode }> = ({
writeErrorLog("Failed to delete expo push token for device"),
);
storage.delete("token");
storage.remove("token");
setUser(null);
setApi(null);
setPluginSettings(undefined);

View File

@@ -91,7 +91,7 @@ export const sortByPreferenceAtom = atomWithStorage<SortPreference>(
storage.set(key, JSON.stringify(value));
},
removeItem: (key) => {
storage.delete(key);
storage.remove(key);
},
},
);
@@ -108,7 +108,7 @@ export const sortOrderPreferenceAtom = atomWithStorage<SortOrderPreference>(
storage.set(key, JSON.stringify(value));
},
removeItem: (key) => {
storage.delete(key);
storage.remove(key);
},
},
);

View File

@@ -16,7 +16,7 @@ interface LogEntry {
const mmkvStorage = createJSONStorage(() => ({
getItem: (key: string) => storage.getString(key) || null,
setItem: (key: string, value: string) => storage.set(key, value),
removeItem: (key: string) => storage.delete(key),
removeItem: (key: string) => storage.remove(key),
}));
const logsAtom = atomWithStorage("logs", [], mmkvStorage);
@@ -74,7 +74,7 @@ export const readFromLog = (): LogEntry[] => {
};
export const clearLogs = () => {
storage.delete("logs");
storage.remove("logs");
};
export function useLog() {

View File

@@ -1,5 +1,5 @@
import { MMKV } from "react-native-mmkv";
import { createMMKV } from "react-native-mmkv";
// Create a single MMKV instance following the official documentation
// https://github.com/mrousavy/react-native-mmkv
export const storage = new MMKV();
export const storage = createMMKV();