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

Release/3.0.0 #1417

Closed
wants to merge 159 commits into from
Closed

Release/3.0.0 #1417

wants to merge 159 commits into from

Conversation

technoplato
Copy link
Collaborator

No description provided.

alexrisch and others added 30 commits October 28, 2024 14:15
* feat: Android Variants

Added Android Variants
Moved folder structures
Removed Android build scripts used to update new variant info
Aligned eas.json profiles
Added new manifest and strings for Android resource merger

* missed file commit
Co-authored-by: alexrisch <alexrisch@users.noreply.github.com>
* wip

* more color fix

* fix hstack file name

* fix hstack file name

* fix hstack file name

* fix types + fix button + add more theme stuff

* fix button

* more fixes

* fix snapshots

* wip

* bottom sheet wip

* fix button component and refactor bottom sheet into multiple files

* more bottom sheet fixes

* clean up

* fix
* Always show reactions outside of the message bubble

No matter which content type it is

* useMemo on useStyles

* Revert "useMemo on useStyles"

This reverts commit 93657c4.

* Use app theme and start implementing values in styles

* WIP Implement new styling and colors to reaction bubbles

* Update reactors container outer margin

* Remove avatars in reaction bubbles; apply new design system for styling; use alias to import the theme

* Add `borderWidth` to theme

* Use border radius and border width from theme

* Implement rolled up reactions

* Move const

* Show top 3 reactions

* Put comment back in

* Change border color to match the background for user's own reactions

* Change chat background to theme `colors.background.surface`

* Set new background to `surface` also in App, Chat, and Input

* Remove the export default, put the memo inline with the component

* More design system implementation

- Replace `<View>` with `HStack` and `VStack` components
- Use the `Text` from the design-system not from `react-native`
* add TextField and fix IconButton

* delete old button
Added handling when pressing a display name in the group updated messages
Fixed tsconfig
Added util to create text styles
Updated Chat Group Updated message to match design system
Added ParsedText component
* fix: Xmtp Engine Rerenders, Race Conditions, Crashes

Refactored Xmtp Engine to be mostly outside of React Context
Adds subscriptions
Moves app state into folder and adds new app state util

* Moved cron to class component
* remove testflight action

* fix eas

* oops

* Set to remote

* add platform checks

* fixes

* Expo is great

---------

Co-authored-by: Thierry <skodathierry@gmail.com>
* fix: Sync Account on Add

Added subscription for accounts store

* Safety
Co-authored-by: alexrisch <alexrisch@users.noreply.github.com>
Co-authored-by: thierryskoda <thierryskoda@users.noreply.github.com>
Co-authored-by: alexrisch <alexrisch@users.noreply.github.com>
header and header action design system
Removed deprecated uses
Updated props
Fixed navigation to pop to top
* Add `colors.scrim` to design system for bottom sheet backdrop component

* Implement bottom sheet backdrop, top safe area, dynamic height/size

* Add icon variant `subtle` for bottom sheet closing button style

* Update the reaction detail types and display the reactions in the bottom sheet

* Render the reactions drawer only when needed

* Cleanup unused code

* Auto-close reactions drawer when index reaches 0, add left and right padding to reactions ScrollView

The reactions ScrollView did not scroll far enough to the right, hiding some of the reaction emojis. This commit adds a filler View with a fixed width of 64px as the last child of the ScrollView to ensure it can scroll all the way to the right, revealing the previously hidden content

* refactor and fix modal

* make cleaner

* oop

* remove background on scrollview since we have on bottom sheeet

* Revert because Yoga.podspec has unstable checksum

facebook/react-native#43220

* Fix typo and add accessibility

* Use path alias, add comment on reaction types for clarity

* Small fixes, add more accessiblity

* Zustand logic update

* fix: EAS Build Fixes (#1099)

* remove testflight action

* fix eas

* oops

* Set to remote

* add platform checks

* fixes

* Expo is great

---------

Co-authored-by: Thierry <skodathierry@gmail.com>

* WIP implement `BottomSheetModal`

* Add `BottomSheetModalProvider`

* Make icon slightly smaller to fit figma's icon size

* Move the bottom sheet modal provider at the app root, so it shows up on top of everything else

* Dismiss keyboard when reactions drawer opens, better error handling

* Refactor `MessageReactionsDrawer` component and zustand store for updated `RolledUpReactions` structure

- Updated `RolledUpReactions` type definition to remove deprecated fields and add `count` in `DetailedReaction`
- Fetch profile information for reactors
- Modified `useMemo` logic in `MessageReactionsDrawer` to include `preview` with top reactions sorted by count
- Adjusted `zustand` store initial state to match the updated `RolledUpReactions` structure
- Fixed map error in component by ensuring `detailed` array has data before rendering

* Fix android build config

* Optimizing memo comparison

The current memo comparison checks each field individually. Consider using a shallow comparison of the entire reactions object since it's already immutable (as evident from the Zustand store pattern mentioned in the PR summary)

* Updated `RolledUpReactions` data model to include:
 - `preview` with counts for each reaction type
 - `detailed` as a sorted array, with user’s own reactions appearing first

* Implement drawer logic and UI for filtered reactions view in `MessageReactionsDrawer`

- Added filter functionality to display specific reactions based on selected content
- Introduced "All" button in preview section to reset filter and show all reactions
- Refactored `BottomSheetScrollView` to:
    - Display horizontal preview of all reactions with counts
    - Render detailed list of reactors for each reaction type
    - Apply filtering based on selected reaction type, with user’s own reactions highlighted at the top
- Adjusted styling to indicate active filters, improving user interaction and readability

* Reset reaction filter on dismiss, replace `ScrollView` with the one from `react-native-gesture-handler`

* Reaction chips styling and UI states

* Extract `ReactionPreview` type

* Detailed reactions styling, fallback with `shortAddress$ if no username is set, simplify type

* Small fixes

* Memoizing the backgroundStyle array

* Refactor MessageReactionsDrawer to improve scrolling behavior

- Implement `FlashList`
- Wrapped `FlashList` in `BottomSheetScrollView` to enhance scroll management
- Enabled nested scrolling for FlashList to ensure smooth scrolling within BottomSheet
- Adjusted `contentContainerStyle` to respect safe area insets

* Resolve diff for android build

* GestureHandlerRootView styling

* Build config revert

---------

Co-authored-by: Thierry <skodathierry@gmail.com>
Co-authored-by: Alex Risch <alex.j.risch@gmail.com>
thierryskoda and others added 24 commits December 12, 2024 20:42
* many fixes

* fix animation

* fix translations
* WIP

* feat: DM Push Notifications and Native iOS Profile Updates

Updated profile handling
Added handling for V3 DM messages

* remove log
Co-authored-by: alexrisch <alexrisch@users.noreply.github.com>
Co-authored-by: alexrisch <alexrisch@users.noreply.github.com>
Co-authored-by: alexrisch <alexrisch@users.noreply.github.com>
…essage + refactor queries/mutations (#1357)

* wip

* add optimistic update when sinding simple text message

* more fixes

* more fixes

* moreee fixes

* fix tsc
Co-authored-by: alexrisch <alexrisch@users.noreply.github.com>
* fix: Profiles

Previously we were using zustand to manage profile state
We were manually checking which profiles to update which can become cumbersome as we add more profile type features
We were also doing manual caching/persistence with profiles

This was a bit hard to maintain, update and use

So in V3 I introduced profiles using queries but cut a number of corners more focused on V3

This fixes my sins

Removes the old profiles store and moves it into our preferred pattern

* fix tests

* [create-pull-request] automated change (#1383)

Co-authored-by: alexrisch <alexrisch@users.noreply.github.com>

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: alexrisch <alexrisch@users.noreply.github.com>
Adding logs and typesafety
…tification Deeplink (#1390)

* bugfix: fix notification deeplink to group chat

* attempt to wait for db to reconnect
Co-authored-by: alexrisch <alexrisch@users.noreply.github.com>
* Config for android prebuild

* Remove android folder and configure plugins and config for prebuild

* Increase memory for EAS

* No need for android build script

* Move google services

* Google services

* production google services

* Upgrade XMTP SDK and fix Android notifications for DM

* fix builds

* fix build

* fix pod file

* fix for profiles

* Fix TSC

* Correct syntax for Android

* fix iOS Build from upgrade

* fix pattern

* iOS Build last update

---------

Co-authored-by: Alex Risch <alex.j.risch@gmail.com>
* wip

* small clean up

* fix tsc

* small clean up and refactoring
* bugfix: fix notification deeplink to group chat

* attempt to wait for db to reconnect

* wait for xmtp client hydration; cleanup nav

* Update onInteractWithNotification.ts

* typescript

* better waiting logic based on subscribe instead of polling

* use store subscription rather than poll; add timeout (defaults to 1 second)

* refacgtor waitForXmtpClientHydration to use subscription to store; wait instead of sleep
Co-authored-by: alexrisch <alexrisch@users.noreply.github.com>
Co-authored-by: Alex Risch <alex.j.risch@gmail.com>
Co-authored-by: alexrisch <alexrisch@users.noreply.github.com>
…on message + fix for new SDK senderInboxId + many other stuff (#1401)

* more chat fixes

* fix back pod + yoga

* remove logs

* fix comments + more fixes

* fix tsc
Co-authored-by: alexrisch <alexrisch@users.noreply.github.com>
* Increased debounce delay for better performance

* Reset immediately when input is cleared

* Reset bigBold text preset not to use xs font size
* feat: appcheck

* fix ios build issue

* auth/config fixes

* todo

* revert attempted fix

* revert to info.plist firebase initialization

* fix pod install bug again

not sure how this keeps cropping up

* initialization is too cumbersome for now and these are safe to commit so doing so

* firebase plist files in source control for simplicity - can revisit later

* typescript fixes

* remove firebase instructions

* Update AppDelegate.mm

* Update Podfile

* Update NewAccountEphemeraScreen.tsx

* chatgpt assisted fixes

* update pods to match podfile lock in eas

* pr feedback

* code cleanup

* upgrade bundler;ruby

* Update JoinGroup.client.ts

* Update JoinGroup.client.ts

* asdf

* add android appcheck debug token

* fix ios physical device -> local backend; cleanup env management; check off todo

* use env utils everywhere

* fix typescript; rename var

* im dumb and app.config.ts can't import typescript

* script to send apk to android physical device

* update exit codes

* fix auth deduping
@technoplato technoplato requested review from a team as code owners December 20, 2024 19:46
Copy link
Contributor

coderabbitai bot commented Dec 20, 2024

Important

Review skipped

More than 25% of the files skipped due to max files limit. The review is being skipped to prevent a low-quality review.

77 files out of 280 files are above the max files limit of 75. Please upgrade to Pro plan to get higher limits.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.


Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR. (Beta)
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants