Eric Bailey
66af8f1fbf
[APP-1782] Migrate to new analytics APIs ( #9735 )
...
* Migrate logEvent to useAnalytics
* Migrate logger.metric to useAnalytics
* Migrate tricky spot, fix types
* Migrate remaining tricky spot
* Missed one
* Remove metric() from logger
* Migrate useGate to useAnalytics
* Remove all other StatSig mentions
* Update event payload
* Update logger tests
* Mock expo method
2026-01-21 19:31:39 -06:00
Eric Bailey
82706fbd19
Remove Metrics alias from logger
2026-01-21 14:50:08 -06:00
Eric Bailey
4788732df3
Add todo, reset logger readme
2026-01-21 13:59:55 -06:00
Eric Bailey
3bc772a12a
Add logger to base analytics context
2026-01-21 11:35:45 -06:00
Eric Bailey
9522a8ab29
Clean up old code
2026-01-21 10:30:11 -06:00
Eric Bailey
2738a46737
WIP revamp
2026-01-20 21:35:37 -06:00
Eric Bailey
50ce1aeda4
Ensure userMetadata is cleared when logging out
2026-01-20 18:04:37 -06:00
Eric Bailey
93c02b56d0
Ensure we update metadata when session ID changes
2026-01-20 17:56:37 -06:00
Eric Bailey
af8fada3c1
Shared metadata cache
2026-01-20 17:44:21 -06:00
Eric Bailey
aadc71bb3b
Move to separate file
2026-01-20 15:39:46 -06:00
Eric Bailey
5b8f8bb234
Add metrics client
2026-01-20 15:36:16 -06:00
Eric Bailey
5c2a799280
Move everything out of React
2026-01-20 11:41:13 -06:00
Eric Bailey
443141d3dd
Clean up growthbook code, integrate into init and sessions
2026-01-20 11:03:26 -06:00
Eric Bailey
c005e02713
WIP
2026-01-19 17:32:59 -06:00
Eric Bailey
bd9e8244f1
[APP-1783] Clean up some feature gates and logging ( #9729 )
...
* Remove gates we don't need
* Clean up some logging
* Keep disable gates around for now
* Add missing gate
* Revert file
* Revert package changes
2026-01-19 15:32:02 -06:00
Eric Bailey
0589bd7d9e
Move /platform/detection vars into /env ( #9707 )
...
* Add platform vars to env
* Replace /platform/detection with /env
2026-01-16 16:28:17 -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
e684c21572
Improved client events for feed interactions ( #9695 )
2026-01-14 12:53:24 -08:00
Alex Benzer
2d8de1ddc3
Standardize metadata for client events in feeds ( #9653 )
2026-01-13 02:42:26 -08:00
Alex Benzer
e80e2f66c3
Adds a dismiss button to user suggestions ( #9484 )
...
* Add dismiss button to user suggestions
* Adds dismiss button to suggested user cards, behind a feature gate
* Reverse gate check, best practice
* Sync DISMISS_ANIMATION_DURATION
---------
Co-authored-by: Eric Bailey <git@esb.lol >
2025-12-17 15:45:21 -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
Eric Bailey
8d5b1c83cc
[AAv2] Drop regionCode if we can't get a short code on Android ( #9542 )
...
* Drop regionCode if we can't get a short code on Android
* Add a debug metric
2025-12-11 13:24:07 -06:00
Eric Bailey
fcc4018971
Add a few aav2 metrics ( #9540 )
...
* Add a few aav2 metrics
* Eh
2025-12-11 13:14:43 -06: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
ef3a79495e
Hook up suggestedUser:seen client events ( #9468 )
...
* Hook up suggestedUser:seen client events
* Fix crash when clicking "find people to follow"
* While we're at it, fix the position of the X button on the "find people to follow" modal
* Add suggestedDid and category attributes to suggestedUser client events
---------
Co-authored-by: Eric Bailey <git@esb.lol >
2025-12-05 10:58:05 -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
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
Eric Bailey
c4aef9f668
Age Assurance V2 ( #9479 )
...
* Age Assurance V2
* Tighten up test
* Add todos for sdk migration
* Align RQ versions
* Use useEffect for side effect
* Improve effects, memoize
* Standarize on birthdate
* Copy feedback
* Copilot
* Add support link
* Reove double ..
* Cleanup
* Remove redirect dialog
* Cleanup todos, add comments
* Update splash in main template too
* Mock some stuff
* Exhaustive checks
Co-authored-by: Samuel Newman <mozzius@protonmail.com >
* Exhaustive checks
Co-authored-by: Samuel Newman <mozzius@protonmail.com >
* Small fix to bday handling
* Add comment
* onboarding style tweak
sneaking this in sorry!
* rm unreachable breaks
* Put useIntentHandler back on web
* Remove misleading success set
* Align on birthdate
---------
Co-authored-by: Samuel Newman <mozzius@protonmail.com >
2025-12-04 15:20:00 -06: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
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
fb058afa54
Add client event for clicks on desktop feeds ( #9386 )
2025-11-17 03:23:56 -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
25a2a2c7f6
Revert "Disable Sentry sampling for now ( #9262 )" ( #9282 )
...
This reverts commit de68915bc0 .
2025-10-27 11:12:27 -05:00
Eric Bailey
de68915bc0
Disable Sentry sampling for now ( #9262 )
2025-10-22 14:08:25 -05:00
Alex Benzer
6086bc5d5c
Add a client event for "See more" link on suggested user interstitials ( #9249 )
2025-10-22 03:53:42 -07:00
Alex Benzer
6c7fd96528
Add metrics for when OPs click "hide reply for me" or "hide reply for everyone" ( #9206 )
2025-10-15 08:33:30 +01:00
Samuel Newman
ec8c36e614
add 10% sample rate to sentry ( #9182 )
2025-10-10 08:31:38 -07:00
Chenyu
12e09a9bd1
starter pack metrics ( #9116 )
...
* starter pack metrics
* emit starterpack:add/remove user event with starterpack uri in starter pack dialog
* rename metadata field
2025-10-03 10:17:59 -07:00
Samuel Newman
1e6a44f2e8
Fix feedfeedback metrics not distinguishing which feed it's from ( #9099 )
...
* fix feedfeedback metrics being sent for all feeds
* remove `discover:` metrics
2025-10-01 06:09:12 -07:00
Samuel Newman
53e43a957c
run yarn lint --fix ( #9013 )
2025-09-09 08:38:21 -07:00
Eric Bailey
535d4d6cf7
📓 Bookmarks ( #8976 )
...
* Add button to controls, respace
* Hook up shadow and mutation
* Add Bookmarks screen
* Build out Bookmarks screen
* Handle removals via shadow
* Use truncateAndInvalidate strategy
* Add empty state
* Add toasts
* Add undo buttons to toasts
* Stage NUX, needs image
* Finesse post controls
* New reply icon
* Use curvier variant of repost icon
* Prevent layout shift with align_start
* Update api pkg
* Swap in new image
* Limit spacing on desktop
* Rm decimals over 10k
* Better optimistic adding/removing
* Add metrics
* Comment
* Remove unused code block
* Remove debug limit
* Fork shadow for web/native
* Tweak alt
* add preventExpansion: true
* Refine hitslop
* Add count to anchor
* Reduce space in compact mode
---------
Co-authored-by: Samuel Newman <mozzius@protonmail.com >
2025-09-04 17:30:15 -05:00
Eric Bailey
f8ae0540a0
Provide geo-gated users optional GPS fallback for precise location data ( #8973 )
2025-09-04 11:07:12 -05:00
Alex Benzer
625b4e61db
Welcome modal on logged-out homepage ( #8944 )
...
* Adds welcome modal to logged-out homepage
* Adds metrics and feature gate for welcome modal
* Slightly smaller text for mobile screens to avoid wrapping
* Remove unused SVG
* Adds text gradient and "X" close button
* Fix color on "Already have an account?" text
* tweak hooks, react import
* rm stylesheet
* use hardcoded colors
* add focus guards and scope
* no such thing as /home
* reduce spacign
* use css animations
* use session storage
* fix animation fill mode
* add a11y props
* Fix link/button color mismatch, reduce gap between buttons, show modal until user dismisses it
* Fix "Already have an account?" line left-aligning in small window sizes
* Adds "dismissed" and "presented" metric events
---------
Co-authored-by: Samuel Newman <mozzius@protonmail.com >
2025-09-04 07:20:46 -07:00
Samuel Newman
eac0290143
Add suggested follows experiment to onboarding ( #8847 )
...
* add new gated screen to onboarding
* add tab bar, adjust layout
* replace chevron with arrow
* get suggested accounts working on native
* tweaks for web
* add metrics to follow all
* rm non-functional link from card
* ensure selected interests are passed through to interests query
* fix logcontext
* followed all accounts! toast
* rm save interests function
* Update src/screens/Onboarding/StepSuggestedAccounts/index.tsx
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com >
* use admonition
* rm comment
* Better interest tabs (#8879 )
* make tabs draggable
* move tab component to own file
* rm focused state from tab, improve label
* add focus styles, remove focus when dragging
* rm log
* add arrows to tabs
* rename Tabs -> InterestTabs
* try and simplify approach
* rename ref
* Update InterestTabs.tsx
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com >
* Update src/components/InterestTabs.tsx
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com >
* Update src/components/ProgressGuide/FollowDialog.tsx
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com >
* Update src/components/ProgressGuide/FollowDialog.tsx
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com >
* add newline
---------
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com >
* fix flex problem
* Add value proposition screen experiment (#8898 )
* add assets
* add value prop experiment
* add alt text
* add metrics
* add transitions
* add skip button
* tweak copy
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com >
* add borderless variant for web
* rm pointer events
---------
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com >
* Add slight delay, prevent layout shift
* Handle layout shift, add Let's Go! text
---------
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com >
Co-authored-by: Eric Bailey <git@esb.lol >
2025-08-27 04:17:45 -07:00
Eric Bailey
3b7b93a411
Debug ( #8888 )
...
* Swap URL
* Add debug
2025-08-23 14:45:57 -05:00
Eric Bailey
912ab1bd9b
[LEG-246] Geo overlay ( #8881 )
...
* Add AgeBlockedGeo
* Add MaxMind usage text
* Add geo overlay
---------
Co-authored-by: rafael <rafael@blueskyweb.xyz >
2025-08-22 14:55:16 -05:00
Samuel Newman
93c4719a21
Check handle as you type ( #8601 )
...
* check handle as you type
* metrics
* add metric types
* fix overflow
* only check reserved handles for bsky.social, fix test
* change validation check name
* tweak input
* move ghosttext component to textfield
* tweak styles to try and match latest
* add suggestions
* improvements, metrics
* share logic between typeahead and next button
* Apply suggestions from code review
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com >
* update checks, disable button if unavailable
* convert to lowercase
* fix bug with checkHandleAvailability
* add gate
* move files around to make clearer
* fix bad import
* Fix flashing next button
* Enable for TF
---------
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com >
Co-authored-by: Hailey <me@haileyok.com >
Co-authored-by: Eric Bailey <git@esb.lol >
2025-08-07 17:01:01 -05:00
Eric Bailey
328aa2be94
[APP-1356] Policy update dialog ( #8782 )
...
* Add blocking announcement dialog feature
* WIP custom dialog
* Rework dialog and add native FocusScope
* Lock scroll on web, fix backdrop
* Add web FocusScope
* Create custom Outlet for these announcements
* Clean up FocusScope native impl
* Comments
* Some styling fixes
* Handle screen reader specifically
* Clean up state, remove Portal edits
* Reorg, rename
* Add syncing, tests
* Revert dialog updates
* Revert formatting
* Delete unused file
* Format
* Add FullWindowOverlay
* remove mmkv storage in debug btn
* Add debug code
* fix taps passing through on iOS
* Reorg
* Reorg, rename everything
* Complete policy update after signup
* Add logger
* Move context around, unmount portals on native
* Move a11y prop into FocusScope
* Remove useMemo
* Update dates
* Move debug to dev settings
* Unmount web portals until policy update completed
* UPdate dates
---------
Co-authored-by: Samuel Newman <mozzius@protonmail.com >
2025-08-06 15:15:52 -05:00