diff --git a/stylesheets/_session_conversation.scss b/stylesheets/_session_conversation.scss
index 3db9b4340..c6f365d91 100644
--- a/stylesheets/_session_conversation.scss
+++ b/stylesheets/_session_conversation.scss
@@ -97,7 +97,7 @@
   .selection-mode {
     .messages-container > *:not(.message-selected) {
       animation: toShadow var(--default-duration);
-      opacity: 0.4;
+      opacity: 0.3;
     }
   }
 }
diff --git a/ts/components/SessionPasswordPrompt.tsx b/ts/components/SessionPasswordPrompt.tsx
index 8be2918df..a0071d251 100644
--- a/ts/components/SessionPasswordPrompt.tsx
+++ b/ts/components/SessionPasswordPrompt.tsx
@@ -172,12 +172,15 @@ class SessionPasswordPromptInner extends React.PureComponent<{}, State> {
             />
           </>
         )}
-        <SessionButton
-          text={showResetElements ? window.i18n('tryAgain') : window.i18n('done')}
-          buttonType={SessionButtonType.BrandOutline} // TODO: theming update
-          buttonColor={SessionButtonColor.White}
-          onClick={this.initLogin}
-        />
+        {!this.state.loading && (
+          <SessionButton
+            text={showResetElements ? window.i18n('tryAgain') : window.i18n('done')}
+            buttonType={SessionButtonType.BrandOutline} // TODO: theming update
+            buttonColor={SessionButtonColor.White}
+            onClick={this.initLogin}
+            disabled={this.state.loading}
+          />
+        )}
       </div>
     );
   }
diff --git a/ts/components/conversation/message/message-item/GenericReadableMessage.tsx b/ts/components/conversation/message/message-item/GenericReadableMessage.tsx
index abb981525..eda7b73d1 100644
--- a/ts/components/conversation/message/message-item/GenericReadableMessage.tsx
+++ b/ts/components/conversation/message/message-item/GenericReadableMessage.tsx
@@ -125,18 +125,6 @@ const StyledReadableMessage = styled(ReadableMessage)<{
     `
     background-color: var(--color-compose-view-button-background);
   `}
-
-  ${props =>
-    props.selected &&
-    `
-    &.message-selected {
-      .module-message {
-        &__container {
-          box-shadow: var(--color-session-shadow);
-        }
-      }
-    }
-    `}
 `;
 
 export const GenericReadableMessage = (props: Props) => {
diff --git a/ts/mains/main_node.ts b/ts/mains/main_node.ts
index 496719de5..994e3a4e8 100644
--- a/ts/mains/main_node.ts
+++ b/ts/mains/main_node.ts
@@ -585,6 +585,7 @@ async function showPasswordWindow() {
 }
 
 let aboutWindow: BrowserWindow | null;
+// tslint:disable-next-line: max-func-body-length
 async function showAbout() {
   if (aboutWindow) {
     aboutWindow.show();
@@ -624,9 +625,11 @@ async function showAbout() {
     aboutWindow = null;
   });
 
-  aboutWindow.once('ready-to-show', () => {
-    aboutWindow?.show();
-  });
+  // looks like sometimes ready-to-show is not fired by electron.
+  // the fix mentioned here does not work neither: https://github.com/electron/electron/issues/7779.
+  // But, just showing the aboutWindow right away works correctly, so just force it to be shown when just created.
+  // It might take half a second to render it's content though.
+  aboutWindow?.show();
 }
 
 let debugLogWindow: BrowserWindow | null = null;
@@ -675,8 +678,10 @@ async function showDebugLogWindow() {
 
   debugLogWindow.once('ready-to-show', () => {
     debugLogWindow?.setBackgroundColor('#000');
-    debugLogWindow?.show();
   });
+
+  // see above: looks like sometimes ready-to-show is not fired by electron
+  debugLogWindow?.show();
 }
 
 async function saveDebugLog(_event: any, logText: any) {
diff --git a/ts/test/types/Settings_test.ts b/ts/test/types/Settings_test.ts
index 8743efff9..0d233b8cf 100644
--- a/ts/test/types/Settings_test.ts
+++ b/ts/test/types/Settings_test.ts
@@ -4,6 +4,7 @@ import { assert } from 'chai';
 
 import * as Settings from '../../../ts/types/Settings';
 
+// tslint:disable-next-line: max-func-body-length
 describe('Settings', () => {
   describe('isAudioNotificationSupported', () => {
     context('on macOS', () => {
@@ -61,7 +62,7 @@ describe('Settings', () => {
         Sinon.restore();
       });
 
-      it('should return false', () => {
+      it('should return true', () => {
         assert.isFalse(Settings.isAudioNotificationSupported());
       });
     });
diff --git a/ts/util/notifications.ts b/ts/util/notifications.ts
index a64d1c079..d9ed44ca6 100644
--- a/ts/util/notifications.ts
+++ b/ts/util/notifications.ts
@@ -109,6 +109,7 @@ function clearByMessageId(messageId: string) {
   }
 }
 
+// tslint:disable-next-line: cyclomatic-complexity
 function update(forceRefresh = false) {
   if (lastNotificationDisplayed) {
     lastNotificationDisplayed.close();