Commit Graph

1002 Commits

Author SHA1 Message Date
woikos
f54c73f0eb Update og:image to use smesh branding
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-31 17:11:14 +01:00
woikos
1d58162890 Release v0.2.5
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
v0.2.5
2025-12-31 17:07:38 +01:00
woikos
9820a1c6c0 Move DM conversations to secondary panel with improvements
- Open DM conversations in secondary panel (dual-pane) or overlay (mobile)
- Add relay selection toggles in message composer
- Add background DM subscriptions for real-time updates
- Add close buttons on conversation items and message view header
- Replace conversation view instead of stacking when switching

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-31 17:04:30 +01:00
woikos
ad5f9cccf9 Fix refresh to merge data instead of wiping cache
- Remove clearAllDMCaches() call from manual refresh
- Merge new conversations with existing instead of replacing
- Cache clearing now only happens on logout

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-31 13:35:29 +01:00
woikos
2e3b854037 DM inbox caching and linkification improvements (v0.2.4)
- Add MessageContent component for linkified DM messages
- URLs open in new tab, nostr: entities open in secondary pane
- Implement background refresh that merges instead of clearing cache
- Show cached conversations immediately on page load
- Fix navigation not reloading conversations unnecessarily

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
v0.2.4
2025-12-31 13:26:17 +01:00
woikos
fecd4fdd45 Add DM inbox with NIP-04/NIP-17 support and soft delete
Features:
- Full DM inbox UI with conversation list and message view
- Support for both NIP-04 (kind 4) and NIP-17 (kind 14/1059) encryption
- Progressive message decryption with background loading
- Soft delete using kind 30078 Application Specific Data events
- Message selection UI with delete selected/delete all
- Undelete all functionality per conversation
- Jump to newest button with new message counter
- Conversation filtering (all / follows only)
- Per-conversation relay and encryption settings
- New messages indicator on sidebar (clears when inbox viewed)
- Follow indicator on conversation items

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
v0.2.3
2025-12-31 11:06:51 +01:00
woikos
f78138c7c4 Fix React error #321 in BunkerLogin - invalid hook call
- Move useNostr() hook call from inside event handler to component level
- Destructure bunkerLogin alongside bunkerLoginWithSigner at top level
- React hooks must only be called at component level, not inside callbacks

Files modified:
- src/components/AccountManager/BunkerLogin.tsx: Fix hook placement

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-29 14:42:48 +01:00
woikos
cdfd034c68 Support CAT token in bunker URLs for NIP-46 connections (v0.2.2)
- Add 'bunker' to SignerType with isRemote getter and displayName
- Parse CAT token from bunker URL (?cat= parameter)
- Pass CAT token to BunkerSigner constructor
- Store bunkerCatToken in account for reconnection
- Add deploy command documentation

Files modified:
- src/domain/identity/SignerType.ts: Add bunker signer type
- src/providers/NostrProvider/bunker.signer.ts: Parse and use CAT tokens
- src/providers/NostrProvider/index.tsx: Pass CAT to login/reconnect
- src/types/index.d.ts: Add bunkerCatToken to TAccount

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
v0.2.2
2025-12-29 13:02:34 +01:00
mleku
12e02dd05b Add nostr+connect QR code flow for bunker login (v0.2.1)
- Add buildNostrConnectUrl() and parseNostrConnectUrl() for nostr+connect:// URLs
- Add BunkerSigner.awaitSignerConnection() for reverse flow (client waits for signer)
- Update BunkerLogin to show QR code that signers like Amber can scan
- Add bunkerLoginWithSigner() to NostrProvider for completing login after scan
- Support both QR scan mode and paste bunker URL mode

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
v0.2.1
2025-12-28 19:48:40 +02:00
mleku
a268c63082 Auto-acquire Cashu tokens for NIP-46 bunker connections (v0.2.0)
- Add acquireTokenIfNeeded() in BunkerSigner to get CAT before connecting
- Check /cashu/info to detect CAT-enabled relays
- Request token via cashuTokenService with NIP-98 auth using ephemeral key
- Store and reuse tokens across sessions
- Pass token as query parameter on WebSocket connection

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
v0.2.0
2025-12-28 19:33:19 +02:00
mleku
2aa0a8c460 feat: add QR scanner, improve UX, and simplify navigation
- Add live camera QR scanner for nsec/ncryptsec login
- Replace browser prompt() with proper password dialog for ncryptsec
- Add missing /notes/:id route for thread view navigation
- Remove explore section entirely (button, page, routes)
- Remove profile button from bottom nav, avatar now opens profile
- Remove "Notes" tab from feed, default to showing all posts/replies
- Add PasswordPromptProvider for secure password input
- Add SidebarDrawer for mobile navigation
- Add domain layer with value objects and adapters
- Various UI and navigation improvements

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-28 04:00:16 +02:00
mleku
6a7bfe0a3e refactor: update branding assets and convert settings to accordion UI
- Replace SVG favicons with PNG icons from new smeshicon assets
- Add theme-aware Icon component using smeshiconlight/dark PNGs
- Refactor Settings page to use collapsible accordion sections
- Add Radix UI accordion component with animations
- Update QrCode component to use new PNG icon
- Remove old favicon.svg and nostr.json files
- Add new logo assets in resources/ and src/assets/

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
v0.1.2
2025-12-27 05:10:41 +02:00
mleku
3348e11796 refactor: update donation/about to new npub and remove platinum sponsors
- Update SMESH_PUBKEY and CODY_PUBKEY to npub1fjqqy4a93z5zsjwsfxqhc2764kvykfdyttvldkkkdera8dr78vhsmmleku
- Remove PlatinumSponsors component and OpenSats logo
- Remove Platinum Sponsors i18n string

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-27 04:44:38 +02:00
mleku
ad6a3dbbab refactor: use domain objects for FollowList and MuteList providers
- Refactor FollowListProvider to use domain FollowList class
- Refactor MuteListProvider to use domain MuteList class
- Add hide untrusted interactions/notifications settings to GeneralSettingsPage
- Maintain backward compatibility with existing Set<string> interface

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-27 04:13:12 +02:00
mleku
bb74308e28 refactor: remove translation feature
Remove the translation feature including:
- Translation services (Smesh API and LibreTranslate)
- TranslationServiceProvider and context
- TranslateButton component
- Translation settings page
- useTranslatedEvent hook
- Translation-related types and i18n strings

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-27 04:11:24 +02:00
mleku
0c6de715c4 docs: add Domain-Driven Design analysis report
Comprehensive DDD analysis of the Smesh codebase including:
- Domain and bounded context identification
- Anti-pattern analysis with remediation strategies
- 5-phase refactoring roadmap
- Migration strategy and success metrics

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
v0.1.1
2025-12-26 12:28:32 +02:00
mleku
13b3b82443 refactor: rebrand from Jumble to Smesh
- Replace all Jumble branding with Smesh throughout codebase
- Add new Smesh logo images (light/dark themes)
- Update Logo component to use PNG images with theme support
- Update URLs to git.mleku.dev/mleku/smesh
- Rename JumbleTranslate to SmeshTranslate
- Update all i18n locale files with new branding
- Add system theme detection CSS to prevent flash on load
- Update PWA manifest, docker-compose, and config files

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-26 09:43:18 +02:00
codytseng
e60a460480 fix: adjust button layout for download and copy actions in Signup component 2025-12-26 09:29:50 +08:00
bitcoinuser
81667112d1 feat: update Portuguese translations for backup messages (#705) 2025-12-25 23:18:26 +08:00
codytseng
c60d7ab401 feat: adjust default relay configuration 2025-12-25 23:14:52 +08:00
codytseng
e25902b8b4 refactor: 🏗️ 2025-12-25 23:03:44 +08:00
codytseng
d964c7b7b3 fix: return 0 instead of null for missing user percentile data 2025-12-25 09:21:29 +08:00
codytseng
25b2831fcc feat: 💨 2025-12-24 23:31:18 +08:00
bitcoinuser
1553227e13 feat: improve signup copy in Portuguese translations (#703) 2025-12-24 22:58:26 +08:00
codytseng
f04981f5b9 fix: improve description display in RelaySimpleInfo component 2025-12-24 22:54:58 +08:00
codytseng
2662373704 fix: adjust layout for Signup component 2025-12-24 22:51:59 +08:00
codytseng
526b64aec0 feat: add border to image hash placeholder 2025-12-24 22:48:38 +08:00
codytseng
41a65338b5 fix: 🐛 2025-12-24 22:30:00 +08:00
codytseng
56f0aa9fd5 fix: 🐛 2025-12-24 13:22:38 +08:00
codytseng
89f79b999c refactor: reverse top-level replies order 2025-12-24 13:01:03 +08:00
bitcoinuser
7459a3d33a feat: update Portuguese translations for clarity and accuracy (#702) 2025-12-24 10:58:24 +08:00
codytseng
49eca495f5 refactor: 🎨 2025-12-24 10:55:05 +08:00
codytseng
96abe5f24f feat: add compatibility for legacy comments 2025-12-23 23:30:57 +08:00
codytseng
0ee93718da feat: add relay recommendations based on user language 2025-12-23 22:28:07 +08:00
codytseng
a880a92748 feat: simplify account creation flow 2025-12-23 21:52:32 +08:00
codytseng
cd7c52eda0 feat: batch fetch user percentiles 2025-12-22 22:34:29 +08:00
codytseng
ef6d44d112 feat: add Traditional Chinese language support 2025-12-22 18:13:31 +08:00
bitcoinuser
2925c0c5f9 feat: update Portuguese translations for clarity (#697) 2025-12-22 14:52:55 +08:00
Max Blake
5705d8c9b3 feat: update pl.ts (#698)
Co-authored-by: Cody Tseng <codytseng98@gmail.com>
2025-12-22 14:52:16 +08:00
codytseng
944246b582 feat: 💨 2025-12-21 23:50:49 +08:00
codytseng
163f3212d8 chore: 🎨 2025-12-21 21:11:51 +08:00
codytseng
1193c81c78 fix: 🐛 2025-12-20 19:35:51 +08:00
codytseng
ddb88bf074 refactor: restructure the reply list 2025-12-20 19:22:27 +08:00
codytseng
079a2f90ef feat: add support for publishing highlights 2025-12-18 21:53:07 +08:00
bitcoinuser
c4881e3435 feat: update Portuguese translations (#695) 2025-12-17 09:08:18 +08:00
codytseng
bc7fb4c79b fix: 🐛 2025-12-16 22:35:12 +08:00
codytseng
7677beef82 fix: correctly handle reactions for replaceable events 2025-12-16 21:36:50 +08:00
codytseng
6cf78992a6 refactor: feed switcher 2025-12-16 21:32:24 +08:00
codytseng
ce2976e3f9 fix: 🐛 2025-12-16 09:33:46 +08:00
codytseng
dbcb48d599 feat: add special follow feed 2025-12-15 22:46:04 +08:00