Samuel Newman
48e1502bd1
Fix Android crash in chat keyboard scroll (part 2) ( #11096 )
...
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-07-08 06:21:32 -07:00
Eric Bailey
954268a4b6
[AAv2] Integrate on-device APIs ( #9564 )
...
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com >
2026-07-02 15:15:30 -05:00
Samuel Newman
1b5242c1d6
Rip out Modal system completely ( #9903 )
2026-06-17 02:45:01 -07:00
Samuel Newman
62d1e88ce1
Fix Android crash in chat keyboard scroll ( #10673 )
...
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-01 14:32:41 -07:00
Samuel Newman
601dae0cda
fix(ios): fix Hermes startup race in ExpoBridgeModule (patch) ( #10672 )
...
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-01 07:56:34 -07:00
Samuel Newman
bac06bdf23
Switch sonner-native patch to target ESM source ( #10668 )
2026-05-31 13:45:28 -07:00
Samuel Newman
8720ef72ce
Bump RNKC ( #10617 )
2026-05-26 10:15:51 -07:00
Samuel Newman
ff731849b0
Migrate from Yarn 1 to pnpm ( #10465 )
...
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
Co-authored-by: Eric Bailey <git@esb.lol >
2026-05-18 09:51:04 -07:00
Samuel Newman
b2335dcdb1
Update react-native-keyboard-controller ( #10329 )
2026-05-11 08:54:01 -07:00
Samuel Newman
0b6ae1cc21
Fix picking offloaded videos for IOS 26 ( #10428 )
2026-05-06 06:40:22 -07:00
Spence Pope
3931b90818
don't screenshot dictation placeholders as pasted images ( #10313 )
2026-04-20 23:35:22 -07:00
Spence Pope
444c5787c5
[APP-2037] add bsky video ( #10281 )
...
Co-authored-by: Samuel Newman <mozzius@protonmail.com >
2026-04-20 07:21:25 -07:00
Samuel Newman
d3f5093817
Groupchats feature branch ( #10181 )
...
Co-authored-by: DS Boyce <260543580+ds-boyce@users.noreply.github.com >
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-15 12:15:45 -07:00
Samuel Newman
888eca73b3
Refactor chat list implementation ( #10059 )
2026-04-10 09:58:16 -07:00
Arunabh Verma
b196ddef73
Replace react-native-paste-input with expo-paste-input ( #10158 )
...
Co-authored-by: Eric Bailey <git@esb.lol >
2026-04-01 16:25:16 -05:00
Eric Bailey
0419066f45
Add fmt patch to react-native ( #10136 )
2026-03-26 22:53:41 -05:00
Samuel Newman
4737bfb7ed
Update expo deps, unpin things ( #10044 )
2026-03-12 05:33:11 -07:00
Samuel Newman
6187e79b0e
Update React Native Screens and React Navigation to latest ( #9993 )
...
Co-authored-by: Eric Bailey <git@esb.lol >
2026-03-10 15:32:41 -05:00
Samuel Newman
9ec06971af
Upgrade Lingui to v5 ( #9905 )
2026-02-23 20:28:03 +00:00
Samuel Newman
79e27e303b
Fix missing pixel row in text rendering on iOS ( #9882 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-16 05:41:35 -08:00
Samuel Newman
421c18ea7c
fix image patch version ( #9810 )
2026-02-02 15:35:04 -08:00
Samuel Newman
1cb362b596
Add loading="lazy" to expo-image on web ( #9480 )
...
* add `loading="lazy"` to expo-image
* add `loading="lazy"` to embed cards, avatars
* get rid of useless image wrapper indirection
* move image components to components dir
* fix imports
* fix import
* Keep avis eager
---------
Co-authored-by: Eric Bailey <git@esb.lol >
2026-01-14 20:29:13 -06:00
Samuel Newman
58ac9a3e7b
Patch video player to add a ton of debug logging ( #9657 )
2026-01-14 19:18:29 -06:00
Samuel Newman
226b19ae43
Reduce startup hang by not querying fonts ( #9670 )
...
* query fonts lazily
* use `lazy var`
2026-01-14 12:22:26 -08:00
Samuel Newman
d82592f072
Fix full-screen back gesture over PagerView on iOS 26 ( #9659 )
...
Patches react-native-pager-view to handle iOS 26's
interactiveContentPopGestureRecognizer, using the same logic that
already exists for RNSPanGestureRecognizer: on the leftmost page,
disable the scrollview's pan gesture to let the back gesture through.
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-08 11:36:01 -08:00
Samuel Newman
43ebb80a5b
patch in proguard rules ( #9447 )
2026-01-06 09:31:54 -08:00
Samuel Newman
caa02db87b
Update react native screens, remove patch ( #9210 )
...
* update react native screens
* bump rns
* see if nightly works
* update nightly
* yay it's out
* update react-nav
* update drawer layout and remove patch
* Update createNativeStackNavigatorWithAuth.tsx
* render drawer as "layout" component
* rm react-nav/drawer (unused)
* restore drawer layout patch
2025-12-29 10:16:49 -08:00
Samuel Newman
ad7d49ef8f
[Contacts] Contacts matching flow ( #9486 )
...
* add expo-contacts
* add expo-sms
* update copy
* add basic settings screen
* state machine, flow screen
* phone input screen
* otp screen
* tweak spacing
* resend code logic
* add layoutanimationconfig
* check availablility in settings screen
* get contacts
* matches screen
* search, temp setup for matches UI
* add a bunch of number parsing logic with libphonenumber
* cast to looser type
* rename sync to find
FCF (Find Contacts Flow)
* update geolocation hook
* nicer design for settings screen
* add completed state
* up border contrast
* update expo deps
* add pending spinner
* add country whitelist
* add empty state screen
* drop add more functionality
* upload -> import
* fix typo
* fix permission string
* copy updates
* rm envelope icon
* update sms copy
* add inviteinfo component
* woke is back
* [Contacts] NUXes (#9515 )
* add a bunch of number parsing logic with libphonenumber
* add banner nux
* add announcement nux
* native only nux
* rm shitty animation
* move isNative check
* [Contacts] Onboarding step (#9489 )
* add a bunch of number parsing logic with libphonenumber
* restructure onboarding to better support dynamic screens
* integrate existing flow into onboarding
* add intro step
* lift state up to allow going back freely
* gate onboarding by geo if unsupported country
* add done button to standalone flow
* [Contacts] Add `contact-match` notification type to feed (#9519 )
* add a bunch of number parsing logic with libphonenumber
* add contact-joined notif type
* update string, api package
* Update NotificationFeedItem.tsx
* Update NotificationFeedItem.tsx
* Delete SyncContactsFlow.web.tsx
* fix follow back btn for this case
* [Contacts] API integration (#9487 )
* api integration for flow
* copy tweak
* tweaks after running it
* wire up status page
* rename toast
* use api lib
* rm temp code
* maybe fix otp error
* clear code on error/resend
* add 1s delay to verify success
* update package versions
* Delete SyncContactsFlow.web.tsx
* try and fix yarn.lock lint
* even woker
* fix uppercase friends
* surfdude feedback
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com >
* rm log
* allow resend on invalid code
* Update GetContacts.tsx
* overwrite country code if possible
* fix Apple's Best Feature
* devenv latest
* disable bounces
* interactive keyboard dismiss
* copy changes
* national format
* allow resending immediately
* move success state down a bit
* Update FindContactsSettings.tsx
* [Contacts] More onboarding changes (#9491 )
* integrate existing flow into onboarding
* refreshed onboarding styles, rm stepper
* center content on web
* Add back dismiss button for internal onboarding
* Import sort
---------
Co-authored-by: Eric Bailey <git@esb.lol >
* add matches query to shadow
* add clockwise arrow
* update status design, fix dismiss, fix queries
* add metrics
* add more comments
* Update metrics.ts
* refetch both queries on PTR
* fix shadow state in matches page
* reduce empty space at bottom
* show contact info on matches
* filter out contacts without numbers at an earlier stage
* Error handling ✨
* get notifs working
* filter out businesses
* rm log
* remove TODO from learn more links
* try and exclude from web bundle
---------
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com >
Co-authored-by: Eric Bailey <git@esb.lol >
2025-12-12 10:32:06 -08:00
Samuel Newman
756cf0a2d5
patch speculative fix to RN ( #9436 )
2025-12-04 17:46:46 -06:00
Samuel Newman
732c7e59a8
patch expo-modules-core lifecycle fix ( #9472 )
2025-12-04 17:45:34 -06:00
Samuel Newman
8b00b8f945
Split React Native patches into individual patches ( #9429 )
2025-11-22 23:49:57 +02:00
Samuel Newman
9330e21c6a
patch in upstream expo updates fix ( #9428 )
2025-11-21 07:15:23 -08:00
Samuel Newman
16b14b9d13
Restore await to dismissBrowser in intent handler ( #9326 )
2025-11-04 16:57:52 +02:00
Samuel Newman
5cff45bdc8
Update expo and related dependencies ( #9291 )
...
* update expo + deps
* reanimated patch right version
* Update yarn.lock
* update other rn packages
2025-10-28 06:44:16 -07:00
Samuel Newman
e28aa7d1ab
Patch out PerformanceMonitor component ( #9266 )
...
* patch out perf monitor component
* make PerformanceMonitor a noop
* rm debug stuff
2025-10-23 10:35:37 -05:00
Samuel Newman
03adb4260f
patch fractional font size issue ( #9199 )
2025-10-15 09:14:42 -07:00
Samuel Newman
5e36992fba
patch delete audio compression for 16kb compat ( #9149 )
2025-10-06 07:42:53 -07:00
Samuel Newman
f170313f70
patch sonner-native to remove exit animations ( #9092 )
2025-10-03 13:08:05 -07:00
Samuel Newman
7f4e3091f7
patch react native screens ( #9087 )
2025-09-26 10:41:17 -07:00
Samuel Newman
be324432bd
add sentry patch for vendoring metro import ( #9065 )
2025-09-23 07:16:19 -07:00
Samuel Newman
5211b26903
Expo 54 ( #8931 )
...
* update deps
* update patches
* fix new arch optout
* build from source, disable new arch
* update to preview.14
* upgrade off of preview to release
* fix lockfile lint
* update patches
* add back expo-location
* downgrade reanimated
* downgrade pagerview
* use expo-file-system/legacy
* try and upgrade types/react-dom
* fix type of uint8array
* rm @types/react resolution from bad rebase
* more type errors
* fix mock
* bump rn-compressor
* add patch of https://github.com/bluesky-social/react-native-paste-input/pull/5
* delete NativeDropdown & remove Zeego
* `import React` in expo modules
* bump cocoapods
* rm unused picker lib
* add speculative react-native-mmkv patch
* revert patch, add temp debug info to error
* bring back speculative patch, patch built JS code instead of source
* revert patch, just do debugging part
* dep update
* update resolutions, dynamic-app-icon
* bump node version in eas.json
* update build instructions
* rm atob from docs
* Delete react-native-mmkv+2.12.2.patch
* bump expo which might include fix
* update expo patch version
* bump expo patch version
* wrong version oops
* update expo to latest
* update react-native-compressor, rm patch
2025-09-22 08:52:07 -07:00
Samuel Newman
6983efee7f
iOS 26 with design compatibility mode ( #9059 )
...
* enable design compat mode
* patch compressor lib
https://github.com/numandev1/react-native-compressor/issues/367
2025-09-22 08:21:20 -07:00
Samuel Newman
3e2c181c40
Upgrade @types/react to 19 and run codemod (attempt 2) ( #8918 )
...
* update dependencies
* rm `import type React from 'react'`
* run codemods
* patch discord types
* update types/react-dom
* Update yarn.lock
2025-09-09 08:09:10 -07:00
Samuel Newman
73d72814c5
patch in unreleased upstream fix for jitter ( #8952 )
2025-09-05 08:39:55 -07:00
Eric Bailey
122a46891a
[APP-1318] SelectMediaButton ( #8828 )
...
* Integrate Sonner for toasts
* Fix animation on iOS
* Refactor API
* Update e2e file
* [APP-1318] Post composer: combine image & video buttons (#8710 )
* add: select media btn
* udpate: compose post with combined image and video support
* add: video combine button with edge cases
* add select media btn
* test: select media btn
* add: media button update
* remove unused files and update toast on android
* update: make strings shorter
* add: ValidatedVideoAsset type
* update link comments and add toast support for native and web
* rebase latest toast and update toast structure
* remove unused prop
* fix types
* undo changes to yarn.lock
* remove: support for mkv files
* update: eslint and prettier
(cherry picked from commit f69779ee130f07e1c49219b53117e3bdd1a9f81b)
* Add missing props to launchImageLibraryAsync
(cherry picked from commit 2e80ae561fd66850f787cac0aae0fa5a6980f8f5)
* Rough out new approach
(cherry picked from commit 9add225160e7e407befc73e9cdd9743a30cdf1cd)
* Comments and cleanup
(cherry picked from commit e69bd186e7335372f440c446ae6643ed0fb15db9)
* Handle native case
(cherry picked from commit 74e38acdfd9181d0557426691fcbcbf0800481ca)
* Refactor
(cherry picked from commit 68aea496db8df54dba5f58da267ad962c28ef995)
* Rename
(cherry picked from commit 8609e59ad14219e7378ee6cb9514d633ce7efc27)
* Cleanup, comments
(cherry picked from commit 6c9c98648e37257285a9c8caeb1eadcc56c81402)
* Rename
(cherry picked from commit 66e3db539d5baa41436c9e49af06e87a78e9e7e1)
* Handle selectionLimit on Android
(cherry picked from commit 251f06dd5e65a7083b810bad3d81114b2fe9ab39)
* create composer images in parallel
(cherry picked from commit 70ea79d9d76d99e9c99a7d2296caed84c718650e)
* Update toast API usage
(cherry picked from commit e370018b8ed8cdfd7675c9634058c72cb59d39de)
* Ensure once one type of media is selected, you can only select more of that type
(cherry picked from commit 1a9e6e0cdb5234667f08e3dd9107ae598941fc23)
* Remove TODO and debug code
* Add more descriptive a11y label to button
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com >
* Add back post success toast
* Include mimeType in toast error
* Remove unneeded toast
* Clarify hint
* Typo
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com >
* allow gifs on native, just treat as images
* disable haptic toast
* allow gifs on native, treat as videos
* only do keyboard dismiss on native
* tweak pasting logic
* hide web scrubber in certain situations
* Update MaxImages translation
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com >
* Add plural formatting to a11y hint translation
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com >
* fix suggestion
* Protect against no valid assets selected
* Handle conversion of too-big assets on web
* Reorder
* Bump expo-image-picker to include bug/perf improvements
See https://github.com/expo/expo/blob/main/packages/expo-image-picker/CHANGELOG.md#1700--2025-08-13
* Handle edge case validations
* Ok actually bump expo-image-picker
* Comment
* HEIC support Android
* Fix handling for new picker version, improve size validation
* Remove getVideoMetadata handling, no longer needed
* Handle web video duration
* Update src/view/com/composer/SelectMediaButton.tsx
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com >
---------
Co-authored-by: Anastasiya Uraleva <anastasiyauraleva@gmail.com >
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com >
Co-authored-by: Samuel Newman <mozzius@protonmail.com >
2025-08-18 18:28:01 -05:00
Samuel Newman
74f7a44d71
Patch in upstream fix for video rotation on Android ( #8635 )
...
* patch in upstream fix
* build expo-image-picker from source so that patch takes
2025-07-21 09:33:59 -05:00
hailey
477e5f4ecf
new arch ( #8295 )
...
Co-authored-by: Samuel Newman <mozzius@protonmail.com >
Co-authored-by: Charlotte Som <charlotte@som.codes >
Co-authored-by: Hailey <me@haileyok.com >
2025-06-12 10:46:22 -07:00
hailey
f3bc962494
temporary react-native-view-shot patch ( #8383 )
...
* temp patch
* fix
2025-05-17 12:19:37 -07:00
hailey
521ec8e044
swap out cropper library ( #8327 )
...
* mostly implement
* type errors
* unused import
* rm comment
* stop accidentally deleting the image while compressing
* upgrade
* type fixes
* upgrade, remove timeout
* bump
* rm mock
* bump
---------
Co-authored-by: Samuel Newman <mozzius@protonmail.com >
2025-05-06 10:54:08 -07:00
hailey
544f7befe0
bump it bop it upgrade it (rn 79/expo 53) ( #8281 )
...
* basic bumps
* more tweaking
* fix rn patch
* fix crop picker patch
* fix media library patch
* rm unnecessary patch
* fix notifications patch
* update bottomsheet
* Update withAppDelegateReferrer.js
* Delete withNoBundleCompression.js
* rm withNoBundleCompression plugin
* rm findLast shim
* metro package exports is enabled by default
* update react/react-dom/react-compiler
* fix reanimated issue
* vendor expo-ized emoji popup
* fix types
* hackfix view full thread
* Update EmojiPickerModule.podspec
* more upgrades
* fix multiformats package version
* add baseurl
* bump mmkv
* bumps
* update react-keyed-flatten-children
* bump locale packages
* fix emoji picker dark mode
* rn upgrades
* Revert "bump locale packages"
This reverts commit fc82f0f173 .
* upgrade testing-library
* rm test renderer
* update patch name minors
* rm findNodeHandle from tabbar
* only do scrollview tag thing on ios
* disable package exports
* update expo notifications handler
* memoize emoji picker styles
* fix tests, mock multiformats
* bump some dev deps with RC versions
* completely rearchitect toasts
* rm logs
* layout animation config for composer footer
* disable autolinking for patched libs
* undo lingui changes
* version bump from release candidate to 0.1
* update atproto deps
* rm @did-plc/server
* fix key issue (maybe)
* move URL polyfill to the polyfill file
* fix yarn lock
* upgrade to 53.0.3
* reanimated layout anim bug patch
* workletize a function that wasn't getting autoworkletized anymore (#8309 )
* bump to expo 53.0.4
* bump RN to 0.79.2
* fix yarn lock ci
* Revert "completely rearchitect toasts"
This reverts commit 2e2fcaeeed .
* final upgrades
* chore: cleanup yarn lock
* prettier
---------
Co-authored-by: Samuel Newman <mozzius@protonmail.com >
2025-05-02 13:23:39 -07:00