From d512a1a13106012402e0ca4d1db7f0850df93a97 Mon Sep 17 00:00:00 2001 From: Audric Ackermann Date: Tue, 7 Feb 2023 16:37:03 +1100 Subject: [PATCH] fix: various UI margins and dedup official sogs join --- .../message-content/ClickToTrustSender.tsx | 4 +++- .../message-content/MessageAttachment.tsx | 2 +- ts/models/message.ts | 4 ++++ .../open_group_api/opengroupV2/ApiUtil.ts | 4 ++-- .../opengroupV2/OpenGroupManagerV2.ts | 21 +++++++++++++++---- 5 files changed, 27 insertions(+), 8 deletions(-) diff --git a/ts/components/conversation/message/message-content/ClickToTrustSender.tsx b/ts/components/conversation/message/message-content/ClickToTrustSender.tsx index 8a20ddcea..1d5e7e8ac 100644 --- a/ts/components/conversation/message/message-content/ClickToTrustSender.tsx +++ b/ts/components/conversation/message/message-content/ClickToTrustSender.tsx @@ -8,13 +8,15 @@ import { SessionButtonColor } from '../../../basic/SessionButton'; import { SessionIcon } from '../../../icon'; const StyledTrustSenderUI = styled.div` - padding-inline: var(--margins-sm); + padding-inline: var(--margins-lg); display: flex; align-items: center; width: fit-content; border-radius: var(--border-radius-message-box); background-color: var(--message-bubbles-received-background-color); + height: 35px; + margin-left: var(--margins-xs); `; const ClickToDownload = styled.div` diff --git a/ts/components/conversation/message/message-content/MessageAttachment.tsx b/ts/components/conversation/message/message-content/MessageAttachment.tsx index f636c6ebb..95b773b6a 100644 --- a/ts/components/conversation/message/message-content/MessageAttachment.tsx +++ b/ts/components/conversation/message/message-content/MessageAttachment.tsx @@ -150,7 +150,7 @@ export const MessageAttachment = (props: Props) => { e.stopPropagation(); e.preventDefault(); }} - style={{ padding: '5px 10px' }} + style={{ padding: 'var(--margins-xs) 0px' }} > { return undefined; } + if (this.getConversation()?.get('left')) { + return 'sent'; + } + const readBy = this.get('read_by') || []; if (Storage.get(SettingsKey.settingsReadReceipt) && readBy.length > 0) { return 'read'; diff --git a/ts/session/apis/open_group_api/opengroupV2/ApiUtil.ts b/ts/session/apis/open_group_api/opengroupV2/ApiUtil.ts index e1aedf677..dc7d48b26 100644 --- a/ts/session/apis/open_group_api/opengroupV2/ApiUtil.ts +++ b/ts/session/apis/open_group_api/opengroupV2/ApiUtil.ts @@ -38,9 +38,9 @@ export type OpenGroupV2InfoJoinable = OpenGroupV2Info & { // tslint:disable: no-http-string -const legacyDefaultServerIP = '116.203.70.33'; +export const legacyDefaultServerIP = '116.203.70.33'; export const defaultServer = 'https://open.getsession.org'; -const defaultServerHost = new window.URL(defaultServer).host; +export const defaultServerHost = new window.URL(defaultServer).host; /** * This function returns true if the server url given matches any of the sogs run by Session. diff --git a/ts/session/apis/open_group_api/opengroupV2/OpenGroupManagerV2.ts b/ts/session/apis/open_group_api/opengroupV2/OpenGroupManagerV2.ts index e003a6b2b..409ccd856 100644 --- a/ts/session/apis/open_group_api/opengroupV2/OpenGroupManagerV2.ts +++ b/ts/session/apis/open_group_api/opengroupV2/OpenGroupManagerV2.ts @@ -3,7 +3,12 @@ import { ConversationModel } from '../../../../models/conversation'; import { getConversationController } from '../../../conversations'; import { allowOnlyOneAtATime } from '../../../utils/Promise'; import { getOpenGroupV2ConversationId } from '../utils/OpenGroupUtils'; -import { OpenGroupRequestCommonType } from './ApiUtil'; +import { + defaultServer, + defaultServerHost, + legacyDefaultServerIP, + OpenGroupRequestCommonType, +} from './ApiUtil'; import { OpenGroupServerPoller } from './OpenGroupServerPoller'; import _, { clone, isEqual } from 'lodash'; @@ -46,9 +51,16 @@ export class OpenGroupManagerV2 { roomId: string, publicKey: string ): Promise { - const oneAtaTimeStr = `oneAtaTimeOpenGroupV2Join:${serverUrl}${roomId}`; + // make sure to use the https version of our official sogs + const overridenUrl = + (serverUrl.includes(`://${defaultServerHost}`) && !serverUrl.startsWith('https')) || + serverUrl.includes(`://${legacyDefaultServerIP}`) + ? defaultServer + : serverUrl; + + const oneAtaTimeStr = `oneAtaTimeOpenGroupV2Join:${overridenUrl}${roomId}`; return allowOnlyOneAtATime(oneAtaTimeStr, async () => { - return this.attemptConnectionV2(serverUrl, roomId, publicKey); + return this.attemptConnectionV2(overridenUrl, roomId, publicKey); }); } @@ -82,10 +94,11 @@ export class OpenGroupManagerV2 { const poller = this.pollers.get(groupedRoomsServerUrl); if (!poller) { const uniqGroupedRooms = _.uniqBy(groupedRooms, r => r.roomId); + this.pollers.set(groupedRoomsServerUrl, new OpenGroupServerPoller(uniqGroupedRooms)); } else { // this won't do a thing if the room is already polled for - roomInfos.forEach(poller.addRoomToPoll); + groupedRooms.forEach(poller.addRoomToPoll); } } }