Skip to content

Commit

Permalink
Main Release 1.4.0 (#1364)
Browse files Browse the repository at this point in the history
* fixed chat responsiveness

* fixed preview link alignment to right

* added relative imports for better management

* Search issue (#1270)

* fix: fixed lint issues

* fix: added test for chat preview search list

* fix: fixed review comment

* Update ChatPreviewSearchList.tsx

* fix: fixed support chat init issue (#1292)

* fix: fixed support chat init issue

* fix: fixed lint errors

* fix(chatviewlist): increase hidden/encrypted chat blur

fix #1307

* Added Reaction support,  (#1303)

* Fixed responsiveness in mobile for UIWeb:Chat

* fixes text alignment on frames preview link to come on right

* scroll bar fixes

* fixed reaction picker position, tweaked group type text, removed add button from define conditions in gated group

* removed unnecessary console.debug

* removed unnecessary console.debug

* Resolved comments, fixed curved edges go away, fixed correct time placement in ChatBubble

* Resolved comments

* fix: add selected option

* fix: add return fn

* fix: add comment to fn

* fix: add push bot address

* fix: export const

* fix: reset chat_id

* fix: remove console

* fix: update dark mode theme

* fix: code review comments

* fix: add null check

* fix: update conditions

* fix: pending wallet address copy issue fixed

When copying pending wallet address in the group info, only half of the wallet address was getting
copied

#1297

* fix: update chatprevie badge conditions

* fix: tooltip was not properly aligned

Tooltip was not properly aigned in the group Info in UIWeb

#1299

* fix: scrollbar in member list in group info was not visible

Fixed the scrollbar issue in the member list in group info in uiweb

#1298

* Space - id integration (#1322)

* feat: integrating spaceid in uiweb

* fix: fixed project id setting error

* fix: removed unnecessary code

* fix: added space id

* Update AddWallets.tsx

* fix: made some optimisations

* fix: fixed lint issues

---------

Co-authored-by: KlausMikhaelson <satyamsingh5076@gmail.com>

* fix: fixed the blurr issue in chat on join and accept group (#1305)

* fix: fixed lint issue

* fixed build error for incorrect naming

* fixes ui representation for domain resolution (#1336)

* Main Release 1.3.7 (#1334)

* fixed chat responsiveness

* fixed preview link alignment to right

* added relative imports for better management

* Search issue (#1270)

* fix: fixed lint issues

* fix: added test for chat preview search list

* fix: fixed review comment

* Update ChatPreviewSearchList.tsx

* fix: fixed support chat init issue (#1292)

* fix: fixed support chat init issue

* fix: fixed lint errors

* fix(chatviewlist): increase hidden/encrypted chat blur

fix #1307

* Added Reaction support,  (#1303)

* Fixed responsiveness in mobile for UIWeb:Chat

* fixes text alignment on frames preview link to come on right

* scroll bar fixes

* fixed reaction picker position, tweaked group type text, removed add button from define conditions in gated group

* removed unnecessary console.debug

* removed unnecessary console.debug

* Resolved comments, fixed curved edges go away, fixed correct time placement in ChatBubble

* Resolved comments

* fix: add selected option

* fix: add return fn

* fix: add comment to fn

* fix: add push bot address

* fix: export const

* fix: reset chat_id

* fix: remove console

* fix: update dark mode theme

* fix: code review comments

* fix: add null check

* fix: update conditions

* fix: update chatprevie badge conditions

* Space - id integration (#1322)

* feat: integrating spaceid in uiweb

* fix: fixed project id setting error

* fix: removed unnecessary code

* fix: added space id

* Update AddWallets.tsx

* fix: made some optimisations

* fix: fixed lint issues

---------

Co-authored-by: KlausMikhaelson <satyamsingh5076@gmail.com>

* fix: fixed the blurr issue in chat on join and accept group (#1305)

* fix: fixed lint issue

---------

Co-authored-by: harshrajat <harsh@epns.io>
Co-authored-by: Harsh | Push <harsh@push.org>
Co-authored-by: Monalisha Mishra <42746736+mishramonalisha76@users.noreply.github.com>
Co-authored-by: Mohammed S <shoaibmohammed92@gmail.com>
Co-authored-by: corlard3y <corlardey@gmail.com>
Co-authored-by: KlausMikhaelson <satyamsingh5076@gmail.com>
Co-authored-by: Monalisha Mishra <mishramonalisha76@gmail.com>

* Main Release 1.3.7 - Build error fixed (#1335)

* fix: fixed the ui representation of the domain name

* fix: fixed the domain representation in chatProfile

* fix: added utility func to fetch display name

* fix: added new function to check includes

---------

Co-authored-by: Rohit Malhotra <rohit.malhotra1420@gmail.com>
Co-authored-by: harshrajat <harsh@epns.io>
Co-authored-by: Harsh | Push <harsh@push.org>
Co-authored-by: Mohammed S <shoaibmohammed92@gmail.com>
Co-authored-by: corlard3y <corlardey@gmail.com>
Co-authored-by: KlausMikhaelson <satyamsingh5076@gmail.com>

* fix: updated guild validation url (#1363)

* fix: updated guild validation url

* Update tokenGatedGroup.ts

---------

Co-authored-by: harshrajat <harsh@epns.io>
Co-authored-by: Harsh | Push <harsh@push.org>
Co-authored-by: Monalisha Mishra <42746736+mishramonalisha76@users.noreply.github.com>
Co-authored-by: Mohammed S <shoaibmohammed92@gmail.com>
Co-authored-by: corlard3y <corlardey@gmail.com>
Co-authored-by: abhishek-01k <abhishek@push.org>
Co-authored-by: KlausMikhaelson <satyamsingh5076@gmail.com>
Co-authored-by: Monalisha Mishra <mishramonalisha76@gmail.com>
Co-authored-by: Abhishek <77395788+abhishek-01k@users.noreply.github.com>
  • Loading branch information
10 people authored Jun 20, 2024
1 parent f5778ba commit df8bf80
Show file tree
Hide file tree
Showing 11 changed files with 85 additions and 130 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
@@ -1,33 +1,17 @@
// React + Web3 Essentials
import { ethers } from 'ethers';
import React, { useContext, useEffect, useRef, useState } from 'react';

// External Packages
import { CONSTANTS, IFeeds, IUser } from '@pushprotocol/restapi';
import styled from 'styled-components';

// Internal Compoonents
import {
deriveChatId,
getAddress,
getNewChatUser,
pCAIP10ToWallet,
traceStackCalls,
walletToPCAIP10,
} from '../../../helpers';
import { useChatData, usePushChatStream } from '../../../hooks';
import { deriveChatId, getDomainIfExists, pCAIP10ToWallet } from '../../../helpers';
import { useChatData } from '../../../hooks';
import useFetchChat from '../../../hooks/chat/useFetchChat';
import useFetchMessageUtilities from '../../../hooks/chat/useFetchMessageUtilities';
import useGetGroupByIDnew from '../../../hooks/chat/useGetGroupByIDnew';
import usePushUser from '../../../hooks/usePushUser';
import { Button, Section, Span, Spinner } from '../../reusables';
import { ChatPreview } from '../ChatPreview';
import {
displayDefaultUser,
generateRandomNonce,
transformChatItems,
transformStreamToIChatPreviewPayload,
} from '../helpers';
import { generateRandomNonce, getChatParticipantDisplayName, transformStreamToIChatPreviewPayload } from '../helpers';

// Internal Configs
import { ThemeContext } from '../theme/ThemeProvider';
Expand All @@ -37,7 +21,6 @@ import { ThemeContext } from '../theme/ThemeProvider';
// Interfaces & Types
import {
ChatPreviewSearchListErrorCodes,
Group,
IChatPreviewSearchListError,
IChatPreviewSearchListProps,
IChatPreviewPayload,
Expand Down Expand Up @@ -73,7 +56,6 @@ interface IChatPreviewListMeta {
}

// Constants
const CHAT_PAGE_LIMIT = 10;
const SCROLL_LIMIT = 25;

// Exported Interfaces & Types
Expand All @@ -82,9 +64,7 @@ const SCROLL_LIMIT = 25;
export const ChatPreviewSearchList: React.FC<IChatPreviewSearchListProps> = (options: IChatPreviewSearchListProps) => {
// get hooks
const { user } = useChatData();
const { fetchUserProfile } = usePushUser();
const { getGroupByIDnew } = useGetGroupByIDnew();
const { fetchLatestMessage, fetchChatList } = useFetchMessageUtilities();

// set chat preview list
const [chatPreviewList, setChatPreviewList] = useState<IChatPreviewList>({
Expand Down Expand Up @@ -192,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 All @@ -211,7 +191,6 @@ export const ChatPreviewSearchList: React.FC<IChatPreviewSearchListProps> = (opt
const groupInfo = await getGroupByIDnew({
groupId: derivedChatId,
});

if (groupInfo) {
searchedChat = {
...searchedChat,
Expand All @@ -230,19 +209,17 @@ export const ChatPreviewSearchList: React.FC<IChatPreviewSearchListProps> = (opt
} else {
const userProfile = await user?.info({ overrideAccount: chatInfo.recipient });
console.debug('UIWeb::components::ChatPreviewSearchList::loadMoreChats::userProfile', userProfile);

searchedChat = {
...searchedChat,
chatId: derivedChatId,
chatParticipant: derivedChatId,
chatParticipant: getChatParticipantDisplayName(derivedChatId, formattedChatId),
chatGroup: false,
chatPic: userProfile?.profile?.picture || null,
chatMsg: {
messageType: 'Text',
messageContent: chatInfo?.list === 'CHATS' ? 'Resume Chat!' : 'Start Chat!',
},
};

resolved = true;
}
} else {
Expand Down Expand Up @@ -349,22 +326,6 @@ export const ChatPreviewSearchList: React.FC<IChatPreviewSearchListProps> = (opt
});
};

//Transform group creation stream
const transformGroupCreationStream: (item: any) => void = async (item: any) => {
const transformedItem: IChatPreviewPayload = {
chatId: item?.chatId,
chatPic: item?.meta.image,
chatParticipant: item?.meta.name,
chatGroup: true,
chatTimestamp: undefined,
chatMsg: {
messageType: '',
messageContent: '',
},
};
addChatItems([transformedItem], false);
};

// Transform stream message
const transformStreamMessage: (item: any) => void = async (item: any) => {
if (!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,6 +167,7 @@ export const ChatProfile: React.FC<IChatProfile> = ({
profile.abbrRecipient = getAbbreiatedRecipient(recipient);
profile.desc = profileInfo.profile?.desc;
profile.isGroup = false;
profile.web3Name = getDomainIfExists(chatId);
} else {
throw new Error(
'UIWeb::ChatProfile::user.profile.info fetch error, possible push user does not exist.'
Expand All @@ -180,13 +182,14 @@ export const ChatProfile: React.FC<IChatProfile> = ({
profile.icon = null;
profile.chatId = derivedChatId;
profile.recipient = recipient;
profile.web3Name = getDomainIfExists(chatId);
profile.abbrRecipient = getAbbreiatedRecipient(recipient);
profile.desc = '';
profile.isGroup = false;
}

// get and set web3 name asynchrounously
if (profile.recipient) {
if (profile.recipient && !profile.web3Name) {
setupWeb3Name(profile.recipient);
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -423,7 +423,6 @@ const GroupInformation = ({
<Section
borderRadius="16px"
flexDirection="column"
gap="16px"
>
{groupMembers.loading ? (
<Spinner
Expand Down Expand Up @@ -1014,7 +1013,7 @@ const GroupDescription = styled.div`
gap: 5px;
`;

const PublicEncrypted = styled(Section)<{ alert?: boolean }>`
const PublicEncrypted = styled(Section) <{ alert?: boolean }>`
display: flex;
flex-direction: row;
width: 100%;
Expand All @@ -1040,7 +1039,7 @@ const AddWalletContainer = styled.div`
align-items: center;
`;

const ConditionSection = styled(Section)<{ theme: IChatTheme }>`
const ConditionSection = styled(Section) <{ theme: IChatTheme }>`
&::-webkit-scrollbar-thumb {
background: ${(props) => props.theme.scrollbarColor};
border-radius: 10px;
Expand All @@ -1053,7 +1052,7 @@ const ConditionSection = styled(Section)<{ theme: IChatTheme }>`
}
`;

const ScrollSection = styled(Section)<{ theme: IChatTheme }>`
const ScrollSection = styled(Section) <{ theme: IChatTheme }>`
&::-webkit-scrollbar-thumb {
background: ${(props) => props.theme.scrollbarColor};
border-radius: 10px;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -105,11 +105,10 @@ export const PendingMembers = ({
<ProfileSection
flexDirection="column"
flex="1"
maxHeight="10rem"
overflow="hidden auto"
justifyContent="start"
borderRadius="12px"
theme={theme}
padding='10px 0 0 0'
>
{showPendingRequests &&
pendingMembers &&
Expand All @@ -123,7 +122,7 @@ export const PendingMembers = ({
icon: item?.userInfo?.profile?.picture || null,
chatId: null,
web3Name: null,
recipient: shortenText(pCAIP10ToWallet(item.address?.split(':')[1]), 6, true),
recipient: pCAIP10ToWallet(item.address?.split(':')[1]),
abbrRecipient: shortenText(pCAIP10ToWallet(item.address?.split(':')[1]), 6, true),
desc: null,
}}
Expand Down Expand Up @@ -301,9 +300,8 @@ export const AcceptedMembers = ({
flexDirection="column"
zIndex="2"
justifyContent="start"
overflow="hidden auto"
maxHeight="15rem"
theme={theme}
padding='10px 0 0 0'
>
{acceptedMembers.map((item, index) => (
<MemberProfileCard
Expand All @@ -313,8 +311,8 @@ export const AcceptedMembers = ({
isAdmin(item) && accountStatus?.role === GROUP_ROLES.ADMIN.toLowerCase()
? [removeAdminDropdown, removeMemberDropdown]
: accountStatus?.role === GROUP_ROLES.ADMIN.toLowerCase()
? [addAdminDropdown, removeMemberDropdown]
: []
? [addAdminDropdown, removeMemberDropdown]
: []
}
selectedMemberAddress={selectedMemberAddress}
setSelectedMemberAddress={setSelectedMemberAddress}
Expand Down Expand Up @@ -371,11 +369,11 @@ const PendingSection = styled.div`
align-items: center;
flex: 1;
cursor: pointer;
padding: 15px 20px;
padding: 15px 20px 5px 20px;
box-sizing: border-box;
`;

const ArrowImage = styled(Image)<ShadowedProps>`
const ArrowImage = styled(Image) <ShadowedProps>`
margin-left: auto;
transform: ${(props) => (props?.setPosition ? 'rotate(0)' : 'rotate(180deg)')};
`;
Expand All @@ -390,7 +388,7 @@ const Badge = styled.div`
font-weight: 700;
`;

const ProfileSection = styled(Section)<{ theme: IChatTheme }>`
const ProfileSection = styled(Section) <{ theme: IChatTheme }>`
height: fit-content;
&::-webkit-scrollbar-thumb {
background: transparent;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -300,7 +300,7 @@ export const ChatViewList: React.FC<IChatViewListProps> = (options: IChatViewLis
}

return () => {
// add comment
//Empty return
};
}, [chatAcceptStream, participantJoinStream]);

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
8 changes: 5 additions & 3 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 @@ -108,8 +108,6 @@ export const formatAddress = async (chatPreviewPayload: IChatPreviewPayload, env
// check and remove eip155:
if (formattedAddress.includes('eip155:')) {
formattedAddress = formattedAddress.replace('eip155:', '');
} else if (formattedAddress.includes('.')) {
formattedAddress = (await getAddress(formattedAddress, env))!;
}
}

Expand Down Expand Up @@ -228,3 +226,7 @@ export const transformStreamToIMessageIPFSWithCID: (item: any) => IMessageIPFSWi
};
return transformedItem;
};

export const getChatParticipantDisplayName = (derivedChatId: string, chatId: string) => {
return derivedChatId ? getDomainIfExists(chatId) ?? derivedChatId : derivedChatId;
};
Loading

0 comments on commit df8bf80

Please sign in to comment.