Spence Pope
c6f9803676
Add profile QR code for sharing and inviting friends ( #10659 )
2026-06-10 14:14:45 -04:00
Samuel Newman
66db349ef2
Switch dynamic app icon library to @bsky.app, fix build flakiness ( #10724 )
2026-06-04 18:46:49 +03:00
DS Boyce
84d1785e12
Enable ESLint errors and suppress existing violations ( #10490 )
2026-06-03 11:27:44 -07:00
RetroSunstar
a046d8d96a
Use square icons for labellers in Automation Label preview card ( #10701 )
2026-06-03 03:47:35 -07:00
DS Boyce
ce4efc511b
Refactor notification settings as dialogs ( #10646 )
...
Co-authored-by: Samuel Newman <mozzius@protonmail.com >
2026-05-29 09:35:14 -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
0eb382da03
[Chat] Split view layout for web ( #10258 )
2026-05-15 12:46:53 -07:00
Eric Bailey
b41dbec48f
Remove KLIPY from external media settings ( #10496 )
2026-05-15 10:54:42 -05:00
DS Boyce
9e55bb71ef
Add export data dialog to chat settings ( #10478 )
2026-05-13 12:30:00 -07:00
Eric Bailey
8e06c9fbb7
Add ability for users to send error reports ( #10427 )
2026-05-05 17:21:42 -05:00
Samuel Newman
abe0ca521d
Fix slow re-renders when toggling content languages ( #10128 )
...
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-21 17:16:26 -05:00
DS Boyce
bc9ad2c2d9
Fix crash when deleting account from NoAccessScreen ( #10283 )
2026-04-17 10:48:08 -07:00
DS Boyce
75c9e2c181
Upgrade eslint-plugin-simple-import-sort to latest ( #10260 )
2026-04-15 11:00:34 -07:00
Samuel Newman
2c717dc1e7
Rename moderation link in settings to "Moderation and content filters" ( #10192 )
2026-04-10 09:50:30 -07:00
DS Boyce
d0d00ba9f8
Address lint warnings ( #10188 )
2026-04-08 15:54:43 -07:00
DS Boyce
a049a6538c
Use new endpoints for suggested users ( #10185 )
2026-04-07 15:10:23 -05:00
DS Boyce
35cb2bcf94
Create codemod for updating Toast calls to v2 ( #10045 )
2026-03-12 11:35:58 -07:00
DS Boyce
1db01a09a8
Create codemod for addressing ESLint warnings ( #10032 )
2026-03-11 15:51:31 -07:00
Spence Pope
2bd9811652
[APP-1928] add bot/automated account badge and self-labeling settings ( #10008 )
...
Co-authored-by: Eric Bailey <git@esb.lol >
2026-03-10 13:28:49 -05:00
Samuel Newman
aa897f55a0
The Great Unjanking of the Sheets ( #9973 )
2026-03-09 22:53:32 +02:00
Samuel Newman
d247a65683
Add Trans to string ( #9981 )
2026-03-02 11:39:50 -08:00
Samuel Newman
f614bf650d
Translation followups ( #9980 )
2026-03-02 11:01:09 -08:00
DS Boyce
9bbcb472ef
Use on-device translation on mobile when available ( #9930 )
...
Co-authored-by: Samuel Newman <mozzius@protonmail.com >
2026-02-27 16:59:19 -08:00
Alex Benzer
00816b70dc
[APP-1859] pinned feed drag n drop ( #9893 )
...
Co-authored-by: Samuel Newman <mozzius@protonmail.com >
Co-authored-by: vineyardbovines <spencerfpope@gmail.com >
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-25 11:52:10 -08:00
Samuel Newman
782edbf281
Restore type assert that got accidentally removed ( #9934 )
2026-02-23 23:11:39 -08:00
Samuel Newman
9ec06971af
Upgrade Lingui to v5 ( #9905 )
2026-02-23 20:28:03 +00:00
Samuel Newman
3fae42c077
Remove hardcoded warning color, add yellow and pink to ALF palette ( #9911 )
2026-02-20 10:17:11 -06:00
Samuel Newman
775a041b71
Add chat data export to Export My Data dialog ( #9900 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-18 11:01:58 -08:00
Samuel Newman
512ce3d5d0
ALF content language dialog ( #9471 )
...
Co-authored-by: Eric Bailey <git@esb.lol >
2026-02-18 08:57:32 -08:00
DS Boyce
7c08bba6cf
Use Prompt.Action for delete account buttons ( #9889 )
2026-02-16 16:23:27 -08:00
DS Boyce
49253dbd88
Refactor delete account dialog using ALF ( #9863 )
2026-02-16 12:00:46 -08:00
Eric Bailey
cc2255cc49
[APP-1776] Refactor Live Now config, reorg files ( #9871 )
2026-02-16 11:44:22 -06:00
surfdude29
b8db36afb0
Add context for translators for "No one" string ( #9844 )
...
* add context for translators 'No one' option
* update ActivityPrivacySettings to add context for translators
* update translation context for 'No one' option
2026-02-09 15:37:04 -08:00
Eric Bailey
72b7516d9b
Prompts refresh ( #9781 )
...
* Round boi
* Wrap a few things in Prompt.Content
* Couple tweaks
2026-01-27 20:02:55 -06:00
Eric Bailey
3523e7ce58
1.115.0 fast follows ( #9743 )
...
* Fix caching, fix attributes setting
* Use useCallOnce hook
* Update dismissal handling
* Update copy
2026-01-23 16:28:40 -06:00
Eric Bailey
df89b79c2a
[APP-1787] Some analytics cleanup ( #9736 )
...
* Clean up flags
* Move getMetadataForLogger
* Nail down attributers
* Polyfill features cache
2026-01-22 16:57:59 -06:00
Eric Bailey
25a1ed1209
[APP-1782] Analytics migration ( #9734 )
...
* WIP
* Clean up growthbook code, integrate into init and sessions
* Move everything out of React
* Add metrics client
* Move to separate file
* Shared metadata cache
* Ensure we update metadata when session ID changes
* Ensure userMetadata is cleared when logging out
* WIP revamp
* Integrate feature gates into analytics context
* Clean up old code
* Fix useMeta util
* Some comments and cleanup
* Add logger to base analytics context
* Refactor current route handling
* Rip out LogEvent from navigation
* Update tracking endpoint
* Migrate toClout
* Clear out statsig client
* Add todo, reset logger readme
* Ope fix statsig noop
* Refactor logging in feed-feedback, add debug logging to metrics client
* Remove LogEvents alias for Metrics
* Prefer root package export
* Remove Metrics alias from logger
* [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
* Fix session ID bug
* Add session ID test
* Add test for metrics client
* Clarify intent
* Clean up core analytics file
* Clean up the call once utils
* Fix TODO
* Fix TODO
* Fix TODO
* Fix TODO
* Fix TODO
* Remove debug code
* Fix navigation context
* OK nav context is not working, todo
* Checkpoint: works but feels hacky
* Fix navigation context issue
* Improve feature API
* Improve metric logging
* Update logger tests
2026-01-22 15:33:45 -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
Samuel Newman
7d5de60401
fix long handles in account switch ( #8373 )
2025-12-30 01:35:24 -08:00
Eric Bailey
b38013a12f
Small copy tweaks ( #9557 )
2025-12-29 10:21:09 -08:00
Eric Bailey
da87515d0a
[APP-1684] Some contact import tweaks ( #9555 )
...
* Handle download link
* Improve NUX geo gating from #9549
* Fix alignment of phone code select
* Show full name
* Add gate to nux banner
* Add gate to settings screen
* Invert gate check in settings, whoops
2025-12-15 13:35:28 -06:00
Samuel Newman
8cee40beff
Find Friend links ( #9546 )
...
* links
* policy
* Update PhoneInput.tsx
2025-12-12 12:23:19 -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
e34ed14887
CAR dialog - add close button ( #9470 )
...
* car dialog add close button
* update toast import
2025-12-10 13:22:55 -08:00
Samuel Newman
6ccda945e5
Telephone country code select ( #9473 )
...
* add telephone code select
* add flags
* run svgo on flags
* get it somewhat working on web
* get web closed state working
* verify country code we get from geo
* trim down names to shorter common versions
* add labels to other selects
* make international tel codes a static object
* add component to storybook
* Update src/lib/international-telephone-codes.ts
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com >
* update to new geo hook
* use Intl.DisplayNames, add polyfill
* use in rather than keys().includes()
---------
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com >
2025-12-10 12:12:30 -08: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
ef97a20c23
Fix password autofill on iOS ( #9397 )
...
* fix password autofill on iOS
* update autocomplete props, rm textContentType
2025-11-17 06:27:00 -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