Skip to content

Commit

Permalink
fix: added new function to check includes
Browse files Browse the repository at this point in the history
  • Loading branch information
mishramonalisha76 committed Jun 6, 2024
1 parent dc6951f commit 067b0ab
Show file tree
Hide file tree
Showing 7 changed files with 23 additions and 12 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,14 @@ import { CONSTANTS, IFeeds, IUser } from '@pushprotocol/restapi';
import styled from 'styled-components';

// Internal Compoonents
import { getAddress, getNewChatUser, pCAIP10ToWallet, traceStackCalls, walletToPCAIP10 } from '../../../helpers';
import {
getAddress,
getDomainIfExists,
getNewChatUser,
pCAIP10ToWallet,
traceStackCalls,
walletToPCAIP10,
} from '../../../helpers';
import { useChatData, usePushChatStream } from '../../../hooks';
import useFetchChat from '../../../hooks/chat/useFetchChat';
import useFetchMessageUtilities from '../../../hooks/chat/useFetchMessageUtilities';
Expand Down Expand Up @@ -609,7 +616,7 @@ export const ChatPreviewList: React.FC<IChatPreviewListProps> = (options: IChatP
let userProfile: IUser | undefined = undefined;
let groupProfile: Group;

if (formattedChatId.includes('.')) {
if (getDomainIfExists(formattedChatId)) {
const address = await getAddress(formattedChatId, user ? user.env : CONSTANTS.ENV.PROD);
if (address) formattedChatId = pCAIP10ToWallet(address);
else {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import React, { useContext, useEffect, useRef, useState } from 'react';
import styled from 'styled-components';

// Internal Compoonents
import { deriveChatId, pCAIP10ToWallet } from '../../../helpers';
import { deriveChatId, getDomainIfExists, pCAIP10ToWallet } from '../../../helpers';
import { useChatData } from '../../../hooks';
import useFetchChat from '../../../hooks/chat/useFetchChat';
import useGetGroupByIDnew from '../../../hooks/chat/useGetGroupByIDnew';
Expand Down Expand Up @@ -172,7 +172,7 @@ export const ChatPreviewSearchList: React.FC<IChatPreviewSearchListProps> = (opt
let derivedChatId = formattedChatId;

// Check if the chatId is ENS / Web3 Name
if (formattedChatId.includes('.')) {
if (getDomainIfExists(formattedChatId)) {
// resolve web3 name
derivedChatId = await deriveChatId(formattedChatId, user);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ import styled from 'styled-components';
import {
deriveChatId,
getAddress,
getDomainIfExists,
pCAIP10ToWallet,
resolveWeb3Name,
shortenText,
Expand Down Expand Up @@ -166,7 +167,7 @@ export const ChatProfile: React.FC<IChatProfile> = ({
profile.abbrRecipient = getAbbreiatedRecipient(recipient);
profile.desc = profileInfo.profile?.desc;
profile.isGroup = false;
profile.web3Name = chatId.includes('.') ? chatId : null;
profile.web3Name = getDomainIfExists(chatId);
} else {
throw new Error(
'UIWeb::ChatProfile::user.profile.info fetch error, possible push user does not exist.'
Expand All @@ -181,7 +182,7 @@ export const ChatProfile: React.FC<IChatProfile> = ({
profile.icon = null;
profile.chatId = derivedChatId;
profile.recipient = recipient;
profile.web3Name = chatId.includes('.') ? chatId : null;
profile.web3Name = getDomainIfExists(chatId);
profile.abbrRecipient = getAbbreiatedRecipient(recipient);
profile.desc = '';
profile.isGroup = false;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import { createPortal } from 'react-dom';
import { MdCheckCircle, MdError } from 'react-icons/md';
import styled from 'styled-components';

import { deriveChatId, pCAIP10ToWallet, setAccessControl, walletToPCAIP10 } from '../../../helpers';
import { deriveChatId, getDomainIfExists, pCAIP10ToWallet, setAccessControl, walletToPCAIP10 } from '../../../helpers';
import { useChatData, useClickAway, useDeviceWidthCheck, usePushChatStream } from '../../../hooks';
import useFetchChat from '../../../hooks/chat/useFetchChat';
import useGetGroupByIDnew from '../../../hooks/chat/useGetGroupByIDnew';
Expand Down Expand Up @@ -163,7 +163,7 @@ export const MessageInput: React.FC<MessageInputProps> = ({
if (!user) return;
if (chatId) {
let derivedChatId = chatId;
if (derivedChatId.includes('.')) {
if (getDomainIfExists(derivedChatId)) {
derivedChatId = (await deriveChatId(chatId, user))!;
}

Expand Down
4 changes: 2 additions & 2 deletions packages/uiweb/src/lib/components/chat/helpers/helper.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { Env, IFeeds, IMessageIPFSWithCID, IUser, ParticipantStatus } from '@pus
import { ethers } from 'ethers';
import moment from 'moment';
import { ProfilePicture } from '../../../config';
import { getAddress, walletToPCAIP10 } from '../../../helpers';
import { getAddress, getDomainIfExists, walletToPCAIP10 } from '../../../helpers';
import { Group, IChatPreviewPayload, IMessagePayload, User } from '../exportedTypes';

export const profilePicture = `data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAvklEQVR4AcXBsW2FMBiF0Y8r3GQb6jeBxRauYRpo4yGQkMd4A7kg7Z/GUfSKe8703fKDkTATZsJsrr0RlZSJ9r4RLayMvLmJjnQS1d6IhJkwE2bT13U/DBzp5BN73xgRZsJMmM1HOolqb/yWiWpvjJSUiRZWopIykTATZsJs5g+1N6KSMiO1N/5DmAkzYTa9Lh6MhJkwE2ZzSZlo7xvRwson3txERzqJhJkwE2bT6+JhoKTMJ2pvjAgzYSbMfgDlXixqjH6gRgAAAABJRU5ErkJggg==`;
Expand Down Expand Up @@ -228,5 +228,5 @@ export const transformStreamToIMessageIPFSWithCID: (item: any) => IMessageIPFSWi
};

export const getChatParticipantDisplayName = (derivedChatId: string, chatId: string) => {
return derivedChatId ? (chatId.includes('.') ? chatId : derivedChatId) : derivedChatId;
return derivedChatId ? getDomainIfExists(chatId) ?? derivedChatId : derivedChatId;
};
3 changes: 2 additions & 1 deletion packages/uiweb/src/lib/helpers/chat/search.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import { pCAIP10ToWallet, walletToPCAIP10 } from '../address';
import { getUdResolverClient } from '../udResolver';
import { displayDefaultUser } from './user';
import { createWeb3Name } from '@web3-name-sdk/core';
import { getDomainIfExists } from '../utils';

export const getObjectsWithMatchingKeys = (
obj: ChatFeedsType,
Expand Down Expand Up @@ -61,7 +62,7 @@ export const getAddress = async (searchText: string, env: Env) => {
const udResolverClient = getUdResolverClient(env);
const web3NameClient = createWeb3Name();
let address: string | null = null;
if (searchText.includes('.')) {
if (getDomainIfExists(searchText)) {
try {
address = await web3NameClient.getAddress(searchText);
if (!address) {
Expand Down
4 changes: 3 additions & 1 deletion packages/uiweb/src/lib/helpers/utils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ export const deriveChatId = async (chatId: string, user: PushAPI | undefined): P
} else if (chatId.includes('eip155:')) {
// remove eip155:
chatId = chatId.replace('eip155:', '');
} else if (chatId.includes('.')) {
} else if (getDomainIfExists(chatId)) {
chatId = (await getAddress(chatId, user ? user.env : CONSTANTS.ENV.PROD))!;
}

Expand All @@ -40,3 +40,5 @@ export const isMessageEncrypted = (message: string) => {

return message.startsWith('U2FsdGVkX1');
};

export const getDomainIfExists = (chatId: string) => (chatId.includes('.') ? chatId : null);

0 comments on commit 067b0ab

Please sign in to comment.