jared and Claude Opus 4.8
3a1c626bc8
feat(stickers): "recently used" row in the sticker picker
...
The emoji and GIF pickers both have a "Recent" row, but the sticker tab of the
shared EmojiBoard did not — you had to hunt through packs to re-send a sticker.
Add recent stickers, mirroring recentGifs:
- New state/recentStickers.ts (localStorage cinny_recent_stickers_v1, deduped by
url, capped 16) + pure addRecentSticker with 4 unit tests.
- EmojiBoard: a "Recent" group in stickerGroupItems and a RecentClock sidebar
icon in StickerSidebar, shown only when recents exist. Entries are rebuilt into
minimal PackImageReaders (StickerItem needs only url/shortcode/body) so they
render + re-send like pack stickers.
- Recorded on select in the shared delegated click handler, covering both the
grouped and search paths.
Blast radius is the sticker tab only (reactions/status use the emoji tab).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-07-10 22:43:17 -04:00
..
2026-07-02 21:40:07 -04:00
2026-07-07 23:32:50 -04:00
2026-05-21 23:30:50 -04:00
2026-07-07 23:01:32 -04:00
2026-07-10 22:43:17 -04:00
2026-07-07 23:01:39 -04:00
2026-05-21 23:30:50 -04:00
2026-07-08 00:02:04 -04:00
2026-07-10 17:58:21 -04:00
2025-02-10 16:49:47 +11:00
2026-07-02 11:45:21 -04:00
2026-07-02 11:45:21 -04:00
2026-06-18 13:34:40 -04:00
2026-06-18 13:34:40 -04:00
2026-07-01 21:19:02 -04:00
2026-06-18 18:33:36 -04:00
2026-07-07 23:01:32 -04:00
2026-07-10 22:00:27 -04:00
2026-05-21 23:30:50 -04:00
2026-07-02 11:50:32 -04:00
2026-05-21 23:30:50 -04:00
2026-07-03 22:30:57 -04:00
2026-05-21 23:30:50 -04:00
2026-06-10 00:01:12 -04:00
2026-07-07 23:01:39 -04:00
2026-03-07 18:03:32 +11:00
2026-07-07 14:46:21 -04:00
2026-07-02 11:45:22 -04:00
2026-06-18 22:46:19 -04:00
2026-05-21 23:30:50 -04:00
2026-07-02 21:40:07 -04:00
2026-05-21 23:30:50 -04:00
2025-03-19 23:14:54 +11:00
2025-02-10 16:49:47 +11:00
2026-06-28 22:51:13 -04:00
2026-06-28 21:58:57 -04:00
2026-07-10 14:48:00 -04:00
2026-05-13 22:22:06 -04:00
2026-05-21 23:30:50 -04:00
2026-05-22 19:52:23 -04:00
2026-05-21 23:30:50 -04:00
2026-06-02 18:43:02 -04:00
2026-06-26 18:15:51 -04:00
2024-07-21 15:43:33 +10:00
2026-06-26 17:43:36 -04:00
2026-07-02 11:45:21 -04:00
2026-07-09 23:47:19 -04:00
2025-08-24 22:36:45 +10:00
2026-07-02 11:46:35 -04:00
2026-05-21 23:30:50 -04:00
2026-07-02 11:45:21 -04:00
2025-02-10 16:49:47 +11:00
2026-05-21 23:30:50 -04:00
2026-05-22 18:59:23 -04:00
2026-05-21 23:30:50 -04:00
2026-05-21 23:30:50 -04:00
2025-03-19 23:14:54 +11:00
2026-07-07 23:01:32 -04:00
2026-05-15 19:07:13 -04:00
2026-06-02 10:34:46 -04:00
2026-05-22 17:17:26 -04:00
2026-07-03 11:30:23 -04:00
2026-07-03 22:30:57 -04:00
2025-02-10 16:49:47 +11:00
2026-07-10 12:34:51 -04:00
2025-08-04 20:29:12 +05:30
2026-05-21 23:30:50 -04:00
2026-05-21 23:30:50 -04:00
2026-05-22 19:52:23 -04:00
2026-06-18 14:51:28 -04:00
2026-05-21 23:30:50 -04:00
2026-05-15 19:07:13 -04:00
2025-08-04 20:29:12 +05:30
2025-08-04 20:29:12 +05:30
2026-06-28 21:54:42 -04:00
2026-06-19 00:15:35 -04:00
2026-07-03 11:30:23 -04:00
2026-07-10 13:01:02 -04:00
2026-05-21 23:30:50 -04:00
2026-05-22 19:52:23 -04:00
2026-07-07 14:46:21 -04:00
2024-06-01 00:19:46 +10:00
2026-05-21 23:30:50 -04:00
2026-05-22 14:24:06 -04:00
2026-05-21 23:30:50 -04:00
2026-05-21 23:30:50 -04:00
2026-05-21 23:30:50 -04:00
2024-01-21 18:20:56 +05:30
2026-07-02 13:31:09 -04:00
2026-07-01 22:39:10 -04:00
2026-05-21 11:58:40 -04:00
2025-08-09 22:16:10 +10:00
2023-06-12 16:45:23 +05:30
2026-07-10 14:04:31 -04:00