diff --git a/android/app/build.gradle b/android/app/build.gradle index a83cf957e..f5aaaf9d9 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -118,7 +118,7 @@ android { minSdkVersion 16 targetSdkVersion 27 versionCode 1 - versionName "6.8" + versionName "6.8.1" multiDexEnabled true ndk { abiFilters "armeabi-v7a", "x86" diff --git a/ios/Podfile.lock b/ios/Podfile.lock index 65694ad58..7d0d64be0 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -15,6 +15,6 @@ SPEC CHECKSUMS: QBImagePickerController: d54cf93db6decf26baf6ed3472f336ef35cae022 RSKImageCropper: d9a1acbc0600bf8decc8f0d21895872c99a9e4cf -PODFILE CHECKSUM: 5effe5ff74f049d1a27b91df714ddd9291059a54 +PODFILE CHECKSUM: 071e16becd46f793bfc779b2e8e371cfa05b39b9 COCOAPODS: 1.5.3 diff --git a/ios/kitsu_mobile.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/ios/kitsu_mobile.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings new file mode 100644 index 000000000..949b67898 --- /dev/null +++ b/ios/kitsu_mobile.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings @@ -0,0 +1,8 @@ + + + + + BuildSystemType + Original + + diff --git a/ios/kitsu_mobile/Info.plist b/ios/kitsu_mobile/Info.plist index 92ac6ad84..46f28e679 100644 --- a/ios/kitsu_mobile/Info.plist +++ b/ios/kitsu_mobile/Info.plist @@ -17,7 +17,7 @@ CFBundlePackageType APPL CFBundleShortVersionString - 6.8 + 6.8.1 CFBundleSignature ???? CFBundleURLTypes diff --git a/package.json b/package.json index 71ab017de..7ed32981f 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "kitsu_mobile", - "version": "6.8", + "version": "6.8.1", "private": true, "scripts": { "debug": "REACT_DEBUGGER=\"rndebugger-open --open --port 8081\" yarn start", diff --git a/src/config/env.js b/src/config/env.js index f295cacf1..94b335b3a 100644 --- a/src/config/env.js +++ b/src/config/env.js @@ -12,7 +12,7 @@ export const kitsuConfig = { assetsUrl: `${kitsuUrl}/images`, baseUrl: apiUrl, uploadUrl: `${apiUrl}/edge/uploads/_bulk`, - version: '6.8', + version: '6.8.1', stream: { API_KEY: 'eb6dvmba4ct3', API_SECRET: diff --git a/src/screens/Feed/index.js b/src/screens/Feed/index.js index 99408f0c6..4c0c9ce17 100644 --- a/src/screens/Feed/index.js +++ b/src/screens/Feed/index.js @@ -241,7 +241,7 @@ class Feed extends React.PureComponent { Disable this on iOS if we start to get missing content We could also improve performance by setting `windowSize` prop (default is 21, 10 views above and 10 views below) */ - removeClippedSubviews + removeClippedSubviews={Platform.OS === 'android'} /> diff --git a/src/screens/Profiles/MediaPages/pages/Episodes/Unit/component.js b/src/screens/Profiles/MediaPages/pages/Episodes/Unit/component.js index e7a09f1e6..1edb60348 100644 --- a/src/screens/Profiles/MediaPages/pages/Episodes/Unit/component.js +++ b/src/screens/Profiles/MediaPages/pages/Episodes/Unit/component.js @@ -82,8 +82,8 @@ class Unit extends PureComponent { this.setState({ selectedUnit: item, selectedVideoIndex: 0 }, this.fetchFeed); video = item.videos[0]; } - const { eid, network } = video.embedData; - const message = { message: 'initialize', id: eid, network }; + const embedData = (video && video.embedData) || {}; + const message = { message: 'initialize', id: embedData.eid, network: embedData.network }; this.webview.postMessage(JSON.stringify(message)); }; @@ -184,7 +184,7 @@ class Unit extends PureComponent { )); // Injected javascript - const selectedVideoData = selectedVideo && selectedVideo.embedData; + const selectedVideoData = (selectedVideo && selectedVideo.embedData) || {}; const injectedJavaScript = `window.initializeHulu('${selectedVideoData.eid}', '${selectedVideoData.network}');`; return ( diff --git a/src/screens/Profiles/ProfilePages/pages/Library/component.js b/src/screens/Profiles/ProfilePages/pages/Library/component.js index 73e2dca18..5d4a10ab9 100644 --- a/src/screens/Profiles/ProfilePages/pages/Library/component.js +++ b/src/screens/Profiles/ProfilePages/pages/Library/component.js @@ -34,11 +34,14 @@ const getCardVisibilityCounts = () => { const progressFromLibraryEntry = (libraryEntry) => { const mediaData = libraryEntry.anime || libraryEntry.manga; - if (mediaData.type === 'anime') { - return Math.floor((libraryEntry.progress / mediaData.episodeCount) * 100); - } + // Make sure we have a media set for the entry + if (!mediaData) return 0; + + // Make sure we have an episode or chapter count + const count = mediaData.type === 'anime' ? mediaData.episodeCount : mediaData.chapterCount; + if (!count) return 0; - return Math.floor((libraryEntry.progress / mediaData.chapterCount) * 100); + return Math.floor((libraryEntry.progress / count) * 100); }; class Library extends PureComponent {