Eric Bailey
2223babc2b
[APP-1759] Live Now Open Beta ( #9699 )
...
* Add report dialog to LiveStatus dialog
* Mr Worldwide™
* Bug fix bug fix
* Copy update
* Simplify parsing
* Bump api sdk
* update dev-env
* Update yarn.lock
* Bump api sdk
* Refactor useActorStatus, add disablement and appeal dialog
* Fix types
* Guard against chat profile views
* Go live (disabled)
* Fix types
* Update config and gates
* Add allowed services
* Merge conflicts
* Fix gradient handling for nudge
* Only show nudge on your own profile
* Fix live avi overflow breakage
* Add TODO
* Feedback
* Update nux image
---------
Co-authored-by: Samuel Newman <mozzius@protonmail.com >
2026-01-14 16:57:21 -06:00
Eric Bailey
5922c6622f
[APP-1767] Live event feeds ( #9696 )
...
* Update env config for new worker setup
* Add liveEvents context
* Add live event feed card to Explore
* Add Discover banner/trending handling, device storage
* Add prefs methods, hook up to Discover banner
* Add settings toggle
* Fix up metrics and mutations
* Simplify undo logic
* Handle previews
* Update overlay color and text color handling
* Update metrics
* Handle live event in feed card
* Show multiple feeds on Explore for bsky team
* Fix dev/preview handling bug
* Add sidebar cards, update types
* Fix type error
* Fix type error
* Feedback
* Blurhash fix
* Copy update
* Dev only debug hook
2026-01-14 15:09:01 -06:00
Alex Benzer
2d8de1ddc3
Standardize metadata for client events in feeds ( #9653 )
2026-01-13 02:42:26 -08:00
Eric Bailey
edb19dd6cf
[APP-1750] Add the ability to report livestreams ( #9654 )
...
* Add report dialog to LiveStatus dialog
* Mr Worldwide™
* Bug fix bug fix
* Copy update
* Simplify parsing
* Bump api sdk
* update dev-env
* Update yarn.lock
* Bump api sdk
* Refactor useActorStatus, add disablement and appeal dialog
* Fix types
* Guard against chat profile views
* Go live (disabled)
* Fix types
* Status reports should only go to bsky
* Ah yeah let's not override types
---------
Co-authored-by: Samuel Newman <mozzius@protonmail.com >
2026-01-09 10:19:47 -06:00
Samuel Newman
9743149c26
Replace graphemer with unicode-segmenter ( #9526 )
...
* replace graphemer with unicode-segmenter
* use grapheme entrypoint
* force resolution of unicode-segmenter
2025-12-30 03:39:09 -08:00
Samuel Newman
12dc38c5fc
replace lodash.isequal with fast-deep-equal ( #9529 )
2025-12-30 01:47:29 -08:00
Samuel Newman
aa1395542f
tweak styles of composer prompt ( #9524 )
2025-12-29 10:19:08 -08:00
Samuel Newman
f02b9c323f
Change empty states if not own profile ( #9518 )
...
* change empty states if not own profile
* Update ProfileFeedgens.tsx
* capitalise starter packs
2025-12-17 14:10:39 -06: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
Alex Benzer
296d22d626
Large composer prompt image picker and camera icons ( #9503 )
2025-12-08 14:17:53 -06:00
RetroSunstar
960df7bf6d
Fixed an error found in #8969 for the Lists tab ( #9502 )
2025-12-07 03:07:41 -08:00
Alex Benzer
8637ba7564
Make post composer prompt look less like a search field ( #9492 )
...
* Make post composer prompt look less like a search field
* change color on press
---------
Co-authored-by: Samuel Newman <mozzius@protonmail.com >
2025-12-05 12:56:51 -08:00
Alex Benzer
9a0cb09d3a
Fire the post:view client event in more places, anywhere a post can be seen ( #9467 )
...
* Fire the post:view client event in more places
* Fix bad import
---------
Co-authored-by: Eric Bailey <git@esb.lol >
2025-12-05 12:32:19 -06:00
Alex Benzer
6686ebc232
Add more client events to profile followers/following pages ( #9466 )
...
* Add more client events to profile followers/following pages
* Remove unneeded logContext attribute
2025-12-05 10:27:35 -06:00
Samuel Newman
cf6d8b060b
fix nested link in repost reason ( #9450 )
2025-12-04 17:47:54 -06:00
Alex Benzer
bc39b553f9
Adds a composer prompt on the home screen to invite users to post ( #9464 )
...
* Add a composer prompt on home
* Added image upload button
* Feed composer buttons
* Feed composer styles
* Add client events, auto-open gallery when button is pressed
* Add feature gate
* Move gate check to last
* Small style cleanups
---------
Co-authored-by: Eric Bailey <git@esb.lol >
2025-12-04 17:39:56 -06:00
Samuel Newman
55eb6c5628
add shadow filter to post feeds ( #9406 )
2025-12-04 17:09:54 -06:00
Samuel Newman
4d1b1bb2fd
Catch crop cancelled errors ( #9451 )
2025-12-02 10:06:12 +02:00
Anastasiya Uraleva
d0649e9a9e
[APP-1403] Profile empty states ( #8969 )
...
* update: Empty state component
* update type error fixes
* add empty state icon
* update translations on labels
* update: lint error for empty state
* remove unused prompt
* update type errors
* fix lint errors and update profile followers and profile follows
* updated starterpack
* fix lint errors
* address feedback
* update icons to be a react element
* update icons
* update viewbox for icons
* optimize: icons and update profile lists
* optimize: icons and update profile lists
* lint error fix
* update iconSize from the rebase
2025-11-27 03:22:03 -08:00
Samuel Newman
7f2d46b731
use contentFit prop ( #9452 )
2025-11-26 09:06:12 -08:00
Samuel Newman
54af170448
Use new blue everywhere ( #9435 )
2025-11-23 00:20:37 +02:00
Samuel Newman
dfe9f9fa07
use slightly more rounded repost icon ( #9424 )
2025-11-20 18:00:14 +02:00
Alex Benzer
002a63b125
Post view client event ( #9408 )
...
* Adds post:view client event tracking in feeds
* Add post:view event on the post page itself
* Don't send post:view to statsig for now
* convert to non reactive callback to reduce rerenders
---------
Co-authored-by: Samuel Newman <mozzius@protonmail.com >
2025-11-20 07:41:56 -08:00
Samuel Newman
bc62b3da76
Add metrics for composer threadgate ( #9401 )
...
* add metrics for composer threadgate
* add metrics to the in-thread version
* fix type error
2025-11-17 10:51:01 -08:00
Samuel Newman
7197a064d7
[v1.110] Release prep ( #9399 )
...
* yml formatting whatever
* fix date input color
* fix up report dialog tests
* dumb fix to bypass save password popup
* remove tooltip in e2e
* Update index.e2e.tsx
* skip gate in e2e
2025-11-17 08:01:02 -08:00
Alex Benzer
084f60c88f
Profile follow client events ( #9385 )
...
* Add parameters to profile:follow
Track who was followed, whose profile generated the follow, and the position of the person who was followed in the list
* Add profileCard:seen event
* Don't send "profileCard:seen" event to Statsig
* Clean up
* prevent overzealous clearing
---------
Co-authored-by: Samuel Newman <mozzius@protonmail.com >
2025-11-17 05:04:11 -08:00
Alex Benzer
2f678a3ccd
Adds a "follow back" button to follow notifications ( #9359 )
...
* Adds a "follow back" button to follow notifications
* get shadowcache logic working, strip out manual optimistic update
* whoops, don't just stick any old profile in there
---------
Co-authored-by: Samuel Newman <mozzius@protonmail.com >
2025-11-17 05:00:26 -08:00
Samuel Newman
d464cde412
add transparency prop to tab bar ( #9336 )
2025-11-17 04:59:56 -08:00
surfdude29
a35a81a508
Change text on threadgate button from 'Anybody' to 'Anyone' ( #9390 )
2025-11-17 03:27:43 -08:00
Samuel Newman
92926a2417
✨ SegmentedControl component ( #8606 )
...
* new segmented control
* fix type error
* convert server input, use CSS for web
* add segmented control to storybook
* use segmented control in embed dialog
* add to suggested text wrappers
* update change handle dialog
* update styles since button changes
* fix atom
* style updates to segmented control, add size prop
* update state in layout effect rather than in render
* set type = 'radio' as default
* prevent expansion in server dialog on iOS
* use non reactive callback in needsUpdate effect
2025-11-14 11:43:28 -08:00
Samuel Newman
1caac024ab
Fix video letterboxing issue ( #9339 )
...
* give video a black background on web
* Video crop on web tweaks (#9371 )
* Remove video embed crop option to reduce confusion
* Improve default thumb and border on web
---------
Co-authored-by: Eric Bailey <git@esb.lol >
2025-11-14 10:29:49 -08:00
Samuel Newman
b422765aed
[Threadgate] Tweak threadgate buttons ( #9173 )
...
* tweak in-post threadgate button
* tweak composer threadgate button
* reduce date length slightly
* pressed styles
* make date length depend on breakpoint
* add chevron to label btn
* add tiny chevron, special-case button icon width
* [Threadgate] Add hint (#9350 )
* get tooltip working on web
* add compatibility layer for working in iOS sheets
* add timeout to profile tooltip now that it appears instantly
* rm debug code
* Update ThreadgateBtn.tsx
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com >
* remeasure when keyboard changes
---------
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com >
* fix types
* [Threadgate] Refresh dialog (#9342 )
* wip new ui
* update threadgate dialog with new designs
* restore nobody option
* relayout android sheet when ratio changes
* fix ratio changing case in bottom sheet
* timebox reached, use setTimeout
* update panel styles
* missing imports
* extract out Panel
* tweak layout animation
* fix icon color
* use same color mechamism for icon as text
* restore the header
* refreshed toggle styles (#9343 )
* [Threadgate] Persist settings (#9341 )
* add persist toggle to threadgate dialog
* move state back down
* sort out spacing
* wire up query
* @surfdude29 tweaks
* use tiny chevron in WhoCanReply
* wait for prefetch before opening
* move Panel into the Toggle namespace
* default -> pref
* use medium date length
* rm hover state from web selects, fix border radius
* fix key issue in Selects
---------
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com >
2025-11-14 06:21:37 -08:00
Samuel Newman
cb2af3cd18
only round buttons if size is set ( #9377 )
2025-11-11 10:26:49 -06:00
Samuel Newman
59ffaa8a81
fix rounded notifs ( #9374 )
2025-11-11 03:18:43 -08:00
Samuel Newman
ddf82dcc44
Delete EmptyStateWithButton.tsx ( #9348 )
2025-11-10 18:02:52 -06:00
Samuel Newman
5208aa4a65
rm unused follow button ( #9332 )
2025-11-10 16:37:01 -06:00
Samuel Newman
9f98e53541
Revert "push in post-post toast ( #9252 )" ( #9344 )
...
This reverts commit 54a388d132 .
2025-11-06 09:40:31 -08:00
Samuel Newman
fb3f1c3936
always send #interactionReply ( #9330 )
2025-11-04 19:21:55 +02:00
Samuel Newman
1b0fbd503e
Remove use of flatten where possible ( #9325 )
...
* remove use of flatten where possible
* restore flatten where it says it's needed
* missing utils alpha
2025-11-04 05:43:08 -08:00
Alex Benzer
5a4e012fdc
Adds client event for empty feed error ( #9287 )
...
* Adds client event for empty feed error
* Only log for discover
---------
Co-authored-by: Eric Bailey <git@esb.lol >
2025-11-03 11:37:40 -06:00
Samuel Newman
feab782ba9
Android lightbox minor perf improvement ( #9274 )
...
* minor perf improvement on android for lightbox
* Use correct `cachePolicy` when prefetching lightbox images (#9275 )
* use `memory` cachePolicy when prefetching
* use `memory` cache policy on iOS lightbox images
2025-11-03 09:18:26 -08:00
Samuel Newman
54a388d132
push in post-post toast ( #9252 )
2025-11-03 09:15:12 -08:00
Samuel Newman
b1f1b2050c
add android ripple effect to images in feed ( #9273 )
2025-11-03 09:13:22 -08:00
Maxym Hyba
faa389e060
rm clamp ( #9271 )
2025-10-29 08:46:21 -07:00
Samuel Newman
f15a949ef8
more text elements missing emoji prop ( #9301 )
2025-10-29 08:44:52 -07:00
Samuel Newman
a503fe27f5
add emoji prop to image alt text ( #9278 )
2025-10-29 08:43:53 -07:00
Samuel Newman
900e569ef2
Override Reduce Motion on load-bearing animation ( #9294 )
2025-10-28 09:52:31 -07:00
Eric Bailey
1abc96314b
Don't log network errors ( #9257 )
2025-10-22 11:36:32 -05:00
Samuel Newman
6414bda252
delay toast after posting ( #9208 )
2025-10-15 08:56:35 -07:00
Samuel Newman
591fd262b3
make sure border radius matches inset border ( #9207 )
2025-10-15 08:55:46 -07:00