diff --git a/src/conversejs/converse.js b/src/conversejs/converse.js
index 027a314296898e99686e1ebbfcbb003c2278e767..79161bc4433c96d012603da9e04a8f7edd7fe290 100644
--- a/src/conversejs/converse.js
+++ b/src/conversejs/converse.js
@@ -78269,7 +78269,8 @@ const MessageMixin = {
     if (slot) {
       this.save({
         'get': slot.querySelector('get').getAttribute('url'),
-        'put': slot.querySelector('put').getAttribute('url')
+        'put': slot.querySelector('put').getAttribute('url'),
+        'headers': slot.querySelector('put').querySelectorAll('header')
       });
     } else {
       return this.save({
@@ -78327,6 +78328,12 @@ const MessageMixin = {
 
     xhr.open('PUT', this.get('put'), true);
     xhr.setRequestHeader('Content-type', this.file.type);
+
+    // Add custom headers to request
+    this.get('headers')?.forEach(header => {
+      xhr.setRequestHeader(header.getAttribute('name'), header.innerHTML);
+    });
+
     xhr.send(this.file);
   }
 
@@ -89883,7 +89890,7 @@ utils_core.isAudioURL = url => checkFileTypes(['.ogg', '.mp3', '.m4a'], url);
 
 utils_core.isVideoURL = url => checkFileTypes(['.mp4', '.webm'], url);
 
-utils_core.isURLWithImageExtension = url => checkFileTypes(['.jpg', '.jpeg', '.png', '.gif', '.bmp', '.tiff', '.svg'], url);
+utils_core.isURLWithImageExtension = url => checkFileTypes(['.jpg', '.jpeg', '.png', '.gif', '.bmp', '.tiff', '.svg', '.webp'], url);
 
 utils_core.isImageURL = url => {
   const regex = core_api.settings.get('image_urls_regex');
diff --git a/src/solid-xmpp-chat.js b/src/solid-xmpp-chat.js
index ad96789905677fb3963d9f269221cb5ec6709e93..c24aa78154715601c5a1bf96c77e283b860a176d 100644
--- a/src/solid-xmpp-chat.js
+++ b/src/solid-xmpp-chat.js
@@ -422,7 +422,7 @@ export const SolidXMPPChat = {
           call: false,
           spoiler: false,
           emoji: true,
-          fileupload: false, // Not working in current Converse
+          fileupload: true, // Not working in current Converse
           toggle_occupants: false
         },
         'whitelisted_plugins': ['rai', 'conversejs-sib-disconnected', 'conversejs-sib-connected', 'conversejs-sib-focused', 'conversejs-changechat', 'conversejs-rai', 'custom-hats', 'remove-notifications'],
diff --git a/src/styles/index.scss b/src/styles/index.scss
index 82792c859ed8df1fcd33b70c1b33b7497e9e282f..19aed3d84b78cc018cfbe58c71262d7a5bb7a247 100644
--- a/src/styles/index.scss
+++ b/src/styles/index.scss
@@ -9,7 +9,7 @@
   --color-chat-secondary: var(--color-secondary);
   --color-chat-third: var(--color-third);
   --color-chat-heading: var(--color-heading);
-  --color-chat-grey-1: #636363;
+  --color-chat-grey-1: #2E3F57;
   --color-chat-grey-2: #9BA0A7;
   --color-chat-grey-3: #e3e7eb;
   --color-chat-subdued-color-lighten-25-percent: transparent;
@@ -153,14 +153,6 @@
     font-size: 12px;
   }
 
-
-  /* Hide send file button */
-  button[title="Choose a file to send"] {
-    display: none;
-    border: none;
-    background: none;
-  }
-
   /* To hide the trash icon because you can't remove a message for now */
   >.converse-chatboxes .chat-body .chat-msg__actions>button.chat-msg__action.fa-trash-alt {
     display: none;