Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

native: create & join DMs and Groups #3507

Merged
merged 46 commits into from
May 24, 2024
Merged

native: create & join DMs and Groups #3507

merged 46 commits into from
May 24, 2024

Conversation

latter-bolden
Copy link
Member

@latter-bolden latter-bolden commented May 13, 2024

Adds support for:

  • displaying pending Groups & DMs in the chat list (invited, joining, requested)
  • adds GroupPreview sheet that displays the group meta and contains actions (request to join, accept invitation, etc.)
  • handles DM invites so when you click in you see what was sent and can either accept, deny, or deny & block the invite
  • an add sheet for groups where you can either create a new one or lookup groups by host
  • an add DM sheet where you can select ships to start a new DM with (blocks for group chats if there's a version mismatch)

Some of the sheet subcomponents could use more design attention and the ContactBook needs perf polish, but I don't want to hold this up any longer and those can be refined in a second pass. Focus here is on getting all the actions functional and the chat states correct.

Fixes LAND-1706
Fixes LAND-1859
Fixes LAND-1707
Fixes LAND-1735
Fixes LAND-1858
Fixes LAND-1910
Fixes LAND-1920

I Swear, I Really Wanted to Make a Reasonably Sized PR but This Is Literally the Way the Wind Blew Me This Time

Copy link

linear bot commented May 17, 2024

@latter-bolden latter-bolden marked this pull request as ready for review May 20, 2024 22:14
Copy link
Collaborator

@dnbrwstr dnbrwstr left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Few starters, still working through.

apps/tlon-web/src/groups/GroupAdmin/PendingMemberItem.tsx Outdated Show resolved Hide resolved
apps/tlon-mobile/src/screens/ChatListScreen.tsx Outdated Show resolved Hide resolved
apps/tlon-mobile/src/screens/ChatListScreen.tsx Outdated Show resolved Hide resolved
packages/ui/src/components/SelectableContactList.tsx Outdated Show resolved Hide resolved
packages/ui/src/utils/channelUtils.tsx Outdated Show resolved Hide resolved
packages/ui/src/components/SearchBar.tsx Outdated Show resolved Hide resolved
packages/shared/src/api/urbit.ts Show resolved Hide resolved
packages/shared/src/db/queries.ts Outdated Show resolved Hide resolved
packages/shared/src/db/queries.ts Outdated Show resolved Hide resolved
Copy link
Collaborator

@dnbrwstr dnbrwstr left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Few more assorted...

packages/shared/src/db/queries.ts Outdated Show resolved Hide resolved
packages/shared/src/db/queries.ts Outdated Show resolved Hide resolved
packages/shared/src/db/queries.ts Show resolved Hide resolved
packages/shared/src/db/queries.ts Outdated Show resolved Hide resolved
packages/shared/src/logic/utils.ts Outdated Show resolved Hide resolved
packages/shared/src/debug.ts Show resolved Hide resolved
packages/shared/src/db/queries.ts Outdated Show resolved Hide resolved
packages/shared/src/api/groupsApi.ts Outdated Show resolved Hide resolved
packages/shared/src/store/sync.ts Outdated Show resolved Hide resolved
packages/ui/src/components/Channel/index.tsx Outdated Show resolved Hide resolved
packages/ui/src/components/ContactBook.tsx Show resolved Hide resolved
packages/ui/src/components/ContactBook.tsx Outdated Show resolved Hide resolved
packages/ui/src/hooks/contactSorters.ts Outdated Show resolved Hide resolved
packages/shared/src/api/channelsApi.ts Outdated Show resolved Hide resolved
packages/shared/src/api/chatApi.ts Outdated Show resolved Hide resolved
packages/shared/src/api/chatApi.ts Outdated Show resolved Hide resolved
packages/shared/src/db/types.ts Outdated Show resolved Hide resolved
packages/shared/src/store/sync.test.ts Outdated Show resolved Hide resolved
Copy link
Collaborator

@dnbrwstr dnbrwstr left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looking good! Besides the few comments above, remaining stuff is:

  • Refactor api methods so we don't need to pass in current user
  • If there's anyway we can abstract the scroller managements stuff it'd be really nice, as it's kind of threaded through in a number of places

packages/ui/src/components/ContactRow.tsx Outdated Show resolved Hide resolved
packages/ui/src/components/Badge.tsx Outdated Show resolved Hide resolved
@jamesacklin
Copy link
Member

Exciting stuff. Do we want an ephemeral build for this?

Copy link
Collaborator

@dnbrwstr dnbrwstr left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code lgtm!

Copy link

linear bot commented May 24, 2024

Copy link

linear bot commented May 24, 2024

@latter-bolden latter-bolden merged commit 7e63488 into develop May 24, 2024
1 check failed
@latter-bolden latter-bolden deleted the lb/add-chats branch May 24, 2024 17:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
5 participants