Commit 5baa16e
feat: rich social embed cards (Bluesky / X) with size + collapse controls (#5429)
Render link previews as rich cards matching the Haven mobile app: a
per-site accent stripe, author avatar + name/@handle, post text, sized
media (with a play badge for videos), and engagement stats.
server.js: /api/link-preview now also returns kind/author/handle/avatar/
text/accentColor/stats. Twitter/X switches from the bare oEmbed to the
fxtwitter public JSON API (so we get avatars + counts); Bluesky is
enriched the same way. The existing title/description/image/images
fields are kept, so older clients and other callers are unaffected.
client: the single _fetchLinkPreviews renderer (chat, DMs and the DM PiP)
builds the unified card. The embed-size preference is consolidated into
one system shared by the Settings picker and a new per-embed size toggle
-- Off / Small / Medium / Full (legacy normal->medium, large->full) --
plus a per-embed collapse caret. YouTube keeps its inline iframe inside
the same chrome.
Co-authored-by: Amnibro <anthonymr7@gmail.com>1 parent be989ac commit 5baa16e
5 files changed
Lines changed: 369 additions & 95 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1311 | 1311 | | |
1312 | 1312 | | |
1313 | 1313 | | |
1314 | | - | |
| 1314 | + | |
1315 | 1315 | | |
1316 | | - | |
| 1316 | + | |
1317 | 1317 | | |
1318 | | - | |
| 1318 | + | |
| 1319 | + | |
| 1320 | + | |
| 1321 | + | |
| 1322 | + | |
1319 | 1323 | | |
1320 | | - | |
| 1324 | + | |
1321 | 1325 | | |
1322 | 1326 | | |
1323 | 1327 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6426 | 6426 | | |
6427 | 6427 | | |
6428 | 6428 | | |
6429 | | - | |
6430 | | - | |
6431 | | - | |
6432 | | - | |
6433 | | - | |
6434 | | - | |
6435 | | - | |
6436 | | - | |
6437 | | - | |
6438 | | - | |
6439 | | - | |
6440 | | - | |
6441 | | - | |
| 6429 | + | |
| 6430 | + | |
| 6431 | + | |
| 6432 | + | |
| 6433 | + | |
| 6434 | + | |
| 6435 | + | |
| 6436 | + | |
| 6437 | + | |
| 6438 | + | |
| 6439 | + | |
| 6440 | + | |
| 6441 | + | |
| 6442 | + | |
| 6443 | + | |
| 6444 | + | |
| 6445 | + | |
| 6446 | + | |
| 6447 | + | |
| 6448 | + | |
| 6449 | + | |
| 6450 | + | |
| 6451 | + | |
| 6452 | + | |
6442 | 6453 | | |
6443 | 6454 | | |
6444 | 6455 | | |
| |||
12739 | 12750 | | |
12740 | 12751 | | |
12741 | 12752 | | |
| 12753 | + | |
| 12754 | + | |
| 12755 | + | |
| 12756 | + | |
| 12757 | + | |
| 12758 | + | |
| 12759 | + | |
| 12760 | + | |
| 12761 | + | |
| 12762 | + | |
| 12763 | + | |
| 12764 | + | |
| 12765 | + | |
| 12766 | + | |
| 12767 | + | |
| 12768 | + | |
| 12769 | + | |
| 12770 | + | |
| 12771 | + | |
| 12772 | + | |
| 12773 | + | |
| 12774 | + | |
| 12775 | + | |
| 12776 | + | |
| 12777 | + | |
| 12778 | + | |
| 12779 | + | |
| 12780 | + | |
| 12781 | + | |
| 12782 | + | |
| 12783 | + | |
| 12784 | + | |
| 12785 | + | |
| 12786 | + | |
| 12787 | + | |
| 12788 | + | |
| 12789 | + | |
| 12790 | + | |
| 12791 | + | |
| 12792 | + | |
| 12793 | + | |
| 12794 | + | |
| 12795 | + | |
| 12796 | + | |
| 12797 | + | |
| 12798 | + | |
| 12799 | + | |
| 12800 | + | |
| 12801 | + | |
| 12802 | + | |
| 12803 | + | |
| 12804 | + | |
| 12805 | + | |
| 12806 | + | |
| 12807 | + | |
| 12808 | + | |
| 12809 | + | |
| 12810 | + | |
| 12811 | + | |
| 12812 | + | |
| 12813 | + | |
| 12814 | + | |
| 12815 | + | |
| 12816 | + | |
| 12817 | + | |
| 12818 | + | |
| 12819 | + | |
| 12820 | + | |
| 12821 | + | |
| 12822 | + | |
| 12823 | + | |
| 12824 | + | |
| 12825 | + | |
| 12826 | + | |
| 12827 | + | |
| 12828 | + | |
| 12829 | + | |
| 12830 | + | |
| 12831 | + | |
| 12832 | + | |
| 12833 | + | |
| 12834 | + | |
| 12835 | + | |
| 12836 | + | |
| 12837 | + | |
| 12838 | + | |
| 12839 | + | |
| 12840 | + | |
| 12841 | + | |
| 12842 | + | |
| 12843 | + | |
| 12844 | + | |
| 12845 | + | |
| 12846 | + | |
| 12847 | + | |
| 12848 | + | |
| 12849 | + | |
| 12850 | + | |
| 12851 | + | |
| 12852 | + | |
| 12853 | + | |
| 12854 | + | |
| 12855 | + | |
| 12856 | + | |
| 12857 | + | |
| 12858 | + | |
| 12859 | + | |
| 12860 | + | |
| 12861 | + | |
| 12862 | + | |
| 12863 | + | |
| 12864 | + | |
| 12865 | + | |
| 12866 | + | |
| 12867 | + | |
| 12868 | + | |
| 12869 | + | |
| 12870 | + | |
| 12871 | + | |
| 12872 | + | |
| 12873 | + | |
| 12874 | + | |
| 12875 | + | |
| 12876 | + | |
| 12877 | + | |
| 12878 | + | |
| 12879 | + | |
| 12880 | + | |
| 12881 | + | |
| 12882 | + | |
| 12883 | + | |
| 12884 | + | |
| 12885 | + | |
| 12886 | + | |
| 12887 | + | |
| 12888 | + | |
| 12889 | + | |
| 12890 | + | |
| 12891 | + | |
| 12892 | + | |
| 12893 | + | |
| 12894 | + | |
| 12895 | + | |
| 12896 | + | |
| 12897 | + | |
| 12898 | + | |
| 12899 | + | |
| 12900 | + | |
| 12901 | + | |
| 12902 | + | |
| 12903 | + | |
| 12904 | + | |
| 12905 | + | |
| 12906 | + | |
| 12907 | + | |
| 12908 | + | |
| 12909 | + | |
| 12910 | + | |
12742 | 12911 | | |
12743 | 12912 | | |
12744 | 12913 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2450 | 2450 | | |
2451 | 2451 | | |
2452 | 2452 | | |
2453 | | - | |
2454 | | - | |
2455 | | - | |
2456 | | - | |
2457 | | - | |
2458 | | - | |
2459 | | - | |
| 2453 | + | |
2460 | 2454 | | |
2461 | 2455 | | |
2462 | | - | |
2463 | | - | |
2464 | | - | |
2465 | | - | |
2466 | | - | |
2467 | | - | |
| 2456 | + | |
2468 | 2457 | | |
2469 | 2458 | | |
2470 | 2459 | | |
| 2460 | + | |
| 2461 | + | |
| 2462 | + | |
| 2463 | + | |
| 2464 | + | |
| 2465 | + | |
| 2466 | + | |
| 2467 | + | |
| 2468 | + | |
| 2469 | + | |
| 2470 | + | |
2471 | 2471 | | |
2472 | | - | |
2473 | | - | |
2474 | | - | |
| 2472 | + | |
| 2473 | + | |
| 2474 | + | |
| 2475 | + | |
| 2476 | + | |
| 2477 | + | |
| 2478 | + | |
| 2479 | + | |
2475 | 2480 | | |
2476 | 2481 | | |
2477 | 2482 | | |
| |||
0 commit comments