Commit Graph

58 Commits (0681727b645161d479d63ab75907aedab42b245f)

Author SHA1 Message Date
Hailey 93c171b403
[Video] Use `expo-video` from fork (#5159) 2024-09-05 08:27:28 -07:00
Hailey 2556698427
[Video] Add loading state to player (#5149) 2024-09-04 16:46:01 -07:00
Hailey dde72b48e1
[Video] Manage foreground/background playback on the native side (#5104) 2024-09-03 08:41:14 -07:00
Hailey 05e61346b8
[Video] Say No to Audio (Disable `expo-video` `AudioSession` management) (#5101) 2024-09-03 08:33:21 -07:00
Hailey 91fe41670f
tweak (#5024) 2024-08-29 21:44:06 +01:00
Hailey d52d29621e
[Video] Add `timeRemainingChange` event to `player` in `expo-video` (#5013) 2024-08-29 08:28:41 -07:00
Hailey 2939ee7df7
Tweak `expo-modules-core` hack patch (#4955) 2024-08-18 13:24:41 -07:00
Hailey f3b57dd456
Hack patch for testing OTA update crash behavior (#4942) 2024-08-15 12:03:19 -07:00
Hailey 7df2327424
Upgrade API, implement XRPC rework (#4857)
Co-authored-by: Matthieu Sieben <matthieu.sieben@gmail.com>
2024-08-12 14:00:15 -07:00
Hailey 0f993a09c2
[Video] Add `onEnterFullscreen` and `onExitFullscreen` to `VideoView` (#4907)
* patch expo video to add enter/exit fullscreen events

* rm logs

* Update expo-video+1.2.4.patch.md
2024-08-09 11:05:43 +01:00
Hailey 18b423396b
Add `PlatformInfo` module (#4877) 2024-08-05 12:21:34 -07:00
Hailey 8ddb28d3c5
[Video] Uploads (#4754)
* state for video uploads

* get upload working

* add a debug log

* add post progress

* progress

* fetch data

* add some progress info, web uploads

* post on finished uploading (wip)

* add a note

* add some todos

* clear video

* merge some stuff

* convert to `createUploadTask`

* patch expo modules core

* working native upload progress

* platform fork

* upload progress for web

* cleanup

* cleanup

* more tweaks

* simplify

* fix type errors

---------

Co-authored-by: Samuel Newman <10959775+mozzius@users.noreply.github.com>
2024-07-30 08:25:31 -07:00
Samuel Newman 00240b95b9
[Videos] Video player - PR #1 - basic player (#4731)
* add ffmpeg-kit-react-native

* get select video button + compression working

* up res to 1080p

* add progress component

* move logic out of compressVideo

* (WIP) add lonestar compression

* rework web compression a bit

* mess around with adding a thumbnail

* 3mbps

* replace

* use 3mbps

* add expo-video

* remove unnecessary try/catch

* rm ToastAndroid

* fix web

* wrap lazy component in suspense

* gate video select button

* rm web compression

* flip sign

* remove expo-video from web

* review nits

* add video picker permissions + rm temp buttons

* add ffmpeg-kit-react-native

* replace

* hls-capable player

* start trying to hoist up video player instance

* hoist video player and move things around

* always show native controls

* fix controls on expo video android

* gate temp video player in feed

* rm IS_DEV, doesn't do what I thought it did

* use __DEV__ instead

---------

Co-authored-by: Samuel Newman <10959775+mozzius@users.noreply.github.com>
Co-authored-by: Hailey <me@haileyok.com>
2024-07-25 20:41:50 +01:00
dan 08cfb09589
Unconditionally polyfill Intl.PluralRules for native (#4554)
* Revert "Fix Android startup perf regression (#4544)"

This reverts commit e6213d7aa5.

* Force polyfill
2024-06-18 17:27:40 +03:00
dan e6213d7aa5
Fix Android startup perf regression (#4544) 2024-06-18 08:23:41 +03:00
Hailey 89be5a442c
Add patch for `RCTBaseTextInput` fixing `selectTextOnFocus` prop (#4533)
* create patch

* remove js fix in `SearchScreen`
2024-06-17 10:56:02 +03:00
dan 94c1f4968d
Resolve patch-package warnings (#4520) 2024-06-14 18:01:31 +01:00
Hailey 808dd3569d
patch `expo-notifications` to clear badge (#4475) 2024-06-10 20:19:19 -07:00
Hailey c73ad43a80
stop using `addPushTokenListener` (#4467)
* stop using push token listener

* cleanup the hack

* add a comment

* remove test code

* Fix patch

---------

Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
2024-06-11 03:16:21 +02:00
dan 01b7a94a7e
Patch to work around a crash in RN internals (#4426)
Co-authored-by: Hailey <me@haileyok.com>
2024-06-08 01:55:57 -07:00
Hailey 5f63b8d40f
Bump `expo-notifications` to fix NPE (#4425)
* bump library

* rename patch file
2024-06-08 03:17:00 +01:00
dan ac25e43bef
Patch Expo Modules for Android crash (#4398)
* Patch Expo Modules for Android crash

* rm intermediaries, add a readme

---------

Co-authored-by: Hailey <me@haileyok.com>
2024-06-06 11:21:38 -07:00
dan ff6a044f66
Bump more Expo libs (#4251)
* Bump more Expo libs

* Use legacy camera API

* fix `expo-notifications` patch

* bump `menu`

* change patch name

* patch reanimated

* Revert "patch reanimated"

This reverts commit dad822d8ea04c71a609784114d60f2e67b78290b.

* Use nightly reanimated

* Revert "Use nightly reanimated"

This reverts commit 6687c7182883feb889cbf2c67dd14890e06bc501.

* Revert "Revert "patch reanimated""

This reverts commit c30abd6732f559ca04dc59698411e1058800d63e.

---------

Co-authored-by: Hailey <me@haileyok.com>
2024-05-29 05:02:49 +01:00
Hailey 8f8af476cc
Bump `react-navigation` (#4216)
* bump and rm patch

* fix types

* use `Home` default

---------

Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
2024-05-29 02:38:52 +01:00
Hailey 888bec7b4f
Upgrade to Expo 51 and React Native 0.74 (#3980)
* upgrade packages

* remove `expo-image-picker` patch

* remove old expo-updates patch

* rename rn patch

* downgrade crop picker

* bump `ExpoGifView` `SDWebImage` version

* apply config changes

* update build docs for apple silicon

* update build docs for apple silicon

* update expo-updates patch

* add back patch readme

* bump `expo-dev-client`

* bump `babel-preset`

* update `babel.config.js`

* update `react-native-paste-input` patch

* remove old ota updates hook

* update types

* update types

* downgrade pager-view

* update animated ref type

* fix web-only type

* update `react-native-bottom-sheet` `BottomSheetTextInput`

* add `expo-application` to jest mocks

* remove reanimated patch

* update notifications patch

* update reanimated path

* fix import

* update yarn.lock

* use `ItemT` instead of `any`

* expo bump

* Revert logic change, fix types

* Fix JSON file

---------

Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
2024-05-29 02:15:35 +01:00
Samuel Newman aded49f65b
Implement prefersReducedMotion on native (#4039)
* implement prefersReducedMotion on native

* just take the function from the reanimated source

* use patch-package to export internal function
2024-05-16 12:01:26 +01:00
Hailey bf7b66d5c1
Add push notification extensions (#4005)
* add wav

* add sound to config

* add extension to `updateExtensions.sh`

* add ios source files

* add a build extension

* add a new module

* use correct type on ios

* update the build plugin

* add android handler

* create a patch for expo-notifications

* basic android implementation

* add entitlements for notifications extension

* add some generic logic for ios

* add age check logic

* add extension to app config

* remove dash

* move directory

* rename again

* update privacy manifest

* add prefs storage ios

* better types

* create interface for setting and getting prefs

* add notifications prefs for android

* add functions to module

* add types to js

* add prefs context

* add web stub

* wrap the app

* fix types

* more preferences for ios

* add a test toggle

* swap vars

* update patch

* fix patch error

* fix typo

* sigh

* sigh

* get stored prefs on launch

* anotehr type

* simplify

* about finished

* comment

* adjust plugin

* use supported file types

* update NSE

* futureproof ios

* futureproof android

* update sound file name

* handle initialization

* more cleanup

* update js types

* strict js types

* set the notification channel

* rm

* add silent channel

* add mute logic

* update patch

* podfile

* adjust channels

* fix android channel

* update readme

* oreo or higher

* nit

* don't use getValue

* nit
2024-05-15 11:49:07 -07:00
dan 21e5a87fab
Patch lexicon for perf (#3733) 2024-04-27 07:54:47 +01:00
Hailey 4e51772003
Make bio area scrollable on iOS (#2931)
* fix dampen logic

prevent ghost presses

handle refreshes, animations, and clamps

handle most cases for cancelling the scroll animation

handle animations

save point

simplify

remove unnecessary context

readme

apply offset on pan

find the RCTScrollView

send props, add native gesture recognizer

get the react tag

wrap the profile in context

create module

* fix swiping to go back

* remove debug

* use `findNodeHandle`

* create an expo module view

* port most of it to expo modules

* finish most of expomodules impl

* experiments

* remove refresh ability for now

* remove rn module

* changes

* cleanup a few issues

allow swipe back gesture

clean up types

always run animation if the final offset is < 0

separate logic

update patch readme

get the `RCTRefreshControl` working nicely

* gate new header

* organize
2024-04-11 15:20:38 -07:00
Hailey 740cd029d7
Improve Android haptic, offer toggle for haptics in the app (#3482)
* improve android haptics, offer toggle for haptics

* update haptics.ts

* default to false

* simplify to `playHaptic`

* just leave them as `feedInfo`

* use a hook for `playHaptic`

* missed one of them
2024-04-11 15:20:26 -07:00
Hailey 73df7e53b3
Add OTA updates support for `testflight` channel (#3291)
* some progress

another adjustment, testing

another adjustment, testing

fix again

fix again

set default runtime version

fix

test this script

test this script

test this script

add build numbers to the deployment url

clean

give script access to build number

add `useBuildNumberEnv` without a bump

new line

fix missing async

add channel name to deployment url

add updates check on launch for testflight users

ver bump

init updates on launch for native

add `testflight` as default in build submit

add is_testflight check

* disable inline predictions to prevent ios composer jank

* temp bump

* Revert "temp bump"

This reverts commit 44c51134a35d817c73edb1e635495597c95117b3.

* adjustments

version bump

adjust

fixes

test

* cleanup and finalize

drop check down to every 15 minutes

adjustments

change to 15 mins

use jq to get version if necessary

rm test on push

figured it out

remove nightly testflight releases

test again again again again again AGAIN ONCE MORE

test again again again again again AGAIN

test again again again again again AGAIN

test again again again again again

test again again again again

test again again again

test again again

test again

test

test

test

run deploy if necessary

run deploy if necessary

run deploy if necessary

run deploy if necessary

run deploy if necessary

remove test message

fix environment

oops

cleanup

merge in changes

* remove unnecessary `workflow_call`

* remove changes that have been merged into main now

* finalize android

update git ignore

rm test stuff from the bundle action

remove test message

test message

fix

test message

test message

few android fixes

few android fixes

fix jq

add a test message

fix slack webhook

create android deployments test 2

create android deployments

add `testflight-android` profile to eas.json

more cleanup

some more cleanup

simplify some logic

remove unnecessary channel

rename to `useOTAUpdates`

* rm test portion
2024-04-03 15:14:44 -07:00
Hailey 0ff7e71ee3
disable inline predictions to prevent ios composer jank (#3363)
* disable inline predictions to prevent ios composer jank

* temp bump

* Revert "temp bump"

This reverts commit 44c51134a35d817c73edb1e635495597c95117b3.
2024-03-31 15:55:30 -07:00
Hailey 07e6d001a2
patch-fix `RCTRefreshControl` (#3259) 2024-03-19 12:05:28 -07:00
Hailey 2255d21bda
prevent duplicate pickers from opening on android (#3240)
* prevent duplicate pickers from opening on android

* revert unnecessary changes

* test

* one more test
2024-03-19 12:03:16 -07:00
Hailey 93b5eff4d7
patch react-navigation to fix history bug (#2955)
* patch react-navigation

- https://github.com/react-navigation/react-navigation/pull/11833

* add readme
2024-02-21 17:54:25 -08:00
Hailey 39b4081c5e
Fix iOS composer text getting cut off (#2764)
* patch react-native textinput

* cleanup patchfile
2024-02-06 14:45:41 -08:00
Eric Bailey 64f7800bed
Patch `@lingui/core` to fix `unraw` import resolution error (#2548) 2024-01-16 14:35:08 -08:00
Paul Frazee b3b818671e
Bump react-native@0.73.2 (#2519)
* Bump react-native@0.73.2

* Remove old patch
2024-01-12 17:04:08 -08:00
Paul Frazee 21f7cf216a Add patch explanation md 2024-01-02 12:53:52 -08:00
Paul Frazee eeafd03ddf Remove intermediate build files from patch 2024-01-02 12:52:36 -08:00
Hailey a4aefcc8f8 allow multiple fix 2023-12-29 21:53:17 -08:00
Hailey 478defce6e patch expo-image-picker to support "browse" 2023-12-29 21:42:18 -08:00
Eric Bailey 2c37d47cf0
Patches and compiled i18n (#2297)
* Update patches

* Bump translations, remove ignored files
2023-12-24 11:32:25 -08:00
Eric Bailey 93f5bb3b1f
Bump react-native to 0.73.1, expo to 50 (#2214)
* Bump to react-native@0.73, bump expo@next

Includes bumps for all expo deps and dev dependencies. Updates
react-native patch and others, and removes the babel-preset-expo patch.

* Remove duplicate Splash ref

* Bump more deps

* Properly install expo-notifications

* Bump webview dep

* Bump packages according to expo fix; remove pager-view patch as it is no longer needed

* Don't access expo-camera from Web

* Fix crypto dep on web

* Fix some type issues

* Build esnext modules to support dynamic imports

---------

Co-authored-by: Paul Frazee <pfrazee@gmail.com>
2023-12-23 15:44:38 -08:00
dan 0e8723c3bb
Patch facebook/metro#1130 to profile module init (#1796) 2023-11-02 18:48:07 +00:00
dan 85c26fb5a8
Instrument module init in DEV (#1787) 2023-11-01 15:31:33 +00:00
dan 4a4106ba45
Don't inline-require Babel runtime helpers (#1774) 2023-10-31 00:59:00 +00:00
dan 515c9d5529
Don't compile Hermes-supported features with Babel (#1773)
* Don't transpile Hermes-supported features

* Disable the object spread plugin

We're using Hermes, and Hermes supports object spread.
We can remove this patch when we upgrade Expo because it'll be conditional there.
2023-10-31 00:23:01 +00:00
Ansh 8e9cf182c2
Performance optimization (#1676)
* upgrade sentry to support profiling monitoring

* remove console logs in production builds

* feeds tab bar and bottom bar animation centralized

* refactor FeedPage out of Home

* add script to start in production mode

* move FAB inner to reanimated

* move FABInner back to `Animated` RN animation

* add perf commands

* add testing with Maestro and perf with Flashlight

* fix merge conflicts

* fix resourceClass name in eas.json

* fix onEndReachedThreshold in Feed

* memoize styles

* go back to old styling for LoadLatestBtn

* remove reanimated code from useMinimalShellMode

* move shell animations to hook/reanimated for perf

* fix empty state issue

* make shell animation feel smoother

* make shell animation more smooth

* run animation with autorun

* specify keys for tab bar properly

* remove comments

* remove already imported dep

* fix lint

* add testing instructions

* mock sentry-expo for jest

* fix jest mocks

* Fix the load-latest button on desktop and tablet

* Fix: don't move the FAB in tablet mode

* Fix type error

* Fix tabs bar positioning on tablet

* Fix types

---------

Co-authored-by: Paul Frazee <pfrazee@gmail.com>
2023-10-13 18:54:35 -07:00
dan 9042f503c2
Scope drawer drag workaround to feed pagers (#1694) 2023-10-13 15:15:36 -07:00