summary refs log tree commit diff
path: root/resources/langs
diff options
context:
space:
mode:
Diffstat (limited to 'resources/langs')
-rw-r--r--resources/langs/nheko_cs.ts320
-rw-r--r--resources/langs/nheko_de.ts323
-rw-r--r--resources/langs/nheko_el.ts317
-rw-r--r--resources/langs/nheko_en.ts327
-rw-r--r--resources/langs/nheko_eo.ts321
-rw-r--r--resources/langs/nheko_es.ts319
-rw-r--r--resources/langs/nheko_et.ts327
-rw-r--r--resources/langs/nheko_fi.ts319
-rw-r--r--resources/langs/nheko_fr.ts325
-rw-r--r--resources/langs/nheko_hu.ts326
-rw-r--r--resources/langs/nheko_it.ts319
-rw-r--r--resources/langs/nheko_ja.ts318
-rw-r--r--resources/langs/nheko_ml.ts321
-rw-r--r--resources/langs/nheko_nl.ts317
-rw-r--r--resources/langs/nheko_pl.ts320
-rw-r--r--resources/langs/nheko_pt_BR.ts319
-rw-r--r--resources/langs/nheko_pt_PT.ts319
-rw-r--r--resources/langs/nheko_ro.ts320
-rw-r--r--resources/langs/nheko_ru.ts322
-rw-r--r--resources/langs/nheko_si.ts317
-rw-r--r--resources/langs/nheko_sv.ts321
-rw-r--r--resources/langs/nheko_zh_CN.ts318
22 files changed, 4657 insertions, 2398 deletions
diff --git a/resources/langs/nheko_cs.ts b/resources/langs/nheko_cs.ts
index c544bf6d..99813f81 100644
--- a/resources/langs/nheko_cs.ts
+++ b/resources/langs/nheko_cs.ts
@@ -38,7 +38,7 @@
 <context>
     <name>AwaitingVerificationConfirmation</name>
     <message>
-        <location filename="../qml/device-verification/AwaitingVerificationConfirmation.qml" line="+11"/>
+        <location filename="../qml/device-verification/AwaitingVerificationConfirmation.qml" line="+12"/>
         <source>Awaiting Confirmation</source>
         <translation type="unfinished"></translation>
     </message>
@@ -48,7 +48,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+12"/>
+        <location line="+13"/>
         <source>Cancel</source>
         <translation type="unfinished"></translation>
     </message>
@@ -125,7 +125,7 @@
 <context>
     <name>ChatPage</name>
     <message>
-        <location filename="../../src/ChatPage.cpp" line="+133"/>
+        <location filename="../../src/ChatPage.cpp" line="+135"/>
         <source>Failed to invite user: %1</source>
         <translation type="unfinished"></translation>
     </message>
@@ -157,12 +157,12 @@
     </message>
     <message>
         <location line="+34"/>
-        <location line="+280"/>
+        <location line="+286"/>
         <source>Confirm invite</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-279"/>
+        <location line="-285"/>
         <source>Do you really want to invite %1 (%2)?</source>
         <translation type="unfinished"></translation>
     </message>
@@ -227,12 +227,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+183"/>
+        <location line="+189"/>
         <source>Do you really want to start a private chat with %1?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-721"/>
+        <location line="-727"/>
         <source>Cache migration failed!</source>
         <translation type="unfinished"></translation>
     </message>
@@ -352,7 +352,7 @@
 <context>
     <name>CrossSigningSecrets</name>
     <message>
-        <location filename="../../src/ChatPage.cpp" line="+183"/>
+        <location filename="../../src/ChatPage.cpp" line="+189"/>
         <source>Decrypt secrets</source>
         <translation type="unfinished"></translation>
     </message>
@@ -426,12 +426,12 @@
 <context>
     <name>EmojiPicker</name>
     <message>
-        <location filename="../qml/emoji/EmojiPicker.qml" line="+59"/>
+        <location filename="../qml/emoji/EmojiPicker.qml" line="+68"/>
         <source>Search</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+172"/>
+        <location line="+186"/>
         <source>People</source>
         <translation type="unfinished"></translation>
     </message>
@@ -605,9 +605,47 @@
     </message>
 </context>
 <context>
+    <name>ImagePackSettingsDialog</name>
+    <message>
+        <location filename="../qml/dialogs/ImagePackSettingsDialog.qml" line="+22"/>
+        <source>Image pack settings</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+151"/>
+        <source>Private pack</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Pack from this room</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Globally enabled pack</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+59"/>
+        <source>Enable globally</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Enables this pack to be used in all rooms</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+62"/>
+        <source>Close</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>InputBar</name>
     <message>
-        <location filename="../../src/timeline/InputBar.cpp" line="+233"/>
+        <location filename="../../src/timeline/InputBar.cpp" line="+234"/>
         <source>Select a file</source>
         <translation type="unfinished"></translation>
     </message>
@@ -617,16 +655,42 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+417"/>
+        <location line="+442"/>
         <source>Failed to upload media. Please try again.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>InviteeItem</name>
+    <name>InviteDialog</name>
+    <message>
+        <location filename="../qml/InviteDialog.qml" line="+32"/>
+        <source>Invite users to %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+24"/>
+        <source>User ID to invite</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+14"/>
+        <source>@joe:matrix.org</source>
+        <comment>Example user id. The name &apos;joe&apos; can be localized however you want.</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+17"/>
+        <source>Add</source>
+        <translation type="unfinished"></translation>
+    </message>
     <message>
-        <location filename="../../src/InviteeItem.cpp" line="+22"/>
-        <source>Remove</source>
+        <location line="+58"/>
+        <source>Invite</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+7"/>
+        <source>Cancel</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -741,27 +805,14 @@ Example: https://server.my:8787</source>
     </message>
 </context>
 <context>
-    <name>MemberList</name>
-    <message>
-        <location filename="../../src/dialogs/MemberList.cpp" line="+94"/>
-        <source>Room members</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>OK</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
     <name>MessageDelegate</name>
     <message>
-        <location filename="../qml/delegates/MessageDelegate.qml" line="+128"/>
+        <location filename="../qml/delegates/MessageDelegate.qml" line="+187"/>
         <source>Encryption enabled</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+9"/>
+        <location line="+12"/>
         <source>room name changed to: %1</source>
         <translation type="unfinished"></translation>
     </message>
@@ -771,7 +822,7 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+9"/>
+        <location line="+12"/>
         <source>topic changed to: %1</source>
         <translation type="unfinished"></translation>
     </message>
@@ -781,17 +832,17 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+9"/>
+        <location line="+12"/>
         <source>%1 changed the room avatar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+8"/>
+        <location line="+12"/>
         <source>%1 created and configured room: %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+12"/>
+        <location line="+15"/>
         <source>%1 placed a voice call.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -806,23 +857,23 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+29"/>
+        <location line="+38"/>
         <source>Negotiating call...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-18"/>
+        <location line="-24"/>
         <source>%1 answered the call.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-80"/>
+        <location line="-99"/>
         <location line="+9"/>
         <source>removed</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+80"/>
+        <location line="+102"/>
         <source>%1 ended the call.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -830,7 +881,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>MessageInput</name>
     <message>
-        <location filename="../qml/MessageInput.qml" line="+43"/>
+        <location filename="../qml/MessageInput.qml" line="+44"/>
         <source>Hang up</source>
         <translation type="unfinished"></translation>
     </message>
@@ -851,6 +902,11 @@ Example: https://server.my:8787</source>
     </message>
     <message>
         <location line="+214"/>
+        <source>Stickers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+24"/>
         <source>Emoji</source>
         <translation type="unfinished"></translation>
     </message>
@@ -868,17 +924,17 @@ Example: https://server.my:8787</source>
 <context>
     <name>MessageView</name>
     <message>
-        <location filename="../qml/MessageView.qml" line="+83"/>
+        <location filename="../qml/MessageView.qml" line="+87"/>
         <source>Edit</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+15"/>
+        <location line="+16"/>
         <source>React</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+13"/>
+        <location line="+16"/>
         <source>Reply</source>
         <translation type="unfinished"></translation>
     </message>
@@ -888,7 +944,7 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+329"/>
+        <location line="+405"/>
         <source>&amp;Copy</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1096,7 +1152,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>Placeholder</name>
     <message>
-        <location filename="../qml/delegates/Placeholder.qml" line="+9"/>
+        <location filename="../qml/delegates/Placeholder.qml" line="+11"/>
         <source>unimplemented event: </source>
         <translation type="unfinished"></translation>
     </message>
@@ -1216,7 +1272,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>ReplyPopup</name>
     <message>
-        <location filename="../qml/ReplyPopup.qml" line="+47"/>
+        <location filename="../qml/ReplyPopup.qml" line="+62"/>
         <source>Close</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1229,7 +1285,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>RoomInfo</name>
     <message>
-        <location filename="../../src/Cache.cpp" line="+4009"/>
+        <location filename="../../src/Cache.cpp" line="+4180"/>
         <source>no version stored</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1237,7 +1293,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>RoomList</name>
     <message>
-        <location filename="../qml/RoomList.qml" line="+56"/>
+        <location filename="../qml/RoomList.qml" line="+57"/>
         <source>New tag</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1247,6 +1303,16 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+9"/>
+        <source>Leave Room</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>Are you sure you want to leave this room?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <location line="+7"/>
         <source>Leave room</source>
         <translation type="unfinished"></translation>
@@ -1277,17 +1343,7 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+222"/>
-        <source>Accept</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>Decline</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+68"/>
+        <location line="+268"/>
         <source>Status Message</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1338,19 +1394,42 @@ Example: https://server.my:8787</source>
     </message>
 </context>
 <context>
+    <name>RoomMembers</name>
+    <message>
+        <location filename="../qml/RoomMembers.qml" line="+17"/>
+        <source>Members of %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message numerus="yes">
+        <location line="+32"/>
+        <source>%n people in %1</source>
+        <comment>Summary above list of members</comment>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+            <numerusform></numerusform>
+            <numerusform></numerusform>
+        </translation>
+    </message>
+    <message>
+        <location line="+10"/>
+        <source>Invite more people</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>RoomSettings</name>
     <message>
-        <location filename="../qml/RoomSettings.qml" line="+25"/>
+        <location filename="../qml/RoomSettings.qml" line="+26"/>
         <source>Room Settings</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+79"/>
+        <location line="+80"/>
         <source>%1 member(s)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+43"/>
+        <location line="+55"/>
         <source>SETTINGS</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1406,19 +1485,22 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+17"/>
-        <source>Respond to key requests</source>
+        <location line="+16"/>
+        <source>Sticker &amp; Emote Settings</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+5"/>
-        <source>Whether or not the client should respond automatically with the session keys
-                                upon request. Use with caution, this is a temporary measure to test the
-                                E2E implementation until device verification is completed.</source>
+        <location line="+4"/>
+        <source>Change</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+21"/>
+        <location line="+1"/>
+        <source>Change what packs are enabled, remove packs or create new ones</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+16"/>
         <source>INFO</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1433,12 +1515,7 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+13"/>
-        <source>OK</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../src/ui/RoomSettings.cpp" line="+268"/>
+        <location filename="../../src/ui/RoomSettings.cpp" line="+255"/>
         <source>Failed to enable encryption: %1</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1470,6 +1547,24 @@ Example: https://server.my:8787</source>
     </message>
 </context>
 <context>
+    <name>RoomlistModel</name>
+    <message>
+        <location filename="../../src/timeline/RoomlistModel.cpp" line="+143"/>
+        <source>Pending invite.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+30"/>
+        <source>Previewing this room</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+34"/>
+        <source>No preview available</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>ScreenShare</name>
     <message>
         <location filename="../qml/voip/ScreenShare.qml" line="+30"/>
@@ -1526,7 +1621,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>StatusIndicator</name>
     <message>
-        <location filename="../qml/StatusIndicator.qml" line="+21"/>
+        <location filename="../qml/StatusIndicator.qml" line="+24"/>
         <source>Failed</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1547,6 +1642,14 @@ Example: https://server.my:8787</source>
     </message>
 </context>
 <context>
+    <name>StickerPicker</name>
+    <message>
+        <location filename="../qml/emoji/StickerPicker.qml" line="+70"/>
+        <source>Search</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>Success</name>
     <message>
         <location filename="../qml/device-verification/Success.qml" line="+11"/>
@@ -1567,7 +1670,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>TimelineModel</name>
     <message>
-        <location filename="../../src/timeline/TimelineModel.cpp" line="+1095"/>
+        <location filename="../../src/timeline/TimelineModel.cpp" line="+1107"/>
         <source>Message redaction failed: %1</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1578,7 +1681,7 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+164"/>
+        <location line="+173"/>
         <source>Save image</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1713,12 +1816,12 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-883"/>
+        <location line="-884"/>
         <source>You joined this room.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+849"/>
+        <location line="+850"/>
         <source>%1 has changed their avatar and changed their display name to %2.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1747,7 +1850,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>TimelineRow</name>
     <message>
-        <location filename="../qml/TimelineRow.qml" line="+106"/>
+        <location filename="../qml/TimelineRow.qml" line="+180"/>
         <source>Edited</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1755,17 +1858,32 @@ Example: https://server.my:8787</source>
 <context>
     <name>TimelineView</name>
     <message>
-        <location filename="../qml/TimelineView.qml" line="+27"/>
+        <location filename="../qml/TimelineView.qml" line="+30"/>
         <source>No room open</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+127"/>
+        <location line="+139"/>
         <source>%1 member(s)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+46"/>
+        <location line="+33"/>
+        <source>join the conversation</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+7"/>
+        <source>accept invite</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+7"/>
+        <source>decline invite</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+27"/>
         <source>Back to room list</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1773,7 +1891,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>TimelineViewManager</name>
     <message>
-        <location filename="../../src/timeline/TimelineViewManager.cpp" line="+461"/>
+        <location filename="../../src/timeline/TimelineViewManager.cpp" line="+527"/>
         <source>No encrypted private chat found with this user. Create an encrypted private chat with this user and try again.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1781,18 +1899,17 @@ Example: https://server.my:8787</source>
 <context>
     <name>TopBar</name>
     <message>
-        <location filename="../qml/TopBar.qml" line="+51"/>
+        <location filename="../qml/TopBar.qml" line="+54"/>
         <source>Back to room list</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+12"/>
-        <location line="+10"/>
+        <location line="-39"/>
         <source>No room selected</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+24"/>
+        <location line="+90"/>
         <source>Room options</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1833,7 +1950,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>UserProfile</name>
     <message>
-        <location filename="../qml/UserProfile.qml" line="+24"/>
+        <location filename="../qml/UserProfile.qml" line="+25"/>
         <source>Global User Profile</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1843,7 +1960,7 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+114"/>
+        <location line="+115"/>
         <location line="+107"/>
         <source>Verify</source>
         <translation type="unfinished"></translation>
@@ -1892,7 +2009,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>UserSettings</name>
     <message>
-        <location filename="../../src/UserSettingsPage.cpp" line="+362"/>
+        <location filename="../../src/UserSettingsPage.cpp" line="+363"/>
         <location filename="../../src/UserSettingsPage.h" line="+194"/>
         <source>Default</source>
         <translation type="unfinished"></translation>
@@ -1901,7 +2018,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>UserSettingsPage</name>
     <message>
-        <location line="+524"/>
+        <location line="+525"/>
         <source>Minimize to tray</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2347,7 +2464,7 @@ This usually causes the application icon in the task bar to animate in some fash
 <context>
     <name>Waiting</name>
     <message>
-        <location filename="../qml/device-verification/Waiting.qml" line="+11"/>
+        <location filename="../qml/device-verification/Waiting.qml" line="+12"/>
         <source>Waiting for other party…</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2398,7 +2515,7 @@ This usually causes the application icon in the task bar to animate in some fash
 <context>
     <name>descriptiveTime</name>
     <message>
-        <location filename="../../src/Utils.cpp" line="+207"/>
+        <location filename="../../src/Utils.cpp" line="+184"/>
         <source>Yesterday</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2470,19 +2587,6 @@ This usually causes the application icon in the task bar to animate in some fash
     </message>
 </context>
 <context>
-    <name>dialogs::InviteUsers</name>
-    <message>
-        <location filename="../../src/dialogs/InviteUsers.cpp" line="+46"/>
-        <source>Cancel</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>User ID to invite</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
     <name>dialogs::JoinRoom</name>
     <message>
         <location filename="../../src/dialogs/JoinRoom.cpp" line="+34"/>
@@ -2593,7 +2697,7 @@ Media size: %2
 <context>
     <name>message-description sent:</name>
     <message>
-        <location filename="../../src/Utils.h" line="+124"/>
+        <location filename="../../src/Utils.h" line="+115"/>
         <source>You sent an audio clip</source>
         <translation type="unfinished"></translation>
     </message>
diff --git a/resources/langs/nheko_de.ts b/resources/langs/nheko_de.ts
index 58c209a2..cb5b54fb 100644
--- a/resources/langs/nheko_de.ts
+++ b/resources/langs/nheko_de.ts
@@ -38,7 +38,7 @@
 <context>
     <name>AwaitingVerificationConfirmation</name>
     <message>
-        <location filename="../qml/device-verification/AwaitingVerificationConfirmation.qml" line="+11"/>
+        <location filename="../qml/device-verification/AwaitingVerificationConfirmation.qml" line="+12"/>
         <source>Awaiting Confirmation</source>
         <translation>Auf Bestätigung warten</translation>
     </message>
@@ -48,7 +48,7 @@
         <translation>Wartet darauf, dass die andere Seite die Verifizierung abschließt.</translation>
     </message>
     <message>
-        <location line="+12"/>
+        <location line="+13"/>
         <source>Cancel</source>
         <translation>Abbrechen</translation>
     </message>
@@ -125,7 +125,7 @@
 <context>
     <name>ChatPage</name>
     <message>
-        <location filename="../../src/ChatPage.cpp" line="+133"/>
+        <location filename="../../src/ChatPage.cpp" line="+135"/>
         <source>Failed to invite user: %1</source>
         <translation>Nutzer konnte nicht eingeladen werden: %1</translation>
     </message>
@@ -157,12 +157,12 @@
     </message>
     <message>
         <location line="+34"/>
-        <location line="+280"/>
+        <location line="+286"/>
         <source>Confirm invite</source>
         <translation>Einladung bestätigen</translation>
     </message>
     <message>
-        <location line="-279"/>
+        <location line="-285"/>
         <source>Do you really want to invite %1 (%2)?</source>
         <translation>Nutzer %1 (%2) wirklich einladen?</translation>
     </message>
@@ -227,12 +227,12 @@
         <translation>Verbannung aufgehoben: %1</translation>
     </message>
     <message>
-        <location line="+183"/>
+        <location line="+189"/>
         <source>Do you really want to start a private chat with %1?</source>
         <translation>Möchtest du wirklich eine private Konversation mit %1 beginnen?</translation>
     </message>
     <message>
-        <location line="-721"/>
+        <location line="-727"/>
         <source>Cache migration failed!</source>
         <translation>Migration des Caches fehlgeschlagen!</translation>
     </message>
@@ -352,7 +352,7 @@
 <context>
     <name>CrossSigningSecrets</name>
     <message>
-        <location filename="../../src/ChatPage.cpp" line="+183"/>
+        <location filename="../../src/ChatPage.cpp" line="+189"/>
         <source>Decrypt secrets</source>
         <translation>Geheimnisse entschlüsseln</translation>
     </message>
@@ -426,12 +426,12 @@
 <context>
     <name>EmojiPicker</name>
     <message>
-        <location filename="../qml/emoji/EmojiPicker.qml" line="+59"/>
+        <location filename="../qml/emoji/EmojiPicker.qml" line="+68"/>
         <source>Search</source>
         <translation>Suche</translation>
     </message>
     <message>
-        <location line="+172"/>
+        <location line="+186"/>
         <source>People</source>
         <translation>Leute</translation>
     </message>
@@ -605,9 +605,47 @@
     </message>
 </context>
 <context>
+    <name>ImagePackSettingsDialog</name>
+    <message>
+        <location filename="../qml/dialogs/ImagePackSettingsDialog.qml" line="+22"/>
+        <source>Image pack settings</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+151"/>
+        <source>Private pack</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Pack from this room</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Globally enabled pack</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+59"/>
+        <source>Enable globally</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Enables this pack to be used in all rooms</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+62"/>
+        <source>Close</source>
+        <translation type="unfinished">Schließen</translation>
+    </message>
+</context>
+<context>
     <name>InputBar</name>
     <message>
-        <location filename="../../src/timeline/InputBar.cpp" line="+233"/>
+        <location filename="../../src/timeline/InputBar.cpp" line="+234"/>
         <source>Select a file</source>
         <translation>Datei auswählen</translation>
     </message>
@@ -617,17 +655,43 @@
         <translation>Alle Dateien (*)</translation>
     </message>
     <message>
-        <location line="+417"/>
+        <location line="+442"/>
         <source>Failed to upload media. Please try again.</source>
         <translation>Medienupload fehlgeschlagen. Bitte versuche es erneut.</translation>
     </message>
 </context>
 <context>
-    <name>InviteeItem</name>
+    <name>InviteDialog</name>
+    <message>
+        <location filename="../qml/InviteDialog.qml" line="+32"/>
+        <source>Invite users to %1</source>
+        <translation>Lade Benutzer in %1 ein</translation>
+    </message>
+    <message>
+        <location line="+24"/>
+        <source>User ID to invite</source>
+        <translation>Benutzer-ID, die eingeladen werden soll</translation>
+    </message>
+    <message>
+        <location line="+14"/>
+        <source>@joe:matrix.org</source>
+        <comment>Example user id. The name &apos;joe&apos; can be localized however you want.</comment>
+        <translation>@joe:matrix.org</translation>
+    </message>
+    <message>
+        <location line="+17"/>
+        <source>Add</source>
+        <translation>Hinzufügen</translation>
+    </message>
+    <message>
+        <location line="+58"/>
+        <source>Invite</source>
+        <translation>Einladen</translation>
+    </message>
     <message>
-        <location filename="../../src/InviteeItem.cpp" line="+22"/>
-        <source>Remove</source>
-        <translation>Löschen</translation>
+        <location line="+7"/>
+        <source>Cancel</source>
+        <translation>Abbrechen</translation>
     </message>
 </context>
 <context>
@@ -745,22 +809,9 @@ Beispiel: https://mein.server:8787</translation>
     </message>
 </context>
 <context>
-    <name>MemberList</name>
-    <message>
-        <location filename="../../src/dialogs/MemberList.cpp" line="+94"/>
-        <source>Room members</source>
-        <translation>Teilnehmerliste</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>OK</source>
-        <translation>OK</translation>
-    </message>
-</context>
-<context>
     <name>MessageDelegate</name>
     <message>
-        <location filename="../qml/delegates/MessageDelegate.qml" line="+110"/>
+        <location filename="../qml/delegates/MessageDelegate.qml" line="+169"/>
         <location line="+9"/>
         <source>removed</source>
         <translation>entfernt</translation>
@@ -771,7 +822,7 @@ Beispiel: https://mein.server:8787</translation>
         <translation>Verschlüsselung aktiviert</translation>
     </message>
     <message>
-        <location line="+9"/>
+        <location line="+12"/>
         <source>room name changed to: %1</source>
         <translation>Raumname wurde gändert auf: %1</translation>
     </message>
@@ -781,7 +832,7 @@ Beispiel: https://mein.server:8787</translation>
         <translation>Raumname wurde entfernt</translation>
     </message>
     <message>
-        <location line="+9"/>
+        <location line="+12"/>
         <source>topic changed to: %1</source>
         <translation>Raumthema wurde geändert auf: %1</translation>
     </message>
@@ -791,17 +842,17 @@ Beispiel: https://mein.server:8787</translation>
         <translation>Thema wurde entfernt</translation>
     </message>
     <message>
-        <location line="+9"/>
+        <location line="+12"/>
         <source>%1 changed the room avatar</source>
         <translation>%1 hat dem Raumavatar geändert</translation>
     </message>
     <message>
-        <location line="+8"/>
+        <location line="+12"/>
         <source>%1 created and configured room: %2</source>
         <translation>%1 hat den Raum erstellt: %2</translation>
     </message>
     <message>
-        <location line="+12"/>
+        <location line="+15"/>
         <source>%1 placed a voice call.</source>
         <translation>%1 hat einen Sprachanruf gestartet.</translation>
     </message>
@@ -816,17 +867,17 @@ Beispiel: https://mein.server:8787</translation>
         <translation>%1 hat angerufen.</translation>
     </message>
     <message>
-        <location line="+11"/>
+        <location line="+14"/>
         <source>%1 answered the call.</source>
         <translation>%1 hat den Anruf angenommen.</translation>
     </message>
     <message>
-        <location line="+9"/>
+        <location line="+12"/>
         <source>%1 ended the call.</source>
         <translation>%1 hat den Anruf beendet.</translation>
     </message>
     <message>
-        <location line="+9"/>
+        <location line="+12"/>
         <source>Negotiating call...</source>
         <translation>Wählt…</translation>
     </message>
@@ -834,7 +885,7 @@ Beispiel: https://mein.server:8787</translation>
 <context>
     <name>MessageInput</name>
     <message>
-        <location filename="../qml/MessageInput.qml" line="+43"/>
+        <location filename="../qml/MessageInput.qml" line="+44"/>
         <source>Hang up</source>
         <translation>Auflegen</translation>
     </message>
@@ -855,6 +906,11 @@ Beispiel: https://mein.server:8787</translation>
     </message>
     <message>
         <location line="+214"/>
+        <source>Stickers</source>
+        <translation>Sticker</translation>
+    </message>
+    <message>
+        <location line="+24"/>
         <source>Emoji</source>
         <translation>Emoji</translation>
     </message>
@@ -872,17 +928,17 @@ Beispiel: https://mein.server:8787</translation>
 <context>
     <name>MessageView</name>
     <message>
-        <location filename="../qml/MessageView.qml" line="+83"/>
+        <location filename="../qml/MessageView.qml" line="+87"/>
         <source>Edit</source>
         <translation>Bearbeiten</translation>
     </message>
     <message>
-        <location line="+15"/>
+        <location line="+16"/>
         <source>React</source>
         <translation>Reaktion senden</translation>
     </message>
     <message>
-        <location line="+13"/>
+        <location line="+16"/>
         <source>Reply</source>
         <translation>Antworten</translation>
     </message>
@@ -892,7 +948,7 @@ Beispiel: https://mein.server:8787</translation>
         <translation>Optionen</translation>
     </message>
     <message>
-        <location line="+329"/>
+        <location line="+405"/>
         <source>&amp;Copy</source>
         <translation>&amp;Kopieren</translation>
     </message>
@@ -1100,7 +1156,7 @@ Beispiel: https://mein.server:8787</translation>
 <context>
     <name>Placeholder</name>
     <message>
-        <location filename="../qml/delegates/Placeholder.qml" line="+9"/>
+        <location filename="../qml/delegates/Placeholder.qml" line="+11"/>
         <source>unimplemented event: </source>
         <translation>Unimplementiertes Event: </translation>
     </message>
@@ -1220,7 +1276,7 @@ Beispiel: https://mein.server:8787</translation>
 <context>
     <name>ReplyPopup</name>
     <message>
-        <location filename="../qml/ReplyPopup.qml" line="+47"/>
+        <location filename="../qml/ReplyPopup.qml" line="+62"/>
         <source>Close</source>
         <translation>Schließen</translation>
     </message>
@@ -1233,7 +1289,7 @@ Beispiel: https://mein.server:8787</translation>
 <context>
     <name>RoomInfo</name>
     <message>
-        <location filename="../../src/Cache.cpp" line="+4009"/>
+        <location filename="../../src/Cache.cpp" line="+4180"/>
         <source>no version stored</source>
         <translation>keine Version gespeichert</translation>
     </message>
@@ -1241,7 +1297,7 @@ Beispiel: https://mein.server:8787</translation>
 <context>
     <name>RoomList</name>
     <message>
-        <location filename="../qml/RoomList.qml" line="+56"/>
+        <location filename="../qml/RoomList.qml" line="+57"/>
         <source>New tag</source>
         <translation>Neuer Tag</translation>
     </message>
@@ -1251,6 +1307,16 @@ Beispiel: https://mein.server:8787</translation>
         <translation>Gib den Tag, den du verwenden willst, ein:</translation>
     </message>
     <message>
+        <location line="+9"/>
+        <source>Leave Room</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>Are you sure you want to leave this room?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <location line="+7"/>
         <source>Leave room</source>
         <translation>Raum verlassen</translation>
@@ -1281,17 +1347,7 @@ Beispiel: https://mein.server:8787</translation>
         <translation>Neuen Tag erstellen...</translation>
     </message>
     <message>
-        <location line="+222"/>
-        <source>Accept</source>
-        <translation>Akzeptieren</translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>Decline</source>
-        <translation>Ablehnen</translation>
-    </message>
-    <message>
-        <location line="+68"/>
+        <location line="+268"/>
         <source>Status Message</source>
         <translation>Statusnachricht</translation>
     </message>
@@ -1342,19 +1398,41 @@ Beispiel: https://mein.server:8787</translation>
     </message>
 </context>
 <context>
+    <name>RoomMembers</name>
+    <message>
+        <location filename="../qml/RoomMembers.qml" line="+17"/>
+        <source>Members of %1</source>
+        <translation>Teilnehmer in %1</translation>
+    </message>
+    <message numerus="yes">
+        <location line="+32"/>
+        <source>%n people in %1</source>
+        <comment>Summary above list of members</comment>
+        <translation>
+            <numerusform>%n Person in %1</numerusform>
+            <numerusform>%n Personen in %1</numerusform>
+        </translation>
+    </message>
+    <message>
+        <location line="+10"/>
+        <source>Invite more people</source>
+        <translation>Lade mehr Leute ein</translation>
+    </message>
+</context>
+<context>
     <name>RoomSettings</name>
     <message>
-        <location filename="../qml/RoomSettings.qml" line="+25"/>
+        <location filename="../qml/RoomSettings.qml" line="+26"/>
         <source>Room Settings</source>
         <translation>Raumeinstellungen</translation>
     </message>
     <message>
-        <location line="+79"/>
+        <location line="+80"/>
         <source>%1 member(s)</source>
         <translation>%1 Teilnehmer</translation>
     </message>
     <message>
-        <location line="+43"/>
+        <location line="+55"/>
         <source>SETTINGS</source>
         <translation>EINSTELLUNGEN</translation>
     </message>
@@ -1410,19 +1488,22 @@ Beispiel: https://mein.server:8787</translation>
         <translation>Verschlüsselung ist derzeit experimentell und könnte unerwartete Probleme verursachen.&lt;br&gt;Bitte beachte, dass dies später nicht mehr deaktiviert werden kann.</translation>
     </message>
     <message>
-        <location line="+17"/>
-        <source>Respond to key requests</source>
-        <translation>Auf Schlüsselanfragen antworten</translation>
+        <location line="+16"/>
+        <source>Sticker &amp; Emote Settings</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+5"/>
-        <source>Whether or not the client should respond automatically with the session keys
-                                upon request. Use with caution, this is a temporary measure to test the
-                                E2E implementation until device verification is completed.</source>
-        <translation>Soll der Client automatisch mit den Sitzungsschlüsseln auf Anfragen antworten oder nicht? Bitte mit Vorsicht benutzen, dies ist eine vorübergehende Maßnahme, um die Ende-zu-Ende-Implementierung zu testen, bis die Geräteverifizierung abgeschlossen ist.</translation>
+        <location line="+4"/>
+        <source>Change</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+21"/>
+        <location line="+1"/>
+        <source>Change what packs are enabled, remove packs or create new ones</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+16"/>
         <source>INFO</source>
         <translation>INFO</translation>
     </message>
@@ -1437,12 +1518,7 @@ Beispiel: https://mein.server:8787</translation>
         <translation>Raumversion</translation>
     </message>
     <message>
-        <location line="+13"/>
-        <source>OK</source>
-        <translation>OK</translation>
-    </message>
-    <message>
-        <location filename="../../src/ui/RoomSettings.cpp" line="+268"/>
+        <location filename="../../src/ui/RoomSettings.cpp" line="+255"/>
         <source>Failed to enable encryption: %1</source>
         <translation>Aktivierung der Verschlüsselung fehlgeschlagen: %1</translation>
     </message>
@@ -1474,6 +1550,24 @@ Beispiel: https://mein.server:8787</translation>
     </message>
 </context>
 <context>
+    <name>RoomlistModel</name>
+    <message>
+        <location filename="../../src/timeline/RoomlistModel.cpp" line="+143"/>
+        <source>Pending invite.</source>
+        <translation>Offene Einladung.</translation>
+    </message>
+    <message>
+        <location line="+30"/>
+        <source>Previewing this room</source>
+        <translation>Vorschau dieses Raums</translation>
+    </message>
+    <message>
+        <location line="+34"/>
+        <source>No preview available</source>
+        <translation>Keine Vorschau verfügbar</translation>
+    </message>
+</context>
+<context>
     <name>ScreenShare</name>
     <message>
         <location filename="../qml/voip/ScreenShare.qml" line="+30"/>
@@ -1530,7 +1624,7 @@ Beispiel: https://mein.server:8787</translation>
 <context>
     <name>StatusIndicator</name>
     <message>
-        <location filename="../qml/StatusIndicator.qml" line="+21"/>
+        <location filename="../qml/StatusIndicator.qml" line="+24"/>
         <source>Failed</source>
         <translation>Fehlgeschlagen</translation>
     </message>
@@ -1551,6 +1645,14 @@ Beispiel: https://mein.server:8787</translation>
     </message>
 </context>
 <context>
+    <name>StickerPicker</name>
+    <message>
+        <location filename="../qml/emoji/StickerPicker.qml" line="+70"/>
+        <source>Search</source>
+        <translation>Suche</translation>
+    </message>
+</context>
+<context>
     <name>Success</name>
     <message>
         <location filename="../qml/device-verification/Success.qml" line="+11"/>
@@ -1571,7 +1673,7 @@ Beispiel: https://mein.server:8787</translation>
 <context>
     <name>TimelineModel</name>
     <message>
-        <location filename="../../src/timeline/TimelineModel.cpp" line="+1095"/>
+        <location filename="../../src/timeline/TimelineModel.cpp" line="+1107"/>
         <source>Message redaction failed: %1</source>
         <translation>Nachricht zurückziehen fehlgeschlagen: %1</translation>
     </message>
@@ -1582,7 +1684,7 @@ Beispiel: https://mein.server:8787</translation>
         <translation>Event konnte nicht verschlüsselt werden, senden wurde abgebrochen!</translation>
     </message>
     <message>
-        <location line="+164"/>
+        <location line="+173"/>
         <source>Save image</source>
         <translation>Bild speichern</translation>
     </message>
@@ -1716,12 +1818,12 @@ Beispiel: https://mein.server:8787</translation>
         <translation>%1 hat das Anklopfen zurückgezogen.</translation>
     </message>
     <message>
-        <location line="-883"/>
+        <location line="-884"/>
         <source>You joined this room.</source>
         <translation>Du bist dem Raum beigetreten.</translation>
     </message>
     <message>
-        <location line="+849"/>
+        <location line="+850"/>
         <source>%1 has changed their avatar and changed their display name to %2.</source>
         <translation>%1 hat den eigenen Avatar und Namen geändert zu %2.</translation>
     </message>
@@ -1750,7 +1852,7 @@ Beispiel: https://mein.server:8787</translation>
 <context>
     <name>TimelineRow</name>
     <message>
-        <location filename="../qml/TimelineRow.qml" line="+106"/>
+        <location filename="../qml/TimelineRow.qml" line="+180"/>
         <source>Edited</source>
         <translation>Bearbeitet</translation>
     </message>
@@ -1758,17 +1860,32 @@ Beispiel: https://mein.server:8787</translation>
 <context>
     <name>TimelineView</name>
     <message>
-        <location filename="../qml/TimelineView.qml" line="+27"/>
+        <location filename="../qml/TimelineView.qml" line="+30"/>
         <source>No room open</source>
         <translation>Kein Raum geöffnet</translation>
     </message>
     <message>
-        <location line="+127"/>
+        <location line="+139"/>
         <source>%1 member(s)</source>
         <translation>%1 Teilnehmer</translation>
     </message>
     <message>
-        <location line="+46"/>
+        <location line="+33"/>
+        <source>join the conversation</source>
+        <translation>An der Unterhaltung teilnehmen</translation>
+    </message>
+    <message>
+        <location line="+7"/>
+        <source>accept invite</source>
+        <translation>Einladung annehmen</translation>
+    </message>
+    <message>
+        <location line="+7"/>
+        <source>decline invite</source>
+        <translation>Einladung ablehnen</translation>
+    </message>
+    <message>
+        <location line="+27"/>
         <source>Back to room list</source>
         <translation>Zurück zur Raumliste</translation>
     </message>
@@ -1776,7 +1893,7 @@ Beispiel: https://mein.server:8787</translation>
 <context>
     <name>TimelineViewManager</name>
     <message>
-        <location filename="../../src/timeline/TimelineViewManager.cpp" line="+461"/>
+        <location filename="../../src/timeline/TimelineViewManager.cpp" line="+527"/>
         <source>No encrypted private chat found with this user. Create an encrypted private chat with this user and try again.</source>
         <translation>Keinen verschlüsselten Chat mit diesem User gefunden. Erstelle einen verschlüsselten 1:1 Chat mit diesem Nutzer und versuche es erneut.</translation>
     </message>
@@ -1784,18 +1901,17 @@ Beispiel: https://mein.server:8787</translation>
 <context>
     <name>TopBar</name>
     <message>
-        <location filename="../qml/TopBar.qml" line="+51"/>
+        <location filename="../qml/TopBar.qml" line="+54"/>
         <source>Back to room list</source>
         <translation>Zurück zur Raumliste</translation>
     </message>
     <message>
-        <location line="+12"/>
-        <location line="+10"/>
+        <location line="-39"/>
         <source>No room selected</source>
         <translation>Kein Raum ausgewählt</translation>
     </message>
     <message>
-        <location line="+24"/>
+        <location line="+90"/>
         <source>Room options</source>
         <translation>Raumoptionen</translation>
     </message>
@@ -1836,7 +1952,7 @@ Beispiel: https://mein.server:8787</translation>
 <context>
     <name>UserProfile</name>
     <message>
-        <location filename="../qml/UserProfile.qml" line="+24"/>
+        <location filename="../qml/UserProfile.qml" line="+25"/>
         <source>Global User Profile</source>
         <translation>Globales Nutzerprofil</translation>
     </message>
@@ -1846,7 +1962,7 @@ Beispiel: https://mein.server:8787</translation>
         <translation>Raumspezifisches Nutzerprofil</translation>
     </message>
     <message>
-        <location line="+114"/>
+        <location line="+115"/>
         <location line="+107"/>
         <source>Verify</source>
         <translation>Verifizieren</translation>
@@ -1895,7 +2011,7 @@ Beispiel: https://mein.server:8787</translation>
 <context>
     <name>UserSettings</name>
     <message>
-        <location filename="../../src/UserSettingsPage.cpp" line="+362"/>
+        <location filename="../../src/UserSettingsPage.cpp" line="+363"/>
         <location filename="../../src/UserSettingsPage.h" line="+194"/>
         <source>Default</source>
         <translation>Standard</translation>
@@ -1904,7 +2020,7 @@ Beispiel: https://mein.server:8787</translation>
 <context>
     <name>UserSettingsPage</name>
     <message>
-        <location line="+524"/>
+        <location line="+525"/>
         <source>Minimize to tray</source>
         <translation>Ins Benachrichtigungsfeld minimieren</translation>
     </message>
@@ -2360,7 +2476,7 @@ Normalerweise animiert das den Taskbaricon oder färbt das Fenster orange ein.</
 <context>
     <name>Waiting</name>
     <message>
-        <location filename="../qml/device-verification/Waiting.qml" line="+11"/>
+        <location filename="../qml/device-verification/Waiting.qml" line="+12"/>
         <source>Waiting for other party…</source>
         <translation>Auf Gegenseite warten…</translation>
     </message>
@@ -2411,7 +2527,7 @@ Normalerweise animiert das den Taskbaricon oder färbt das Fenster orange ein.</
 <context>
     <name>descriptiveTime</name>
     <message>
-        <location filename="../../src/Utils.cpp" line="+207"/>
+        <location filename="../../src/Utils.cpp" line="+184"/>
         <source>Yesterday</source>
         <translation>Gestern</translation>
     </message>
@@ -2483,19 +2599,6 @@ Normalerweise animiert das den Taskbaricon oder färbt das Fenster orange ein.</
     </message>
 </context>
 <context>
-    <name>dialogs::InviteUsers</name>
-    <message>
-        <location filename="../../src/dialogs/InviteUsers.cpp" line="+46"/>
-        <source>Cancel</source>
-        <translation>Abbrechen</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>User ID to invite</source>
-        <translation>Benutzer-ID, die eingeladen werden soll</translation>
-    </message>
-</context>
-<context>
     <name>dialogs::JoinRoom</name>
     <message>
         <location filename="../../src/dialogs/JoinRoom.cpp" line="+34"/>
@@ -2608,7 +2711,7 @@ Medien-Größe: %2
 <context>
     <name>message-description sent:</name>
     <message>
-        <location filename="../../src/Utils.h" line="+124"/>
+        <location filename="../../src/Utils.h" line="+115"/>
         <source>You sent an audio clip</source>
         <translation>Du hast eine Audiodatei gesendet</translation>
     </message>
diff --git a/resources/langs/nheko_el.ts b/resources/langs/nheko_el.ts
index d5d5f323..d40a6433 100644
--- a/resources/langs/nheko_el.ts
+++ b/resources/langs/nheko_el.ts
@@ -38,7 +38,7 @@
 <context>
     <name>AwaitingVerificationConfirmation</name>
     <message>
-        <location filename="../qml/device-verification/AwaitingVerificationConfirmation.qml" line="+11"/>
+        <location filename="../qml/device-verification/AwaitingVerificationConfirmation.qml" line="+12"/>
         <source>Awaiting Confirmation</source>
         <translation type="unfinished"></translation>
     </message>
@@ -48,7 +48,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+12"/>
+        <location line="+13"/>
         <source>Cancel</source>
         <translation type="unfinished">Άκυρο</translation>
     </message>
@@ -125,7 +125,7 @@
 <context>
     <name>ChatPage</name>
     <message>
-        <location filename="../../src/ChatPage.cpp" line="+133"/>
+        <location filename="../../src/ChatPage.cpp" line="+135"/>
         <source>Failed to invite user: %1</source>
         <translation type="unfinished"></translation>
     </message>
@@ -157,12 +157,12 @@
     </message>
     <message>
         <location line="+34"/>
-        <location line="+280"/>
+        <location line="+286"/>
         <source>Confirm invite</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-279"/>
+        <location line="-285"/>
         <source>Do you really want to invite %1 (%2)?</source>
         <translation type="unfinished"></translation>
     </message>
@@ -227,12 +227,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+183"/>
+        <location line="+189"/>
         <source>Do you really want to start a private chat with %1?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-721"/>
+        <location line="-727"/>
         <source>Cache migration failed!</source>
         <translation type="unfinished"></translation>
     </message>
@@ -352,7 +352,7 @@
 <context>
     <name>CrossSigningSecrets</name>
     <message>
-        <location filename="../../src/ChatPage.cpp" line="+183"/>
+        <location filename="../../src/ChatPage.cpp" line="+189"/>
         <source>Decrypt secrets</source>
         <translation type="unfinished"></translation>
     </message>
@@ -426,12 +426,12 @@
 <context>
     <name>EmojiPicker</name>
     <message>
-        <location filename="../qml/emoji/EmojiPicker.qml" line="+59"/>
+        <location filename="../qml/emoji/EmojiPicker.qml" line="+68"/>
         <source>Search</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+172"/>
+        <location line="+186"/>
         <source>People</source>
         <translation type="unfinished"></translation>
     </message>
@@ -605,9 +605,47 @@
     </message>
 </context>
 <context>
+    <name>ImagePackSettingsDialog</name>
+    <message>
+        <location filename="../qml/dialogs/ImagePackSettingsDialog.qml" line="+22"/>
+        <source>Image pack settings</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+151"/>
+        <source>Private pack</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Pack from this room</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Globally enabled pack</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+59"/>
+        <source>Enable globally</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Enables this pack to be used in all rooms</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+62"/>
+        <source>Close</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>InputBar</name>
     <message>
-        <location filename="../../src/timeline/InputBar.cpp" line="+233"/>
+        <location filename="../../src/timeline/InputBar.cpp" line="+234"/>
         <source>Select a file</source>
         <translation type="unfinished">Διάλεξε ένα αρχείο</translation>
     </message>
@@ -617,18 +655,44 @@
         <translation type="unfinished">Όλα τα αρχεία (*)</translation>
     </message>
     <message>
-        <location line="+417"/>
+        <location line="+442"/>
         <source>Failed to upload media. Please try again.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>InviteeItem</name>
+    <name>InviteDialog</name>
+    <message>
+        <location filename="../qml/InviteDialog.qml" line="+32"/>
+        <source>Invite users to %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+24"/>
+        <source>User ID to invite</source>
+        <translation type="unfinished">Όνομα χρήστη</translation>
+    </message>
+    <message>
+        <location line="+14"/>
+        <source>@joe:matrix.org</source>
+        <comment>Example user id. The name &apos;joe&apos; can be localized however you want.</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+17"/>
+        <source>Add</source>
+        <translation type="unfinished"></translation>
+    </message>
     <message>
-        <location filename="../../src/InviteeItem.cpp" line="+22"/>
-        <source>Remove</source>
+        <location line="+58"/>
+        <source>Invite</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location line="+7"/>
+        <source>Cancel</source>
+        <translation type="unfinished">Άκυρο</translation>
+    </message>
 </context>
 <context>
     <name>LoginPage</name>
@@ -741,22 +805,9 @@ Example: https://server.my:8787</source>
     </message>
 </context>
 <context>
-    <name>MemberList</name>
-    <message>
-        <location filename="../../src/dialogs/MemberList.cpp" line="+94"/>
-        <source>Room members</source>
-        <translation>Μέλη</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>OK</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
     <name>MessageDelegate</name>
     <message>
-        <location filename="../qml/delegates/MessageDelegate.qml" line="+110"/>
+        <location filename="../qml/delegates/MessageDelegate.qml" line="+169"/>
         <location line="+9"/>
         <source>removed</source>
         <translation type="unfinished"></translation>
@@ -767,7 +818,7 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+9"/>
+        <location line="+12"/>
         <source>room name changed to: %1</source>
         <translation type="unfinished"></translation>
     </message>
@@ -777,7 +828,7 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+9"/>
+        <location line="+12"/>
         <source>topic changed to: %1</source>
         <translation type="unfinished"></translation>
     </message>
@@ -787,17 +838,17 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+9"/>
+        <location line="+12"/>
         <source>%1 changed the room avatar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+8"/>
+        <location line="+12"/>
         <source>%1 created and configured room: %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+12"/>
+        <location line="+15"/>
         <source>%1 placed a voice call.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -812,17 +863,17 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+11"/>
+        <location line="+14"/>
         <source>%1 answered the call.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+9"/>
+        <location line="+12"/>
         <source>%1 ended the call.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+9"/>
+        <location line="+12"/>
         <source>Negotiating call...</source>
         <translation type="unfinished"></translation>
     </message>
@@ -830,7 +881,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>MessageInput</name>
     <message>
-        <location filename="../qml/MessageInput.qml" line="+43"/>
+        <location filename="../qml/MessageInput.qml" line="+44"/>
         <source>Hang up</source>
         <translation type="unfinished"></translation>
     </message>
@@ -851,6 +902,11 @@ Example: https://server.my:8787</source>
     </message>
     <message>
         <location line="+214"/>
+        <source>Stickers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+24"/>
         <source>Emoji</source>
         <translation type="unfinished"></translation>
     </message>
@@ -868,17 +924,17 @@ Example: https://server.my:8787</source>
 <context>
     <name>MessageView</name>
     <message>
-        <location filename="../qml/MessageView.qml" line="+83"/>
+        <location filename="../qml/MessageView.qml" line="+87"/>
         <source>Edit</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+15"/>
+        <location line="+16"/>
         <source>React</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+13"/>
+        <location line="+16"/>
         <source>Reply</source>
         <translation type="unfinished"></translation>
     </message>
@@ -888,7 +944,7 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+329"/>
+        <location line="+405"/>
         <source>&amp;Copy</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1096,7 +1152,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>Placeholder</name>
     <message>
-        <location filename="../qml/delegates/Placeholder.qml" line="+9"/>
+        <location filename="../qml/delegates/Placeholder.qml" line="+11"/>
         <source>unimplemented event: </source>
         <translation type="unfinished"></translation>
     </message>
@@ -1216,7 +1272,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>ReplyPopup</name>
     <message>
-        <location filename="../qml/ReplyPopup.qml" line="+47"/>
+        <location filename="../qml/ReplyPopup.qml" line="+62"/>
         <source>Close</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1229,7 +1285,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>RoomInfo</name>
     <message>
-        <location filename="../../src/Cache.cpp" line="+4009"/>
+        <location filename="../../src/Cache.cpp" line="+4180"/>
         <source>no version stored</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1237,7 +1293,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>RoomList</name>
     <message>
-        <location filename="../qml/RoomList.qml" line="+56"/>
+        <location filename="../qml/RoomList.qml" line="+57"/>
         <source>New tag</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1247,6 +1303,16 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+9"/>
+        <source>Leave Room</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>Are you sure you want to leave this room?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <location line="+7"/>
         <source>Leave room</source>
         <translation type="unfinished">Βγές</translation>
@@ -1277,17 +1343,7 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+222"/>
-        <source>Accept</source>
-        <translation type="unfinished">Αποδοχή</translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>Decline</source>
-        <translation type="unfinished">Απόρριψη</translation>
-    </message>
-    <message>
-        <location line="+68"/>
+        <location line="+268"/>
         <source>Status Message</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1338,19 +1394,41 @@ Example: https://server.my:8787</source>
     </message>
 </context>
 <context>
+    <name>RoomMembers</name>
+    <message>
+        <location filename="../qml/RoomMembers.qml" line="+17"/>
+        <source>Members of %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message numerus="yes">
+        <location line="+32"/>
+        <source>%n people in %1</source>
+        <comment>Summary above list of members</comment>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+            <numerusform></numerusform>
+        </translation>
+    </message>
+    <message>
+        <location line="+10"/>
+        <source>Invite more people</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>RoomSettings</name>
     <message>
-        <location filename="../qml/RoomSettings.qml" line="+25"/>
+        <location filename="../qml/RoomSettings.qml" line="+26"/>
         <source>Room Settings</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+79"/>
+        <location line="+80"/>
         <source>%1 member(s)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+43"/>
+        <location line="+55"/>
         <source>SETTINGS</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1406,19 +1484,22 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+17"/>
-        <source>Respond to key requests</source>
+        <location line="+16"/>
+        <source>Sticker &amp; Emote Settings</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+5"/>
-        <source>Whether or not the client should respond automatically with the session keys
-                                upon request. Use with caution, this is a temporary measure to test the
-                                E2E implementation until device verification is completed.</source>
+        <location line="+4"/>
+        <source>Change</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+21"/>
+        <location line="+1"/>
+        <source>Change what packs are enabled, remove packs or create new ones</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+16"/>
         <source>INFO</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1433,12 +1514,7 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+13"/>
-        <source>OK</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../src/ui/RoomSettings.cpp" line="+268"/>
+        <location filename="../../src/ui/RoomSettings.cpp" line="+255"/>
         <source>Failed to enable encryption: %1</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1470,6 +1546,24 @@ Example: https://server.my:8787</source>
     </message>
 </context>
 <context>
+    <name>RoomlistModel</name>
+    <message>
+        <location filename="../../src/timeline/RoomlistModel.cpp" line="+143"/>
+        <source>Pending invite.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+30"/>
+        <source>Previewing this room</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+34"/>
+        <source>No preview available</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>ScreenShare</name>
     <message>
         <location filename="../qml/voip/ScreenShare.qml" line="+30"/>
@@ -1526,7 +1620,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>StatusIndicator</name>
     <message>
-        <location filename="../qml/StatusIndicator.qml" line="+21"/>
+        <location filename="../qml/StatusIndicator.qml" line="+24"/>
         <source>Failed</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1547,6 +1641,14 @@ Example: https://server.my:8787</source>
     </message>
 </context>
 <context>
+    <name>StickerPicker</name>
+    <message>
+        <location filename="../qml/emoji/StickerPicker.qml" line="+70"/>
+        <source>Search</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>Success</name>
     <message>
         <location filename="../qml/device-verification/Success.qml" line="+11"/>
@@ -1567,7 +1669,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>TimelineModel</name>
     <message>
-        <location filename="../../src/timeline/TimelineModel.cpp" line="+1095"/>
+        <location filename="../../src/timeline/TimelineModel.cpp" line="+1107"/>
         <source>Message redaction failed: %1</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1578,7 +1680,7 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+164"/>
+        <location line="+173"/>
         <source>Save image</source>
         <translation type="unfinished">Αποθήκευση Εικόνας</translation>
     </message>
@@ -1712,12 +1814,12 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-883"/>
+        <location line="-884"/>
         <source>You joined this room.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+849"/>
+        <location line="+850"/>
         <source>%1 has changed their avatar and changed their display name to %2.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1746,7 +1848,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>TimelineRow</name>
     <message>
-        <location filename="../qml/TimelineRow.qml" line="+106"/>
+        <location filename="../qml/TimelineRow.qml" line="+180"/>
         <source>Edited</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1754,17 +1856,32 @@ Example: https://server.my:8787</source>
 <context>
     <name>TimelineView</name>
     <message>
-        <location filename="../qml/TimelineView.qml" line="+27"/>
+        <location filename="../qml/TimelineView.qml" line="+30"/>
         <source>No room open</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+127"/>
+        <location line="+139"/>
         <source>%1 member(s)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+46"/>
+        <location line="+33"/>
+        <source>join the conversation</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+7"/>
+        <source>accept invite</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+7"/>
+        <source>decline invite</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+27"/>
         <source>Back to room list</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1772,7 +1889,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>TimelineViewManager</name>
     <message>
-        <location filename="../../src/timeline/TimelineViewManager.cpp" line="+461"/>
+        <location filename="../../src/timeline/TimelineViewManager.cpp" line="+527"/>
         <source>No encrypted private chat found with this user. Create an encrypted private chat with this user and try again.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1780,18 +1897,17 @@ Example: https://server.my:8787</source>
 <context>
     <name>TopBar</name>
     <message>
-        <location filename="../qml/TopBar.qml" line="+51"/>
+        <location filename="../qml/TopBar.qml" line="+54"/>
         <source>Back to room list</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+12"/>
-        <location line="+10"/>
+        <location line="-39"/>
         <source>No room selected</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+24"/>
+        <location line="+90"/>
         <source>Room options</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1832,7 +1948,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>UserProfile</name>
     <message>
-        <location filename="../qml/UserProfile.qml" line="+24"/>
+        <location filename="../qml/UserProfile.qml" line="+25"/>
         <source>Global User Profile</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1842,7 +1958,7 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+114"/>
+        <location line="+115"/>
         <location line="+107"/>
         <source>Verify</source>
         <translation type="unfinished"></translation>
@@ -1891,7 +2007,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>UserSettings</name>
     <message>
-        <location filename="../../src/UserSettingsPage.cpp" line="+362"/>
+        <location filename="../../src/UserSettingsPage.cpp" line="+363"/>
         <location filename="../../src/UserSettingsPage.h" line="+194"/>
         <source>Default</source>
         <translation type="unfinished"></translation>
@@ -1900,7 +2016,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>UserSettingsPage</name>
     <message>
-        <location line="+524"/>
+        <location line="+525"/>
         <source>Minimize to tray</source>
         <translation>Ελαχιστοποίηση</translation>
     </message>
@@ -2346,7 +2462,7 @@ This usually causes the application icon in the task bar to animate in some fash
 <context>
     <name>Waiting</name>
     <message>
-        <location filename="../qml/device-verification/Waiting.qml" line="+11"/>
+        <location filename="../qml/device-verification/Waiting.qml" line="+12"/>
         <source>Waiting for other party…</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2397,7 +2513,7 @@ This usually causes the application icon in the task bar to animate in some fash
 <context>
     <name>descriptiveTime</name>
     <message>
-        <location filename="../../src/Utils.cpp" line="+207"/>
+        <location filename="../../src/Utils.cpp" line="+184"/>
         <source>Yesterday</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2469,19 +2585,6 @@ This usually causes the application icon in the task bar to animate in some fash
     </message>
 </context>
 <context>
-    <name>dialogs::InviteUsers</name>
-    <message>
-        <location filename="../../src/dialogs/InviteUsers.cpp" line="+46"/>
-        <source>Cancel</source>
-        <translation type="unfinished">Άκυρο</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>User ID to invite</source>
-        <translation>Όνομα χρήστη</translation>
-    </message>
-</context>
-<context>
     <name>dialogs::JoinRoom</name>
     <message>
         <location filename="../../src/dialogs/JoinRoom.cpp" line="+34"/>
@@ -2592,7 +2695,7 @@ Media size: %2
 <context>
     <name>message-description sent:</name>
     <message>
-        <location filename="../../src/Utils.h" line="+124"/>
+        <location filename="../../src/Utils.h" line="+115"/>
         <source>You sent an audio clip</source>
         <translation type="unfinished"></translation>
     </message>
diff --git a/resources/langs/nheko_en.ts b/resources/langs/nheko_en.ts
index 7d3f8276..1851fff1 100644
--- a/resources/langs/nheko_en.ts
+++ b/resources/langs/nheko_en.ts
@@ -38,7 +38,7 @@
 <context>
     <name>AwaitingVerificationConfirmation</name>
     <message>
-        <location filename="../qml/device-verification/AwaitingVerificationConfirmation.qml" line="+11"/>
+        <location filename="../qml/device-verification/AwaitingVerificationConfirmation.qml" line="+12"/>
         <source>Awaiting Confirmation</source>
         <translation>Awaiting Confirmation</translation>
     </message>
@@ -48,7 +48,7 @@
         <translation>Waiting for other side to complete verification.</translation>
     </message>
     <message>
-        <location line="+12"/>
+        <location line="+13"/>
         <source>Cancel</source>
         <translation>Cancel</translation>
     </message>
@@ -125,7 +125,7 @@
 <context>
     <name>ChatPage</name>
     <message>
-        <location filename="../../src/ChatPage.cpp" line="+133"/>
+        <location filename="../../src/ChatPage.cpp" line="+135"/>
         <source>Failed to invite user: %1</source>
         <translation>Failed to invite user: %1</translation>
     </message>
@@ -157,12 +157,12 @@
     </message>
     <message>
         <location line="+34"/>
-        <location line="+280"/>
+        <location line="+286"/>
         <source>Confirm invite</source>
         <translation>Confirm invite</translation>
     </message>
     <message>
-        <location line="-279"/>
+        <location line="-285"/>
         <source>Do you really want to invite %1 (%2)?</source>
         <translation>Do you really want to invite %1 (%2)?</translation>
     </message>
@@ -227,12 +227,12 @@
         <translation>Unbanned user: %1</translation>
     </message>
     <message>
-        <location line="+183"/>
+        <location line="+189"/>
         <source>Do you really want to start a private chat with %1?</source>
         <translation>Do you really want to start a private chat with %1?</translation>
     </message>
     <message>
-        <location line="-721"/>
+        <location line="-727"/>
         <source>Cache migration failed!</source>
         <translation>Cache migration failed!</translation>
     </message>
@@ -352,7 +352,7 @@
 <context>
     <name>CrossSigningSecrets</name>
     <message>
-        <location filename="../../src/ChatPage.cpp" line="+183"/>
+        <location filename="../../src/ChatPage.cpp" line="+189"/>
         <source>Decrypt secrets</source>
         <translation>Decrypt secrets</translation>
     </message>
@@ -426,12 +426,12 @@
 <context>
     <name>EmojiPicker</name>
     <message>
-        <location filename="../qml/emoji/EmojiPicker.qml" line="+59"/>
+        <location filename="../qml/emoji/EmojiPicker.qml" line="+68"/>
         <source>Search</source>
         <translation>Search</translation>
     </message>
     <message>
-        <location line="+172"/>
+        <location line="+186"/>
         <source>People</source>
         <translation>People</translation>
     </message>
@@ -605,9 +605,47 @@
     </message>
 </context>
 <context>
+    <name>ImagePackSettingsDialog</name>
+    <message>
+        <location filename="../qml/dialogs/ImagePackSettingsDialog.qml" line="+22"/>
+        <source>Image pack settings</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+151"/>
+        <source>Private pack</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Pack from this room</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Globally enabled pack</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+59"/>
+        <source>Enable globally</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Enables this pack to be used in all rooms</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+62"/>
+        <source>Close</source>
+        <translation type="unfinished">Close</translation>
+    </message>
+</context>
+<context>
     <name>InputBar</name>
     <message>
-        <location filename="../../src/timeline/InputBar.cpp" line="+233"/>
+        <location filename="../../src/timeline/InputBar.cpp" line="+234"/>
         <source>Select a file</source>
         <translation>Select a file</translation>
     </message>
@@ -617,17 +655,43 @@
         <translation>All Files (*)</translation>
     </message>
     <message>
-        <location line="+417"/>
+        <location line="+442"/>
         <source>Failed to upload media. Please try again.</source>
         <translation>Failed to upload media. Please try again.</translation>
     </message>
 </context>
 <context>
-    <name>InviteeItem</name>
+    <name>InviteDialog</name>
+    <message>
+        <location filename="../qml/InviteDialog.qml" line="+32"/>
+        <source>Invite users to %1</source>
+        <translation>Invite users to %1</translation>
+    </message>
+    <message>
+        <location line="+24"/>
+        <source>User ID to invite</source>
+        <translation>User ID to invite</translation>
+    </message>
+    <message>
+        <location line="+14"/>
+        <source>@joe:matrix.org</source>
+        <comment>Example user id. The name &apos;joe&apos; can be localized however you want.</comment>
+        <translation>@joe:matrix.org</translation>
+    </message>
+    <message>
+        <location line="+17"/>
+        <source>Add</source>
+        <translation>Add</translation>
+    </message>
+    <message>
+        <location line="+58"/>
+        <source>Invite</source>
+        <translation>Invite</translation>
+    </message>
     <message>
-        <location filename="../../src/InviteeItem.cpp" line="+22"/>
-        <source>Remove</source>
-        <translation>Remove</translation>
+        <location line="+7"/>
+        <source>Cancel</source>
+        <translation>Cancel</translation>
     </message>
 </context>
 <context>
@@ -745,27 +809,14 @@ Example: https://server.my:8787</translation>
     </message>
 </context>
 <context>
-    <name>MemberList</name>
-    <message>
-        <location filename="../../src/dialogs/MemberList.cpp" line="+94"/>
-        <source>Room members</source>
-        <translation>Room members</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>OK</source>
-        <translation>OK</translation>
-    </message>
-</context>
-<context>
     <name>MessageDelegate</name>
     <message>
-        <location filename="../qml/delegates/MessageDelegate.qml" line="+128"/>
+        <location filename="../qml/delegates/MessageDelegate.qml" line="+187"/>
         <source>Encryption enabled</source>
         <translation>Encryption enabled</translation>
     </message>
     <message>
-        <location line="+9"/>
+        <location line="+12"/>
         <source>room name changed to: %1</source>
         <translation>room name changed to: %1</translation>
     </message>
@@ -775,7 +826,7 @@ Example: https://server.my:8787</translation>
         <translation>removed room name</translation>
     </message>
     <message>
-        <location line="+9"/>
+        <location line="+12"/>
         <source>topic changed to: %1</source>
         <translation>topic changed to: %1</translation>
     </message>
@@ -785,17 +836,17 @@ Example: https://server.my:8787</translation>
         <translation>removed topic</translation>
     </message>
     <message>
-        <location line="+9"/>
+        <location line="+12"/>
         <source>%1 changed the room avatar</source>
         <translation>%1 changed the room avatar</translation>
     </message>
     <message>
-        <location line="+8"/>
+        <location line="+12"/>
         <source>%1 created and configured room: %2</source>
         <translation>%1 created and configured room: %2</translation>
     </message>
     <message>
-        <location line="+12"/>
+        <location line="+15"/>
         <source>%1 placed a voice call.</source>
         <translation>%1 placed a voice call.</translation>
     </message>
@@ -810,23 +861,23 @@ Example: https://server.my:8787</translation>
         <translation>%1 placed a call.</translation>
     </message>
     <message>
-        <location line="+29"/>
+        <location line="+38"/>
         <source>Negotiating call...</source>
         <translation>Negotiating call…</translation>
     </message>
     <message>
-        <location line="-18"/>
+        <location line="-24"/>
         <source>%1 answered the call.</source>
         <translation>%1 answered the call.</translation>
     </message>
     <message>
-        <location line="-80"/>
+        <location line="-99"/>
         <location line="+9"/>
         <source>removed</source>
         <translation>removed</translation>
     </message>
     <message>
-        <location line="+80"/>
+        <location line="+102"/>
         <source>%1 ended the call.</source>
         <translation>%1 ended the call.</translation>
     </message>
@@ -834,7 +885,7 @@ Example: https://server.my:8787</translation>
 <context>
     <name>MessageInput</name>
     <message>
-        <location filename="../qml/MessageInput.qml" line="+43"/>
+        <location filename="../qml/MessageInput.qml" line="+44"/>
         <source>Hang up</source>
         <translation>Hang up</translation>
     </message>
@@ -855,6 +906,11 @@ Example: https://server.my:8787</translation>
     </message>
     <message>
         <location line="+214"/>
+        <source>Stickers</source>
+        <translation>Stickers</translation>
+    </message>
+    <message>
+        <location line="+24"/>
         <source>Emoji</source>
         <translation>Emoji</translation>
     </message>
@@ -872,17 +928,17 @@ Example: https://server.my:8787</translation>
 <context>
     <name>MessageView</name>
     <message>
-        <location filename="../qml/MessageView.qml" line="+83"/>
+        <location filename="../qml/MessageView.qml" line="+87"/>
         <source>Edit</source>
         <translation>Edit</translation>
     </message>
     <message>
-        <location line="+15"/>
+        <location line="+16"/>
         <source>React</source>
         <translation>React</translation>
     </message>
     <message>
-        <location line="+13"/>
+        <location line="+16"/>
         <source>Reply</source>
         <translation>Reply</translation>
     </message>
@@ -892,7 +948,7 @@ Example: https://server.my:8787</translation>
         <translation>Options</translation>
     </message>
     <message>
-        <location line="+329"/>
+        <location line="+405"/>
         <source>&amp;Copy</source>
         <translation>&amp;Copy</translation>
     </message>
@@ -1100,7 +1156,7 @@ Example: https://server.my:8787</translation>
 <context>
     <name>Placeholder</name>
     <message>
-        <location filename="../qml/delegates/Placeholder.qml" line="+9"/>
+        <location filename="../qml/delegates/Placeholder.qml" line="+11"/>
         <source>unimplemented event: </source>
         <translation>unimplemented event: </translation>
     </message>
@@ -1220,7 +1276,7 @@ Example: https://server.my:8787</translation>
 <context>
     <name>ReplyPopup</name>
     <message>
-        <location filename="../qml/ReplyPopup.qml" line="+47"/>
+        <location filename="../qml/ReplyPopup.qml" line="+62"/>
         <source>Close</source>
         <translation>Close</translation>
     </message>
@@ -1233,7 +1289,7 @@ Example: https://server.my:8787</translation>
 <context>
     <name>RoomInfo</name>
     <message>
-        <location filename="../../src/Cache.cpp" line="+4009"/>
+        <location filename="../../src/Cache.cpp" line="+4180"/>
         <source>no version stored</source>
         <translation>no version stored</translation>
     </message>
@@ -1241,7 +1297,7 @@ Example: https://server.my:8787</translation>
 <context>
     <name>RoomList</name>
     <message>
-        <location filename="../qml/RoomList.qml" line="+56"/>
+        <location filename="../qml/RoomList.qml" line="+57"/>
         <source>New tag</source>
         <translation>New tag</translation>
     </message>
@@ -1251,6 +1307,16 @@ Example: https://server.my:8787</translation>
         <translation>Enter the tag you want to use:</translation>
     </message>
     <message>
+        <location line="+9"/>
+        <source>Leave Room</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>Are you sure you want to leave this room?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <location line="+7"/>
         <source>Leave room</source>
         <translation>Leave room</translation>
@@ -1281,17 +1347,7 @@ Example: https://server.my:8787</translation>
         <translation>Create new tag...</translation>
     </message>
     <message>
-        <location line="+222"/>
-        <source>Accept</source>
-        <translation>Accept</translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>Decline</source>
-        <translation>Decline</translation>
-    </message>
-    <message>
-        <location line="+68"/>
+        <location line="+268"/>
         <source>Status Message</source>
         <translation>Status Message</translation>
     </message>
@@ -1342,19 +1398,41 @@ Example: https://server.my:8787</translation>
     </message>
 </context>
 <context>
+    <name>RoomMembers</name>
+    <message>
+        <location filename="../qml/RoomMembers.qml" line="+17"/>
+        <source>Members of %1</source>
+        <translation>Members of %1</translation>
+    </message>
+    <message numerus="yes">
+        <location line="+32"/>
+        <source>%n people in %1</source>
+        <comment>Summary above list of members</comment>
+        <translation>
+            <numerusform>%n person in %1</numerusform>
+            <numerusform>%n people in %1</numerusform>
+        </translation>
+    </message>
+    <message>
+        <location line="+10"/>
+        <source>Invite more people</source>
+        <translation>Invite more people</translation>
+    </message>
+</context>
+<context>
     <name>RoomSettings</name>
     <message>
-        <location filename="../qml/RoomSettings.qml" line="+25"/>
+        <location filename="../qml/RoomSettings.qml" line="+26"/>
         <source>Room Settings</source>
         <translation>Room Settings</translation>
     </message>
     <message>
-        <location line="+79"/>
+        <location line="+80"/>
         <source>%1 member(s)</source>
         <translation>%1 member(s)</translation>
     </message>
     <message>
-        <location line="+43"/>
+        <location line="+55"/>
         <source>SETTINGS</source>
         <translation>SETTINGS</translation>
     </message>
@@ -1410,21 +1488,22 @@ Example: https://server.my:8787</translation>
         <translation>Encryption is currently experimental and things might break unexpectedly.&lt;br&gt;Please take note that it can&apos;t be disabled afterwards.</translation>
     </message>
     <message>
-        <location line="+17"/>
-        <source>Respond to key requests</source>
-        <translation>Respond to key requests</translation>
+        <location line="+16"/>
+        <source>Sticker &amp; Emote Settings</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+5"/>
-        <source>Whether or not the client should respond automatically with the session keys
-                                upon request. Use with caution, this is a temporary measure to test the
-                                E2E implementation until device verification is completed.</source>
-        <translation>Whether or not the client should respond automatically with the session keys
-upon request. Use with caution, this is a temporary measure to test the
-E2E implementation until device verification is completed.</translation>
+        <location line="+4"/>
+        <source>Change</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+21"/>
+        <location line="+1"/>
+        <source>Change what packs are enabled, remove packs or create new ones</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+16"/>
         <source>INFO</source>
         <translation>INFO</translation>
     </message>
@@ -1439,12 +1518,7 @@ E2E implementation until device verification is completed.</translation>
         <translation>Room Version</translation>
     </message>
     <message>
-        <location line="+13"/>
-        <source>OK</source>
-        <translation>OK</translation>
-    </message>
-    <message>
-        <location filename="../../src/ui/RoomSettings.cpp" line="+268"/>
+        <location filename="../../src/ui/RoomSettings.cpp" line="+255"/>
         <source>Failed to enable encryption: %1</source>
         <translation>Failed to enable encryption: %1</translation>
     </message>
@@ -1476,6 +1550,24 @@ E2E implementation until device verification is completed.</translation>
     </message>
 </context>
 <context>
+    <name>RoomlistModel</name>
+    <message>
+        <location filename="../../src/timeline/RoomlistModel.cpp" line="+143"/>
+        <source>Pending invite.</source>
+        <translation>Pending invite.</translation>
+    </message>
+    <message>
+        <location line="+30"/>
+        <source>Previewing this room</source>
+        <translation>Previewing this room</translation>
+    </message>
+    <message>
+        <location line="+34"/>
+        <source>No preview available</source>
+        <translation>No preview available</translation>
+    </message>
+</context>
+<context>
     <name>ScreenShare</name>
     <message>
         <location filename="../qml/voip/ScreenShare.qml" line="+30"/>
@@ -1532,7 +1624,7 @@ E2E implementation until device verification is completed.</translation>
 <context>
     <name>StatusIndicator</name>
     <message>
-        <location filename="../qml/StatusIndicator.qml" line="+21"/>
+        <location filename="../qml/StatusIndicator.qml" line="+24"/>
         <source>Failed</source>
         <translation>Failed</translation>
     </message>
@@ -1553,6 +1645,14 @@ E2E implementation until device verification is completed.</translation>
     </message>
 </context>
 <context>
+    <name>StickerPicker</name>
+    <message>
+        <location filename="../qml/emoji/StickerPicker.qml" line="+70"/>
+        <source>Search</source>
+        <translation>Search</translation>
+    </message>
+</context>
+<context>
     <name>Success</name>
     <message>
         <location filename="../qml/device-verification/Success.qml" line="+11"/>
@@ -1573,7 +1673,7 @@ E2E implementation until device verification is completed.</translation>
 <context>
     <name>TimelineModel</name>
     <message>
-        <location filename="../../src/timeline/TimelineModel.cpp" line="+1095"/>
+        <location filename="../../src/timeline/TimelineModel.cpp" line="+1107"/>
         <source>Message redaction failed: %1</source>
         <translation>Message redaction failed: %1</translation>
     </message>
@@ -1584,7 +1684,7 @@ E2E implementation until device verification is completed.</translation>
         <translation>Failed to encrypt event, sending aborted!</translation>
     </message>
     <message>
-        <location line="+164"/>
+        <location line="+173"/>
         <source>Save image</source>
         <translation>Save image</translation>
     </message>
@@ -1718,12 +1818,12 @@ E2E implementation until device verification is completed.</translation>
         <translation>%1 redacted their knock.</translation>
     </message>
     <message>
-        <location line="-883"/>
+        <location line="-884"/>
         <source>You joined this room.</source>
         <translation>You joined this room.</translation>
     </message>
     <message>
-        <location line="+849"/>
+        <location line="+850"/>
         <source>%1 has changed their avatar and changed their display name to %2.</source>
         <translation>%1 has changed their avatar and changed their display name to %2.</translation>
     </message>
@@ -1752,7 +1852,7 @@ E2E implementation until device verification is completed.</translation>
 <context>
     <name>TimelineRow</name>
     <message>
-        <location filename="../qml/TimelineRow.qml" line="+106"/>
+        <location filename="../qml/TimelineRow.qml" line="+180"/>
         <source>Edited</source>
         <translation>Edited</translation>
     </message>
@@ -1760,17 +1860,32 @@ E2E implementation until device verification is completed.</translation>
 <context>
     <name>TimelineView</name>
     <message>
-        <location filename="../qml/TimelineView.qml" line="+27"/>
+        <location filename="../qml/TimelineView.qml" line="+30"/>
         <source>No room open</source>
         <translation>No room open</translation>
     </message>
     <message>
-        <location line="+127"/>
+        <location line="+139"/>
         <source>%1 member(s)</source>
         <translation>%1 member(s)</translation>
     </message>
     <message>
-        <location line="+46"/>
+        <location line="+33"/>
+        <source>join the conversation</source>
+        <translation>join the conversation</translation>
+    </message>
+    <message>
+        <location line="+7"/>
+        <source>accept invite</source>
+        <translation>accept invite</translation>
+    </message>
+    <message>
+        <location line="+7"/>
+        <source>decline invite</source>
+        <translation>decline invite</translation>
+    </message>
+    <message>
+        <location line="+27"/>
         <source>Back to room list</source>
         <translation>Back to room list</translation>
     </message>
@@ -1778,7 +1893,7 @@ E2E implementation until device verification is completed.</translation>
 <context>
     <name>TimelineViewManager</name>
     <message>
-        <location filename="../../src/timeline/TimelineViewManager.cpp" line="+461"/>
+        <location filename="../../src/timeline/TimelineViewManager.cpp" line="+527"/>
         <source>No encrypted private chat found with this user. Create an encrypted private chat with this user and try again.</source>
         <translation>No encrypted private chat found with this user. Create an encrypted private chat with this user and try again.</translation>
     </message>
@@ -1786,18 +1901,17 @@ E2E implementation until device verification is completed.</translation>
 <context>
     <name>TopBar</name>
     <message>
-        <location filename="../qml/TopBar.qml" line="+51"/>
+        <location filename="../qml/TopBar.qml" line="+54"/>
         <source>Back to room list</source>
         <translation>Back to room list</translation>
     </message>
     <message>
-        <location line="+12"/>
-        <location line="+10"/>
+        <location line="-39"/>
         <source>No room selected</source>
         <translation>No room selected</translation>
     </message>
     <message>
-        <location line="+24"/>
+        <location line="+90"/>
         <source>Room options</source>
         <translation>Room options</translation>
     </message>
@@ -1838,7 +1952,7 @@ E2E implementation until device verification is completed.</translation>
 <context>
     <name>UserProfile</name>
     <message>
-        <location filename="../qml/UserProfile.qml" line="+24"/>
+        <location filename="../qml/UserProfile.qml" line="+25"/>
         <source>Global User Profile</source>
         <translation>Global User Profile</translation>
     </message>
@@ -1848,7 +1962,7 @@ E2E implementation until device verification is completed.</translation>
         <translation>Room User Profile</translation>
     </message>
     <message>
-        <location line="+114"/>
+        <location line="+115"/>
         <location line="+107"/>
         <source>Verify</source>
         <translation>Verify</translation>
@@ -1897,7 +2011,7 @@ E2E implementation until device verification is completed.</translation>
 <context>
     <name>UserSettings</name>
     <message>
-        <location filename="../../src/UserSettingsPage.cpp" line="+362"/>
+        <location filename="../../src/UserSettingsPage.cpp" line="+363"/>
         <location filename="../../src/UserSettingsPage.h" line="+194"/>
         <source>Default</source>
         <translation>Default</translation>
@@ -1906,7 +2020,7 @@ E2E implementation until device verification is completed.</translation>
 <context>
     <name>UserSettingsPage</name>
     <message>
-        <location line="+524"/>
+        <location line="+525"/>
         <source>Minimize to tray</source>
         <translation>Minimize to tray</translation>
     </message>
@@ -2363,7 +2477,7 @@ This usually causes the application icon in the task bar to animate in some fash
 <context>
     <name>Waiting</name>
     <message>
-        <location filename="../qml/device-verification/Waiting.qml" line="+11"/>
+        <location filename="../qml/device-verification/Waiting.qml" line="+12"/>
         <source>Waiting for other party…</source>
         <translation>Waiting for other party…</translation>
     </message>
@@ -2414,7 +2528,7 @@ This usually causes the application icon in the task bar to animate in some fash
 <context>
     <name>descriptiveTime</name>
     <message>
-        <location filename="../../src/Utils.cpp" line="+207"/>
+        <location filename="../../src/Utils.cpp" line="+184"/>
         <source>Yesterday</source>
         <translation>Yesterday</translation>
     </message>
@@ -2486,19 +2600,6 @@ This usually causes the application icon in the task bar to animate in some fash
     </message>
 </context>
 <context>
-    <name>dialogs::InviteUsers</name>
-    <message>
-        <location filename="../../src/dialogs/InviteUsers.cpp" line="+46"/>
-        <source>Cancel</source>
-        <translation>Cancel</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>User ID to invite</source>
-        <translation>User ID to invite</translation>
-    </message>
-</context>
-<context>
     <name>dialogs::JoinRoom</name>
     <message>
         <location filename="../../src/dialogs/JoinRoom.cpp" line="+34"/>
@@ -2611,7 +2712,7 @@ Media size: %2
 <context>
     <name>message-description sent:</name>
     <message>
-        <location filename="../../src/Utils.h" line="+124"/>
+        <location filename="../../src/Utils.h" line="+115"/>
         <source>You sent an audio clip</source>
         <translation>You sent an audio clip</translation>
     </message>
diff --git a/resources/langs/nheko_eo.ts b/resources/langs/nheko_eo.ts
index 26a67d49..a77c5c25 100644
--- a/resources/langs/nheko_eo.ts
+++ b/resources/langs/nheko_eo.ts
@@ -38,7 +38,7 @@
 <context>
     <name>AwaitingVerificationConfirmation</name>
     <message>
-        <location filename="../qml/device-verification/AwaitingVerificationConfirmation.qml" line="+11"/>
+        <location filename="../qml/device-verification/AwaitingVerificationConfirmation.qml" line="+12"/>
         <source>Awaiting Confirmation</source>
         <translation>Atendante konfirmon</translation>
     </message>
@@ -48,7 +48,7 @@
         <translation>Atendante kontrolon venontan de la alia flanko.</translation>
     </message>
     <message>
-        <location line="+12"/>
+        <location line="+13"/>
         <source>Cancel</source>
         <translation>Nuligi</translation>
     </message>
@@ -125,7 +125,7 @@
 <context>
     <name>ChatPage</name>
     <message>
-        <location filename="../../src/ChatPage.cpp" line="+133"/>
+        <location filename="../../src/ChatPage.cpp" line="+135"/>
         <source>Failed to invite user: %1</source>
         <translation>Malsukcesis inviti uzanton: %1</translation>
     </message>
@@ -158,12 +158,12 @@
     </message>
     <message>
         <location line="+34"/>
-        <location line="+280"/>
+        <location line="+286"/>
         <source>Confirm invite</source>
         <translation>Konfirmu inviton</translation>
     </message>
     <message>
-        <location line="-279"/>
+        <location line="-285"/>
         <source>Do you really want to invite %1 (%2)?</source>
         <translation>Ĉu vi certe volas inviti uzanton %1 (%2)?</translation>
     </message>
@@ -228,12 +228,12 @@
         <translation>Malforbaris uzanton: %1</translation>
     </message>
     <message>
-        <location line="+183"/>
+        <location line="+189"/>
         <source>Do you really want to start a private chat with %1?</source>
         <translation>Ĉu vi certe volas komenci privatan babilon kun %1?</translation>
     </message>
     <message>
-        <location line="-721"/>
+        <location line="-727"/>
         <source>Cache migration failed!</source>
         <translation>Malsukcesis migrado de kaŝmemoro!</translation>
     </message>
@@ -353,7 +353,7 @@
 <context>
     <name>CrossSigningSecrets</name>
     <message>
-        <location filename="../../src/ChatPage.cpp" line="+183"/>
+        <location filename="../../src/ChatPage.cpp" line="+189"/>
         <source>Decrypt secrets</source>
         <translation>Malĉifri sekretojn</translation>
     </message>
@@ -427,12 +427,12 @@
 <context>
     <name>EmojiPicker</name>
     <message>
-        <location filename="../qml/emoji/EmojiPicker.qml" line="+59"/>
+        <location filename="../qml/emoji/EmojiPicker.qml" line="+68"/>
         <source>Search</source>
         <translation>Serĉu</translation>
     </message>
     <message>
-        <location line="+172"/>
+        <location line="+186"/>
         <source>People</source>
         <translation>Homoj</translation>
     </message>
@@ -606,9 +606,47 @@
     </message>
 </context>
 <context>
+    <name>ImagePackSettingsDialog</name>
+    <message>
+        <location filename="../qml/dialogs/ImagePackSettingsDialog.qml" line="+22"/>
+        <source>Image pack settings</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+151"/>
+        <source>Private pack</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Pack from this room</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Globally enabled pack</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+59"/>
+        <source>Enable globally</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Enables this pack to be used in all rooms</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+62"/>
+        <source>Close</source>
+        <translation type="unfinished">Fermi</translation>
+    </message>
+</context>
+<context>
     <name>InputBar</name>
     <message>
-        <location filename="../../src/timeline/InputBar.cpp" line="+233"/>
+        <location filename="../../src/timeline/InputBar.cpp" line="+234"/>
         <source>Select a file</source>
         <translation type="unfinished">Elektu dosieron</translation>
     </message>
@@ -618,17 +656,43 @@
         <translation>Ĉiuj dosieroj (*)</translation>
     </message>
     <message>
-        <location line="+417"/>
+        <location line="+442"/>
         <source>Failed to upload media. Please try again.</source>
         <translation>Malsukcesis alŝuti vidaŭdaĵojn. Bonvolu reprovi.</translation>
     </message>
 </context>
 <context>
-    <name>InviteeItem</name>
+    <name>InviteDialog</name>
+    <message>
+        <location filename="../qml/InviteDialog.qml" line="+32"/>
+        <source>Invite users to %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+24"/>
+        <source>User ID to invite</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+14"/>
+        <source>@joe:matrix.org</source>
+        <comment>Example user id. The name &apos;joe&apos; can be localized however you want.</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+17"/>
+        <source>Add</source>
+        <translation type="unfinished"></translation>
+    </message>
     <message>
-        <location filename="../../src/InviteeItem.cpp" line="+22"/>
-        <source>Remove</source>
-        <translation>Forigi</translation>
+        <location line="+58"/>
+        <source>Invite</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+7"/>
+        <source>Cancel</source>
+        <translation type="unfinished">Nuligi</translation>
     </message>
 </context>
 <context>
@@ -748,22 +812,9 @@ Ekzemplo: https://servilo.mia:8787</translation>
     </message>
 </context>
 <context>
-    <name>MemberList</name>
-    <message>
-        <location filename="../../src/dialogs/MemberList.cpp" line="+94"/>
-        <source>Room members</source>
-        <translation>Membroj de la ĉambro</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>OK</source>
-        <translation>Bone</translation>
-    </message>
-</context>
-<context>
     <name>MessageDelegate</name>
     <message>
-        <location filename="../qml/delegates/MessageDelegate.qml" line="+110"/>
+        <location filename="../qml/delegates/MessageDelegate.qml" line="+169"/>
         <location line="+9"/>
         <source>removed</source>
         <translation>forigita</translation>
@@ -774,7 +825,7 @@ Ekzemplo: https://servilo.mia:8787</translation>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+9"/>
+        <location line="+12"/>
         <source>room name changed to: %1</source>
         <translation>Nomo da ĉambro ŝanĝiĝis al: %1</translation>
     </message>
@@ -784,7 +835,7 @@ Ekzemplo: https://servilo.mia:8787</translation>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+9"/>
+        <location line="+12"/>
         <source>topic changed to: %1</source>
         <translation type="unfinished"></translation>
     </message>
@@ -794,17 +845,17 @@ Ekzemplo: https://servilo.mia:8787</translation>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+9"/>
+        <location line="+12"/>
         <source>%1 changed the room avatar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+8"/>
+        <location line="+12"/>
         <source>%1 created and configured room: %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+12"/>
+        <location line="+15"/>
         <source>%1 placed a voice call.</source>
         <translation>%1 metis voĉvokon.</translation>
     </message>
@@ -819,17 +870,17 @@ Ekzemplo: https://servilo.mia:8787</translation>
         <translation>%1 metis vokon.</translation>
     </message>
     <message>
-        <location line="+11"/>
+        <location line="+14"/>
         <source>%1 answered the call.</source>
         <translation>%1 respondis la vokon.</translation>
     </message>
     <message>
-        <location line="+9"/>
+        <location line="+12"/>
         <source>%1 ended the call.</source>
         <translation>%1 finis la vokon.</translation>
     </message>
     <message>
-        <location line="+9"/>
+        <location line="+12"/>
         <source>Negotiating call...</source>
         <translation>Traktante vokon…</translation>
     </message>
@@ -837,7 +888,7 @@ Ekzemplo: https://servilo.mia:8787</translation>
 <context>
     <name>MessageInput</name>
     <message>
-        <location filename="../qml/MessageInput.qml" line="+43"/>
+        <location filename="../qml/MessageInput.qml" line="+44"/>
         <source>Hang up</source>
         <translation type="unfinished"></translation>
     </message>
@@ -858,6 +909,11 @@ Ekzemplo: https://servilo.mia:8787</translation>
     </message>
     <message>
         <location line="+214"/>
+        <source>Stickers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+24"/>
         <source>Emoji</source>
         <translation>Bildosignoj</translation>
     </message>
@@ -875,17 +931,17 @@ Ekzemplo: https://servilo.mia:8787</translation>
 <context>
     <name>MessageView</name>
     <message>
-        <location filename="../qml/MessageView.qml" line="+83"/>
+        <location filename="../qml/MessageView.qml" line="+87"/>
         <source>Edit</source>
         <translation>Redakti</translation>
     </message>
     <message>
-        <location line="+15"/>
+        <location line="+16"/>
         <source>React</source>
         <translation>Reagi</translation>
     </message>
     <message>
-        <location line="+13"/>
+        <location line="+16"/>
         <source>Reply</source>
         <translation>Respondi</translation>
     </message>
@@ -895,7 +951,7 @@ Ekzemplo: https://servilo.mia:8787</translation>
         <translation>Elektebloj</translation>
     </message>
     <message>
-        <location line="+329"/>
+        <location line="+405"/>
         <source>&amp;Copy</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1103,7 +1159,7 @@ Ekzemplo: https://servilo.mia:8787</translation>
 <context>
     <name>Placeholder</name>
     <message>
-        <location filename="../qml/delegates/Placeholder.qml" line="+9"/>
+        <location filename="../qml/delegates/Placeholder.qml" line="+11"/>
         <source>unimplemented event: </source>
         <translation>neprogramita okazo: </translation>
     </message>
@@ -1223,7 +1279,7 @@ Ekzemplo: https://servilo.mia:8787</translation>
 <context>
     <name>ReplyPopup</name>
     <message>
-        <location filename="../qml/ReplyPopup.qml" line="+47"/>
+        <location filename="../qml/ReplyPopup.qml" line="+62"/>
         <source>Close</source>
         <translation>Fermi</translation>
     </message>
@@ -1236,7 +1292,7 @@ Ekzemplo: https://servilo.mia:8787</translation>
 <context>
     <name>RoomInfo</name>
     <message>
-        <location filename="../../src/Cache.cpp" line="+4009"/>
+        <location filename="../../src/Cache.cpp" line="+4180"/>
         <source>no version stored</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1244,7 +1300,7 @@ Ekzemplo: https://servilo.mia:8787</translation>
 <context>
     <name>RoomList</name>
     <message>
-        <location filename="../qml/RoomList.qml" line="+56"/>
+        <location filename="../qml/RoomList.qml" line="+57"/>
         <source>New tag</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1254,6 +1310,16 @@ Ekzemplo: https://servilo.mia:8787</translation>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+9"/>
+        <source>Leave Room</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>Are you sure you want to leave this room?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <location line="+7"/>
         <source>Leave room</source>
         <translation type="unfinished">Eliri el ĉambro</translation>
@@ -1284,17 +1350,7 @@ Ekzemplo: https://servilo.mia:8787</translation>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+222"/>
-        <source>Accept</source>
-        <translation type="unfinished">Akcepti</translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>Decline</source>
-        <translation type="unfinished">Rifuzi</translation>
-    </message>
-    <message>
-        <location line="+68"/>
+        <location line="+268"/>
         <source>Status Message</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1345,19 +1401,41 @@ Ekzemplo: https://servilo.mia:8787</translation>
     </message>
 </context>
 <context>
+    <name>RoomMembers</name>
+    <message>
+        <location filename="../qml/RoomMembers.qml" line="+17"/>
+        <source>Members of %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message numerus="yes">
+        <location line="+32"/>
+        <source>%n people in %1</source>
+        <comment>Summary above list of members</comment>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+            <numerusform></numerusform>
+        </translation>
+    </message>
+    <message>
+        <location line="+10"/>
+        <source>Invite more people</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>RoomSettings</name>
     <message>
-        <location filename="../qml/RoomSettings.qml" line="+25"/>
+        <location filename="../qml/RoomSettings.qml" line="+26"/>
         <source>Room Settings</source>
         <translation>Agordoj de ĉambro</translation>
     </message>
     <message>
-        <location line="+79"/>
+        <location line="+80"/>
         <source>%1 member(s)</source>
         <translation>%1 ĉambrano(j)</translation>
     </message>
     <message>
-        <location line="+43"/>
+        <location line="+55"/>
         <source>SETTINGS</source>
         <translation>AGORDOJ</translation>
     </message>
@@ -1413,19 +1491,22 @@ Ekzemplo: https://servilo.mia:8787</translation>
         <translation>Ĉifrado nun estas eksperimenta kaj povus rompiĝi neatendite.&lt;br&gt;Bonvole sciu, ke ne eblas ĝin malŝalti poste.</translation>
     </message>
     <message>
-        <location line="+17"/>
-        <source>Respond to key requests</source>
-        <translation>Respondi al petoj de ŝlosiloj</translation>
+        <location line="+16"/>
+        <source>Sticker &amp; Emote Settings</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+5"/>
-        <source>Whether or not the client should respond automatically with the session keys
-                                upon request. Use with caution, this is a temporary measure to test the
-                                E2E implementation until device verification is completed.</source>
+        <location line="+4"/>
+        <source>Change</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+21"/>
+        <location line="+1"/>
+        <source>Change what packs are enabled, remove packs or create new ones</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+16"/>
         <source>INFO</source>
         <translation>INFORMOJ</translation>
     </message>
@@ -1440,12 +1521,7 @@ Ekzemplo: https://servilo.mia:8787</translation>
         <translation>Versio de ĉambro</translation>
     </message>
     <message>
-        <location line="+13"/>
-        <source>OK</source>
-        <translation>Bone</translation>
-    </message>
-    <message>
-        <location filename="../../src/ui/RoomSettings.cpp" line="+268"/>
+        <location filename="../../src/ui/RoomSettings.cpp" line="+255"/>
         <source>Failed to enable encryption: %1</source>
         <translation>Malsukcesis ŝalti ĉifradon: %1</translation>
     </message>
@@ -1477,6 +1553,24 @@ Ekzemplo: https://servilo.mia:8787</translation>
     </message>
 </context>
 <context>
+    <name>RoomlistModel</name>
+    <message>
+        <location filename="../../src/timeline/RoomlistModel.cpp" line="+143"/>
+        <source>Pending invite.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+30"/>
+        <source>Previewing this room</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+34"/>
+        <source>No preview available</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>ScreenShare</name>
     <message>
         <location filename="../qml/voip/ScreenShare.qml" line="+30"/>
@@ -1533,7 +1627,7 @@ Ekzemplo: https://servilo.mia:8787</translation>
 <context>
     <name>StatusIndicator</name>
     <message>
-        <location filename="../qml/StatusIndicator.qml" line="+21"/>
+        <location filename="../qml/StatusIndicator.qml" line="+24"/>
         <source>Failed</source>
         <translation>Estas malsukcesa</translation>
     </message>
@@ -1555,6 +1649,14 @@ Ekzemplo: https://servilo.mia:8787</translation>
     </message>
 </context>
 <context>
+    <name>StickerPicker</name>
+    <message>
+        <location filename="../qml/emoji/StickerPicker.qml" line="+70"/>
+        <source>Search</source>
+        <translation type="unfinished">Serĉu</translation>
+    </message>
+</context>
+<context>
     <name>Success</name>
     <message>
         <location filename="../qml/device-verification/Success.qml" line="+11"/>
@@ -1575,7 +1677,7 @@ Ekzemplo: https://servilo.mia:8787</translation>
 <context>
     <name>TimelineModel</name>
     <message>
-        <location filename="../../src/timeline/TimelineModel.cpp" line="+1095"/>
+        <location filename="../../src/timeline/TimelineModel.cpp" line="+1107"/>
         <source>Message redaction failed: %1</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1586,7 +1688,7 @@ Ekzemplo: https://servilo.mia:8787</translation>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+164"/>
+        <location line="+173"/>
         <source>Save image</source>
         <translation>Konservi bildon</translation>
     </message>
@@ -1722,12 +1824,12 @@ Ekzemplo: https://servilo.mia:8787</translation>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-883"/>
+        <location line="-884"/>
         <source>You joined this room.</source>
         <translation>Vi aliĝis ĉi tiun ĉambron.</translation>
     </message>
     <message>
-        <location line="+849"/>
+        <location line="+850"/>
         <source>%1 has changed their avatar and changed their display name to %2.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1756,7 +1858,7 @@ Ekzemplo: https://servilo.mia:8787</translation>
 <context>
     <name>TimelineRow</name>
     <message>
-        <location filename="../qml/TimelineRow.qml" line="+106"/>
+        <location filename="../qml/TimelineRow.qml" line="+180"/>
         <source>Edited</source>
         <translation>Redaktita</translation>
     </message>
@@ -1764,17 +1866,32 @@ Ekzemplo: https://servilo.mia:8787</translation>
 <context>
     <name>TimelineView</name>
     <message>
-        <location filename="../qml/TimelineView.qml" line="+27"/>
+        <location filename="../qml/TimelineView.qml" line="+30"/>
         <source>No room open</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+127"/>
+        <location line="+139"/>
         <source>%1 member(s)</source>
         <translation type="unfinished">%1 ĉambrano(j)</translation>
     </message>
     <message>
-        <location line="+46"/>
+        <location line="+33"/>
+        <source>join the conversation</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+7"/>
+        <source>accept invite</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+7"/>
+        <source>decline invite</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+27"/>
         <source>Back to room list</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1782,7 +1899,7 @@ Ekzemplo: https://servilo.mia:8787</translation>
 <context>
     <name>TimelineViewManager</name>
     <message>
-        <location filename="../../src/timeline/TimelineViewManager.cpp" line="+461"/>
+        <location filename="../../src/timeline/TimelineViewManager.cpp" line="+527"/>
         <source>No encrypted private chat found with this user. Create an encrypted private chat with this user and try again.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1790,18 +1907,17 @@ Ekzemplo: https://servilo.mia:8787</translation>
 <context>
     <name>TopBar</name>
     <message>
-        <location filename="../qml/TopBar.qml" line="+51"/>
+        <location filename="../qml/TopBar.qml" line="+54"/>
         <source>Back to room list</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+12"/>
-        <location line="+10"/>
+        <location line="-39"/>
         <source>No room selected</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+24"/>
+        <location line="+90"/>
         <source>Room options</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1842,7 +1958,7 @@ Ekzemplo: https://servilo.mia:8787</translation>
 <context>
     <name>UserProfile</name>
     <message>
-        <location filename="../qml/UserProfile.qml" line="+24"/>
+        <location filename="../qml/UserProfile.qml" line="+25"/>
         <source>Global User Profile</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1852,7 +1968,7 @@ Ekzemplo: https://servilo.mia:8787</translation>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+114"/>
+        <location line="+115"/>
         <location line="+107"/>
         <source>Verify</source>
         <translation type="unfinished"></translation>
@@ -1901,7 +2017,7 @@ Ekzemplo: https://servilo.mia:8787</translation>
 <context>
     <name>UserSettings</name>
     <message>
-        <location filename="../../src/UserSettingsPage.cpp" line="+362"/>
+        <location filename="../../src/UserSettingsPage.cpp" line="+363"/>
         <location filename="../../src/UserSettingsPage.h" line="+194"/>
         <source>Default</source>
         <translation type="unfinished"></translation>
@@ -1910,7 +2026,7 @@ Ekzemplo: https://servilo.mia:8787</translation>
 <context>
     <name>UserSettingsPage</name>
     <message>
-        <location line="+524"/>
+        <location line="+525"/>
         <source>Minimize to tray</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2373,7 +2489,7 @@ This usually causes the application icon in the task bar to animate in some fash
 <context>
     <name>Waiting</name>
     <message>
-        <location filename="../qml/device-verification/Waiting.qml" line="+11"/>
+        <location filename="../qml/device-verification/Waiting.qml" line="+12"/>
         <source>Waiting for other party…</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2425,7 +2541,7 @@ This usually causes the application icon in the task bar to animate in some fash
 <context>
     <name>descriptiveTime</name>
     <message>
-        <location filename="../../src/Utils.cpp" line="+207"/>
+        <location filename="../../src/Utils.cpp" line="+184"/>
         <source>Yesterday</source>
         <translation>Hieraŭ</translation>
     </message>
@@ -2497,19 +2613,6 @@ This usually causes the application icon in the task bar to animate in some fash
     </message>
 </context>
 <context>
-    <name>dialogs::InviteUsers</name>
-    <message>
-        <location filename="../../src/dialogs/InviteUsers.cpp" line="+46"/>
-        <source>Cancel</source>
-        <translation type="unfinished">Nuligi</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>User ID to invite</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
     <name>dialogs::JoinRoom</name>
     <message>
         <location filename="../../src/dialogs/JoinRoom.cpp" line="+34"/>
@@ -2620,7 +2723,7 @@ Media size: %2
 <context>
     <name>message-description sent:</name>
     <message>
-        <location filename="../../src/Utils.h" line="+124"/>
+        <location filename="../../src/Utils.h" line="+115"/>
         <source>You sent an audio clip</source>
         <translation type="unfinished"></translation>
     </message>
diff --git a/resources/langs/nheko_es.ts b/resources/langs/nheko_es.ts
index 6318b9c4..922e0500 100644
--- a/resources/langs/nheko_es.ts
+++ b/resources/langs/nheko_es.ts
@@ -38,7 +38,7 @@
 <context>
     <name>AwaitingVerificationConfirmation</name>
     <message>
-        <location filename="../qml/device-verification/AwaitingVerificationConfirmation.qml" line="+11"/>
+        <location filename="../qml/device-verification/AwaitingVerificationConfirmation.qml" line="+12"/>
         <source>Awaiting Confirmation</source>
         <translation>Esperando confirmación</translation>
     </message>
@@ -48,7 +48,7 @@
         <translation>Esperando a que la otra parte complete la verificación.</translation>
     </message>
     <message>
-        <location line="+12"/>
+        <location line="+13"/>
         <source>Cancel</source>
         <translation>Cancelar</translation>
     </message>
@@ -125,7 +125,7 @@
 <context>
     <name>ChatPage</name>
     <message>
-        <location filename="../../src/ChatPage.cpp" line="+133"/>
+        <location filename="../../src/ChatPage.cpp" line="+135"/>
         <source>Failed to invite user: %1</source>
         <translation>No se pudo invitar al usuario: %1</translation>
     </message>
@@ -157,12 +157,12 @@
     </message>
     <message>
         <location line="+34"/>
-        <location line="+280"/>
+        <location line="+286"/>
         <source>Confirm invite</source>
         <translation>Confirmar invitación</translation>
     </message>
     <message>
-        <location line="-279"/>
+        <location line="-285"/>
         <source>Do you really want to invite %1 (%2)?</source>
         <translation type="unfinished"></translation>
     </message>
@@ -227,12 +227,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+183"/>
+        <location line="+189"/>
         <source>Do you really want to start a private chat with %1?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-721"/>
+        <location line="-727"/>
         <source>Cache migration failed!</source>
         <translation type="unfinished"></translation>
     </message>
@@ -352,7 +352,7 @@
 <context>
     <name>CrossSigningSecrets</name>
     <message>
-        <location filename="../../src/ChatPage.cpp" line="+183"/>
+        <location filename="../../src/ChatPage.cpp" line="+189"/>
         <source>Decrypt secrets</source>
         <translation type="unfinished"></translation>
     </message>
@@ -426,12 +426,12 @@
 <context>
     <name>EmojiPicker</name>
     <message>
-        <location filename="../qml/emoji/EmojiPicker.qml" line="+59"/>
+        <location filename="../qml/emoji/EmojiPicker.qml" line="+68"/>
         <source>Search</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+172"/>
+        <location line="+186"/>
         <source>People</source>
         <translation type="unfinished"></translation>
     </message>
@@ -605,9 +605,47 @@
     </message>
 </context>
 <context>
+    <name>ImagePackSettingsDialog</name>
+    <message>
+        <location filename="../qml/dialogs/ImagePackSettingsDialog.qml" line="+22"/>
+        <source>Image pack settings</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+151"/>
+        <source>Private pack</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Pack from this room</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Globally enabled pack</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+59"/>
+        <source>Enable globally</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Enables this pack to be used in all rooms</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+62"/>
+        <source>Close</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>InputBar</name>
     <message>
-        <location filename="../../src/timeline/InputBar.cpp" line="+233"/>
+        <location filename="../../src/timeline/InputBar.cpp" line="+234"/>
         <source>Select a file</source>
         <translation type="unfinished"></translation>
     </message>
@@ -617,18 +655,44 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+417"/>
+        <location line="+442"/>
         <source>Failed to upload media. Please try again.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>InviteeItem</name>
+    <name>InviteDialog</name>
+    <message>
+        <location filename="../qml/InviteDialog.qml" line="+32"/>
+        <source>Invite users to %1</source>
+        <translation type="unfinished"></translation>
+    </message>
     <message>
-        <location filename="../../src/InviteeItem.cpp" line="+22"/>
-        <source>Remove</source>
+        <location line="+24"/>
+        <source>User ID to invite</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+14"/>
+        <source>@joe:matrix.org</source>
+        <comment>Example user id. The name &apos;joe&apos; can be localized however you want.</comment>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location line="+17"/>
+        <source>Add</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+58"/>
+        <source>Invite</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+7"/>
+        <source>Cancel</source>
+        <translation type="unfinished">Cancelar</translation>
+    </message>
 </context>
 <context>
     <name>LoginPage</name>
@@ -741,27 +805,14 @@ Example: https://server.my:8787</source>
     </message>
 </context>
 <context>
-    <name>MemberList</name>
-    <message>
-        <location filename="../../src/dialogs/MemberList.cpp" line="+94"/>
-        <source>Room members</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>OK</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
     <name>MessageDelegate</name>
     <message>
-        <location filename="../qml/delegates/MessageDelegate.qml" line="+128"/>
+        <location filename="../qml/delegates/MessageDelegate.qml" line="+187"/>
         <source>Encryption enabled</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+9"/>
+        <location line="+12"/>
         <source>room name changed to: %1</source>
         <translation type="unfinished"></translation>
     </message>
@@ -771,7 +822,7 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+9"/>
+        <location line="+12"/>
         <source>topic changed to: %1</source>
         <translation type="unfinished"></translation>
     </message>
@@ -781,17 +832,17 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+9"/>
+        <location line="+12"/>
         <source>%1 changed the room avatar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+8"/>
+        <location line="+12"/>
         <source>%1 created and configured room: %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+12"/>
+        <location line="+15"/>
         <source>%1 placed a voice call.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -806,23 +857,23 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+29"/>
+        <location line="+38"/>
         <source>Negotiating call...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-18"/>
+        <location line="-24"/>
         <source>%1 answered the call.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-80"/>
+        <location line="-99"/>
         <location line="+9"/>
         <source>removed</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+80"/>
+        <location line="+102"/>
         <source>%1 ended the call.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -830,7 +881,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>MessageInput</name>
     <message>
-        <location filename="../qml/MessageInput.qml" line="+43"/>
+        <location filename="../qml/MessageInput.qml" line="+44"/>
         <source>Hang up</source>
         <translation type="unfinished"></translation>
     </message>
@@ -851,6 +902,11 @@ Example: https://server.my:8787</source>
     </message>
     <message>
         <location line="+214"/>
+        <source>Stickers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+24"/>
         <source>Emoji</source>
         <translation type="unfinished"></translation>
     </message>
@@ -868,17 +924,17 @@ Example: https://server.my:8787</source>
 <context>
     <name>MessageView</name>
     <message>
-        <location filename="../qml/MessageView.qml" line="+83"/>
+        <location filename="../qml/MessageView.qml" line="+87"/>
         <source>Edit</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+15"/>
+        <location line="+16"/>
         <source>React</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+13"/>
+        <location line="+16"/>
         <source>Reply</source>
         <translation type="unfinished"></translation>
     </message>
@@ -888,7 +944,7 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+329"/>
+        <location line="+405"/>
         <source>&amp;Copy</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1096,7 +1152,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>Placeholder</name>
     <message>
-        <location filename="../qml/delegates/Placeholder.qml" line="+9"/>
+        <location filename="../qml/delegates/Placeholder.qml" line="+11"/>
         <source>unimplemented event: </source>
         <translation type="unfinished"></translation>
     </message>
@@ -1216,7 +1272,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>ReplyPopup</name>
     <message>
-        <location filename="../qml/ReplyPopup.qml" line="+47"/>
+        <location filename="../qml/ReplyPopup.qml" line="+62"/>
         <source>Close</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1229,7 +1285,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>RoomInfo</name>
     <message>
-        <location filename="../../src/Cache.cpp" line="+4009"/>
+        <location filename="../../src/Cache.cpp" line="+4180"/>
         <source>no version stored</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1237,7 +1293,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>RoomList</name>
     <message>
-        <location filename="../qml/RoomList.qml" line="+56"/>
+        <location filename="../qml/RoomList.qml" line="+57"/>
         <source>New tag</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1247,6 +1303,16 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+9"/>
+        <source>Leave Room</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>Are you sure you want to leave this room?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <location line="+7"/>
         <source>Leave room</source>
         <translation type="unfinished"></translation>
@@ -1277,17 +1343,7 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+222"/>
-        <source>Accept</source>
-        <translation type="unfinished">Aceptar</translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>Decline</source>
-        <translation type="unfinished">Rechazar</translation>
-    </message>
-    <message>
-        <location line="+68"/>
+        <location line="+268"/>
         <source>Status Message</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1338,19 +1394,41 @@ Example: https://server.my:8787</source>
     </message>
 </context>
 <context>
+    <name>RoomMembers</name>
+    <message>
+        <location filename="../qml/RoomMembers.qml" line="+17"/>
+        <source>Members of %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message numerus="yes">
+        <location line="+32"/>
+        <source>%n people in %1</source>
+        <comment>Summary above list of members</comment>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+            <numerusform></numerusform>
+        </translation>
+    </message>
+    <message>
+        <location line="+10"/>
+        <source>Invite more people</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>RoomSettings</name>
     <message>
-        <location filename="../qml/RoomSettings.qml" line="+25"/>
+        <location filename="../qml/RoomSettings.qml" line="+26"/>
         <source>Room Settings</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+79"/>
+        <location line="+80"/>
         <source>%1 member(s)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+43"/>
+        <location line="+55"/>
         <source>SETTINGS</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1406,19 +1484,22 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+17"/>
-        <source>Respond to key requests</source>
+        <location line="+16"/>
+        <source>Sticker &amp; Emote Settings</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+5"/>
-        <source>Whether or not the client should respond automatically with the session keys
-                                upon request. Use with caution, this is a temporary measure to test the
-                                E2E implementation until device verification is completed.</source>
+        <location line="+4"/>
+        <source>Change</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+21"/>
+        <location line="+1"/>
+        <source>Change what packs are enabled, remove packs or create new ones</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+16"/>
         <source>INFO</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1433,12 +1514,7 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+13"/>
-        <source>OK</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../src/ui/RoomSettings.cpp" line="+268"/>
+        <location filename="../../src/ui/RoomSettings.cpp" line="+255"/>
         <source>Failed to enable encryption: %1</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1470,6 +1546,24 @@ Example: https://server.my:8787</source>
     </message>
 </context>
 <context>
+    <name>RoomlistModel</name>
+    <message>
+        <location filename="../../src/timeline/RoomlistModel.cpp" line="+143"/>
+        <source>Pending invite.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+30"/>
+        <source>Previewing this room</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+34"/>
+        <source>No preview available</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>ScreenShare</name>
     <message>
         <location filename="../qml/voip/ScreenShare.qml" line="+30"/>
@@ -1526,7 +1620,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>StatusIndicator</name>
     <message>
-        <location filename="../qml/StatusIndicator.qml" line="+21"/>
+        <location filename="../qml/StatusIndicator.qml" line="+24"/>
         <source>Failed</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1547,6 +1641,14 @@ Example: https://server.my:8787</source>
     </message>
 </context>
 <context>
+    <name>StickerPicker</name>
+    <message>
+        <location filename="../qml/emoji/StickerPicker.qml" line="+70"/>
+        <source>Search</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>Success</name>
     <message>
         <location filename="../qml/device-verification/Success.qml" line="+11"/>
@@ -1567,7 +1669,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>TimelineModel</name>
     <message>
-        <location filename="../../src/timeline/TimelineModel.cpp" line="+1095"/>
+        <location filename="../../src/timeline/TimelineModel.cpp" line="+1107"/>
         <source>Message redaction failed: %1</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1578,7 +1680,7 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+164"/>
+        <location line="+173"/>
         <source>Save image</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1722,12 +1824,12 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-883"/>
+        <location line="-884"/>
         <source>You joined this room.</source>
         <translation type="unfinished">Te has unido a esta sala.</translation>
     </message>
     <message>
-        <location line="+885"/>
+        <location line="+886"/>
         <source>Rejected the knock from %1.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1746,7 +1848,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>TimelineRow</name>
     <message>
-        <location filename="../qml/TimelineRow.qml" line="+106"/>
+        <location filename="../qml/TimelineRow.qml" line="+180"/>
         <source>Edited</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1754,17 +1856,32 @@ Example: https://server.my:8787</source>
 <context>
     <name>TimelineView</name>
     <message>
-        <location filename="../qml/TimelineView.qml" line="+27"/>
+        <location filename="../qml/TimelineView.qml" line="+30"/>
         <source>No room open</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+127"/>
+        <location line="+139"/>
         <source>%1 member(s)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+46"/>
+        <location line="+33"/>
+        <source>join the conversation</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+7"/>
+        <source>accept invite</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+7"/>
+        <source>decline invite</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+27"/>
         <source>Back to room list</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1772,7 +1889,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>TimelineViewManager</name>
     <message>
-        <location filename="../../src/timeline/TimelineViewManager.cpp" line="+461"/>
+        <location filename="../../src/timeline/TimelineViewManager.cpp" line="+527"/>
         <source>No encrypted private chat found with this user. Create an encrypted private chat with this user and try again.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1780,18 +1897,17 @@ Example: https://server.my:8787</source>
 <context>
     <name>TopBar</name>
     <message>
-        <location filename="../qml/TopBar.qml" line="+51"/>
+        <location filename="../qml/TopBar.qml" line="+54"/>
         <source>Back to room list</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+12"/>
-        <location line="+10"/>
+        <location line="-39"/>
         <source>No room selected</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+24"/>
+        <location line="+90"/>
         <source>Room options</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1832,7 +1948,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>UserProfile</name>
     <message>
-        <location filename="../qml/UserProfile.qml" line="+24"/>
+        <location filename="../qml/UserProfile.qml" line="+25"/>
         <source>Global User Profile</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1842,7 +1958,7 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+114"/>
+        <location line="+115"/>
         <location line="+107"/>
         <source>Verify</source>
         <translation type="unfinished"></translation>
@@ -1891,7 +2007,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>UserSettings</name>
     <message>
-        <location filename="../../src/UserSettingsPage.cpp" line="+362"/>
+        <location filename="../../src/UserSettingsPage.cpp" line="+363"/>
         <location filename="../../src/UserSettingsPage.h" line="+194"/>
         <source>Default</source>
         <translation type="unfinished"></translation>
@@ -1900,7 +2016,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>UserSettingsPage</name>
     <message>
-        <location line="+524"/>
+        <location line="+525"/>
         <source>Minimize to tray</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2346,7 +2462,7 @@ This usually causes the application icon in the task bar to animate in some fash
 <context>
     <name>Waiting</name>
     <message>
-        <location filename="../qml/device-verification/Waiting.qml" line="+11"/>
+        <location filename="../qml/device-verification/Waiting.qml" line="+12"/>
         <source>Waiting for other party…</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2397,7 +2513,7 @@ This usually causes the application icon in the task bar to animate in some fash
 <context>
     <name>descriptiveTime</name>
     <message>
-        <location filename="../../src/Utils.cpp" line="+207"/>
+        <location filename="../../src/Utils.cpp" line="+184"/>
         <source>Yesterday</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2469,19 +2585,6 @@ This usually causes the application icon in the task bar to animate in some fash
     </message>
 </context>
 <context>
-    <name>dialogs::InviteUsers</name>
-    <message>
-        <location filename="../../src/dialogs/InviteUsers.cpp" line="+46"/>
-        <source>Cancel</source>
-        <translation type="unfinished">Cancelar</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>User ID to invite</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
     <name>dialogs::JoinRoom</name>
     <message>
         <location filename="../../src/dialogs/JoinRoom.cpp" line="+34"/>
@@ -2592,7 +2695,7 @@ Media size: %2
 <context>
     <name>message-description sent:</name>
     <message>
-        <location filename="../../src/Utils.h" line="+124"/>
+        <location filename="../../src/Utils.h" line="+115"/>
         <source>You sent an audio clip</source>
         <translation type="unfinished"></translation>
     </message>
diff --git a/resources/langs/nheko_et.ts b/resources/langs/nheko_et.ts
index 198ec332..57eac1c3 100644
--- a/resources/langs/nheko_et.ts
+++ b/resources/langs/nheko_et.ts
@@ -38,7 +38,7 @@
 <context>
     <name>AwaitingVerificationConfirmation</name>
     <message>
-        <location filename="../qml/device-verification/AwaitingVerificationConfirmation.qml" line="+11"/>
+        <location filename="../qml/device-verification/AwaitingVerificationConfirmation.qml" line="+12"/>
         <source>Awaiting Confirmation</source>
         <translation>Ootan kinnitust</translation>
     </message>
@@ -48,7 +48,7 @@
         <translation>Ootan et teine osapool lõpetaks verifitseerimise.</translation>
     </message>
     <message>
-        <location line="+12"/>
+        <location line="+13"/>
         <source>Cancel</source>
         <translation>Katkesta</translation>
     </message>
@@ -125,7 +125,7 @@
 <context>
     <name>ChatPage</name>
     <message>
-        <location filename="../../src/ChatPage.cpp" line="+133"/>
+        <location filename="../../src/ChatPage.cpp" line="+135"/>
         <source>Failed to invite user: %1</source>
         <translation>Kutse saatmine kasutajale ei õnnestunud: %1</translation>
     </message>
@@ -157,12 +157,12 @@
     </message>
     <message>
         <location line="+34"/>
-        <location line="+280"/>
+        <location line="+286"/>
         <source>Confirm invite</source>
         <translation>Kinnita kutse</translation>
     </message>
     <message>
-        <location line="-279"/>
+        <location line="-285"/>
         <source>Do you really want to invite %1 (%2)?</source>
         <translation>Kas sa tõesti soovid saata kutset kasutajale %1 (%2)?</translation>
     </message>
@@ -227,12 +227,12 @@
         <translation>Suhtluskeeld eemaldatud: %1</translation>
     </message>
     <message>
-        <location line="+183"/>
+        <location line="+189"/>
         <source>Do you really want to start a private chat with %1?</source>
         <translation>Kas sa kindlasti soovid alustada otsevestlust kasutajaga %1?</translation>
     </message>
     <message>
-        <location line="-721"/>
+        <location line="-727"/>
         <source>Cache migration failed!</source>
         <translation>Puhvri versiooniuuendus ebaõnnestus!</translation>
     </message>
@@ -352,7 +352,7 @@
 <context>
     <name>CrossSigningSecrets</name>
     <message>
-        <location filename="../../src/ChatPage.cpp" line="+183"/>
+        <location filename="../../src/ChatPage.cpp" line="+189"/>
         <source>Decrypt secrets</source>
         <translation>Dekrüpti andmed</translation>
     </message>
@@ -426,12 +426,12 @@
 <context>
     <name>EmojiPicker</name>
     <message>
-        <location filename="../qml/emoji/EmojiPicker.qml" line="+59"/>
+        <location filename="../qml/emoji/EmojiPicker.qml" line="+68"/>
         <source>Search</source>
         <translation>Otsi</translation>
     </message>
     <message>
-        <location line="+172"/>
+        <location line="+186"/>
         <source>People</source>
         <translation>Inimesed</translation>
     </message>
@@ -605,9 +605,47 @@
     </message>
 </context>
 <context>
+    <name>ImagePackSettingsDialog</name>
+    <message>
+        <location filename="../qml/dialogs/ImagePackSettingsDialog.qml" line="+22"/>
+        <source>Image pack settings</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+151"/>
+        <source>Private pack</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Pack from this room</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Globally enabled pack</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+59"/>
+        <source>Enable globally</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Enables this pack to be used in all rooms</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+62"/>
+        <source>Close</source>
+        <translation type="unfinished">Sulge</translation>
+    </message>
+</context>
+<context>
     <name>InputBar</name>
     <message>
-        <location filename="../../src/timeline/InputBar.cpp" line="+233"/>
+        <location filename="../../src/timeline/InputBar.cpp" line="+234"/>
         <source>Select a file</source>
         <translation>Vali fail</translation>
     </message>
@@ -617,17 +655,43 @@
         <translation>Kõik failid (*)</translation>
     </message>
     <message>
-        <location line="+417"/>
+        <location line="+442"/>
         <source>Failed to upload media. Please try again.</source>
         <translation>Meediafailide üleslaadimine ei õnnestunud. Palun proovi uuesti.</translation>
     </message>
 </context>
 <context>
-    <name>InviteeItem</name>
+    <name>InviteDialog</name>
+    <message>
+        <location filename="../qml/InviteDialog.qml" line="+32"/>
+        <source>Invite users to %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+24"/>
+        <source>User ID to invite</source>
+        <translation type="unfinished">Kasutajatunnus, kellele soovid kutset saata</translation>
+    </message>
+    <message>
+        <location line="+14"/>
+        <source>@joe:matrix.org</source>
+        <comment>Example user id. The name &apos;joe&apos; can be localized however you want.</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+17"/>
+        <source>Add</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+58"/>
+        <source>Invite</source>
+        <translation type="unfinished"></translation>
+    </message>
     <message>
-        <location filename="../../src/InviteeItem.cpp" line="+22"/>
-        <source>Remove</source>
-        <translation>Eemalda</translation>
+        <location line="+7"/>
+        <source>Cancel</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -745,27 +809,14 @@ Näiteks: https://server.minu:8787</translation>
     </message>
 </context>
 <context>
-    <name>MemberList</name>
-    <message>
-        <location filename="../../src/dialogs/MemberList.cpp" line="+94"/>
-        <source>Room members</source>
-        <translation>Jututoa liikmed</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>OK</source>
-        <translation>Sobib</translation>
-    </message>
-</context>
-<context>
     <name>MessageDelegate</name>
     <message>
-        <location filename="../qml/delegates/MessageDelegate.qml" line="+128"/>
+        <location filename="../qml/delegates/MessageDelegate.qml" line="+187"/>
         <source>Encryption enabled</source>
         <translation>Krüptimine on kasutusel</translation>
     </message>
     <message>
-        <location line="+9"/>
+        <location line="+12"/>
         <source>room name changed to: %1</source>
         <translation>jututoa uus nimi on: %1</translation>
     </message>
@@ -775,7 +826,7 @@ Näiteks: https://server.minu:8787</translation>
         <translation>eemaldas jututoa nime</translation>
     </message>
     <message>
-        <location line="+9"/>
+        <location line="+12"/>
         <source>topic changed to: %1</source>
         <translation>jututoa uus teema on: %1</translation>
     </message>
@@ -785,17 +836,17 @@ Näiteks: https://server.minu:8787</translation>
         <translation>teema on eemaldatud</translation>
     </message>
     <message>
-        <location line="+9"/>
+        <location line="+12"/>
         <source>%1 changed the room avatar</source>
         <translation>%1 muutis jututoa tunnuspilti</translation>
     </message>
     <message>
-        <location line="+8"/>
+        <location line="+12"/>
         <source>%1 created and configured room: %2</source>
         <translation>%1 lõi ja seadistas jututoa: %2</translation>
     </message>
     <message>
-        <location line="+12"/>
+        <location line="+15"/>
         <source>%1 placed a voice call.</source>
         <translation>%1 helistas.</translation>
     </message>
@@ -810,23 +861,23 @@ Näiteks: https://server.minu:8787</translation>
         <translation>%1 helistas.</translation>
     </message>
     <message>
-        <location line="+29"/>
+        <location line="+38"/>
         <source>Negotiating call...</source>
         <translation>Ühendan kõnet…</translation>
     </message>
     <message>
-        <location line="-18"/>
+        <location line="-24"/>
         <source>%1 answered the call.</source>
         <translation>%1 vastas kõnele.</translation>
     </message>
     <message>
-        <location line="-80"/>
+        <location line="-99"/>
         <location line="+9"/>
         <source>removed</source>
         <translation>eemaldatud</translation>
     </message>
     <message>
-        <location line="+80"/>
+        <location line="+102"/>
         <source>%1 ended the call.</source>
         <translation>%1 lõpetas kõne.</translation>
     </message>
@@ -834,7 +885,7 @@ Näiteks: https://server.minu:8787</translation>
 <context>
     <name>MessageInput</name>
     <message>
-        <location filename="../qml/MessageInput.qml" line="+43"/>
+        <location filename="../qml/MessageInput.qml" line="+44"/>
         <source>Hang up</source>
         <translation>Lõpeta kõne</translation>
     </message>
@@ -855,6 +906,11 @@ Näiteks: https://server.minu:8787</translation>
     </message>
     <message>
         <location line="+214"/>
+        <source>Stickers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+24"/>
         <source>Emoji</source>
         <translation>Emoji</translation>
     </message>
@@ -872,17 +928,17 @@ Näiteks: https://server.minu:8787</translation>
 <context>
     <name>MessageView</name>
     <message>
-        <location filename="../qml/MessageView.qml" line="+83"/>
+        <location filename="../qml/MessageView.qml" line="+87"/>
         <source>Edit</source>
         <translation>Muuda</translation>
     </message>
     <message>
-        <location line="+15"/>
+        <location line="+16"/>
         <source>React</source>
         <translation>Reageeri</translation>
     </message>
     <message>
-        <location line="+13"/>
+        <location line="+16"/>
         <source>Reply</source>
         <translation>Vasta</translation>
     </message>
@@ -892,7 +948,7 @@ Näiteks: https://server.minu:8787</translation>
         <translation>Valikud</translation>
     </message>
     <message>
-        <location line="+329"/>
+        <location line="+405"/>
         <source>&amp;Copy</source>
         <translation>&amp;Kopeeri</translation>
     </message>
@@ -1100,7 +1156,7 @@ Näiteks: https://server.minu:8787</translation>
 <context>
     <name>Placeholder</name>
     <message>
-        <location filename="../qml/delegates/Placeholder.qml" line="+9"/>
+        <location filename="../qml/delegates/Placeholder.qml" line="+11"/>
         <source>unimplemented event: </source>
         <translation>implementeerimata sündmus: </translation>
     </message>
@@ -1220,7 +1276,7 @@ Näiteks: https://server.minu:8787</translation>
 <context>
     <name>ReplyPopup</name>
     <message>
-        <location filename="../qml/ReplyPopup.qml" line="+47"/>
+        <location filename="../qml/ReplyPopup.qml" line="+62"/>
         <source>Close</source>
         <translation>Sulge</translation>
     </message>
@@ -1233,7 +1289,7 @@ Näiteks: https://server.minu:8787</translation>
 <context>
     <name>RoomInfo</name>
     <message>
-        <location filename="../../src/Cache.cpp" line="+4009"/>
+        <location filename="../../src/Cache.cpp" line="+4180"/>
         <source>no version stored</source>
         <translation>salvestatud versiooni ei leidu</translation>
     </message>
@@ -1241,7 +1297,7 @@ Näiteks: https://server.minu:8787</translation>
 <context>
     <name>RoomList</name>
     <message>
-        <location filename="../qml/RoomList.qml" line="+56"/>
+        <location filename="../qml/RoomList.qml" line="+57"/>
         <source>New tag</source>
         <translation>Uus silt</translation>
     </message>
@@ -1251,6 +1307,16 @@ Näiteks: https://server.minu:8787</translation>
         <translation>Kirjuta silt, mida soovid kasutada:</translation>
     </message>
     <message>
+        <location line="+9"/>
+        <source>Leave Room</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>Are you sure you want to leave this room?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <location line="+7"/>
         <source>Leave room</source>
         <translation>Lahku jututoast</translation>
@@ -1281,17 +1347,7 @@ Näiteks: https://server.minu:8787</translation>
         <translation>Loo uus silt...</translation>
     </message>
     <message>
-        <location line="+222"/>
-        <source>Accept</source>
-        <translation>Nõustu</translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>Decline</source>
-        <translation>Keeldu</translation>
-    </message>
-    <message>
-        <location line="+68"/>
+        <location line="+268"/>
         <source>Status Message</source>
         <translation>Olekuteade</translation>
     </message>
@@ -1342,19 +1398,41 @@ Näiteks: https://server.minu:8787</translation>
     </message>
 </context>
 <context>
+    <name>RoomMembers</name>
+    <message>
+        <location filename="../qml/RoomMembers.qml" line="+17"/>
+        <source>Members of %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message numerus="yes">
+        <location line="+32"/>
+        <source>%n people in %1</source>
+        <comment>Summary above list of members</comment>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+            <numerusform></numerusform>
+        </translation>
+    </message>
+    <message>
+        <location line="+10"/>
+        <source>Invite more people</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>RoomSettings</name>
     <message>
-        <location filename="../qml/RoomSettings.qml" line="+25"/>
+        <location filename="../qml/RoomSettings.qml" line="+26"/>
         <source>Room Settings</source>
         <translation>Jututoa seadistused</translation>
     </message>
     <message>
-        <location line="+79"/>
+        <location line="+80"/>
         <source>%1 member(s)</source>
         <translation>%1 liige(t)</translation>
     </message>
     <message>
-        <location line="+43"/>
+        <location line="+55"/>
         <source>SETTINGS</source>
         <translation>SEADISTUSED</translation>
     </message>
@@ -1410,21 +1488,22 @@ Näiteks: https://server.minu:8787</translation>
         <translation>Krüptimine on nhekos hetkel veel katseline ning nii mõndagi võib ootamatult katki minna. &lt;br&gt;Palun arvesta, et krüptimist ei saa hiljem enam välja lülitada.</translation>
     </message>
     <message>
-        <location line="+17"/>
-        <source>Respond to key requests</source>
-        <translation>Vasta krüptovõtmete päringutele</translation>
+        <location line="+16"/>
+        <source>Sticker &amp; Emote Settings</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+5"/>
-        <source>Whether or not the client should respond automatically with the session keys
-                                upon request. Use with caution, this is a temporary measure to test the
-                                E2E implementation until device verification is completed.</source>
-        <translation>Kas klient peaks automaatselt vastama või mitte vastama sessioonivõtmete päringule.
-Kasuta seda võimalust ettevaatlikult. Tegemist on ajutise lahendusega läbiva krüptimise
-testimiseks seni, kuni terviklik seadmete verifitseerimine on implementeeritud.</translation>
+        <location line="+4"/>
+        <source>Change</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+21"/>
+        <location line="+1"/>
+        <source>Change what packs are enabled, remove packs or create new ones</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+16"/>
         <source>INFO</source>
         <translation>TEAVE</translation>
     </message>
@@ -1439,12 +1518,7 @@ testimiseks seni, kuni terviklik seadmete verifitseerimine on implementeeritud.<
         <translation>Jututoa versioon</translation>
     </message>
     <message>
-        <location line="+13"/>
-        <source>OK</source>
-        <translation>Sobib</translation>
-    </message>
-    <message>
-        <location filename="../../src/ui/RoomSettings.cpp" line="+268"/>
+        <location filename="../../src/ui/RoomSettings.cpp" line="+255"/>
         <source>Failed to enable encryption: %1</source>
         <translation>Krüptimise kasutuselevõtmine ei õnnestunud: %1</translation>
     </message>
@@ -1476,6 +1550,24 @@ testimiseks seni, kuni terviklik seadmete verifitseerimine on implementeeritud.<
     </message>
 </context>
 <context>
+    <name>RoomlistModel</name>
+    <message>
+        <location filename="../../src/timeline/RoomlistModel.cpp" line="+143"/>
+        <source>Pending invite.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+30"/>
+        <source>Previewing this room</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+34"/>
+        <source>No preview available</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>ScreenShare</name>
     <message>
         <location filename="../qml/voip/ScreenShare.qml" line="+30"/>
@@ -1532,7 +1624,7 @@ testimiseks seni, kuni terviklik seadmete verifitseerimine on implementeeritud.<
 <context>
     <name>StatusIndicator</name>
     <message>
-        <location filename="../qml/StatusIndicator.qml" line="+21"/>
+        <location filename="../qml/StatusIndicator.qml" line="+24"/>
         <source>Failed</source>
         <translation>Ebaõnnestus</translation>
     </message>
@@ -1553,6 +1645,14 @@ testimiseks seni, kuni terviklik seadmete verifitseerimine on implementeeritud.<
     </message>
 </context>
 <context>
+    <name>StickerPicker</name>
+    <message>
+        <location filename="../qml/emoji/StickerPicker.qml" line="+70"/>
+        <source>Search</source>
+        <translation type="unfinished">Otsi</translation>
+    </message>
+</context>
+<context>
     <name>Success</name>
     <message>
         <location filename="../qml/device-verification/Success.qml" line="+11"/>
@@ -1573,7 +1673,7 @@ testimiseks seni, kuni terviklik seadmete verifitseerimine on implementeeritud.<
 <context>
     <name>TimelineModel</name>
     <message>
-        <location filename="../../src/timeline/TimelineModel.cpp" line="+1095"/>
+        <location filename="../../src/timeline/TimelineModel.cpp" line="+1107"/>
         <source>Message redaction failed: %1</source>
         <translation>Sõnumi ümbersõnastamine ebaõnnestus: %1</translation>
     </message>
@@ -1584,7 +1684,7 @@ testimiseks seni, kuni terviklik seadmete verifitseerimine on implementeeritud.<
         <translation>Sündmuse krüptimine ei õnnestunud, katkestame saatmise!</translation>
     </message>
     <message>
-        <location line="+164"/>
+        <location line="+173"/>
         <source>Save image</source>
         <translation>Salvesta pilt</translation>
     </message>
@@ -1718,12 +1818,12 @@ testimiseks seni, kuni terviklik seadmete verifitseerimine on implementeeritud.<
         <translation>%1 muutis oma koputust jututoa uksele.</translation>
     </message>
     <message>
-        <location line="-883"/>
+        <location line="-884"/>
         <source>You joined this room.</source>
         <translation>Sa liitusid jututoaga.</translation>
     </message>
     <message>
-        <location line="+849"/>
+        <location line="+850"/>
         <source>%1 has changed their avatar and changed their display name to %2.</source>
         <translation>%1 muutis oma tunnuspilti ja seadistas uueks kuvatavaks nimeks %2.</translation>
     </message>
@@ -1752,7 +1852,7 @@ testimiseks seni, kuni terviklik seadmete verifitseerimine on implementeeritud.<
 <context>
     <name>TimelineRow</name>
     <message>
-        <location filename="../qml/TimelineRow.qml" line="+106"/>
+        <location filename="../qml/TimelineRow.qml" line="+180"/>
         <source>Edited</source>
         <translation>Muudetud</translation>
     </message>
@@ -1760,17 +1860,32 @@ testimiseks seni, kuni terviklik seadmete verifitseerimine on implementeeritud.<
 <context>
     <name>TimelineView</name>
     <message>
-        <location filename="../qml/TimelineView.qml" line="+27"/>
+        <location filename="../qml/TimelineView.qml" line="+30"/>
         <source>No room open</source>
         <translation>Ühtegi jututuba pole avatud</translation>
     </message>
     <message>
-        <location line="+127"/>
+        <location line="+139"/>
         <source>%1 member(s)</source>
         <translation>%1 liige(t)</translation>
     </message>
     <message>
-        <location line="+46"/>
+        <location line="+33"/>
+        <source>join the conversation</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+7"/>
+        <source>accept invite</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+7"/>
+        <source>decline invite</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+27"/>
         <source>Back to room list</source>
         <translation>Tagasi jututubade loendisse</translation>
     </message>
@@ -1778,7 +1893,7 @@ testimiseks seni, kuni terviklik seadmete verifitseerimine on implementeeritud.<
 <context>
     <name>TimelineViewManager</name>
     <message>
-        <location filename="../../src/timeline/TimelineViewManager.cpp" line="+461"/>
+        <location filename="../../src/timeline/TimelineViewManager.cpp" line="+527"/>
         <source>No encrypted private chat found with this user. Create an encrypted private chat with this user and try again.</source>
         <translation>Ühtegi krüptitud vestlust selle kasutajaga ei leidunud. Palun loo temaga krüptitud vestlus ja proovi uuesti.</translation>
     </message>
@@ -1786,18 +1901,17 @@ testimiseks seni, kuni terviklik seadmete verifitseerimine on implementeeritud.<
 <context>
     <name>TopBar</name>
     <message>
-        <location filename="../qml/TopBar.qml" line="+51"/>
+        <location filename="../qml/TopBar.qml" line="+54"/>
         <source>Back to room list</source>
         <translation>Tagasi jututubade loendisse</translation>
     </message>
     <message>
-        <location line="+12"/>
-        <location line="+10"/>
+        <location line="-39"/>
         <source>No room selected</source>
         <translation>Jututuba on valimata</translation>
     </message>
     <message>
-        <location line="+24"/>
+        <location line="+90"/>
         <source>Room options</source>
         <translation>Jututoa valikud</translation>
     </message>
@@ -1838,7 +1952,7 @@ testimiseks seni, kuni terviklik seadmete verifitseerimine on implementeeritud.<
 <context>
     <name>UserProfile</name>
     <message>
-        <location filename="../qml/UserProfile.qml" line="+24"/>
+        <location filename="../qml/UserProfile.qml" line="+25"/>
         <source>Global User Profile</source>
         <translation>Üldine kasutajaprofiil</translation>
     </message>
@@ -1848,7 +1962,7 @@ testimiseks seni, kuni terviklik seadmete verifitseerimine on implementeeritud.<
         <translation>Kasutajaprofiil jututoas</translation>
     </message>
     <message>
-        <location line="+114"/>
+        <location line="+115"/>
         <location line="+107"/>
         <source>Verify</source>
         <translation>Verifitseeri</translation>
@@ -1897,7 +2011,7 @@ testimiseks seni, kuni terviklik seadmete verifitseerimine on implementeeritud.<
 <context>
     <name>UserSettings</name>
     <message>
-        <location filename="../../src/UserSettingsPage.cpp" line="+362"/>
+        <location filename="../../src/UserSettingsPage.cpp" line="+363"/>
         <location filename="../../src/UserSettingsPage.h" line="+194"/>
         <source>Default</source>
         <translation>Vaikimisi</translation>
@@ -1906,7 +2020,7 @@ testimiseks seni, kuni terviklik seadmete verifitseerimine on implementeeritud.<
 <context>
     <name>UserSettingsPage</name>
     <message>
-        <location line="+524"/>
+        <location line="+525"/>
         <source>Minimize to tray</source>
         <translation>Vähenda tegumiribale</translation>
     </message>
@@ -2363,7 +2477,7 @@ See tavaliselt tähendab, et rakenduse ikoon tegumiribal annab mingit sorti anim
 <context>
     <name>Waiting</name>
     <message>
-        <location filename="../qml/device-verification/Waiting.qml" line="+11"/>
+        <location filename="../qml/device-verification/Waiting.qml" line="+12"/>
         <source>Waiting for other party…</source>
         <translation>Ootan teise osapoole tegevust…</translation>
     </message>
@@ -2414,7 +2528,7 @@ See tavaliselt tähendab, et rakenduse ikoon tegumiribal annab mingit sorti anim
 <context>
     <name>descriptiveTime</name>
     <message>
-        <location filename="../../src/Utils.cpp" line="+207"/>
+        <location filename="../../src/Utils.cpp" line="+184"/>
         <source>Yesterday</source>
         <translation>Eile</translation>
     </message>
@@ -2486,19 +2600,6 @@ See tavaliselt tähendab, et rakenduse ikoon tegumiribal annab mingit sorti anim
     </message>
 </context>
 <context>
-    <name>dialogs::InviteUsers</name>
-    <message>
-        <location filename="../../src/dialogs/InviteUsers.cpp" line="+46"/>
-        <source>Cancel</source>
-        <translation>Tühista</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>User ID to invite</source>
-        <translation>Kasutajatunnus, kellele soovid kutset saata</translation>
-    </message>
-</context>
-<context>
     <name>dialogs::JoinRoom</name>
     <message>
         <location filename="../../src/dialogs/JoinRoom.cpp" line="+34"/>
@@ -2611,7 +2712,7 @@ Meedia suurus: %2
 <context>
     <name>message-description sent:</name>
     <message>
-        <location filename="../../src/Utils.h" line="+124"/>
+        <location filename="../../src/Utils.h" line="+115"/>
         <source>You sent an audio clip</source>
         <translation>Sa saatsid helifaili</translation>
     </message>
diff --git a/resources/langs/nheko_fi.ts b/resources/langs/nheko_fi.ts
index 9c48e98f..422c2957 100644
--- a/resources/langs/nheko_fi.ts
+++ b/resources/langs/nheko_fi.ts
@@ -38,7 +38,7 @@
 <context>
     <name>AwaitingVerificationConfirmation</name>
     <message>
-        <location filename="../qml/device-verification/AwaitingVerificationConfirmation.qml" line="+11"/>
+        <location filename="../qml/device-verification/AwaitingVerificationConfirmation.qml" line="+12"/>
         <source>Awaiting Confirmation</source>
         <translation>Odotetaan vahvistusta</translation>
     </message>
@@ -48,7 +48,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+12"/>
+        <location line="+13"/>
         <source>Cancel</source>
         <translation>Peruuta</translation>
     </message>
@@ -125,7 +125,7 @@
 <context>
     <name>ChatPage</name>
     <message>
-        <location filename="../../src/ChatPage.cpp" line="+133"/>
+        <location filename="../../src/ChatPage.cpp" line="+135"/>
         <source>Failed to invite user: %1</source>
         <translation type="unfinished"></translation>
     </message>
@@ -157,12 +157,12 @@
     </message>
     <message>
         <location line="+34"/>
-        <location line="+280"/>
+        <location line="+286"/>
         <source>Confirm invite</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-279"/>
+        <location line="-285"/>
         <source>Do you really want to invite %1 (%2)?</source>
         <translation type="unfinished"></translation>
     </message>
@@ -227,12 +227,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+183"/>
+        <location line="+189"/>
         <source>Do you really want to start a private chat with %1?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-721"/>
+        <location line="-727"/>
         <source>Cache migration failed!</source>
         <translation type="unfinished"></translation>
     </message>
@@ -352,7 +352,7 @@
 <context>
     <name>CrossSigningSecrets</name>
     <message>
-        <location filename="../../src/ChatPage.cpp" line="+183"/>
+        <location filename="../../src/ChatPage.cpp" line="+189"/>
         <source>Decrypt secrets</source>
         <translation type="unfinished"></translation>
     </message>
@@ -426,12 +426,12 @@
 <context>
     <name>EmojiPicker</name>
     <message>
-        <location filename="../qml/emoji/EmojiPicker.qml" line="+59"/>
+        <location filename="../qml/emoji/EmojiPicker.qml" line="+68"/>
         <source>Search</source>
         <translation>Hae</translation>
     </message>
     <message>
-        <location line="+172"/>
+        <location line="+186"/>
         <source>People</source>
         <translation>Ihmiset</translation>
     </message>
@@ -605,9 +605,47 @@
     </message>
 </context>
 <context>
+    <name>ImagePackSettingsDialog</name>
+    <message>
+        <location filename="../qml/dialogs/ImagePackSettingsDialog.qml" line="+22"/>
+        <source>Image pack settings</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+151"/>
+        <source>Private pack</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Pack from this room</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Globally enabled pack</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+59"/>
+        <source>Enable globally</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Enables this pack to be used in all rooms</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+62"/>
+        <source>Close</source>
+        <translation type="unfinished">Sulje</translation>
+    </message>
+</context>
+<context>
     <name>InputBar</name>
     <message>
-        <location filename="../../src/timeline/InputBar.cpp" line="+233"/>
+        <location filename="../../src/timeline/InputBar.cpp" line="+234"/>
         <source>Select a file</source>
         <translation>Valitse tiedosto</translation>
     </message>
@@ -617,17 +655,43 @@
         <translation>Kaikki Tiedostot (*)</translation>
     </message>
     <message>
-        <location line="+417"/>
+        <location line="+442"/>
         <source>Failed to upload media. Please try again.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>InviteeItem</name>
+    <name>InviteDialog</name>
     <message>
-        <location filename="../../src/InviteeItem.cpp" line="+22"/>
-        <source>Remove</source>
-        <translation>Poista</translation>
+        <location filename="../qml/InviteDialog.qml" line="+32"/>
+        <source>Invite users to %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+24"/>
+        <source>User ID to invite</source>
+        <translation type="unfinished">Käyttäjätunnus kutsuttavaksi</translation>
+    </message>
+    <message>
+        <location line="+14"/>
+        <source>@joe:matrix.org</source>
+        <comment>Example user id. The name &apos;joe&apos; can be localized however you want.</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+17"/>
+        <source>Add</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+58"/>
+        <source>Invite</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+7"/>
+        <source>Cancel</source>
+        <translation type="unfinished">Peruuta</translation>
     </message>
 </context>
 <context>
@@ -741,22 +805,9 @@ Example: https://server.my:8787</source>
     </message>
 </context>
 <context>
-    <name>MemberList</name>
-    <message>
-        <location filename="../../src/dialogs/MemberList.cpp" line="+94"/>
-        <source>Room members</source>
-        <translation>Huoneen jäsenet</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>OK</source>
-        <translation>OK</translation>
-    </message>
-</context>
-<context>
     <name>MessageDelegate</name>
     <message>
-        <location filename="../qml/delegates/MessageDelegate.qml" line="+110"/>
+        <location filename="../qml/delegates/MessageDelegate.qml" line="+169"/>
         <location line="+9"/>
         <source>removed</source>
         <translation type="unfinished"></translation>
@@ -767,7 +818,7 @@ Example: https://server.my:8787</source>
         <translation>Salaus on käytössä</translation>
     </message>
     <message>
-        <location line="+9"/>
+        <location line="+12"/>
         <source>room name changed to: %1</source>
         <translation>huoneen nimi muutettu: %1</translation>
     </message>
@@ -777,7 +828,7 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+9"/>
+        <location line="+12"/>
         <source>topic changed to: %1</source>
         <translation type="unfinished"></translation>
     </message>
@@ -787,17 +838,17 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+9"/>
+        <location line="+12"/>
         <source>%1 changed the room avatar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+8"/>
+        <location line="+12"/>
         <source>%1 created and configured room: %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+12"/>
+        <location line="+15"/>
         <source>%1 placed a voice call.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -812,17 +863,17 @@ Example: https://server.my:8787</source>
         <translation>%1 soitti puhelun.</translation>
     </message>
     <message>
-        <location line="+11"/>
+        <location line="+14"/>
         <source>%1 answered the call.</source>
         <translation>%1 vastasi puheluun.</translation>
     </message>
     <message>
-        <location line="+9"/>
+        <location line="+12"/>
         <source>%1 ended the call.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+9"/>
+        <location line="+12"/>
         <source>Negotiating call...</source>
         <translation type="unfinished"></translation>
     </message>
@@ -830,7 +881,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>MessageInput</name>
     <message>
-        <location filename="../qml/MessageInput.qml" line="+43"/>
+        <location filename="../qml/MessageInput.qml" line="+44"/>
         <source>Hang up</source>
         <translation type="unfinished"></translation>
     </message>
@@ -851,6 +902,11 @@ Example: https://server.my:8787</source>
     </message>
     <message>
         <location line="+214"/>
+        <source>Stickers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+24"/>
         <source>Emoji</source>
         <translation>Emoji</translation>
     </message>
@@ -868,17 +924,17 @@ Example: https://server.my:8787</source>
 <context>
     <name>MessageView</name>
     <message>
-        <location filename="../qml/MessageView.qml" line="+83"/>
+        <location filename="../qml/MessageView.qml" line="+87"/>
         <source>Edit</source>
         <translation>Muokkaa</translation>
     </message>
     <message>
-        <location line="+15"/>
+        <location line="+16"/>
         <source>React</source>
         <translation>Reagoi</translation>
     </message>
     <message>
-        <location line="+13"/>
+        <location line="+16"/>
         <source>Reply</source>
         <translation>Vastaa</translation>
     </message>
@@ -888,7 +944,7 @@ Example: https://server.my:8787</source>
         <translation>Asetukset</translation>
     </message>
     <message>
-        <location line="+329"/>
+        <location line="+405"/>
         <source>&amp;Copy</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1096,7 +1152,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>Placeholder</name>
     <message>
-        <location filename="../qml/delegates/Placeholder.qml" line="+9"/>
+        <location filename="../qml/delegates/Placeholder.qml" line="+11"/>
         <source>unimplemented event: </source>
         <translation type="unfinished"></translation>
     </message>
@@ -1216,7 +1272,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>ReplyPopup</name>
     <message>
-        <location filename="../qml/ReplyPopup.qml" line="+47"/>
+        <location filename="../qml/ReplyPopup.qml" line="+62"/>
         <source>Close</source>
         <translation>Sulje</translation>
     </message>
@@ -1229,7 +1285,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>RoomInfo</name>
     <message>
-        <location filename="../../src/Cache.cpp" line="+4009"/>
+        <location filename="../../src/Cache.cpp" line="+4180"/>
         <source>no version stored</source>
         <translation>ei tallennettua versiota</translation>
     </message>
@@ -1237,7 +1293,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>RoomList</name>
     <message>
-        <location filename="../qml/RoomList.qml" line="+56"/>
+        <location filename="../qml/RoomList.qml" line="+57"/>
         <source>New tag</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1247,6 +1303,16 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+9"/>
+        <source>Leave Room</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>Are you sure you want to leave this room?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <location line="+7"/>
         <source>Leave room</source>
         <translation>Poistu huoneesta</translation>
@@ -1277,17 +1343,7 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+222"/>
-        <source>Accept</source>
-        <translation>Hyväksy</translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>Decline</source>
-        <translation>Hylkää</translation>
-    </message>
-    <message>
-        <location line="+68"/>
+        <location line="+268"/>
         <source>Status Message</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1338,19 +1394,41 @@ Example: https://server.my:8787</source>
     </message>
 </context>
 <context>
+    <name>RoomMembers</name>
+    <message>
+        <location filename="../qml/RoomMembers.qml" line="+17"/>
+        <source>Members of %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message numerus="yes">
+        <location line="+32"/>
+        <source>%n people in %1</source>
+        <comment>Summary above list of members</comment>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+            <numerusform></numerusform>
+        </translation>
+    </message>
+    <message>
+        <location line="+10"/>
+        <source>Invite more people</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>RoomSettings</name>
     <message>
-        <location filename="../qml/RoomSettings.qml" line="+25"/>
+        <location filename="../qml/RoomSettings.qml" line="+26"/>
         <source>Room Settings</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+79"/>
+        <location line="+80"/>
         <source>%1 member(s)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+43"/>
+        <location line="+55"/>
         <source>SETTINGS</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1406,19 +1484,22 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+17"/>
-        <source>Respond to key requests</source>
+        <location line="+16"/>
+        <source>Sticker &amp; Emote Settings</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+5"/>
-        <source>Whether or not the client should respond automatically with the session keys
-                                upon request. Use with caution, this is a temporary measure to test the
-                                E2E implementation until device verification is completed.</source>
+        <location line="+4"/>
+        <source>Change</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+21"/>
+        <location line="+1"/>
+        <source>Change what packs are enabled, remove packs or create new ones</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+16"/>
         <source>INFO</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1433,12 +1514,7 @@ Example: https://server.my:8787</source>
         <translation>Huoneen versio</translation>
     </message>
     <message>
-        <location line="+13"/>
-        <source>OK</source>
-        <translation>OK</translation>
-    </message>
-    <message>
-        <location filename="../../src/ui/RoomSettings.cpp" line="+268"/>
+        <location filename="../../src/ui/RoomSettings.cpp" line="+255"/>
         <source>Failed to enable encryption: %1</source>
         <translation>Salauksen aktivointi epäonnistui: %1</translation>
     </message>
@@ -1470,6 +1546,24 @@ Example: https://server.my:8787</source>
     </message>
 </context>
 <context>
+    <name>RoomlistModel</name>
+    <message>
+        <location filename="../../src/timeline/RoomlistModel.cpp" line="+143"/>
+        <source>Pending invite.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+30"/>
+        <source>Previewing this room</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+34"/>
+        <source>No preview available</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>ScreenShare</name>
     <message>
         <location filename="../qml/voip/ScreenShare.qml" line="+30"/>
@@ -1526,7 +1620,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>StatusIndicator</name>
     <message>
-        <location filename="../qml/StatusIndicator.qml" line="+21"/>
+        <location filename="../qml/StatusIndicator.qml" line="+24"/>
         <source>Failed</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1547,6 +1641,14 @@ Example: https://server.my:8787</source>
     </message>
 </context>
 <context>
+    <name>StickerPicker</name>
+    <message>
+        <location filename="../qml/emoji/StickerPicker.qml" line="+70"/>
+        <source>Search</source>
+        <translation type="unfinished">Hae</translation>
+    </message>
+</context>
+<context>
     <name>Success</name>
     <message>
         <location filename="../qml/device-verification/Success.qml" line="+11"/>
@@ -1567,7 +1669,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>TimelineModel</name>
     <message>
-        <location filename="../../src/timeline/TimelineModel.cpp" line="+1095"/>
+        <location filename="../../src/timeline/TimelineModel.cpp" line="+1107"/>
         <source>Message redaction failed: %1</source>
         <translation>Viestin muokkaus epäonnistui: %1</translation>
     </message>
@@ -1578,7 +1680,7 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+164"/>
+        <location line="+173"/>
         <source>Save image</source>
         <translation>Tallenna kuva</translation>
     </message>
@@ -1712,12 +1814,12 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-883"/>
+        <location line="-884"/>
         <source>You joined this room.</source>
         <translation>Sinä liityit tähän huoneeseen.</translation>
     </message>
     <message>
-        <location line="+849"/>
+        <location line="+850"/>
         <source>%1 has changed their avatar and changed their display name to %2.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1746,7 +1848,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>TimelineRow</name>
     <message>
-        <location filename="../qml/TimelineRow.qml" line="+106"/>
+        <location filename="../qml/TimelineRow.qml" line="+180"/>
         <source>Edited</source>
         <translation>Muokattu</translation>
     </message>
@@ -1754,17 +1856,32 @@ Example: https://server.my:8787</source>
 <context>
     <name>TimelineView</name>
     <message>
-        <location filename="../qml/TimelineView.qml" line="+27"/>
+        <location filename="../qml/TimelineView.qml" line="+30"/>
         <source>No room open</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+127"/>
+        <location line="+139"/>
         <source>%1 member(s)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+46"/>
+        <location line="+33"/>
+        <source>join the conversation</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+7"/>
+        <source>accept invite</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+7"/>
+        <source>decline invite</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+27"/>
         <source>Back to room list</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1772,7 +1889,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>TimelineViewManager</name>
     <message>
-        <location filename="../../src/timeline/TimelineViewManager.cpp" line="+461"/>
+        <location filename="../../src/timeline/TimelineViewManager.cpp" line="+527"/>
         <source>No encrypted private chat found with this user. Create an encrypted private chat with this user and try again.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1780,18 +1897,17 @@ Example: https://server.my:8787</source>
 <context>
     <name>TopBar</name>
     <message>
-        <location filename="../qml/TopBar.qml" line="+51"/>
+        <location filename="../qml/TopBar.qml" line="+54"/>
         <source>Back to room list</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+12"/>
-        <location line="+10"/>
+        <location line="-39"/>
         <source>No room selected</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+24"/>
+        <location line="+90"/>
         <source>Room options</source>
         <translation>Huoneen asetukset</translation>
     </message>
@@ -1832,7 +1948,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>UserProfile</name>
     <message>
-        <location filename="../qml/UserProfile.qml" line="+24"/>
+        <location filename="../qml/UserProfile.qml" line="+25"/>
         <source>Global User Profile</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1842,7 +1958,7 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+114"/>
+        <location line="+115"/>
         <location line="+107"/>
         <source>Verify</source>
         <translation type="unfinished"></translation>
@@ -1891,7 +2007,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>UserSettings</name>
     <message>
-        <location filename="../../src/UserSettingsPage.cpp" line="+362"/>
+        <location filename="../../src/UserSettingsPage.cpp" line="+363"/>
         <location filename="../../src/UserSettingsPage.h" line="+194"/>
         <source>Default</source>
         <translation type="unfinished"></translation>
@@ -1900,7 +2016,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>UserSettingsPage</name>
     <message>
-        <location line="+524"/>
+        <location line="+525"/>
         <source>Minimize to tray</source>
         <translation>Pienennä ilmoitusalueelle</translation>
     </message>
@@ -2346,7 +2462,7 @@ This usually causes the application icon in the task bar to animate in some fash
 <context>
     <name>Waiting</name>
     <message>
-        <location filename="../qml/device-verification/Waiting.qml" line="+11"/>
+        <location filename="../qml/device-verification/Waiting.qml" line="+12"/>
         <source>Waiting for other party…</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2397,7 +2513,7 @@ This usually causes the application icon in the task bar to animate in some fash
 <context>
     <name>descriptiveTime</name>
     <message>
-        <location filename="../../src/Utils.cpp" line="+207"/>
+        <location filename="../../src/Utils.cpp" line="+184"/>
         <source>Yesterday</source>
         <translation>Eilen</translation>
     </message>
@@ -2469,19 +2585,6 @@ This usually causes the application icon in the task bar to animate in some fash
     </message>
 </context>
 <context>
-    <name>dialogs::InviteUsers</name>
-    <message>
-        <location filename="../../src/dialogs/InviteUsers.cpp" line="+46"/>
-        <source>Cancel</source>
-        <translation>Peruuta</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>User ID to invite</source>
-        <translation>Käyttäjätunnus kutsuttavaksi</translation>
-    </message>
-</context>
-<context>
     <name>dialogs::JoinRoom</name>
     <message>
         <location filename="../../src/dialogs/JoinRoom.cpp" line="+34"/>
@@ -2594,7 +2697,7 @@ Median koko: %2
 <context>
     <name>message-description sent:</name>
     <message>
-        <location filename="../../src/Utils.h" line="+124"/>
+        <location filename="../../src/Utils.h" line="+115"/>
         <source>You sent an audio clip</source>
         <translation>Lähetit äänileikkeen</translation>
     </message>
diff --git a/resources/langs/nheko_fr.ts b/resources/langs/nheko_fr.ts
index b6345d62..c6d42299 100644
--- a/resources/langs/nheko_fr.ts
+++ b/resources/langs/nheko_fr.ts
@@ -38,7 +38,7 @@
 <context>
     <name>AwaitingVerificationConfirmation</name>
     <message>
-        <location filename="../qml/device-verification/AwaitingVerificationConfirmation.qml" line="+11"/>
+        <location filename="../qml/device-verification/AwaitingVerificationConfirmation.qml" line="+12"/>
         <source>Awaiting Confirmation</source>
         <translation>Attente de confirmation</translation>
     </message>
@@ -48,7 +48,7 @@
         <translation>Attente de la vérification par le correspondant.</translation>
     </message>
     <message>
-        <location line="+12"/>
+        <location line="+13"/>
         <source>Cancel</source>
         <translation>Annuler</translation>
     </message>
@@ -125,7 +125,7 @@
 <context>
     <name>ChatPage</name>
     <message>
-        <location filename="../../src/ChatPage.cpp" line="+133"/>
+        <location filename="../../src/ChatPage.cpp" line="+135"/>
         <source>Failed to invite user: %1</source>
         <translation>Échec lors de l&apos;invitation de %1</translation>
     </message>
@@ -157,12 +157,12 @@
     </message>
     <message>
         <location line="+34"/>
-        <location line="+280"/>
+        <location line="+286"/>
         <source>Confirm invite</source>
         <translation>Confirmer l&apos;invitation</translation>
     </message>
     <message>
-        <location line="-279"/>
+        <location line="-285"/>
         <source>Do you really want to invite %1 (%2)?</source>
         <translation>Voulez-vous vraiment inviter %1 (%2)&#x202f;?</translation>
     </message>
@@ -227,12 +227,12 @@
         <translation>%1 n&apos;est plus banni(e)</translation>
     </message>
     <message>
-        <location line="+183"/>
+        <location line="+189"/>
         <source>Do you really want to start a private chat with %1?</source>
         <translation>Voulez-vous vraimer commencer une discussion privée avec %1 ?</translation>
     </message>
     <message>
-        <location line="-721"/>
+        <location line="-727"/>
         <source>Cache migration failed!</source>
         <translation>Échec de la migration du cache&#x202f;!</translation>
     </message>
@@ -352,7 +352,7 @@
 <context>
     <name>CrossSigningSecrets</name>
     <message>
-        <location filename="../../src/ChatPage.cpp" line="+183"/>
+        <location filename="../../src/ChatPage.cpp" line="+189"/>
         <source>Decrypt secrets</source>
         <translation>Déchiffrer les secrets</translation>
     </message>
@@ -426,12 +426,12 @@
 <context>
     <name>EmojiPicker</name>
     <message>
-        <location filename="../qml/emoji/EmojiPicker.qml" line="+59"/>
+        <location filename="../qml/emoji/EmojiPicker.qml" line="+68"/>
         <source>Search</source>
         <translation>Chercher</translation>
     </message>
     <message>
-        <location line="+172"/>
+        <location line="+186"/>
         <source>People</source>
         <translation>Personnes</translation>
     </message>
@@ -605,9 +605,47 @@
     </message>
 </context>
 <context>
+    <name>ImagePackSettingsDialog</name>
+    <message>
+        <location filename="../qml/dialogs/ImagePackSettingsDialog.qml" line="+22"/>
+        <source>Image pack settings</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+151"/>
+        <source>Private pack</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Pack from this room</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Globally enabled pack</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+59"/>
+        <source>Enable globally</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Enables this pack to be used in all rooms</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+62"/>
+        <source>Close</source>
+        <translation type="unfinished">Fermer</translation>
+    </message>
+</context>
+<context>
     <name>InputBar</name>
     <message>
-        <location filename="../../src/timeline/InputBar.cpp" line="+233"/>
+        <location filename="../../src/timeline/InputBar.cpp" line="+234"/>
         <source>Select a file</source>
         <translation>Sélectionnez un fichier</translation>
     </message>
@@ -617,17 +655,43 @@
         <translation>Tous les types de fichiers (*)</translation>
     </message>
     <message>
-        <location line="+417"/>
+        <location line="+442"/>
         <source>Failed to upload media. Please try again.</source>
         <translation>Échec de l&apos;envoi du média. Veuillez réessayer.</translation>
     </message>
 </context>
 <context>
-    <name>InviteeItem</name>
+    <name>InviteDialog</name>
+    <message>
+        <location filename="../qml/InviteDialog.qml" line="+32"/>
+        <source>Invite users to %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+24"/>
+        <source>User ID to invite</source>
+        <translation type="unfinished">Identifiant d&apos;utilisateur à inviter</translation>
+    </message>
+    <message>
+        <location line="+14"/>
+        <source>@joe:matrix.org</source>
+        <comment>Example user id. The name &apos;joe&apos; can be localized however you want.</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+17"/>
+        <source>Add</source>
+        <translation type="unfinished"></translation>
+    </message>
     <message>
-        <location filename="../../src/InviteeItem.cpp" line="+22"/>
-        <source>Remove</source>
-        <translation>Retirer</translation>
+        <location line="+58"/>
+        <source>Invite</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+7"/>
+        <source>Cancel</source>
+        <translation type="unfinished">Annuler</translation>
     </message>
 </context>
 <context>
@@ -745,22 +809,9 @@ Exemple&#xa0;: https&#x202f;://monserveur.example.com&#x202f;:8787</translation>
     </message>
 </context>
 <context>
-    <name>MemberList</name>
-    <message>
-        <location filename="../../src/dialogs/MemberList.cpp" line="+94"/>
-        <source>Room members</source>
-        <translation>Membres du salon</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>OK</source>
-        <translation>OK</translation>
-    </message>
-</context>
-<context>
     <name>MessageDelegate</name>
     <message>
-        <location filename="../qml/delegates/MessageDelegate.qml" line="+110"/>
+        <location filename="../qml/delegates/MessageDelegate.qml" line="+169"/>
         <location line="+9"/>
         <source>removed</source>
         <translation>retiré</translation>
@@ -771,7 +822,7 @@ Exemple&#xa0;: https&#x202f;://monserveur.example.com&#x202f;:8787</translation>
         <translation>Chiffrement activé</translation>
     </message>
     <message>
-        <location line="+9"/>
+        <location line="+12"/>
         <source>room name changed to: %1</source>
         <translation>nom du salon changé en&#xa0;: %1</translation>
     </message>
@@ -781,7 +832,7 @@ Exemple&#xa0;: https&#x202f;://monserveur.example.com&#x202f;:8787</translation>
         <translation>nom du salon retiré</translation>
     </message>
     <message>
-        <location line="+9"/>
+        <location line="+12"/>
         <source>topic changed to: %1</source>
         <translation>sujet changé pour&#xa0;: %1</translation>
     </message>
@@ -791,17 +842,17 @@ Exemple&#xa0;: https&#x202f;://monserveur.example.com&#x202f;:8787</translation>
         <translation>sujet retiré</translation>
     </message>
     <message>
-        <location line="+9"/>
+        <location line="+12"/>
         <source>%1 changed the room avatar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+8"/>
+        <location line="+12"/>
         <source>%1 created and configured room: %2</source>
         <translation>%1 a créé et configuré le salon&#xa0;: %2</translation>
     </message>
     <message>
-        <location line="+12"/>
+        <location line="+15"/>
         <source>%1 placed a voice call.</source>
         <translation>%1 a effectué un appel vocal.</translation>
     </message>
@@ -816,17 +867,17 @@ Exemple&#xa0;: https&#x202f;://monserveur.example.com&#x202f;:8787</translation>
         <translation>%1 a appelé.</translation>
     </message>
     <message>
-        <location line="+11"/>
+        <location line="+14"/>
         <source>%1 answered the call.</source>
         <translation>%1 a répondu à l&apos;appel.</translation>
     </message>
     <message>
-        <location line="+9"/>
+        <location line="+12"/>
         <source>%1 ended the call.</source>
         <translation>%1 a terminé l&apos;appel.</translation>
     </message>
     <message>
-        <location line="+9"/>
+        <location line="+12"/>
         <source>Negotiating call...</source>
         <translation>Négociation de l&apos;appel…</translation>
     </message>
@@ -834,7 +885,7 @@ Exemple&#xa0;: https&#x202f;://monserveur.example.com&#x202f;:8787</translation>
 <context>
     <name>MessageInput</name>
     <message>
-        <location filename="../qml/MessageInput.qml" line="+43"/>
+        <location filename="../qml/MessageInput.qml" line="+44"/>
         <source>Hang up</source>
         <translation>Raccrocher</translation>
     </message>
@@ -855,6 +906,11 @@ Exemple&#xa0;: https&#x202f;://monserveur.example.com&#x202f;:8787</translation>
     </message>
     <message>
         <location line="+214"/>
+        <source>Stickers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+24"/>
         <source>Emoji</source>
         <translation>Émoji</translation>
     </message>
@@ -872,17 +928,17 @@ Exemple&#xa0;: https&#x202f;://monserveur.example.com&#x202f;:8787</translation>
 <context>
     <name>MessageView</name>
     <message>
-        <location filename="../qml/MessageView.qml" line="+83"/>
+        <location filename="../qml/MessageView.qml" line="+87"/>
         <source>Edit</source>
         <translation>Modifier</translation>
     </message>
     <message>
-        <location line="+15"/>
+        <location line="+16"/>
         <source>React</source>
         <translation>Réagir</translation>
     </message>
     <message>
-        <location line="+13"/>
+        <location line="+16"/>
         <source>Reply</source>
         <translation>Répondre</translation>
     </message>
@@ -892,7 +948,7 @@ Exemple&#xa0;: https&#x202f;://monserveur.example.com&#x202f;:8787</translation>
         <translation>Options</translation>
     </message>
     <message>
-        <location line="+329"/>
+        <location line="+405"/>
         <source>&amp;Copy</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1100,7 +1156,7 @@ Exemple&#xa0;: https&#x202f;://monserveur.example.com&#x202f;:8787</translation>
 <context>
     <name>Placeholder</name>
     <message>
-        <location filename="../qml/delegates/Placeholder.qml" line="+9"/>
+        <location filename="../qml/delegates/Placeholder.qml" line="+11"/>
         <source>unimplemented event: </source>
         <translation>Évènement non implémenté&#xa0;: </translation>
     </message>
@@ -1220,7 +1276,7 @@ Exemple&#xa0;: https&#x202f;://monserveur.example.com&#x202f;:8787</translation>
 <context>
     <name>ReplyPopup</name>
     <message>
-        <location filename="../qml/ReplyPopup.qml" line="+47"/>
+        <location filename="../qml/ReplyPopup.qml" line="+62"/>
         <source>Close</source>
         <translation>Fermer</translation>
     </message>
@@ -1233,7 +1289,7 @@ Exemple&#xa0;: https&#x202f;://monserveur.example.com&#x202f;:8787</translation>
 <context>
     <name>RoomInfo</name>
     <message>
-        <location filename="../../src/Cache.cpp" line="+4009"/>
+        <location filename="../../src/Cache.cpp" line="+4180"/>
         <source>no version stored</source>
         <translation>pas de version enregistrée</translation>
     </message>
@@ -1241,7 +1297,7 @@ Exemple&#xa0;: https&#x202f;://monserveur.example.com&#x202f;:8787</translation>
 <context>
     <name>RoomList</name>
     <message>
-        <location filename="../qml/RoomList.qml" line="+56"/>
+        <location filename="../qml/RoomList.qml" line="+57"/>
         <source>New tag</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1251,6 +1307,16 @@ Exemple&#xa0;: https&#x202f;://monserveur.example.com&#x202f;:8787</translation>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+9"/>
+        <source>Leave Room</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>Are you sure you want to leave this room?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <location line="+7"/>
         <source>Leave room</source>
         <translation type="unfinished">Quitter le salon</translation>
@@ -1281,17 +1347,7 @@ Exemple&#xa0;: https&#x202f;://monserveur.example.com&#x202f;:8787</translation>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+222"/>
-        <source>Accept</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>Decline</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+68"/>
+        <location line="+268"/>
         <source>Status Message</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1342,19 +1398,41 @@ Exemple&#xa0;: https&#x202f;://monserveur.example.com&#x202f;:8787</translation>
     </message>
 </context>
 <context>
+    <name>RoomMembers</name>
+    <message>
+        <location filename="../qml/RoomMembers.qml" line="+17"/>
+        <source>Members of %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message numerus="yes">
+        <location line="+32"/>
+        <source>%n people in %1</source>
+        <comment>Summary above list of members</comment>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+            <numerusform></numerusform>
+        </translation>
+    </message>
+    <message>
+        <location line="+10"/>
+        <source>Invite more people</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>RoomSettings</name>
     <message>
-        <location filename="../qml/RoomSettings.qml" line="+25"/>
+        <location filename="../qml/RoomSettings.qml" line="+26"/>
         <source>Room Settings</source>
         <translation>Configuration du salon</translation>
     </message>
     <message>
-        <location line="+79"/>
+        <location line="+80"/>
         <source>%1 member(s)</source>
         <translation>%1 membre(s)</translation>
     </message>
     <message>
-        <location line="+43"/>
+        <location line="+55"/>
         <source>SETTINGS</source>
         <translation>CONFIGURATION</translation>
     </message>
@@ -1410,21 +1488,22 @@ Exemple&#xa0;: https&#x202f;://monserveur.example.com&#x202f;:8787</translation>
         <translation>Le chiffrement actuellement expérimental et des comportements inattendus peuvent être rencontrés. &lt;br&gt;Veuillez noter qu&apos;il n&apos;est pas possible de le désactiver par la suite.</translation>
     </message>
     <message>
-        <location line="+17"/>
-        <source>Respond to key requests</source>
-        <translation>Répondre aux demandes de clé</translation>
+        <location line="+16"/>
+        <source>Sticker &amp; Emote Settings</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+5"/>
-        <source>Whether or not the client should respond automatically with the session keys
-                                upon request. Use with caution, this is a temporary measure to test the
-                                E2E implementation until device verification is completed.</source>
-        <translation>Si le client doit répondre automatiquement avec les clés de session lorsqu&apos;elles sont
-demandées. Utiliser précautionneusement, il s&apos;agit d&apos;une mesure temporaire afin de
-tester le chiffrement de bout en bout tant que la vérification des appareils n&apos;est pas au point.</translation>
+        <location line="+4"/>
+        <source>Change</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+21"/>
+        <location line="+1"/>
+        <source>Change what packs are enabled, remove packs or create new ones</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+16"/>
         <source>INFO</source>
         <translation>INFO</translation>
     </message>
@@ -1439,12 +1518,7 @@ tester le chiffrement de bout en bout tant que la vérification des appareils n&
         <translation>Version du salon</translation>
     </message>
     <message>
-        <location line="+13"/>
-        <source>OK</source>
-        <translation>OK</translation>
-    </message>
-    <message>
-        <location filename="../../src/ui/RoomSettings.cpp" line="+268"/>
+        <location filename="../../src/ui/RoomSettings.cpp" line="+255"/>
         <source>Failed to enable encryption: %1</source>
         <translation>Échec de l&apos;activation du chiffrement&#xa0;&#xa0;: %1</translation>
     </message>
@@ -1476,6 +1550,24 @@ tester le chiffrement de bout en bout tant que la vérification des appareils n&
     </message>
 </context>
 <context>
+    <name>RoomlistModel</name>
+    <message>
+        <location filename="../../src/timeline/RoomlistModel.cpp" line="+143"/>
+        <source>Pending invite.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+30"/>
+        <source>Previewing this room</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+34"/>
+        <source>No preview available</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>ScreenShare</name>
     <message>
         <location filename="../qml/voip/ScreenShare.qml" line="+30"/>
@@ -1532,7 +1624,7 @@ tester le chiffrement de bout en bout tant que la vérification des appareils n&
 <context>
     <name>StatusIndicator</name>
     <message>
-        <location filename="../qml/StatusIndicator.qml" line="+21"/>
+        <location filename="../qml/StatusIndicator.qml" line="+24"/>
         <source>Failed</source>
         <translation>Échec</translation>
     </message>
@@ -1553,6 +1645,14 @@ tester le chiffrement de bout en bout tant que la vérification des appareils n&
     </message>
 </context>
 <context>
+    <name>StickerPicker</name>
+    <message>
+        <location filename="../qml/emoji/StickerPicker.qml" line="+70"/>
+        <source>Search</source>
+        <translation type="unfinished">Chercher</translation>
+    </message>
+</context>
+<context>
     <name>Success</name>
     <message>
         <location filename="../qml/device-verification/Success.qml" line="+11"/>
@@ -1573,7 +1673,7 @@ tester le chiffrement de bout en bout tant que la vérification des appareils n&
 <context>
     <name>TimelineModel</name>
     <message>
-        <location filename="../../src/timeline/TimelineModel.cpp" line="+1095"/>
+        <location filename="../../src/timeline/TimelineModel.cpp" line="+1107"/>
         <source>Message redaction failed: %1</source>
         <translation>Échec de la suppression du message&#xa0;: %1</translation>
     </message>
@@ -1584,7 +1684,7 @@ tester le chiffrement de bout en bout tant que la vérification des appareils n&
         <translation>Échec du chiffrement de l&apos;évènement, envoi abandonné&#x202f;!</translation>
     </message>
     <message>
-        <location line="+164"/>
+        <location line="+173"/>
         <source>Save image</source>
         <translation>Enregistrer l&apos;image</translation>
     </message>
@@ -1718,12 +1818,12 @@ tester le chiffrement de bout en bout tant que la vérification des appareils n&
         <translation>%1 ne frappe plus au salon.</translation>
     </message>
     <message>
-        <location line="-883"/>
+        <location line="-884"/>
         <source>You joined this room.</source>
         <translation>Vous avez rejoint ce salon.</translation>
     </message>
     <message>
-        <location line="+849"/>
+        <location line="+850"/>
         <source>%1 has changed their avatar and changed their display name to %2.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1752,7 +1852,7 @@ tester le chiffrement de bout en bout tant que la vérification des appareils n&
 <context>
     <name>TimelineRow</name>
     <message>
-        <location filename="../qml/TimelineRow.qml" line="+106"/>
+        <location filename="../qml/TimelineRow.qml" line="+180"/>
         <source>Edited</source>
         <translation>Modifié</translation>
     </message>
@@ -1760,17 +1860,32 @@ tester le chiffrement de bout en bout tant que la vérification des appareils n&
 <context>
     <name>TimelineView</name>
     <message>
-        <location filename="../qml/TimelineView.qml" line="+27"/>
+        <location filename="../qml/TimelineView.qml" line="+30"/>
         <source>No room open</source>
         <translation>Aucun salon ouvert</translation>
     </message>
     <message>
-        <location line="+127"/>
+        <location line="+139"/>
         <source>%1 member(s)</source>
         <translation type="unfinished">%1 membre(s)</translation>
     </message>
     <message>
-        <location line="+46"/>
+        <location line="+33"/>
+        <source>join the conversation</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+7"/>
+        <source>accept invite</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+7"/>
+        <source>decline invite</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+27"/>
         <source>Back to room list</source>
         <translation type="unfinished">Revenir à la liste des salons</translation>
     </message>
@@ -1778,7 +1893,7 @@ tester le chiffrement de bout en bout tant que la vérification des appareils n&
 <context>
     <name>TimelineViewManager</name>
     <message>
-        <location filename="../../src/timeline/TimelineViewManager.cpp" line="+461"/>
+        <location filename="../../src/timeline/TimelineViewManager.cpp" line="+527"/>
         <source>No encrypted private chat found with this user. Create an encrypted private chat with this user and try again.</source>
         <translation>Pas de discussion privée et chiffrée trouvée avec cet utilisateur. Créez-en une et réessayez.</translation>
     </message>
@@ -1786,18 +1901,17 @@ tester le chiffrement de bout en bout tant que la vérification des appareils n&
 <context>
     <name>TopBar</name>
     <message>
-        <location filename="../qml/TopBar.qml" line="+51"/>
+        <location filename="../qml/TopBar.qml" line="+54"/>
         <source>Back to room list</source>
         <translation>Revenir à la liste des salons</translation>
     </message>
     <message>
-        <location line="+12"/>
-        <location line="+10"/>
+        <location line="-39"/>
         <source>No room selected</source>
         <translation>Pas de salon sélectionné</translation>
     </message>
     <message>
-        <location line="+24"/>
+        <location line="+90"/>
         <source>Room options</source>
         <translation>Options du salon</translation>
     </message>
@@ -1838,7 +1952,7 @@ tester le chiffrement de bout en bout tant que la vérification des appareils n&
 <context>
     <name>UserProfile</name>
     <message>
-        <location filename="../qml/UserProfile.qml" line="+24"/>
+        <location filename="../qml/UserProfile.qml" line="+25"/>
         <source>Global User Profile</source>
         <translation>Profil général de l&apos;utilisateur</translation>
     </message>
@@ -1848,7 +1962,7 @@ tester le chiffrement de bout en bout tant que la vérification des appareils n&
         <translation>Profil utilisateur spécifique au salon</translation>
     </message>
     <message>
-        <location line="+114"/>
+        <location line="+115"/>
         <location line="+107"/>
         <source>Verify</source>
         <translation>Vérifier</translation>
@@ -1897,7 +2011,7 @@ tester le chiffrement de bout en bout tant que la vérification des appareils n&
 <context>
     <name>UserSettings</name>
     <message>
-        <location filename="../../src/UserSettingsPage.cpp" line="+362"/>
+        <location filename="../../src/UserSettingsPage.cpp" line="+363"/>
         <location filename="../../src/UserSettingsPage.h" line="+194"/>
         <source>Default</source>
         <translation>Défaut</translation>
@@ -1906,7 +2020,7 @@ tester le chiffrement de bout en bout tant que la vérification des appareils n&
 <context>
     <name>UserSettingsPage</name>
     <message>
-        <location line="+524"/>
+        <location line="+525"/>
         <source>Minimize to tray</source>
         <translation>Réduire à la barre des tâches</translation>
     </message>
@@ -2365,7 +2479,7 @@ Cela met l&apos;application en évidence dans la barre des tâches.</translation
 <context>
     <name>Waiting</name>
     <message>
-        <location filename="../qml/device-verification/Waiting.qml" line="+11"/>
+        <location filename="../qml/device-verification/Waiting.qml" line="+12"/>
         <source>Waiting for other party…</source>
         <translation>Attente du correspondant…</translation>
     </message>
@@ -2416,7 +2530,7 @@ Cela met l&apos;application en évidence dans la barre des tâches.</translation
 <context>
     <name>descriptiveTime</name>
     <message>
-        <location filename="../../src/Utils.cpp" line="+207"/>
+        <location filename="../../src/Utils.cpp" line="+184"/>
         <source>Yesterday</source>
         <translation>Hier</translation>
     </message>
@@ -2488,19 +2602,6 @@ Cela met l&apos;application en évidence dans la barre des tâches.</translation
     </message>
 </context>
 <context>
-    <name>dialogs::InviteUsers</name>
-    <message>
-        <location filename="../../src/dialogs/InviteUsers.cpp" line="+46"/>
-        <source>Cancel</source>
-        <translation>Annuler</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>User ID to invite</source>
-        <translation>Identifiant d&apos;utilisateur à inviter</translation>
-    </message>
-</context>
-<context>
     <name>dialogs::JoinRoom</name>
     <message>
         <location filename="../../src/dialogs/JoinRoom.cpp" line="+34"/>
@@ -2613,7 +2714,7 @@ Taille du média : %2
 <context>
     <name>message-description sent:</name>
     <message>
-        <location filename="../../src/Utils.h" line="+124"/>
+        <location filename="../../src/Utils.h" line="+115"/>
         <source>You sent an audio clip</source>
         <translation>Vous avez envoyé un message audio</translation>
     </message>
diff --git a/resources/langs/nheko_hu.ts b/resources/langs/nheko_hu.ts
index e989a6ce..7c29338c 100644
--- a/resources/langs/nheko_hu.ts
+++ b/resources/langs/nheko_hu.ts
@@ -38,7 +38,7 @@
 <context>
     <name>AwaitingVerificationConfirmation</name>
     <message>
-        <location filename="../qml/device-verification/AwaitingVerificationConfirmation.qml" line="+11"/>
+        <location filename="../qml/device-verification/AwaitingVerificationConfirmation.qml" line="+12"/>
         <source>Awaiting Confirmation</source>
         <translation>Várakozás megerősítésre</translation>
     </message>
@@ -48,7 +48,7 @@
         <translation>Várakozás a másik oldalra a hitelesítés befejezéséhez.</translation>
     </message>
     <message>
-        <location line="+12"/>
+        <location line="+13"/>
         <source>Cancel</source>
         <translation>Mégse</translation>
     </message>
@@ -125,7 +125,7 @@
 <context>
     <name>ChatPage</name>
     <message>
-        <location filename="../../src/ChatPage.cpp" line="+133"/>
+        <location filename="../../src/ChatPage.cpp" line="+135"/>
         <source>Failed to invite user: %1</source>
         <translation>Nem sikerült meghívni a felhasználót: %1</translation>
     </message>
@@ -157,12 +157,12 @@
     </message>
     <message>
         <location line="+34"/>
-        <location line="+280"/>
+        <location line="+286"/>
         <source>Confirm invite</source>
         <translation>Meghívás megerősítése</translation>
     </message>
     <message>
-        <location line="-279"/>
+        <location line="-285"/>
         <source>Do you really want to invite %1 (%2)?</source>
         <translation>Biztos, hogy meg akarod hívni a következő felhasználót: %1 (%2)?</translation>
     </message>
@@ -227,12 +227,12 @@
         <translation>Kitiltás feloldva a felhasználónak: %1</translation>
     </message>
     <message>
-        <location line="+183"/>
+        <location line="+189"/>
         <source>Do you really want to start a private chat with %1?</source>
         <translation>Biztosan privát csevegést akarsz indítani %1 felhasználóval?</translation>
     </message>
     <message>
-        <location line="-721"/>
+        <location line="-727"/>
         <source>Cache migration failed!</source>
         <translation>Gyorsítótár migráció nem sikerült!</translation>
     </message>
@@ -352,7 +352,7 @@
 <context>
     <name>CrossSigningSecrets</name>
     <message>
-        <location filename="../../src/ChatPage.cpp" line="+183"/>
+        <location filename="../../src/ChatPage.cpp" line="+189"/>
         <source>Decrypt secrets</source>
         <translation>Titkos tároló feloldása</translation>
     </message>
@@ -426,12 +426,12 @@
 <context>
     <name>EmojiPicker</name>
     <message>
-        <location filename="../qml/emoji/EmojiPicker.qml" line="+59"/>
+        <location filename="../qml/emoji/EmojiPicker.qml" line="+68"/>
         <source>Search</source>
         <translation>Keresés</translation>
     </message>
     <message>
-        <location line="+172"/>
+        <location line="+186"/>
         <source>People</source>
         <translation>Emberek</translation>
     </message>
@@ -605,9 +605,47 @@
     </message>
 </context>
 <context>
+    <name>ImagePackSettingsDialog</name>
+    <message>
+        <location filename="../qml/dialogs/ImagePackSettingsDialog.qml" line="+22"/>
+        <source>Image pack settings</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+151"/>
+        <source>Private pack</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Pack from this room</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Globally enabled pack</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+59"/>
+        <source>Enable globally</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Enables this pack to be used in all rooms</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+62"/>
+        <source>Close</source>
+        <translation type="unfinished">Bezárás</translation>
+    </message>
+</context>
+<context>
     <name>InputBar</name>
     <message>
-        <location filename="../../src/timeline/InputBar.cpp" line="+233"/>
+        <location filename="../../src/timeline/InputBar.cpp" line="+234"/>
         <source>Select a file</source>
         <translation>Fájl kiválasztása</translation>
     </message>
@@ -617,17 +655,43 @@
         <translation>Minden fájl (*)</translation>
     </message>
     <message>
-        <location line="+417"/>
+        <location line="+442"/>
         <source>Failed to upload media. Please try again.</source>
         <translation>Nem sikerült feltölteni a médiafájlt. Kérlek, próbáld újra!</translation>
     </message>
 </context>
 <context>
-    <name>InviteeItem</name>
+    <name>InviteDialog</name>
+    <message>
+        <location filename="../qml/InviteDialog.qml" line="+32"/>
+        <source>Invite users to %1</source>
+        <translation type="unfinished"></translation>
+    </message>
     <message>
-        <location filename="../../src/InviteeItem.cpp" line="+22"/>
-        <source>Remove</source>
-        <translation>Eltávolítás</translation>
+        <location line="+24"/>
+        <source>User ID to invite</source>
+        <translation type="unfinished">Meghívandó felhasználó azonosítója</translation>
+    </message>
+    <message>
+        <location line="+14"/>
+        <source>@joe:matrix.org</source>
+        <comment>Example user id. The name &apos;joe&apos; can be localized however you want.</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+17"/>
+        <source>Add</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+58"/>
+        <source>Invite</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+7"/>
+        <source>Cancel</source>
+        <translation type="unfinished">Mégse</translation>
     </message>
 </context>
 <context>
@@ -745,27 +809,14 @@ Példa: https://szerver.em:8787</translation>
     </message>
 </context>
 <context>
-    <name>MemberList</name>
-    <message>
-        <location filename="../../src/dialogs/MemberList.cpp" line="+94"/>
-        <source>Room members</source>
-        <translation>Szobatagok</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>OK</source>
-        <translation>OK</translation>
-    </message>
-</context>
-<context>
     <name>MessageDelegate</name>
     <message>
-        <location filename="../qml/delegates/MessageDelegate.qml" line="+128"/>
+        <location filename="../qml/delegates/MessageDelegate.qml" line="+187"/>
         <source>Encryption enabled</source>
         <translation>Titkosítás bekapcsolva</translation>
     </message>
     <message>
-        <location line="+9"/>
+        <location line="+12"/>
         <source>room name changed to: %1</source>
         <translation>a szoba neve megváltoztatva erre: %1</translation>
     </message>
@@ -775,7 +826,7 @@ Példa: https://szerver.em:8787</translation>
         <translation>szobanév eltávolítva</translation>
     </message>
     <message>
-        <location line="+9"/>
+        <location line="+12"/>
         <source>topic changed to: %1</source>
         <translation>a téma megváltoztatva erre: %1</translation>
     </message>
@@ -785,17 +836,17 @@ Példa: https://szerver.em:8787</translation>
         <translation>téma eltávolítva</translation>
     </message>
     <message>
-        <location line="+9"/>
+        <location line="+12"/>
         <source>%1 changed the room avatar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+8"/>
+        <location line="+12"/>
         <source>%1 created and configured room: %2</source>
         <translation>%1 létrehozta és beállította a következő szobát: %2</translation>
     </message>
     <message>
-        <location line="+12"/>
+        <location line="+15"/>
         <source>%1 placed a voice call.</source>
         <translation>%1 hanghívást kezdeményezett.</translation>
     </message>
@@ -810,23 +861,23 @@ Példa: https://szerver.em:8787</translation>
         <translation>%1 hívást kezdeményezett.</translation>
     </message>
     <message>
-        <location line="+29"/>
+        <location line="+38"/>
         <source>Negotiating call...</source>
         <translation>Hívás előkészítése…</translation>
     </message>
     <message>
-        <location line="-18"/>
+        <location line="-24"/>
         <source>%1 answered the call.</source>
         <translation>%1 fogadta a hívást.</translation>
     </message>
     <message>
-        <location line="-80"/>
+        <location line="-99"/>
         <location line="+9"/>
         <source>removed</source>
         <translation>eltávolítva</translation>
     </message>
     <message>
-        <location line="+80"/>
+        <location line="+102"/>
         <source>%1 ended the call.</source>
         <translation>%1 befejezte a hívást.</translation>
     </message>
@@ -834,7 +885,7 @@ Példa: https://szerver.em:8787</translation>
 <context>
     <name>MessageInput</name>
     <message>
-        <location filename="../qml/MessageInput.qml" line="+43"/>
+        <location filename="../qml/MessageInput.qml" line="+44"/>
         <source>Hang up</source>
         <translation>Hívás befejezése</translation>
     </message>
@@ -855,6 +906,11 @@ Példa: https://szerver.em:8787</translation>
     </message>
     <message>
         <location line="+214"/>
+        <source>Stickers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+24"/>
         <source>Emoji</source>
         <translation>Hangulatjelek</translation>
     </message>
@@ -872,17 +928,17 @@ Példa: https://szerver.em:8787</translation>
 <context>
     <name>MessageView</name>
     <message>
-        <location filename="../qml/MessageView.qml" line="+83"/>
+        <location filename="../qml/MessageView.qml" line="+87"/>
         <source>Edit</source>
         <translation>Szerkesztés</translation>
     </message>
     <message>
-        <location line="+15"/>
+        <location line="+16"/>
         <source>React</source>
         <translation>Reakció</translation>
     </message>
     <message>
-        <location line="+13"/>
+        <location line="+16"/>
         <source>Reply</source>
         <translation>Válasz</translation>
     </message>
@@ -892,7 +948,7 @@ Példa: https://szerver.em:8787</translation>
         <translation>Műveletek</translation>
     </message>
     <message>
-        <location line="+329"/>
+        <location line="+405"/>
         <source>&amp;Copy</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1100,7 +1156,7 @@ Példa: https://szerver.em:8787</translation>
 <context>
     <name>Placeholder</name>
     <message>
-        <location filename="../qml/delegates/Placeholder.qml" line="+9"/>
+        <location filename="../qml/delegates/Placeholder.qml" line="+11"/>
         <source>unimplemented event: </source>
         <translation>nem implementált esemény: </translation>
     </message>
@@ -1220,7 +1276,7 @@ Példa: https://szerver.em:8787</translation>
 <context>
     <name>ReplyPopup</name>
     <message>
-        <location filename="../qml/ReplyPopup.qml" line="+47"/>
+        <location filename="../qml/ReplyPopup.qml" line="+62"/>
         <source>Close</source>
         <translation>Bezárás</translation>
     </message>
@@ -1233,7 +1289,7 @@ Példa: https://szerver.em:8787</translation>
 <context>
     <name>RoomInfo</name>
     <message>
-        <location filename="../../src/Cache.cpp" line="+4009"/>
+        <location filename="../../src/Cache.cpp" line="+4180"/>
         <source>no version stored</source>
         <translation>nincs tárolva verzió</translation>
     </message>
@@ -1241,7 +1297,7 @@ Példa: https://szerver.em:8787</translation>
 <context>
     <name>RoomList</name>
     <message>
-        <location filename="../qml/RoomList.qml" line="+56"/>
+        <location filename="../qml/RoomList.qml" line="+57"/>
         <source>New tag</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1251,6 +1307,16 @@ Példa: https://szerver.em:8787</translation>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+9"/>
+        <source>Leave Room</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>Are you sure you want to leave this room?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <location line="+7"/>
         <source>Leave room</source>
         <translation type="unfinished">Szoba elhagyása</translation>
@@ -1281,17 +1347,7 @@ Példa: https://szerver.em:8787</translation>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+222"/>
-        <source>Accept</source>
-        <translation type="unfinished">Elfogadás</translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>Decline</source>
-        <translation type="unfinished">Elutasítás</translation>
-    </message>
-    <message>
-        <location line="+68"/>
+        <location line="+268"/>
         <source>Status Message</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1342,19 +1398,40 @@ Példa: https://szerver.em:8787</translation>
     </message>
 </context>
 <context>
+    <name>RoomMembers</name>
+    <message>
+        <location filename="../qml/RoomMembers.qml" line="+17"/>
+        <source>Members of %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message numerus="yes">
+        <location line="+32"/>
+        <source>%n people in %1</source>
+        <comment>Summary above list of members</comment>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+        </translation>
+    </message>
+    <message>
+        <location line="+10"/>
+        <source>Invite more people</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>RoomSettings</name>
     <message>
-        <location filename="../qml/RoomSettings.qml" line="+25"/>
+        <location filename="../qml/RoomSettings.qml" line="+26"/>
         <source>Room Settings</source>
         <translation>Szobabeállítások</translation>
     </message>
     <message>
-        <location line="+79"/>
+        <location line="+80"/>
         <source>%1 member(s)</source>
         <translation>%1 tag</translation>
     </message>
     <message>
-        <location line="+43"/>
+        <location line="+55"/>
         <source>SETTINGS</source>
         <translation>BEÁLLÍTÁSOK</translation>
     </message>
@@ -1410,21 +1487,22 @@ Példa: https://szerver.em:8787</translation>
         <translation>A titkosítás jelenleg kísérleti stádiumú és váratlan furcsaságok történhetnek.&lt;br&gt;Kérlek, vedd vigyelembe, hogy ha egyszer aktiváltad, nem lehet utána kikapcsolni.</translation>
     </message>
     <message>
-        <location line="+17"/>
-        <source>Respond to key requests</source>
-        <translation>Válasz kulcskérelmekre</translation>
+        <location line="+16"/>
+        <source>Sticker &amp; Emote Settings</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+5"/>
-        <source>Whether or not the client should respond automatically with the session keys
-                                upon request. Use with caution, this is a temporary measure to test the
-                                E2E implementation until device verification is completed.</source>
-        <translation>Válaszoljon-e kérés esetén a kliens munkamenetkulcsokkal automatikusan.
-Óvatosan használandó, mivel ez csak egy átmeneti megoldás a végponttól
-végpontig (E2E) titkosítás tesztelésére, amíg be nincs fejezve az eszközhitelesítés.</translation>
+        <location line="+4"/>
+        <source>Change</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+21"/>
+        <location line="+1"/>
+        <source>Change what packs are enabled, remove packs or create new ones</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+16"/>
         <source>INFO</source>
         <translation>INFÓ</translation>
     </message>
@@ -1439,12 +1517,7 @@ végpontig (E2E) titkosítás tesztelésére, amíg be nincs fejezve az eszközh
         <translation>Szoba verziója</translation>
     </message>
     <message>
-        <location line="+13"/>
-        <source>OK</source>
-        <translation>OK</translation>
-    </message>
-    <message>
-        <location filename="../../src/ui/RoomSettings.cpp" line="+268"/>
+        <location filename="../../src/ui/RoomSettings.cpp" line="+255"/>
         <source>Failed to enable encryption: %1</source>
         <translation>Nem sikerült a titkosítás aktiválása: %1</translation>
     </message>
@@ -1476,6 +1549,24 @@ végpontig (E2E) titkosítás tesztelésére, amíg be nincs fejezve az eszközh
     </message>
 </context>
 <context>
+    <name>RoomlistModel</name>
+    <message>
+        <location filename="../../src/timeline/RoomlistModel.cpp" line="+143"/>
+        <source>Pending invite.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+30"/>
+        <source>Previewing this room</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+34"/>
+        <source>No preview available</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>ScreenShare</name>
     <message>
         <location filename="../qml/voip/ScreenShare.qml" line="+30"/>
@@ -1532,7 +1623,7 @@ végpontig (E2E) titkosítás tesztelésére, amíg be nincs fejezve az eszközh
 <context>
     <name>StatusIndicator</name>
     <message>
-        <location filename="../qml/StatusIndicator.qml" line="+21"/>
+        <location filename="../qml/StatusIndicator.qml" line="+24"/>
         <source>Failed</source>
         <translation>Sikertelen</translation>
     </message>
@@ -1553,6 +1644,14 @@ végpontig (E2E) titkosítás tesztelésére, amíg be nincs fejezve az eszközh
     </message>
 </context>
 <context>
+    <name>StickerPicker</name>
+    <message>
+        <location filename="../qml/emoji/StickerPicker.qml" line="+70"/>
+        <source>Search</source>
+        <translation type="unfinished">Keresés</translation>
+    </message>
+</context>
+<context>
     <name>Success</name>
     <message>
         <location filename="../qml/device-verification/Success.qml" line="+11"/>
@@ -1573,7 +1672,7 @@ végpontig (E2E) titkosítás tesztelésére, amíg be nincs fejezve az eszközh
 <context>
     <name>TimelineModel</name>
     <message>
-        <location filename="../../src/timeline/TimelineModel.cpp" line="+1095"/>
+        <location filename="../../src/timeline/TimelineModel.cpp" line="+1107"/>
         <source>Message redaction failed: %1</source>
         <translation>Az üzenet visszavonása nem sikerült: %1</translation>
     </message>
@@ -1584,7 +1683,7 @@ végpontig (E2E) titkosítás tesztelésére, amíg be nincs fejezve az eszközh
         <translation>Nem sikerült titkosítani az eseményt, küldés megszakítva!</translation>
     </message>
     <message>
-        <location line="+164"/>
+        <location line="+173"/>
         <source>Save image</source>
         <translation>Kép mentése</translation>
     </message>
@@ -1717,12 +1816,12 @@ végpontig (E2E) titkosítás tesztelésére, amíg be nincs fejezve az eszközh
         <translation>%1 visszavonta a kopogását.</translation>
     </message>
     <message>
-        <location line="-883"/>
+        <location line="-884"/>
         <source>You joined this room.</source>
         <translation>Csatlakoztál ehhez a szobához.</translation>
     </message>
     <message>
-        <location line="+849"/>
+        <location line="+850"/>
         <source>%1 has changed their avatar and changed their display name to %2.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1751,7 +1850,7 @@ végpontig (E2E) titkosítás tesztelésére, amíg be nincs fejezve az eszközh
 <context>
     <name>TimelineRow</name>
     <message>
-        <location filename="../qml/TimelineRow.qml" line="+106"/>
+        <location filename="../qml/TimelineRow.qml" line="+180"/>
         <source>Edited</source>
         <translation>Szerkesztve</translation>
     </message>
@@ -1759,17 +1858,32 @@ végpontig (E2E) titkosítás tesztelésére, amíg be nincs fejezve az eszközh
 <context>
     <name>TimelineView</name>
     <message>
-        <location filename="../qml/TimelineView.qml" line="+27"/>
+        <location filename="../qml/TimelineView.qml" line="+30"/>
         <source>No room open</source>
         <translation>Nincs nyitott szoba</translation>
     </message>
     <message>
-        <location line="+127"/>
+        <location line="+139"/>
         <source>%1 member(s)</source>
         <translation type="unfinished">%1 tag</translation>
     </message>
     <message>
-        <location line="+46"/>
+        <location line="+33"/>
+        <source>join the conversation</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+7"/>
+        <source>accept invite</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+7"/>
+        <source>decline invite</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+27"/>
         <source>Back to room list</source>
         <translation type="unfinished">Vissza a szobák listájára</translation>
     </message>
@@ -1777,7 +1891,7 @@ végpontig (E2E) titkosítás tesztelésére, amíg be nincs fejezve az eszközh
 <context>
     <name>TimelineViewManager</name>
     <message>
-        <location filename="../../src/timeline/TimelineViewManager.cpp" line="+461"/>
+        <location filename="../../src/timeline/TimelineViewManager.cpp" line="+527"/>
         <source>No encrypted private chat found with this user. Create an encrypted private chat with this user and try again.</source>
         <translation>Nem található titkosított privát csevegés ezzel a felhasználóval. Hozz létre egy titkosított privát csevegést vele, és próbáld újra!</translation>
     </message>
@@ -1785,18 +1899,17 @@ végpontig (E2E) titkosítás tesztelésére, amíg be nincs fejezve az eszközh
 <context>
     <name>TopBar</name>
     <message>
-        <location filename="../qml/TopBar.qml" line="+51"/>
+        <location filename="../qml/TopBar.qml" line="+54"/>
         <source>Back to room list</source>
         <translation>Vissza a szobák listájára</translation>
     </message>
     <message>
-        <location line="+12"/>
-        <location line="+10"/>
+        <location line="-39"/>
         <source>No room selected</source>
         <translation>Nincs kiválasztva szoba</translation>
     </message>
     <message>
-        <location line="+24"/>
+        <location line="+90"/>
         <source>Room options</source>
         <translation>Szoba beállításai</translation>
     </message>
@@ -1837,7 +1950,7 @@ végpontig (E2E) titkosítás tesztelésére, amíg be nincs fejezve az eszközh
 <context>
     <name>UserProfile</name>
     <message>
-        <location filename="../qml/UserProfile.qml" line="+24"/>
+        <location filename="../qml/UserProfile.qml" line="+25"/>
         <source>Global User Profile</source>
         <translation>Globális felhasználói profil</translation>
     </message>
@@ -1847,7 +1960,7 @@ végpontig (E2E) titkosítás tesztelésére, amíg be nincs fejezve az eszközh
         <translation>Szobai felhasználói profil</translation>
     </message>
     <message>
-        <location line="+114"/>
+        <location line="+115"/>
         <location line="+107"/>
         <source>Verify</source>
         <translation>Hitelesítés</translation>
@@ -1896,7 +2009,7 @@ végpontig (E2E) titkosítás tesztelésére, amíg be nincs fejezve az eszközh
 <context>
     <name>UserSettings</name>
     <message>
-        <location filename="../../src/UserSettingsPage.cpp" line="+362"/>
+        <location filename="../../src/UserSettingsPage.cpp" line="+363"/>
         <location filename="../../src/UserSettingsPage.h" line="+194"/>
         <source>Default</source>
         <translation>Alapértelmezett</translation>
@@ -1905,7 +2018,7 @@ végpontig (E2E) titkosítás tesztelésére, amíg be nincs fejezve az eszközh
 <context>
     <name>UserSettingsPage</name>
     <message>
-        <location line="+524"/>
+        <location line="+525"/>
         <source>Minimize to tray</source>
         <translation>Kicsinyítés a tálcára</translation>
     </message>
@@ -2363,7 +2476,7 @@ Ettől általában animálttá válik az alkalmazásablakok listáján szereplő
 <context>
     <name>Waiting</name>
     <message>
-        <location filename="../qml/device-verification/Waiting.qml" line="+11"/>
+        <location filename="../qml/device-verification/Waiting.qml" line="+12"/>
         <source>Waiting for other party…</source>
         <translation>Várakozás a másik félre…</translation>
     </message>
@@ -2414,7 +2527,7 @@ Ettől általában animálttá válik az alkalmazásablakok listáján szereplő
 <context>
     <name>descriptiveTime</name>
     <message>
-        <location filename="../../src/Utils.cpp" line="+207"/>
+        <location filename="../../src/Utils.cpp" line="+184"/>
         <source>Yesterday</source>
         <translation>Tegnap</translation>
     </message>
@@ -2486,19 +2599,6 @@ Ettől általában animálttá válik az alkalmazásablakok listáján szereplő
     </message>
 </context>
 <context>
-    <name>dialogs::InviteUsers</name>
-    <message>
-        <location filename="../../src/dialogs/InviteUsers.cpp" line="+46"/>
-        <source>Cancel</source>
-        <translation>Mégse</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>User ID to invite</source>
-        <translation>Meghívandó felhasználó azonosítója</translation>
-    </message>
-</context>
-<context>
     <name>dialogs::JoinRoom</name>
     <message>
         <location filename="../../src/dialogs/JoinRoom.cpp" line="+34"/>
@@ -2611,7 +2711,7 @@ Média mérete: %2
 <context>
     <name>message-description sent:</name>
     <message>
-        <location filename="../../src/Utils.h" line="+124"/>
+        <location filename="../../src/Utils.h" line="+115"/>
         <source>You sent an audio clip</source>
         <translation>Küldtél egy hangfájlt</translation>
     </message>
diff --git a/resources/langs/nheko_it.ts b/resources/langs/nheko_it.ts
index b0b8ec48..5a1d45f8 100644
--- a/resources/langs/nheko_it.ts
+++ b/resources/langs/nheko_it.ts
@@ -38,7 +38,7 @@
 <context>
     <name>AwaitingVerificationConfirmation</name>
     <message>
-        <location filename="../qml/device-verification/AwaitingVerificationConfirmation.qml" line="+11"/>
+        <location filename="../qml/device-verification/AwaitingVerificationConfirmation.qml" line="+12"/>
         <source>Awaiting Confirmation</source>
         <translation>In attesa di conferma</translation>
     </message>
@@ -48,7 +48,7 @@
         <translation>In attesa della conferma dall&apos;altra parte per la verifica.</translation>
     </message>
     <message>
-        <location line="+12"/>
+        <location line="+13"/>
         <source>Cancel</source>
         <translation>Annulla</translation>
     </message>
@@ -125,7 +125,7 @@
 <context>
     <name>ChatPage</name>
     <message>
-        <location filename="../../src/ChatPage.cpp" line="+133"/>
+        <location filename="../../src/ChatPage.cpp" line="+135"/>
         <source>Failed to invite user: %1</source>
         <translation>Impossibile invitare l&apos;utente: %1</translation>
     </message>
@@ -157,12 +157,12 @@
     </message>
     <message>
         <location line="+34"/>
-        <location line="+280"/>
+        <location line="+286"/>
         <source>Confirm invite</source>
         <translation>Conferma Invito</translation>
     </message>
     <message>
-        <location line="-279"/>
+        <location line="-285"/>
         <source>Do you really want to invite %1 (%2)?</source>
         <translation>Vuoi davvero inviare %1 (%2)?</translation>
     </message>
@@ -227,12 +227,12 @@
         <translation>Rimosso il ban dall&apos;utente: %1</translation>
     </message>
     <message>
-        <location line="+183"/>
+        <location line="+189"/>
         <source>Do you really want to start a private chat with %1?</source>
         <translation>Sei sicuro di voler avviare una chat privata con %1?</translation>
     </message>
     <message>
-        <location line="-721"/>
+        <location line="-727"/>
         <source>Cache migration failed!</source>
         <translation>Migrazione della cache fallita!</translation>
     </message>
@@ -352,7 +352,7 @@
 <context>
     <name>CrossSigningSecrets</name>
     <message>
-        <location filename="../../src/ChatPage.cpp" line="+183"/>
+        <location filename="../../src/ChatPage.cpp" line="+189"/>
         <source>Decrypt secrets</source>
         <translation>Decifra i segreti</translation>
     </message>
@@ -426,12 +426,12 @@
 <context>
     <name>EmojiPicker</name>
     <message>
-        <location filename="../qml/emoji/EmojiPicker.qml" line="+59"/>
+        <location filename="../qml/emoji/EmojiPicker.qml" line="+68"/>
         <source>Search</source>
         <translation>Cerca</translation>
     </message>
     <message>
-        <location line="+172"/>
+        <location line="+186"/>
         <source>People</source>
         <translation>Membri</translation>
     </message>
@@ -605,9 +605,47 @@
     </message>
 </context>
 <context>
+    <name>ImagePackSettingsDialog</name>
+    <message>
+        <location filename="../qml/dialogs/ImagePackSettingsDialog.qml" line="+22"/>
+        <source>Image pack settings</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+151"/>
+        <source>Private pack</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Pack from this room</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Globally enabled pack</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+59"/>
+        <source>Enable globally</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Enables this pack to be used in all rooms</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+62"/>
+        <source>Close</source>
+        <translation type="unfinished">Chiudi</translation>
+    </message>
+</context>
+<context>
     <name>InputBar</name>
     <message>
-        <location filename="../../src/timeline/InputBar.cpp" line="+233"/>
+        <location filename="../../src/timeline/InputBar.cpp" line="+234"/>
         <source>Select a file</source>
         <translation type="unfinished">Seleziona un file</translation>
     </message>
@@ -617,17 +655,43 @@
         <translation type="unfinished">Tutti i File (*)</translation>
     </message>
     <message>
-        <location line="+417"/>
+        <location line="+442"/>
         <source>Failed to upload media. Please try again.</source>
         <translation type="unfinished">Impossibile inviare il file multimediale. Per favore riprova.</translation>
     </message>
 </context>
 <context>
-    <name>InviteeItem</name>
+    <name>InviteDialog</name>
+    <message>
+        <location filename="../qml/InviteDialog.qml" line="+32"/>
+        <source>Invite users to %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+24"/>
+        <source>User ID to invite</source>
+        <translation type="unfinished">ID utente da invitare</translation>
+    </message>
+    <message>
+        <location line="+14"/>
+        <source>@joe:matrix.org</source>
+        <comment>Example user id. The name &apos;joe&apos; can be localized however you want.</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+17"/>
+        <source>Add</source>
+        <translation type="unfinished"></translation>
+    </message>
     <message>
-        <location filename="../../src/InviteeItem.cpp" line="+22"/>
-        <source>Remove</source>
-        <translation>Rimuovi</translation>
+        <location line="+58"/>
+        <source>Invite</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+7"/>
+        <source>Cancel</source>
+        <translation type="unfinished">Annulla</translation>
     </message>
 </context>
 <context>
@@ -745,22 +809,9 @@ Esempio: https://server.mio:8787</translation>
     </message>
 </context>
 <context>
-    <name>MemberList</name>
-    <message>
-        <location filename="../../src/dialogs/MemberList.cpp" line="+94"/>
-        <source>Room members</source>
-        <translation>Membri della stanza</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>OK</source>
-        <translation>OK</translation>
-    </message>
-</context>
-<context>
     <name>MessageDelegate</name>
     <message>
-        <location filename="../qml/delegates/MessageDelegate.qml" line="+110"/>
+        <location filename="../qml/delegates/MessageDelegate.qml" line="+169"/>
         <location line="+9"/>
         <source>removed</source>
         <translation>rimosso</translation>
@@ -771,7 +822,7 @@ Esempio: https://server.mio:8787</translation>
         <translation>Crittografia abilitata</translation>
     </message>
     <message>
-        <location line="+9"/>
+        <location line="+12"/>
         <source>room name changed to: %1</source>
         <translation>nome della stanza cambiato in: %1</translation>
     </message>
@@ -781,7 +832,7 @@ Esempio: https://server.mio:8787</translation>
         <translation>nome della stanza rimosso</translation>
     </message>
     <message>
-        <location line="+9"/>
+        <location line="+12"/>
         <source>topic changed to: %1</source>
         <translation>argomento cambiato in: %1</translation>
     </message>
@@ -791,17 +842,17 @@ Esempio: https://server.mio:8787</translation>
         <translation>argomento rimosso</translation>
     </message>
     <message>
-        <location line="+9"/>
+        <location line="+12"/>
         <source>%1 changed the room avatar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+8"/>
+        <location line="+12"/>
         <source>%1 created and configured room: %2</source>
         <translation>%1 creato e configurata stanza: %2</translation>
     </message>
     <message>
-        <location line="+12"/>
+        <location line="+15"/>
         <source>%1 placed a voice call.</source>
         <translation>%1 ha avviato una chiamata audio.</translation>
     </message>
@@ -816,17 +867,17 @@ Esempio: https://server.mio:8787</translation>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+11"/>
+        <location line="+14"/>
         <source>%1 answered the call.</source>
         <translation>%1 ha risposto alla chiamata.</translation>
     </message>
     <message>
-        <location line="+9"/>
+        <location line="+12"/>
         <source>%1 ended the call.</source>
         <translation>%1 ha terminato la chiamata.</translation>
     </message>
     <message>
-        <location line="+9"/>
+        <location line="+12"/>
         <source>Negotiating call...</source>
         <translation type="unfinished"></translation>
     </message>
@@ -834,7 +885,7 @@ Esempio: https://server.mio:8787</translation>
 <context>
     <name>MessageInput</name>
     <message>
-        <location filename="../qml/MessageInput.qml" line="+43"/>
+        <location filename="../qml/MessageInput.qml" line="+44"/>
         <source>Hang up</source>
         <translation>Termina</translation>
     </message>
@@ -855,6 +906,11 @@ Esempio: https://server.mio:8787</translation>
     </message>
     <message>
         <location line="+214"/>
+        <source>Stickers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+24"/>
         <source>Emoji</source>
         <translation type="unfinished">Emoji</translation>
     </message>
@@ -872,17 +928,17 @@ Esempio: https://server.mio:8787</translation>
 <context>
     <name>MessageView</name>
     <message>
-        <location filename="../qml/MessageView.qml" line="+83"/>
+        <location filename="../qml/MessageView.qml" line="+87"/>
         <source>Edit</source>
         <translation>Modifica</translation>
     </message>
     <message>
-        <location line="+15"/>
+        <location line="+16"/>
         <source>React</source>
         <translation>Reagisci</translation>
     </message>
     <message>
-        <location line="+13"/>
+        <location line="+16"/>
         <source>Reply</source>
         <translation type="unfinished">Risposta</translation>
     </message>
@@ -892,7 +948,7 @@ Esempio: https://server.mio:8787</translation>
         <translation type="unfinished">Opzioni</translation>
     </message>
     <message>
-        <location line="+329"/>
+        <location line="+405"/>
         <source>&amp;Copy</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1101,7 +1157,7 @@ Verificare %1 adesso?</translation>
 <context>
     <name>Placeholder</name>
     <message>
-        <location filename="../qml/delegates/Placeholder.qml" line="+9"/>
+        <location filename="../qml/delegates/Placeholder.qml" line="+11"/>
         <source>unimplemented event: </source>
         <translation>evento non implementato: </translation>
     </message>
@@ -1221,7 +1277,7 @@ Verificare %1 adesso?</translation>
 <context>
     <name>ReplyPopup</name>
     <message>
-        <location filename="../qml/ReplyPopup.qml" line="+47"/>
+        <location filename="../qml/ReplyPopup.qml" line="+62"/>
         <source>Close</source>
         <translation>Chiudi</translation>
     </message>
@@ -1234,7 +1290,7 @@ Verificare %1 adesso?</translation>
 <context>
     <name>RoomInfo</name>
     <message>
-        <location filename="../../src/Cache.cpp" line="+4009"/>
+        <location filename="../../src/Cache.cpp" line="+4180"/>
         <source>no version stored</source>
         <translation>nessuna versione memorizzata</translation>
     </message>
@@ -1242,7 +1298,7 @@ Verificare %1 adesso?</translation>
 <context>
     <name>RoomList</name>
     <message>
-        <location filename="../qml/RoomList.qml" line="+56"/>
+        <location filename="../qml/RoomList.qml" line="+57"/>
         <source>New tag</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1252,6 +1308,16 @@ Verificare %1 adesso?</translation>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+9"/>
+        <source>Leave Room</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>Are you sure you want to leave this room?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <location line="+7"/>
         <source>Leave room</source>
         <translation type="unfinished">Lascia la stanza</translation>
@@ -1282,17 +1348,7 @@ Verificare %1 adesso?</translation>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+222"/>
-        <source>Accept</source>
-        <translation type="unfinished">Accetta</translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>Decline</source>
-        <translation type="unfinished">Rifiuta</translation>
-    </message>
-    <message>
-        <location line="+68"/>
+        <location line="+268"/>
         <source>Status Message</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1343,19 +1399,41 @@ Verificare %1 adesso?</translation>
     </message>
 </context>
 <context>
+    <name>RoomMembers</name>
+    <message>
+        <location filename="../qml/RoomMembers.qml" line="+17"/>
+        <source>Members of %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message numerus="yes">
+        <location line="+32"/>
+        <source>%n people in %1</source>
+        <comment>Summary above list of members</comment>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+            <numerusform></numerusform>
+        </translation>
+    </message>
+    <message>
+        <location line="+10"/>
+        <source>Invite more people</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>RoomSettings</name>
     <message>
-        <location filename="../qml/RoomSettings.qml" line="+25"/>
+        <location filename="../qml/RoomSettings.qml" line="+26"/>
         <source>Room Settings</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+79"/>
+        <location line="+80"/>
         <source>%1 member(s)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+43"/>
+        <location line="+55"/>
         <source>SETTINGS</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1411,19 +1489,22 @@ Verificare %1 adesso?</translation>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+17"/>
-        <source>Respond to key requests</source>
+        <location line="+16"/>
+        <source>Sticker &amp; Emote Settings</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+5"/>
-        <source>Whether or not the client should respond automatically with the session keys
-                                upon request. Use with caution, this is a temporary measure to test the
-                                E2E implementation until device verification is completed.</source>
+        <location line="+4"/>
+        <source>Change</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+21"/>
+        <location line="+1"/>
+        <source>Change what packs are enabled, remove packs or create new ones</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+16"/>
         <source>INFO</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1438,12 +1519,7 @@ Verificare %1 adesso?</translation>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+13"/>
-        <source>OK</source>
-        <translation type="unfinished">OK</translation>
-    </message>
-    <message>
-        <location filename="../../src/ui/RoomSettings.cpp" line="+268"/>
+        <location filename="../../src/ui/RoomSettings.cpp" line="+255"/>
         <source>Failed to enable encryption: %1</source>
         <translation type="unfinished">Impossibile abilitare la crittografia: %1</translation>
     </message>
@@ -1475,6 +1551,24 @@ Verificare %1 adesso?</translation>
     </message>
 </context>
 <context>
+    <name>RoomlistModel</name>
+    <message>
+        <location filename="../../src/timeline/RoomlistModel.cpp" line="+143"/>
+        <source>Pending invite.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+30"/>
+        <source>Previewing this room</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+34"/>
+        <source>No preview available</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>ScreenShare</name>
     <message>
         <location filename="../qml/voip/ScreenShare.qml" line="+30"/>
@@ -1531,7 +1625,7 @@ Verificare %1 adesso?</translation>
 <context>
     <name>StatusIndicator</name>
     <message>
-        <location filename="../qml/StatusIndicator.qml" line="+21"/>
+        <location filename="../qml/StatusIndicator.qml" line="+24"/>
         <source>Failed</source>
         <translation>Fallito</translation>
     </message>
@@ -1552,6 +1646,14 @@ Verificare %1 adesso?</translation>
     </message>
 </context>
 <context>
+    <name>StickerPicker</name>
+    <message>
+        <location filename="../qml/emoji/StickerPicker.qml" line="+70"/>
+        <source>Search</source>
+        <translation type="unfinished">Cerca</translation>
+    </message>
+</context>
+<context>
     <name>Success</name>
     <message>
         <location filename="../qml/device-verification/Success.qml" line="+11"/>
@@ -1572,7 +1674,7 @@ Verificare %1 adesso?</translation>
 <context>
     <name>TimelineModel</name>
     <message>
-        <location filename="../../src/timeline/TimelineModel.cpp" line="+1095"/>
+        <location filename="../../src/timeline/TimelineModel.cpp" line="+1107"/>
         <source>Message redaction failed: %1</source>
         <translation>Oscuramento del messaggio fallito: %1</translation>
     </message>
@@ -1583,7 +1685,7 @@ Verificare %1 adesso?</translation>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+164"/>
+        <location line="+173"/>
         <source>Save image</source>
         <translation>Salva immagine</translation>
     </message>
@@ -1717,12 +1819,12 @@ Verificare %1 adesso?</translation>
         <translation>%1 ha oscurato la sua bussata.</translation>
     </message>
     <message>
-        <location line="-883"/>
+        <location line="-884"/>
         <source>You joined this room.</source>
         <translation>Sei entrato in questa stanza.</translation>
     </message>
     <message>
-        <location line="+849"/>
+        <location line="+850"/>
         <source>%1 has changed their avatar and changed their display name to %2.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1751,7 +1853,7 @@ Verificare %1 adesso?</translation>
 <context>
     <name>TimelineRow</name>
     <message>
-        <location filename="../qml/TimelineRow.qml" line="+106"/>
+        <location filename="../qml/TimelineRow.qml" line="+180"/>
         <source>Edited</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1759,17 +1861,32 @@ Verificare %1 adesso?</translation>
 <context>
     <name>TimelineView</name>
     <message>
-        <location filename="../qml/TimelineView.qml" line="+27"/>
+        <location filename="../qml/TimelineView.qml" line="+30"/>
         <source>No room open</source>
         <translation>Nessuna stanza aperta</translation>
     </message>
     <message>
-        <location line="+127"/>
+        <location line="+139"/>
         <source>%1 member(s)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+46"/>
+        <location line="+33"/>
+        <source>join the conversation</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+7"/>
+        <source>accept invite</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+7"/>
+        <source>decline invite</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+27"/>
         <source>Back to room list</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1777,7 +1894,7 @@ Verificare %1 adesso?</translation>
 <context>
     <name>TimelineViewManager</name>
     <message>
-        <location filename="../../src/timeline/TimelineViewManager.cpp" line="+461"/>
+        <location filename="../../src/timeline/TimelineViewManager.cpp" line="+527"/>
         <source>No encrypted private chat found with this user. Create an encrypted private chat with this user and try again.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1785,18 +1902,17 @@ Verificare %1 adesso?</translation>
 <context>
     <name>TopBar</name>
     <message>
-        <location filename="../qml/TopBar.qml" line="+51"/>
+        <location filename="../qml/TopBar.qml" line="+54"/>
         <source>Back to room list</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+12"/>
-        <location line="+10"/>
+        <location line="-39"/>
         <source>No room selected</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+24"/>
+        <location line="+90"/>
         <source>Room options</source>
         <translation type="unfinished">Opzioni della stanza</translation>
     </message>
@@ -1837,7 +1953,7 @@ Verificare %1 adesso?</translation>
 <context>
     <name>UserProfile</name>
     <message>
-        <location filename="../qml/UserProfile.qml" line="+24"/>
+        <location filename="../qml/UserProfile.qml" line="+25"/>
         <source>Global User Profile</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1847,7 +1963,7 @@ Verificare %1 adesso?</translation>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+114"/>
+        <location line="+115"/>
         <location line="+107"/>
         <source>Verify</source>
         <translation type="unfinished"></translation>
@@ -1896,7 +2012,7 @@ Verificare %1 adesso?</translation>
 <context>
     <name>UserSettings</name>
     <message>
-        <location filename="../../src/UserSettingsPage.cpp" line="+362"/>
+        <location filename="../../src/UserSettingsPage.cpp" line="+363"/>
         <location filename="../../src/UserSettingsPage.h" line="+194"/>
         <source>Default</source>
         <translation type="unfinished"></translation>
@@ -1905,7 +2021,7 @@ Verificare %1 adesso?</translation>
 <context>
     <name>UserSettingsPage</name>
     <message>
-        <location line="+524"/>
+        <location line="+525"/>
         <source>Minimize to tray</source>
         <translation>Minimizza nella tray</translation>
     </message>
@@ -2351,7 +2467,7 @@ This usually causes the application icon in the task bar to animate in some fash
 <context>
     <name>Waiting</name>
     <message>
-        <location filename="../qml/device-verification/Waiting.qml" line="+11"/>
+        <location filename="../qml/device-verification/Waiting.qml" line="+12"/>
         <source>Waiting for other party…</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2402,7 +2518,7 @@ This usually causes the application icon in the task bar to animate in some fash
 <context>
     <name>descriptiveTime</name>
     <message>
-        <location filename="../../src/Utils.cpp" line="+207"/>
+        <location filename="../../src/Utils.cpp" line="+184"/>
         <source>Yesterday</source>
         <translation>Ieri</translation>
     </message>
@@ -2474,19 +2590,6 @@ This usually causes the application icon in the task bar to animate in some fash
     </message>
 </context>
 <context>
-    <name>dialogs::InviteUsers</name>
-    <message>
-        <location filename="../../src/dialogs/InviteUsers.cpp" line="+46"/>
-        <source>Cancel</source>
-        <translation>Annulla</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>User ID to invite</source>
-        <translation>ID utente da invitare</translation>
-    </message>
-</context>
-<context>
     <name>dialogs::JoinRoom</name>
     <message>
         <location filename="../../src/dialogs/JoinRoom.cpp" line="+34"/>
@@ -2599,7 +2702,7 @@ Peso media: %2
 <context>
     <name>message-description sent:</name>
     <message>
-        <location filename="../../src/Utils.h" line="+124"/>
+        <location filename="../../src/Utils.h" line="+115"/>
         <source>You sent an audio clip</source>
         <translation>Hai inviato una clip audio</translation>
     </message>
diff --git a/resources/langs/nheko_ja.ts b/resources/langs/nheko_ja.ts
index c7872ce0..1ec862b0 100644
--- a/resources/langs/nheko_ja.ts
+++ b/resources/langs/nheko_ja.ts
@@ -38,7 +38,7 @@
 <context>
     <name>AwaitingVerificationConfirmation</name>
     <message>
-        <location filename="../qml/device-verification/AwaitingVerificationConfirmation.qml" line="+11"/>
+        <location filename="../qml/device-verification/AwaitingVerificationConfirmation.qml" line="+12"/>
         <source>Awaiting Confirmation</source>
         <translation type="unfinished"></translation>
     </message>
@@ -48,7 +48,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+12"/>
+        <location line="+13"/>
         <source>Cancel</source>
         <translation type="unfinished">キャンセル</translation>
     </message>
@@ -125,7 +125,7 @@
 <context>
     <name>ChatPage</name>
     <message>
-        <location filename="../../src/ChatPage.cpp" line="+133"/>
+        <location filename="../../src/ChatPage.cpp" line="+135"/>
         <source>Failed to invite user: %1</source>
         <translation>ユーザーを招待できませんでした: %1</translation>
     </message>
@@ -157,12 +157,12 @@
     </message>
     <message>
         <location line="+34"/>
-        <location line="+280"/>
+        <location line="+286"/>
         <source>Confirm invite</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-279"/>
+        <location line="-285"/>
         <source>Do you really want to invite %1 (%2)?</source>
         <translation type="unfinished"></translation>
     </message>
@@ -227,12 +227,12 @@
         <translation>永久追放を解除されたユーザー: %1</translation>
     </message>
     <message>
-        <location line="+183"/>
+        <location line="+189"/>
         <source>Do you really want to start a private chat with %1?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-721"/>
+        <location line="-727"/>
         <source>Cache migration failed!</source>
         <translation type="unfinished"></translation>
     </message>
@@ -352,7 +352,7 @@
 <context>
     <name>CrossSigningSecrets</name>
     <message>
-        <location filename="../../src/ChatPage.cpp" line="+183"/>
+        <location filename="../../src/ChatPage.cpp" line="+189"/>
         <source>Decrypt secrets</source>
         <translation type="unfinished"></translation>
     </message>
@@ -426,12 +426,12 @@
 <context>
     <name>EmojiPicker</name>
     <message>
-        <location filename="../qml/emoji/EmojiPicker.qml" line="+59"/>
+        <location filename="../qml/emoji/EmojiPicker.qml" line="+68"/>
         <source>Search</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+172"/>
+        <location line="+186"/>
         <source>People</source>
         <translation type="unfinished"></translation>
     </message>
@@ -605,9 +605,47 @@
     </message>
 </context>
 <context>
+    <name>ImagePackSettingsDialog</name>
+    <message>
+        <location filename="../qml/dialogs/ImagePackSettingsDialog.qml" line="+22"/>
+        <source>Image pack settings</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+151"/>
+        <source>Private pack</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Pack from this room</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Globally enabled pack</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+59"/>
+        <source>Enable globally</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Enables this pack to be used in all rooms</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+62"/>
+        <source>Close</source>
+        <translation type="unfinished">閉じる</translation>
+    </message>
+</context>
+<context>
     <name>InputBar</name>
     <message>
-        <location filename="../../src/timeline/InputBar.cpp" line="+233"/>
+        <location filename="../../src/timeline/InputBar.cpp" line="+234"/>
         <source>Select a file</source>
         <translation type="unfinished">ファイルを選択</translation>
     </message>
@@ -617,17 +655,43 @@
         <translation type="unfinished">全てのファイル (*)</translation>
     </message>
     <message>
-        <location line="+417"/>
+        <location line="+442"/>
         <source>Failed to upload media. Please try again.</source>
         <translation type="unfinished">メディアをアップロードできませんでした。やり直して下さい。</translation>
     </message>
 </context>
 <context>
-    <name>InviteeItem</name>
+    <name>InviteDialog</name>
+    <message>
+        <location filename="../qml/InviteDialog.qml" line="+32"/>
+        <source>Invite users to %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+24"/>
+        <source>User ID to invite</source>
+        <translation type="unfinished">招待するユーザーのID</translation>
+    </message>
+    <message>
+        <location line="+14"/>
+        <source>@joe:matrix.org</source>
+        <comment>Example user id. The name &apos;joe&apos; can be localized however you want.</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+17"/>
+        <source>Add</source>
+        <translation type="unfinished"></translation>
+    </message>
     <message>
-        <location filename="../../src/InviteeItem.cpp" line="+22"/>
-        <source>Remove</source>
-        <translation>削除</translation>
+        <location line="+58"/>
+        <source>Invite</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+7"/>
+        <source>Cancel</source>
+        <translation type="unfinished">キャンセル</translation>
     </message>
 </context>
 <context>
@@ -741,22 +805,9 @@ Example: https://server.my:8787</source>
     </message>
 </context>
 <context>
-    <name>MemberList</name>
-    <message>
-        <location filename="../../src/dialogs/MemberList.cpp" line="+94"/>
-        <source>Room members</source>
-        <translation>部屋の参加者</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>OK</source>
-        <translation>OK</translation>
-    </message>
-</context>
-<context>
     <name>MessageDelegate</name>
     <message>
-        <location filename="../qml/delegates/MessageDelegate.qml" line="+110"/>
+        <location filename="../qml/delegates/MessageDelegate.qml" line="+169"/>
         <location line="+9"/>
         <source>removed</source>
         <translation type="unfinished"></translation>
@@ -767,7 +818,7 @@ Example: https://server.my:8787</source>
         <translation>暗号化が有効です</translation>
     </message>
     <message>
-        <location line="+9"/>
+        <location line="+12"/>
         <source>room name changed to: %1</source>
         <translation>部屋名が変更されました: %1</translation>
     </message>
@@ -777,7 +828,7 @@ Example: https://server.my:8787</source>
         <translation>部屋名が削除されました</translation>
     </message>
     <message>
-        <location line="+9"/>
+        <location line="+12"/>
         <source>topic changed to: %1</source>
         <translation>話題が変更されました: %1</translation>
     </message>
@@ -787,17 +838,17 @@ Example: https://server.my:8787</source>
         <translation>話題が削除されました</translation>
     </message>
     <message>
-        <location line="+9"/>
+        <location line="+12"/>
         <source>%1 changed the room avatar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+8"/>
+        <location line="+12"/>
         <source>%1 created and configured room: %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+12"/>
+        <location line="+15"/>
         <source>%1 placed a voice call.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -812,17 +863,17 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+11"/>
+        <location line="+14"/>
         <source>%1 answered the call.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+9"/>
+        <location line="+12"/>
         <source>%1 ended the call.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+9"/>
+        <location line="+12"/>
         <source>Negotiating call...</source>
         <translation type="unfinished"></translation>
     </message>
@@ -830,7 +881,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>MessageInput</name>
     <message>
-        <location filename="../qml/MessageInput.qml" line="+43"/>
+        <location filename="../qml/MessageInput.qml" line="+44"/>
         <source>Hang up</source>
         <translation type="unfinished"></translation>
     </message>
@@ -851,6 +902,11 @@ Example: https://server.my:8787</source>
     </message>
     <message>
         <location line="+214"/>
+        <source>Stickers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+24"/>
         <source>Emoji</source>
         <translation type="unfinished">絵文字</translation>
     </message>
@@ -868,17 +924,17 @@ Example: https://server.my:8787</source>
 <context>
     <name>MessageView</name>
     <message>
-        <location filename="../qml/MessageView.qml" line="+83"/>
+        <location filename="../qml/MessageView.qml" line="+87"/>
         <source>Edit</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+15"/>
+        <location line="+16"/>
         <source>React</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+13"/>
+        <location line="+16"/>
         <source>Reply</source>
         <translation type="unfinished">返信</translation>
     </message>
@@ -888,7 +944,7 @@ Example: https://server.my:8787</source>
         <translation type="unfinished">オプション</translation>
     </message>
     <message>
-        <location line="+329"/>
+        <location line="+405"/>
         <source>&amp;Copy</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1096,7 +1152,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>Placeholder</name>
     <message>
-        <location filename="../qml/delegates/Placeholder.qml" line="+9"/>
+        <location filename="../qml/delegates/Placeholder.qml" line="+11"/>
         <source>unimplemented event: </source>
         <translation>未実装のイベント: </translation>
     </message>
@@ -1216,7 +1272,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>ReplyPopup</name>
     <message>
-        <location filename="../qml/ReplyPopup.qml" line="+47"/>
+        <location filename="../qml/ReplyPopup.qml" line="+62"/>
         <source>Close</source>
         <translation type="unfinished">閉じる</translation>
     </message>
@@ -1229,7 +1285,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>RoomInfo</name>
     <message>
-        <location filename="../../src/Cache.cpp" line="+4009"/>
+        <location filename="../../src/Cache.cpp" line="+4180"/>
         <source>no version stored</source>
         <translation>バージョンが保存されていません</translation>
     </message>
@@ -1237,7 +1293,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>RoomList</name>
     <message>
-        <location filename="../qml/RoomList.qml" line="+56"/>
+        <location filename="../qml/RoomList.qml" line="+57"/>
         <source>New tag</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1247,6 +1303,16 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+9"/>
+        <source>Leave Room</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>Are you sure you want to leave this room?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <location line="+7"/>
         <source>Leave room</source>
         <translation type="unfinished">部屋を出る</translation>
@@ -1277,17 +1343,7 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+222"/>
-        <source>Accept</source>
-        <translation type="unfinished">容認</translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>Decline</source>
-        <translation type="unfinished">拒否</translation>
-    </message>
-    <message>
-        <location line="+68"/>
+        <location line="+268"/>
         <source>Status Message</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1338,19 +1394,40 @@ Example: https://server.my:8787</source>
     </message>
 </context>
 <context>
+    <name>RoomMembers</name>
+    <message>
+        <location filename="../qml/RoomMembers.qml" line="+17"/>
+        <source>Members of %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message numerus="yes">
+        <location line="+32"/>
+        <source>%n people in %1</source>
+        <comment>Summary above list of members</comment>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+        </translation>
+    </message>
+    <message>
+        <location line="+10"/>
+        <source>Invite more people</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>RoomSettings</name>
     <message>
-        <location filename="../qml/RoomSettings.qml" line="+25"/>
+        <location filename="../qml/RoomSettings.qml" line="+26"/>
         <source>Room Settings</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+79"/>
+        <location line="+80"/>
         <source>%1 member(s)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+43"/>
+        <location line="+55"/>
         <source>SETTINGS</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1406,19 +1483,22 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+17"/>
-        <source>Respond to key requests</source>
+        <location line="+16"/>
+        <source>Sticker &amp; Emote Settings</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+5"/>
-        <source>Whether or not the client should respond automatically with the session keys
-                                upon request. Use with caution, this is a temporary measure to test the
-                                E2E implementation until device verification is completed.</source>
+        <location line="+4"/>
+        <source>Change</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+21"/>
+        <location line="+1"/>
+        <source>Change what packs are enabled, remove packs or create new ones</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+16"/>
         <source>INFO</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1433,12 +1513,7 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+13"/>
-        <source>OK</source>
-        <translation type="unfinished">OK</translation>
-    </message>
-    <message>
-        <location filename="../../src/ui/RoomSettings.cpp" line="+268"/>
+        <location filename="../../src/ui/RoomSettings.cpp" line="+255"/>
         <source>Failed to enable encryption: %1</source>
         <translation type="unfinished">暗号化を有効にできませんでした: %1</translation>
     </message>
@@ -1470,6 +1545,24 @@ Example: https://server.my:8787</source>
     </message>
 </context>
 <context>
+    <name>RoomlistModel</name>
+    <message>
+        <location filename="../../src/timeline/RoomlistModel.cpp" line="+143"/>
+        <source>Pending invite.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+30"/>
+        <source>Previewing this room</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+34"/>
+        <source>No preview available</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>ScreenShare</name>
     <message>
         <location filename="../qml/voip/ScreenShare.qml" line="+30"/>
@@ -1526,7 +1619,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>StatusIndicator</name>
     <message>
-        <location filename="../qml/StatusIndicator.qml" line="+21"/>
+        <location filename="../qml/StatusIndicator.qml" line="+24"/>
         <source>Failed</source>
         <translation>失敗</translation>
     </message>
@@ -1547,6 +1640,14 @@ Example: https://server.my:8787</source>
     </message>
 </context>
 <context>
+    <name>StickerPicker</name>
+    <message>
+        <location filename="../qml/emoji/StickerPicker.qml" line="+70"/>
+        <source>Search</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>Success</name>
     <message>
         <location filename="../qml/device-verification/Success.qml" line="+11"/>
@@ -1567,7 +1668,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>TimelineModel</name>
     <message>
-        <location filename="../../src/timeline/TimelineModel.cpp" line="+1095"/>
+        <location filename="../../src/timeline/TimelineModel.cpp" line="+1107"/>
         <source>Message redaction failed: %1</source>
         <translation>メッセージを編集できませんでした: %1</translation>
     </message>
@@ -1578,7 +1679,7 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+164"/>
+        <location line="+173"/>
         <source>Save image</source>
         <translation>画像を保存</translation>
     </message>
@@ -1711,12 +1812,12 @@ Example: https://server.my:8787</source>
         <translation>%1がノックを編集しました。</translation>
     </message>
     <message>
-        <location line="-883"/>
+        <location line="-884"/>
         <source>You joined this room.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+849"/>
+        <location line="+850"/>
         <source>%1 has changed their avatar and changed their display name to %2.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1745,7 +1846,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>TimelineRow</name>
     <message>
-        <location filename="../qml/TimelineRow.qml" line="+106"/>
+        <location filename="../qml/TimelineRow.qml" line="+180"/>
         <source>Edited</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1753,17 +1854,32 @@ Example: https://server.my:8787</source>
 <context>
     <name>TimelineView</name>
     <message>
-        <location filename="../qml/TimelineView.qml" line="+27"/>
+        <location filename="../qml/TimelineView.qml" line="+30"/>
         <source>No room open</source>
         <translation>部屋が開いていません</translation>
     </message>
     <message>
-        <location line="+127"/>
+        <location line="+139"/>
         <source>%1 member(s)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+46"/>
+        <location line="+33"/>
+        <source>join the conversation</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+7"/>
+        <source>accept invite</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+7"/>
+        <source>decline invite</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+27"/>
         <source>Back to room list</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1771,7 +1887,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>TimelineViewManager</name>
     <message>
-        <location filename="../../src/timeline/TimelineViewManager.cpp" line="+461"/>
+        <location filename="../../src/timeline/TimelineViewManager.cpp" line="+527"/>
         <source>No encrypted private chat found with this user. Create an encrypted private chat with this user and try again.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1779,18 +1895,17 @@ Example: https://server.my:8787</source>
 <context>
     <name>TopBar</name>
     <message>
-        <location filename="../qml/TopBar.qml" line="+51"/>
+        <location filename="../qml/TopBar.qml" line="+54"/>
         <source>Back to room list</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+12"/>
-        <location line="+10"/>
+        <location line="-39"/>
         <source>No room selected</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+24"/>
+        <location line="+90"/>
         <source>Room options</source>
         <translation type="unfinished">部屋のオプション</translation>
     </message>
@@ -1831,7 +1946,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>UserProfile</name>
     <message>
-        <location filename="../qml/UserProfile.qml" line="+24"/>
+        <location filename="../qml/UserProfile.qml" line="+25"/>
         <source>Global User Profile</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1841,7 +1956,7 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+114"/>
+        <location line="+115"/>
         <location line="+107"/>
         <source>Verify</source>
         <translation type="unfinished"></translation>
@@ -1890,7 +2005,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>UserSettings</name>
     <message>
-        <location filename="../../src/UserSettingsPage.cpp" line="+362"/>
+        <location filename="../../src/UserSettingsPage.cpp" line="+363"/>
         <location filename="../../src/UserSettingsPage.h" line="+194"/>
         <source>Default</source>
         <translation type="unfinished"></translation>
@@ -1899,7 +2014,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>UserSettingsPage</name>
     <message>
-        <location line="+524"/>
+        <location line="+525"/>
         <source>Minimize to tray</source>
         <translation>トレイへ最小化</translation>
     </message>
@@ -2345,7 +2460,7 @@ This usually causes the application icon in the task bar to animate in some fash
 <context>
     <name>Waiting</name>
     <message>
-        <location filename="../qml/device-verification/Waiting.qml" line="+11"/>
+        <location filename="../qml/device-verification/Waiting.qml" line="+12"/>
         <source>Waiting for other party…</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2396,7 +2511,7 @@ This usually causes the application icon in the task bar to animate in some fash
 <context>
     <name>descriptiveTime</name>
     <message>
-        <location filename="../../src/Utils.cpp" line="+207"/>
+        <location filename="../../src/Utils.cpp" line="+184"/>
         <source>Yesterday</source>
         <translation>昨日</translation>
     </message>
@@ -2468,19 +2583,6 @@ This usually causes the application icon in the task bar to animate in some fash
     </message>
 </context>
 <context>
-    <name>dialogs::InviteUsers</name>
-    <message>
-        <location filename="../../src/dialogs/InviteUsers.cpp" line="+46"/>
-        <source>Cancel</source>
-        <translation>キャンセル</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>User ID to invite</source>
-        <translation>招待するユーザーのID</translation>
-    </message>
-</context>
-<context>
     <name>dialogs::JoinRoom</name>
     <message>
         <location filename="../../src/dialogs/JoinRoom.cpp" line="+34"/>
@@ -2593,7 +2695,7 @@ Media size: %2
 <context>
     <name>message-description sent:</name>
     <message>
-        <location filename="../../src/Utils.h" line="+124"/>
+        <location filename="../../src/Utils.h" line="+115"/>
         <source>You sent an audio clip</source>
         <translation>音声データを送信しました</translation>
     </message>
diff --git a/resources/langs/nheko_ml.ts b/resources/langs/nheko_ml.ts
index 0bdf3b63..011107c2 100644
--- a/resources/langs/nheko_ml.ts
+++ b/resources/langs/nheko_ml.ts
@@ -38,7 +38,7 @@
 <context>
     <name>AwaitingVerificationConfirmation</name>
     <message>
-        <location filename="../qml/device-verification/AwaitingVerificationConfirmation.qml" line="+11"/>
+        <location filename="../qml/device-verification/AwaitingVerificationConfirmation.qml" line="+12"/>
         <source>Awaiting Confirmation</source>
         <translation>സ്ഥിരീകരണത്തിനായി കാത്തിരിക്കുന്നു</translation>
     </message>
@@ -48,7 +48,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+12"/>
+        <location line="+13"/>
         <source>Cancel</source>
         <translation>റദ്ദാക്കു</translation>
     </message>
@@ -125,7 +125,7 @@
 <context>
     <name>ChatPage</name>
     <message>
-        <location filename="../../src/ChatPage.cpp" line="+133"/>
+        <location filename="../../src/ChatPage.cpp" line="+135"/>
         <source>Failed to invite user: %1</source>
         <translation>ഉപയോക്താവിനെ ക്ഷണിക്കുന്നതിൽ പരാജയപ്പെട്ടു: %1</translation>
     </message>
@@ -157,12 +157,12 @@
     </message>
     <message>
         <location line="+34"/>
-        <location line="+280"/>
+        <location line="+286"/>
         <source>Confirm invite</source>
         <translation>ക്ഷണം ഉറപ്പാക്കു</translation>
     </message>
     <message>
-        <location line="-279"/>
+        <location line="-285"/>
         <source>Do you really want to invite %1 (%2)?</source>
         <translation type="unfinished"></translation>
     </message>
@@ -227,12 +227,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+183"/>
+        <location line="+189"/>
         <source>Do you really want to start a private chat with %1?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-721"/>
+        <location line="-727"/>
         <source>Cache migration failed!</source>
         <translation type="unfinished"></translation>
     </message>
@@ -352,7 +352,7 @@
 <context>
     <name>CrossSigningSecrets</name>
     <message>
-        <location filename="../../src/ChatPage.cpp" line="+183"/>
+        <location filename="../../src/ChatPage.cpp" line="+189"/>
         <source>Decrypt secrets</source>
         <translation type="unfinished"></translation>
     </message>
@@ -426,12 +426,12 @@
 <context>
     <name>EmojiPicker</name>
     <message>
-        <location filename="../qml/emoji/EmojiPicker.qml" line="+59"/>
+        <location filename="../qml/emoji/EmojiPicker.qml" line="+68"/>
         <source>Search</source>
         <translation>തിരയുക</translation>
     </message>
     <message>
-        <location line="+172"/>
+        <location line="+186"/>
         <source>People</source>
         <translation>ആളുകൾ</translation>
     </message>
@@ -605,9 +605,47 @@
     </message>
 </context>
 <context>
+    <name>ImagePackSettingsDialog</name>
+    <message>
+        <location filename="../qml/dialogs/ImagePackSettingsDialog.qml" line="+22"/>
+        <source>Image pack settings</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+151"/>
+        <source>Private pack</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Pack from this room</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Globally enabled pack</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+59"/>
+        <source>Enable globally</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Enables this pack to be used in all rooms</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+62"/>
+        <source>Close</source>
+        <translation type="unfinished">അടയ്‌ക്കുക</translation>
+    </message>
+</context>
+<context>
     <name>InputBar</name>
     <message>
-        <location filename="../../src/timeline/InputBar.cpp" line="+233"/>
+        <location filename="../../src/timeline/InputBar.cpp" line="+234"/>
         <source>Select a file</source>
         <translation>ഒരു ഫയൽ തിരഞ്ഞെടുക്കുക</translation>
     </message>
@@ -617,17 +655,43 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+417"/>
+        <location line="+442"/>
         <source>Failed to upload media. Please try again.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>InviteeItem</name>
+    <name>InviteDialog</name>
+    <message>
+        <location filename="../qml/InviteDialog.qml" line="+32"/>
+        <source>Invite users to %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+24"/>
+        <source>User ID to invite</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+14"/>
+        <source>@joe:matrix.org</source>
+        <comment>Example user id. The name &apos;joe&apos; can be localized however you want.</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+17"/>
+        <source>Add</source>
+        <translation type="unfinished"></translation>
+    </message>
     <message>
-        <location filename="../../src/InviteeItem.cpp" line="+22"/>
-        <source>Remove</source>
-        <translation>നീക്കംചെയ്യുക</translation>
+        <location line="+58"/>
+        <source>Invite</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+7"/>
+        <source>Cancel</source>
+        <translation type="unfinished">റദ്ദാക്കു</translation>
     </message>
 </context>
 <context>
@@ -741,27 +805,14 @@ Example: https://server.my:8787</source>
     </message>
 </context>
 <context>
-    <name>MemberList</name>
-    <message>
-        <location filename="../../src/dialogs/MemberList.cpp" line="+94"/>
-        <source>Room members</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>OK</source>
-        <translation>ശരി</translation>
-    </message>
-</context>
-<context>
     <name>MessageDelegate</name>
     <message>
-        <location filename="../qml/delegates/MessageDelegate.qml" line="+128"/>
+        <location filename="../qml/delegates/MessageDelegate.qml" line="+187"/>
         <source>Encryption enabled</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+9"/>
+        <location line="+12"/>
         <source>room name changed to: %1</source>
         <translation type="unfinished"></translation>
     </message>
@@ -771,7 +822,7 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+9"/>
+        <location line="+12"/>
         <source>topic changed to: %1</source>
         <translation type="unfinished"></translation>
     </message>
@@ -781,17 +832,17 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+9"/>
+        <location line="+12"/>
         <source>%1 changed the room avatar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+8"/>
+        <location line="+12"/>
         <source>%1 created and configured room: %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+12"/>
+        <location line="+15"/>
         <source>%1 placed a voice call.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -806,23 +857,23 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+29"/>
+        <location line="+38"/>
         <source>Negotiating call...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-18"/>
+        <location line="-24"/>
         <source>%1 answered the call.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-80"/>
+        <location line="-99"/>
         <location line="+9"/>
         <source>removed</source>
         <translation>നീക്കംചെയ്‌തു</translation>
     </message>
     <message>
-        <location line="+80"/>
+        <location line="+102"/>
         <source>%1 ended the call.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -830,7 +881,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>MessageInput</name>
     <message>
-        <location filename="../qml/MessageInput.qml" line="+43"/>
+        <location filename="../qml/MessageInput.qml" line="+44"/>
         <source>Hang up</source>
         <translation type="unfinished"></translation>
     </message>
@@ -851,6 +902,11 @@ Example: https://server.my:8787</source>
     </message>
     <message>
         <location line="+214"/>
+        <source>Stickers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+24"/>
         <source>Emoji</source>
         <translation>ഇമോജി</translation>
     </message>
@@ -868,17 +924,17 @@ Example: https://server.my:8787</source>
 <context>
     <name>MessageView</name>
     <message>
-        <location filename="../qml/MessageView.qml" line="+83"/>
+        <location filename="../qml/MessageView.qml" line="+87"/>
         <source>Edit</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+15"/>
+        <location line="+16"/>
         <source>React</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+13"/>
+        <location line="+16"/>
         <source>Reply</source>
         <translation type="unfinished"></translation>
     </message>
@@ -888,7 +944,7 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+329"/>
+        <location line="+405"/>
         <source>&amp;Copy</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1096,7 +1152,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>Placeholder</name>
     <message>
-        <location filename="../qml/delegates/Placeholder.qml" line="+9"/>
+        <location filename="../qml/delegates/Placeholder.qml" line="+11"/>
         <source>unimplemented event: </source>
         <translation type="unfinished"></translation>
     </message>
@@ -1216,7 +1272,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>ReplyPopup</name>
     <message>
-        <location filename="../qml/ReplyPopup.qml" line="+47"/>
+        <location filename="../qml/ReplyPopup.qml" line="+62"/>
         <source>Close</source>
         <translation type="unfinished">അടയ്‌ക്കുക</translation>
     </message>
@@ -1229,7 +1285,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>RoomInfo</name>
     <message>
-        <location filename="../../src/Cache.cpp" line="+4009"/>
+        <location filename="../../src/Cache.cpp" line="+4180"/>
         <source>no version stored</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1237,7 +1293,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>RoomList</name>
     <message>
-        <location filename="../qml/RoomList.qml" line="+56"/>
+        <location filename="../qml/RoomList.qml" line="+57"/>
         <source>New tag</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1247,6 +1303,16 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+9"/>
+        <source>Leave Room</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>Are you sure you want to leave this room?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <location line="+7"/>
         <source>Leave room</source>
         <translation type="unfinished"></translation>
@@ -1277,17 +1343,7 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+222"/>
-        <source>Accept</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>Decline</source>
-        <translation type="unfinished">നിരസിക്കുക</translation>
-    </message>
-    <message>
-        <location line="+68"/>
+        <location line="+268"/>
         <source>Status Message</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1338,19 +1394,41 @@ Example: https://server.my:8787</source>
     </message>
 </context>
 <context>
+    <name>RoomMembers</name>
+    <message>
+        <location filename="../qml/RoomMembers.qml" line="+17"/>
+        <source>Members of %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message numerus="yes">
+        <location line="+32"/>
+        <source>%n people in %1</source>
+        <comment>Summary above list of members</comment>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+            <numerusform></numerusform>
+        </translation>
+    </message>
+    <message>
+        <location line="+10"/>
+        <source>Invite more people</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>RoomSettings</name>
     <message>
-        <location filename="../qml/RoomSettings.qml" line="+25"/>
+        <location filename="../qml/RoomSettings.qml" line="+26"/>
         <source>Room Settings</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+79"/>
+        <location line="+80"/>
         <source>%1 member(s)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+43"/>
+        <location line="+55"/>
         <source>SETTINGS</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1406,19 +1484,22 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+17"/>
-        <source>Respond to key requests</source>
+        <location line="+16"/>
+        <source>Sticker &amp; Emote Settings</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+5"/>
-        <source>Whether or not the client should respond automatically with the session keys
-                                upon request. Use with caution, this is a temporary measure to test the
-                                E2E implementation until device verification is completed.</source>
+        <location line="+4"/>
+        <source>Change</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+21"/>
+        <location line="+1"/>
+        <source>Change what packs are enabled, remove packs or create new ones</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+16"/>
         <source>INFO</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1433,12 +1514,7 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+13"/>
-        <source>OK</source>
-        <translation type="unfinished">ശരി</translation>
-    </message>
-    <message>
-        <location filename="../../src/ui/RoomSettings.cpp" line="+268"/>
+        <location filename="../../src/ui/RoomSettings.cpp" line="+255"/>
         <source>Failed to enable encryption: %1</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1470,6 +1546,24 @@ Example: https://server.my:8787</source>
     </message>
 </context>
 <context>
+    <name>RoomlistModel</name>
+    <message>
+        <location filename="../../src/timeline/RoomlistModel.cpp" line="+143"/>
+        <source>Pending invite.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+30"/>
+        <source>Previewing this room</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+34"/>
+        <source>No preview available</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>ScreenShare</name>
     <message>
         <location filename="../qml/voip/ScreenShare.qml" line="+30"/>
@@ -1526,7 +1620,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>StatusIndicator</name>
     <message>
-        <location filename="../qml/StatusIndicator.qml" line="+21"/>
+        <location filename="../qml/StatusIndicator.qml" line="+24"/>
         <source>Failed</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1547,6 +1641,14 @@ Example: https://server.my:8787</source>
     </message>
 </context>
 <context>
+    <name>StickerPicker</name>
+    <message>
+        <location filename="../qml/emoji/StickerPicker.qml" line="+70"/>
+        <source>Search</source>
+        <translation type="unfinished">തിരയുക</translation>
+    </message>
+</context>
+<context>
     <name>Success</name>
     <message>
         <location filename="../qml/device-verification/Success.qml" line="+11"/>
@@ -1567,7 +1669,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>TimelineModel</name>
     <message>
-        <location filename="../../src/timeline/TimelineModel.cpp" line="+1095"/>
+        <location filename="../../src/timeline/TimelineModel.cpp" line="+1107"/>
         <source>Message redaction failed: %1</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1578,7 +1680,7 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+164"/>
+        <location line="+173"/>
         <source>Save image</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1712,12 +1814,12 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-883"/>
+        <location line="-884"/>
         <source>You joined this room.</source>
         <translation type="unfinished">നിങ്ങൾ ഈ മുറിയിൽ ചേർന്നു.</translation>
     </message>
     <message>
-        <location line="+849"/>
+        <location line="+850"/>
         <source>%1 has changed their avatar and changed their display name to %2.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1746,7 +1848,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>TimelineRow</name>
     <message>
-        <location filename="../qml/TimelineRow.qml" line="+106"/>
+        <location filename="../qml/TimelineRow.qml" line="+180"/>
         <source>Edited</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1754,17 +1856,32 @@ Example: https://server.my:8787</source>
 <context>
     <name>TimelineView</name>
     <message>
-        <location filename="../qml/TimelineView.qml" line="+27"/>
+        <location filename="../qml/TimelineView.qml" line="+30"/>
         <source>No room open</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+127"/>
+        <location line="+139"/>
         <source>%1 member(s)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+46"/>
+        <location line="+33"/>
+        <source>join the conversation</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+7"/>
+        <source>accept invite</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+7"/>
+        <source>decline invite</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+27"/>
         <source>Back to room list</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1772,7 +1889,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>TimelineViewManager</name>
     <message>
-        <location filename="../../src/timeline/TimelineViewManager.cpp" line="+461"/>
+        <location filename="../../src/timeline/TimelineViewManager.cpp" line="+527"/>
         <source>No encrypted private chat found with this user. Create an encrypted private chat with this user and try again.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1780,18 +1897,17 @@ Example: https://server.my:8787</source>
 <context>
     <name>TopBar</name>
     <message>
-        <location filename="../qml/TopBar.qml" line="+51"/>
+        <location filename="../qml/TopBar.qml" line="+54"/>
         <source>Back to room list</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+12"/>
-        <location line="+10"/>
+        <location line="-39"/>
         <source>No room selected</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+24"/>
+        <location line="+90"/>
         <source>Room options</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1832,7 +1948,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>UserProfile</name>
     <message>
-        <location filename="../qml/UserProfile.qml" line="+24"/>
+        <location filename="../qml/UserProfile.qml" line="+25"/>
         <source>Global User Profile</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1842,7 +1958,7 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+114"/>
+        <location line="+115"/>
         <location line="+107"/>
         <source>Verify</source>
         <translation type="unfinished"></translation>
@@ -1891,7 +2007,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>UserSettings</name>
     <message>
-        <location filename="../../src/UserSettingsPage.cpp" line="+362"/>
+        <location filename="../../src/UserSettingsPage.cpp" line="+363"/>
         <location filename="../../src/UserSettingsPage.h" line="+194"/>
         <source>Default</source>
         <translation type="unfinished"></translation>
@@ -1900,7 +2016,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>UserSettingsPage</name>
     <message>
-        <location line="+524"/>
+        <location line="+525"/>
         <source>Minimize to tray</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2346,7 +2462,7 @@ This usually causes the application icon in the task bar to animate in some fash
 <context>
     <name>Waiting</name>
     <message>
-        <location filename="../qml/device-verification/Waiting.qml" line="+11"/>
+        <location filename="../qml/device-verification/Waiting.qml" line="+12"/>
         <source>Waiting for other party…</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2397,7 +2513,7 @@ This usually causes the application icon in the task bar to animate in some fash
 <context>
     <name>descriptiveTime</name>
     <message>
-        <location filename="../../src/Utils.cpp" line="+207"/>
+        <location filename="../../src/Utils.cpp" line="+184"/>
         <source>Yesterday</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2469,19 +2585,6 @@ This usually causes the application icon in the task bar to animate in some fash
     </message>
 </context>
 <context>
-    <name>dialogs::InviteUsers</name>
-    <message>
-        <location filename="../../src/dialogs/InviteUsers.cpp" line="+46"/>
-        <source>Cancel</source>
-        <translation type="unfinished">റദ്ദാക്കു</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>User ID to invite</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
     <name>dialogs::JoinRoom</name>
     <message>
         <location filename="../../src/dialogs/JoinRoom.cpp" line="+34"/>
@@ -2592,7 +2695,7 @@ Media size: %2
 <context>
     <name>message-description sent:</name>
     <message>
-        <location filename="../../src/Utils.h" line="+124"/>
+        <location filename="../../src/Utils.h" line="+115"/>
         <source>You sent an audio clip</source>
         <translation type="unfinished"></translation>
     </message>
diff --git a/resources/langs/nheko_nl.ts b/resources/langs/nheko_nl.ts
index 3f2a147f..b21db075 100644
--- a/resources/langs/nheko_nl.ts
+++ b/resources/langs/nheko_nl.ts
@@ -38,7 +38,7 @@
 <context>
     <name>AwaitingVerificationConfirmation</name>
     <message>
-        <location filename="../qml/device-verification/AwaitingVerificationConfirmation.qml" line="+11"/>
+        <location filename="../qml/device-verification/AwaitingVerificationConfirmation.qml" line="+12"/>
         <source>Awaiting Confirmation</source>
         <translation type="unfinished"></translation>
     </message>
@@ -48,7 +48,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+12"/>
+        <location line="+13"/>
         <source>Cancel</source>
         <translation type="unfinished">Annuleren</translation>
     </message>
@@ -125,7 +125,7 @@
 <context>
     <name>ChatPage</name>
     <message>
-        <location filename="../../src/ChatPage.cpp" line="+133"/>
+        <location filename="../../src/ChatPage.cpp" line="+135"/>
         <source>Failed to invite user: %1</source>
         <translation>Gebruiker uitnodigen mislukt: %1</translation>
     </message>
@@ -157,12 +157,12 @@
     </message>
     <message>
         <location line="+34"/>
-        <location line="+280"/>
+        <location line="+286"/>
         <source>Confirm invite</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-279"/>
+        <location line="-285"/>
         <source>Do you really want to invite %1 (%2)?</source>
         <translation type="unfinished"></translation>
     </message>
@@ -227,12 +227,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+183"/>
+        <location line="+189"/>
         <source>Do you really want to start a private chat with %1?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-721"/>
+        <location line="-727"/>
         <source>Cache migration failed!</source>
         <translation type="unfinished"></translation>
     </message>
@@ -352,7 +352,7 @@
 <context>
     <name>CrossSigningSecrets</name>
     <message>
-        <location filename="../../src/ChatPage.cpp" line="+183"/>
+        <location filename="../../src/ChatPage.cpp" line="+189"/>
         <source>Decrypt secrets</source>
         <translation type="unfinished"></translation>
     </message>
@@ -426,12 +426,12 @@
 <context>
     <name>EmojiPicker</name>
     <message>
-        <location filename="../qml/emoji/EmojiPicker.qml" line="+59"/>
+        <location filename="../qml/emoji/EmojiPicker.qml" line="+68"/>
         <source>Search</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+172"/>
+        <location line="+186"/>
         <source>People</source>
         <translation type="unfinished"></translation>
     </message>
@@ -605,9 +605,47 @@
     </message>
 </context>
 <context>
+    <name>ImagePackSettingsDialog</name>
+    <message>
+        <location filename="../qml/dialogs/ImagePackSettingsDialog.qml" line="+22"/>
+        <source>Image pack settings</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+151"/>
+        <source>Private pack</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Pack from this room</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Globally enabled pack</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+59"/>
+        <source>Enable globally</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Enables this pack to be used in all rooms</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+62"/>
+        <source>Close</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>InputBar</name>
     <message>
-        <location filename="../../src/timeline/InputBar.cpp" line="+233"/>
+        <location filename="../../src/timeline/InputBar.cpp" line="+234"/>
         <source>Select a file</source>
         <translation type="unfinished">Kies een bestand</translation>
     </message>
@@ -617,18 +655,44 @@
         <translation type="unfinished">Alle bestanden (*)</translation>
     </message>
     <message>
-        <location line="+417"/>
+        <location line="+442"/>
         <source>Failed to upload media. Please try again.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>InviteeItem</name>
+    <name>InviteDialog</name>
+    <message>
+        <location filename="../qml/InviteDialog.qml" line="+32"/>
+        <source>Invite users to %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+24"/>
+        <source>User ID to invite</source>
+        <translation type="unfinished">Uit te nodigen gebruikers-id</translation>
+    </message>
+    <message>
+        <location line="+14"/>
+        <source>@joe:matrix.org</source>
+        <comment>Example user id. The name &apos;joe&apos; can be localized however you want.</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+17"/>
+        <source>Add</source>
+        <translation type="unfinished"></translation>
+    </message>
     <message>
-        <location filename="../../src/InviteeItem.cpp" line="+22"/>
-        <source>Remove</source>
+        <location line="+58"/>
+        <source>Invite</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location line="+7"/>
+        <source>Cancel</source>
+        <translation type="unfinished">Annuleren</translation>
+    </message>
 </context>
 <context>
     <name>LoginPage</name>
@@ -741,22 +805,9 @@ Example: https://server.my:8787</source>
     </message>
 </context>
 <context>
-    <name>MemberList</name>
-    <message>
-        <location filename="../../src/dialogs/MemberList.cpp" line="+94"/>
-        <source>Room members</source>
-        <translation>Kamerleden</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>OK</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
     <name>MessageDelegate</name>
     <message>
-        <location filename="../qml/delegates/MessageDelegate.qml" line="+110"/>
+        <location filename="../qml/delegates/MessageDelegate.qml" line="+169"/>
         <location line="+9"/>
         <source>removed</source>
         <translation type="unfinished"></translation>
@@ -767,7 +818,7 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+9"/>
+        <location line="+12"/>
         <source>room name changed to: %1</source>
         <translation type="unfinished"></translation>
     </message>
@@ -777,7 +828,7 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+9"/>
+        <location line="+12"/>
         <source>topic changed to: %1</source>
         <translation type="unfinished"></translation>
     </message>
@@ -787,17 +838,17 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+9"/>
+        <location line="+12"/>
         <source>%1 changed the room avatar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+8"/>
+        <location line="+12"/>
         <source>%1 created and configured room: %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+12"/>
+        <location line="+15"/>
         <source>%1 placed a voice call.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -812,17 +863,17 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+11"/>
+        <location line="+14"/>
         <source>%1 answered the call.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+9"/>
+        <location line="+12"/>
         <source>%1 ended the call.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+9"/>
+        <location line="+12"/>
         <source>Negotiating call...</source>
         <translation type="unfinished"></translation>
     </message>
@@ -830,7 +881,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>MessageInput</name>
     <message>
-        <location filename="../qml/MessageInput.qml" line="+43"/>
+        <location filename="../qml/MessageInput.qml" line="+44"/>
         <source>Hang up</source>
         <translation type="unfinished"></translation>
     </message>
@@ -851,6 +902,11 @@ Example: https://server.my:8787</source>
     </message>
     <message>
         <location line="+214"/>
+        <source>Stickers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+24"/>
         <source>Emoji</source>
         <translation type="unfinished"></translation>
     </message>
@@ -868,17 +924,17 @@ Example: https://server.my:8787</source>
 <context>
     <name>MessageView</name>
     <message>
-        <location filename="../qml/MessageView.qml" line="+83"/>
+        <location filename="../qml/MessageView.qml" line="+87"/>
         <source>Edit</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+15"/>
+        <location line="+16"/>
         <source>React</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+13"/>
+        <location line="+16"/>
         <source>Reply</source>
         <translation type="unfinished"></translation>
     </message>
@@ -888,7 +944,7 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+329"/>
+        <location line="+405"/>
         <source>&amp;Copy</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1096,7 +1152,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>Placeholder</name>
     <message>
-        <location filename="../qml/delegates/Placeholder.qml" line="+9"/>
+        <location filename="../qml/delegates/Placeholder.qml" line="+11"/>
         <source>unimplemented event: </source>
         <translation type="unfinished"></translation>
     </message>
@@ -1216,7 +1272,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>ReplyPopup</name>
     <message>
-        <location filename="../qml/ReplyPopup.qml" line="+47"/>
+        <location filename="../qml/ReplyPopup.qml" line="+62"/>
         <source>Close</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1229,7 +1285,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>RoomInfo</name>
     <message>
-        <location filename="../../src/Cache.cpp" line="+4009"/>
+        <location filename="../../src/Cache.cpp" line="+4180"/>
         <source>no version stored</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1237,7 +1293,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>RoomList</name>
     <message>
-        <location filename="../qml/RoomList.qml" line="+56"/>
+        <location filename="../qml/RoomList.qml" line="+57"/>
         <source>New tag</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1247,6 +1303,16 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+9"/>
+        <source>Leave Room</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>Are you sure you want to leave this room?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <location line="+7"/>
         <source>Leave room</source>
         <translation type="unfinished">Kamer verlaten</translation>
@@ -1277,17 +1343,7 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+222"/>
-        <source>Accept</source>
-        <translation type="unfinished">Accepteren</translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>Decline</source>
-        <translation type="unfinished">Afwijzen</translation>
-    </message>
-    <message>
-        <location line="+68"/>
+        <location line="+268"/>
         <source>Status Message</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1338,19 +1394,41 @@ Example: https://server.my:8787</source>
     </message>
 </context>
 <context>
+    <name>RoomMembers</name>
+    <message>
+        <location filename="../qml/RoomMembers.qml" line="+17"/>
+        <source>Members of %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message numerus="yes">
+        <location line="+32"/>
+        <source>%n people in %1</source>
+        <comment>Summary above list of members</comment>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+            <numerusform></numerusform>
+        </translation>
+    </message>
+    <message>
+        <location line="+10"/>
+        <source>Invite more people</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>RoomSettings</name>
     <message>
-        <location filename="../qml/RoomSettings.qml" line="+25"/>
+        <location filename="../qml/RoomSettings.qml" line="+26"/>
         <source>Room Settings</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+79"/>
+        <location line="+80"/>
         <source>%1 member(s)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+43"/>
+        <location line="+55"/>
         <source>SETTINGS</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1406,19 +1484,22 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+17"/>
-        <source>Respond to key requests</source>
+        <location line="+16"/>
+        <source>Sticker &amp; Emote Settings</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+5"/>
-        <source>Whether or not the client should respond automatically with the session keys
-                                upon request. Use with caution, this is a temporary measure to test the
-                                E2E implementation until device verification is completed.</source>
+        <location line="+4"/>
+        <source>Change</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+21"/>
+        <location line="+1"/>
+        <source>Change what packs are enabled, remove packs or create new ones</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+16"/>
         <source>INFO</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1433,12 +1514,7 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+13"/>
-        <source>OK</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../src/ui/RoomSettings.cpp" line="+268"/>
+        <location filename="../../src/ui/RoomSettings.cpp" line="+255"/>
         <source>Failed to enable encryption: %1</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1470,6 +1546,24 @@ Example: https://server.my:8787</source>
     </message>
 </context>
 <context>
+    <name>RoomlistModel</name>
+    <message>
+        <location filename="../../src/timeline/RoomlistModel.cpp" line="+143"/>
+        <source>Pending invite.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+30"/>
+        <source>Previewing this room</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+34"/>
+        <source>No preview available</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>ScreenShare</name>
     <message>
         <location filename="../qml/voip/ScreenShare.qml" line="+30"/>
@@ -1526,7 +1620,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>StatusIndicator</name>
     <message>
-        <location filename="../qml/StatusIndicator.qml" line="+21"/>
+        <location filename="../qml/StatusIndicator.qml" line="+24"/>
         <source>Failed</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1547,6 +1641,14 @@ Example: https://server.my:8787</source>
     </message>
 </context>
 <context>
+    <name>StickerPicker</name>
+    <message>
+        <location filename="../qml/emoji/StickerPicker.qml" line="+70"/>
+        <source>Search</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>Success</name>
     <message>
         <location filename="../qml/device-verification/Success.qml" line="+11"/>
@@ -1567,7 +1669,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>TimelineModel</name>
     <message>
-        <location filename="../../src/timeline/TimelineModel.cpp" line="+1095"/>
+        <location filename="../../src/timeline/TimelineModel.cpp" line="+1107"/>
         <source>Message redaction failed: %1</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1578,7 +1680,7 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+164"/>
+        <location line="+173"/>
         <source>Save image</source>
         <translation type="unfinished">Afbeelding opslaan</translation>
     </message>
@@ -1712,12 +1814,12 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-883"/>
+        <location line="-884"/>
         <source>You joined this room.</source>
         <translation type="unfinished">Je bent lid geworden van deze kamer.</translation>
     </message>
     <message>
-        <location line="+849"/>
+        <location line="+850"/>
         <source>%1 has changed their avatar and changed their display name to %2.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1746,7 +1848,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>TimelineRow</name>
     <message>
-        <location filename="../qml/TimelineRow.qml" line="+106"/>
+        <location filename="../qml/TimelineRow.qml" line="+180"/>
         <source>Edited</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1754,17 +1856,32 @@ Example: https://server.my:8787</source>
 <context>
     <name>TimelineView</name>
     <message>
-        <location filename="../qml/TimelineView.qml" line="+27"/>
+        <location filename="../qml/TimelineView.qml" line="+30"/>
         <source>No room open</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+127"/>
+        <location line="+139"/>
         <source>%1 member(s)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+46"/>
+        <location line="+33"/>
+        <source>join the conversation</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+7"/>
+        <source>accept invite</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+7"/>
+        <source>decline invite</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+27"/>
         <source>Back to room list</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1772,7 +1889,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>TimelineViewManager</name>
     <message>
-        <location filename="../../src/timeline/TimelineViewManager.cpp" line="+461"/>
+        <location filename="../../src/timeline/TimelineViewManager.cpp" line="+527"/>
         <source>No encrypted private chat found with this user. Create an encrypted private chat with this user and try again.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1780,18 +1897,17 @@ Example: https://server.my:8787</source>
 <context>
     <name>TopBar</name>
     <message>
-        <location filename="../qml/TopBar.qml" line="+51"/>
+        <location filename="../qml/TopBar.qml" line="+54"/>
         <source>Back to room list</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+12"/>
-        <location line="+10"/>
+        <location line="-39"/>
         <source>No room selected</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+24"/>
+        <location line="+90"/>
         <source>Room options</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1832,7 +1948,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>UserProfile</name>
     <message>
-        <location filename="../qml/UserProfile.qml" line="+24"/>
+        <location filename="../qml/UserProfile.qml" line="+25"/>
         <source>Global User Profile</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1842,7 +1958,7 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+114"/>
+        <location line="+115"/>
         <location line="+107"/>
         <source>Verify</source>
         <translation type="unfinished"></translation>
@@ -1891,7 +2007,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>UserSettings</name>
     <message>
-        <location filename="../../src/UserSettingsPage.cpp" line="+362"/>
+        <location filename="../../src/UserSettingsPage.cpp" line="+363"/>
         <location filename="../../src/UserSettingsPage.h" line="+194"/>
         <source>Default</source>
         <translation type="unfinished"></translation>
@@ -1900,7 +2016,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>UserSettingsPage</name>
     <message>
-        <location line="+524"/>
+        <location line="+525"/>
         <source>Minimize to tray</source>
         <translation>Minimaliseren naar systeemvak</translation>
     </message>
@@ -2346,7 +2462,7 @@ This usually causes the application icon in the task bar to animate in some fash
 <context>
     <name>Waiting</name>
     <message>
-        <location filename="../qml/device-verification/Waiting.qml" line="+11"/>
+        <location filename="../qml/device-verification/Waiting.qml" line="+12"/>
         <source>Waiting for other party…</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2397,7 +2513,7 @@ This usually causes the application icon in the task bar to animate in some fash
 <context>
     <name>descriptiveTime</name>
     <message>
-        <location filename="../../src/Utils.cpp" line="+207"/>
+        <location filename="../../src/Utils.cpp" line="+184"/>
         <source>Yesterday</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2469,19 +2585,6 @@ This usually causes the application icon in the task bar to animate in some fash
     </message>
 </context>
 <context>
-    <name>dialogs::InviteUsers</name>
-    <message>
-        <location filename="../../src/dialogs/InviteUsers.cpp" line="+46"/>
-        <source>Cancel</source>
-        <translation type="unfinished">Annuleren</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>User ID to invite</source>
-        <translation>Uit te nodigen gebruikers-id</translation>
-    </message>
-</context>
-<context>
     <name>dialogs::JoinRoom</name>
     <message>
         <location filename="../../src/dialogs/JoinRoom.cpp" line="+34"/>
@@ -2594,7 +2697,7 @@ Mediagrootte: %2
 <context>
     <name>message-description sent:</name>
     <message>
-        <location filename="../../src/Utils.h" line="+124"/>
+        <location filename="../../src/Utils.h" line="+115"/>
         <source>You sent an audio clip</source>
         <translation type="unfinished"></translation>
     </message>
diff --git a/resources/langs/nheko_pl.ts b/resources/langs/nheko_pl.ts
index 6abcd147..72e4e771 100644
--- a/resources/langs/nheko_pl.ts
+++ b/resources/langs/nheko_pl.ts
@@ -38,7 +38,7 @@
 <context>
     <name>AwaitingVerificationConfirmation</name>
     <message>
-        <location filename="../qml/device-verification/AwaitingVerificationConfirmation.qml" line="+11"/>
+        <location filename="../qml/device-verification/AwaitingVerificationConfirmation.qml" line="+12"/>
         <source>Awaiting Confirmation</source>
         <translation>Oczekiwanie na potwierdzenie</translation>
     </message>
@@ -48,7 +48,7 @@
         <translation>Oczekiwanie na dokończenie weryfikacji przez drugą stronę.</translation>
     </message>
     <message>
-        <location line="+12"/>
+        <location line="+13"/>
         <source>Cancel</source>
         <translation>Anuluj</translation>
     </message>
@@ -125,7 +125,7 @@
 <context>
     <name>ChatPage</name>
     <message>
-        <location filename="../../src/ChatPage.cpp" line="+133"/>
+        <location filename="../../src/ChatPage.cpp" line="+135"/>
         <source>Failed to invite user: %1</source>
         <translation>Nie udało się zaprosić użytkownika: %1</translation>
     </message>
@@ -157,12 +157,12 @@
     </message>
     <message>
         <location line="+34"/>
-        <location line="+280"/>
+        <location line="+286"/>
         <source>Confirm invite</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-279"/>
+        <location line="-285"/>
         <source>Do you really want to invite %1 (%2)?</source>
         <translation>Czy na pewno chcesz zaprosić %1 (%2)?</translation>
     </message>
@@ -227,12 +227,12 @@
         <translation>Odblokowano użytkownika: %1</translation>
     </message>
     <message>
-        <location line="+183"/>
+        <location line="+189"/>
         <source>Do you really want to start a private chat with %1?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-721"/>
+        <location line="-727"/>
         <source>Cache migration failed!</source>
         <translation>Nie udało się przenieść pamięci podręcznej!</translation>
     </message>
@@ -352,7 +352,7 @@
 <context>
     <name>CrossSigningSecrets</name>
     <message>
-        <location filename="../../src/ChatPage.cpp" line="+183"/>
+        <location filename="../../src/ChatPage.cpp" line="+189"/>
         <source>Decrypt secrets</source>
         <translation type="unfinished"></translation>
     </message>
@@ -426,12 +426,12 @@
 <context>
     <name>EmojiPicker</name>
     <message>
-        <location filename="../qml/emoji/EmojiPicker.qml" line="+59"/>
+        <location filename="../qml/emoji/EmojiPicker.qml" line="+68"/>
         <source>Search</source>
         <translation>Szukaj</translation>
     </message>
     <message>
-        <location line="+172"/>
+        <location line="+186"/>
         <source>People</source>
         <translation>Ludzie</translation>
     </message>
@@ -605,9 +605,47 @@
     </message>
 </context>
 <context>
+    <name>ImagePackSettingsDialog</name>
+    <message>
+        <location filename="../qml/dialogs/ImagePackSettingsDialog.qml" line="+22"/>
+        <source>Image pack settings</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+151"/>
+        <source>Private pack</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Pack from this room</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Globally enabled pack</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+59"/>
+        <source>Enable globally</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Enables this pack to be used in all rooms</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+62"/>
+        <source>Close</source>
+        <translation type="unfinished">Zamknij</translation>
+    </message>
+</context>
+<context>
     <name>InputBar</name>
     <message>
-        <location filename="../../src/timeline/InputBar.cpp" line="+233"/>
+        <location filename="../../src/timeline/InputBar.cpp" line="+234"/>
         <source>Select a file</source>
         <translation type="unfinished">Wybierz plik</translation>
     </message>
@@ -617,17 +655,43 @@
         <translation type="unfinished">Wszystkie pliki (*)</translation>
     </message>
     <message>
-        <location line="+417"/>
+        <location line="+442"/>
         <source>Failed to upload media. Please try again.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>InviteeItem</name>
+    <name>InviteDialog</name>
+    <message>
+        <location filename="../qml/InviteDialog.qml" line="+32"/>
+        <source>Invite users to %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+24"/>
+        <source>User ID to invite</source>
+        <translation type="unfinished">ID użytkownika do zaproszenia</translation>
+    </message>
+    <message>
+        <location line="+14"/>
+        <source>@joe:matrix.org</source>
+        <comment>Example user id. The name &apos;joe&apos; can be localized however you want.</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+17"/>
+        <source>Add</source>
+        <translation type="unfinished"></translation>
+    </message>
     <message>
-        <location filename="../../src/InviteeItem.cpp" line="+22"/>
-        <source>Remove</source>
-        <translation>Usuń</translation>
+        <location line="+58"/>
+        <source>Invite</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+7"/>
+        <source>Cancel</source>
+        <translation type="unfinished">Anuluj</translation>
     </message>
 </context>
 <context>
@@ -743,22 +807,9 @@ Example: https://server.my:8787</source>
     </message>
 </context>
 <context>
-    <name>MemberList</name>
-    <message>
-        <location filename="../../src/dialogs/MemberList.cpp" line="+94"/>
-        <source>Room members</source>
-        <translation>Członkowie pokoju</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>OK</source>
-        <translation>OK</translation>
-    </message>
-</context>
-<context>
     <name>MessageDelegate</name>
     <message>
-        <location filename="../qml/delegates/MessageDelegate.qml" line="+110"/>
+        <location filename="../qml/delegates/MessageDelegate.qml" line="+169"/>
         <location line="+9"/>
         <source>removed</source>
         <translation type="unfinished"></translation>
@@ -769,7 +820,7 @@ Example: https://server.my:8787</source>
         <translation>Szyfrowanie włączone</translation>
     </message>
     <message>
-        <location line="+9"/>
+        <location line="+12"/>
         <source>room name changed to: %1</source>
         <translation>Nazwa pokoju zmieniona na: %1</translation>
     </message>
@@ -779,7 +830,7 @@ Example: https://server.my:8787</source>
         <translation>usunięto nazwę pokoju</translation>
     </message>
     <message>
-        <location line="+9"/>
+        <location line="+12"/>
         <source>topic changed to: %1</source>
         <translation>temat zmieniono na: %1</translation>
     </message>
@@ -789,17 +840,17 @@ Example: https://server.my:8787</source>
         <translation>usunięto temat</translation>
     </message>
     <message>
-        <location line="+9"/>
+        <location line="+12"/>
         <source>%1 changed the room avatar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+8"/>
+        <location line="+12"/>
         <source>%1 created and configured room: %2</source>
         <translation>%1 utworzył i skonfigurował pokój: %2</translation>
     </message>
     <message>
-        <location line="+12"/>
+        <location line="+15"/>
         <source>%1 placed a voice call.</source>
         <translation>%1 rozpoczął(-ęła) połączenie głosowe.</translation>
     </message>
@@ -814,17 +865,17 @@ Example: https://server.my:8787</source>
         <translation>%1 rozpoczął(-ęła) połączenie.</translation>
     </message>
     <message>
-        <location line="+11"/>
+        <location line="+14"/>
         <source>%1 answered the call.</source>
         <translation>%1 odebrał(a) połączenie.</translation>
     </message>
     <message>
-        <location line="+9"/>
+        <location line="+12"/>
         <source>%1 ended the call.</source>
         <translation>%1 zakończył(a) połączenie.</translation>
     </message>
     <message>
-        <location line="+9"/>
+        <location line="+12"/>
         <source>Negotiating call...</source>
         <translation>Negocjowanie połączenia…</translation>
     </message>
@@ -832,7 +883,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>MessageInput</name>
     <message>
-        <location filename="../qml/MessageInput.qml" line="+43"/>
+        <location filename="../qml/MessageInput.qml" line="+44"/>
         <source>Hang up</source>
         <translation type="unfinished"></translation>
     </message>
@@ -853,6 +904,11 @@ Example: https://server.my:8787</source>
     </message>
     <message>
         <location line="+214"/>
+        <source>Stickers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+24"/>
         <source>Emoji</source>
         <translation type="unfinished">Emoji</translation>
     </message>
@@ -870,17 +926,17 @@ Example: https://server.my:8787</source>
 <context>
     <name>MessageView</name>
     <message>
-        <location filename="../qml/MessageView.qml" line="+83"/>
+        <location filename="../qml/MessageView.qml" line="+87"/>
         <source>Edit</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+15"/>
+        <location line="+16"/>
         <source>React</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+13"/>
+        <location line="+16"/>
         <source>Reply</source>
         <translation type="unfinished"></translation>
     </message>
@@ -890,7 +946,7 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+329"/>
+        <location line="+405"/>
         <source>&amp;Copy</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1098,7 +1154,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>Placeholder</name>
     <message>
-        <location filename="../qml/delegates/Placeholder.qml" line="+9"/>
+        <location filename="../qml/delegates/Placeholder.qml" line="+11"/>
         <source>unimplemented event: </source>
         <translation>Niezaimplementowane wydarzenie: </translation>
     </message>
@@ -1218,7 +1274,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>ReplyPopup</name>
     <message>
-        <location filename="../qml/ReplyPopup.qml" line="+47"/>
+        <location filename="../qml/ReplyPopup.qml" line="+62"/>
         <source>Close</source>
         <translation>Zamknij</translation>
     </message>
@@ -1231,7 +1287,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>RoomInfo</name>
     <message>
-        <location filename="../../src/Cache.cpp" line="+4009"/>
+        <location filename="../../src/Cache.cpp" line="+4180"/>
         <source>no version stored</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1239,7 +1295,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>RoomList</name>
     <message>
-        <location filename="../qml/RoomList.qml" line="+56"/>
+        <location filename="../qml/RoomList.qml" line="+57"/>
         <source>New tag</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1249,6 +1305,16 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+9"/>
+        <source>Leave Room</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>Are you sure you want to leave this room?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <location line="+7"/>
         <source>Leave room</source>
         <translation type="unfinished">Opuść pokój</translation>
@@ -1279,17 +1345,7 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+222"/>
-        <source>Accept</source>
-        <translation type="unfinished">Akceptuj</translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>Decline</source>
-        <translation type="unfinished">Odrzuć</translation>
-    </message>
-    <message>
-        <location line="+68"/>
+        <location line="+268"/>
         <source>Status Message</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1340,19 +1396,42 @@ Example: https://server.my:8787</source>
     </message>
 </context>
 <context>
+    <name>RoomMembers</name>
+    <message>
+        <location filename="../qml/RoomMembers.qml" line="+17"/>
+        <source>Members of %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message numerus="yes">
+        <location line="+32"/>
+        <source>%n people in %1</source>
+        <comment>Summary above list of members</comment>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+            <numerusform></numerusform>
+            <numerusform></numerusform>
+        </translation>
+    </message>
+    <message>
+        <location line="+10"/>
+        <source>Invite more people</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>RoomSettings</name>
     <message>
-        <location filename="../qml/RoomSettings.qml" line="+25"/>
+        <location filename="../qml/RoomSettings.qml" line="+26"/>
         <source>Room Settings</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+79"/>
+        <location line="+80"/>
         <source>%1 member(s)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+43"/>
+        <location line="+55"/>
         <source>SETTINGS</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1408,19 +1487,22 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+17"/>
-        <source>Respond to key requests</source>
+        <location line="+16"/>
+        <source>Sticker &amp; Emote Settings</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+5"/>
-        <source>Whether or not the client should respond automatically with the session keys
-                                upon request. Use with caution, this is a temporary measure to test the
-                                E2E implementation until device verification is completed.</source>
+        <location line="+4"/>
+        <source>Change</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+21"/>
+        <location line="+1"/>
+        <source>Change what packs are enabled, remove packs or create new ones</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+16"/>
         <source>INFO</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1435,12 +1517,7 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+13"/>
-        <source>OK</source>
-        <translation type="unfinished">OK</translation>
-    </message>
-    <message>
-        <location filename="../../src/ui/RoomSettings.cpp" line="+268"/>
+        <location filename="../../src/ui/RoomSettings.cpp" line="+255"/>
         <source>Failed to enable encryption: %1</source>
         <translation type="unfinished">Nie udało się włączyć szyfrowania: %1</translation>
     </message>
@@ -1472,6 +1549,24 @@ Example: https://server.my:8787</source>
     </message>
 </context>
 <context>
+    <name>RoomlistModel</name>
+    <message>
+        <location filename="../../src/timeline/RoomlistModel.cpp" line="+143"/>
+        <source>Pending invite.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+30"/>
+        <source>Previewing this room</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+34"/>
+        <source>No preview available</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>ScreenShare</name>
     <message>
         <location filename="../qml/voip/ScreenShare.qml" line="+30"/>
@@ -1528,7 +1623,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>StatusIndicator</name>
     <message>
-        <location filename="../qml/StatusIndicator.qml" line="+21"/>
+        <location filename="../qml/StatusIndicator.qml" line="+24"/>
         <source>Failed</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1549,6 +1644,14 @@ Example: https://server.my:8787</source>
     </message>
 </context>
 <context>
+    <name>StickerPicker</name>
+    <message>
+        <location filename="../qml/emoji/StickerPicker.qml" line="+70"/>
+        <source>Search</source>
+        <translation type="unfinished">Szukaj</translation>
+    </message>
+</context>
+<context>
     <name>Success</name>
     <message>
         <location filename="../qml/device-verification/Success.qml" line="+11"/>
@@ -1569,7 +1672,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>TimelineModel</name>
     <message>
-        <location filename="../../src/timeline/TimelineModel.cpp" line="+1095"/>
+        <location filename="../../src/timeline/TimelineModel.cpp" line="+1107"/>
         <source>Message redaction failed: %1</source>
         <translation type="unfinished">Redagowanie wiadomości nie powiodło się: %1</translation>
     </message>
@@ -1580,7 +1683,7 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+164"/>
+        <location line="+173"/>
         <source>Save image</source>
         <translation type="unfinished">Zapisz obraz</translation>
     </message>
@@ -1715,12 +1818,12 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-883"/>
+        <location line="-884"/>
         <source>You joined this room.</source>
         <translation type="unfinished">Dołączyłeś(-łaś) do tego pokoju.</translation>
     </message>
     <message>
-        <location line="+849"/>
+        <location line="+850"/>
         <source>%1 has changed their avatar and changed their display name to %2.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1749,7 +1852,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>TimelineRow</name>
     <message>
-        <location filename="../qml/TimelineRow.qml" line="+106"/>
+        <location filename="../qml/TimelineRow.qml" line="+180"/>
         <source>Edited</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1757,17 +1860,32 @@ Example: https://server.my:8787</source>
 <context>
     <name>TimelineView</name>
     <message>
-        <location filename="../qml/TimelineView.qml" line="+27"/>
+        <location filename="../qml/TimelineView.qml" line="+30"/>
         <source>No room open</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+127"/>
+        <location line="+139"/>
         <source>%1 member(s)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+46"/>
+        <location line="+33"/>
+        <source>join the conversation</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+7"/>
+        <source>accept invite</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+7"/>
+        <source>decline invite</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+27"/>
         <source>Back to room list</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1775,7 +1893,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>TimelineViewManager</name>
     <message>
-        <location filename="../../src/timeline/TimelineViewManager.cpp" line="+461"/>
+        <location filename="../../src/timeline/TimelineViewManager.cpp" line="+527"/>
         <source>No encrypted private chat found with this user. Create an encrypted private chat with this user and try again.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1783,18 +1901,17 @@ Example: https://server.my:8787</source>
 <context>
     <name>TopBar</name>
     <message>
-        <location filename="../qml/TopBar.qml" line="+51"/>
+        <location filename="../qml/TopBar.qml" line="+54"/>
         <source>Back to room list</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+12"/>
-        <location line="+10"/>
+        <location line="-39"/>
         <source>No room selected</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+24"/>
+        <location line="+90"/>
         <source>Room options</source>
         <translation type="unfinished">Ustawienia pokoju</translation>
     </message>
@@ -1835,7 +1952,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>UserProfile</name>
     <message>
-        <location filename="../qml/UserProfile.qml" line="+24"/>
+        <location filename="../qml/UserProfile.qml" line="+25"/>
         <source>Global User Profile</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1845,7 +1962,7 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+114"/>
+        <location line="+115"/>
         <location line="+107"/>
         <source>Verify</source>
         <translation type="unfinished"></translation>
@@ -1894,7 +2011,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>UserSettings</name>
     <message>
-        <location filename="../../src/UserSettingsPage.cpp" line="+362"/>
+        <location filename="../../src/UserSettingsPage.cpp" line="+363"/>
         <location filename="../../src/UserSettingsPage.h" line="+194"/>
         <source>Default</source>
         <translation type="unfinished"></translation>
@@ -1903,7 +2020,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>UserSettingsPage</name>
     <message>
-        <location line="+524"/>
+        <location line="+525"/>
         <source>Minimize to tray</source>
         <translation>Zminimalizuj do paska zadań</translation>
     </message>
@@ -2349,7 +2466,7 @@ This usually causes the application icon in the task bar to animate in some fash
 <context>
     <name>Waiting</name>
     <message>
-        <location filename="../qml/device-verification/Waiting.qml" line="+11"/>
+        <location filename="../qml/device-verification/Waiting.qml" line="+12"/>
         <source>Waiting for other party…</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2400,7 +2517,7 @@ This usually causes the application icon in the task bar to animate in some fash
 <context>
     <name>descriptiveTime</name>
     <message>
-        <location filename="../../src/Utils.cpp" line="+207"/>
+        <location filename="../../src/Utils.cpp" line="+184"/>
         <source>Yesterday</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2472,19 +2589,6 @@ This usually causes the application icon in the task bar to animate in some fash
     </message>
 </context>
 <context>
-    <name>dialogs::InviteUsers</name>
-    <message>
-        <location filename="../../src/dialogs/InviteUsers.cpp" line="+46"/>
-        <source>Cancel</source>
-        <translation>Anuluj</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>User ID to invite</source>
-        <translation>ID użytkownika do zaproszenia</translation>
-    </message>
-</context>
-<context>
     <name>dialogs::JoinRoom</name>
     <message>
         <location filename="../../src/dialogs/JoinRoom.cpp" line="+34"/>
@@ -2597,7 +2701,7 @@ Rozmiar multimediów: %2
 <context>
     <name>message-description sent:</name>
     <message>
-        <location filename="../../src/Utils.h" line="+124"/>
+        <location filename="../../src/Utils.h" line="+115"/>
         <source>You sent an audio clip</source>
         <translation type="unfinished"></translation>
     </message>
diff --git a/resources/langs/nheko_pt_BR.ts b/resources/langs/nheko_pt_BR.ts
index fa0ea193..b83585fb 100644
--- a/resources/langs/nheko_pt_BR.ts
+++ b/resources/langs/nheko_pt_BR.ts
@@ -38,7 +38,7 @@
 <context>
     <name>AwaitingVerificationConfirmation</name>
     <message>
-        <location filename="../qml/device-verification/AwaitingVerificationConfirmation.qml" line="+11"/>
+        <location filename="../qml/device-verification/AwaitingVerificationConfirmation.qml" line="+12"/>
         <source>Awaiting Confirmation</source>
         <translation type="unfinished"></translation>
     </message>
@@ -48,7 +48,7 @@
         <translation>Esperando o outro lado completar a verificação.</translation>
     </message>
     <message>
-        <location line="+12"/>
+        <location line="+13"/>
         <source>Cancel</source>
         <translation>Cancelar</translation>
     </message>
@@ -125,7 +125,7 @@
 <context>
     <name>ChatPage</name>
     <message>
-        <location filename="../../src/ChatPage.cpp" line="+133"/>
+        <location filename="../../src/ChatPage.cpp" line="+135"/>
         <source>Failed to invite user: %1</source>
         <translation>Falha ao convidar usuário: %1</translation>
     </message>
@@ -157,12 +157,12 @@
     </message>
     <message>
         <location line="+34"/>
-        <location line="+280"/>
+        <location line="+286"/>
         <source>Confirm invite</source>
         <translation>Confirmar convite</translation>
     </message>
     <message>
-        <location line="-279"/>
+        <location line="-285"/>
         <source>Do you really want to invite %1 (%2)?</source>
         <translation type="unfinished"></translation>
     </message>
@@ -227,12 +227,12 @@
         <translation>Usuário desbanido: %1</translation>
     </message>
     <message>
-        <location line="+183"/>
+        <location line="+189"/>
         <source>Do you really want to start a private chat with %1?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-721"/>
+        <location line="-727"/>
         <source>Cache migration failed!</source>
         <translation>Migração do cache falhou!</translation>
     </message>
@@ -352,7 +352,7 @@
 <context>
     <name>CrossSigningSecrets</name>
     <message>
-        <location filename="../../src/ChatPage.cpp" line="+183"/>
+        <location filename="../../src/ChatPage.cpp" line="+189"/>
         <source>Decrypt secrets</source>
         <translation type="unfinished"></translation>
     </message>
@@ -426,12 +426,12 @@
 <context>
     <name>EmojiPicker</name>
     <message>
-        <location filename="../qml/emoji/EmojiPicker.qml" line="+59"/>
+        <location filename="../qml/emoji/EmojiPicker.qml" line="+68"/>
         <source>Search</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+172"/>
+        <location line="+186"/>
         <source>People</source>
         <translation type="unfinished"></translation>
     </message>
@@ -605,9 +605,47 @@
     </message>
 </context>
 <context>
+    <name>ImagePackSettingsDialog</name>
+    <message>
+        <location filename="../qml/dialogs/ImagePackSettingsDialog.qml" line="+22"/>
+        <source>Image pack settings</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+151"/>
+        <source>Private pack</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Pack from this room</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Globally enabled pack</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+59"/>
+        <source>Enable globally</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Enables this pack to be used in all rooms</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+62"/>
+        <source>Close</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>InputBar</name>
     <message>
-        <location filename="../../src/timeline/InputBar.cpp" line="+233"/>
+        <location filename="../../src/timeline/InputBar.cpp" line="+234"/>
         <source>Select a file</source>
         <translation type="unfinished"></translation>
     </message>
@@ -617,18 +655,44 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+417"/>
+        <location line="+442"/>
         <source>Failed to upload media. Please try again.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>InviteeItem</name>
+    <name>InviteDialog</name>
+    <message>
+        <location filename="../qml/InviteDialog.qml" line="+32"/>
+        <source>Invite users to %1</source>
+        <translation type="unfinished"></translation>
+    </message>
     <message>
-        <location filename="../../src/InviteeItem.cpp" line="+22"/>
-        <source>Remove</source>
+        <location line="+24"/>
+        <source>User ID to invite</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+14"/>
+        <source>@joe:matrix.org</source>
+        <comment>Example user id. The name &apos;joe&apos; can be localized however you want.</comment>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location line="+17"/>
+        <source>Add</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+58"/>
+        <source>Invite</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+7"/>
+        <source>Cancel</source>
+        <translation type="unfinished">Cancelar</translation>
+    </message>
 </context>
 <context>
     <name>LoginPage</name>
@@ -741,27 +805,14 @@ Example: https://server.my:8787</source>
     </message>
 </context>
 <context>
-    <name>MemberList</name>
-    <message>
-        <location filename="../../src/dialogs/MemberList.cpp" line="+94"/>
-        <source>Room members</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>OK</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
     <name>MessageDelegate</name>
     <message>
-        <location filename="../qml/delegates/MessageDelegate.qml" line="+128"/>
+        <location filename="../qml/delegates/MessageDelegate.qml" line="+187"/>
         <source>Encryption enabled</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+9"/>
+        <location line="+12"/>
         <source>room name changed to: %1</source>
         <translation type="unfinished"></translation>
     </message>
@@ -771,7 +822,7 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+9"/>
+        <location line="+12"/>
         <source>topic changed to: %1</source>
         <translation type="unfinished"></translation>
     </message>
@@ -781,17 +832,17 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+9"/>
+        <location line="+12"/>
         <source>%1 changed the room avatar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+8"/>
+        <location line="+12"/>
         <source>%1 created and configured room: %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+12"/>
+        <location line="+15"/>
         <source>%1 placed a voice call.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -806,23 +857,23 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+29"/>
+        <location line="+38"/>
         <source>Negotiating call...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-18"/>
+        <location line="-24"/>
         <source>%1 answered the call.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-80"/>
+        <location line="-99"/>
         <location line="+9"/>
         <source>removed</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+80"/>
+        <location line="+102"/>
         <source>%1 ended the call.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -830,7 +881,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>MessageInput</name>
     <message>
-        <location filename="../qml/MessageInput.qml" line="+43"/>
+        <location filename="../qml/MessageInput.qml" line="+44"/>
         <source>Hang up</source>
         <translation type="unfinished"></translation>
     </message>
@@ -851,6 +902,11 @@ Example: https://server.my:8787</source>
     </message>
     <message>
         <location line="+214"/>
+        <source>Stickers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+24"/>
         <source>Emoji</source>
         <translation type="unfinished"></translation>
     </message>
@@ -868,17 +924,17 @@ Example: https://server.my:8787</source>
 <context>
     <name>MessageView</name>
     <message>
-        <location filename="../qml/MessageView.qml" line="+83"/>
+        <location filename="../qml/MessageView.qml" line="+87"/>
         <source>Edit</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+15"/>
+        <location line="+16"/>
         <source>React</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+13"/>
+        <location line="+16"/>
         <source>Reply</source>
         <translation type="unfinished"></translation>
     </message>
@@ -888,7 +944,7 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+329"/>
+        <location line="+405"/>
         <source>&amp;Copy</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1096,7 +1152,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>Placeholder</name>
     <message>
-        <location filename="../qml/delegates/Placeholder.qml" line="+9"/>
+        <location filename="../qml/delegates/Placeholder.qml" line="+11"/>
         <source>unimplemented event: </source>
         <translation type="unfinished"></translation>
     </message>
@@ -1216,7 +1272,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>ReplyPopup</name>
     <message>
-        <location filename="../qml/ReplyPopup.qml" line="+47"/>
+        <location filename="../qml/ReplyPopup.qml" line="+62"/>
         <source>Close</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1229,7 +1285,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>RoomInfo</name>
     <message>
-        <location filename="../../src/Cache.cpp" line="+4009"/>
+        <location filename="../../src/Cache.cpp" line="+4180"/>
         <source>no version stored</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1237,7 +1293,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>RoomList</name>
     <message>
-        <location filename="../qml/RoomList.qml" line="+56"/>
+        <location filename="../qml/RoomList.qml" line="+57"/>
         <source>New tag</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1247,6 +1303,16 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+9"/>
+        <source>Leave Room</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>Are you sure you want to leave this room?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <location line="+7"/>
         <source>Leave room</source>
         <translation type="unfinished"></translation>
@@ -1277,17 +1343,7 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+222"/>
-        <source>Accept</source>
-        <translation type="unfinished">Aceitar</translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>Decline</source>
-        <translation type="unfinished">Rejeitar</translation>
-    </message>
-    <message>
-        <location line="+68"/>
+        <location line="+268"/>
         <source>Status Message</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1338,19 +1394,41 @@ Example: https://server.my:8787</source>
     </message>
 </context>
 <context>
+    <name>RoomMembers</name>
+    <message>
+        <location filename="../qml/RoomMembers.qml" line="+17"/>
+        <source>Members of %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message numerus="yes">
+        <location line="+32"/>
+        <source>%n people in %1</source>
+        <comment>Summary above list of members</comment>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+            <numerusform></numerusform>
+        </translation>
+    </message>
+    <message>
+        <location line="+10"/>
+        <source>Invite more people</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>RoomSettings</name>
     <message>
-        <location filename="../qml/RoomSettings.qml" line="+25"/>
+        <location filename="../qml/RoomSettings.qml" line="+26"/>
         <source>Room Settings</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+79"/>
+        <location line="+80"/>
         <source>%1 member(s)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+43"/>
+        <location line="+55"/>
         <source>SETTINGS</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1406,19 +1484,22 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+17"/>
-        <source>Respond to key requests</source>
+        <location line="+16"/>
+        <source>Sticker &amp; Emote Settings</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+5"/>
-        <source>Whether or not the client should respond automatically with the session keys
-                                upon request. Use with caution, this is a temporary measure to test the
-                                E2E implementation until device verification is completed.</source>
+        <location line="+4"/>
+        <source>Change</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+21"/>
+        <location line="+1"/>
+        <source>Change what packs are enabled, remove packs or create new ones</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+16"/>
         <source>INFO</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1433,12 +1514,7 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+13"/>
-        <source>OK</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../src/ui/RoomSettings.cpp" line="+268"/>
+        <location filename="../../src/ui/RoomSettings.cpp" line="+255"/>
         <source>Failed to enable encryption: %1</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1470,6 +1546,24 @@ Example: https://server.my:8787</source>
     </message>
 </context>
 <context>
+    <name>RoomlistModel</name>
+    <message>
+        <location filename="../../src/timeline/RoomlistModel.cpp" line="+143"/>
+        <source>Pending invite.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+30"/>
+        <source>Previewing this room</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+34"/>
+        <source>No preview available</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>ScreenShare</name>
     <message>
         <location filename="../qml/voip/ScreenShare.qml" line="+30"/>
@@ -1526,7 +1620,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>StatusIndicator</name>
     <message>
-        <location filename="../qml/StatusIndicator.qml" line="+21"/>
+        <location filename="../qml/StatusIndicator.qml" line="+24"/>
         <source>Failed</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1547,6 +1641,14 @@ Example: https://server.my:8787</source>
     </message>
 </context>
 <context>
+    <name>StickerPicker</name>
+    <message>
+        <location filename="../qml/emoji/StickerPicker.qml" line="+70"/>
+        <source>Search</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>Success</name>
     <message>
         <location filename="../qml/device-verification/Success.qml" line="+11"/>
@@ -1567,7 +1669,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>TimelineModel</name>
     <message>
-        <location filename="../../src/timeline/TimelineModel.cpp" line="+1095"/>
+        <location filename="../../src/timeline/TimelineModel.cpp" line="+1107"/>
         <source>Message redaction failed: %1</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1578,7 +1680,7 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+164"/>
+        <location line="+173"/>
         <source>Save image</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1712,12 +1814,12 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-883"/>
+        <location line="-884"/>
         <source>You joined this room.</source>
         <translation type="unfinished">Você entrou nessa sala.</translation>
     </message>
     <message>
-        <location line="+849"/>
+        <location line="+850"/>
         <source>%1 has changed their avatar and changed their display name to %2.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1746,7 +1848,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>TimelineRow</name>
     <message>
-        <location filename="../qml/TimelineRow.qml" line="+106"/>
+        <location filename="../qml/TimelineRow.qml" line="+180"/>
         <source>Edited</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1754,17 +1856,32 @@ Example: https://server.my:8787</source>
 <context>
     <name>TimelineView</name>
     <message>
-        <location filename="../qml/TimelineView.qml" line="+27"/>
+        <location filename="../qml/TimelineView.qml" line="+30"/>
         <source>No room open</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+127"/>
+        <location line="+139"/>
         <source>%1 member(s)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+46"/>
+        <location line="+33"/>
+        <source>join the conversation</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+7"/>
+        <source>accept invite</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+7"/>
+        <source>decline invite</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+27"/>
         <source>Back to room list</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1772,7 +1889,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>TimelineViewManager</name>
     <message>
-        <location filename="../../src/timeline/TimelineViewManager.cpp" line="+461"/>
+        <location filename="../../src/timeline/TimelineViewManager.cpp" line="+527"/>
         <source>No encrypted private chat found with this user. Create an encrypted private chat with this user and try again.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1780,18 +1897,17 @@ Example: https://server.my:8787</source>
 <context>
     <name>TopBar</name>
     <message>
-        <location filename="../qml/TopBar.qml" line="+51"/>
+        <location filename="../qml/TopBar.qml" line="+54"/>
         <source>Back to room list</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+12"/>
-        <location line="+10"/>
+        <location line="-39"/>
         <source>No room selected</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+24"/>
+        <location line="+90"/>
         <source>Room options</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1832,7 +1948,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>UserProfile</name>
     <message>
-        <location filename="../qml/UserProfile.qml" line="+24"/>
+        <location filename="../qml/UserProfile.qml" line="+25"/>
         <source>Global User Profile</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1842,7 +1958,7 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+114"/>
+        <location line="+115"/>
         <location line="+107"/>
         <source>Verify</source>
         <translation type="unfinished"></translation>
@@ -1891,7 +2007,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>UserSettings</name>
     <message>
-        <location filename="../../src/UserSettingsPage.cpp" line="+362"/>
+        <location filename="../../src/UserSettingsPage.cpp" line="+363"/>
         <location filename="../../src/UserSettingsPage.h" line="+194"/>
         <source>Default</source>
         <translation type="unfinished"></translation>
@@ -1900,7 +2016,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>UserSettingsPage</name>
     <message>
-        <location line="+524"/>
+        <location line="+525"/>
         <source>Minimize to tray</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2346,7 +2462,7 @@ This usually causes the application icon in the task bar to animate in some fash
 <context>
     <name>Waiting</name>
     <message>
-        <location filename="../qml/device-verification/Waiting.qml" line="+11"/>
+        <location filename="../qml/device-verification/Waiting.qml" line="+12"/>
         <source>Waiting for other party…</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2397,7 +2513,7 @@ This usually causes the application icon in the task bar to animate in some fash
 <context>
     <name>descriptiveTime</name>
     <message>
-        <location filename="../../src/Utils.cpp" line="+207"/>
+        <location filename="../../src/Utils.cpp" line="+184"/>
         <source>Yesterday</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2469,19 +2585,6 @@ This usually causes the application icon in the task bar to animate in some fash
     </message>
 </context>
 <context>
-    <name>dialogs::InviteUsers</name>
-    <message>
-        <location filename="../../src/dialogs/InviteUsers.cpp" line="+46"/>
-        <source>Cancel</source>
-        <translation type="unfinished">Cancelar</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>User ID to invite</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
     <name>dialogs::JoinRoom</name>
     <message>
         <location filename="../../src/dialogs/JoinRoom.cpp" line="+34"/>
@@ -2592,7 +2695,7 @@ Media size: %2
 <context>
     <name>message-description sent:</name>
     <message>
-        <location filename="../../src/Utils.h" line="+124"/>
+        <location filename="../../src/Utils.h" line="+115"/>
         <source>You sent an audio clip</source>
         <translation type="unfinished"></translation>
     </message>
diff --git a/resources/langs/nheko_pt_PT.ts b/resources/langs/nheko_pt_PT.ts
index 81343f97..a0a8c8a8 100644
--- a/resources/langs/nheko_pt_PT.ts
+++ b/resources/langs/nheko_pt_PT.ts
@@ -38,7 +38,7 @@
 <context>
     <name>AwaitingVerificationConfirmation</name>
     <message>
-        <location filename="../qml/device-verification/AwaitingVerificationConfirmation.qml" line="+11"/>
+        <location filename="../qml/device-verification/AwaitingVerificationConfirmation.qml" line="+12"/>
         <source>Awaiting Confirmation</source>
         <translation type="unfinished"></translation>
     </message>
@@ -48,7 +48,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+12"/>
+        <location line="+13"/>
         <source>Cancel</source>
         <translation type="unfinished"></translation>
     </message>
@@ -125,7 +125,7 @@
 <context>
     <name>ChatPage</name>
     <message>
-        <location filename="../../src/ChatPage.cpp" line="+133"/>
+        <location filename="../../src/ChatPage.cpp" line="+135"/>
         <source>Failed to invite user: %1</source>
         <translation type="unfinished"></translation>
     </message>
@@ -157,12 +157,12 @@
     </message>
     <message>
         <location line="+34"/>
-        <location line="+280"/>
+        <location line="+286"/>
         <source>Confirm invite</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-279"/>
+        <location line="-285"/>
         <source>Do you really want to invite %1 (%2)?</source>
         <translation type="unfinished"></translation>
     </message>
@@ -227,12 +227,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+183"/>
+        <location line="+189"/>
         <source>Do you really want to start a private chat with %1?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-721"/>
+        <location line="-727"/>
         <source>Cache migration failed!</source>
         <translation type="unfinished"></translation>
     </message>
@@ -352,7 +352,7 @@
 <context>
     <name>CrossSigningSecrets</name>
     <message>
-        <location filename="../../src/ChatPage.cpp" line="+183"/>
+        <location filename="../../src/ChatPage.cpp" line="+189"/>
         <source>Decrypt secrets</source>
         <translation type="unfinished"></translation>
     </message>
@@ -426,12 +426,12 @@
 <context>
     <name>EmojiPicker</name>
     <message>
-        <location filename="../qml/emoji/EmojiPicker.qml" line="+59"/>
+        <location filename="../qml/emoji/EmojiPicker.qml" line="+68"/>
         <source>Search</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+172"/>
+        <location line="+186"/>
         <source>People</source>
         <translation type="unfinished"></translation>
     </message>
@@ -605,9 +605,47 @@
     </message>
 </context>
 <context>
+    <name>ImagePackSettingsDialog</name>
+    <message>
+        <location filename="../qml/dialogs/ImagePackSettingsDialog.qml" line="+22"/>
+        <source>Image pack settings</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+151"/>
+        <source>Private pack</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Pack from this room</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Globally enabled pack</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+59"/>
+        <source>Enable globally</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Enables this pack to be used in all rooms</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+62"/>
+        <source>Close</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>InputBar</name>
     <message>
-        <location filename="../../src/timeline/InputBar.cpp" line="+233"/>
+        <location filename="../../src/timeline/InputBar.cpp" line="+234"/>
         <source>Select a file</source>
         <translation type="unfinished"></translation>
     </message>
@@ -617,16 +655,42 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+417"/>
+        <location line="+442"/>
         <source>Failed to upload media. Please try again.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>InviteeItem</name>
+    <name>InviteDialog</name>
+    <message>
+        <location filename="../qml/InviteDialog.qml" line="+32"/>
+        <source>Invite users to %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+24"/>
+        <source>User ID to invite</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+14"/>
+        <source>@joe:matrix.org</source>
+        <comment>Example user id. The name &apos;joe&apos; can be localized however you want.</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+17"/>
+        <source>Add</source>
+        <translation type="unfinished"></translation>
+    </message>
     <message>
-        <location filename="../../src/InviteeItem.cpp" line="+22"/>
-        <source>Remove</source>
+        <location line="+58"/>
+        <source>Invite</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+7"/>
+        <source>Cancel</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -741,27 +805,14 @@ Example: https://server.my:8787</source>
     </message>
 </context>
 <context>
-    <name>MemberList</name>
-    <message>
-        <location filename="../../src/dialogs/MemberList.cpp" line="+94"/>
-        <source>Room members</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>OK</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
     <name>MessageDelegate</name>
     <message>
-        <location filename="../qml/delegates/MessageDelegate.qml" line="+128"/>
+        <location filename="../qml/delegates/MessageDelegate.qml" line="+187"/>
         <source>Encryption enabled</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+9"/>
+        <location line="+12"/>
         <source>room name changed to: %1</source>
         <translation type="unfinished"></translation>
     </message>
@@ -771,7 +822,7 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+9"/>
+        <location line="+12"/>
         <source>topic changed to: %1</source>
         <translation type="unfinished"></translation>
     </message>
@@ -781,17 +832,17 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+9"/>
+        <location line="+12"/>
         <source>%1 changed the room avatar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+8"/>
+        <location line="+12"/>
         <source>%1 created and configured room: %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+12"/>
+        <location line="+15"/>
         <source>%1 placed a voice call.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -806,23 +857,23 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+29"/>
+        <location line="+38"/>
         <source>Negotiating call...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-18"/>
+        <location line="-24"/>
         <source>%1 answered the call.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-80"/>
+        <location line="-99"/>
         <location line="+9"/>
         <source>removed</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+80"/>
+        <location line="+102"/>
         <source>%1 ended the call.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -830,7 +881,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>MessageInput</name>
     <message>
-        <location filename="../qml/MessageInput.qml" line="+43"/>
+        <location filename="../qml/MessageInput.qml" line="+44"/>
         <source>Hang up</source>
         <translation type="unfinished"></translation>
     </message>
@@ -851,6 +902,11 @@ Example: https://server.my:8787</source>
     </message>
     <message>
         <location line="+214"/>
+        <source>Stickers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+24"/>
         <source>Emoji</source>
         <translation type="unfinished"></translation>
     </message>
@@ -868,17 +924,17 @@ Example: https://server.my:8787</source>
 <context>
     <name>MessageView</name>
     <message>
-        <location filename="../qml/MessageView.qml" line="+83"/>
+        <location filename="../qml/MessageView.qml" line="+87"/>
         <source>Edit</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+15"/>
+        <location line="+16"/>
         <source>React</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+13"/>
+        <location line="+16"/>
         <source>Reply</source>
         <translation type="unfinished"></translation>
     </message>
@@ -888,7 +944,7 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+329"/>
+        <location line="+405"/>
         <source>&amp;Copy</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1096,7 +1152,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>Placeholder</name>
     <message>
-        <location filename="../qml/delegates/Placeholder.qml" line="+9"/>
+        <location filename="../qml/delegates/Placeholder.qml" line="+11"/>
         <source>unimplemented event: </source>
         <translation type="unfinished"></translation>
     </message>
@@ -1216,7 +1272,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>ReplyPopup</name>
     <message>
-        <location filename="../qml/ReplyPopup.qml" line="+47"/>
+        <location filename="../qml/ReplyPopup.qml" line="+62"/>
         <source>Close</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1229,7 +1285,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>RoomInfo</name>
     <message>
-        <location filename="../../src/Cache.cpp" line="+4009"/>
+        <location filename="../../src/Cache.cpp" line="+4180"/>
         <source>no version stored</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1237,7 +1293,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>RoomList</name>
     <message>
-        <location filename="../qml/RoomList.qml" line="+56"/>
+        <location filename="../qml/RoomList.qml" line="+57"/>
         <source>New tag</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1247,6 +1303,16 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+9"/>
+        <source>Leave Room</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>Are you sure you want to leave this room?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <location line="+7"/>
         <source>Leave room</source>
         <translation type="unfinished"></translation>
@@ -1277,17 +1343,7 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+222"/>
-        <source>Accept</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>Decline</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+68"/>
+        <location line="+268"/>
         <source>Status Message</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1338,19 +1394,41 @@ Example: https://server.my:8787</source>
     </message>
 </context>
 <context>
+    <name>RoomMembers</name>
+    <message>
+        <location filename="../qml/RoomMembers.qml" line="+17"/>
+        <source>Members of %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message numerus="yes">
+        <location line="+32"/>
+        <source>%n people in %1</source>
+        <comment>Summary above list of members</comment>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+            <numerusform></numerusform>
+        </translation>
+    </message>
+    <message>
+        <location line="+10"/>
+        <source>Invite more people</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>RoomSettings</name>
     <message>
-        <location filename="../qml/RoomSettings.qml" line="+25"/>
+        <location filename="../qml/RoomSettings.qml" line="+26"/>
         <source>Room Settings</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+79"/>
+        <location line="+80"/>
         <source>%1 member(s)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+43"/>
+        <location line="+55"/>
         <source>SETTINGS</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1406,19 +1484,22 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+17"/>
-        <source>Respond to key requests</source>
+        <location line="+16"/>
+        <source>Sticker &amp; Emote Settings</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+5"/>
-        <source>Whether or not the client should respond automatically with the session keys
-                                upon request. Use with caution, this is a temporary measure to test the
-                                E2E implementation until device verification is completed.</source>
+        <location line="+4"/>
+        <source>Change</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+21"/>
+        <location line="+1"/>
+        <source>Change what packs are enabled, remove packs or create new ones</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+16"/>
         <source>INFO</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1433,12 +1514,7 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+13"/>
-        <source>OK</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../src/ui/RoomSettings.cpp" line="+268"/>
+        <location filename="../../src/ui/RoomSettings.cpp" line="+255"/>
         <source>Failed to enable encryption: %1</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1470,6 +1546,24 @@ Example: https://server.my:8787</source>
     </message>
 </context>
 <context>
+    <name>RoomlistModel</name>
+    <message>
+        <location filename="../../src/timeline/RoomlistModel.cpp" line="+143"/>
+        <source>Pending invite.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+30"/>
+        <source>Previewing this room</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+34"/>
+        <source>No preview available</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>ScreenShare</name>
     <message>
         <location filename="../qml/voip/ScreenShare.qml" line="+30"/>
@@ -1526,7 +1620,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>StatusIndicator</name>
     <message>
-        <location filename="../qml/StatusIndicator.qml" line="+21"/>
+        <location filename="../qml/StatusIndicator.qml" line="+24"/>
         <source>Failed</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1547,6 +1641,14 @@ Example: https://server.my:8787</source>
     </message>
 </context>
 <context>
+    <name>StickerPicker</name>
+    <message>
+        <location filename="../qml/emoji/StickerPicker.qml" line="+70"/>
+        <source>Search</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>Success</name>
     <message>
         <location filename="../qml/device-verification/Success.qml" line="+11"/>
@@ -1567,7 +1669,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>TimelineModel</name>
     <message>
-        <location filename="../../src/timeline/TimelineModel.cpp" line="+1095"/>
+        <location filename="../../src/timeline/TimelineModel.cpp" line="+1107"/>
         <source>Message redaction failed: %1</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1578,7 +1680,7 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+164"/>
+        <location line="+173"/>
         <source>Save image</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1712,12 +1814,12 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-883"/>
+        <location line="-884"/>
         <source>You joined this room.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+849"/>
+        <location line="+850"/>
         <source>%1 has changed their avatar and changed their display name to %2.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1746,7 +1848,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>TimelineRow</name>
     <message>
-        <location filename="../qml/TimelineRow.qml" line="+106"/>
+        <location filename="../qml/TimelineRow.qml" line="+180"/>
         <source>Edited</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1754,17 +1856,32 @@ Example: https://server.my:8787</source>
 <context>
     <name>TimelineView</name>
     <message>
-        <location filename="../qml/TimelineView.qml" line="+27"/>
+        <location filename="../qml/TimelineView.qml" line="+30"/>
         <source>No room open</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+127"/>
+        <location line="+139"/>
         <source>%1 member(s)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+46"/>
+        <location line="+33"/>
+        <source>join the conversation</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+7"/>
+        <source>accept invite</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+7"/>
+        <source>decline invite</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+27"/>
         <source>Back to room list</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1772,7 +1889,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>TimelineViewManager</name>
     <message>
-        <location filename="../../src/timeline/TimelineViewManager.cpp" line="+461"/>
+        <location filename="../../src/timeline/TimelineViewManager.cpp" line="+527"/>
         <source>No encrypted private chat found with this user. Create an encrypted private chat with this user and try again.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1780,18 +1897,17 @@ Example: https://server.my:8787</source>
 <context>
     <name>TopBar</name>
     <message>
-        <location filename="../qml/TopBar.qml" line="+51"/>
+        <location filename="../qml/TopBar.qml" line="+54"/>
         <source>Back to room list</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+12"/>
-        <location line="+10"/>
+        <location line="-39"/>
         <source>No room selected</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+24"/>
+        <location line="+90"/>
         <source>Room options</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1832,7 +1948,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>UserProfile</name>
     <message>
-        <location filename="../qml/UserProfile.qml" line="+24"/>
+        <location filename="../qml/UserProfile.qml" line="+25"/>
         <source>Global User Profile</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1842,7 +1958,7 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+114"/>
+        <location line="+115"/>
         <location line="+107"/>
         <source>Verify</source>
         <translation type="unfinished"></translation>
@@ -1891,7 +2007,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>UserSettings</name>
     <message>
-        <location filename="../../src/UserSettingsPage.cpp" line="+362"/>
+        <location filename="../../src/UserSettingsPage.cpp" line="+363"/>
         <location filename="../../src/UserSettingsPage.h" line="+194"/>
         <source>Default</source>
         <translation type="unfinished"></translation>
@@ -1900,7 +2016,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>UserSettingsPage</name>
     <message>
-        <location line="+524"/>
+        <location line="+525"/>
         <source>Minimize to tray</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2346,7 +2462,7 @@ This usually causes the application icon in the task bar to animate in some fash
 <context>
     <name>Waiting</name>
     <message>
-        <location filename="../qml/device-verification/Waiting.qml" line="+11"/>
+        <location filename="../qml/device-verification/Waiting.qml" line="+12"/>
         <source>Waiting for other party…</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2397,7 +2513,7 @@ This usually causes the application icon in the task bar to animate in some fash
 <context>
     <name>descriptiveTime</name>
     <message>
-        <location filename="../../src/Utils.cpp" line="+207"/>
+        <location filename="../../src/Utils.cpp" line="+184"/>
         <source>Yesterday</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2469,19 +2585,6 @@ This usually causes the application icon in the task bar to animate in some fash
     </message>
 </context>
 <context>
-    <name>dialogs::InviteUsers</name>
-    <message>
-        <location filename="../../src/dialogs/InviteUsers.cpp" line="+46"/>
-        <source>Cancel</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>User ID to invite</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
     <name>dialogs::JoinRoom</name>
     <message>
         <location filename="../../src/dialogs/JoinRoom.cpp" line="+34"/>
@@ -2592,7 +2695,7 @@ Media size: %2
 <context>
     <name>message-description sent:</name>
     <message>
-        <location filename="../../src/Utils.h" line="+124"/>
+        <location filename="../../src/Utils.h" line="+115"/>
         <source>You sent an audio clip</source>
         <translation type="unfinished"></translation>
     </message>
diff --git a/resources/langs/nheko_ro.ts b/resources/langs/nheko_ro.ts
index c21bb069..6ea496f1 100644
--- a/resources/langs/nheko_ro.ts
+++ b/resources/langs/nheko_ro.ts
@@ -38,7 +38,7 @@
 <context>
     <name>AwaitingVerificationConfirmation</name>
     <message>
-        <location filename="../qml/device-verification/AwaitingVerificationConfirmation.qml" line="+11"/>
+        <location filename="../qml/device-verification/AwaitingVerificationConfirmation.qml" line="+12"/>
         <source>Awaiting Confirmation</source>
         <translation type="unfinished"></translation>
     </message>
@@ -48,7 +48,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+12"/>
+        <location line="+13"/>
         <source>Cancel</source>
         <translation type="unfinished"></translation>
     </message>
@@ -125,7 +125,7 @@
 <context>
     <name>ChatPage</name>
     <message>
-        <location filename="../../src/ChatPage.cpp" line="+133"/>
+        <location filename="../../src/ChatPage.cpp" line="+135"/>
         <source>Failed to invite user: %1</source>
         <translation>Nu s-a putut invita utilizatorul: %1</translation>
     </message>
@@ -157,12 +157,12 @@
     </message>
     <message>
         <location line="+34"/>
-        <location line="+280"/>
+        <location line="+286"/>
         <source>Confirm invite</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-279"/>
+        <location line="-285"/>
         <source>Do you really want to invite %1 (%2)?</source>
         <translation type="unfinished"></translation>
     </message>
@@ -227,12 +227,12 @@
         <translation>Utilizator dezinterzis: %1</translation>
     </message>
     <message>
-        <location line="+183"/>
+        <location line="+189"/>
         <source>Do you really want to start a private chat with %1?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-721"/>
+        <location line="-727"/>
         <source>Cache migration failed!</source>
         <translation>Nu s-a putut migra cache-ul!</translation>
     </message>
@@ -352,7 +352,7 @@
 <context>
     <name>CrossSigningSecrets</name>
     <message>
-        <location filename="../../src/ChatPage.cpp" line="+183"/>
+        <location filename="../../src/ChatPage.cpp" line="+189"/>
         <source>Decrypt secrets</source>
         <translation type="unfinished"></translation>
     </message>
@@ -426,12 +426,12 @@
 <context>
     <name>EmojiPicker</name>
     <message>
-        <location filename="../qml/emoji/EmojiPicker.qml" line="+59"/>
+        <location filename="../qml/emoji/EmojiPicker.qml" line="+68"/>
         <source>Search</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+172"/>
+        <location line="+186"/>
         <source>People</source>
         <translation type="unfinished"></translation>
     </message>
@@ -605,9 +605,47 @@
     </message>
 </context>
 <context>
+    <name>ImagePackSettingsDialog</name>
+    <message>
+        <location filename="../qml/dialogs/ImagePackSettingsDialog.qml" line="+22"/>
+        <source>Image pack settings</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+151"/>
+        <source>Private pack</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Pack from this room</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Globally enabled pack</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+59"/>
+        <source>Enable globally</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Enables this pack to be used in all rooms</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+62"/>
+        <source>Close</source>
+        <translation type="unfinished">Închide</translation>
+    </message>
+</context>
+<context>
     <name>InputBar</name>
     <message>
-        <location filename="../../src/timeline/InputBar.cpp" line="+233"/>
+        <location filename="../../src/timeline/InputBar.cpp" line="+234"/>
         <source>Select a file</source>
         <translation type="unfinished"></translation>
     </message>
@@ -617,17 +655,43 @@
         <translation type="unfinished">Toate fișierele (*)</translation>
     </message>
     <message>
-        <location line="+417"/>
+        <location line="+442"/>
         <source>Failed to upload media. Please try again.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>InviteeItem</name>
+    <name>InviteDialog</name>
+    <message>
+        <location filename="../qml/InviteDialog.qml" line="+32"/>
+        <source>Invite users to %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+24"/>
+        <source>User ID to invite</source>
+        <translation type="unfinished">IDul utilizatorului de invitat</translation>
+    </message>
+    <message>
+        <location line="+14"/>
+        <source>@joe:matrix.org</source>
+        <comment>Example user id. The name &apos;joe&apos; can be localized however you want.</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+17"/>
+        <source>Add</source>
+        <translation type="unfinished"></translation>
+    </message>
     <message>
-        <location filename="../../src/InviteeItem.cpp" line="+22"/>
-        <source>Remove</source>
-        <translation>Ștergere</translation>
+        <location line="+58"/>
+        <source>Invite</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+7"/>
+        <source>Cancel</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -745,22 +809,9 @@ Exemplu: https://serverul.meu:8787</translation>
     </message>
 </context>
 <context>
-    <name>MemberList</name>
-    <message>
-        <location filename="../../src/dialogs/MemberList.cpp" line="+94"/>
-        <source>Room members</source>
-        <translation>Membrii camerei</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>OK</source>
-        <translation>OK</translation>
-    </message>
-</context>
-<context>
     <name>MessageDelegate</name>
     <message>
-        <location filename="../qml/delegates/MessageDelegate.qml" line="+110"/>
+        <location filename="../qml/delegates/MessageDelegate.qml" line="+169"/>
         <location line="+9"/>
         <source>removed</source>
         <translation type="unfinished"></translation>
@@ -771,7 +822,7 @@ Exemplu: https://serverul.meu:8787</translation>
         <translation>Criptare activată</translation>
     </message>
     <message>
-        <location line="+9"/>
+        <location line="+12"/>
         <source>room name changed to: %1</source>
         <translation>numele camerei schimbat la: %1</translation>
     </message>
@@ -781,7 +832,7 @@ Exemplu: https://serverul.meu:8787</translation>
         <translation>numele camerei șters</translation>
     </message>
     <message>
-        <location line="+9"/>
+        <location line="+12"/>
         <source>topic changed to: %1</source>
         <translation>subiect schimbat la: %1</translation>
     </message>
@@ -791,17 +842,17 @@ Exemplu: https://serverul.meu:8787</translation>
         <translation>subiect șters</translation>
     </message>
     <message>
-        <location line="+9"/>
+        <location line="+12"/>
         <source>%1 changed the room avatar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+8"/>
+        <location line="+12"/>
         <source>%1 created and configured room: %2</source>
         <translation>%1 a creat și configurat camera: %2</translation>
     </message>
     <message>
-        <location line="+12"/>
+        <location line="+15"/>
         <source>%1 placed a voice call.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -816,17 +867,17 @@ Exemplu: https://serverul.meu:8787</translation>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+11"/>
+        <location line="+14"/>
         <source>%1 answered the call.</source>
         <translation>%1 a răspuns apelului.</translation>
     </message>
     <message>
-        <location line="+9"/>
+        <location line="+12"/>
         <source>%1 ended the call.</source>
         <translation>%1 a închis apelul.</translation>
     </message>
     <message>
-        <location line="+9"/>
+        <location line="+12"/>
         <source>Negotiating call...</source>
         <translation type="unfinished"></translation>
     </message>
@@ -834,7 +885,7 @@ Exemplu: https://serverul.meu:8787</translation>
 <context>
     <name>MessageInput</name>
     <message>
-        <location filename="../qml/MessageInput.qml" line="+43"/>
+        <location filename="../qml/MessageInput.qml" line="+44"/>
         <source>Hang up</source>
         <translation type="unfinished"></translation>
     </message>
@@ -855,6 +906,11 @@ Exemplu: https://serverul.meu:8787</translation>
     </message>
     <message>
         <location line="+214"/>
+        <source>Stickers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+24"/>
         <source>Emoji</source>
         <translation type="unfinished"></translation>
     </message>
@@ -872,17 +928,17 @@ Exemplu: https://serverul.meu:8787</translation>
 <context>
     <name>MessageView</name>
     <message>
-        <location filename="../qml/MessageView.qml" line="+83"/>
+        <location filename="../qml/MessageView.qml" line="+87"/>
         <source>Edit</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+15"/>
+        <location line="+16"/>
         <source>React</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+13"/>
+        <location line="+16"/>
         <source>Reply</source>
         <translation type="unfinished">Răspuns</translation>
     </message>
@@ -892,7 +948,7 @@ Exemplu: https://serverul.meu:8787</translation>
         <translation type="unfinished">Opțiuni</translation>
     </message>
     <message>
-        <location line="+329"/>
+        <location line="+405"/>
         <source>&amp;Copy</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1100,7 +1156,7 @@ Exemplu: https://serverul.meu:8787</translation>
 <context>
     <name>Placeholder</name>
     <message>
-        <location filename="../qml/delegates/Placeholder.qml" line="+9"/>
+        <location filename="../qml/delegates/Placeholder.qml" line="+11"/>
         <source>unimplemented event: </source>
         <translation>eveniment neimplementat: </translation>
     </message>
@@ -1220,7 +1276,7 @@ Exemplu: https://serverul.meu:8787</translation>
 <context>
     <name>ReplyPopup</name>
     <message>
-        <location filename="../qml/ReplyPopup.qml" line="+47"/>
+        <location filename="../qml/ReplyPopup.qml" line="+62"/>
         <source>Close</source>
         <translation type="unfinished">Închide</translation>
     </message>
@@ -1233,7 +1289,7 @@ Exemplu: https://serverul.meu:8787</translation>
 <context>
     <name>RoomInfo</name>
     <message>
-        <location filename="../../src/Cache.cpp" line="+4009"/>
+        <location filename="../../src/Cache.cpp" line="+4180"/>
         <source>no version stored</source>
         <translation>nicio versiune stocată</translation>
     </message>
@@ -1241,7 +1297,7 @@ Exemplu: https://serverul.meu:8787</translation>
 <context>
     <name>RoomList</name>
     <message>
-        <location filename="../qml/RoomList.qml" line="+56"/>
+        <location filename="../qml/RoomList.qml" line="+57"/>
         <source>New tag</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1251,6 +1307,16 @@ Exemplu: https://serverul.meu:8787</translation>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+9"/>
+        <source>Leave Room</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>Are you sure you want to leave this room?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <location line="+7"/>
         <source>Leave room</source>
         <translation type="unfinished">Părăsește camera</translation>
@@ -1281,17 +1347,7 @@ Exemplu: https://serverul.meu:8787</translation>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+222"/>
-        <source>Accept</source>
-        <translation type="unfinished">Acceptare</translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>Decline</source>
-        <translation type="unfinished">Refuzare</translation>
-    </message>
-    <message>
-        <location line="+68"/>
+        <location line="+268"/>
         <source>Status Message</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1342,19 +1398,42 @@ Exemplu: https://serverul.meu:8787</translation>
     </message>
 </context>
 <context>
+    <name>RoomMembers</name>
+    <message>
+        <location filename="../qml/RoomMembers.qml" line="+17"/>
+        <source>Members of %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message numerus="yes">
+        <location line="+32"/>
+        <source>%n people in %1</source>
+        <comment>Summary above list of members</comment>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+            <numerusform></numerusform>
+            <numerusform></numerusform>
+        </translation>
+    </message>
+    <message>
+        <location line="+10"/>
+        <source>Invite more people</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>RoomSettings</name>
     <message>
-        <location filename="../qml/RoomSettings.qml" line="+25"/>
+        <location filename="../qml/RoomSettings.qml" line="+26"/>
         <source>Room Settings</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+79"/>
+        <location line="+80"/>
         <source>%1 member(s)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+43"/>
+        <location line="+55"/>
         <source>SETTINGS</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1410,19 +1489,22 @@ Exemplu: https://serverul.meu:8787</translation>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+17"/>
-        <source>Respond to key requests</source>
+        <location line="+16"/>
+        <source>Sticker &amp; Emote Settings</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+5"/>
-        <source>Whether or not the client should respond automatically with the session keys
-                                upon request. Use with caution, this is a temporary measure to test the
-                                E2E implementation until device verification is completed.</source>
+        <location line="+4"/>
+        <source>Change</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+21"/>
+        <location line="+1"/>
+        <source>Change what packs are enabled, remove packs or create new ones</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+16"/>
         <source>INFO</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1437,12 +1519,7 @@ Exemplu: https://serverul.meu:8787</translation>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+13"/>
-        <source>OK</source>
-        <translation type="unfinished">OK</translation>
-    </message>
-    <message>
-        <location filename="../../src/ui/RoomSettings.cpp" line="+268"/>
+        <location filename="../../src/ui/RoomSettings.cpp" line="+255"/>
         <source>Failed to enable encryption: %1</source>
         <translation type="unfinished">Nu s-a putut activa criptarea: %1</translation>
     </message>
@@ -1474,6 +1551,24 @@ Exemplu: https://serverul.meu:8787</translation>
     </message>
 </context>
 <context>
+    <name>RoomlistModel</name>
+    <message>
+        <location filename="../../src/timeline/RoomlistModel.cpp" line="+143"/>
+        <source>Pending invite.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+30"/>
+        <source>Previewing this room</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+34"/>
+        <source>No preview available</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>ScreenShare</name>
     <message>
         <location filename="../qml/voip/ScreenShare.qml" line="+30"/>
@@ -1530,7 +1625,7 @@ Exemplu: https://serverul.meu:8787</translation>
 <context>
     <name>StatusIndicator</name>
     <message>
-        <location filename="../qml/StatusIndicator.qml" line="+21"/>
+        <location filename="../qml/StatusIndicator.qml" line="+24"/>
         <source>Failed</source>
         <translation>Eșuat</translation>
     </message>
@@ -1551,6 +1646,14 @@ Exemplu: https://serverul.meu:8787</translation>
     </message>
 </context>
 <context>
+    <name>StickerPicker</name>
+    <message>
+        <location filename="../qml/emoji/StickerPicker.qml" line="+70"/>
+        <source>Search</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>Success</name>
     <message>
         <location filename="../qml/device-verification/Success.qml" line="+11"/>
@@ -1571,7 +1674,7 @@ Exemplu: https://serverul.meu:8787</translation>
 <context>
     <name>TimelineModel</name>
     <message>
-        <location filename="../../src/timeline/TimelineModel.cpp" line="+1095"/>
+        <location filename="../../src/timeline/TimelineModel.cpp" line="+1107"/>
         <source>Message redaction failed: %1</source>
         <translation>Redactare mesaj eșuată: %1</translation>
     </message>
@@ -1582,7 +1685,7 @@ Exemplu: https://serverul.meu:8787</translation>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+164"/>
+        <location line="+173"/>
         <source>Save image</source>
         <translation>Salvați imaginea</translation>
     </message>
@@ -1717,12 +1820,12 @@ Exemplu: https://serverul.meu:8787</translation>
         <translation>%1 și-a redactat ciocănitul.</translation>
     </message>
     <message>
-        <location line="-883"/>
+        <location line="-884"/>
         <source>You joined this room.</source>
         <translation>Te-ai alăturat camerei.</translation>
     </message>
     <message>
-        <location line="+849"/>
+        <location line="+850"/>
         <source>%1 has changed their avatar and changed their display name to %2.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1751,7 +1854,7 @@ Exemplu: https://serverul.meu:8787</translation>
 <context>
     <name>TimelineRow</name>
     <message>
-        <location filename="../qml/TimelineRow.qml" line="+106"/>
+        <location filename="../qml/TimelineRow.qml" line="+180"/>
         <source>Edited</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1759,17 +1862,32 @@ Exemplu: https://serverul.meu:8787</translation>
 <context>
     <name>TimelineView</name>
     <message>
-        <location filename="../qml/TimelineView.qml" line="+27"/>
+        <location filename="../qml/TimelineView.qml" line="+30"/>
         <source>No room open</source>
         <translation>Nicio cameră deschisă</translation>
     </message>
     <message>
-        <location line="+127"/>
+        <location line="+139"/>
         <source>%1 member(s)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+46"/>
+        <location line="+33"/>
+        <source>join the conversation</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+7"/>
+        <source>accept invite</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+7"/>
+        <source>decline invite</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+27"/>
         <source>Back to room list</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1777,7 +1895,7 @@ Exemplu: https://serverul.meu:8787</translation>
 <context>
     <name>TimelineViewManager</name>
     <message>
-        <location filename="../../src/timeline/TimelineViewManager.cpp" line="+461"/>
+        <location filename="../../src/timeline/TimelineViewManager.cpp" line="+527"/>
         <source>No encrypted private chat found with this user. Create an encrypted private chat with this user and try again.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1785,18 +1903,17 @@ Exemplu: https://serverul.meu:8787</translation>
 <context>
     <name>TopBar</name>
     <message>
-        <location filename="../qml/TopBar.qml" line="+51"/>
+        <location filename="../qml/TopBar.qml" line="+54"/>
         <source>Back to room list</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+12"/>
-        <location line="+10"/>
+        <location line="-39"/>
         <source>No room selected</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+24"/>
+        <location line="+90"/>
         <source>Room options</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1837,7 +1954,7 @@ Exemplu: https://serverul.meu:8787</translation>
 <context>
     <name>UserProfile</name>
     <message>
-        <location filename="../qml/UserProfile.qml" line="+24"/>
+        <location filename="../qml/UserProfile.qml" line="+25"/>
         <source>Global User Profile</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1847,7 +1964,7 @@ Exemplu: https://serverul.meu:8787</translation>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+114"/>
+        <location line="+115"/>
         <location line="+107"/>
         <source>Verify</source>
         <translation type="unfinished"></translation>
@@ -1896,7 +2013,7 @@ Exemplu: https://serverul.meu:8787</translation>
 <context>
     <name>UserSettings</name>
     <message>
-        <location filename="../../src/UserSettingsPage.cpp" line="+362"/>
+        <location filename="../../src/UserSettingsPage.cpp" line="+363"/>
         <location filename="../../src/UserSettingsPage.h" line="+194"/>
         <source>Default</source>
         <translation type="unfinished"></translation>
@@ -1905,7 +2022,7 @@ Exemplu: https://serverul.meu:8787</translation>
 <context>
     <name>UserSettingsPage</name>
     <message>
-        <location line="+524"/>
+        <location line="+525"/>
         <source>Minimize to tray</source>
         <translation>Minimizează în bara de notificări</translation>
     </message>
@@ -2351,7 +2468,7 @@ This usually causes the application icon in the task bar to animate in some fash
 <context>
     <name>Waiting</name>
     <message>
-        <location filename="../qml/device-verification/Waiting.qml" line="+11"/>
+        <location filename="../qml/device-verification/Waiting.qml" line="+12"/>
         <source>Waiting for other party…</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2402,7 +2519,7 @@ This usually causes the application icon in the task bar to animate in some fash
 <context>
     <name>descriptiveTime</name>
     <message>
-        <location filename="../../src/Utils.cpp" line="+207"/>
+        <location filename="../../src/Utils.cpp" line="+184"/>
         <source>Yesterday</source>
         <translation>Ieri</translation>
     </message>
@@ -2474,19 +2591,6 @@ This usually causes the application icon in the task bar to animate in some fash
     </message>
 </context>
 <context>
-    <name>dialogs::InviteUsers</name>
-    <message>
-        <location filename="../../src/dialogs/InviteUsers.cpp" line="+46"/>
-        <source>Cancel</source>
-        <translation>Anulare</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>User ID to invite</source>
-        <translation>IDul utilizatorului de invitat</translation>
-    </message>
-</context>
-<context>
     <name>dialogs::JoinRoom</name>
     <message>
         <location filename="../../src/dialogs/JoinRoom.cpp" line="+34"/>
@@ -2599,7 +2703,7 @@ Dimensiune media: %2
 <context>
     <name>message-description sent:</name>
     <message>
-        <location filename="../../src/Utils.h" line="+124"/>
+        <location filename="../../src/Utils.h" line="+115"/>
         <source>You sent an audio clip</source>
         <translation>Ai trimis un clip audio</translation>
     </message>
diff --git a/resources/langs/nheko_ru.ts b/resources/langs/nheko_ru.ts
index 6f2b19af..67a306f2 100644
--- a/resources/langs/nheko_ru.ts
+++ b/resources/langs/nheko_ru.ts
@@ -38,7 +38,7 @@
 <context>
     <name>AwaitingVerificationConfirmation</name>
     <message>
-        <location filename="../qml/device-verification/AwaitingVerificationConfirmation.qml" line="+11"/>
+        <location filename="../qml/device-verification/AwaitingVerificationConfirmation.qml" line="+12"/>
         <source>Awaiting Confirmation</source>
         <translation>Ожидание Подтверждения</translation>
     </message>
@@ -48,7 +48,7 @@
         <translation>Ожидание подтверждения у собеседника.</translation>
     </message>
     <message>
-        <location line="+12"/>
+        <location line="+13"/>
         <source>Cancel</source>
         <translation>Отмена</translation>
     </message>
@@ -125,7 +125,7 @@
 <context>
     <name>ChatPage</name>
     <message>
-        <location filename="../../src/ChatPage.cpp" line="+133"/>
+        <location filename="../../src/ChatPage.cpp" line="+135"/>
         <source>Failed to invite user: %1</source>
         <translation>Не удалось пригласить пользователя: %1</translation>
     </message>
@@ -157,12 +157,12 @@
     </message>
     <message>
         <location line="+34"/>
-        <location line="+280"/>
+        <location line="+286"/>
         <source>Confirm invite</source>
         <translation>Подтвердите приглашение</translation>
     </message>
     <message>
-        <location line="-279"/>
+        <location line="-285"/>
         <source>Do you really want to invite %1 (%2)?</source>
         <translation>Вы точно хотите пригласить %1 (%2)?</translation>
     </message>
@@ -227,12 +227,12 @@
         <translation>Разблокированный пользователь: %1</translation>
     </message>
     <message>
-        <location line="+183"/>
+        <location line="+189"/>
         <source>Do you really want to start a private chat with %1?</source>
         <translation>Вы действительно хотите начать личную переписку с %1?</translation>
     </message>
     <message>
-        <location line="-721"/>
+        <location line="-727"/>
         <source>Cache migration failed!</source>
         <translation>Миграция кэша не удалась!</translation>
     </message>
@@ -352,7 +352,7 @@
 <context>
     <name>CrossSigningSecrets</name>
     <message>
-        <location filename="../../src/ChatPage.cpp" line="+183"/>
+        <location filename="../../src/ChatPage.cpp" line="+189"/>
         <source>Decrypt secrets</source>
         <translation>Расшифровать секреты</translation>
     </message>
@@ -426,12 +426,12 @@
 <context>
     <name>EmojiPicker</name>
     <message>
-        <location filename="../qml/emoji/EmojiPicker.qml" line="+59"/>
+        <location filename="../qml/emoji/EmojiPicker.qml" line="+68"/>
         <source>Search</source>
         <translation>Поиск</translation>
     </message>
     <message>
-        <location line="+172"/>
+        <location line="+186"/>
         <source>People</source>
         <translation>Люди</translation>
     </message>
@@ -605,9 +605,47 @@
     </message>
 </context>
 <context>
+    <name>ImagePackSettingsDialog</name>
+    <message>
+        <location filename="../qml/dialogs/ImagePackSettingsDialog.qml" line="+22"/>
+        <source>Image pack settings</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+151"/>
+        <source>Private pack</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Pack from this room</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Globally enabled pack</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+59"/>
+        <source>Enable globally</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Enables this pack to be used in all rooms</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+62"/>
+        <source>Close</source>
+        <translation type="unfinished">Закрыть</translation>
+    </message>
+</context>
+<context>
     <name>InputBar</name>
     <message>
-        <location filename="../../src/timeline/InputBar.cpp" line="+233"/>
+        <location filename="../../src/timeline/InputBar.cpp" line="+234"/>
         <source>Select a file</source>
         <translation>Выберите файл</translation>
     </message>
@@ -617,17 +655,43 @@
         <translation>Все файлы (*)</translation>
     </message>
     <message>
-        <location line="+417"/>
+        <location line="+442"/>
         <source>Failed to upload media. Please try again.</source>
         <translation>Не удалось загрузить медиа. Пожалуйста попробуйте ещё раз</translation>
     </message>
 </context>
 <context>
-    <name>InviteeItem</name>
+    <name>InviteDialog</name>
     <message>
-        <location filename="../../src/InviteeItem.cpp" line="+22"/>
-        <source>Remove</source>
-        <translation>Удалить</translation>
+        <location filename="../qml/InviteDialog.qml" line="+32"/>
+        <source>Invite users to %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+24"/>
+        <source>User ID to invite</source>
+        <translation type="unfinished">Идентификатор пользователя</translation>
+    </message>
+    <message>
+        <location line="+14"/>
+        <source>@joe:matrix.org</source>
+        <comment>Example user id. The name &apos;joe&apos; can be localized however you want.</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+17"/>
+        <source>Add</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+58"/>
+        <source>Invite</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+7"/>
+        <source>Cancel</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -745,22 +809,9 @@ Example: https://server.my:8787</source>
     </message>
 </context>
 <context>
-    <name>MemberList</name>
-    <message>
-        <location filename="../../src/dialogs/MemberList.cpp" line="+94"/>
-        <source>Room members</source>
-        <translation>Участники комнаты</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>OK</source>
-        <translation>ОК</translation>
-    </message>
-</context>
-<context>
     <name>MessageDelegate</name>
     <message>
-        <location filename="../qml/delegates/MessageDelegate.qml" line="+110"/>
+        <location filename="../qml/delegates/MessageDelegate.qml" line="+169"/>
         <location line="+9"/>
         <source>removed</source>
         <translation>убрано</translation>
@@ -771,7 +822,7 @@ Example: https://server.my:8787</source>
         <translation>Шифрование включено</translation>
     </message>
     <message>
-        <location line="+9"/>
+        <location line="+12"/>
         <source>room name changed to: %1</source>
         <translation>имя комнаты изменено на: %1</translation>
     </message>
@@ -781,7 +832,7 @@ Example: https://server.my:8787</source>
         <translation>название комнаты убрано</translation>
     </message>
     <message>
-        <location line="+9"/>
+        <location line="+12"/>
         <source>topic changed to: %1</source>
         <translation>тема изменена на: %1</translation>
     </message>
@@ -791,17 +842,17 @@ Example: https://server.my:8787</source>
         <translation>тема убрана</translation>
     </message>
     <message>
-        <location line="+9"/>
+        <location line="+12"/>
         <source>%1 changed the room avatar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+8"/>
+        <location line="+12"/>
         <source>%1 created and configured room: %2</source>
         <translation>%1 создал и настроил комнату: %2</translation>
     </message>
     <message>
-        <location line="+12"/>
+        <location line="+15"/>
         <source>%1 placed a voice call.</source>
         <translation>%1 начал голосовой звонок.</translation>
     </message>
@@ -816,17 +867,17 @@ Example: https://server.my:8787</source>
         <translation>%1 начал вызов.</translation>
     </message>
     <message>
-        <location line="+11"/>
+        <location line="+14"/>
         <source>%1 answered the call.</source>
         <translation>%1 ответил на звонок.</translation>
     </message>
     <message>
-        <location line="+9"/>
+        <location line="+12"/>
         <source>%1 ended the call.</source>
         <translation>%1 завершил вызов.</translation>
     </message>
     <message>
-        <location line="+9"/>
+        <location line="+12"/>
         <source>Negotiating call...</source>
         <translation>Совершение звонка...</translation>
     </message>
@@ -834,7 +885,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>MessageInput</name>
     <message>
-        <location filename="../qml/MessageInput.qml" line="+43"/>
+        <location filename="../qml/MessageInput.qml" line="+44"/>
         <source>Hang up</source>
         <translation>Завершить звонок</translation>
     </message>
@@ -855,6 +906,11 @@ Example: https://server.my:8787</source>
     </message>
     <message>
         <location line="+214"/>
+        <source>Stickers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+24"/>
         <source>Emoji</source>
         <translation>Эмоджи</translation>
     </message>
@@ -872,17 +928,17 @@ Example: https://server.my:8787</source>
 <context>
     <name>MessageView</name>
     <message>
-        <location filename="../qml/MessageView.qml" line="+83"/>
+        <location filename="../qml/MessageView.qml" line="+87"/>
         <source>Edit</source>
         <translation>Редактировать</translation>
     </message>
     <message>
-        <location line="+15"/>
+        <location line="+16"/>
         <source>React</source>
         <translation>Реакция</translation>
     </message>
     <message>
-        <location line="+13"/>
+        <location line="+16"/>
         <source>Reply</source>
         <translation>Ответить</translation>
     </message>
@@ -892,7 +948,7 @@ Example: https://server.my:8787</source>
         <translation>Опции</translation>
     </message>
     <message>
-        <location line="+329"/>
+        <location line="+405"/>
         <source>&amp;Copy</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1100,7 +1156,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>Placeholder</name>
     <message>
-        <location filename="../qml/delegates/Placeholder.qml" line="+9"/>
+        <location filename="../qml/delegates/Placeholder.qml" line="+11"/>
         <source>unimplemented event: </source>
         <translation>не реализованное событие</translation>
     </message>
@@ -1220,7 +1276,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>ReplyPopup</name>
     <message>
-        <location filename="../qml/ReplyPopup.qml" line="+47"/>
+        <location filename="../qml/ReplyPopup.qml" line="+62"/>
         <source>Close</source>
         <translation>Закрыть</translation>
     </message>
@@ -1233,7 +1289,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>RoomInfo</name>
     <message>
-        <location filename="../../src/Cache.cpp" line="+4009"/>
+        <location filename="../../src/Cache.cpp" line="+4180"/>
         <source>no version stored</source>
         <translation>нет сохраненной версии</translation>
     </message>
@@ -1241,7 +1297,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>RoomList</name>
     <message>
-        <location filename="../qml/RoomList.qml" line="+56"/>
+        <location filename="../qml/RoomList.qml" line="+57"/>
         <source>New tag</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1251,6 +1307,16 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+9"/>
+        <source>Leave Room</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>Are you sure you want to leave this room?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <location line="+7"/>
         <source>Leave room</source>
         <translation type="unfinished">Покинуть комнату</translation>
@@ -1281,17 +1347,7 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+222"/>
-        <source>Accept</source>
-        <translation type="unfinished">Принять</translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>Decline</source>
-        <translation type="unfinished">Отказаться</translation>
-    </message>
-    <message>
-        <location line="+68"/>
+        <location line="+268"/>
         <source>Status Message</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1342,19 +1398,42 @@ Example: https://server.my:8787</source>
     </message>
 </context>
 <context>
+    <name>RoomMembers</name>
+    <message>
+        <location filename="../qml/RoomMembers.qml" line="+17"/>
+        <source>Members of %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message numerus="yes">
+        <location line="+32"/>
+        <source>%n people in %1</source>
+        <comment>Summary above list of members</comment>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+            <numerusform></numerusform>
+            <numerusform></numerusform>
+        </translation>
+    </message>
+    <message>
+        <location line="+10"/>
+        <source>Invite more people</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>RoomSettings</name>
     <message>
-        <location filename="../qml/RoomSettings.qml" line="+25"/>
+        <location filename="../qml/RoomSettings.qml" line="+26"/>
         <source>Room Settings</source>
         <translation>Настройки комнаты</translation>
     </message>
     <message>
-        <location line="+79"/>
+        <location line="+80"/>
         <source>%1 member(s)</source>
         <translation>%1 участник(ов)</translation>
     </message>
     <message>
-        <location line="+43"/>
+        <location line="+55"/>
         <source>SETTINGS</source>
         <translation>НАЙСТРОЙКИ</translation>
     </message>
@@ -1410,19 +1489,22 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+17"/>
-        <source>Respond to key requests</source>
-        <translation>Отвечать на запрос ключей</translation>
+        <location line="+16"/>
+        <source>Sticker &amp; Emote Settings</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+5"/>
-        <source>Whether or not the client should respond automatically with the session keys
-                                upon request. Use with caution, this is a temporary measure to test the
-                                E2E implementation until device verification is completed.</source>
+        <location line="+4"/>
+        <source>Change</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+21"/>
+        <location line="+1"/>
+        <source>Change what packs are enabled, remove packs or create new ones</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+16"/>
         <source>INFO</source>
         <translation>ИНФОРМАЦИЯ</translation>
     </message>
@@ -1437,12 +1519,7 @@ Example: https://server.my:8787</source>
         <translation>Версия Комнаты</translation>
     </message>
     <message>
-        <location line="+13"/>
-        <source>OK</source>
-        <translation>ОК</translation>
-    </message>
-    <message>
-        <location filename="../../src/ui/RoomSettings.cpp" line="+268"/>
+        <location filename="../../src/ui/RoomSettings.cpp" line="+255"/>
         <source>Failed to enable encryption: %1</source>
         <translation>Не удалось включить шифрование: %1</translation>
     </message>
@@ -1474,6 +1551,24 @@ Example: https://server.my:8787</source>
     </message>
 </context>
 <context>
+    <name>RoomlistModel</name>
+    <message>
+        <location filename="../../src/timeline/RoomlistModel.cpp" line="+143"/>
+        <source>Pending invite.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+30"/>
+        <source>Previewing this room</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+34"/>
+        <source>No preview available</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>ScreenShare</name>
     <message>
         <location filename="../qml/voip/ScreenShare.qml" line="+30"/>
@@ -1530,7 +1625,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>StatusIndicator</name>
     <message>
-        <location filename="../qml/StatusIndicator.qml" line="+21"/>
+        <location filename="../qml/StatusIndicator.qml" line="+24"/>
         <source>Failed</source>
         <translation>Не удалоcь</translation>
     </message>
@@ -1551,6 +1646,14 @@ Example: https://server.my:8787</source>
     </message>
 </context>
 <context>
+    <name>StickerPicker</name>
+    <message>
+        <location filename="../qml/emoji/StickerPicker.qml" line="+70"/>
+        <source>Search</source>
+        <translation type="unfinished">Поиск</translation>
+    </message>
+</context>
+<context>
     <name>Success</name>
     <message>
         <location filename="../qml/device-verification/Success.qml" line="+11"/>
@@ -1571,7 +1674,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>TimelineModel</name>
     <message>
-        <location filename="../../src/timeline/TimelineModel.cpp" line="+1095"/>
+        <location filename="../../src/timeline/TimelineModel.cpp" line="+1107"/>
         <source>Message redaction failed: %1</source>
         <translation>Ошибка редактирования сообщения: %1</translation>
     </message>
@@ -1582,7 +1685,7 @@ Example: https://server.my:8787</source>
         <translation>Не удалось зашифровать сообщение, отправка отменена!</translation>
     </message>
     <message>
-        <location line="+164"/>
+        <location line="+173"/>
         <source>Save image</source>
         <translation>Сохранить изображение</translation>
     </message>
@@ -1717,12 +1820,12 @@ Example: https://server.my:8787</source>
         <translation>%1 отредактировал его &quot;стук&quot;.</translation>
     </message>
     <message>
-        <location line="-883"/>
+        <location line="-884"/>
         <source>You joined this room.</source>
         <translation>Вы присоединились к этой комнате.</translation>
     </message>
     <message>
-        <location line="+849"/>
+        <location line="+850"/>
         <source>%1 has changed their avatar and changed their display name to %2.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1751,7 +1854,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>TimelineRow</name>
     <message>
-        <location filename="../qml/TimelineRow.qml" line="+106"/>
+        <location filename="../qml/TimelineRow.qml" line="+180"/>
         <source>Edited</source>
         <translation>Изменено</translation>
     </message>
@@ -1759,17 +1862,32 @@ Example: https://server.my:8787</source>
 <context>
     <name>TimelineView</name>
     <message>
-        <location filename="../qml/TimelineView.qml" line="+27"/>
+        <location filename="../qml/TimelineView.qml" line="+30"/>
         <source>No room open</source>
         <translation>Комната не выбрана</translation>
     </message>
     <message>
-        <location line="+127"/>
+        <location line="+139"/>
         <source>%1 member(s)</source>
         <translation type="unfinished">%1 участник(ов)</translation>
     </message>
     <message>
-        <location line="+46"/>
+        <location line="+33"/>
+        <source>join the conversation</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+7"/>
+        <source>accept invite</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+7"/>
+        <source>decline invite</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+27"/>
         <source>Back to room list</source>
         <translation type="unfinished">Вернуться к списку комнат</translation>
     </message>
@@ -1777,7 +1895,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>TimelineViewManager</name>
     <message>
-        <location filename="../../src/timeline/TimelineViewManager.cpp" line="+461"/>
+        <location filename="../../src/timeline/TimelineViewManager.cpp" line="+527"/>
         <source>No encrypted private chat found with this user. Create an encrypted private chat with this user and try again.</source>
         <translation>Не найдено личного чата с этим пользователем. Создайте зашифрованный личный чат с этим пользователем и попытайтесь еще раз.</translation>
     </message>
@@ -1785,18 +1903,17 @@ Example: https://server.my:8787</source>
 <context>
     <name>TopBar</name>
     <message>
-        <location filename="../qml/TopBar.qml" line="+51"/>
+        <location filename="../qml/TopBar.qml" line="+54"/>
         <source>Back to room list</source>
         <translation>Вернуться к списку комнат</translation>
     </message>
     <message>
-        <location line="+12"/>
-        <location line="+10"/>
+        <location line="-39"/>
         <source>No room selected</source>
         <translation>Комнаты не выбраны</translation>
     </message>
     <message>
-        <location line="+24"/>
+        <location line="+90"/>
         <source>Room options</source>
         <translation>Настройки комнаты</translation>
     </message>
@@ -1837,7 +1954,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>UserProfile</name>
     <message>
-        <location filename="../qml/UserProfile.qml" line="+24"/>
+        <location filename="../qml/UserProfile.qml" line="+25"/>
         <source>Global User Profile</source>
         <translation>Глобальный Пользовательский Профиль</translation>
     </message>
@@ -1847,7 +1964,7 @@ Example: https://server.my:8787</source>
         <translation>Поользовательский Профиль в Комнате</translation>
     </message>
     <message>
-        <location line="+114"/>
+        <location line="+115"/>
         <location line="+107"/>
         <source>Verify</source>
         <translation>Верифицировать</translation>
@@ -1896,7 +2013,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>UserSettings</name>
     <message>
-        <location filename="../../src/UserSettingsPage.cpp" line="+362"/>
+        <location filename="../../src/UserSettingsPage.cpp" line="+363"/>
         <location filename="../../src/UserSettingsPage.h" line="+194"/>
         <source>Default</source>
         <translation>По умолчанию</translation>
@@ -1905,7 +2022,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>UserSettingsPage</name>
     <message>
-        <location line="+524"/>
+        <location line="+525"/>
         <source>Minimize to tray</source>
         <translation>Сворачивать в системную панель</translation>
     </message>
@@ -2357,7 +2474,7 @@ This usually causes the application icon in the task bar to animate in some fash
 <context>
     <name>Waiting</name>
     <message>
-        <location filename="../qml/device-verification/Waiting.qml" line="+11"/>
+        <location filename="../qml/device-verification/Waiting.qml" line="+12"/>
         <source>Waiting for other party…</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2408,7 +2525,7 @@ This usually causes the application icon in the task bar to animate in some fash
 <context>
     <name>descriptiveTime</name>
     <message>
-        <location filename="../../src/Utils.cpp" line="+207"/>
+        <location filename="../../src/Utils.cpp" line="+184"/>
         <source>Yesterday</source>
         <translation>Вчера</translation>
     </message>
@@ -2480,19 +2597,6 @@ This usually causes the application icon in the task bar to animate in some fash
     </message>
 </context>
 <context>
-    <name>dialogs::InviteUsers</name>
-    <message>
-        <location filename="../../src/dialogs/InviteUsers.cpp" line="+46"/>
-        <source>Cancel</source>
-        <translation>Отмена</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>User ID to invite</source>
-        <translation>Идентификатор пользователя</translation>
-    </message>
-</context>
-<context>
     <name>dialogs::JoinRoom</name>
     <message>
         <location filename="../../src/dialogs/JoinRoom.cpp" line="+34"/>
@@ -2605,7 +2709,7 @@ Media size: %2
 <context>
     <name>message-description sent:</name>
     <message>
-        <location filename="../../src/Utils.h" line="+124"/>
+        <location filename="../../src/Utils.h" line="+115"/>
         <source>You sent an audio clip</source>
         <translation>Вы отправили аудио запись</translation>
     </message>
diff --git a/resources/langs/nheko_si.ts b/resources/langs/nheko_si.ts
index a80adb1b..cf425990 100644
--- a/resources/langs/nheko_si.ts
+++ b/resources/langs/nheko_si.ts
@@ -38,7 +38,7 @@
 <context>
     <name>AwaitingVerificationConfirmation</name>
     <message>
-        <location filename="../qml/device-verification/AwaitingVerificationConfirmation.qml" line="+11"/>
+        <location filename="../qml/device-verification/AwaitingVerificationConfirmation.qml" line="+12"/>
         <source>Awaiting Confirmation</source>
         <translation type="unfinished"></translation>
     </message>
@@ -48,7 +48,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+12"/>
+        <location line="+13"/>
         <source>Cancel</source>
         <translation type="unfinished"></translation>
     </message>
@@ -125,7 +125,7 @@
 <context>
     <name>ChatPage</name>
     <message>
-        <location filename="../../src/ChatPage.cpp" line="+133"/>
+        <location filename="../../src/ChatPage.cpp" line="+135"/>
         <source>Failed to invite user: %1</source>
         <translation type="unfinished"></translation>
     </message>
@@ -157,12 +157,12 @@
     </message>
     <message>
         <location line="+34"/>
-        <location line="+280"/>
+        <location line="+286"/>
         <source>Confirm invite</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-279"/>
+        <location line="-285"/>
         <source>Do you really want to invite %1 (%2)?</source>
         <translation type="unfinished"></translation>
     </message>
@@ -227,12 +227,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+183"/>
+        <location line="+189"/>
         <source>Do you really want to start a private chat with %1?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-721"/>
+        <location line="-727"/>
         <source>Cache migration failed!</source>
         <translation type="unfinished"></translation>
     </message>
@@ -352,7 +352,7 @@
 <context>
     <name>CrossSigningSecrets</name>
     <message>
-        <location filename="../../src/ChatPage.cpp" line="+183"/>
+        <location filename="../../src/ChatPage.cpp" line="+189"/>
         <source>Decrypt secrets</source>
         <translation type="unfinished"></translation>
     </message>
@@ -426,12 +426,12 @@
 <context>
     <name>EmojiPicker</name>
     <message>
-        <location filename="../qml/emoji/EmojiPicker.qml" line="+59"/>
+        <location filename="../qml/emoji/EmojiPicker.qml" line="+68"/>
         <source>Search</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+172"/>
+        <location line="+186"/>
         <source>People</source>
         <translation type="unfinished"></translation>
     </message>
@@ -605,9 +605,47 @@
     </message>
 </context>
 <context>
+    <name>ImagePackSettingsDialog</name>
+    <message>
+        <location filename="../qml/dialogs/ImagePackSettingsDialog.qml" line="+22"/>
+        <source>Image pack settings</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+151"/>
+        <source>Private pack</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Pack from this room</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Globally enabled pack</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+59"/>
+        <source>Enable globally</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Enables this pack to be used in all rooms</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+62"/>
+        <source>Close</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>InputBar</name>
     <message>
-        <location filename="../../src/timeline/InputBar.cpp" line="+233"/>
+        <location filename="../../src/timeline/InputBar.cpp" line="+234"/>
         <source>Select a file</source>
         <translation type="unfinished"></translation>
     </message>
@@ -617,16 +655,42 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+417"/>
+        <location line="+442"/>
         <source>Failed to upload media. Please try again.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>InviteeItem</name>
+    <name>InviteDialog</name>
+    <message>
+        <location filename="../qml/InviteDialog.qml" line="+32"/>
+        <source>Invite users to %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+24"/>
+        <source>User ID to invite</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+14"/>
+        <source>@joe:matrix.org</source>
+        <comment>Example user id. The name &apos;joe&apos; can be localized however you want.</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+17"/>
+        <source>Add</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+58"/>
+        <source>Invite</source>
+        <translation type="unfinished"></translation>
+    </message>
     <message>
-        <location filename="../../src/InviteeItem.cpp" line="+22"/>
-        <source>Remove</source>
+        <location line="+7"/>
+        <source>Cancel</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -741,22 +805,9 @@ Example: https://server.my:8787</source>
     </message>
 </context>
 <context>
-    <name>MemberList</name>
-    <message>
-        <location filename="../../src/dialogs/MemberList.cpp" line="+94"/>
-        <source>Room members</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>OK</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
     <name>MessageDelegate</name>
     <message>
-        <location filename="../qml/delegates/MessageDelegate.qml" line="+110"/>
+        <location filename="../qml/delegates/MessageDelegate.qml" line="+169"/>
         <location line="+9"/>
         <source>removed</source>
         <translation type="unfinished"></translation>
@@ -767,7 +818,7 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+9"/>
+        <location line="+12"/>
         <source>room name changed to: %1</source>
         <translation type="unfinished"></translation>
     </message>
@@ -777,7 +828,7 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+9"/>
+        <location line="+12"/>
         <source>topic changed to: %1</source>
         <translation type="unfinished"></translation>
     </message>
@@ -787,17 +838,17 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+9"/>
+        <location line="+12"/>
         <source>%1 changed the room avatar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+8"/>
+        <location line="+12"/>
         <source>%1 created and configured room: %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+12"/>
+        <location line="+15"/>
         <source>%1 placed a voice call.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -812,17 +863,17 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+11"/>
+        <location line="+14"/>
         <source>%1 answered the call.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+9"/>
+        <location line="+12"/>
         <source>%1 ended the call.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+9"/>
+        <location line="+12"/>
         <source>Negotiating call...</source>
         <translation type="unfinished"></translation>
     </message>
@@ -830,7 +881,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>MessageInput</name>
     <message>
-        <location filename="../qml/MessageInput.qml" line="+43"/>
+        <location filename="../qml/MessageInput.qml" line="+44"/>
         <source>Hang up</source>
         <translation type="unfinished"></translation>
     </message>
@@ -851,6 +902,11 @@ Example: https://server.my:8787</source>
     </message>
     <message>
         <location line="+214"/>
+        <source>Stickers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+24"/>
         <source>Emoji</source>
         <translation type="unfinished"></translation>
     </message>
@@ -868,17 +924,17 @@ Example: https://server.my:8787</source>
 <context>
     <name>MessageView</name>
     <message>
-        <location filename="../qml/MessageView.qml" line="+83"/>
+        <location filename="../qml/MessageView.qml" line="+87"/>
         <source>Edit</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+15"/>
+        <location line="+16"/>
         <source>React</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+13"/>
+        <location line="+16"/>
         <source>Reply</source>
         <translation type="unfinished"></translation>
     </message>
@@ -888,7 +944,7 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+329"/>
+        <location line="+405"/>
         <source>&amp;Copy</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1096,7 +1152,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>Placeholder</name>
     <message>
-        <location filename="../qml/delegates/Placeholder.qml" line="+9"/>
+        <location filename="../qml/delegates/Placeholder.qml" line="+11"/>
         <source>unimplemented event: </source>
         <translation type="unfinished"></translation>
     </message>
@@ -1216,7 +1272,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>ReplyPopup</name>
     <message>
-        <location filename="../qml/ReplyPopup.qml" line="+47"/>
+        <location filename="../qml/ReplyPopup.qml" line="+62"/>
         <source>Close</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1229,7 +1285,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>RoomInfo</name>
     <message>
-        <location filename="../../src/Cache.cpp" line="+4009"/>
+        <location filename="../../src/Cache.cpp" line="+4180"/>
         <source>no version stored</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1237,7 +1293,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>RoomList</name>
     <message>
-        <location filename="../qml/RoomList.qml" line="+56"/>
+        <location filename="../qml/RoomList.qml" line="+57"/>
         <source>New tag</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1247,6 +1303,16 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+9"/>
+        <source>Leave Room</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>Are you sure you want to leave this room?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <location line="+7"/>
         <source>Leave room</source>
         <translation type="unfinished"></translation>
@@ -1277,17 +1343,7 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+222"/>
-        <source>Accept</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>Decline</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+68"/>
+        <location line="+268"/>
         <source>Status Message</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1338,19 +1394,41 @@ Example: https://server.my:8787</source>
     </message>
 </context>
 <context>
+    <name>RoomMembers</name>
+    <message>
+        <location filename="../qml/RoomMembers.qml" line="+17"/>
+        <source>Members of %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message numerus="yes">
+        <location line="+32"/>
+        <source>%n people in %1</source>
+        <comment>Summary above list of members</comment>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+            <numerusform></numerusform>
+        </translation>
+    </message>
+    <message>
+        <location line="+10"/>
+        <source>Invite more people</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>RoomSettings</name>
     <message>
-        <location filename="../qml/RoomSettings.qml" line="+25"/>
+        <location filename="../qml/RoomSettings.qml" line="+26"/>
         <source>Room Settings</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+79"/>
+        <location line="+80"/>
         <source>%1 member(s)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+43"/>
+        <location line="+55"/>
         <source>SETTINGS</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1406,19 +1484,22 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+17"/>
-        <source>Respond to key requests</source>
+        <location line="+16"/>
+        <source>Sticker &amp; Emote Settings</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+5"/>
-        <source>Whether or not the client should respond automatically with the session keys
-                                upon request. Use with caution, this is a temporary measure to test the
-                                E2E implementation until device verification is completed.</source>
+        <location line="+4"/>
+        <source>Change</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+21"/>
+        <location line="+1"/>
+        <source>Change what packs are enabled, remove packs or create new ones</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+16"/>
         <source>INFO</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1433,12 +1514,7 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+13"/>
-        <source>OK</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../src/ui/RoomSettings.cpp" line="+268"/>
+        <location filename="../../src/ui/RoomSettings.cpp" line="+255"/>
         <source>Failed to enable encryption: %1</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1470,6 +1546,24 @@ Example: https://server.my:8787</source>
     </message>
 </context>
 <context>
+    <name>RoomlistModel</name>
+    <message>
+        <location filename="../../src/timeline/RoomlistModel.cpp" line="+143"/>
+        <source>Pending invite.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+30"/>
+        <source>Previewing this room</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+34"/>
+        <source>No preview available</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>ScreenShare</name>
     <message>
         <location filename="../qml/voip/ScreenShare.qml" line="+30"/>
@@ -1526,7 +1620,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>StatusIndicator</name>
     <message>
-        <location filename="../qml/StatusIndicator.qml" line="+21"/>
+        <location filename="../qml/StatusIndicator.qml" line="+24"/>
         <source>Failed</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1547,6 +1641,14 @@ Example: https://server.my:8787</source>
     </message>
 </context>
 <context>
+    <name>StickerPicker</name>
+    <message>
+        <location filename="../qml/emoji/StickerPicker.qml" line="+70"/>
+        <source>Search</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>Success</name>
     <message>
         <location filename="../qml/device-verification/Success.qml" line="+11"/>
@@ -1567,7 +1669,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>TimelineModel</name>
     <message>
-        <location filename="../../src/timeline/TimelineModel.cpp" line="+1095"/>
+        <location filename="../../src/timeline/TimelineModel.cpp" line="+1107"/>
         <source>Message redaction failed: %1</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1578,7 +1680,7 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+164"/>
+        <location line="+173"/>
         <source>Save image</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1712,12 +1814,12 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-883"/>
+        <location line="-884"/>
         <source>You joined this room.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+849"/>
+        <location line="+850"/>
         <source>%1 has changed their avatar and changed their display name to %2.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1746,7 +1848,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>TimelineRow</name>
     <message>
-        <location filename="../qml/TimelineRow.qml" line="+106"/>
+        <location filename="../qml/TimelineRow.qml" line="+180"/>
         <source>Edited</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1754,17 +1856,32 @@ Example: https://server.my:8787</source>
 <context>
     <name>TimelineView</name>
     <message>
-        <location filename="../qml/TimelineView.qml" line="+27"/>
+        <location filename="../qml/TimelineView.qml" line="+30"/>
         <source>No room open</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+127"/>
+        <location line="+139"/>
         <source>%1 member(s)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+46"/>
+        <location line="+33"/>
+        <source>join the conversation</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+7"/>
+        <source>accept invite</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+7"/>
+        <source>decline invite</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+27"/>
         <source>Back to room list</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1772,7 +1889,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>TimelineViewManager</name>
     <message>
-        <location filename="../../src/timeline/TimelineViewManager.cpp" line="+461"/>
+        <location filename="../../src/timeline/TimelineViewManager.cpp" line="+527"/>
         <source>No encrypted private chat found with this user. Create an encrypted private chat with this user and try again.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1780,18 +1897,17 @@ Example: https://server.my:8787</source>
 <context>
     <name>TopBar</name>
     <message>
-        <location filename="../qml/TopBar.qml" line="+51"/>
+        <location filename="../qml/TopBar.qml" line="+54"/>
         <source>Back to room list</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+12"/>
-        <location line="+10"/>
+        <location line="-39"/>
         <source>No room selected</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+24"/>
+        <location line="+90"/>
         <source>Room options</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1832,7 +1948,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>UserProfile</name>
     <message>
-        <location filename="../qml/UserProfile.qml" line="+24"/>
+        <location filename="../qml/UserProfile.qml" line="+25"/>
         <source>Global User Profile</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1842,7 +1958,7 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+114"/>
+        <location line="+115"/>
         <location line="+107"/>
         <source>Verify</source>
         <translation type="unfinished"></translation>
@@ -1891,7 +2007,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>UserSettings</name>
     <message>
-        <location filename="../../src/UserSettingsPage.cpp" line="+362"/>
+        <location filename="../../src/UserSettingsPage.cpp" line="+363"/>
         <location filename="../../src/UserSettingsPage.h" line="+194"/>
         <source>Default</source>
         <translation type="unfinished"></translation>
@@ -1900,7 +2016,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>UserSettingsPage</name>
     <message>
-        <location line="+524"/>
+        <location line="+525"/>
         <source>Minimize to tray</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2346,7 +2462,7 @@ This usually causes the application icon in the task bar to animate in some fash
 <context>
     <name>Waiting</name>
     <message>
-        <location filename="../qml/device-verification/Waiting.qml" line="+11"/>
+        <location filename="../qml/device-verification/Waiting.qml" line="+12"/>
         <source>Waiting for other party…</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2397,7 +2513,7 @@ This usually causes the application icon in the task bar to animate in some fash
 <context>
     <name>descriptiveTime</name>
     <message>
-        <location filename="../../src/Utils.cpp" line="+207"/>
+        <location filename="../../src/Utils.cpp" line="+184"/>
         <source>Yesterday</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2469,19 +2585,6 @@ This usually causes the application icon in the task bar to animate in some fash
     </message>
 </context>
 <context>
-    <name>dialogs::InviteUsers</name>
-    <message>
-        <location filename="../../src/dialogs/InviteUsers.cpp" line="+46"/>
-        <source>Cancel</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>User ID to invite</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
     <name>dialogs::JoinRoom</name>
     <message>
         <location filename="../../src/dialogs/JoinRoom.cpp" line="+34"/>
@@ -2592,7 +2695,7 @@ Media size: %2
 <context>
     <name>message-description sent:</name>
     <message>
-        <location filename="../../src/Utils.h" line="+124"/>
+        <location filename="../../src/Utils.h" line="+115"/>
         <source>You sent an audio clip</source>
         <translation type="unfinished"></translation>
     </message>
diff --git a/resources/langs/nheko_sv.ts b/resources/langs/nheko_sv.ts
index 8069dcea..25db1c4b 100644
--- a/resources/langs/nheko_sv.ts
+++ b/resources/langs/nheko_sv.ts
@@ -38,7 +38,7 @@
 <context>
     <name>AwaitingVerificationConfirmation</name>
     <message>
-        <location filename="../qml/device-verification/AwaitingVerificationConfirmation.qml" line="+11"/>
+        <location filename="../qml/device-verification/AwaitingVerificationConfirmation.qml" line="+12"/>
         <source>Awaiting Confirmation</source>
         <translation>Inväntar Bekräftelse</translation>
     </message>
@@ -48,7 +48,7 @@
         <translation>Väntar på att motparten ska slutföra verifikationen.</translation>
     </message>
     <message>
-        <location line="+12"/>
+        <location line="+13"/>
         <source>Cancel</source>
         <translation>Avbryt</translation>
     </message>
@@ -125,7 +125,7 @@
 <context>
     <name>ChatPage</name>
     <message>
-        <location filename="../../src/ChatPage.cpp" line="+133"/>
+        <location filename="../../src/ChatPage.cpp" line="+135"/>
         <source>Failed to invite user: %1</source>
         <translation>Kunde inte bjuda in användare: %1</translation>
     </message>
@@ -157,12 +157,12 @@
     </message>
     <message>
         <location line="+34"/>
-        <location line="+280"/>
+        <location line="+286"/>
         <source>Confirm invite</source>
         <translation>Bekräfta inbjudan</translation>
     </message>
     <message>
-        <location line="-279"/>
+        <location line="-285"/>
         <source>Do you really want to invite %1 (%2)?</source>
         <translation>Är du säker på att du vill bjuda in %1 (%2)?</translation>
     </message>
@@ -227,12 +227,12 @@
         <translation>Hävde bannlysningen av användare: %1</translation>
     </message>
     <message>
-        <location line="+183"/>
+        <location line="+189"/>
         <source>Do you really want to start a private chat with %1?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-721"/>
+        <location line="-727"/>
         <source>Cache migration failed!</source>
         <translation>Cache-migration misslyckades!</translation>
     </message>
@@ -352,7 +352,7 @@
 <context>
     <name>CrossSigningSecrets</name>
     <message>
-        <location filename="../../src/ChatPage.cpp" line="+183"/>
+        <location filename="../../src/ChatPage.cpp" line="+189"/>
         <source>Decrypt secrets</source>
         <translation>Dekryptera hemliga nycklar</translation>
     </message>
@@ -426,12 +426,12 @@
 <context>
     <name>EmojiPicker</name>
     <message>
-        <location filename="../qml/emoji/EmojiPicker.qml" line="+59"/>
+        <location filename="../qml/emoji/EmojiPicker.qml" line="+68"/>
         <source>Search</source>
         <translation>Sök</translation>
     </message>
     <message>
-        <location line="+172"/>
+        <location line="+186"/>
         <source>People</source>
         <translation>Personer</translation>
     </message>
@@ -605,9 +605,47 @@
     </message>
 </context>
 <context>
+    <name>ImagePackSettingsDialog</name>
+    <message>
+        <location filename="../qml/dialogs/ImagePackSettingsDialog.qml" line="+22"/>
+        <source>Image pack settings</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+151"/>
+        <source>Private pack</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Pack from this room</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Globally enabled pack</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+59"/>
+        <source>Enable globally</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Enables this pack to be used in all rooms</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+62"/>
+        <source>Close</source>
+        <translation type="unfinished">Stäng</translation>
+    </message>
+</context>
+<context>
     <name>InputBar</name>
     <message>
-        <location filename="../../src/timeline/InputBar.cpp" line="+233"/>
+        <location filename="../../src/timeline/InputBar.cpp" line="+234"/>
         <source>Select a file</source>
         <translation>Välj en fil</translation>
     </message>
@@ -617,17 +655,43 @@
         <translation>Alla Filer (*)</translation>
     </message>
     <message>
-        <location line="+417"/>
+        <location line="+442"/>
         <source>Failed to upload media. Please try again.</source>
         <translation>Kunde inte ladda upp media. Vänligen försök igen.</translation>
     </message>
 </context>
 <context>
-    <name>InviteeItem</name>
+    <name>InviteDialog</name>
+    <message>
+        <location filename="../qml/InviteDialog.qml" line="+32"/>
+        <source>Invite users to %1</source>
+        <translation type="unfinished"></translation>
+    </message>
     <message>
-        <location filename="../../src/InviteeItem.cpp" line="+22"/>
-        <source>Remove</source>
-        <translation>Ta bort</translation>
+        <location line="+24"/>
+        <source>User ID to invite</source>
+        <translation type="unfinished">Användar-ID att bjuda in</translation>
+    </message>
+    <message>
+        <location line="+14"/>
+        <source>@joe:matrix.org</source>
+        <comment>Example user id. The name &apos;joe&apos; can be localized however you want.</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+17"/>
+        <source>Add</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+58"/>
+        <source>Invite</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+7"/>
+        <source>Cancel</source>
+        <translation type="unfinished">Avbryt</translation>
     </message>
 </context>
 <context>
@@ -745,27 +809,14 @@ Exempel: https://server.my:8787</translation>
     </message>
 </context>
 <context>
-    <name>MemberList</name>
-    <message>
-        <location filename="../../src/dialogs/MemberList.cpp" line="+94"/>
-        <source>Room members</source>
-        <translation>Rumsmedlemmar</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>OK</source>
-        <translation>OK</translation>
-    </message>
-</context>
-<context>
     <name>MessageDelegate</name>
     <message>
-        <location filename="../qml/delegates/MessageDelegate.qml" line="+128"/>
+        <location filename="../qml/delegates/MessageDelegate.qml" line="+187"/>
         <source>Encryption enabled</source>
         <translation>Kryptering aktiverad</translation>
     </message>
     <message>
-        <location line="+9"/>
+        <location line="+12"/>
         <source>room name changed to: %1</source>
         <translation>rummets namn ändrat till: %1</translation>
     </message>
@@ -775,7 +826,7 @@ Exempel: https://server.my:8787</translation>
         <translation>tog bort rummets namn</translation>
     </message>
     <message>
-        <location line="+9"/>
+        <location line="+12"/>
         <source>topic changed to: %1</source>
         <translation>ämne ändrat till: %1</translation>
     </message>
@@ -785,17 +836,17 @@ Exempel: https://server.my:8787</translation>
         <translation>tog bort ämne</translation>
     </message>
     <message>
-        <location line="+9"/>
+        <location line="+12"/>
         <source>%1 changed the room avatar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+8"/>
+        <location line="+12"/>
         <source>%1 created and configured room: %2</source>
         <translation>%1 skapade och konfigurerade rum: %2</translation>
     </message>
     <message>
-        <location line="+12"/>
+        <location line="+15"/>
         <source>%1 placed a voice call.</source>
         <translation>%1 påbörjade ett röstsamtal.</translation>
     </message>
@@ -810,23 +861,23 @@ Exempel: https://server.my:8787</translation>
         <translation>%1 påbörjade ett samtal.</translation>
     </message>
     <message>
-        <location line="+29"/>
+        <location line="+38"/>
         <source>Negotiating call...</source>
         <translation>Förhandlar samtal…</translation>
     </message>
     <message>
-        <location line="-18"/>
+        <location line="-24"/>
         <source>%1 answered the call.</source>
         <translation>%1 besvarade samtalet.</translation>
     </message>
     <message>
-        <location line="-80"/>
+        <location line="-99"/>
         <location line="+9"/>
         <source>removed</source>
         <translation>borttagen</translation>
     </message>
     <message>
-        <location line="+80"/>
+        <location line="+102"/>
         <source>%1 ended the call.</source>
         <translation>%1 avslutade samtalet.</translation>
     </message>
@@ -834,7 +885,7 @@ Exempel: https://server.my:8787</translation>
 <context>
     <name>MessageInput</name>
     <message>
-        <location filename="../qml/MessageInput.qml" line="+43"/>
+        <location filename="../qml/MessageInput.qml" line="+44"/>
         <source>Hang up</source>
         <translation>Lägg på</translation>
     </message>
@@ -855,6 +906,11 @@ Exempel: https://server.my:8787</translation>
     </message>
     <message>
         <location line="+214"/>
+        <source>Stickers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+24"/>
         <source>Emoji</source>
         <translation>Emoji</translation>
     </message>
@@ -872,17 +928,17 @@ Exempel: https://server.my:8787</translation>
 <context>
     <name>MessageView</name>
     <message>
-        <location filename="../qml/MessageView.qml" line="+83"/>
+        <location filename="../qml/MessageView.qml" line="+87"/>
         <source>Edit</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+15"/>
+        <location line="+16"/>
         <source>React</source>
         <translation type="unfinished">Reagera</translation>
     </message>
     <message>
-        <location line="+13"/>
+        <location line="+16"/>
         <source>Reply</source>
         <translation type="unfinished">Svara</translation>
     </message>
@@ -892,7 +948,7 @@ Exempel: https://server.my:8787</translation>
         <translation type="unfinished">Alternativ</translation>
     </message>
     <message>
-        <location line="+329"/>
+        <location line="+405"/>
         <source>&amp;Copy</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1100,7 +1156,7 @@ Exempel: https://server.my:8787</translation>
 <context>
     <name>Placeholder</name>
     <message>
-        <location filename="../qml/delegates/Placeholder.qml" line="+9"/>
+        <location filename="../qml/delegates/Placeholder.qml" line="+11"/>
         <source>unimplemented event: </source>
         <translation>ej implementerat event: </translation>
     </message>
@@ -1220,7 +1276,7 @@ Exempel: https://server.my:8787</translation>
 <context>
     <name>ReplyPopup</name>
     <message>
-        <location filename="../qml/ReplyPopup.qml" line="+47"/>
+        <location filename="../qml/ReplyPopup.qml" line="+62"/>
         <source>Close</source>
         <translation>Stäng</translation>
     </message>
@@ -1233,7 +1289,7 @@ Exempel: https://server.my:8787</translation>
 <context>
     <name>RoomInfo</name>
     <message>
-        <location filename="../../src/Cache.cpp" line="+4009"/>
+        <location filename="../../src/Cache.cpp" line="+4180"/>
         <source>no version stored</source>
         <translation>ingen version lagrad</translation>
     </message>
@@ -1241,7 +1297,7 @@ Exempel: https://server.my:8787</translation>
 <context>
     <name>RoomList</name>
     <message>
-        <location filename="../qml/RoomList.qml" line="+56"/>
+        <location filename="../qml/RoomList.qml" line="+57"/>
         <source>New tag</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1251,6 +1307,16 @@ Exempel: https://server.my:8787</translation>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+9"/>
+        <source>Leave Room</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>Are you sure you want to leave this room?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <location line="+7"/>
         <source>Leave room</source>
         <translation type="unfinished">Lämna rum</translation>
@@ -1281,17 +1347,7 @@ Exempel: https://server.my:8787</translation>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+222"/>
-        <source>Accept</source>
-        <translation type="unfinished">Godkänn</translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>Decline</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+68"/>
+        <location line="+268"/>
         <source>Status Message</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1342,19 +1398,41 @@ Exempel: https://server.my:8787</translation>
     </message>
 </context>
 <context>
+    <name>RoomMembers</name>
+    <message>
+        <location filename="../qml/RoomMembers.qml" line="+17"/>
+        <source>Members of %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message numerus="yes">
+        <location line="+32"/>
+        <source>%n people in %1</source>
+        <comment>Summary above list of members</comment>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+            <numerusform></numerusform>
+        </translation>
+    </message>
+    <message>
+        <location line="+10"/>
+        <source>Invite more people</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>RoomSettings</name>
     <message>
-        <location filename="../qml/RoomSettings.qml" line="+25"/>
+        <location filename="../qml/RoomSettings.qml" line="+26"/>
         <source>Room Settings</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+79"/>
+        <location line="+80"/>
         <source>%1 member(s)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+43"/>
+        <location line="+55"/>
         <source>SETTINGS</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1410,19 +1488,22 @@ Exempel: https://server.my:8787</translation>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+17"/>
-        <source>Respond to key requests</source>
+        <location line="+16"/>
+        <source>Sticker &amp; Emote Settings</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+5"/>
-        <source>Whether or not the client should respond automatically with the session keys
-                                upon request. Use with caution, this is a temporary measure to test the
-                                E2E implementation until device verification is completed.</source>
+        <location line="+4"/>
+        <source>Change</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+21"/>
+        <location line="+1"/>
+        <source>Change what packs are enabled, remove packs or create new ones</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+16"/>
         <source>INFO</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1437,12 +1518,7 @@ Exempel: https://server.my:8787</translation>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+13"/>
-        <source>OK</source>
-        <translation type="unfinished">OK</translation>
-    </message>
-    <message>
-        <location filename="../../src/ui/RoomSettings.cpp" line="+268"/>
+        <location filename="../../src/ui/RoomSettings.cpp" line="+255"/>
         <source>Failed to enable encryption: %1</source>
         <translation type="unfinished">Kunde inte aktivera kryptering: %1</translation>
     </message>
@@ -1474,6 +1550,24 @@ Exempel: https://server.my:8787</translation>
     </message>
 </context>
 <context>
+    <name>RoomlistModel</name>
+    <message>
+        <location filename="../../src/timeline/RoomlistModel.cpp" line="+143"/>
+        <source>Pending invite.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+30"/>
+        <source>Previewing this room</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+34"/>
+        <source>No preview available</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>ScreenShare</name>
     <message>
         <location filename="../qml/voip/ScreenShare.qml" line="+30"/>
@@ -1530,7 +1624,7 @@ Exempel: https://server.my:8787</translation>
 <context>
     <name>StatusIndicator</name>
     <message>
-        <location filename="../qml/StatusIndicator.qml" line="+21"/>
+        <location filename="../qml/StatusIndicator.qml" line="+24"/>
         <source>Failed</source>
         <translation>Misslyckat</translation>
     </message>
@@ -1551,6 +1645,14 @@ Exempel: https://server.my:8787</translation>
     </message>
 </context>
 <context>
+    <name>StickerPicker</name>
+    <message>
+        <location filename="../qml/emoji/StickerPicker.qml" line="+70"/>
+        <source>Search</source>
+        <translation type="unfinished">Sök</translation>
+    </message>
+</context>
+<context>
     <name>Success</name>
     <message>
         <location filename="../qml/device-verification/Success.qml" line="+11"/>
@@ -1571,7 +1673,7 @@ Exempel: https://server.my:8787</translation>
 <context>
     <name>TimelineModel</name>
     <message>
-        <location filename="../../src/timeline/TimelineModel.cpp" line="+1095"/>
+        <location filename="../../src/timeline/TimelineModel.cpp" line="+1107"/>
         <source>Message redaction failed: %1</source>
         <translation>Kunde inte maskera meddelande: %1</translation>
     </message>
@@ -1582,7 +1684,7 @@ Exempel: https://server.my:8787</translation>
         <translation>Kunde inte kryptera event, sändning avbruten!</translation>
     </message>
     <message>
-        <location line="+164"/>
+        <location line="+173"/>
         <source>Save image</source>
         <translation>Spara bild</translation>
     </message>
@@ -1716,12 +1818,12 @@ Exempel: https://server.my:8787</translation>
         <translation>%1 maskerade sin knackning.</translation>
     </message>
     <message>
-        <location line="-883"/>
+        <location line="-884"/>
         <source>You joined this room.</source>
         <translation>Du gick med i detta rum.</translation>
     </message>
     <message>
-        <location line="+849"/>
+        <location line="+850"/>
         <source>%1 has changed their avatar and changed their display name to %2.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1750,7 +1852,7 @@ Exempel: https://server.my:8787</translation>
 <context>
     <name>TimelineRow</name>
     <message>
-        <location filename="../qml/TimelineRow.qml" line="+106"/>
+        <location filename="../qml/TimelineRow.qml" line="+180"/>
         <source>Edited</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1758,17 +1860,32 @@ Exempel: https://server.my:8787</translation>
 <context>
     <name>TimelineView</name>
     <message>
-        <location filename="../qml/TimelineView.qml" line="+27"/>
+        <location filename="../qml/TimelineView.qml" line="+30"/>
         <source>No room open</source>
         <translation>Inget rum öppet</translation>
     </message>
     <message>
-        <location line="+127"/>
+        <location line="+139"/>
         <source>%1 member(s)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+46"/>
+        <location line="+33"/>
+        <source>join the conversation</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+7"/>
+        <source>accept invite</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+7"/>
+        <source>decline invite</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+27"/>
         <source>Back to room list</source>
         <translation type="unfinished">Tillbaka till rumlista</translation>
     </message>
@@ -1776,7 +1893,7 @@ Exempel: https://server.my:8787</translation>
 <context>
     <name>TimelineViewManager</name>
     <message>
-        <location filename="../../src/timeline/TimelineViewManager.cpp" line="+461"/>
+        <location filename="../../src/timeline/TimelineViewManager.cpp" line="+527"/>
         <source>No encrypted private chat found with this user. Create an encrypted private chat with this user and try again.</source>
         <translation>Ingen krypterad privat chatt med denna användare kunde hittas. Skapa en krypterad privat chatt med användaren och försök igen.</translation>
     </message>
@@ -1784,18 +1901,17 @@ Exempel: https://server.my:8787</translation>
 <context>
     <name>TopBar</name>
     <message>
-        <location filename="../qml/TopBar.qml" line="+51"/>
+        <location filename="../qml/TopBar.qml" line="+54"/>
         <source>Back to room list</source>
         <translation>Tillbaka till rumlista</translation>
     </message>
     <message>
-        <location line="+12"/>
-        <location line="+10"/>
+        <location line="-39"/>
         <source>No room selected</source>
         <translation>Inget rum markerat</translation>
     </message>
     <message>
-        <location line="+24"/>
+        <location line="+90"/>
         <source>Room options</source>
         <translation>Alternativ för rum</translation>
     </message>
@@ -1836,7 +1952,7 @@ Exempel: https://server.my:8787</translation>
 <context>
     <name>UserProfile</name>
     <message>
-        <location filename="../qml/UserProfile.qml" line="+24"/>
+        <location filename="../qml/UserProfile.qml" line="+25"/>
         <source>Global User Profile</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1846,7 +1962,7 @@ Exempel: https://server.my:8787</translation>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+114"/>
+        <location line="+115"/>
         <location line="+107"/>
         <source>Verify</source>
         <translation>Bekräfta</translation>
@@ -1895,7 +2011,7 @@ Exempel: https://server.my:8787</translation>
 <context>
     <name>UserSettings</name>
     <message>
-        <location filename="../../src/UserSettingsPage.cpp" line="+362"/>
+        <location filename="../../src/UserSettingsPage.cpp" line="+363"/>
         <location filename="../../src/UserSettingsPage.h" line="+194"/>
         <source>Default</source>
         <translation type="unfinished"></translation>
@@ -1904,7 +2020,7 @@ Exempel: https://server.my:8787</translation>
 <context>
     <name>UserSettingsPage</name>
     <message>
-        <location line="+524"/>
+        <location line="+525"/>
         <source>Minimize to tray</source>
         <translation>Minimera till systemtråg</translation>
     </message>
@@ -2358,7 +2474,7 @@ Detta gör vanligtvis att ikonen i aktivitetsfältet animeras på något sätt.<
 <context>
     <name>Waiting</name>
     <message>
-        <location filename="../qml/device-verification/Waiting.qml" line="+11"/>
+        <location filename="../qml/device-verification/Waiting.qml" line="+12"/>
         <source>Waiting for other party…</source>
         <translation>Väntar på motparten…</translation>
     </message>
@@ -2409,7 +2525,7 @@ Detta gör vanligtvis att ikonen i aktivitetsfältet animeras på något sätt.<
 <context>
     <name>descriptiveTime</name>
     <message>
-        <location filename="../../src/Utils.cpp" line="+207"/>
+        <location filename="../../src/Utils.cpp" line="+184"/>
         <source>Yesterday</source>
         <translation>Igår</translation>
     </message>
@@ -2481,19 +2597,6 @@ Detta gör vanligtvis att ikonen i aktivitetsfältet animeras på något sätt.<
     </message>
 </context>
 <context>
-    <name>dialogs::InviteUsers</name>
-    <message>
-        <location filename="../../src/dialogs/InviteUsers.cpp" line="+46"/>
-        <source>Cancel</source>
-        <translation>Avbryt</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>User ID to invite</source>
-        <translation>Användar-ID att bjuda in</translation>
-    </message>
-</context>
-<context>
     <name>dialogs::JoinRoom</name>
     <message>
         <location filename="../../src/dialogs/JoinRoom.cpp" line="+34"/>
@@ -2606,7 +2709,7 @@ Mediastorlek: %2
 <context>
     <name>message-description sent:</name>
     <message>
-        <location filename="../../src/Utils.h" line="+124"/>
+        <location filename="../../src/Utils.h" line="+115"/>
         <source>You sent an audio clip</source>
         <translation>Du skickade ett ljudklipp</translation>
     </message>
diff --git a/resources/langs/nheko_zh_CN.ts b/resources/langs/nheko_zh_CN.ts
index d468dfaa..75e9db95 100644
--- a/resources/langs/nheko_zh_CN.ts
+++ b/resources/langs/nheko_zh_CN.ts
@@ -38,7 +38,7 @@
 <context>
     <name>AwaitingVerificationConfirmation</name>
     <message>
-        <location filename="../qml/device-verification/AwaitingVerificationConfirmation.qml" line="+11"/>
+        <location filename="../qml/device-verification/AwaitingVerificationConfirmation.qml" line="+12"/>
         <source>Awaiting Confirmation</source>
         <translation type="unfinished"></translation>
     </message>
@@ -48,7 +48,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+12"/>
+        <location line="+13"/>
         <source>Cancel</source>
         <translation>取消</translation>
     </message>
@@ -125,7 +125,7 @@
 <context>
     <name>ChatPage</name>
     <message>
-        <location filename="../../src/ChatPage.cpp" line="+133"/>
+        <location filename="../../src/ChatPage.cpp" line="+135"/>
         <source>Failed to invite user: %1</source>
         <translation>邀请用户失败: %1</translation>
     </message>
@@ -157,12 +157,12 @@
     </message>
     <message>
         <location line="+34"/>
-        <location line="+280"/>
+        <location line="+286"/>
         <source>Confirm invite</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-279"/>
+        <location line="-285"/>
         <source>Do you really want to invite %1 (%2)?</source>
         <translation type="unfinished"></translation>
     </message>
@@ -227,12 +227,12 @@
         <translation>解禁用户: %1</translation>
     </message>
     <message>
-        <location line="+183"/>
+        <location line="+189"/>
         <source>Do you really want to start a private chat with %1?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-721"/>
+        <location line="-727"/>
         <source>Cache migration failed!</source>
         <translation>缓存迁移失败!</translation>
     </message>
@@ -352,7 +352,7 @@
 <context>
     <name>CrossSigningSecrets</name>
     <message>
-        <location filename="../../src/ChatPage.cpp" line="+183"/>
+        <location filename="../../src/ChatPage.cpp" line="+189"/>
         <source>Decrypt secrets</source>
         <translation type="unfinished"></translation>
     </message>
@@ -426,12 +426,12 @@
 <context>
     <name>EmojiPicker</name>
     <message>
-        <location filename="../qml/emoji/EmojiPicker.qml" line="+59"/>
+        <location filename="../qml/emoji/EmojiPicker.qml" line="+68"/>
         <source>Search</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+172"/>
+        <location line="+186"/>
         <source>People</source>
         <translation type="unfinished"></translation>
     </message>
@@ -605,9 +605,47 @@
     </message>
 </context>
 <context>
+    <name>ImagePackSettingsDialog</name>
+    <message>
+        <location filename="../qml/dialogs/ImagePackSettingsDialog.qml" line="+22"/>
+        <source>Image pack settings</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+151"/>
+        <source>Private pack</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Pack from this room</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Globally enabled pack</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+59"/>
+        <source>Enable globally</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Enables this pack to be used in all rooms</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+62"/>
+        <source>Close</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>InputBar</name>
     <message>
-        <location filename="../../src/timeline/InputBar.cpp" line="+233"/>
+        <location filename="../../src/timeline/InputBar.cpp" line="+234"/>
         <source>Select a file</source>
         <translation type="unfinished">选择一个文件</translation>
     </message>
@@ -617,17 +655,43 @@
         <translation type="unfinished">所有文件(*)</translation>
     </message>
     <message>
-        <location line="+417"/>
+        <location line="+442"/>
         <source>Failed to upload media. Please try again.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>InviteeItem</name>
+    <name>InviteDialog</name>
+    <message>
+        <location filename="../qml/InviteDialog.qml" line="+32"/>
+        <source>Invite users to %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+24"/>
+        <source>User ID to invite</source>
+        <translation type="unfinished">要邀请的用户 ID</translation>
+    </message>
+    <message>
+        <location line="+14"/>
+        <source>@joe:matrix.org</source>
+        <comment>Example user id. The name &apos;joe&apos; can be localized however you want.</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+17"/>
+        <source>Add</source>
+        <translation type="unfinished"></translation>
+    </message>
     <message>
-        <location filename="../../src/InviteeItem.cpp" line="+22"/>
-        <source>Remove</source>
-        <translation>移除</translation>
+        <location line="+58"/>
+        <source>Invite</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+7"/>
+        <source>Cancel</source>
+        <translation type="unfinished">取消</translation>
     </message>
 </context>
 <context>
@@ -741,22 +805,9 @@ Example: https://server.my:8787</source>
     </message>
 </context>
 <context>
-    <name>MemberList</name>
-    <message>
-        <location filename="../../src/dialogs/MemberList.cpp" line="+94"/>
-        <source>Room members</source>
-        <translation>聊天室成员</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>OK</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
     <name>MessageDelegate</name>
     <message>
-        <location filename="../qml/delegates/MessageDelegate.qml" line="+110"/>
+        <location filename="../qml/delegates/MessageDelegate.qml" line="+169"/>
         <location line="+9"/>
         <source>removed</source>
         <translation type="unfinished"></translation>
@@ -767,7 +818,7 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+9"/>
+        <location line="+12"/>
         <source>room name changed to: %1</source>
         <translation type="unfinished"></translation>
     </message>
@@ -777,7 +828,7 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+9"/>
+        <location line="+12"/>
         <source>topic changed to: %1</source>
         <translation type="unfinished"></translation>
     </message>
@@ -787,17 +838,17 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+9"/>
+        <location line="+12"/>
         <source>%1 changed the room avatar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+8"/>
+        <location line="+12"/>
         <source>%1 created and configured room: %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+12"/>
+        <location line="+15"/>
         <source>%1 placed a voice call.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -812,17 +863,17 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+11"/>
+        <location line="+14"/>
         <source>%1 answered the call.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+9"/>
+        <location line="+12"/>
         <source>%1 ended the call.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+9"/>
+        <location line="+12"/>
         <source>Negotiating call...</source>
         <translation type="unfinished"></translation>
     </message>
@@ -830,7 +881,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>MessageInput</name>
     <message>
-        <location filename="../qml/MessageInput.qml" line="+43"/>
+        <location filename="../qml/MessageInput.qml" line="+44"/>
         <source>Hang up</source>
         <translation type="unfinished"></translation>
     </message>
@@ -851,6 +902,11 @@ Example: https://server.my:8787</source>
     </message>
     <message>
         <location line="+214"/>
+        <source>Stickers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+24"/>
         <source>Emoji</source>
         <translation type="unfinished"></translation>
     </message>
@@ -868,17 +924,17 @@ Example: https://server.my:8787</source>
 <context>
     <name>MessageView</name>
     <message>
-        <location filename="../qml/MessageView.qml" line="+83"/>
+        <location filename="../qml/MessageView.qml" line="+87"/>
         <source>Edit</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+15"/>
+        <location line="+16"/>
         <source>React</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+13"/>
+        <location line="+16"/>
         <source>Reply</source>
         <translation type="unfinished"></translation>
     </message>
@@ -888,7 +944,7 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+329"/>
+        <location line="+405"/>
         <source>&amp;Copy</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1096,7 +1152,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>Placeholder</name>
     <message>
-        <location filename="../qml/delegates/Placeholder.qml" line="+9"/>
+        <location filename="../qml/delegates/Placeholder.qml" line="+11"/>
         <source>unimplemented event: </source>
         <translation type="unfinished"></translation>
     </message>
@@ -1216,7 +1272,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>ReplyPopup</name>
     <message>
-        <location filename="../qml/ReplyPopup.qml" line="+47"/>
+        <location filename="../qml/ReplyPopup.qml" line="+62"/>
         <source>Close</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1229,7 +1285,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>RoomInfo</name>
     <message>
-        <location filename="../../src/Cache.cpp" line="+4009"/>
+        <location filename="../../src/Cache.cpp" line="+4180"/>
         <source>no version stored</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1237,7 +1293,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>RoomList</name>
     <message>
-        <location filename="../qml/RoomList.qml" line="+56"/>
+        <location filename="../qml/RoomList.qml" line="+57"/>
         <source>New tag</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1247,6 +1303,16 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+9"/>
+        <source>Leave Room</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>Are you sure you want to leave this room?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <location line="+7"/>
         <source>Leave room</source>
         <translation type="unfinished">离开聊天室</translation>
@@ -1277,17 +1343,7 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+222"/>
-        <source>Accept</source>
-        <translation type="unfinished">接受</translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>Decline</source>
-        <translation type="unfinished">拒绝</translation>
-    </message>
-    <message>
-        <location line="+68"/>
+        <location line="+268"/>
         <source>Status Message</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1338,19 +1394,40 @@ Example: https://server.my:8787</source>
     </message>
 </context>
 <context>
+    <name>RoomMembers</name>
+    <message>
+        <location filename="../qml/RoomMembers.qml" line="+17"/>
+        <source>Members of %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message numerus="yes">
+        <location line="+32"/>
+        <source>%n people in %1</source>
+        <comment>Summary above list of members</comment>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+        </translation>
+    </message>
+    <message>
+        <location line="+10"/>
+        <source>Invite more people</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>RoomSettings</name>
     <message>
-        <location filename="../qml/RoomSettings.qml" line="+25"/>
+        <location filename="../qml/RoomSettings.qml" line="+26"/>
         <source>Room Settings</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+79"/>
+        <location line="+80"/>
         <source>%1 member(s)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+43"/>
+        <location line="+55"/>
         <source>SETTINGS</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1406,19 +1483,22 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+17"/>
-        <source>Respond to key requests</source>
+        <location line="+16"/>
+        <source>Sticker &amp; Emote Settings</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+5"/>
-        <source>Whether or not the client should respond automatically with the session keys
-                                upon request. Use with caution, this is a temporary measure to test the
-                                E2E implementation until device verification is completed.</source>
+        <location line="+4"/>
+        <source>Change</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+21"/>
+        <location line="+1"/>
+        <source>Change what packs are enabled, remove packs or create new ones</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+16"/>
         <source>INFO</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1433,12 +1513,7 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+13"/>
-        <source>OK</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../src/ui/RoomSettings.cpp" line="+268"/>
+        <location filename="../../src/ui/RoomSettings.cpp" line="+255"/>
         <source>Failed to enable encryption: %1</source>
         <translation type="unfinished">启用加密失败:%1</translation>
     </message>
@@ -1470,6 +1545,24 @@ Example: https://server.my:8787</source>
     </message>
 </context>
 <context>
+    <name>RoomlistModel</name>
+    <message>
+        <location filename="../../src/timeline/RoomlistModel.cpp" line="+143"/>
+        <source>Pending invite.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+30"/>
+        <source>Previewing this room</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+34"/>
+        <source>No preview available</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>ScreenShare</name>
     <message>
         <location filename="../qml/voip/ScreenShare.qml" line="+30"/>
@@ -1526,7 +1619,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>StatusIndicator</name>
     <message>
-        <location filename="../qml/StatusIndicator.qml" line="+21"/>
+        <location filename="../qml/StatusIndicator.qml" line="+24"/>
         <source>Failed</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1547,6 +1640,14 @@ Example: https://server.my:8787</source>
     </message>
 </context>
 <context>
+    <name>StickerPicker</name>
+    <message>
+        <location filename="../qml/emoji/StickerPicker.qml" line="+70"/>
+        <source>Search</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>Success</name>
     <message>
         <location filename="../qml/device-verification/Success.qml" line="+11"/>
@@ -1567,7 +1668,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>TimelineModel</name>
     <message>
-        <location filename="../../src/timeline/TimelineModel.cpp" line="+1095"/>
+        <location filename="../../src/timeline/TimelineModel.cpp" line="+1107"/>
         <source>Message redaction failed: %1</source>
         <translation type="unfinished">删除消息失败:%1</translation>
     </message>
@@ -1578,7 +1679,7 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+164"/>
+        <location line="+173"/>
         <source>Save image</source>
         <translation type="unfinished">保存图像</translation>
     </message>
@@ -1711,12 +1812,12 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-883"/>
+        <location line="-884"/>
         <source>You joined this room.</source>
         <translation type="unfinished">您已加入此房间</translation>
     </message>
     <message>
-        <location line="+849"/>
+        <location line="+850"/>
         <source>%1 has changed their avatar and changed their display name to %2.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1745,7 +1846,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>TimelineRow</name>
     <message>
-        <location filename="../qml/TimelineRow.qml" line="+106"/>
+        <location filename="../qml/TimelineRow.qml" line="+180"/>
         <source>Edited</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1753,17 +1854,32 @@ Example: https://server.my:8787</source>
 <context>
     <name>TimelineView</name>
     <message>
-        <location filename="../qml/TimelineView.qml" line="+27"/>
+        <location filename="../qml/TimelineView.qml" line="+30"/>
         <source>No room open</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+127"/>
+        <location line="+139"/>
         <source>%1 member(s)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+46"/>
+        <location line="+33"/>
+        <source>join the conversation</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+7"/>
+        <source>accept invite</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+7"/>
+        <source>decline invite</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+27"/>
         <source>Back to room list</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1771,7 +1887,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>TimelineViewManager</name>
     <message>
-        <location filename="../../src/timeline/TimelineViewManager.cpp" line="+461"/>
+        <location filename="../../src/timeline/TimelineViewManager.cpp" line="+527"/>
         <source>No encrypted private chat found with this user. Create an encrypted private chat with this user and try again.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1779,18 +1895,17 @@ Example: https://server.my:8787</source>
 <context>
     <name>TopBar</name>
     <message>
-        <location filename="../qml/TopBar.qml" line="+51"/>
+        <location filename="../qml/TopBar.qml" line="+54"/>
         <source>Back to room list</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+12"/>
-        <location line="+10"/>
+        <location line="-39"/>
         <source>No room selected</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+24"/>
+        <location line="+90"/>
         <source>Room options</source>
         <translation type="unfinished">聊天室选项</translation>
     </message>
@@ -1831,7 +1946,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>UserProfile</name>
     <message>
-        <location filename="../qml/UserProfile.qml" line="+24"/>
+        <location filename="../qml/UserProfile.qml" line="+25"/>
         <source>Global User Profile</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1841,7 +1956,7 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+114"/>
+        <location line="+115"/>
         <location line="+107"/>
         <source>Verify</source>
         <translation type="unfinished"></translation>
@@ -1890,7 +2005,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>UserSettings</name>
     <message>
-        <location filename="../../src/UserSettingsPage.cpp" line="+362"/>
+        <location filename="../../src/UserSettingsPage.cpp" line="+363"/>
         <location filename="../../src/UserSettingsPage.h" line="+194"/>
         <source>Default</source>
         <translation type="unfinished"></translation>
@@ -1899,7 +2014,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>UserSettingsPage</name>
     <message>
-        <location line="+524"/>
+        <location line="+525"/>
         <source>Minimize to tray</source>
         <translation>最小化至托盘</translation>
     </message>
@@ -2345,7 +2460,7 @@ This usually causes the application icon in the task bar to animate in some fash
 <context>
     <name>Waiting</name>
     <message>
-        <location filename="../qml/device-verification/Waiting.qml" line="+11"/>
+        <location filename="../qml/device-verification/Waiting.qml" line="+12"/>
         <source>Waiting for other party…</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2396,7 +2511,7 @@ This usually causes the application icon in the task bar to animate in some fash
 <context>
     <name>descriptiveTime</name>
     <message>
-        <location filename="../../src/Utils.cpp" line="+207"/>
+        <location filename="../../src/Utils.cpp" line="+184"/>
         <source>Yesterday</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2468,19 +2583,6 @@ This usually causes the application icon in the task bar to animate in some fash
     </message>
 </context>
 <context>
-    <name>dialogs::InviteUsers</name>
-    <message>
-        <location filename="../../src/dialogs/InviteUsers.cpp" line="+46"/>
-        <source>Cancel</source>
-        <translation>取消</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>User ID to invite</source>
-        <translation>要邀请的用户 ID</translation>
-    </message>
-</context>
-<context>
     <name>dialogs::JoinRoom</name>
     <message>
         <location filename="../../src/dialogs/JoinRoom.cpp" line="+34"/>
@@ -2593,7 +2695,7 @@ Media size: %2
 <context>
     <name>message-description sent:</name>
     <message>
-        <location filename="../../src/Utils.h" line="+124"/>
+        <location filename="../../src/Utils.h" line="+115"/>
         <source>You sent an audio clip</source>
         <translation type="unfinished"></translation>
     </message>