Commit Graph

  • 1151eca83d fix(relay): scope relay membership to its community npub1qyvc0c5kl4gqv2fd97fsk46tu378sqgy35vc83rvgfwne90sel7s0ed67d 2026-06-27 13:15:22 -04:00
  • 6846a8f10c fix(relay): claim reminders before publishing npub1qyvc0c5kl4gqv2fd97fsk46tu378sqgy35vc83rvgfwne90sel7s0ed67d 2026-06-27 12:58:11 -04:00
  • c77f2c27d7 fix(relay): scope local-echo dedup by community npub1qyvc0c5kl4gqv2fd97fsk46tu378sqgy35vc83rvgfwne90sel7s0ed67d 2026-06-27 12:54:10 -04:00
  • ef9e174edf fix(workflow): seed interval cold-start anchor so new schedules fire eva/integration npub1qyvc0c5kl4gqv2fd97fsk46tu378sqgy35vc83rvgfwne90sel7s0ed67d 2026-06-27 14:40:23 -04:00
  • 00f75bcfc9 fix(workflow): add scheduled_workflow_fires.workflow_run_id for the attach audit link npub1qyvc0c5kl4gqv2fd97fsk46tu378sqgy35vc83rvgfwne90sel7s0ed67d 2026-06-27 14:30:40 -04:00
  • 4dc65b6ee5 fix(workflow): wire community-scoped durable claim into scheduler npub1qyvc0c5kl4gqv2fd97fsk46tu378sqgy35vc83rvgfwne90sel7s0ed67d 2026-06-27 14:16:00 -04:00
  • 5e62ba8cb8 fix(workflow): scope workflow execution and approvals to their community npub1qyvc0c5kl4gqv2fd97fsk46tu378sqgy35vc83rvgfwne90sel7s0ed67d 2026-06-27 13:59:21 -04:00
  • 66a0add86d fix(admin): derive admin tenant host via shared relay_url_authority npub1qyvc0c5kl4gqv2fd97fsk46tu378sqgy35vc83rvgfwne90sel7s0ed67d 2026-06-27 13:34:51 -04:00
  • ae7b2e9b30 fix(db): scope reminder claim/release to their community npub1qyvc0c5kl4gqv2fd97fsk46tu378sqgy35vc83rvgfwne90sel7s0ed67d 2026-06-27 13:22:41 -04:00
  • f801807653 fix(relay): scope relay membership to its community npub1qyvc0c5kl4gqv2fd97fsk46tu378sqgy35vc83rvgfwne90sel7s0ed67d 2026-06-27 13:15:22 -04:00
  • 7efb4af021 fix(relay): claim reminders before publishing npub1qyvc0c5kl4gqv2fd97fsk46tu378sqgy35vc83rvgfwne90sel7s0ed67d 2026-06-27 12:58:11 -04:00
  • 60519a6f33 fix(relay): scope local-echo dedup by community npub1qyvc0c5kl4gqv2fd97fsk46tu378sqgy35vc83rvgfwne90sel7s0ed67d 2026-06-27 12:54:10 -04:00
  • 19de45c6c4 ci: drop Typesense from the integration-test workflow npub1qyvc0c5kl4gqv2fd97fsk46tu378sqgy35vc83rvgfwne90sel7s0ed67d 2026-06-27 12:16:34 -04:00
  • 84de626963 docs: update multi-tenant spec search obligation to Postgres FTS npub1qyvc0c5kl4gqv2fd97fsk46tu378sqgy35vc83rvgfwne90sel7s0ed67d 2026-06-27 12:04:11 -04:00
  • 2c6b1b925c docs: rename Typesense references to Postgres FTS npub1qyvc0c5kl4gqv2fd97fsk46tu378sqgy35vc83rvgfwne90sel7s0ed67d 2026-06-27 12:02:59 -04:00
  • f8bbe6efc3 chore(compose,scripts): drop Typesense from local dev/test stacks npub1qyvc0c5kl4gqv2fd97fsk46tu378sqgy35vc83rvgfwne90sel7s0ed67d 2026-06-27 11:57:17 -04:00
  • 90ebf1ffee chore(chart): remove the eval-only Typesense subsystem from the Helm chart npub1qyvc0c5kl4gqv2fd97fsk46tu378sqgy35vc83rvgfwne90sel7s0ed67d 2026-06-27 11:55:12 -04:00
  • f1fda2e15e refactor(relay): drop dead Typesense config + correct stale search comments npub1qyvc0c5kl4gqv2fd97fsk46tu378sqgy35vc83rvgfwne90sel7s0ed67d 2026-06-27 11:48:44 -04:00
  • a7a6dae2bf test(conformance): document status-code-as-layer-discriminator on nip98_replay assertion npub17jjz49l9jjmhhk7cac63j8yt9z555n9cw8vk7v5jz4vzw4ppld5qgj57cc 2026-06-27 10:41:24 -04:00
  • f49a7dc18e fix(relay): scope media and git substrate by tenant npub1t2tgm7d8f995uqvmnm8h88sg3wnpp9a5xysjf6dg3tjmgt3ltulqdp8ehr 2026-06-27 10:21:58 -04:00
  • 1f08892501 test: cover pubsub presence typing isolation npub1mprnacetjua2xx3p5eddmhxyk6wv929ymm5py8kd2xfxurxahspqqlgyta 2026-06-27 10:13:20 -04:00
  • 354ad213c5 test(conformance): fill api_tokens_nip98_replay row — doc-only api_token half + wire-driven NIP-98 replay half npub17jjz49l9jjmhhk7cac63j8yt9z555n9cw8vk7v5jz4vzw4ppld5qgj57cc 2026-06-27 10:33:23 -04:00
  • 2ff2af6e4b test(conformance): fill channels_membership row — same channel UUID coexists in two communities npub1jmc9dt2lyvzu3h0kxlwxt5zg4fxp9476awyxw6gwxn72g6cw7exqs64whm 2026-06-27 09:51:17 -04:00
  • e8f42796ce test(conformance): fill users_profiles_nip05 row — kind:0 + NIP-05 lookup per-community npub1jmc9dt2lyvzu3h0kxlwxt5zg4fxp9476awyxw6gwxn72g6cw7exqs64whm 2026-06-27 09:33:16 -04:00
  • b5d637d23b test(conformance): fill search_fts row — two-host NIP-50 isolation + delete npub1jmc9dt2lyvzu3h0kxlwxt5zg4fxp9476awyxw6gwxn72g6cw7exqs64whm 2026-06-27 08:03:48 -04:00
  • 0e9e8583aa test(conformance): fill row_zero_host_binding (unmapped fail-closed + #h override-reject) npub1qyvc0c5kl4gqv2fd97fsk46tu378sqgy35vc83rvgfwne90sel7s0ed67d 2026-06-27 09:04:44 -04:00
  • c726103f73 test(conformance): audit_log isolation — doc-only row + integrated relay test + error sanitization tlongwell-block 2026-06-27 08:32:25 -04:00
  • 0eddf10345 buzz-relay: bind NIP-42 AUTH relay tag to per-tenant host (row 44 sibling) npub17jjz49l9jjmhhk7cac63j8yt9z555n9cw8vk7v5jz4vzw4ppld5qgj57cc 2026-06-27 08:21:18 -04:00
  • 7469194042 test(conformance): nip11_relay_info — NIP-11 is host-agnostic, not a community-enumeration oracle npub1qyvc0c5kl4gqv2fd97fsk46tu378sqgy35vc83rvgfwne90sel7s0ed67d 2026-06-27 08:15:57 -04:00
  • efaad7e662 buzz-db: scope api_tokens lookups to community_id (Gap 2 / row 44) npub17jjz49l9jjmhhk7cac63j8yt9z555n9cw8vk7v5jz4vzw4ppld5qgj57cc 2026-06-27 07:43:17 -04:00
  • 10ff37c12e Measure relay bus scaling with Redis npub1mprnacetjua2xx3p5eddmhxyk6wv929ymm5py8kd2xfxurxahspqqlgyta 2026-06-27 07:35:35 -04:00
  • a1cd66c812 relay/auth: NIP-98 u-URL host is per-tenant, not config-global npub17jjz49l9jjmhhk7cac63j8yt9z555n9cw8vk7v5jz4vzw4ppld5qgj57cc 2026-06-27 01:13:33 -04:00
  • ce406c7160 fix(search): restore privacy kind exclusions at the FTS storage layer npub1jmc9dt2lyvzu3h0kxlwxt5zg4fxp9476awyxw6gwxn72g6cw7exqs64whm 2026-06-27 01:09:33 -04:00
  • 4aa69f1d1b test(relay): red-team Attack 3 — same-pod regression + fail-closed proof npub17jjz49l9jjmhhk7cac63j8yt9z555n9cw8vk7v5jz4vzw4ppld5qgj57cc 2026-06-27 00:40:19 -04:00
  • 09b56818d7 test(buzz-db): pin communities_of_channels missing-channel-absent contract npub1jmc9dt2lyvzu3h0kxlwxt5zg4fxp9476awyxw6gwxn72g6cw7exqs64whm 2026-06-27 00:37:55 -04:00
  • f190bd41b9 fix(relay): share NIP-98 replay guard via Redis npub1mprnacetjua2xx3p5eddmhxyk6wv929ymm5py8kd2xfxurxahspqqlgyta 2026-06-27 00:29:06 -04:00
  • 215a82c7f8 feat(relay): emit read-row trace steps with (B) projection npub1jmc9dt2lyvzu3h0kxlwxt5zg4fxp9476awyxw6gwxn72g6cw7exqs64whm 2026-06-27 00:15:09 -04:00
  • 036e3eee30 feat(relay): emit AuthCheck on REQ membership decision npub1jmc9dt2lyvzu3h0kxlwxt5zg4fxp9476awyxw6gwxn72g6cw7exqs64whm 2026-06-27 00:04:40 -04:00
  • 473075561e test(relay): EmitGuard coverage-breach self-test npub1jmc9dt2lyvzu3h0kxlwxt5zg4fxp9476awyxw6gwxn72g6cw7exqs64whm 2026-06-26 23:58:03 -04:00
  • 92f65ae0f2 feat(relay): wire conformance emitter into ingest seam npub1jmc9dt2lyvzu3h0kxlwxt5zg4fxp9476awyxw6gwxn72g6cw7exqs64whm 2026-06-26 23:21:53 -04:00
  • caae4cdbb8 feat(conformance): runtime trace schema + independent replay checker npub1jmc9dt2lyvzu3h0kxlwxt5zg4fxp9476awyxw6gwxn72g6cw7exqs64whm 2026-06-26 23:51:44 -04:00
  • 7f191ccb1e fix(relay): clear clippy on integrated multi-tenant stack npub1qyvc0c5kl4gqv2fd97fsk46tu378sqgy35vc83rvgfwne90sel7s0ed67d 2026-06-26 23:41:50 -04:00
  • 5f03ea42c3 fix(relay): scope DM command writes by community npub1jh9wn95s0472h86ahapupaf7m6kx4v9sx2n0atj2hltcfer8k06s5n3pyf 2026-06-26 23:12:04 -04:00
  • f08e5ce5af perf(relay): add bus scaling harness npub1mprnacetjua2xx3p5eddmhxyk6wv929ymm5py8kd2xfxurxahspqqlgyta 2026-06-26 23:28:42 -04:00
  • a7a2270216 fix(relay): bind fanout to receiver community npub1mprnacetjua2xx3p5eddmhxyk6wv929ymm5py8kd2xfxurxahspqqlgyta 2026-06-26 23:27:16 -04:00
  • 67ff1bb053 refactor(desktop): clarify activity stop affordance tho/activity-ui-polish-replay Taylor Ho 2026-06-27 10:48:25 -07:00
  • 77f37801f9 refactor(desktop): enforce auxiliary header primitives Taylor Ho 2026-06-27 10:28:49 -07:00
  • e07eefdcff refactor(desktop): centralize auxiliary panel header controls Taylor Ho 2026-06-27 10:20:15 -07:00
  • bc3427389c chore(merge): merge origin/main into activity polish npub1223z34hd7vtwc6qj4s7flsxkj644nlre2nthu7lrrmkumhu3xddsrx9r6w 2026-06-27 09:38:47 -07:00
  • a7d3817481 ci: drop Typesense from the integration-test workflow npub1qyvc0c5kl4gqv2fd97fsk46tu378sqgy35vc83rvgfwne90sel7s0ed67d 2026-06-27 12:16:34 -04:00
  • 4e117adb06 docs: update multi-tenant spec search obligation to Postgres FTS npub1qyvc0c5kl4gqv2fd97fsk46tu378sqgy35vc83rvgfwne90sel7s0ed67d 2026-06-27 12:04:11 -04:00
  • c258393ebb docs: rename Typesense references to Postgres FTS npub1qyvc0c5kl4gqv2fd97fsk46tu378sqgy35vc83rvgfwne90sel7s0ed67d 2026-06-27 12:02:59 -04:00
  • cd5da7e3e8 fix(relay): let require_localhost accept the UDS policy callback eva/git-policy-uds-callback npub1qyvc0c5kl4gqv2fd97fsk46tu378sqgy35vc83rvgfwne90sel7s0ed67d 2026-06-27 12:02:09 -04:00
  • 9d9cbe1172 chore(compose,scripts): drop Typesense from local dev/test stacks npub1qyvc0c5kl4gqv2fd97fsk46tu378sqgy35vc83rvgfwne90sel7s0ed67d 2026-06-27 11:57:17 -04:00
  • 73aae6a010 chore(chart): remove the eval-only Typesense subsystem from the Helm chart npub1qyvc0c5kl4gqv2fd97fsk46tu378sqgy35vc83rvgfwne90sel7s0ed67d 2026-06-27 11:55:12 -04:00
  • c22fdd937c fix(acp): suppress clippy::too_many_arguments on format_context_hints duncan/agent-commit-signing Will Pfleger 2026-06-27 11:52:48 -04:00
  • eb76c81909 feat(relay): route git pre-receive policy callback over UDS when configured npub1qyvc0c5kl4gqv2fd97fsk46tu378sqgy35vc83rvgfwne90sel7s0ed67d 2026-06-27 11:52:18 -04:00
  • f1f6bbf3c2 refactor(relay): drop dead Typesense config + correct stale search comments npub1qyvc0c5kl4gqv2fd97fsk46tu378sqgy35vc83rvgfwne90sel7s0ed67d 2026-06-27 11:48:44 -04:00
  • bfbfe57513 test(conformance): document status-code-as-layer-discriminator on nip98_replay assertion npub17jjz49l9jjmhhk7cac63j8yt9z555n9cw8vk7v5jz4vzw4ppld5qgj57cc 2026-06-27 10:41:24 -04:00
  • d7600deb18 fix(relay): scope media and git substrate by tenant npub1t2tgm7d8f995uqvmnm8h88sg3wnpp9a5xysjf6dg3tjmgt3ltulqdp8ehr 2026-06-27 10:21:58 -04:00
  • b9fa51ecaf test: cover pubsub presence typing isolation max/pubsub-presence-typing npub1mprnacetjua2xx3p5eddmhxyk6wv929ymm5py8kd2xfxurxahspqqlgyta 2026-06-27 10:13:20 -04:00
  • da6051fdbc test(conformance): fill api_tokens_nip98_replay row — doc-only api_token half + wire-driven NIP-98 replay half npub17jjz49l9jjmhhk7cac63j8yt9z555n9cw8vk7v5jz4vzw4ppld5qgj57cc 2026-06-27 10:33:23 -04:00
  • f66f880b75 fix(desktop): update existing macOS keychain blob pinky/agent-keyring-existing Wes 2026-06-27 08:04:31 -06:00
  • ae703c5c89 test(conformance): fill channels_membership row — same channel UUID coexists in two communities npub1jmc9dt2lyvzu3h0kxlwxt5zg4fxp9476awyxw6gwxn72g6cw7exqs64whm 2026-06-27 09:51:17 -04:00
  • a2005bc27d fix(desktop): hold true scroll floor on load-older abandon-to-bottom pinky/e2e-stream-stability Wes 2026-06-27 07:47:07 -06:00
  • 6aa0cec4a9 test(conformance): fill users_profiles_nip05 row — kind:0 + NIP-05 lookup per-community npub1jmc9dt2lyvzu3h0kxlwxt5zg4fxp9476awyxw6gwxn72g6cw7exqs64whm 2026-06-27 09:33:16 -04:00
  • aca40b6289 Polish thread reply hover states (#1329) klopez4212 2026-06-27 14:27:51 +01:00
  • b02d767f24 test(conformance): fill search_fts row — two-host NIP-50 isolation + delete npub1jmc9dt2lyvzu3h0kxlwxt5zg4fxp9476awyxw6gwxn72g6cw7exqs64whm 2026-06-27 08:03:48 -04:00
  • f7ec53b06d test(conformance): fill row_zero_host_binding (unmapped fail-closed + #h override-reject) npub1qyvc0c5kl4gqv2fd97fsk46tu378sqgy35vc83rvgfwne90sel7s0ed67d 2026-06-27 09:04:44 -04:00
  • 1d7db983ab test(conformance): audit_log isolation — doc-only row + integrated relay test + error sanitization tlongwell-block 2026-06-27 08:32:25 -04:00
  • bf8a1a4fa7 buzz-relay: bind NIP-42 AUTH relay tag to per-tenant host (row 44 sibling) npub17jjz49l9jjmhhk7cac63j8yt9z555n9cw8vk7v5jz4vzw4ppld5qgj57cc 2026-06-27 08:21:18 -04:00
  • 809ff9faf7 test(conformance): nip11_relay_info — NIP-11 is host-agnostic, not a community-enumeration oracle npub1qyvc0c5kl4gqv2fd97fsk46tu378sqgy35vc83rvgfwne90sel7s0ed67d 2026-06-27 08:15:57 -04:00
  • 7bc8fd2071 fix(desktop): keep bottom pins through virtualizer settle mari/scroll-pin-fix npub1jh9wn95s0472h86ahapupaf7m6kx4v9sx2n0atj2hltcfer8k06s5n3pyf 2026-06-27 08:06:06 -04:00
  • 4b6e1e43d9 buzz-db: scope api_tokens lookups to community_id (Gap 2 / row 44) npub17jjz49l9jjmhhk7cac63j8yt9z555n9cw8vk7v5jz4vzw4ppld5qgj57cc 2026-06-27 07:43:17 -04:00
  • 481e623470 Measure relay bus scaling with Redis npub1mprnacetjua2xx3p5eddmhxyk6wv929ymm5py8kd2xfxurxahspqqlgyta 2026-06-27 07:35:35 -04:00
  • be9d26e55a relay/auth: NIP-98 u-URL host is per-tenant, not config-global npub17jjz49l9jjmhhk7cac63j8yt9z555n9cw8vk7v5jz4vzw4ppld5qgj57cc 2026-06-27 01:13:33 -04:00
  • 3fd16cc1f7 fix(search): restore privacy kind exclusions at the FTS storage layer npub1jmc9dt2lyvzu3h0kxlwxt5zg4fxp9476awyxw6gwxn72g6cw7exqs64whm 2026-06-27 01:09:33 -04:00
  • 34ffb8ab37 test(relay): red-team Attack 3 — same-pod regression + fail-closed proof npub17jjz49l9jjmhhk7cac63j8yt9z555n9cw8vk7v5jz4vzw4ppld5qgj57cc 2026-06-27 00:40:19 -04:00
  • 9e2959e32d test(buzz-db): pin communities_of_channels missing-channel-absent contract npub1jmc9dt2lyvzu3h0kxlwxt5zg4fxp9476awyxw6gwxn72g6cw7exqs64whm 2026-06-27 00:37:55 -04:00
  • 726c83185a fix(relay): share NIP-98 replay guard via Redis npub1mprnacetjua2xx3p5eddmhxyk6wv929ymm5py8kd2xfxurxahspqqlgyta 2026-06-27 00:29:06 -04:00
  • 36485ade2b feat(relay): emit read-row trace steps with (B) projection npub1jmc9dt2lyvzu3h0kxlwxt5zg4fxp9476awyxw6gwxn72g6cw7exqs64whm 2026-06-27 00:15:09 -04:00
  • 1d3fb3c59a feat(relay): emit AuthCheck on REQ membership decision npub1jmc9dt2lyvzu3h0kxlwxt5zg4fxp9476awyxw6gwxn72g6cw7exqs64whm 2026-06-27 00:04:40 -04:00
  • e6ed8e9356 test(relay): EmitGuard coverage-breach self-test npub1jmc9dt2lyvzu3h0kxlwxt5zg4fxp9476awyxw6gwxn72g6cw7exqs64whm 2026-06-26 23:58:03 -04:00
  • acb01e4da0 feat(relay): wire conformance emitter into ingest seam npub1jmc9dt2lyvzu3h0kxlwxt5zg4fxp9476awyxw6gwxn72g6cw7exqs64whm 2026-06-26 23:21:53 -04:00
  • e1b090e48e feat(conformance): runtime trace schema + independent replay checker npub1jmc9dt2lyvzu3h0kxlwxt5zg4fxp9476awyxw6gwxn72g6cw7exqs64whm 2026-06-26 23:51:44 -04:00
  • bc453f3d91 fix(relay): clear clippy on integrated multi-tenant stack npub1qyvc0c5kl4gqv2fd97fsk46tu378sqgy35vc83rvgfwne90sel7s0ed67d 2026-06-26 23:41:50 -04:00
  • 2738faf9b2 fix(relay): scope DM command writes by community npub1jh9wn95s0472h86ahapupaf7m6kx4v9sx2n0atj2hltcfer8k06s5n3pyf 2026-06-26 23:12:04 -04:00
  • 989f87e0ab fix(relay): fail closed on empty/whitespace host in bind_community npub1qyvc0c5kl4gqv2fd97fsk46tu378sqgy35vc83rvgfwne90sel7s0ed67d 2026-06-26 23:26:30 -04:00
  • 61d3492598 perf(relay): add bus scaling harness npub1mprnacetjua2xx3p5eddmhxyk6wv929ymm5py8kd2xfxurxahspqqlgyta 2026-06-26 23:28:42 -04:00
  • b182187a5e fix(relay): bind fanout to receiver community npub1mprnacetjua2xx3p5eddmhxyk6wv929ymm5py8kd2xfxurxahspqqlgyta 2026-06-26 23:27:16 -04:00
  • 9b0bd814ce fix(relay): fail closed on empty/whitespace host in bind_community npub1qyvc0c5kl4gqv2fd97fsk46tu378sqgy35vc83rvgfwne90sel7s0ed67d 2026-06-26 23:26:30 -04:00
  • fb0d6a4ea0 fix(relay): use deployment tenant binding for startup membership npub1jh9wn95s0472h86ahapupaf7m6kx4v9sx2n0atj2hltcfer8k06s5n3pyf 2026-06-26 22:29:59 -04:00
  • 139d6dbda5 fix(relay): preserve relay URL port for deployment binding npub1jh9wn95s0472h86ahapupaf7m6kx4v9sx2n0atj2hltcfer8k06s5n3pyf 2026-06-26 22:25:07 -04:00
  • 8ff38c07bf test(e2e): seed community before relay boot in desktop e2e integration tlongwell-block 2026-06-26 21:58:31 -04:00
  • 107aa6977e test(e2e): converge e2e host on localhost + seed before relay boot tlongwell-block 2026-06-26 21:43:06 -04:00
  • 528c4a918a test(e2e): seed localhost:3000 community for multi-tenant e2e suites tlongwell-block 2026-06-26 21:24:24 -04:00
  • f1b459b1db fix(db): reconcile schema snapshot with mt migration tlongwell-block 2026-06-26 21:15:25 -04:00
  • 9bc95c2786 Fix inbox header blur content offset. tp/inbox-header-blur Thomas Petersen 2026-06-26 21:03:02 -04:00
  • 6d2b85f348 Merge remote-tracking branch 'origin/main' into tp/inbox-header-blur Thomas Petersen 2026-06-26 20:55:08 -04:00
  • 3e57144b48 fix(relay-mt): clear clippy -D warnings introduced by tenant threading tlongwell-block 2026-06-26 20:47:41 -04:00