Samuel Newman
f84c85aac6
Use Reanimated layout animations for Android composer ( #8546 )
2026-06-05 00:37:42 +03:00
Eric Bailey
923e1635d8
V smol log cleanups ( #10731 )
2026-06-04 15:56:37 -05:00
heikadog
49f8e5031f
Fix labeller highlight when selected on bottom bar ( #10716 )
2026-06-04 03:28:40 -07:00
Samuel Newman
57ae26fcaa
Make extra sure the drawer gesture doesn't accidentally trigger on Android ( #10713 )
2026-06-03 13:57:45 -07:00
Samuel Newman
4367b9d047
[Android] Fix horizontal swipes being cancelled when leaving bounds ( #10712 )
2026-06-03 15:01:54 -05:00
DS Boyce
84d1785e12
Enable ESLint errors and suppress existing violations ( #10490 )
2026-06-03 11:27:44 -07:00
Alex Benzer
4e2949c93a
Add nav:click event to all main nav items ( #10540 )
...
Co-authored-by: Eric Bailey <git@esb.lol >
2026-05-26 09:28:40 -05:00
Samuel Newman
bf7633b794
Fix status bars not showing ( #10605 )
2026-05-25 04:09:28 -07:00
Samuel Newman
d404363093
Fix left nav badge overlap ( #10604 )
2026-05-25 03:47:22 -07:00
Samuel Newman
366cf7e040
Rebalance splitview columns ( #10512 )
2026-05-19 07:33:10 -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
Spence Pope
a7fabd9e0d
Refresh lightbox designs ( #10330 )
...
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-05 12:25:29 -04:00
Samuel Newman
a97b15b204
✨ EmojiPicker component ( #10249 )
2026-04-17 02:42:10 -07:00
Samuel Newman
cc861093c2
Make padding equal in the bottom bar ( #10265 )
2026-04-16 08:31:38 -07:00
DS Boyce
b9561f78ee
Enforce using named imports from 'react' ( #10259 )
2026-04-15 10:11:09 -07:00
Eric Bailey
0a5ae17738
New rich text composer + autocomplete ( #10159 )
2026-04-07 20:37:50 -05:00
DS Boyce
cca3326b21
Create global keyboard shortcut handler ( #10145 )
2026-04-03 10:06:51 -07:00
Samuel Newman
9fe808f8a8
Fix bottom bar badge text padding ( #10162 )
2026-04-02 11:51:54 -07:00
Samuel Newman
68a4d73d61
Add no-extraneous-dependencies and no-nodejs-modules eslint rules ( #10151 )
2026-04-02 08:34:12 -07:00
DS Boyce
e8ee30398a
Update Search to use ALF atoms ( #10146 )
...
Co-authored-by: Samuel Newman <mozzius@protonmail.com >
2026-04-01 09:11:27 -07:00
Samuel Newman
530afe87c7
web: LRU screen cache to bound memory in long sessions ( #10063 )
...
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-18 08:50:48 -07:00
DS Boyce
9c9970f680
Don't show chat notification if viewer is age gated ( #10042 )
2026-03-12 11:21:57 -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
DS Boyce
7dc3b4fa8e
Add search event analytics ( #9949 )
...
Co-authored-by: Eric Bailey <git@esb.lol >
2026-03-03 14:49:38 -06: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
bc61314c41
iOS 26 followups ( #9936 )
2026-02-24 08:12:57 -08:00
Samuel Newman
73b096e443
iOS 26 ( #9047 )
...
Co-authored-by: Eric Bailey <git@esb.lol >
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-23 22:34:52 -08:00
Samuel Newman
9ec06971af
Upgrade Lingui to v5 ( #9905 )
2026-02-23 20:28:03 +00:00
Eric Bailey
cc2255cc49
[APP-1776] Refactor Live Now config, reorg files ( #9871 )
2026-02-16 11:44:22 -06:00
Spence Pope
18ab5d6f34
[APP-1823] Fix 'create account' / 'sign in' buttons stacking ( #9830 )
...
* ensure enough space for sign in buttons
* smallest possible adjustment
* smallest possible adjustment
2026-02-05 08:40:25 -08:00
Spence Pope
45d6e50eb4
lint ( #9802 )
2026-01-30 22:48:31 +02:00
Samuel Newman
58f532a495
[Drafts] Storage fixes ( #9790 )
...
* delete media from existsCache when deleting
* revoke media URLs
* skip revoking objecturls until the composer is completely closed
* [Drafts] Metrics (#9794 )
* metrics for drafts
* Nit: format
* nit: use new util for clarity
* nit: use new util for clarity
---------
Co-authored-by: Eric Bailey <git@esb.lol >
---------
Co-authored-by: Eric Bailey <git@esb.lol >
2026-01-29 15:21:38 -06:00
Samuel Newman
2cee96da8e
Add ESLint rule to enforce Lingui msg usage ( #9789 )
...
* Add ESLint rule to enforce Lingui msg usage
Adds a custom ESLint rule 'lingui-msg-rule' that ensures the Lingui _()
function is called with msg`` template literals or plural/select macros,
preventing accidental misuse like _('string') which bypasses i18n.
https://claude.ai/code/session_01JMXXPUgAHiSBGmfGwUojKy
* Support msg({...}) descriptor form and add auto-fix
- Allow msg() function call form: _(msg({message: 'Hello'}))
- Add auto-fix for string literals: _('Bad') -> _(msg`Bad`)
- Add auto-fix for untagged templates: _(`Bad`) -> _(msg`Bad`)
- No auto-fix for variables/function calls (not safely fixable)
https://claude.ai/code/session_01JMXXPUgAHiSBGmfGwUojKy
* fix complex cases
* run autofix HELL YEAH
---------
Co-authored-by: Claude <noreply@anthropic.com >
2026-01-29 11:05:49 -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
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
5989bf7fad
Remove some unused things ( #9719 )
2026-01-19 10:48:13 -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
29f8bc998d
Highlight first feed in sidebar if non selected ( #9703 )
2026-01-15 07:12:15 -08: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
c4fd9980cc
Cleaner sidebar layout ( #9603 )
2026-01-10 00:13:43 +02: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
0aaf11aa7b
fix drawer layout on mobile web ( #9618 )
2025-12-30 09:56:05 -08:00
Samuel Newman
9cfa7d0ba8
Remove RNGH from web bundle ( #9528 )
...
* remove RNGH on web
* add intentionally-failing webpack alias
* Update webpack.config.js
2025-12-30 03:40:19 -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
Eric Bailey
998ee78e3d
Move NUXDialogs into shell ( #9573 )
2025-12-18 12:08:17 -06:00
surfdude29
348e7fa379
Restore notification count in BottomBar ( #9554 )
2025-12-15 09:15:52 -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
d3923c1f2e
Move Takendown and Deactivated screens out to the shell alongside AA ( #9538 )
2025-12-11 13:28:50 -06:00