From 4535ab4c434ba5961e5d8b5ec3957d4e05cd99eb Mon Sep 17 00:00:00 2001
From: sei0o <sei0o@live.jp>
Date: Fri, 17 Aug 2018 16:35:04 +0900
Subject: [PATCH 1/2] fix #2266

---
 .../app/common/views/components/visibility-chooser.vue    | 8 +++++++-
 src/client/app/desktop/views/components/post-form.vue     | 5 ++---
 src/client/app/mobile/views/components/post-form.vue      | 5 ++---
 src/client/app/store.ts                                   | 4 ++++
 4 files changed, 15 insertions(+), 7 deletions(-)

diff --git a/src/client/app/common/views/components/visibility-chooser.vue b/src/client/app/common/views/components/visibility-chooser.vue
index cc9c75095e..8be3ddb8f6 100644
--- a/src/client/app/common/views/components/visibility-chooser.vue
+++ b/src/client/app/common/views/components/visibility-chooser.vue
@@ -44,7 +44,12 @@ import Vue from 'vue';
 import * as anime from 'animejs';
 
 export default Vue.extend({
-	props: ['source', 'compact', 'v'],
+	data() {
+		return {
+			v: this.$store.state.device.visibility
+		}
+	},
+	props: ['source', 'compact'],
 	mounted() {
 		this.$nextTick(() => {
 			const popover = this.$refs.popover as any;
@@ -92,6 +97,7 @@ export default Vue.extend({
 	},
 	methods: {
 		choose(visibility) {
+			this.$store.commit('device/setVisibility', visibility);
 			this.$emit('chosen', visibility);
 			this.$destroy();
 		},
diff --git a/src/client/app/desktop/views/components/post-form.vue b/src/client/app/desktop/views/components/post-form.vue
index ea51144173..6b833f8d03 100644
--- a/src/client/app/desktop/views/components/post-form.vue
+++ b/src/client/app/desktop/views/components/post-form.vue
@@ -99,7 +99,7 @@ export default Vue.extend({
 			useCw: false,
 			cw: null,
 			geo: null,
-			visibility: 'public',
+			visibility: this.$store.state.device.visibility,
 			visibleUsers: [],
 			autocomplete: null,
 			draghover: false,
@@ -326,8 +326,7 @@ export default Vue.extend({
 
 		setVisibility() {
 			const w = (this as any).os.new(MkVisibilityChooser, {
-				source: this.$refs.visibilityButton,
-				v: this.visibility
+				source: this.$refs.visibilityButton
 			});
 			w.$once('chosen', v => {
 				this.visibility = v;
diff --git a/src/client/app/mobile/views/components/post-form.vue b/src/client/app/mobile/views/components/post-form.vue
index 702bc4c9e1..cb3b59b2cb 100644
--- a/src/client/app/mobile/views/components/post-form.vue
+++ b/src/client/app/mobile/views/components/post-form.vue
@@ -94,7 +94,7 @@ export default Vue.extend({
 			files: [],
 			poll: false,
 			geo: null,
-			visibility: 'public',
+			visibility: this.$store.state.device.visibility,
 			visibleUsers: [],
 			useCw: false,
 			cw: null,
@@ -240,8 +240,7 @@ export default Vue.extend({
 		setVisibility() {
 			const w = (this as any).os.new(MkVisibilityChooser, {
 				source: this.$refs.visibilityButton,
-				compact: true,
-				v: this.visibility
+				compact: true
 			});
 			w.$once('chosen', v => {
 				this.visibility = v;
diff --git a/src/client/app/store.ts b/src/client/app/store.ts
index f85253a281..7e2cc3976b 100644
--- a/src/client/app/store.ts
+++ b/src/client/app/store.ts
@@ -110,6 +110,10 @@ export default (os: MiOS) => new Vuex.Store({
 						src: x.src,
 						arg: x.arg
 					};
+				},
+
+				setVisibility(state, visibility) {
+					state.visibility = visibility;
 				}
 			}
 		},

From e4b8c688bb98770084003fa3f9d666788908cc83 Mon Sep 17 00:00:00 2001
From: sei0o <sei0o@live.jp>
Date: Fri, 17 Aug 2018 17:16:27 +0900
Subject: [PATCH 2/2] =?UTF-8?q?fix=20#2266:=20=E3=83=87=E3=83=95=E3=82=A9?=
 =?UTF-8?q?=E3=83=AB=E3=83=88=E5=80=A4=E3=82=92=E8=A8=AD=E5=AE=9A?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 src/client/app/desktop/views/components/post-form.vue | 2 +-
 src/client/app/mobile/views/components/post-form.vue  | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/client/app/desktop/views/components/post-form.vue b/src/client/app/desktop/views/components/post-form.vue
index 6b833f8d03..d5d160bd8f 100644
--- a/src/client/app/desktop/views/components/post-form.vue
+++ b/src/client/app/desktop/views/components/post-form.vue
@@ -99,7 +99,7 @@ export default Vue.extend({
 			useCw: false,
 			cw: null,
 			geo: null,
-			visibility: this.$store.state.device.visibility,
+			visibility: this.$store.state.device.visibility || 'public',
 			visibleUsers: [],
 			autocomplete: null,
 			draghover: false,
diff --git a/src/client/app/mobile/views/components/post-form.vue b/src/client/app/mobile/views/components/post-form.vue
index cb3b59b2cb..466ca393d5 100644
--- a/src/client/app/mobile/views/components/post-form.vue
+++ b/src/client/app/mobile/views/components/post-form.vue
@@ -94,7 +94,7 @@ export default Vue.extend({
 			files: [],
 			poll: false,
 			geo: null,
-			visibility: this.$store.state.device.visibility,
+			visibility: this.$store.state.device.visibility || 'public',
 			visibleUsers: [],
 			useCw: false,
 			cw: null,