DS Boyce
6fc31eeb48
Clean up minor issues in MessgeItem ( #10338 )
2026-04-23 09:30:50 -07:00
DS Boyce
8d6d4f9850
Simplify chat margins ( #10334 )
2026-04-22 12:31:08 -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
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
Samuel Newman
0df1d6f53e
[Chat] Message context menu fixes ( #10314 )
2026-04-21 09:24:46 -07: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
Eric Bailey
587dc8dfe8
Squash carousel in chat messages, fix rounding ( #10286 )
2026-04-17 14:24:42 -05:00
Samuel Newman
43108533eb
[Chat] Fix embed offset ( #10285 )
2026-04-17 11:44:48 -07:00
Samuel Newman
591504307d
[Chat] Minor bugfixes ( #10284 )
2026-04-17 10:50:52 -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
524cbc514d
Don't toggle the date divider when tapping a reaction ( #10274 )
2026-04-16 13:06:09 -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
ac68cfe98c
Remove own reaction from reactions dialog on tap ( #10231 )
...
Co-authored-by: Samuel Newman <mozzius@protonmail.com >
2026-04-16 11:16:43 -07:00
DS Boyce
e10c05d735
Reveal chat timestamp on tap ( #10262 )
2026-04-16 10:17:01 -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
DS Boyce
f4e14626aa
Add button for creating a new group clip clop ( #10066 )
...
Co-authored-by: Samuel Newman <mozzius@protonmail.com >
2026-03-26 10:23:49 -07:00
Eric Bailey
45df50ec19
Rename translation properties for clarity ( #10061 )
2026-03-17 13:59:28 -05:00
DS Boyce
1386a559b7
Log languages a post is tagged with after translating ( #10014 )
...
Co-authored-by: Eric Bailey <git@esb.lol >
2026-03-17 12:31: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
DS Boyce
afbade6f6f
Refine UX for on-device translation for posts ( #9987 )
...
Co-authored-by: Samuel Newman <mozzius@protonmail.com >
Co-authored-by: Eric Bailey <git@esb.lol >
2026-03-04 20:37:44 -06:00
Samuel Newman
37a82761f5
Cache profile view before opening AfterReportDialog ( #9962 )
2026-03-03 13:50:22 -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
9ec06971af
Upgrade Lingui to v5 ( #9905 )
2026-02-23 20:28:03 +00: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
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
a275e8999e
restore flatten in emoji reaction picker ( #9375 )
2025-11-11 03:18:24 -08:00
surfdude29
1cdb105af5
tweak accessibility labels ( #9347 )
2025-11-10 16:31:08 -06:00
hailey
d6ca9e6b41
[Reporting] Add new reporting categories and reasons ( #9079 )
...
* start adding new report reasons
* cleanup
* use updated types
* cleanup open/closed logic
* other fix
* state fix
* rename type
* Update src/components/moderation/ReportDialog/utils/useReportOptions.ts
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com >
* Update src/components/moderation/ReportDialog/utils/useReportOptions.ts
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com >
* Update src/components/moderation/ReportDialog/utils/useReportOptions.ts
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com >
* Update src/components/moderation/ReportDialog/index.tsx
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com >
* Update src/components/moderation/ReportDialog/utils/useReportOptions.ts
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com >
* Update src/components/moderation/ReportDialog/utils/useReportOptions.ts
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com >
* Update src/components/moderation/ReportDialog/utils/useReportOptions.ts
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com >
* Update src/components/moderation/ReportDialog/utils/useReportOptions.ts
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com >
* Update src/components/moderation/ReportDialog/utils/useReportOptions.ts
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com >
* Update src/components/moderation/ReportDialog/utils/useReportOptions.ts
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com >
* Update src/components/moderation/ReportDialog/utils/useReportOptions.ts
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com >
* Update src/components/moderation/ReportDialog/utils/useReportOptions.ts
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com >
* Update src/components/moderation/ReportDialog/utils/useReportOptions.ts
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com >
* Update src/components/moderation/ReportDialog/utils/useReportOptions.ts
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com >
* Update src/components/moderation/ReportDialog/utils/useReportOptions.ts
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com >
* add mapping
* Replace consts and maps using exported values
* Map to deprecated reason if necessary, send some reports only to Bluesky
* Use only new report reason types
* Cleanup
* Bump package, integrate new reasons
* Adjust sorting, return type, integrate feedback
* Just remove sort
* Finish 'other' handling
* Update descriptions
* Just invert filter logic, no functional change but feels more correct
* Clarify handling
* fix deep imports
* fix type error
* [Reporting] Integrate new `ReportDialog` into DMs (#9213 )
* Update types, fork copy for convo vs message
* Integrate in remaining spots
* Replace DoneStep with separate dialog that opens after reporting
* Handle profile error state by just showing a success message
* Delete old dms ReportDialog
* Chats only go to bsky
* Only open block or delete dialog if submitted successfully
* make close button always large
* prevent expansion of blockordelete dialog
* Delete old report dialog (#9214 )e
* Skip labeler selection for Bluesky-only cases
* Rename AfterReportDialog
---------
Co-authored-by: Samuel Newman <mozzius@protonmail.com >
---------
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com >
Co-authored-by: Eric Bailey <git@esb.lol >
Co-authored-by: Samuel Newman <mozzius@protonmail.com >
2025-11-06 15:40:13 -06:00
Samuel Newman
1b0fbd503e
Remove use of flatten where possible ( #9325 )
...
* remove use of flatten where possible
* restore flatten where it says it's needed
* missing utils alpha
2025-11-04 05:43:08 -08:00
Eric Bailey
bd17f04810
Migrate to @bsky.app/alf package ( #9030 )
...
* Add storybook shortcut in dev
* Migrate to alg pkg
* Migrate font_bold to new font_semi_bold
* Migrate font_heavy to font_bold
* Fix old theme refs
* Remove leading util
* Bump
* Revert "Add storybook shortcut in dev"
This reverts commit 7a86195c77fb5d449c7782e64ebabb6addfab919.
* Remove alf script
* Adjust font scale
* Bump
* Bump pkg
* Migrate values from conflicts
* Create default themes outside react
* Use built-in alf utils
* Migrate old font styles
* Remove unused tokens
* Move theme creation to more appropriate file
* Update button colors
* Adjust TextField colors, line heights
2025-09-24 11:47:08 -05:00
Samuel Newman
5211b26903
Expo 54 ( #8931 )
...
* update deps
* update patches
* fix new arch optout
* build from source, disable new arch
* update to preview.14
* upgrade off of preview to release
* fix lockfile lint
* update patches
* add back expo-location
* downgrade reanimated
* downgrade pagerview
* use expo-file-system/legacy
* try and upgrade types/react-dom
* fix type of uint8array
* rm @types/react resolution from bad rebase
* more type errors
* fix mock
* bump rn-compressor
* add patch of https://github.com/bluesky-social/react-native-paste-input/pull/5
* delete NativeDropdown & remove Zeego
* `import React` in expo modules
* bump cocoapods
* rm unused picker lib
* add speculative react-native-mmkv patch
* revert patch, add temp debug info to error
* bring back speculative patch, patch built JS code instead of source
* revert patch, just do debugging part
* dep update
* update resolutions, dynamic-app-icon
* bump node version in eas.json
* update build instructions
* rm atob from docs
* Delete react-native-mmkv+2.12.2.patch
* bump expo which might include fix
* update expo patch version
* bump expo patch version
* wrong version oops
* update expo to latest
* update react-native-compressor, rm patch
2025-09-22 08:52:07 -07:00
Samuel Newman
53e43a957c
run yarn lint --fix ( #9013 )
2025-09-09 08:38:21 -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
Samuel Newman
ac0c4ef2d9
ensure headers are set when chat reporting ( #8985 )
2025-09-05 09:33:27 -05:00
hailey
bec0329774
enable link redirection in message ( #8961 )
2025-09-02 16:31:37 -07:00
Samuel Newman
54f7af12ca
Update DM header to match new Layout style ( #8846 )
2025-08-25 19:23:08 +03:00
Samuel Newman
b2c56cbd6d
Add displayName to contexts ( #8814 )
2025-08-14 01:12:31 +03:00
Samuel Newman
edd205483d
Fix chat button placeholder size on profile ( #8827 )
2025-08-13 17:20:23 +03:00
Samuel Newman
bb949e4f44
Fix translations on Android using PROCESS_TEXT intent ( #8486 )
...
* use intents to translate text on android
* clean up config plugins
* restore day night plugin
just to be safe
* leave a comment for why we can't open translate directly
* add todo
* fix lockfile lint
2025-08-11 08:37:39 -07:00
Samuel Newman
760b184d28
fix emoji popup scroll ( #8636 )
2025-07-21 09:22:35 -05:00