* move post ctrls to #/components
* restructure post controls, basic share menu
* add border radius to searchable people list for android
* Revert "add border radius to searchable people list for android"
This reverts commit 417449086e25b82f5683b12f6405d972f48ce50e.
* add copy link to native share menu
* reorg files again
* open native share menu on long press
* Translation comments
Thanks @surfdude29
* abs path
* update type imports, remove forwardRef
* rm react import
* equal spacing of buttons, extract disco debug
* add better icon
* add right offset to share button for visual alignment
* Add recent chats to share menu (#7853)
* add recent chats to share menu
* Update RecentChats.tsx
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com>
* Update RecentChats.tsx
* add fading edge on andriod
* tweak scrollview
* Add metrics and A/B alt icon to share menu (#8401)
* add metrics
* add a/b tested alt icon
---------
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com>
* More descriptive share text/icon on web (#7854)
* more descriptive share text on web
* revert dev mode changes
* add missing import
* use modified share icon everywhere
* Add back conflicting changes
---------
Co-authored-by: Eric Bailey <git@esb.lol>
---------
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com>
Co-authored-by: Eric Bailey <git@esb.lol>
* radix select component on web
* native implementation (wip)
* fix sheet height/padding
* tone down web styles
* react 19 cleanup
* replace primary language select
* change style on native
* get auto placeholder working
* more style tweaks
* replace app language dropdown
* replace rnpickerselect with native select
* rm react-native-picker-select dependency
* rm placeholder, since a value is always selected
* docblock for renderItem
* add more docblocks
* add style prop to item
* pass selectedValue through renderItem
* fix context
* Style overflow buttons
---------
Co-authored-by: Eric Bailey <git@esb.lol>
* use binary search for compressImage
* use binary search for doResize (mobile version)
* use binary search for doResize (web version)
* use safeDeleteAsync in compressImage
---------
Co-authored-by: nguyen <nguyensvo123@gmail.com>
* add stateful dialog control hook
* add new alf'd consent
* make secondary_inverted buttons clearer
* contingency for opening a link from another dialog
* rm old modal
* Differentiate buttons more
---------
Co-authored-by: Eric Bailey <git@esb.lol>
* keep all radix deps aligned by using single package
* import directly from `radix-ui` or `radix-ui/internal`
* prevent radix leaking into native build
* Prevent issuing verifications for users without display names
* Wait for success before closing, show errors
* Update icons
* WIP adjust size
* Adjust check size in feeds
* Add back unused icon
* Format
* WIP
* Alignment with icon
* Add create/remove prompts
* Fill out check dialog a bit
* Reorg
* Handle was verified state
* Add warning to edit profile
* Add warning to handle dialog
* Decent alignment in posts on all platforms
* Refactor alignment for posts, chatlist, hover card
* Disable on profile
* Convo header
* Compute simple verification state
* Add other icon, rename, integrate
* Swap in simple state for profile edits
* Clean up utility hooks
* Add verifications UI to dialog
* Add edu nux
* Revert change
* Fix wrapping of check on profile
* Rename
* Fix gap under PostMeta
* Update check dialogs
* Handle takendown verifiers in check dialog
* alf composer reply to
* Refactor verification state
* Add create/remove mutations, non-functional for now
* Fix up post-rebase
* Add check to first author noty
* Do cache updates after mutations
* DRY up hook, add to profile updates too
* Add to drawer
* Update account list
* Adapt to new types
* Hook up mutations
* Use profile shadow in feeds
* Add to settings
* Shadow currentAccountProfile
* Add invalid state to verifications
* Fix alignment and overflow in Settings and Drawer
* Re-integrate post rebase
* Remove debug code
* Update copy
* Add unverified notification support
* Remove link
* Make sure dialog closes
* Update URL
* Add settings screen
* Integrate new setting into verification states
* Add metrics, bump package, fix bad import
* NUX fixes
* Update copy
* Fixes
* Update types
* fix search autocomplete
* fix lint
* add display name warning to new dialog
* update default prefs
* Add parsing support for notifications
* Bump pkg
* Tweak noty styles
* Adjust check alignment
* Tweak check alignment
* Fix badge for verifier
* Modify copy
---------
Co-authored-by: Samuel Newman <mozzius@protonmail.com>
Co-authored-by: Paul Frazee <pfrazee@gmail.com>
* move to dialogs dir
* make searchable people list more generic
* new list-add-remove-users dialog
* update header text
* fix header on android
* delete old modal
* reduce spacing on items
* Replace usages of old ProfileCard
* Replace Pills with Labels component
* Replace impl of ProfileCardWithFollowButton
* Remove never-used LikesDialog
* Handle missing mod opts
* Add missing profile hover
* use modern button in listmembers
* remove follow button from muted accounts list
---------
Co-authored-by: Samuel Newman <mozzius@protonmail.com>
* Tests fix
* Move the hosting provider text in account creation into the inside of the button to improve translation handling (close#8166)
* Pull latest translations
* Revert the 'you are creating an account' change entirely; it doesnt work
* Increase number of accounts suggested in the follow dialog progress guide
* Increase the bottom pad on the dialog flatlist component
* Format
---------
Co-authored-by: Eric Bailey <git@esb.lol>
* Only show suggested users for non-english users
* Fall back to searching for users for non-english speakers
* Disable other queries if full experience is disabled
* Bump package
* If no content langs, use full exp
* Hover on sugg account
* Add subtle hover to all components except feed
* Use skeleton states for refetch on focus
* Empty results state for sugg users
* Filter out pinned posts from feed previews
* Add trending header if not top module
* Tighten up spacing
* Fetch 10 profiles
* Update interests copy
* Remove refetch on focus
* Add PTR
* use a map
* Update src/screens/Search/modules/ExploreInterestsCard.tsx
* fix web double border
---------
Co-authored-by: Hailey <me@haileyok.com>
* Fix interests card spacing
* Space out AvatarStack
* SP icon size
* Visual alignment of tab bar and headers
* Tweak spacing around search input
* Drop text size in sp card overflow count
* Tweak
* update package
* wire up APIs
* get reactions to display
* allow removing emoji
* handle limits better
* listen to reactions in log
* update convo list with reactions
* tweaks to reaction display
* Handle empty message fallback case
* update package
* shift reacts up by 2px
---------
Co-authored-by: Eric Bailey <git@esb.lol>
* get context menu somewhat working ish
* take screenshot rather than double rendering
* get animations somewhat working
* get transform animation working
* rm log
* upwards safe area
* get working on android
* get android working once and for all
* fix positioning on both platforms
* use dark blur on ios always, fix dark mode
* allow closing with hardware back press
* try and fix type error
* add note about ts-ignore
* round post
* add image capture error handling
* extract magic numbers
* set explicit embed width, rm top margin
* Message embed width tweaks
* Format
* fix position of embeds
* same as above for web
---------
Co-authored-by: Eric Bailey <git@esb.lol>
* Align dist and release tags on all platforms
* Upload web sourcemaps
* Debug code
* Send debug and error logging to Sentry
* Let .env do the work
* Try straight env
* Try copy in Dockerfile
* Ok ok ok
* Debug Dockerfile
* Proper setup
* See where we're at
* Reference var correctly
* Fall back to package version
* Verbose force env
* Should be working native builds
* Comments
* Remove unused deps
* Revert unneeded changes
* Remove debug code
* Clarify intent
* Remove deprecated files
* Add sentry vars to OTA
* Debug
* Revert "Debug"
This reverts commit 2d5857fb0fb0858ac3e2f98bc56bde913078d0a7.
* Use included CLI to upload native source maps post-OTA build
* Use included bin script
See https://github.com/getsentry/sentry-react-native/commit/0d87adb516b2a5ea61353e25098c31f9aeb7e503
* Bump sentry, update script
* Comment
* fix failing CI
* Pin sentry, update patch, update lock
---------
Co-authored-by: Samuel Newman <mozzius@protonmail.com>
* Revert "fix autocomplete (#7930)"
This reverts commit f06a78017a.
* Revert "#6861: Use available space to make focus on Composer TextInput easier (copy) (#7836)"
This reverts commit e40656128d.
* enhance(embed): add ability to pin color mode
* fix: Move color mode dropdown to the root section
* auto -> system
* style tweaks
* default to light theme
* try and fix eslint
* fix dropdown styles on other browsers
* rm unnecessary eslintrc change
* more explicit color mode select
* make light explicit
---------
Co-authored-by: kakkokari-gtyih <67428053+kakkokari-gtyih@users.noreply.github.com>
* improve error screen
* add chat request prompt
* mock up inbox
* bigger button
* use two-button layout
* get inbox working somewhat
* fix type errors
* fetch both pages for badge
* don't include read convos in preview
* in-chat ui for non-accepted convos (part 1)
* add chatstatusinfo
* fix status info not disappearing
* get chat status info working
* change min item height
* move files around
* add updated sdk
* improve badge behaviour
* mock up mark all as read
* update sdk to 0.14.4
* hide chat status info if initiating convo
* fix unread count for deleted accounts
* add toasts after rejection
* add prompt to delete
* adjust badge on desktop
* requests -> chat requests
* fix height flicker
* add mark as read button to header
* add mark all as read APIs
* separate avatarstack into two components (#7845)
* fix messages being hidden behind chatstatusinfo
* show inbox preview on empty state
* fix empty state again
* Use new convo availability API (#7812)
* [Inbox] Accept button on convo screen (#7795)
* accept button on convo screen
* fix types
* fix type error
* improve spacing
* [DMs] Implement new log types (#7835)
* optimise badge state
* add read message log
* add isLogAcceptConvo
* mute/unmute convo logs
* use setqueriesdata
* always show label on button
* optimistically update badge
* change incorrect unread count change
* Update src/screens/Messages/Inbox.tsx
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com>
* Update src/screens/Messages/components/RequestButtons.tsx
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com>
* Update src/screens/Messages/components/RequestButtons.tsx
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com>
* Update src/screens/Messages/components/RequestListItem.tsx
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com>
* fix race condition with accepting convo
* fix back button on web
* filter left convos from badge
* update atproto to fix CI
* Add accept override external to convo (#7891)
* Add accept override external to convo
* rm log
---------
Co-authored-by: Samuel Newman <mozzius@protonmail.com>
---------
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com>
Co-authored-by: Eric Bailey <git@esb.lol>
* Add option to align web dialogs to top
* Add new wait util
* Pipe through feed view to feed components
* Reset unneeded change to main
* Copy over fresh report dialog based on old
* Hack in temp testing data
* Swap in new dialog in all cases but chat
* Cleanup
* Add load and initial error state
* Fill in states
* Add copyright link
* Handle single labeler case
* Comment out debug code
* Improve centering of type in circles
* Open details if Other is selected
* Remove debug code
* Tweak colors
* Bump SDK
* Tweak Admonition for better x-platform styles
* Add retry button
* Add close button
* Remove todo not covered in this PR
* Translate Retry
* Adjust datalake abstraction
(cherry picked from commit 8ba6a8d45b1bd5698afbd06d9e858a91789f0ea6)
* Just be really really specific
(cherry picked from commit 920198959659329a7f7f7282a1293aaad198d8e3)
* Add metric method to logger, replace datalake calls with new method
(cherry picked from commit 7a026bbeae75514b64f928d7ff59707c518fd5e5)
* Clarify types
(cherry picked from commit 422b150deb158a70ef37e8a456d91bf26cd0b1bc)
* Colocate bitdrift in logger, use logger for transport
(cherry picked from commit cdd6941fd7)
* Fix mocks, format
(cherry picked from commit 9de88660c6)
* Ok I guess mocks dir doesn't work
(cherry picked from commit 9f37e52011)
* Remove enablement
* Refactor context and filtering
* Fix imports, simplify transports config
* Migrate usages of debug context
* Re-org, add colors and grouping to console logging
* Remove temp default context
* Remove manual prefix
* Move colorizing out of console transport body
* Reduce reuse
* Pass through context
* Ensure bitdrift is enabled in dev
* Enable Sentry on web only
* Clean up types
* Docs
* Format
* Update tests
* Clean up tests
* No positional args
* Revert Sentry changes
* Clean up context, use it, pass metadata through to Bitdrift
* Fix up debugging
* Clean up metadata before passing to Bitdrift
* Correct transports
* Reserve context prop on metadata and include in transports
* Update tests
* mobile avatar profile preloading fix
* updating fix to include moderation
* removing comments, adding disableNavigation to PreviewableUserAvatarProps
* better tablet layout
* adjust left nav spacing
* add right nav to pwi
* clearer logic
* fix a couple screens that don't need the tablet layout
* fix horiz scroll bar
* fix double trending
* fix ts-ignore
* fix labeller screen
* don't offset things within dialogs
* fix load latest button (and add scale animation)
* center loader on home screen
* adjust break points
* adjust left nav spacing
* fix load latest btn (again)
* add lang select to right nav if left nav is minimal
* fix double scrollbar on tiny screens
* fix scrollbar
* fix type errors
* 6861: Use available space to make focus on Composer TextInput easier
* Undo web
* bluesky-social#6861: Adjust focus area for native platforms taking Embeds into consideration
* use atoms
* remove empty div
* remove debug atom, whoopsie
---------
Co-authored-by: GrizliK1988 <dgrachikov@gmail.com>
Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
* tweak height/padding of iOS
* tweak android ratio calculation
* add a bit of extra padding to full height iOS to account for the bit below the safe area
* Add support for label exp to LabelsOnMeDialog
* Add exp to PostAlerts, align with LabelsOnMe UI
* Bump weight
* Improve translations
* Expiry should round up
* Add a little visual alignment hack
* Bump SDK
* Use consistent type in profile query
* Omit from constraint for profile shadow
* Replace isRecord with isValidRecord in QuoteEmbed
* Omit type from constraint for old ProfileCard
* Omit type from constraint in profile queries where appropriate
* Use correct type for update profile mutation
* Conslidate and fix check for isValidRecord in Post.tsx
* Replace isRecord with isValidRecord in PostThreadItem
* Remove redundant cast in PostThreadFollowBtn
* Ignore errors in DebugMod screen
* Use matching type in ProfileFollows screen
* Use matching type in ProfileFollowers screen
* Migrate to isValidRecord in PostFeedItem
* Use matching type if PostRepostedBy
* Omit type from constraint in avatar props
* Use matching types in NotificationFeedItem
* Todo
* Use isValidRecord in NotfyFeedItem
* Improve MediaPreview types
* Migrate another isValidRecord in NotificationFeedItem
* Migrate to isValidView in queries/util
* Migrate to isValidRecord in threadgate/util
* Fix types in threadgates
* Fix up types in starter-packs queries
* Todo
* Specify exact types in search-posts
* Use internal type util to align types
* Ditto last
* Migrate postgate/index
* Specify exact types in post-thread
* Use correct type in post-quotes
* FIX potential bug in post-thread
* Use correct type in post-feed
* Add correct type guards to notifications/feed
* Migrate a guard in notifications/util
* Migrate guard in Wizard/State
* [@next] Profile handling, migrate `ProfileCard` (#7347)
* Introduce new utils for profiles, migrate old ProfileCard
* Rename, reorg
* Add parseEmbed utils
* Expand AnyProfileView to include chat profile view, update post shadow to reflect this
* Cast for perf reasons
* Tighten up types now that we have AnyProfileView
* Add fastIsType util
* Use `assertDid`
Co-authored-by: Matthieu Sieben <matthieusieben@users.noreply.github.com>
* Use util types
* Comment
* Use fastIsType where no validation was happening before
* suggestions (#7382)
* suggestions
* Revert unneeded changes
---------
Co-authored-by: Eric Bailey <git@esb.lol>
* Use new util
* Rename to dangerousIsType
* Convert object shape
* Use dangerous util
* Use dangerous util
* Use dangerous util, we can trust post records
* Use dangerous util
* Use AnyProfileVIew
* Convert object shape
* Clean up handling
* Patch moderateProfile to accept known profile views, to discuss
* Add AnyStarterPackView and related, implement in first usage
* Remove validation, fix type, fix ref
* Migrate over list-conversations
* Clarify intent behind precacheProfile and its unstable query cache
* Clean up unstable profile cache
* Fix types during label creation in PwiOptOut (#7346)
* Tighten types in queries/list
* Chat: use correct profile views
* Chat: fix log type check
* Chat: construct lexically correct shape, even though it's only internal usage
* Chat: use correct profile types
* Chat: fix type check in logs
* Starter: use correct profile types
* Starter: use correct profile types
* Starter: tighten types to match lex
* Any profile type will work in blocked-and-muted
* Use dangerous util
* Use dangerousIsType
* Update new ProfileCard to use AnyProfileView
* Use dangerousIsType
* Remove outdated todo
* Use correct profile type
* Use correct profile types
* Tighten up types
* Use dangerousIsType
* Chat: more type fixes
* Remove unused file
* Add a few utils
* Remove unused file
* Ignore feedPost.__source
* Clean up types, leave validation in critical path
* Use dangerousIstype
* Use ANyProfileView
* Use isValidRecord
* Use dangerousIsType
* Fix types in ListCard
* Fix FeedInterstitials types
* Fix types in FeedCard
* Fix types in dms ReportDialog
* Fix types in SearchablePeopleList
* Fix bad type in composer opts
* Starter: ok these need to be loose too
* Clarify docs
Co-authored-by: Matthieu Sieben <matthieusieben@users.noreply.github.com>
* Less code
Co-authored-by: Matthieu Sieben <matthieusieben@users.noreply.github.com>
* Use package exports
Co-authored-by: Matthieu Sieben <matthieusieben@users.noreply.github.com>
* Use package exports
* Bump sdk, update $Typed imports
* Format
* Format
* Fix weird TS error
* Remove patch
* Beter name
* It's memo, can validate
* Tighten up parseEmbed, dogfood
* Bump sdk
* Use asPredicate
* Loosen types a bit
* use asPredicate
* Fix types
* Use asPredicate
* Use asPredicate
* Use asPredicate
* Clean up upsertProfile types
* Use asPredicate
* Use Un util
* Fix types
* Use new AnyProfileView
* Use dangerousIsType
* Use asPredicate
* Use asPredicate
* Add fallback content-type to pass typecheck
* Clean up upsertProfile types
* Align types
* Use dangerousIsType
* Use dangerousIsType
* Use asPredicate
* Align types
* Convert findLast
* Align types
* Just ignore type errors and use findLast
* Rename atproto -> bsky
* Add validate util
* Fix type error
* Loosen types
* Export post
* rename atp bsky
* Remove unused code
* minor changes
* Bump deps
* Fix types
* Tighten back up loose check
* Tighten back up loose check
* Fix small bug
* Update comment
* Revert change
---------
Co-authored-by: Matthieu Sieben <matthieusieben@users.noreply.github.com>
Co-authored-by: Matthieu Sieben <matthieu.sieben@gmail.com>
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
@@ -42,7 +42,7 @@ The Bluesky Social application encompasses a set of schemas and APIs built in th
- Open an issue and give some time for discussion before submitting a PR.
- Stay away from PRs like...
- Changing "Post" to "Skeet."
- Refactoring the codebase, e.g., to replace MobX with Redux or something.
- Refactoring the codebase, e.g., to replace React Query with Redux Toolkit or something.
- Adding entirely new features without prior discussion.
Remember, we serve a wide community of users. Our day-to-day involves us constantly asking "which top priority is our top priority." If you submit well-written PRs that solve problems concisely, that's an awesome contribution. Otherwise, as much as we'd love to accept your ideas and contributions, we really don't have the bandwidth. That's what forking is for!
@@ -15,7 +15,7 @@ This is NOT required when developing for web.
- Set up your environment [using the expo instructions](https://docs.expo.dev/guides/local-app-development/).
- make sure that the JAVA_HOME points to the zulu-17 directory in your `.zshrc` or `.bashrc` file: `export JAVA_HOME=/Library/Java/JavaVirtualMachines/zulu-17.jdk/Contents/Home`. DO NOT use another JDK or you will encounter build errors.
- If you're running macOS, make sure you are running the correct versions of Ruby and Cocoapods:-
- If you're running macOS, make sure you are running the correct versions of Ruby and Cocoapods:-
- If you are using Apple Silicon and this is the first time you are building for RN 0.74+, you may need to run:
-`arch -arm64 brew install llvm`
-`sudo gem install ffi`
@@ -33,7 +33,7 @@ This is NOT required when developing for web.
- After initial setup:
- Copy `google-services.json.example` to `google-services.json` or provide your own `google-services.json`. (A real firebase project is NOT required)
-`npx expo prebuild` -> you will also need to run this anytime `app.json` or native `package.json` deps change
### Running the Native App
- iOS: `yarn ios`
@@ -162,6 +162,9 @@ See [testing.md](./testing.md).
`./platform/polyfills.*.ts` adds polyfills to the environment. Currently, this includes:
| Select your OTA branch `1.x.0-ota-x`, select `production` in the dropdown, enter the git tag of the latest release `1.x.0`, and click "Run workflow" |  |
> [!NOTE]
> If you do enter an incorrect version here, the deployment will either:
> - Fail, because the action cannot find a commit with your misentered version
> - Succeed, but with no users receiving the update. This is because the version
> you entered will not properly correlate to a _build number_ as well, so no
> clients in the wild will be able to receive the update.
We want the official Bluesky app to be supported in as many languages as possible. If you want to help us translate the app, please open a PR or issue on the [Bluesky app repo on GitHub](https://github.com/bluesky-social/social-app)
We want the official Bluesky app to be supported in as many languages as possible. If you want to help us translate the app, please get involved on [Crowdin](https://bluesky.crowdin.com/bluesky-social) or open an issue on the [Bluesky app repo on GitHub](https://github.com/bluesky-social/social-app).
## Tools
- We use Lingui to implement translations. You can find the documentation [here](https://lingui.dev/).
- Introduction to Crowdin: https://support.crowdin.com/for-translators/
- We use Lingui to implement translations. You can find the documentation [here](https://lingui.dev/).
## Translators
@@ -15,7 +15,7 @@ Much of the app is translated by community contributions. (We <3 our translators
### Using Crowdin
[Crowdin](https://crowdin.com/project/bluesky-social) is our primary tool for managing translations. There are two roles:
[Crowdin](https://bluesky.crowdin.com/bluesky-social) is our primary tool for managing translations. There are two roles:
- **Proof-readers**. Can create new translations and approve submitted translations.
- **Translators**. Can create new translations.
@@ -32,7 +32,7 @@ Please treat everyone with respect. Proof-readers are given final say on transla
### Adding a new language
Create a new [Crowdin discussion](https://crowdin.com/project/bluesky-social/discussions) or [GitHub issue](https://github.com/bluesky-social/social-app/issues) requesting the new language be added to the project.
You can request a new language be added to the project by clicking **Request New Language** on [Crowdin](https://bluesky.crowdin.com/bluesky-social) or you can create a [GitHub issue](https://github.com/bluesky-social/social-app/issues).
Please only request a new language when you are certain you will be able to contribute a substantive portion of translations for the language.
@@ -47,7 +47,8 @@ Every night, a GitHub action will run `yarn intl:extract` to update the english
### Release process
1. Pull main and create a branch.
1. Run `yarn intl:pull` to fetch all translation updates from Crowdin.
1. Run `yarn intl:pull` to fetch all translation updates from Crowdin. Commit.
1. Run `yarn intl:extract:all` to ensure all `.po` files are synced with the current state of the code. Commit.
1. Create a PR, ensure the translations all look correct, and merge.
1. If needed:
1. Merge all approved translation PRs (contributions from outside crowdin).
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Based on [react-native-emoji-popup](https://github.com/okwasniewski/react-native-emoji-popup) and [expo-emoji-picker](https://github.com/alanjhughes/expo-emoji-picker)
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.