This website requires JavaScript.
7922f9a4d1
Merge pull request #3845 from vitorpamplona/claude/explained-filter-test-warnings-clpcv8
main
Vitor Pamplona and GitHub
2026-08-01 14:08:56 -04:00
0cc3f72f55
fix: resolve always-true is-check and redundant cast warnings in ExplainedFilterTest
Claude
2026-08-01 18:03:03 +00:00
31c3eaf2b3
Merge pull request #3844 from vitorpamplona/claude/code-quality-class-decoupling-rrt199
Vitor Pamplona and GitHub
2026-08-01 13:31:51 -04:00
92ca11a583
chore: move stray NIP-29 section comment to AccountRelayGroupActions
Claude
2026-08-01 17:27:56 +00:00
dc5e4562fd
fix: restore two Marmot log messages mangled during extraction
Claude
2026-08-01 17:22:31 +00:00
e0ea365368
Merge pull request #3843 from vitorpamplona/fix/rtt-open-from-handshake
Vitor Pamplona and GitHub
2026-08-01 13:22:11 -04:00
1dba215d4d
refactor: extract AccountZapActions from Account
Claude
2026-08-01 17:16:27 +00:00
d2c9593919
refactor: extract AccountRelayGroupActions from Account
Claude
2026-08-01 17:11:04 +00:00
20149e2600
refactor: extract AccountMarmotActions from Account
Claude
2026-08-01 17:07:24 +00:00
c0932e0330
refactor: extract AccountConcordActions from Account
Claude
2026-08-01 17:05:00 +00:00
dc1f0dd995
Merge pull request #3842 from vitorpamplona/claude/liveventstore-searchextensions-3ya4ir
Vitor Pamplona and GitHub
2026-08-01 13:03:08 -04:00
7d91931b75
rtt-open is the transport's handshake, not our own queueing
Vitor Pamplona and Claude Opus 5
2026-08-01 12:58:01 -04:00
f2e7a07a97
fix(relay): make the per-connection auth set a copy-on-write snapshot
Claude
2026-08-01 16:58:36 +00:00
7936cab9d5
refactor: extract EventBroadcaster from Account
Claude
2026-08-01 16:54:52 +00:00
5311efe65e
refactor: extract CachePruner and CacheSearch from LocalCache; move Dao out of ui
Claude
2026-08-01 16:48:21 +00:00
2e90cc24ba
feat(quartz): move NIP-50 extension handling into the stores; add IEventStore seams
Claude
2026-08-01 16:44:31 +00:00
532b9e67fe
refactor: collapse LocalCache event dispatch into grouped when branches
Claude
2026-08-01 16:29:08 +00:00
3823eae11d
Merge pull request #3840 from vitorpamplona/l10n_crowdin_translations
Vitor Pamplona and GitHub
2026-08-01 09:54:16 -04:00
9cb17a26e8
chore: sync Crowdin translations and seed translator npub placeholders
vitorpamplona and github-actions[bot]
2026-08-01 13:51:50 +00:00
6d518adddb
Merge pull request #3841 from vitorpamplona/feat/observer-out-of-band
Vitor Pamplona and GitHub
2026-08-01 09:49:03 -04:00
c3c20c6615
Let a monitor publish what it learned without dialling
Vitor Pamplona and Claude Opus 5
2026-08-01 09:40:39 -04:00
da009f36bd
Merge pull request #3839 from vitorpamplona/l10n_crowdin_translations
David Kaspar and GitHub
2026-08-01 12:07:57 +02:00
f7959571a7
chore: sync Crowdin translations and seed translator npub placeholders
davotoula and github-actions[bot]
2026-08-01 09:31:43 +00:00
529c114802
fix: hoist the playback-error test fixtures out of composition
davotoula
2026-08-01 10:33:11 +02:00
2741d32cfd
Merge pull request #3838 from vitorpamplona/claude/nip42-auth-dm-delivery-test-fhn7fd
Vitor Pamplona and GitHub
2026-08-01 01:29:24 -04:00
ae61e69136
fix(relays): deliver in-process server frames only after onOpen
Claude
2026-08-01 05:27:51 +00:00
79f198c729
Merge pull request #3836 from vitorpamplona/feat/nip66-relay-monitor
Vitor Pamplona and GitHub
2026-07-31 23:23:23 -04:00
18d229be58
Match the listener's parameter names; drop commas from test names
Vitor Pamplona and Claude Opus 5
2026-07-31 22:55:36 -04:00
d6333989a4
Merge pull request #3837 from vitorpamplona/claude/quartz-hex-encode-decode-xggbv2
Vitor Pamplona and GitHub
2026-07-31 22:51:50 -04:00
cf75272202
Fix the native build: toSortedMap is java.util
Vitor Pamplona and Claude Opus 5
2026-07-31 22:31:39 -04:00
5c24b003e7
NIP-66: measure relays from the traffic a client already makes
Vitor Pamplona and Claude Opus 5
2026-07-31 22:21:00 -04:00
729fb1bc17
perf(quartz): hoist lookup tables in Hex.decode/encode/isEqual/readLong; bench new codecs
Claude
2026-08-01 01:47:01 +00:00
77ff9e9699
Merge pull request #3834 from vitorpamplona/dependabot/github_actions/actions-08295fc4ea
Vitor Pamplona and GitHub
2026-07-31 21:34:08 -04:00
166ebc755e
chore(actions): bump the actions group with 5 updates
dependabot[bot] and GitHub
2026-08-01 00:45:45 +00:00
d8bae8c628
perf(quartz): tune Hex.decodeExactOrNull at the bytecode level
Claude
2026-08-01 00:33:51 +00:00
9ea4b81c1f
feat(quartz): size-enforcing Hex.decode64/128 and encode64/128
Claude
2026-08-01 00:14:17 +00:00
5a433663fe
Merge pull request #3831 from vitorpamplona/l10n_crowdin_translations
Vitor Pamplona and GitHub
2026-07-31 20:00:11 -04:00
0b77de879d
chore: sync Crowdin translations and seed translator npub placeholders
vitorpamplona and github-actions[bot]
2026-07-31 23:55:51 +00:00
50e7f43b9a
Merge pull request #3832 from vitorpamplona/feat/filter-purpose-explainer
Vitor Pamplona and GitHub
2026-07-31 19:52:39 -04:00
9fe24be6d6
perf(relays): keep the EOSE cursor lock-free on the per-event path
Vitor Pamplona and Claude Opus 5
2026-07-31 19:47:50 -04:00
5fe33a8152
fix(relays): serialize writes to the single-sub EOSE cursor map
Vitor Pamplona and Claude Opus 5
2026-07-31 19:36:28 -04:00
b8d0caa8ff
fix(commons): import kotlinx.coroutines.IO so the iOS targets build
Vitor Pamplona and Claude Opus 5
2026-07-31 19:25:26 -04:00
e3e17e8ecb
fix(notifications): stop resetting the watchdog alarm on every account change
Vitor Pamplona and Claude Opus 5
2026-07-31 18:54:46 -04:00
a295f31f94
refactor(relays): mount the Cashu wallet like every other account subscription
Vitor Pamplona and Claude Opus 5
2026-07-31 18:42:25 -04:00
7e9abd86b3
Merge pull request #3833 from vitorpamplona/claude/crypto-security-review-f13uy2
Vitor Pamplona and GitHub
2026-07-31 18:13:57 -04:00
19a0088e36
fix(relays): refetch when a merged subscription gains an account
Vitor Pamplona and Claude Opus 5
2026-07-31 17:56:19 -04:00
903bf11abf
refactor(relays): audit cleanups on the subscription work
Vitor Pamplona and Claude Opus 5
2026-07-31 17:12:36 -04:00
7fb99842a8
fix(relays): FOLLOW_LISTS does not run in the background
Vitor Pamplona and Claude Opus 5
2026-07-31 16:59:04 -04:00
a59bc6d82d
refactor(nip44): use a content-addressed key object for the shared-key cache
Claude
2026-07-31 20:13:59 +00:00
e94b8eaf3b
fix(nip44): content-address shared-key cache and use constant-time MAC checks
Claude
2026-07-31 20:00:07 +00:00
d7d1b052fe
fix(relays): file the account's own contact cards under account data
Vitor Pamplona and Claude Opus 5
2026-07-31 15:54:29 -04:00
d9e01c8504
i18n: translate missing amethyst strings for cs, de, sv and pt-BR
davotoula and Claude Opus 5
2026-07-31 21:42:30 +02:00
5231f5b051
Merge pull request #3826 from vitorpamplona/l10n_crowdin_translations
Vitor Pamplona and GitHub
2026-07-31 14:05:43 -04:00
e1404f4d6c
fix(relays): drop "Your" from the account data label
Vitor Pamplona and Claude Opus 5
2026-07-31 14:05:26 -04:00
15f8b7713e
fix(relays): re-attribute account data after the metadata merge
Vitor Pamplona and Claude Opus 5
2026-07-31 13:48:23 -04:00
fe2d7ef045
feat(relays): merge account metadata across accounts into one REQ
Vitor Pamplona and Claude Opus 5
2026-07-31 11:56:03 -04:00
24decefd4b
feat(relays): merge the notification tail across accounts into one REQ
Vitor Pamplona and Claude Opus 5
2026-07-31 11:09:20 -04:00
0f4580ab91
chore: sync Crowdin translations and seed translator npub placeholders
vitorpamplona and github-actions[bot]
2026-07-31 14:58:45 +00:00
cdef4e9658
Merge pull request #3830 from vitorpamplona/claude/servicetype-tag-bounds-check-533b4r
Vitor Pamplona and GitHub
2026-07-31 10:56:02 -04:00
51e388d2a1
fix: bounds-check ServiceType parsing of NIP-85 service tags
Claude
2026-07-31 14:54:13 +00:00
9a5d47004c
Merge pull request #3827 from davotoula/fix/location-foreground-gate
Vitor Pamplona and GitHub
2026-07-31 10:21:07 -04:00
731f4369cb
Merge pull request #3828 from vitorpamplona/claude/content-parse-error-a1pf9h
Vitor Pamplona and GitHub
2026-07-31 10:14:56 -04:00
d93f4db451
docs(location): record the clean-install smoke run, closing R1
davotoula
2026-07-31 15:55:28 +02:00
61611bdc48
feat(subscriptions): every account pulls while a screen is up
Vitor Pamplona and Claude Opus 5
2026-07-31 09:56:01 -04:00
50e61901f7
fix: read profile json with the same lenient parser that renders it
Claude
2026-07-31 13:38:04 +00:00
f2895b2d29
fix(relays): count filters once per filter, not once per entity it names
Vitor Pamplona and Claude Opus 5
2026-07-31 09:31:17 -04:00
2360829e83
Code review: - refactor(location): dedupe test fixtures and simplify the gate internals - test(location): assert the release, not just its ledger side-effect - test(location): cover the LocationState -> LocationFlow -> RefCountedSession seam
davotoula
2026-07-30 18:10:24 +02:00
f09eef1470
feat(amethyst): wire the location foreground gate and refcounted meter
davotoula
2026-07-30 11:37:05 +02:00
78f0583b16
test(amethyst): document LocationStateTest deviations, close profile gap
davotoula
2026-07-30 11:12:45 +02:00
4234c4f45b
docs(location): cite the proven mechanism for LocationFlow's try/finally
davotoula
2026-07-30 10:09:57 +02:00
a742cec495
feat(amethyst): register one location provider with a paired listening hook feat(amethyst): add location provider ladder feat(amethyst): add RefCountedSession for overlapping ledger holders
davotoula
2026-07-30 09:50:52 +02:00
3fe936bedb
docs
davotoula
2026-07-29 16:41:02 +02:00
8e019a2d59
feat(relays): explain discovery filters by the feed selection behind them
Vitor Pamplona and Claude Opus 5
2026-07-31 00:20:41 -04:00
548a5c979e
feat(subscriptions): subscribe every background account, not just the active one
Vitor Pamplona and Claude Opus 5
2026-07-30 23:31:58 -04:00
54afbf95e7
docs(notifications): describe the cold-start floor as what it is
Vitor Pamplona and Claude Opus 5
2026-07-30 22:58:05 -04:00
3f4723437e
refactor(commons): move the top-nav per-relay filter values out of the app
Vitor Pamplona and Claude Opus 5
2026-07-30 22:14:15 -04:00
4f1bd6e0c2
feat(relays): name which public chats each subscription serves
Vitor Pamplona and Claude Opus 5
2026-07-30 21:05:57 -04:00
5f6d09425d
feat(notifications): open the subscriptions screen from the ongoing notification
Vitor Pamplona and Claude Opus 5
2026-07-30 21:00:29 -04:00
0ad4726d41
feat(relays): name the things each subscription is for, not just their ids
Vitor Pamplona and Claude Opus 5
2026-07-30 21:00:18 -04:00
4d53bbea9e
fix(relays): attribute every subscription to the account that asked for it
Vitor Pamplona and Claude Opus 5
2026-07-30 21:00:03 -04:00
b6808959cd
refactor(relays): split the public-chat purpose into the five protocols it held
Vitor Pamplona and Claude Opus 5
2026-07-30 20:59:48 -04:00
7cece7eafb
Merge pull request #3825 from vitorpamplona/claude/intent-receivers-feed-sharing-rkwiv1
Vitor Pamplona and GitHub
2026-07-30 12:22:44 -04:00
dcf2807e75
fix: address audit findings on the media share targets
Claude
2026-07-30 16:07:52 +00:00
1e20e10497
fix(notifications): sample the straggler relays instead of watching all of them
Vitor Pamplona and Claude Opus 5
2026-07-30 11:33:48 -04:00
a9ced24eb9
feat(relays): add an Active Subscriptions screen
Vitor Pamplona and Claude Opus 5
2026-07-30 11:25:40 -04:00
e47a2376aa
feat(relays): carry entity and account on tagged filters
Vitor Pamplona and Claude Opus 5
2026-07-30 11:13:10 -04:00
ea2472468b
feat: share images, shorts and videos straight into their feeds
Claude
2026-07-30 15:11:56 +00:00
397246b2ca
feat(relays): show what each relay is doing, in the app's own words
Vitor Pamplona and Claude Opus 5
2026-07-30 10:57:05 -04:00
3192e14c5a
feat(notifications): explain the relay count, but only when asked
Vitor Pamplona and Claude Opus 5
2026-07-30 10:39:06 -04:00
3eedcd9f89
refactor(relays): split SubPurpose into specific jobs, grouped and lifetime-aware
Vitor Pamplona and Claude Opus 5
2026-07-30 10:27:19 -04:00
8c9475a3fb
feat(relays): tag every relay-bound filter with its purpose
Vitor Pamplona and Claude Opus 5
2026-07-30 09:59:23 -04:00
6691e519e8
feat(relays): record why each subscription exists, without telling relays
Vitor Pamplona and Claude Opus 5
2026-07-30 09:48:01 -04:00
1f4d9728be
Merge pull request #3824 from vitorpamplona/claude/event-kind-0-empty-content-josbwa
Vitor Pamplona and GitHub
2026-07-29 22:17:41 -04:00
25c4516270
fix: parse kind 0 with empty or array-wrapped fields instead of erroring
Claude
2026-07-30 02:08:04 +00:00
d56d0cf725
Merge pull request #3819 from vitorpamplona/fix/log-defaults-and-concord-cross-epoch-floor
Vitor Pamplona and GitHub
2026-07-29 21:56:52 -04:00
f7cf257365
Merge pull request #3821 from vitorpamplona/claude/notification-card-pattern-95omqu
Vitor Pamplona and GitHub
2026-07-29 21:32:58 -04:00
edd36b467c
test(commons): deflake FeedMetadataCoordinatorTest
Vitor Pamplona and Claude Opus 5
2026-07-29 21:25:20 -04:00
5b357cd2fc
perf: trim the channel-invite row's per-item cost
Claude
2026-07-30 01:16:29 +00:00
c47afe6427
Merge pull request #3823 from vitorpamplona/claude/buzz-relay-tor-reachability-7lrj4m
Vitor Pamplona and GitHub
2026-07-29 21:10:22 -04:00
a2e199bd57
Merge pull request #3822 from vitorpamplona/claude/buzz-notification-relay-ebj12q
Vitor Pamplona and GitHub
2026-07-29 21:09:43 -04:00