DS Boyce
c91eae3720
Show message when chat is locked or ended ( #10413 )
2026-05-06 10:42:54 -07:00
Samuel Newman
a7ed3ee3cc
[Chat] Fix assumption that every chat has an owner ( #10373 )
2026-05-06 06:11:07 -07:00
DS Boyce
a24d30ab47
Add ability to follow from chat settings ( #10415 )
2026-05-05 09:51:40 -07:00
DS Boyce
482fb77e36
Re-enable group invite link management ( #10407 )
2026-05-04 15:44:27 -07:00
DS Boyce
e34080c4a0
Fix some minor issues with the invite link dialog ( #10408 )
2026-05-04 14:44:31 -07:00
Samuel Newman
1b3b8e493a
[Chat] Defer message send until after textinput resizes ( #10405 )
2026-05-04 14:05:15 -07:00
Samuel Newman
dc9b9a887b
[Chat] Reenable the gc gate ( #10406 )
2026-05-04 10:24:25 -07:00
DS Boyce
f1764f1d61
Move useListConvoMembersQuery inside AddMembersFlow ( #10386 )
2026-04-29 16:49:47 +01:00
Samuel Newman
7eec65ac78
[Chat] Temporarily turn off gate ( #10368 )
2026-04-24 22:45:22 +03:00
Eric Bailey
cdb8d4bfb8
Group Clops Feature Branch ( #10360 )
...
Co-authored-by: DS Boyce <260543580+ds-boyce@users.noreply.github.com >
Co-authored-by: Samuel Newman <mozzius@protonmail.com >
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-24 11:38:50 -07:00
Samuel Newman
e832791367
[Chat] Improve gate ( #10359 )
2026-04-24 08:48:57 -05:00
Samuel Newman
deb3f26d3e
Fix send button disabled when sharing post via DM without text ( #10355 )
...
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-24 05:50:08 -05:00
Samuel Newman
7b490d8bcd
Only lock viewport zoom while text inputs are focused ( #10340 )
...
Co-authored-by: Claude <noreply@anthropic.com >
2026-04-23 10:42:05 -07:00
DS Boyce
9ba11baab7
Display actual number of group clip clop requests ( #10333 )
2026-04-22 12:31:38 -07:00
DS Boyce
38c8adcc27
Fix some minor chat issues ( #10332 )
2026-04-22 10:18:01 -07:00
DS Boyce
dcc06a90a0
Display sender name in last message for group clip clops ( #10320 )
...
Co-authored-by: Samuel Newman <mozzius@protonmail.com >
2026-04-22 10:03:53 -07:00
Samuel Newman
bfdaab0a14
[Chat] Workaround for autocomplete suggestion bug on iOS ( #10321 )
2026-04-21 15:56:07 -05:00
Samuel Newman
3153ea4302
Refactor minimal shell mode to refcounting ( #10319 )
2026-04-21 13:04:02 -07:00
Samuel Newman
6d53459e92
[Chat] Gate groupchat screen ( #10316 )
2026-04-21 11:21:19 -07:00
DS Boyce
2ab1e2c9e9
Display system messages in chats ( #10312 )
...
Co-authored-by: Samuel Newman <mozzius@protonmail.com >
2026-04-21 10:43:22 -07:00
DS Boyce
d58ff89441
Require age assurance to access chat settings ( #10053 )
2026-04-20 15:34:32 -05:00
surfdude29
2798e98c9c
Add context for translators and tweak strings ( #10280 )
2026-04-20 07:06:18 -07:00
Samuel Newman
bc3672ceeb
[Chat] Remove convoState dependency from header ( #10293 )
2026-04-18 12:58:16 -07:00
DS Boyce
935347c73d
Use convo view instead of convo state for driving the UI ( #10290 )
2026-04-17 15:23:44 -07:00
DS Boyce
adca192f3a
Add ability to edit group clip clop name ( #10275 )
2026-04-17 11:44:34 -07:00
DS Boyce
9e9ff70682
Enable access for group clip clops with no messages ( #10276 )
2026-04-17 10:40:37 -07:00
Samuel Newman
a97b15b204
✨ EmojiPicker component ( #10249 )
2026-04-17 02:42:10 -07:00
DS Boyce
6e3c9c3a9f
Add flow for adding people to a group clip clop ( #10255 )
2026-04-16 11:55:19 -07:00
DS Boyce
36c95d7dc6
Remove console log ( #10273 )
2026-04-16 10:57:48 -07:00
DS Boyce
9f3c21e298
Add header to group clip clops ( #10254 )
...
Co-authored-by: Samuel Newman <mozzius@protonmail.com >
2026-04-16 10:48:30 -07:00
DS Boyce
e10c05d735
Reveal chat timestamp on tap ( #10262 )
2026-04-16 10:17:01 -07:00
DS Boyce
a9e170b6d0
Integrate more group chat settings ( #10253 )
2026-04-16 10:15:59 -07:00
Samuel Newman
f51602b3fe
Support group chats across other surfaces ( #10266 )
2026-04-16 09:55:30 -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
Samuel Newman
888eca73b3
Refactor chat list implementation ( #10059 )
2026-04-10 09:58:16 -07:00
Eric Bailey
0a5ae17738
New rich text composer + autocomplete ( #10159 )
2026-04-07 20:37:50 -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
37a82761f5
Cache profile view before opening AfterReportDialog ( #9962 )
2026-03-03 13:50:22 -06:00
Samuel Newman
9ec06971af
Upgrade Lingui to v5 ( #9905 )
2026-02-23 20:28:03 +00:00
Samuel Newman
338016ed5c
Android sheets edge to edge ( #8342 )
2026-02-10 21:01:58 +00: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
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
62c0c06bbf
Move browser env into main env ( #9718 )
2026-01-16 17:20:03 -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
bd510d8468
Upgrade ESLint to v9 with flat config ( #9680 )
...
* Upgrade ESLint to v9 with flat config
- Upgrade eslint from v8 to v9.18.0
- Migrate from .eslintrc.js to eslint.config.mjs (flat config)
- Upgrade typescript-eslint to v8.20.0 (unified package)
- Replace eslint-plugin-import with eslint-plugin-import-x for flat config support
- Add globals package for environment globals
- Update eslint-plugin-bsky-internal with proper meta objects for ESLint v9
- Fix deprecated context.getScope() API usage
- Update bskyembed to use flat config
- Remove deprecated --ext flag from lint scripts
- Configure rules to maintain previous behavior while using new ESLint version
* Fix varsIgnorePattern to require character after underscore
Restore the original pattern `^_.+` instead of `^_` so that lingui's
`const { _ } = useLingui()` will still be flagged when unused.
* Update ESLint rule tests for flat config format
- Update RuleTester to use flat config languageOptions instead of
eslintrc parser format
- Remove duplicate test case that ESLint v9 now detects
- Add Jest globals for test files
* update eslint package versions
* lint android a11y
* enable typechecked rules, switch them to warn
* fix yarn lock ci
* Fix CI failure
* Remove unused globals?
* Organize a bit, add quiet to main lint command
* Allow ternary
---------
Co-authored-by: Claude <noreply@anthropic.com >
Co-authored-by: Eric Bailey <git@esb.lol >
2026-01-16 16:24:28 -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
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
1711626493
Migrate remaining old report reasons, remove old unused file ( #9378 )
2025-11-11 14:13:11 -06:00