about summary refs log tree commit diff
path: root/src/lib
Commit message (Collapse)AuthorAgeFilesLines
* [ELI5] Validate too long handles in signup (#7422)Samuel Newman2025-01-101-2/+10
| | | | | * validate too long handles in signup * make change handle screen generic
* add back statsig gate testing (#7404)Hailey2025-01-101-0/+2
|
* Remove unused default argumentDan Abramov2025-01-071-1/+1
|
* Fix `moveToPermanentPath` ext Default Missing '.' (#7281)Jonathan Herbert2025-01-071-1/+1
|
* Some metrics (#7294)Eric Bailey2024-12-271-2/+13
| | | | | | | * Add trending metrics * Progress guide events * Fix naming, improve existing events
* Temporarily remove Bitdrift (#7173)dan2024-12-192-20/+28
| | | | | * Temporarily remove Bitdrift * Rm plugin
* Release 1.96.0 (#7168)Paul Frazee2024-12-181-1/+1
| | | | | | | * Update test * Run intl extract * Update join count
* Don't hide recommended (#7166)dan2024-12-181-5/+1
| | | | | * Don't hide recommended * Rm unused
* Trending tracking 2 (#7162)Eric Bailey2024-12-181-1/+5
| | | | | | | | | | | | | * Move (cherry picked from commit bfb96f4ce287b140d25f36c678c0ac21bdb11b3d) * Add to recommeded too (cherry picked from commit e6844883a6c0dfeb1a36837d70c09e1240c32a06) --------- Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
* Trending tracking (#7161)Eric Bailey2024-12-181-0/+5
| | | | | | | * Add hide to Explore * Event for show * Add hide events to each location
* Fix testsPaul Frazee2024-12-171-0/+11
|
* Trending (Beta) (#7144)Eric Bailey2024-12-172-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add WIP UIs for trending topics and suggested starterpacks * Disable SPs for now * Improve explore treatment a bit, add some polish to cards * Add tiny option in RightNav * Add persisted option to hide trending from sidebar * Add to settings, abstract state, not updating in tab * Fix up hide/show toggle state, WITH broadcast hacK * Clean up persisted code, add new setting * Add new interstitial to Discover * Exploration * First hack at mute words * Wire up interstitial and Explore page * Align components * Some skeleton UI * Handle service config, enablement, load states, update lex contract * Centralize mute word handling * Stale time to 30m * Cache enabled value for reloads, use real data for service config * Remove broadcast hack * Remove titleChild * Gate settings too * Update package, rm langs * Add feature gate * Only english during beta period * Hook up real data * Tweak config * Straight passthrough links * Hook up prod agent * Fix no-show logic * Up config query to 5 min * Remove old file * Remove comment * Remove stray flex_1 * Make trending setting global * Quick placeholder state * Limit # in sidebar, tweak spacing * Tweak gaps * Handle hide/show of sidebar * Simplify messages * Remove interstitial * Revert "Remove interstitial" This reverts commit 1358ad47fdf7e633749340c410933b508af46c10. * Only show interstitial on mobile * Fix gap * Add explore page recommendations * [topics] add topic screen (#7149) * add topic screen * decode * fix search query * decode * add server route * Fix potential bad destructure (undefined) --------- Co-authored-by: Paul Frazee <pfrazee@gmail.com> Co-authored-by: Dan Abramov <dan.abramov@gmail.com> Co-authored-by: Hailey <me@haileyok.com>
* New progress guide - 10 follows (#7128)Samuel Newman2024-12-172-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * new follow-10 progress guide * find follows dialog * wip tabs * flatlist version with search * hardcode out jake gold * lazy load followup suggestions * Update src/components/ProgressGuide/FollowDialog.tsx Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com> * comment out replacing, enable paging * rm autofocus * find shadow profiles in paginated search * clear search when press tabs * better tab a11y * fix label * adjust scroll indicator insets * do the same scroll indicator adjustment for searchable people list * hardcode jake to just be 'tech' * Retain state on close/reopen * only change follow btn color when not followed * add guide to inside dialog * fix task alignment * Enable contextual suggestions * WIP: show multiple suggestions * Rework so it animates well * Show more items * remove card style * move tabs to own component * split out header top * scroll active tab into view * rm log * Improve perf a bit * boost popular interests over alphabetical ones * scroll active tab into view * revert back to round buttons * Fix overrenders of the tab bar items * Fix unintended animation * Scroll initial into view if needed * Unlift state, the dialog thing breaks lifting * Persist simply * Fix empty state * Fix incorrect gate exposure * Fix another bad useGate * Nit --------- Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com> Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
* Pipe statsig events to logger (#7141)dan2024-12-173-3/+28
| | | | | | | | | | | * Pipe statsig events to logger * Log rich objects to bitdrift * Fix tests * Consolidate mocks, fix tests * Reduce log trash on native
* Adjust gates (#7132)dan2024-12-162-13/+1
| | | | | | | * Remove dead gate * Adjust gates * No need to disable exposures
* [Experiment] Remove "Load Latest" button (#7120)dan2024-12-151-0/+1
| | | | | | | | | | | | | * Remove "show latest" behind the gate * Add HomeBadgeProvider * Update provider state from home feed tabs * Add Home badge to native * Add Home badge to mobile web * Add Home badge to desktop web
* Fix posting images on web (#7105)dan2024-12-141-1/+4
| | | | | | | * Fix uploadBlob to handle blob: URI * Patch expo-image-manipulator to support "compress" argument * Narrow down the fix
* Add Emily to discover debug (#7101)dan2024-12-131-0/+1
|
* Remove the environment indirections (#7089)dan2024-12-134-16/+10
| | | | | * Use raw underlying globals for environment * Set dev EXPO_PUBLIC_ENV by exclusion
* Gate bitdrift integration (#7088)dan2024-12-132-6/+18
| | | | | | | | | * Move Statsig init call earlier * Gate Bitdrift init call * Remove IS_TEST env constant * Mock statsig
* [Notifications] Add a Mentions tab (#7044)dan2024-12-122-7/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Split out NotificationsTab * Remove unused route parameter * Refine the split between components * Hoist some logic out of NotificationFeed * Remove unused option * Add all|conversations to query, hardcode "all" * Add a Conversations tab * Rename to Mentions * Bump packages * Rename fields * Fix oopsie * Simplify header * Track active tab * Fix types * Separate logic for tabs * Better border for first unread * Highlight unread for all only * Fix spinner races * Fix fetchPage races * Fix bottom bar border being obscured by glimmer * Remember last tab within the session * One tab at a time * Fix TS * Handle all RQKEY usages * Nit
* configure the bitdrift Capture SDK (#6979)Snow Pettersen2024-12-121-0/+7
| | | | | | | | | | | | | | | * configure bitdrift Capture SDK * remove console log * use the new url * add patch to fix devtool interaction * update patches * fix patch * add BITDRIFT_API_KEY to .env.example
* Add useFormatCurrency hook (#6978)Eric Bailey2024-12-061-0/+302
|
* clean rn 0.76 upgrade (#6887)Hailey2024-12-062-3/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * package upgrades * upgrade system ui * update patches * rename patch * rm * use .set/.set * resolve yarnlock * fix accidentally removed package * fix use permissions hook * fix some type errors * type fixes * more tweaking * clean * Discard changes to src/screens/Onboarding/StepProfile/index.tsx * oops * fix splash * use ios/android in config * Fix tests * add back patch * add to rn patch * fullscreen? * Revert "add to rn patch" This reverts commit 4716d2c643a29fc77b871ca8555d8d78cb4ac427. * try this * test with revert * test * maybe this * fix config * Bump @react-native-picker/picker * Bump some packages * Rm unused * Update lockfile * Rename expo-notifications+0.29.8.patch.md to expo-notifications+0.29.10.patch.md * Update react-native+0.76.3.patch.md * Update react-native+0.76.3.patch.md * Inline splash configs Jumping around the file is annoying and makes it harder to understand how this is structured. * Start fixing Android splash * Downgrade compressor This version isn't building for me due to https://github.com/numandev1/react-native-compressor/issues/322. * Make Android splash empty for now * Work around a bug * Bump the compressor * Bump again * Include splash fixes * Try updating * No custom Android splash * Revert to using icons * welp * Fix sizes * Make sizing work * Bump size --------- Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
* [Layout] Base (#6907)Eric Bailey2024-12-051-31/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add common gutter styles as hook * Add computed scrollbar gutter CSS vars * Add new layout components * Replace layout components in settings screens * Remove old back button * Invert web border logic for easier migration * Clean up Slot API * Port over FF handling of scrollbar offset * Trade boilerplate for ease of use * Limit to one line * Allow two lines, fix wrapping * Fix alignment * sticky headers * set max with on header and center * [Layout] Notifications Header (#6910) * Replace notifications screen header * fix cropped indicator --------- Co-authored-by: Samuel Newman <mozzius@protonmail.com> * Replace Hashtag header (#6928) * [Layout] ChatList header (#6929) * Replace ChatList header * update chat settings as well --------- Co-authored-by: Samuel Newman <mozzius@protonmail.com> * Add web borders to Chat settings * Remove unused var * Move ChatList header outside center * Replace empty chat layout * fix breakpoints * [Layout] Scrollbar gutters (#6908) * Fix sidebar alignment * Make sure scrollbars don't hide * Gift left nav more space * Use stable one-edge, update logic in RightNav * Ope * Increase width * Reset * Add transform to sidebars * Remove bg in sidebars * Handle shifts in layout components * Replace scroll-removal handling * Make react-remove-scroll an explicit dep * Remove unused script * use correct scroll insets (#6950) * [Layout] Feeds headers (#6913) * Replace ViewHeader internals, duplicate old ViewHeader * Replace Feeds header * Replace SavedFeeds header * Visual alignment * Uglier but clear * Use old ViewHeader for SavedFeeds * use Layout.Center instead of Layout.Content * use left-aligned header for feed edit * delete unused old view header --------- Co-authored-by: Samuel Newman <mozzius@protonmail.com> * [Layout] Every other screen (#6953) * attempt to fix double borders on every other screen * delete ListHeaderDesktop * delete `SimpleViewHeader` and fix screens (#6956) * Make Layout.Center not full height * Refactor List to use Layout.Center, remove built-in borders * Fix Home screen * Refactor PagerWithHeader to use Layout components * Replace components in ProfileFeed and ProfileList * Borders on Profile * Search screen replacements * use new header for profile subpage header (#6958) * Search AutocompleteResults * use new header for starter pack wizard (#6957) * Fix post thread * Enable borders by default * Moderation muted and blocked accounts * Fix scrollbar offset on Labeler * Remove ScrollView from Moderation * Remove ScrollView from Deactivated * Remove ScrollView from onboarding * Remove ScrollView from SignupQueued * Mark deprecations * fix lint * Fix double borders on profile load * Remove unneeded CenteredView from noty Feed * Remove double Center layout on Notifications screen * Remove double Center layout on ChatList screen * Handle scrollbar offset in chat * Use new atom for other scrollbar offsets * Remove borders from old views * Better doc * Remove temp migration prop * Fix new atom usage on native * Clean up Hashtag screen * Layout docs * Clarify usage in Pager * Handle nested offset contexts * Clean up Layout * fix feeds page * asymmetric header on native (#6969) * Reusable header const * Fix up home header * Add back button to convo * Add hitslop to header buttons * Comment * Better handling on native for new atom * Format * Fix nested flatlist on mod screens * Use react-remove-scroll-bar directly * Fix notification count overflow on web * Clarify doc --------- Co-authored-by: Samuel Newman <mozzius@protonmail.com>
* Add link-click metrics (#6934)Paul Frazee2024-12-032-0/+14
| | | | | * Add link-click metrics * Fix conditional
* [Nicer Tabs] Fork TabBar, simplify Pager (#6762)dan2024-12-031-6/+0
| | | | | | | | | | | | | | | | | | | | | * Fork TabBar.web.tsx * Trim dead code from both forks * Remove onPageSelecting event It's difficult to tell what exactly it's supposed to represent, and in practice it's not really used aside from logging. Let's rip it out for now to keep other changes simpler. * Remove early onPageSelected call It was added to try to do some work eagerly when we're sure which way the scroll is snapping. This is not necessarily a good idea though. It schedules a potentially expensive re-render right during the deceleration animation, which is not great. Whatever we're optimizing there, we should optimize smarter (e.g. prewarm just the network call). The other thing it used to help with is triggering the pager header autoscroll earlier. But we're going to rewrite that part differently anyway so that's not relevant either. * Prune more dead code from the native version We'll have to revisit this when adding tablet support but for now I'd prefer to remove a codepath that is not being tested or ever run. * Use regular ScrollView on native The Draggable thing was needed for web-only behavior so we can drop it in the native fork.
* [Subs] Custom app icons (#6758)Samuel Newman2024-11-272-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * custom icons * rm default * clouds.jpg * use cross-platform fork * minor fixes for android * update dynamic icon lib * gate app icon settings behind discover debug dids * rename clouds * Bop it * Update default ios icon as well * Remove old icon * Update logo placement * update to latest expo-dynamic-app-icon * fix android icon sizes --------- Co-authored-by: Eric Bailey <git@esb.lol>
* Release 1.95 take2 (#6771)Paul Frazee2024-11-261-1/+1
| | | | | * Run intl extract * Update join count
* Revert "Pass referrer on native (with an opt out) (#6648)" (#6732)dan2024-11-251-23/+1
| | | This reverts commit ac5b2cf31f2bb45f1bf8a180705249d3cce8017d.
* Ensure react-native-keyboard-controller enabled state doesn't get ↵Samuel Newman2024-11-251-0/+110
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | overwritten (#6727) * revert to prev state instead of false * add dep array * use ref counting approach * patch keyboard controller to allow changing the enabled prop * remove state from patch * change patched prop name * remove Math.max check, log if < 0 * use noop provider * rm patch, use `useRef` * Style nits * Rm on web --------- Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
* Pass referrer on native (with an opt out) (#6648)dan2024-11-221-1/+23
| | | | | | | | | | | | | | | | | * Pass referer on native * Add ChainLink3 * Add an opt out for sending utm * Remove noreferrer on links We do have <meta name="referrer" content="origin-when-cross-origin"> in HTML, should be sufficient. * Narrow down the condition slightly --------- Co-authored-by: Eric Bailey <git@esb.lol>
* Remove indirection, insert between slices (#6645)dan2024-11-221-1/+0
|
* Add gif support to web (#6433)Samuel Newman2024-11-222-0/+5
| | | | | | | | | | | | | * add gif support to web * rm set dimensions * rm effect from preview * rm log * rm use of {cause: error} * fix lint
* Leverage jsx transform to remove unnecessary react imports and update eslint ↵Paul Coroneos2024-11-193-3/+0
| | | | | | | | | config (#6516) * update eslint config with jsx runtime * leverage jsx transform to remove unnecessary react imports and update eslint config * run yarn lint --fix to remove eslint disables related to react/prop-types that is now disabled
* Add useHandleRef as a lighter alternative for useAnimatedRef (#6500)dan2024-11-181-0/+39
|
* Use compiler-safe Reanimated get/set APIs (#6391)dan2024-11-173-58/+59
| | | | | | | | | | | | | | | | | | | | | * Convert lightbox to get/set * Work around software-mansion/react-native-reanimated#6613 * Use get/set in more places * Port MainScrollProvider to get/set * Port more to get/set * Port composer to get/set * Remove unnecessary thread hops in composer * Port more things to get/set * Convert more to get/set, remove redundant runOnJS * Convert remaining cases to get/set
* Release 1.94 (#6430)Paul Frazee2024-11-161-1/+1
| | | | | | | * Fix errors in hindi .po * Run intl extract * Update join count
* Email verification tweaks (date) (#6416)Hailey2024-11-161-2/+3
|
* Tweak email verification dialog (#6397)Hailey2024-11-151-2/+14
|
* Better error message (+ translations!) (#6349)Samuel Newman2024-11-151-4/+10
| | | | | * clean network errors for new common eerors * translate errors
* [Statsig] Remove client downsampling (#6153)Hailey2024-11-152-54/+18
|
* Add email verification prompts throughout the app (#6174)Hailey2024-11-121-0/+19
|
* [Lightbox] Always rely on Expo Image cache (#6189)dan2024-11-091-93/+0
| | | | | | | | | | | | | | | * Inline useImageAspectRatio * Switch AutoSizedImage to read dimensions from Expo Image cache * Include thumbnail dimensions in image data * Use dims from Expo Image cache in lightbox * Fix wiring so all thumbnails get dimensions * Fix type * Oops
* [Settings] Ungate, and remove old settings (#6144)Samuel Newman2024-11-081-14/+0
| | | | | | | | | | | | | | | | | | | * move export car dialog * move disableemail2fadialog * delete old settings screens * fix type error * Update Navigation.tsx * Delete AccountDropdownBtn.tsx * remove old change handle modal * delete add app paswords * forgot to actually delete the change handle modal
* fix prop names (#6130)Hailey2024-11-062-6/+6
|
* Fix thin red circle around Like button on iOS (#6123)khuddite2024-11-062-13/+9
| | | | | | | | | | | * remove animation UI from DOM tree when not animated * improve naming of vars * more var changes --------- Co-authored-by: Hailey <me@haileyok.com>
* use megabytes rather than mebibytes for video limit (#6117)Samuel Newman2024-11-051-1/+1
|
* Fix start value in youtube embed by removing "s" from url param (#6113)Lars Kappert2024-11-051-2/+5
|
* Unify dimensions cache between lightbox and feed (#6047)dan2024-11-041-21/+79
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Remove useless memo * Use explicit values when useImageAspectRatio doesn't know It's not very good that you can't distingiush when we haven't loaded vs when we're certain. This shifts the burden of dealing with missing values to the caller. * Check cache early * Handle src change * Rewrite image-sizes.fetch to avoid mixing async styles * Make image-sizes LRU Code is copy paste from useImageDimensions.ts * Rm unused fields * Derive aspect on the fly * Factor useImageDimensions out of useImageAspectRatio * Move useImageDimensions into image-sizes * Make lightbox use the same cache * Wire up known dimensions to the lightbox * Handle division by zero in the hook * Use safe aspect for lightbox calculations