Commit Graph

7135 Commits

Author SHA1 Message Date
vineyardbovines 70e1122abe Merge branch 'main' into app-2067 2026-04-17 09:02:19 -04:00
Spence Pope a77b6e3525 [APP-2066] Migrate from Tenor to KLIPY (#10240)
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-17 08:43:13 -04:00
Samuel Newman a97b15b204 EmojiPicker component (#10249) 2026-04-17 02:42:10 -07:00
pfrazee 8f56fca82c Nightly source-language update 2026-04-17 03:14:49 +00:00
DS Boyce 524cbc514d Don't toggle the date divider when tapping a reaction (#10274) 2026-04-16 13:06:09 -07:00
Samuel Newman 3358e1947b Lazily measure lightbox thumbnails (#10270) 2026-04-16 12:24:11 -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 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
Eric Bailey cc8f22887f [APP-2031] DM composer fast-follows (#10269) 2026-04-16 11:37:03 -05:00
Samuel Newman cc861093c2 Make padding equal in the bottom bar (#10265) 2026-04-16 08:31:38 -07:00
Eric Bailey 8c5899fc93 Add warning log to gates init (#10268) 2026-04-16 10:06:47 -05:00
pfrazee 6d8b4a2070 Nightly source-language update 2026-04-16 03:15:06 +00:00
Eric Bailey 5fb3af71c6 Add gate debug code (#10264) 2026-04-15 20:43:01 -05:00
Spence Pope e804546809 [APP-1934] replace image grid layout with carousel (#10157)
Co-authored-by: RetroSunstar <57507616+RetroSunstar@users.noreply.github.com>
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-authored-by: Eric Bailey <git@esb.lol>
2026-04-15 17:53:01 -05: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
vineyardbovines cbfe44f601 remove giant superpowers files 2026-04-15 14:24:50 -04:00
vineyardbovines b1fded493f remove giant superpowers files 2026-04-15 14:24:14 -04:00
vineyardbovines 09412c1c91 remove giant superpowers files 2026-04-15 14:23:48 -04:00
DS Boyce 75c9e2c181 Upgrade eslint-plugin-simple-import-sort to latest (#10260) 2026-04-15 11:00:34 -07:00
vineyardbovines 281eef9f2d Merge branch 'app-2066' into app-2067
# Conflicts:
#	src/components/dialogs/GifSelect.tsx
2026-04-15 13:55:22 -04:00
vineyardbovines ceea6bcf3c update klipy cdn path 2026-04-15 13:33:26 -04:00
DS Boyce b9561f78ee Enforce using named imports from 'react' (#10259) 2026-04-15 10:11:09 -07:00
Samuel Newman 19e2dc939a [bskyembed] Fix landing page for iOS 26 safari dark mode (#10257) 2026-04-15 10:05:22 -07:00
vineyardbovines c402fbbe26 ensure gif embed 2026-04-15 12:46:52 -04:00
vineyardbovines b7f2c359f6 use cdn 2026-04-15 12:33:51 -04:00
vineyardbovines 07fa5cce09 wip 2026-04-15 10:53:30 -04:00
Samuel Newman ecc78efb12 Stop passing _ around in composer functions (#10256) 2026-04-15 07:39:51 -07:00
vineyardbovines 3d09ee8bb2 pr fixes 2026-04-15 08:46:16 -04:00
vineyardbovines 651ab90aa1 wip 2026-04-15 08:32:07 -04:00
pfrazee bcbc114189 Nightly source-language update 2026-04-15 03:14:26 +00:00
Spence Pope 8d3eba2381 [ALG-77] include 'for you' in see more suggested users (#10241) 2026-04-14 17:50:00 -05:00
Eric Bailey 59a2d19c26 Fix stale searchText in search submit handler (#10251)
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-14 17:42:43 -05:00
vineyardbovines 91b64a2844 feat(gif): emoji-only pills, add recents category
- Remove text labels from pills, show only emojis (placeholder for
  future design icons)
- Add "Recents" pill (first in list, hidden when empty)
- Store recently selected GIFs in per-account MMKV storage
- Default selected pill remains "Trending"
- Shape changed to round for emoji-only pills

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-14 16:34:30 -04:00
vineyardbovines 05955cb99d Wire GifCategoryPills into GifPickerDialog
Adds activeCategory state and effectiveSearch logic to GifPickerBody so
selecting a category pill filters GIFs via the category's searchterm.
Pills hide when the user types a search query, and going back resets to
trending.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-14 16:23:14 -04:00
vineyardbovines 1291a7cbb7 feat(gif): add GifCategoryPills component with category browsing
Adds scrollable pill-shaped category filter buttons for the GIF picker,
allowing users to browse trending and themed GIF categories.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-14 16:19:55 -04:00
vineyardbovines 418b61c701 docs: add GIF category pills design spec
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-14 16:12:13 -04:00
vineyardbovines 924f3e3cbc refactor(gif): remove text autocomplete, increase search debounce
Remove the inline text suggestion list from the GIF picker. The
Threads-style approach of just letting the GIF search results update
directly is simpler and gets users to the GIFs faster.

Increase the search throttle from 500ms to 750ms to reduce churn
while typing and give results time to load before the next query fires.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-14 15:27:34 -04:00
vineyardbovines 054a6878c5 fix(gif): prevent suggestion list flicker with keepPreviousData
When the throttled autocomplete query changes, React Query briefly
returns undefined for the new key, causing the suggestion list to
flash hidden then visible. keepPreviousData holds the old suggestions
until the new response arrives.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-14 15:20:29 -04:00
vineyardbovines 5818219e08 Merge branch 'app-2066' into app-2067
# Conflicts:
#	src/state/queries/klipy.ts
2026-04-14 15:03:11 -04:00
vineyardbovines a97744d600 fix(gif): align Klipy response parsing with actual API shape
The Klipy proxy returns Tenor-compatible responses (results array of
Gif objects), not the custom shape (data array of KlipyGif objects)
that was speculatively typed. Remove the dead normalizeKlipyGif
function and associated types, and read body.results directly.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-14 15:02:27 -04:00
vineyardbovines 180d50cfb4 Merge branch 'main' into app-2066 2026-04-14 14:32:31 -04:00
vineyardbovines 4187b41f14 remove todos 2026-04-14 14:31:37 -04:00
vineyardbovines 794ffd474a wip autocomplete 2026-04-14 14:24:02 -04:00
vineyardbovines 127d214de5 feat(gif): wire useGifAutocomplete into GifPickerDialog
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-14 14:21:13 -04:00
vineyardbovines aa576a1b28 Wire autocomplete into GifPickerHeader
Adds `autocomplete` prop (GifAutocompleteState) to GifPickerHeader,
restructures layout so suggestions render below the search bar, and
wires up keyboard navigation + ARIA attributes for the combobox pattern.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-14 14:19:23 -04:00