davotoula
19ff300f65
feat: add string resources for M3 action dialog titles
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-20 16:59:55 +01:00
davotoula
fdb5b58513
feat: add reusable M3ActionDialog, M3ActionSection, M3ActionRow components
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-20 16:59:51 +01:00
Vitor Pamplona
864581ecaa
Merge pull request #1887 from davotoula/ui-polish-feed-filter
...
UI polish: feed filter
2026-03-20 10:00:38 -04:00
davotoula
620f8dbf10
code review fixes:
...
1. options.isNotEmpty().also → if guard
2. Hardcoded English strings in FeedGroup enum
3. Hardcoded accessibility label
4. Raw 14.sp literals (×6) → replaced with Font14SP theme constant
5. Raw 12.sp literal → replaced with Font12SP theme constant
6. Modifier.size(20.dp) → replaced with existing Size20Modifier theme constant
2026-03-20 14:30:07 +01:00
davotoula
f15b7620df
update gitignore
2026-03-20 14:01:45 +01:00
davotoula
3a195c4648
add grouped feed filter dialog with Material 3 styling
...
add icons, reduce text size, center group headers in filter dialog
2026-03-20 14:01:45 +01:00
davotoula
460ccc2d02
modernize SpinnerSelectionDialog with Material 3 styling
2026-03-20 14:00:19 +01:00
Vitor Pamplona
4f80fbfae4
Merge pull request #1886 from davotoula/feature-switch-for-chess
...
feature switch out chess icon on android
2026-03-20 07:41:38 -04:00
davotoula
05eb94915b
feature switch chess icon on android: visible in debug/benchmark client only
2026-03-20 10:14:59 +01:00
David Kaspar
1159edad15
Merge pull request #1885 from vitorpamplona/l10n_crowdin_translations
...
New Crowdin Translations
2026-03-20 10:06:54 +01:00
Crowdin Bot
450a352c98
New Crowdin translations by GitHub Action
2026-03-20 08:36:42 +00:00
davotoula
94cf31eb29
Intentionality: check the return value and log a warning via Log.w() when deletion fails
2026-03-20 09:32:11 +01:00
davotoula
123d9eea0c
Update CS, DE, SV, PT
2026-03-20 09:23:01 +01:00
Vitor Pamplona
c976f24a50
Fixes the list of users in the connected relays UI
2026-03-19 17:41:25 -04:00
Vitor Pamplona
583b9e56ba
Merge pull request #1883 from vitorpamplona/l10n_crowdin_translations
...
New Crowdin Translations
2026-03-19 17:13:00 -04:00
Crowdin Bot
e183d5efd2
New Crowdin translations by GitHub Action
2026-03-19 21:10:44 +00:00
Vitor Pamplona
f9369b0cf1
Merge pull request #1884 from vitorpamplona/claude/improve-android-push-notifications-9DzMr
...
Add direct reply and mark read actions to DM notifications
2026-03-19 17:08:50 -04:00
Vitor Pamplona
11b5ebe108
Final touches.
2026-03-19 17:07:03 -04:00
Vitor Pamplona
379cbc7e69
Merge pull request #1882 from vitorpamplona/claude/add-attestations-package-ZnoES
...
Add attestation event types and tag support for NIP-31871
2026-03-19 16:42:44 -04:00
Vitor Pamplona
a3941e3b01
Merge pull request #1837 from vitorpamplona/claude/strip-file-metadata-sVIEd
...
Add metadata stripping for images, videos, and audio files
2026-03-19 16:41:10 -04:00
Claude
afb3221446
feat: add attestations package to quartz experimental
...
Implement the Attestations NIP with four event types:
- AttestationEvent (31871, addressable) - validity claims about other events
- AttestationRequestEvent (31872, addressable) - request attestation from attestors
- AttestorRecommendationEvent (31873, addressable) - recommend attestors for kinds
- AttestorProficiencyEvent (11871, replaceable) - declare verification proficiency
Each event follows Quartz's tag-per-file pattern with TagArrayExt and
TagArrayBuilderExt for reading/building tags.
https://claude.ai/code/session_01UswHRVTNqn1ToU4P4XDh2V
2026-03-19 20:40:19 +00:00
David Kaspar
32fdb63a89
Merge pull request #1881 from vitorpamplona/l10n_crowdin_translations
...
New Crowdin Translations
2026-03-19 21:32:11 +01:00
Crowdin Bot
a1694bd84d
New Crowdin translations by GitHub Action
2026-03-19 20:16:12 +00:00
David Kaspar
892d6f2b7c
Merge pull request #1880 from davotoula/update-translations
...
Update CS, DE, SV, PT
2026-03-19 21:14:26 +01:00
davotoula
d1e70879ee
Update CS, DE, SV, PT
2026-03-19 21:09:36 +01:00
davotoula
adc2e15078
Merge branch 'main-upstream' into claude/strip-file-metadata-sVIEd
2026-03-19 20:49:15 +01:00
Vitor Pamplona
4df78340b6
Merge pull request #1879 from vitorpamplona/l10n_crowdin_translations
...
New Crowdin Translations
2026-03-19 15:41:16 -04:00
davotoula
ae5f76e018
Merge branch 'main-upstream' into claude/strip-file-metadata-sVIEd
2026-03-19 20:38:57 +01:00
Crowdin Bot
f8d6ac7900
New Crowdin translations by GitHub Action
2026-03-19 19:38:07 +00:00
Vitor Pamplona
cee4291ba9
Merge pull request #1878 from vitorpamplona/claude/event-sync-screen-sYGtN
...
Claude/event sync screen
2026-03-19 15:36:38 -04:00
Vitor Pamplona
fd5e8dcca0
Merge pull request #1877 from vitorpamplona/claude/nip17-dm-migration-qxDbT
...
Deprecate NIP-04 and always use NIP-17 for DM sending
2026-03-19 15:25:38 -04:00
Vitor Pamplona
ad53bff8e3
Final touches to remove nip04 dms
2026-03-19 15:23:48 -04:00
Vitor Pamplona
f75971fc6a
Merge pull request #1876 from vitorpamplona/l10n_crowdin_translations
...
New Crowdin Translations
2026-03-19 13:31:51 -04:00
Crowdin Bot
2f60697b28
New Crowdin translations by GitHub Action
2026-03-19 16:43:50 +00:00
Vitor Pamplona
3f4e265dc0
Brings the creation of Zap Polls back.
2026-03-19 12:40:14 -04:00
Claude
695d3c7a23
feat: deprecate NIP-04 DM sending, always use NIP-17
...
NIP-04 encryption for sending DMs is now deprecated. All new messages
are sent using NIP-17 (gift-wrapped sealed messages). Reading NIP-04
messages remains supported for backward compatibility.
When a recipient lacks both a DM relay list (kind 10050) and NIP-65
inbox relays, the send button is disabled and a warning is shown
explaining that messages cannot be delivered.
Changes:
- ChatNewMessageState: Remove nip17/requiresNip17 toggles, add
recipientsMissingDmRelays state, always send via NIP-17
- ChatNewMessageViewModel: Always use NIP-17, remove NIP-04 send
paths, add recipient relay status checking
- ToggleNip17Button -> Nip17Indicator: Replace toggle with static
NIP-17 indicator (always on)
- PrivateMessageEditFieldRow: Show warning when recipients lack
DM relay lists, hide message input
- ChatFileSender: sendAll() always uses NIP-17
- Desktop ChatPane: Remove NIP-17 toggle, show relay warning
- ChatroomView: Reactively check recipient DM relay availability
https://claude.ai/code/session_01T7QhUW9cZogk4DxDXbbbJJ
2026-03-19 15:22:13 +00:00
Vitor Pamplona
185fd96802
Merge branch 'main' into claude/strip-file-metadata-sVIEd
2026-03-19 10:06:20 -04:00
Vitor Pamplona
0f4555cfaa
Merge pull request #1875 from vitorpamplona/l10n_crowdin_translations
...
New Crowdin Translations
2026-03-19 09:58:46 -04:00
Crowdin Bot
5903af2229
New Crowdin translations by GitHub Action
2026-03-19 13:56:12 +00:00
Vitor Pamplona
29db4ca0e3
Merge pull request #1825 from vitorpamplona/claude/event-sync-screen-sYGtN
...
Add Event Sync feature to redistribute events across relays
2026-03-19 09:54:26 -04:00
Vitor Pamplona
78ffb9fce4
Merge branch 'main' into claude/event-sync-screen-sYGtN
2026-03-19 09:54:20 -04:00
Vitor Pamplona
30f862cf26
Increase max parallel to 50
2026-03-19 09:50:50 -04:00
Vitor Pamplona
ab81b2a71d
Improving calendar debug
2026-03-19 09:50:31 -04:00
Vitor Pamplona
ec29a47dc4
More debugging information
2026-03-19 09:34:52 -04:00
Vitor Pamplona
98578de840
Merge pull request #1874 from vitorpamplona/l10n_crowdin_translations
...
New Crowdin Translations
2026-03-19 08:51:23 -04:00
Crowdin Bot
311bbe19cf
New Crowdin translations by GitHub Action
2026-03-19 12:45:49 +00:00
Vitor Pamplona
3f841c94ec
Merge pull request #1873 from nrobi144/feat/desktop-media
...
feat(desktop): Full media parity — images, video, audio, encrypted DMs, upload, lightbox
2026-03-19 08:44:21 -04:00
nrobi144
5b2f2ca42b
feat(chats): per-message encryption badge — lock for NIP-17, lock-open for NIP-04
...
Show a small lock icon next to the timestamp on each DM message:
- NIP-17 (ChatMessageEvent, ChatMessageEncryptedFileHeaderEvent): filled
lock in primary color — relay can't see sender/recipient
- NIP-04 (PrivateDmEvent): open lock in muted gray — legacy encryption,
metadata visible to relays
Matches Android's IncognitoBadge pattern. Both NIP-04 and NIP-17 messages
in the same 1-on-1 conversation produce identical ChatroomKeys, so they
merge into one conversation — the badge is the only way to tell them apart.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-19 09:23:06 +02:00
nrobi144
f3e55f9958
fix(chats): handle ChatMessageEncryptedFileHeaderEvent in GiftWrap unwrap
...
The GiftWrap inner event handler only processed ChatMessageEvent (kind 14)
and ReactionEvent. ChatMessageEncryptedFileHeaderEvent (kind 15) was
silently dropped, so encrypted file attachments never appeared in DMs.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-19 09:11:46 +02:00
nrobi144
35b58e489b
feat(chats): right-click context menu on encrypted files — download + forward
...
Right-click on encrypted file attachments in DMs now shows a context menu:
- "Save to disk" — decrypts and saves via native file dialog
- "Forward" — placeholder callback for forwarding to another conversation
Also caches decrypted bytes (not just image bitmap) so save doesn't
re-download. Non-image files also get decrypted on load for save support.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-19 09:06:26 +02:00