Refactor Nostr Client and Update Dependencies
- Replaced NDKPrivateKeySigner with PrivateKeySigner from applesauce-signers for improved signing functionality. - Updated the Nostr client implementation to utilize nostr-tools for event management and connection pooling. - Enhanced event fetching logic to support multiple versions of replaceable events based on limit parameters. - Updated package dependencies in package.json and bun.lock, including the addition of applesauce-core and applesauce-signers. - Refined event kind definitions and improved documentation for clarity and consistency with NIP specifications. - Adjusted CSS styles in bundle.css for better visual consistency across components.
This commit is contained in:
@@ -201,33 +201,13 @@ func (l *Listener) HandleReq(msg []byte) (err error) {
|
||||
|
||||
// Process this chunk
|
||||
var chunkEvents event.S
|
||||
showAllVersions := false
|
||||
if chunkFilter.Tags != nil {
|
||||
if showAllTag := chunkFilter.Tags.GetFirst([]byte("show_all_versions")); showAllTag != nil {
|
||||
if string(showAllTag.Value()) == "true" {
|
||||
showAllVersions = true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if showAllVersions {
|
||||
if chunkEvents, err = l.QueryAllVersions(queryCtx, chunkFilter); chk.E(err) {
|
||||
if errors.Is(err, badger.ErrDBClosed) {
|
||||
return
|
||||
}
|
||||
log.E.F("QueryAllVersions failed for chunk filter: %v", err)
|
||||
err = nil
|
||||
continue
|
||||
}
|
||||
} else {
|
||||
if chunkEvents, err = l.QueryEvents(queryCtx, chunkFilter); chk.E(err) {
|
||||
if errors.Is(err, badger.ErrDBClosed) {
|
||||
return
|
||||
}
|
||||
log.E.F("QueryEvents failed for chunk filter: %v", err)
|
||||
err = nil
|
||||
continue
|
||||
if chunkEvents, err = l.QueryEvents(queryCtx, chunkFilter); chk.E(err) {
|
||||
if errors.Is(err, badger.ErrDBClosed) {
|
||||
return
|
||||
}
|
||||
log.E.F("QueryEvents failed for chunk filter: %v", err)
|
||||
err = nil
|
||||
continue
|
||||
}
|
||||
|
||||
// Add chunk results to overall results
|
||||
@@ -250,35 +230,13 @@ func (l *Listener) HandleReq(msg []byte) (err error) {
|
||||
}
|
||||
}
|
||||
var filterEvents event.S
|
||||
// Check if the filter has the special "show_all_versions" tag
|
||||
showAllVersions := false
|
||||
if f.Tags != nil {
|
||||
if showAllTag := f.Tags.GetFirst([]byte("show_all_versions")); showAllTag != nil {
|
||||
if string(showAllTag.Value()) == "true" {
|
||||
showAllVersions = true
|
||||
log.T.F("REQ %s: detected show_all_versions tag, using QueryAllVersions", env.Subscription)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if showAllVersions {
|
||||
if filterEvents, err = l.QueryAllVersions(queryCtx, f); chk.E(err) {
|
||||
if errors.Is(err, badger.ErrDBClosed) {
|
||||
return
|
||||
}
|
||||
log.E.F("QueryAllVersions failed for filter: %v", err)
|
||||
err = nil
|
||||
continue
|
||||
}
|
||||
} else {
|
||||
if filterEvents, err = l.QueryEvents(queryCtx, f); chk.E(err) {
|
||||
if errors.Is(err, badger.ErrDBClosed) {
|
||||
return
|
||||
}
|
||||
log.E.F("QueryEvents failed for filter: %v", err)
|
||||
err = nil
|
||||
continue
|
||||
if filterEvents, err = l.QueryEvents(queryCtx, f); chk.E(err) {
|
||||
if errors.Is(err, badger.ErrDBClosed) {
|
||||
return
|
||||
}
|
||||
log.E.F("QueryEvents failed for filter: %v", err)
|
||||
err = nil
|
||||
continue
|
||||
}
|
||||
// Append events from this filter to the overall collection
|
||||
allEvents = append(allEvents, filterEvents...)
|
||||
|
||||
Reference in New Issue
Block a user