DS Boyce
2950ecf2b5
Create Mod Inbox action details screen ( #11657 )
2026-09-04 09:21:40 -07:00
DS Boyce
edcd363fcb
Use title case for Starter Pack ( #11653 )
2026-09-03 12:26:51 -07:00
DS Boyce
23d8fcf5ea
Create mod inbox report details screen ( #11641 )
2026-09-03 10:20:46 -07:00
DS Boyce
3e8a48989a
Create Mod Inbox settings screen ( #11640 )
2026-09-03 09:30:21 -07:00
DS Boyce
5118748cb1
Create moderation inbox menu item and feature gate ( #11552 )
2026-08-25 13:31:13 -07:00
Samuel Newman
f87fdd2ea2
Enable React Native strict TypeScript API ( #11459 )
2026-08-25 09:40:14 +03:00
Samuel Newman
d727be8c1a
Fix profile icon on custom feeds ( #11408 )
...
Co-authored-by: DS Boyce <260543580+ds-boyce@users.noreply.github.com >
2026-08-06 16:37:21 -07:00
DS Boyce
92ec563f9d
Restore activity notification subscriptions screen ( #11201 )
2026-07-21 05:16:22 -07:00
Samuel Newman
007c21fa8e
Add moduleSuffixes to tsconfig ( #11146 )
...
Co-authored-by: Claude <noreply@anthropic.com >
2026-07-16 12:47:53 -07:00
DS Boyce
3c5c11c002
Add setting for opting in to beta features ( #11123 )
2026-07-15 06:06:54 -07:00
Samuel Newman
102905b962
Fix back swipe opening the drawer after a cold-start deep link ( #11065 )
...
Co-authored-by: Claude <noreply@anthropic.com >
2026-07-07 06:51:06 -07:00
Spence Pope
974d2b15d5
Fix stale push notification replay after account switch ( #10792 )
2026-06-10 15:46:35 -05:00
Spence Pope
c6f9803676
Add profile QR code for sharing and inviting friends ( #10659 )
2026-06-10 14:14:45 -04:00
Samuel Newman
c4f3a2cb89
[Chat] Rename invite route to /chat/ ( #10782 )
2026-06-08 09:26:23 -07:00
DS Boyce
73dae02df3
Create screen for managing chat requests ( #10635 )
2026-06-02 13:28:06 -07:00
DS Boyce
56496520d6
Create logged-out view for group chat invites ( #10598 )
...
Co-authored-by: Samuel Newman <mozzius@protonmail.com >
2026-06-02 12:02:49 -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
c1817d3425
[Chat] Handle new chat notification reasons ( #10530 )
...
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-20 08:20:35 -07:00
Samuel Newman
0eb382da03
[Chat] Split view layout for web ( #10258 )
2026-05-15 12:46:53 -07:00
Samuel Newman
d3f5093817
Groupchats feature branch ( #10181 )
...
Co-authored-by: DS Boyce <260543580+ds-boyce@users.noreply.github.com >
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-15 12:15:45 -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
30c9ea5789
v1.118.0 E2E tests ( #9994 )
2026-03-04 20:45:08 -06:00
Samuel Newman
65c4b7833d
Blur effect on home screen (iOS 26) ( #9935 )
2026-02-26 07:00:12 -08:00
Samuel Newman
9ec06971af
Upgrade Lingui to v5 ( #9905 )
2026-02-23 20:28:03 +00:00
Eric Bailey
9b8c46cdb7
Add A/A test ( #9917 )
2026-02-20 13:19:56 -06:00
Samuel Newman
98d17fd950
Fix native-only function being called on web ( #9904 )
2026-02-18 09:46:45 -08:00
Samuel Newman
bdf143ce79
Restructure notification/linking handling to use synchronous APIs ( #9497 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
Co-authored-by: Eric Bailey <git@esb.lol >
2026-02-18 08:20:39 -08: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
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
Samuel Newman
4f6ff6fc73
lazy load storybook ( #9612 )
2026-01-06 08:03:21 -08:00
Samuel Newman
0aaf11aa7b
fix drawer layout on mobile web ( #9618 )
2025-12-30 09:56:05 -08:00
Samuel Newman
caa02db87b
Update react native screens, remove patch ( #9210 )
...
* update react native screens
* bump rns
* see if nightly works
* update nightly
* yay it's out
* update react-nav
* update drawer layout and remove patch
* Update createNativeStackNavigatorWithAuth.tsx
* render drawer as "layout" component
* rm react-nav/drawer (unused)
* restore drawer layout patch
2025-12-29 10:16:49 -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
372e20efa3
ALF saved feeds screen ( #8844 )
2025-09-09 22:40:25 +03:00
Samuel Newman
6432667f60
ALF lists screen ( #8941 )
...
* alf list screens
* relocate to `#/screens`, balkanize
* use useBreakpoints
* showCancel on subscribe menu
* fix typo
2025-09-09 10:20:33 -07:00
Samuel Newman
3e2c181c40
Upgrade @types/react to 19 and run codemod (attempt 2) ( #8918 )
...
* update dependencies
* rm `import type React from 'react'`
* run codemods
* patch discord types
* update types/react-dom
* Update yarn.lock
2025-09-09 08:09:10 -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
Samuel Newman
3810b29fb6
ALF log screen ( #8845 )
2025-08-25 19:25:02 +03:00
Samuel Newman
d13a2e5f69
use push to convo mechanism ( #8653 )
2025-07-17 21:18:32 +03:00
Samuel Newman
2c0c9bf803
avoid handling notifs if deep link ( #8657 )
2025-07-17 21:18:16 +03:00
Samuel Newman
377d80e21d
Handle notifications on first load ( #8629 )
...
* add getInitialURL
* get deep linking working
* actually handle as push instead
* push to route instead of setting initial path
* pop to on top of notifications
* fix comment
* change chat-message handling
* add metrics
* don't reopen due to notif multiple times
* extract data from notification differently on android
* sorry sorry annoying naming nits, align logger
---------
Co-authored-by: Eric Bailey <git@esb.lol >
2025-07-10 16:36:53 -05:00
Samuel Newman
bc072570d2
Activity notification settings ( #8485 )
...
Co-authored-by: Eric Bailey <git@esb.lol >
Co-authored-by: Samuel Newman <mozzius@protonmail.com >
Co-authored-by: hailey <me@haileyok.com >
2025-07-01 14:36:04 -07:00
Samuel Newman
9cf457acf8
copy tweak ( #8506 )
2025-06-18 00:12:59 +03:00
Samuel Newman
21989b558b
Granular notification settings ( #8484 )
...
* add mockup screen
* add notification index screen
* add redirect screen
* upgrade sdk
* new icons
* add new screens
* make router typesafe, finish adding screens
* add routes to go server
* load settings
* push notif settings
* improve web
* fix lockfile lint
* no $type on preferences
* prompt to enable push notifications
* fix reply prefs
* space out options
* fix copy error
* Update RepostsOnRepostsNotificationSettings.tsx
* only send minimal diff to putPrefs
* fix yarn.lock
* Update Navigation.tsx
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com >
* Apply suggestions from code review
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com >
* Update src/screens/Settings/NotificationSettings/index.tsx
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com >
* add description to `syncOthers`
---------
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com >
2025-06-17 02:37:14 -07:00
dan
f938963462
Update react-navigation ( #5967 )
2025-06-09 22:29:53 +03:00
hailey
2a453cd9ca
invert flag for sending to statsig ( #8431 )
2025-05-30 12:13:44 -07:00
Eric Bailey
0f96669f8c
[APP-1158] Refactor email-related dialogs ( #8296 )
...
* WIP
* Update email
* Fire off confirmation email after change
* Verify step, integrate stateful control
* Remove tentative EnterCode step
* Handle token step
* Handle instructions and integrate into 2FA setting
* Fix load state when reusing same email
* Add new state
* Add 2FA screens
* Clean up state in Update step
* Clean up verify state, handle normal callback
* Normalize convetions
* Add verification reminder screen
* Improve session refresh
* Handle verification requirements for composer and convo
* Fix lint
* Do better
* Couple missing translations
* Format
* Use listeners for easier to grok logic
* Clean errors
* Move to global context
* [APP-1158] Gate features by email verification state (#8305 )
* Use new hook in all locations
* Format
* Seems to work, not great duplication
* Wrap all open composer calls
* Remove unneeded spans
* Missed one
* Fix handler on Conversation
* Gate new chat in header
* Add comment
* Remove whoopsie
* Format
* add hackfix for dialog not showing
* add prompt to accept chat btn
* navigation not necessary
* send back one screen, rather than home
* Update comment
---------
Co-authored-by: Samuel Newman <mozzius@protonmail.com >
* Clear dialog state
Co-authored-by: Samuel Newman <mozzius@protonmail.com >
* Update icon
* Check color
* Add 2FA warning
* Update instructions
* Fix X button
* Use an effect silly goose
* Update copy
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com >
* Update copy
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com >
* Update copy
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com >
* Update copy
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com >
* Update src/components/dialaUpdate copyogs/EmailDialog/screens/Update.tsx
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com >
* Update copy
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com >
* Update copy
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com >
* Update copy
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com >
* Update copy
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com >
* Update copy
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com >
* Update copy
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com >
* Update copy
* Update copy
* Update copy
* Update copy
* Update copy
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com >
* Update copy
* Add link back to update email from verify email dialog
* Handle token field validation
---------
Co-authored-by: Samuel Newman <mozzius@protonmail.com >
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com >
2025-05-07 10:23:33 -05:00
Samuel Newman
70dbc94766
Modernise change email flow ( #8106 )
...
* use new verify email dialog in 2fa flow
* alf change email flow
* Fallback change email dialog
* Update ChangeEmailDialog.tsx
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com >
* Update ChangeEmailDialog.tsx
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com >
* Update ChangeEmailDialog.tsx
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com >
* Update ChangeEmailDialog.tsx
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com >
* Update ChangeEmailDialog.tsx
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com >
* Update ChangeEmailDialog.tsx
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com >
* Update ChangeEmailDialog.tsx
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com >
* Update ChangeEmailDialog.tsx
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com >
* Update Email2FAToggle.tsx
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com >
* don't use existing email as default value
* increase max width of email dialogs
* Use ALF verify email dialog for reminder (#5924 )
* use new verify email dialog for reminder
* style tweaks, improve web
* add a lil toast
* Apply suggestions from code review
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com >
* Ditch close and push up image
---------
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com >
Co-authored-by: Eric Bailey <git@esb.lol >
* delete old change/verify email modals (#8122 )
(cherry picked from commit fceb655b3b )
* Translate email placeholder
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com >
* Align copy
* Clean up error handling
---------
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com >
Co-authored-by: Eric Bailey <git@esb.lol >
2025-04-23 11:22:08 -05:00
Eric Bailey
0ac15920a4
Verification ( #8226 )
...
* WIP
* Alignment with icon
* Add create/remove prompts
* Fill out check dialog a bit
* Reorg
* Handle was verified state
* Add warning to edit profile
* Add warning to handle dialog
* Decent alignment in posts on all platforms
* Refactor alignment for posts, chatlist, hover card
* Disable on profile
* Convo header
* Compute simple verification state
* Add other icon, rename, integrate
* Swap in simple state for profile edits
* Clean up utility hooks
* Add verifications UI to dialog
* Add edu nux
* Revert change
* Fix wrapping of check on profile
* Rename
* Fix gap under PostMeta
* Update check dialogs
* Handle takendown verifiers in check dialog
* alf composer reply to
* Refactor verification state
* Add create/remove mutations, non-functional for now
* Fix up post-rebase
* Add check to first author noty
* Do cache updates after mutations
* DRY up hook, add to profile updates too
* Add to drawer
* Update account list
* Adapt to new types
* Hook up mutations
* Use profile shadow in feeds
* Add to settings
* Shadow currentAccountProfile
* Add invalid state to verifications
* Fix alignment and overflow in Settings and Drawer
* Re-integrate post rebase
* Remove debug code
* Update copy
* Add unverified notification support
* Remove link
* Make sure dialog closes
* Update URL
* Add settings screen
* Integrate new setting into verification states
* Add metrics, bump package, fix bad import
* NUX fixes
* Update copy
* Fixes
* Update types
* fix search autocomplete
* fix lint
* add display name warning to new dialog
* update default prefs
* Add parsing support for notifications
* Bump pkg
* Tweak noty styles
* Adjust check alignment
* Tweak check alignment
* Fix badge for verifier
* Modify copy
---------
Co-authored-by: Samuel Newman <mozzius@protonmail.com >
Co-authored-by: Paul Frazee <pfrazee@gmail.com >
2025-04-18 19:15:32 -07:00
Eric Bailey
94bc677ef5
Rename search to explore in titles and links ( #8116 )
...
* Rename search to explore in titles and links
* Conditionally use Explore
2025-04-04 08:30:12 -07:00