klopez4212 and GitHub
50fadaa7a3
Refine mobile navigation and creation flows ( #2810 )
...
## Summary
- Refine mobile navigation with icon-only tabs, haptics, a solid active
state, and spring quick actions.
- Bring Create channel and New message closer to desktop with radio
settings, keyboard submission, relay people, and wrapped recipient
chips.
- Keep both sheets draggable below the status area and prevent keyboard
overflow with many recipients.
## Testing
- `just mobile-check`
- `just mobile-test`
- Pixel 10 manual verification
2026-07-25 06:31:18 -07:00
8398468ec9
Refine the mobile message composer ( #2730 )
...
## Summary
- replace the mobile composer sheet with a compact expanding capsule
- add vertically stacked attachment actions and an inline camera preview
- align suggestion, formatting, and send treatments with desktop
## Validation
- `just mobile-check`
- `just mobile-test` (541 passed, 1 skipped)
---------
Signed-off-by: npub102wg7q285p64ch2fjvstmf2ntn2sz3c4u5hmwatalc76mhsuauysftjtfj <7a9c8f0147a0755c5d499320bda5535cd5014715e52fb7757dfe3dadde1cef09@buzz.block.builderlab.xyz >
Co-authored-by: npub102wg7q285p64ch2fjvstmf2ntn2sz3c4u5hmwatalc76mhsuauysftjtfj <7a9c8f0147a0755c5d499320bda5535cd5014715e52fb7757dfe3dadde1cef09@buzz.block.builderlab.xyz >
2026-07-24 16:32:22 -07:00
klopez4212 and GitHub
cfdea818db
Refine mobile channel and home UI ( #2651 )
2026-07-24 18:32:43 +01:00
8f8f5fa5a4
fix(media): sanitize animated image uploads ( #2524 )
...
Co-authored-by: Codex <noreply@openai.com >
2026-07-23 10:30:11 -07:00
591bbbfa7e
fix(mobile): stop media fetch stampede — stable cache keys, bounded decode, 429 cooldown ( #2219 )
...
Signed-off-by: Tyler Longwell <tlongwell@block.xyz >
Co-authored-by: npub1qyvc0c5kl4gqv2fd97fsk46tu378sqgy35vc83rvgfwne90sel7s0ed67d <011987e296fd5006292d2f930b574be47c7801048d1983c46c425d3c95f0cffd@sprout-oss.stage.blox.sqprod.co >
Co-authored-by: Tyler Longwell <tlongwell@block.xyz >
2026-07-21 07:28:46 -07:00
37f15b2001
fix(mobile): image upload fails due to unstripped metadata ( #2185 )
...
Signed-off-by: npub1ft62tztwwm2x9xamk25smmuaj4sfckdkldksruf2x2jwqalffkrq0g7arr <4af4a5896e76d4629bbbb2a90def9d95609c59b6fb6d01f12a32a4e077e94d86@sprout-oss.stage.blox.sqprod.co >
Co-authored-by: npub1ft62tztwwm2x9xamk25smmuaj4sfckdkldksruf2x2jwqalffkrq0g7arr <4af4a5896e76d4629bbbb2a90def9d95609c59b6fb6d01f12a32a4e077e94d86@sprout-oss.stage.blox.sqprod.co >
2026-07-20 21:39:19 +00:00
5cfd69cb0c
Strip media metadata on clients and reject it at the relay ( #2006 )
...
Signed-off-by: npub12gtutshhh76rx0jx697f32f9tffd4hhp3hx58fp4x6u4uemkm7sqf8f757 <5217c5c2f7bfb4333e46d17c98a9255a52dadee18dcd43a43536b95e6776dfa0@sprout-oss.stage.blox.sqprod.co >
Co-authored-by: npub12gtutshhh76rx0jx697f32f9tffd4hhp3hx58fp4x6u4uemkm7sqf8f757 <5217c5c2f7bfb4333e46d17c98a9255a52dadee18dcd43a43536b95e6776dfa0@sprout-oss.stage.blox.sqprod.co >
Co-authored-by: Atish Patel <atish@squareup.com >
Co-authored-by: Codex <noreply@openai.com >
2026-07-17 13:39:10 -04:00
648cbf3610
feat: add invite QR and mobile direct join ( #1957 )
...
Signed-off-by: npub1jh9wn95s0472h86ahapupaf7m6kx4v9sx2n0atj2hltcfer8k06s5n3pyf <95cae996907d7cab9f5dbf43c0f53edeac6ab0b032a6feae4abfd784e467b3f5@sprout-oss.stage.blox.sqprod.co >
Signed-off-by: npub1jmc9dt2lyvzu3h0kxlwxt5zg4fxp9476awyxw6gwxn72g6cw7exqs64whm <96f056ad5f2305c8ddf637dc65d048aa4c12d7daeb8867690e34fca46b0ef64c@sprout-oss.stage.blox.sqprod.co >
Signed-off-by: npub12gtutshhh76rx0jx697f32f9tffd4hhp3hx58fp4x6u4uemkm7sqf8f757 <5217c5c2f7bfb4333e46d17c98a9255a52dadee18dcd43a43536b95e6776dfa0@sprout-oss.stage.blox.sqprod.co >
Co-authored-by: npub1jh9wn95s0472h86ahapupaf7m6kx4v9sx2n0atj2hltcfer8k06s5n3pyf <95cae996907d7cab9f5dbf43c0f53edeac6ab0b032a6feae4abfd784e467b3f5@sprout-oss.stage.blox.sqprod.co >
Co-authored-by: npub1jmc9dt2lyvzu3h0kxlwxt5zg4fxp9476awyxw6gwxn72g6cw7exqs64whm <96f056ad5f2305c8ddf637dc65d048aa4c12d7daeb8867690e34fca46b0ef64c@sprout-oss.stage.blox.sqprod.co >
Co-authored-by: npub12gtutshhh76rx0jx697f32f9tffd4hhp3hx58fp4x6u4uemkm7sqf8f757 <5217c5c2f7bfb4333e46d17c98a9255a52dadee18dcd43a43536b95e6776dfa0@sprout-oss.stage.blox.sqprod.co >
2026-07-16 13:40:24 -07:00
f308762852
feat(media): require auth for relay media reads ( #1926 )
...
Signed-off-by: Tyler Longwell <tlongwell@block.xyz >
Signed-off-by: npub12gtutshhh76rx0jx697f32f9tffd4hhp3hx58fp4x6u4uemkm7sqf8f757 <5217c5c2f7bfb4333e46d17c98a9255a52dadee18dcd43a43536b95e6776dfa0@sprout-oss.stage.blox.sqprod.co >
Co-authored-by: npub12gtutshhh76rx0jx697f32f9tffd4hhp3hx58fp4x6u4uemkm7sqf8f757 <5217c5c2f7bfb4333e46d17c98a9255a52dadee18dcd43a43536b95e6776dfa0@sprout-oss.stage.blox.sqprod.co >
Co-authored-by: Tyler Longwell <tlongwell@block.xyz >
2026-07-15 21:06:04 -04:00
54f4165942
fix(mobile): surface non-member people and owned agents in @mention autocomplete ( #1877 )
...
Signed-off-by: npub1qq582hwclq7jnux44a2xul8nhe2ue2zk9z49ehzngznnmmk5ka5sprvchv <0028755dd8f83d29f0d5af546e7cf3be55cca85628aa5cdc5340a73deed4b769@sprout-oss.stage.blox.sqprod.co >
Co-authored-by: npub1qq582hwclq7jnux44a2xul8nhe2ue2zk9z49ehzngznnmmk5ka5sprvchv <0028755dd8f83d29f0d5af546e7cf3be55cca85628aa5cdc5340a73deed4b769@sprout-oss.stage.blox.sqprod.co >
2026-07-14 20:14:35 -04:00
37f65c08dc
fix(mobile): handle buzz:// links ( #1826 )
...
Signed-off-by: Tom Brow <tomb@block.xyz >
Signed-off-by: npub1shglkdhngx3hrnhf4gf8vhpqdrmeludctechdvpwd3988zzs7ncq2cmtxu <85d1fb36f341a371cee9aa12765c2068f79ff1b85e7176b02e6c4a738850f4f0@sprout-oss.stage.blox.sqprod.co >
Co-authored-by: Goose <opensource@block.xyz >
Co-authored-by: npub1shglkdhngx3hrnhf4gf8vhpqdrmeludctechdvpwd3988zzs7ncq2cmtxu <85d1fb36f341a371cee9aa12765c2068f79ff1b85e7176b02e6c4a738850f4f0@sprout-oss.stage.blox.sqprod.co >
2026-07-14 16:00:13 -07:00
fdbfac6b26
feat(mobile): paste image into message ( #1836 )
...
Signed-off-by: npub1shglkdhngx3hrnhf4gf8vhpqdrmeludctechdvpwd3988zzs7ncq2cmtxu <85d1fb36f341a371cee9aa12765c2068f79ff1b85e7176b02e6c4a738850f4f0@sprout-oss.stage.blox.sqprod.co >
Co-authored-by: npub1shglkdhngx3hrnhf4gf8vhpqdrmeludctechdvpwd3988zzs7ncq2cmtxu <85d1fb36f341a371cee9aa12765c2068f79ff1b85e7176b02e6c4a738850f4f0@sprout-oss.stage.blox.sqprod.co >
2026-07-14 17:33:16 -04:00
7b6e12657d
fix(mobile): fix agent avatars on mobile ( #1837 )
...
Signed-off-by: npub1ux8n2yfs8qfvgd75s7kyhar2mztac355v6vmrz4juc9l3msw4pgstums9e <e18f3511303812c437d487ac4bf46ad897dc46946699b18ab2e60bf8ee0ea851@sprout-oss.stage.blox.sqprod.co >
Co-authored-by: npub1ux8n2yfs8qfvgd75s7kyhar2mztac355v6vmrz4juc9l3msw4pgstums9e <e18f3511303812c437d487ac4bf46ad897dc46946699b18ab2e60bf8ee0ea851@sprout-oss.stage.blox.sqprod.co >
2026-07-14 11:25:00 -07:00
3e76481a14
refactor(clients): standardize product naming on community ( #1858 )
...
Signed-off-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: Pinky <44b8e82baa6e0e254e0208d68f335c283c94e7b78dd1fa10d5a49d3f13dd0435@sprout-oss.stage.blox.sqprod.co >
2026-07-14 11:11:02 -07:00
f3599f2cd4
fix(mobile): mirror app bar title padding when actions are empty ( #1832 )
...
Signed-off-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: Brain <21994759fc7a6fa6b965551d35cfd7897d262f2495467f2d78694ddcfa6a5c7e@sprout-oss.stage.blox.sqprod.co >
2026-07-13 17:21:34 -07:00
3112e59fd8
fix(mobile): add mentioned agents to channels ( #1696 )
...
Signed-off-by: npub1shglkdhngx3hrnhf4gf8vhpqdrmeludctechdvpwd3988zzs7ncq2cmtxu <85d1fb36f341a371cee9aa12765c2068f79ff1b85e7176b02e6c4a738850f4f0@sprout-oss.stage.blox.sqprod.co >
Co-authored-by: npub1shglkdhngx3hrnhf4gf8vhpqdrmeludctechdvpwd3988zzs7ncq2cmtxu <85d1fb36f341a371cee9aa12765c2068f79ff1b85e7176b02e6c4a738850f4f0@sprout-oss.stage.blox.sqprod.co >
2026-07-13 16:17:01 -07:00
dbe7fb8534
Fix mobile relay reconnect lifecycle ( #1772 )
...
Signed-off-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: Pinky <44b8e82baa6e0e254e0208d68f335c283c94e7b78dd1fa10d5a49d3f13dd0435@sprout-oss.stage.blox.sqprod.co >
2026-07-13 15:25:58 +00:00
6716cd31a5
Port channel windows to mobile ( #1518 )
...
Signed-off-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: Pinky <44b8e82baa6e0e254e0208d68f335c283c94e7b78dd1fa10d5a49d3f13dd0435@sprout-oss.stage.blox.sqprod.co >
2026-07-05 09:04:54 -07:00
e9318f66d8
mobile: thread scroll-to-bottom and desktop-parity mention autocomplete ( #1499 )
...
Signed-off-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: Brain <21994759fc7a6fa6b965551d35cfd7897d262f2495467f2d78694ddcfa6a5c7e@sprout-oss.stage.blox.sqprod.co >
2026-07-03 08:55:27 -07:00
0701f47f4a
fix(relay): remove media bearer-token auth ( #1444 )
...
Signed-off-by: npub12gtutshhh76rx0jx697f32f9tffd4hhp3hx58fp4x6u4uemkm7sqf8f757 <5217c5c2f7bfb4333e46d17c98a9255a52dadee18dcd43a43536b95e6776dfa0@sprout-oss.stage.blox.sqprod.co >
Signed-off-by: Tyler Longwell <tlongwell@block.xyz >
Co-authored-by: npub12gtutshhh76rx0jx697f32f9tffd4hhp3hx58fp4x6u4uemkm7sqf8f757 <5217c5c2f7bfb4333e46d17c98a9255a52dadee18dcd43a43536b95e6776dfa0@sprout-oss.stage.blox.sqprod.co >
Co-authored-by: npub1qyvc0c5kl4gqv2fd97fsk46tu378sqgy35vc83rvgfwne90sel7s0ed67d <011987e296fd5006292d2f930b574be47c7801048d1983c46c425d3c95f0cffd@sprout-oss.stage.blox.sqprod.co >
Co-authored-by: Tyler Longwell <tlongwell@block.xyz >
2026-07-01 19:25:24 -04:00
klopez4212 and GitHub
945e9b879a
Mobile appearance foundation ( #1366 )
2026-06-30 07:22:55 -07:00
klopez4212 and GitHub
b58f671b4e
Allow Huddle between 2 humans in DM ( #1347 )
2026-06-29 16:49:16 +01:00
1843a05747
Bring mobile sidebar unread and DM parity ( #1303 )
...
Signed-off-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: Pinky <44b8e82baa6e0e254e0208d68f335c283c94e7b78dd1fa10d5a49d3f13dd0435@sprout-oss.stage.blox.sqprod.co >
2026-06-26 09:06:46 -07:00
73cc31cc52
chore: remove LLM-slop comments across the codebase ( #1277 )
...
Signed-off-by: Tyler Longwell <tlongwell@block.xyz >
Co-authored-by: npub1qyvc0c5kl4gqv2fd97fsk46tu378sqgy35vc83rvgfwne90sel7s0ed67d <011987e296fd5006292d2f930b574be47c7801048d1983c46c425d3c95f0cffd@sprout-oss.stage.blox.sqprod.co >
Co-authored-by: Max <d8473ee32b973aa31a21a65adddcc4b69cc2a8a4dee8121ecd51926e0cddbc02@sprout-oss.stage.blox.sqprod.co >
Co-authored-by: Mari <95cae996907d7cab9f5dbf43c0f53edeac6ab0b032a6feae4abfd784e467b3f5@sprout-oss.stage.blox.sqprod.co >
Co-authored-by: Quinn <96f056ad5f2305c8ddf637dc65d048aa4c12d7daeb8867690e34fca46b0ef64c@sprout-oss.stage.blox.sqprod.co >
Co-authored-by: Sami <f4a42a97e594b77bdbd8ee35191c8b28a94a4cb871d96f32921558275421fb68@sprout-oss.stage.blox.sqprod.co >
Co-authored-by: Perci <5a968df9a7494b4e019b9ecf739e088ba61097b4312124e9a88ae5b42e3f5f3e@sprout-oss.stage.blox.sqprod.co >
Co-authored-by: Tyler Longwell <tlongwell@block.xyz >
2026-06-25 11:03:05 -04:00
c63e018b05
Rename mobile app to Buzz ( #955 )
...
Signed-off-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: Pinky <44b8e82baa6e0e254e0208d68f335c283c94e7b78dd1fa10d5a49d3f13dd0435@sprout-oss.stage.blox.sqprod.co >
2026-06-10 13:38:11 -07:00
3e56331e9c
fix(delete): make agent-deleted messages disappear from desktop UI immediately ( #918 )
...
Signed-off-by: Taylor Ho <taylorkmho@gmail.com >
Co-authored-by: Bart <bart@sprout.local >
2026-06-09 23:02:13 -07:00
10b6674bd7
Mobile custom emoji + settings redesign ( #906 )
...
Signed-off-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: Brain <21994759fc7a6fa6b965551d35cfd7897d262f2495467f2d78694ddcfa6a5c7e@sprout-oss.stage.blox.sqprod.co >
Co-authored-by: Pinky <44b8e82baa6e0e254e0208d68f335c283c94e7b78dd1fa10d5a49d3f13dd0435@sprout-oss.stage.blox.sqprod.co >
2026-06-08 10:28:32 -07:00
Will Pfleger and GitHub
56c504a4c7
feat: code block rendering, syntax highlighting, and compose fixes ( #803 )
2026-06-02 14:43:08 -07:00
b820420909
feat(mobile): Pulse polish — flat feed, compose page, shared filter chips, like + accent fixes ( #796 )
...
Signed-off-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: Brain <21994759fc7a6fa6b965551d35cfd7897d262f2495467f2d78694ddcfa6a5c7e@sprout-oss.stage.blox.sqprod.co >
2026-05-29 14:33:45 -07:00
Wes and GitHub
1218572fa0
feat(mobile): add Pulse social feed tab ( #772 )
...
Signed-off-by: Wes <wesbillman@users.noreply.github.com >
2026-05-28 11:09:44 -07:00
fbbb2d1d6e
fix(deps): update dependency pointycastle to v4 ( #687 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Will Pfleger <wpfleger@block.xyz >
Co-authored-by: Will Pfleger <pfleger.will@gmail.com >
2026-05-26 22:16:00 +00:00
586b3678d9
fix(mobile): preserve channel list across background/resume reconnection ( #588 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-05-14 21:24:54 +00:00
b176b52b70
fix(mobile): show ephemeral (TTL) channels in the channel list ( #571 )
...
Signed-off-by: Dawn <c6237ef84fa537c78dcee78efd2d4e59f728859c7f194da42ac51ededfa0be05@sprout-oss.stage.blox.sqprod.co >
Signed-off-by: npub1cc3ha7z055mu0rwwu7806t2wt8mj3pvu0uv5mfp2c50dahaqhczshdalg6 <c6237ef84fa537c78dcee78efd2d4e59f728859c7f194da42ac51ededfa0be05@sprout-oss.stage.blox.sqprod.co >
Co-authored-by: Dawn <c6237ef84fa537c78dcee78efd2d4e59f728859c7f194da42ac51ededfa0be05@sprout-oss.stage.blox.sqprod.co >
2026-05-13 15:15:18 -07:00
6dbb66d858
fix(mobile): username display, huddle filtering, and channel list stability ( #489 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-05-05 18:35:17 -07:00
tlongwell-block and GitHub
454781caae
Sprout speaks Nostr. Nothing else. ( #475 )
2026-05-05 12:03:06 -04:00
088c4e7da7
feat(mobile): add user profile sheet and polish bottom sheets ( #453 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-05-02 16:54:21 +00:00
56f5062b74
feat: add NIP-38 user status for desktop and mobile ( #449 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-05-01 17:02:59 -07:00
c6b40617e5
feat(mobile): replace polling with reactive WS subscriptions ( #437 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-04-30 14:19:33 -07:00
755cab45f6
[codex] Add mobile agent activity viewer ( #436 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-04-30 12:28:37 -07:00
Wes and GitHub
ddb242749f
Fix mobile unread badges and read state sync ( #422 )
2026-04-29 07:44:44 -07:00
57186963e3
feat(mobile): multi-workspace support ( #408 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-04-27 13:47:06 -07:00
4fc720cc0d
feat(mobile): frosted glass navbar + channel detail polish ( #404 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-04-26 19:09:14 -07:00
30adbad810
feat(mobile): day dividers, video upload, emoji picker & UX polish ( #396 )
...
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-24 09:32:36 -07:00
8599a4d2a0
feat(mobile): port desktop color schemes + video viewer overlay ( #390 )
...
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-23 10:00:00 -07:00
e2c94a8538
feat(mobile): image upload + media viewer parity with desktop ( #384 )
...
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-04-22 11:54:29 -07:00
79d089d87e
feat(mobile): rich compose bar with mentions, emoji, formatting, and typing indicators ( #351 )
...
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-17 09:22:52 -07:00
b106fba815
feat(mobile): DM avatars, member roles, pairing fixes, and offline UX ( #348 )
...
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-16 20:17:55 -07:00
fc67dac4c6
feat: NIP-AB device pairing — Phase 2 (desktop + mobile UI) ( #343 )
...
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-16 15:25:18 -07:00
cd6fc96fc5
feat(mobile): implement message thread support ( #338 )
...
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-16 10:00:02 -07:00
d283f0894d
feat(mobile): design refresh — navigation, search, reactions ( #334 )
...
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-15 17:20:25 -07:00