diff --git a/app/mobile/src/session/cards/useCards.hook.js b/app/mobile/src/session/cards/useCards.hook.js
index 428ab80b..1923e996 100644
--- a/app/mobile/src/session/cards/useCards.hook.js
+++ b/app/mobile/src/session/cards/useCards.hook.js
@@ -66,10 +66,12 @@ export function useCards() {
})
if (state.sorting) {
filtered.sort((a, b) => {
- if (a.name === b.name) {
+ const aName = a?.name?.toLowerCase();
+ const bName = b?.name?.toLowerCase();
+ if (aName === bName) {
return 0;
}
- if (!a.name || (a.name < b.name)) {
+ if (!aName || (aName < bName)) {
return -1;
}
return 1;
diff --git a/app/mobile/src/session/channels/Channels.jsx b/app/mobile/src/session/channels/Channels.jsx
index 2d55fbfa..9f4f1716 100644
--- a/app/mobile/src/session/channels/Channels.jsx
+++ b/app/mobile/src/session/channels/Channels.jsx
@@ -61,7 +61,7 @@ export function ChannelsBody({ state, actions, openConversation }) {
New Topic:
+ autoCapitalize="words" placeholder="Subject (optional)" />
Members:
{ state.connected.length == 0 && (
diff --git a/app/mobile/src/session/channels/useChannels.hook.js b/app/mobile/src/session/channels/useChannels.hook.js
index 6433b486..ae39f53a 100644
--- a/app/mobile/src/session/channels/useChannels.hook.js
+++ b/app/mobile/src/session/channels/useChannels.hook.js
@@ -33,7 +33,21 @@ export function useChannels() {
useEffect(() => {
const contacts = Array.from(card.state.cards.values());
- updateState({ connected: contacts.filter(contact => contact.detail.status === 'connected') });
+ const connected = contacts.filter(contact => {
+ return contact.detail.status === 'connected'
+ });
+ const sorted = connected.sort((a, b) => {
+ const aName = a?.profile?.name;
+ const bName = b?.profile?.name;
+ if (aName === bName) {
+ return 0;
+ }
+ if (!aName || (aName < bName)) {
+ return -1;
+ }
+ return 1;
+ });
+ updateState({ connected: sorted });
}, [card]);
useEffect(() => {