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 {