diff --git a/.eslintrc.js b/.eslintrc.js
index 8c95cfb92dd3eb57f98d77fc98e09cb1b7876e2e..b526df6794fde49bd97e91c1d628f9f8b27994b3 100644
--- a/.eslintrc.js
+++ b/.eslintrc.js
@@ -27,6 +27,7 @@ module.exports = {
     'vue/use-v-on-exact': 1,
     'vue/no-parsing-error': 1,
     'vue/require-v-for-key': 1,
+    'vue/valid-v-for': 1,
     'vue/require-prop-types': 1,
     'vue/no-use-v-if-with-v-for': 1,
     'indent': 1,
diff --git a/build/webpack.prod.conf.js b/build/webpack.prod.conf.js
index 85ea1bee9069af55f8ee8378ba59fbbeb92af467..e7d25bfe395ecc1fbb4a75a8f2c4f1f445ee7967 100644
--- a/build/webpack.prod.conf.js
+++ b/build/webpack.prod.conf.js
@@ -17,17 +17,21 @@ let commitHash = require('child_process')
 console.log(commitHash)
 
 var webpackConfig = merge(baseWebpackConfig, {
+  mode: 'production',
   module: {
     rules: utils.styleLoaders({ sourceMap: config.dev.cssSourceMap, extract: true })
   },
   devtool: config.build.productionSourceMap ? '#source-map' : false,
   optimization: {
-    minimize: true
+    minimize: true,
+    splitChunks: {
+      chunks: 'all'
+    }
   },
   output: {
     path: config.build.assetsRoot,
     filename: utils.assetsPath('js/[name].[chunkhash].js'),
-    chunkFilename: utils.assetsPath('js/[id].[chunkhash].js')
+    chunkFilename: utils.assetsPath('js/[name].[chunkhash].js')
   },
   plugins: [
     // http://vuejs.github.io/vue-loader/workflow/production.html
diff --git a/src/components/login_form/login_form.vue b/src/components/login_form/login_form.vue
index 27a8e48aab6d2d83a73e7b439b12370b68ee78c9..c6be2e00ea1f40117102b49ef769483a3ad7a865 100644
--- a/src/components/login_form/login_form.vue
+++ b/src/components/login_form/login_form.vue
@@ -50,6 +50,10 @@
 @import '../../_variables.scss';
 
 .login-form {
+  display: flex;
+  flex-direction: column;
+  padding: 0.6em;
+
   .btn {
     min-height: 28px;
     width: 10em;
@@ -66,9 +70,30 @@
     align-items: center;
     justify-content: space-between;
   }
-}
 
-.login {
+  .form-group {
+    display: flex;
+    flex-direction: column;
+    padding: 0.3em 0.5em 0.6em;
+    line-height:24px;
+  }
+
+  .form-bottom {
+    display: flex;
+    padding: 0.5em;
+    height: 32px;
+
+    button {
+      width: 10em;
+    }
+
+    p {
+      margin: 0.35em;
+      padding: 0.35em;
+      display: flex;
+    }
+  }
+
   .error {
     text-align: center;
 
diff --git a/src/components/post_status_form/post_status_form.vue b/src/components/post_status_form/post_status_form.vue
index b8b93936696265584d62797c1584e082d94e7ec8..4f014cc58b5e2309442c73cc072361aa8de72475 100644
--- a/src/components/post_status_form/post_status_form.vue
+++ b/src/components/post_status_form/post_status_form.vue
@@ -155,7 +155,7 @@
   }
 }
 
-.post-status-form, .login {
+.post-status-form {
   .form-bottom {
     display: flex;
     padding: 0.5em;
diff --git a/src/components/status/status.vue b/src/components/status/status.vue
index 02715253d1b417f82a50b8b88f95e14540784a47..490e167bc7f00e1802cbe1547c11ff2d0e5c9f87 100644
--- a/src/components/status/status.vue
+++ b/src/components/status/status.vue
@@ -627,7 +627,7 @@ a.unmute {
   flex: 1;
 }
 
-.timeline > {
+.timeline :not(.panel-disabled) > {
   .status-el:last-child {
     border-radius: 0 0 $fallback--panelRadius $fallback--panelRadius;
     border-radius: 0 0 var(--panelRadius, $fallback--panelRadius) var(--panelRadius, $fallback--panelRadius);