chore: add snort relay

This commit is contained in:
2025-05-12 12:59:58 +01:00
parent 0fcb773afc
commit af2879406e
2 changed files with 20 additions and 13 deletions

View File

@ -27,13 +27,14 @@ class NoVerify extends EventVerifier {
final ndkCache = DbObjectBox(); final ndkCache = DbObjectBox();
final eventVerifier = kDebugMode ? NoVerify() : RustEventVerifier(); final eventVerifier = kDebugMode ? NoVerify() : RustEventVerifier();
var ndk = Ndk(NdkConfig(eventVerifier: eventVerifier, cache: ndkCache)); var ndk = Ndk(NdkConfig(eventVerifier: eventVerifier, cache: ndkCache, bootstrapRelays: defaultRelays));
const userAgent = "zap.stream/1.0"; const userAgent = "zap.stream/1.0";
const defaultRelays = [ const defaultRelays = [
"wss://nos.lol", "wss://nos.lol",
"wss://relay.damus.io", "wss://relay.damus.io",
"wss://relay.primal.net", "wss://relay.primal.net",
"wss://relay.snort.social"
]; ];
const searchRelays = ["wss://relay.nostr.band", "wss://search.nos.today"]; const searchRelays = ["wss://relay.nostr.band", "wss://search.nos.today"];

View File

@ -56,7 +56,9 @@ class _RxFilter<T> extends State<RxFilter<T>> {
.listen((events) { .listen((events) {
setState(() { setState(() {
_events ??= HashMap(); _events ??= HashMap();
developer.log("RX:GOT ${events.length} events for ${widget.filters}"); developer.log(
"RX:GOT ${events.length} events for ${widget.filters}",
);
events.forEach(_replaceInto); events.forEach(_replaceInto);
}); });
}); });
@ -66,8 +68,10 @@ class _RxFilter<T> extends State<RxFilter<T>> {
final evKey = _eventKey(ev); final evKey = _eventKey(ev);
final existing = _events?[evKey]; final existing = _events?[evKey];
if (existing == null || existing.$1 < ev.createdAt) { if (existing == null || existing.$1 < ev.createdAt) {
_events?[evKey] = _events?[evKey] = (
(ev.createdAt, widget.mapper != null ? widget.mapper!(ev) : ev as T); ev.createdAt,
widget.mapper != null ? widget.mapper!(ev) : ev as T,
);
} }
} }
@ -91,8 +95,7 @@ class _RxFilter<T> extends State<RxFilter<T>> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return widget.builder(context, return widget.builder(context, _events?.values.map((v) => v.$2).toList());
_events?.values.map((v) => v.$2).toList());
} }
} }
@ -120,7 +123,10 @@ class RxFutureFilter<T> extends StatelessWidget {
builder: (ctx, data) { builder: (ctx, data) {
if (data.hasData) { if (data.hasData) {
return RxFilter<T>( return RxFilter<T>(
filters: data.data!, mapper: mapper, builder: builder); filters: data.data!,
mapper: mapper,
builder: builder,
);
} else { } else {
return loadingWidget ?? SizedBox.shrink(); return loadingWidget ?? SizedBox.shrink();
} }