diff --git a/package.json b/package.json
index 1d71ca8..aeb05c6 100644
--- a/package.json
+++ b/package.json
@@ -67,7 +67,7 @@
"react-native-vector-icons": "^10.0.0",
"readable-stream": "^4.4.2",
"revkit": "^1.1.14",
- "revolt.js": "npm:@rexovolt/revolt.js",
+ "revolt.js": "npm:@rexovolt/revolt.js@^6.2.0",
"stream-browserify": "^3.0.0",
"timers-browserify": "^2.0.12",
"tty-browserify": "^0.0.1",
diff --git a/src/components/common/atoms/Username.tsx b/src/components/common/atoms/Username.tsx
index 3fa8247..48ad710 100644
--- a/src/components/common/atoms/Username.tsx
+++ b/src/components/common/atoms/Username.tsx
@@ -8,7 +8,7 @@ import {app, client} from '../../../Generic';
import {currentTheme, styles} from '../../../Theme';
import {Text} from './Text';
import {USER_IDS} from '../../../lib/consts';
-import {getColour, getHighestRole} from '../../../lib/utils';
+import {getColour} from '../../../lib/utils';
type UsernameProps = {
server?: Server;
@@ -17,26 +17,37 @@ type UsernameProps = {
size?: number;
masquerade?: string | null;
color?: string;
+ skipDisplayName?: boolean;
};
export const Username = observer(
- ({server, user, noBadge, size, masquerade, color}: UsernameProps) => {
+ ({
+ server,
+ user,
+ noBadge,
+ size,
+ masquerade,
+ color,
+ skipDisplayName,
+ }: UsernameProps) => {
if (typeof user !== 'object') {
return (
{''}
);
}
- let memberObject = server
+ const memberObject = server
? client.members.getKey({
server: server?._id,
user: user?._id,
})
: undefined;
let roleColor = color ? getColour(color) : styles.textDefault.color;
- let name =
+ const name =
server && memberObject?.nickname
? memberObject?.nickname
- : user?.username;
+ : !skipDisplayName
+ ? user.display_name ?? user.username
+ : user.username;
if (server && memberObject?.roles && memberObject?.roles?.length > 0) {
let srv = client.servers.get(memberObject._id.server);
if (srv?.roles) {
@@ -67,7 +78,9 @@ export const Username = observer(
fontWeight: 'bold',
fontSize: size || app.settings.get('ui.messaging.fontSize'),
}}>
+ {skipDisplayName ? '@' : null}
{masquerade ?? name}
+ {skipDisplayName ? `#${user.discriminator}` : null}
{!noBadge ? (
<>
diff --git a/src/components/sheets/ProfileSheet.tsx b/src/components/sheets/ProfileSheet.tsx
index 2409d57..8086aa2 100644
--- a/src/components/sheets/ProfileSheet.tsx
+++ b/src/components/sheets/ProfileSheet.tsx
@@ -28,6 +28,7 @@ import {
import {BottomSheet} from '../common/BottomSheet';
import {MarkdownView} from '../common/MarkdownView';
import {UserList} from '../navigation/UserList';
+import {GapView} from '../layout';
// const Image = FastImage;
@@ -175,26 +176,44 @@ export const ProfileSheet = observer(() => {
style={{flexDirection: 'row', width: '80%', marginBottom: 12}}>
-
- {server ? (
- <>
- {client.members.getKey({
- server: server?._id,
- user: user._id,
- })?.avatar?._id !== user.avatar?._id ? (
- <>
-
-
- @
-
- >
- ) : (
- @
- )}
+ {!server ? (
+
+ ) : null}
+ {server ? (
+
+ {client.members.getKey({
+ server: server?._id,
+ user: user._id,
+ })?.avatar?._id !== user.avatar?._id &&
+ client.members.getKey({
+ server: server?._id,
+ user: user._id,
+ })?.avatar?._id !== undefined ? (
+
+
+
+ ) : null}
+
- >
- ) : null}
-
+
+
+
+ ) : null}
{user.status?.text ? {user.status?.text} : <>>}
diff --git a/yarn.lock b/yarn.lock
index 5e3ad66..fa6c169 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -3645,13 +3645,6 @@ available-typed-arrays@^1.0.5:
resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7"
integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==
-axios@^0.21.4:
- version "0.21.4"
- resolved "https://registry.yarnpkg.com/axios/-/axios-0.21.4.tgz#c67b90dc0568e5c1cf2b0b858c43ba28e2eda575"
- integrity sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==
- dependencies:
- follow-redirects "^1.14.0"
-
axios@^0.26.1:
version "0.26.1"
resolved "https://registry.yarnpkg.com/axios/-/axios-0.26.1.tgz#1ede41c51fcf51bbbd6fd43669caaa4f0495aaa9"
@@ -5366,7 +5359,7 @@ eventemitter3@^4.0.7:
resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f"
integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==
-eventemitter3@^5.0.0:
+eventemitter3@^5.0.0, eventemitter3@^5.0.1:
version "5.0.1"
resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-5.0.1.tgz#53f5ffd0a492ac800721bb42c66b841de96423c4"
integrity sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==
@@ -5659,7 +5652,7 @@ flow-parser@^0.206.0:
resolved "https://registry.yarnpkg.com/flow-parser/-/flow-parser-0.206.0.tgz#f4f794f8026535278393308e01ea72f31000bfef"
integrity sha512-HVzoK3r6Vsg+lKvlIZzaWNBVai+FXTX1wdYhz/wVlH13tb/gOdLXmlTqy6odmTBhT5UoWUbq0k8263Qhr9d88w==
-follow-redirects@^1.14.0, follow-redirects@^1.14.8, follow-redirects@^1.15.0:
+follow-redirects@^1.14.8, follow-redirects@^1.15.0:
version "1.15.2"
resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.2.tgz#b460864144ba63f2681096f274c4e57026da2c13"
integrity sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==
@@ -7513,12 +7506,7 @@ logkitty@^0.7.1:
dayjs "^1.8.15"
yargs "^15.1.0"
-long@^5.2.0:
- version "5.2.1"
- resolved "https://registry.yarnpkg.com/long/-/long-5.2.1.tgz#e27595d0083d103d2fa2c20c7699f8e0c92b897f"
- integrity sha512-GKSNGeNAtw8IryjjkhZxuKB3JzlcLTwjtiQCHKvqQet81I93kXslhDQruGI/QsddO83mcDToBVy7GqGS/zYf/A==
-
-long@^5.2.1:
+long@^5.2.1, long@^5.2.3:
version "5.2.3"
resolved "https://registry.yarnpkg.com/long/-/long-5.2.3.tgz#a3ba97f3877cf1d778eccbcb048525ebb77499e1"
integrity sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==
@@ -9954,7 +9942,7 @@ revkit@^1.1.14:
revolt-api "^0.6.7"
ulid "^2.3.0"
-revolt-api@0.6.8, revolt-api@^0.6.7, revolt-api@^0.6.8:
+revolt-api@0.6.8, revolt-api@^0.6.7:
version "0.6.8"
resolved "https://registry.yarnpkg.com/revolt-api/-/revolt-api-0.6.8.tgz#8703e2ea28489f6ed69a0e861a44a8747b4a46c0"
integrity sha512-ktqs/3M9iiB1aBFmyF1pw7Mt8/k44VGXF5TGed7+3eIFtJIEGPSt+zcvrK/EfL3dYmbtUcZL+apFDEjot6yr3Q==
@@ -9963,23 +9951,22 @@ revolt-api@0.6.8, revolt-api@^0.6.7, revolt-api@^0.6.8:
axios "^0.26.1"
lodash.defaultsdeep "^4.6.1"
-"revolt.js@npm:@rexovolt/revolt.js":
- version "6.1.0"
- resolved "https://registry.yarnpkg.com/@rexovolt/revolt.js/-/revolt.js-6.1.0.tgz#11c9e28e6ec1e768614a016f2419a91d338591c9"
- integrity sha512-THmIxFr/fvyi8VVrIRdwEpYtK+ITRQq3RflzejoCNPjBxzeJd1NSKrA5d1djnXLchin+saxprtmuSU7q4LyPFQ==
+"revolt.js@npm:@rexovolt/revolt.js@^6.2.0":
+ version "6.2.0"
+ resolved "https://registry.yarnpkg.com/@rexovolt/revolt.js/-/revolt.js-6.2.0.tgz#fcb53a93c709a24df49b73a4a9fbc40201790cc4"
+ integrity sha512-aViNMHE8hx+foenk3eI0f/LuD2z5S4qjedxCzSwQZrjnIlwdQMhTy0SU7bHsSE87Rjs89Xrmi78siLw5CykzlQ==
dependencies:
"@insertish/exponential-backoff" "3.1.0-patch.2"
"@insertish/isomorphic-ws" "^4.0.1"
- axios "^0.21.4"
- eventemitter3 "^4.0.7"
+ eventemitter3 "^5.0.1"
lodash.defaultsdeep "^4.6.1"
lodash.flatten "^4.4.0"
lodash.isequal "^4.5.0"
- long "^5.2.0"
+ long "^5.2.3"
mobx "^6.3.2"
revolt-api "0.6.8"
ulid "^2.3.0"
- ws "^8.2.2"
+ ws "^8.14.2"
rimraf@^2.2.8, rimraf@^2.6.3:
version "2.7.1"
@@ -11209,10 +11196,10 @@ ws@^7, ws@^7.5.1:
resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.9.tgz#54fa7db29f4c7cec68b1ddd3a89de099942bb591"
integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==
-ws@^8.2.2:
- version "8.13.0"
- resolved "https://registry.yarnpkg.com/ws/-/ws-8.13.0.tgz#9a9fb92f93cf41512a0735c8f4dd09b8a1211cd0"
- integrity sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==
+ws@^8.14.2:
+ version "8.14.2"
+ resolved "https://registry.yarnpkg.com/ws/-/ws-8.14.2.tgz#6c249a806eb2db7a20d26d51e7709eab7b2e6c7f"
+ integrity sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g==
xdg-basedir@^3.0.0:
version "3.0.0"