From 01aba3f9c6fa89106cf5b6322b7919f26e92b21d Mon Sep 17 00:00:00 2001
From: Hakaba Hitoyo <hakabahitoyo@example.com>
Date: Fri, 26 Oct 2018 10:13:53 +0900
Subject: [PATCH 1/2] adapt to destructive change of api

---
 src/main.js | 17 ++++++++++++++---
 1 file changed, 14 insertions(+), 3 deletions(-)

diff --git a/src/main.js b/src/main.js
index 1b1780df..53cee313 100644
--- a/src/main.js
+++ b/src/main.js
@@ -217,9 +217,20 @@ window.fetch('/nodeinfo/2.0.json')
   .then((res) => res.json())
   .then((data) => {
     const metadata = data.metadata
-    store.dispatch('setInstanceOption', { name: 'mediaProxyAvailable', value: data.metadata.mediaProxy })
-    store.dispatch('setInstanceOption', { name: 'chatAvailable', value: data.metadata.chat })
-    store.dispatch('setInstanceOption', { name: 'gopherAvailable', value: data.metadata.gopher })
+
+    const features = metadata.features
+    store.dispatch('setInstanceOption', {
+      name: 'mediaProxyAvailable',
+      value: features.findIndex((element, index, array) => (element === 'media_proxy')) >= 0
+    })
+    store.dispatch('setInstanceOption', {
+      name: 'chatAvailable',
+      value: features.findIndex((element, index, array) => (element === 'chat')) >= 0
+    })
+    store.dispatch('setInstanceOption', {
+      name: 'gopherAvailable',
+      value: features.findIndex((element, index, array) => (element === 'gopher')) >= 0
+    })
 
     const suggestions = metadata.suggestions
     store.dispatch('setInstanceOption', { name: 'suggestionsEnabled', value: suggestions.enabled })

From 630c6e3e4417be8d79bf3ade011f07d78bf99b44 Mon Sep 17 00:00:00 2001
From: hakabahitoyo <hakabahitoyo@example.com>
Date: Fri, 26 Oct 2018 15:08:51 +0900
Subject: [PATCH 2/2] simplify code

---
 src/main.js | 15 +++------------
 1 file changed, 3 insertions(+), 12 deletions(-)

diff --git a/src/main.js b/src/main.js
index 53cee313..b71ae4cb 100644
--- a/src/main.js
+++ b/src/main.js
@@ -219,18 +219,9 @@ window.fetch('/nodeinfo/2.0.json')
     const metadata = data.metadata
 
     const features = metadata.features
-    store.dispatch('setInstanceOption', {
-      name: 'mediaProxyAvailable',
-      value: features.findIndex((element, index, array) => (element === 'media_proxy')) >= 0
-    })
-    store.dispatch('setInstanceOption', {
-      name: 'chatAvailable',
-      value: features.findIndex((element, index, array) => (element === 'chat')) >= 0
-    })
-    store.dispatch('setInstanceOption', {
-      name: 'gopherAvailable',
-      value: features.findIndex((element, index, array) => (element === 'gopher')) >= 0
-    })
+    store.dispatch('setInstanceOption', { name: 'mediaProxyAvailable', value: features.includes('media_proxy') })
+    store.dispatch('setInstanceOption', { name: 'chatAvailable', value: features.includes('chat') })
+    store.dispatch('setInstanceOption', { name: 'gopherAvailable', value: features.includes('gopher') })
 
     const suggestions = metadata.suggestions
     store.dispatch('setInstanceOption', { name: 'suggestionsEnabled', value: suggestions.enabled })