Compare commits

...

2 Commits

6 changed files with 45 additions and 26 deletions

View File

@@ -81,6 +81,29 @@ echo "Building for platform: $PLATFORM"
echo "Output binary: $OUTPUT_NAME" echo "Output binary: $OUTPUT_NAME"
echo "" echo ""
# Check if Alpine base image is cached
echo "Checking for cached Alpine Docker image..."
if ! docker images alpine:3.19 --format "{{.Repository}}:{{.Tag}}" | grep -q "alpine:3.19"; then
echo "⚠ Alpine 3.19 image not found in cache"
echo "Attempting to pull Alpine 3.19 image..."
if ! docker pull alpine:3.19; then
echo ""
echo "ERROR: Failed to pull Alpine 3.19 image"
echo "This is required for the static build."
echo ""
echo "Possible solutions:"
echo " 1. Check your internet connection"
echo " 2. Try again later (Docker Hub may be temporarily unavailable)"
echo " 3. If you have IPv6 issues, disable IPv6 for Docker"
echo ""
exit 1
fi
echo "✓ Alpine 3.19 image pulled successfully"
else
echo "✓ Alpine 3.19 image found in cache"
fi
echo ""
# Build the Docker image # Build the Docker image
echo "==========================================" echo "=========================================="
echo "Step 1: Building Alpine Docker image" echo "Step 1: Building Alpine Docker image"

View File

@@ -32,7 +32,7 @@ You're all set up now - just wait for the next crash and then run the coredumpct
-------------------------- --------------------------
DEBUGGING
Even simpler: Use this one-liner Even simpler: Use this one-liner
# Start relay and immediately attach gdb # Start relay and immediately attach gdb
@@ -89,3 +89,4 @@ sudo ufw delete allow 8888/tcp
lsof -i :7777 lsof -i :7777
kill $(lsof -t -i :7777) kill $(lsof -t -i :7777)
kill -9 $(lsof -t -i :7777) kill -9 $(lsof -t -i :7777)

View File

@@ -1 +1 @@
1505647 1683148

View File

@@ -239,7 +239,7 @@ cJSON* query_subscription_details(void) {
const char* sql = const char* sql =
"SELECT * " "SELECT * "
"FROM active_subscriptions_log " "FROM active_subscriptions_log "
"ORDER BY created_at DESC LIMIT 100"; "ORDER BY created_at DESC";
// DEBUG: Log the query results for debugging subscription_details // DEBUG: Log the query results for debugging subscription_details
DEBUG_LOG("=== SUBSCRIPTION_DETAILS QUERY DEBUG ==="); DEBUG_LOG("=== SUBSCRIPTION_DETAILS QUERY DEBUG ===");

View File

@@ -12,8 +12,8 @@
// Version information (auto-updated by build system) // Version information (auto-updated by build system)
#define VERSION_MAJOR 1 #define VERSION_MAJOR 1
#define VERSION_MINOR 0 #define VERSION_MINOR 0
#define VERSION_PATCH 7 #define VERSION_PATCH 9
#define VERSION "v1.0.7" #define VERSION "v1.0.9"
// Avoid VERSION_MAJOR redefinition warning from nostr_core_lib // Avoid VERSION_MAJOR redefinition warning from nostr_core_lib
#undef VERSION_MAJOR #undef VERSION_MAJOR

View File

@@ -1,11 +1,11 @@
/* Embedded SQL Schema for C Nostr Relay /* Embedded SQL Schema for C Nostr Relay
* Schema Version: 8 * Schema Version: 9
*/ */
#ifndef SQL_SCHEMA_H #ifndef SQL_SCHEMA_H
#define SQL_SCHEMA_H #define SQL_SCHEMA_H
/* Schema version constant */ /* Schema version constant */
#define EMBEDDED_SCHEMA_VERSION "8" #define EMBEDDED_SCHEMA_VERSION "9"
/* Embedded SQL schema as C string literal */ /* Embedded SQL schema as C string literal */
static const char* const EMBEDDED_SCHEMA_SQL = static const char* const EMBEDDED_SCHEMA_SQL =
@@ -14,7 +14,7 @@ static const char* const EMBEDDED_SCHEMA_SQL =
-- Configuration system using config table\n\ -- Configuration system using config table\n\
\n\ \n\
-- Schema version tracking\n\ -- Schema version tracking\n\
PRAGMA user_version = 8;\n\ PRAGMA user_version = 9;\n\
\n\ \n\
-- Enable foreign key support\n\ -- Enable foreign key support\n\
PRAGMA foreign_keys = ON;\n\ PRAGMA foreign_keys = ON;\n\
@@ -57,8 +57,8 @@ CREATE TABLE schema_info (\n\
\n\ \n\
-- Insert schema metadata\n\ -- Insert schema metadata\n\
INSERT INTO schema_info (key, value) VALUES\n\ INSERT INTO schema_info (key, value) VALUES\n\
('version', '8'),\n\ ('version', '9'),\n\
('description', 'Hybrid Nostr relay schema with subscription deduplication support'),\n\ ('description', 'Hybrid Nostr relay schema with fixed active_subscriptions_log view'),\n\
('created_at', strftime('%s', 'now'));\n\ ('created_at', strftime('%s', 'now'));\n\
\n\ \n\
-- Helper views for common queries\n\ -- Helper views for common queries\n\
@@ -236,21 +236,16 @@ ORDER BY date DESC;\n\
-- View for current active subscriptions (from log perspective)\n\ -- View for current active subscriptions (from log perspective)\n\
CREATE VIEW active_subscriptions_log AS\n\ CREATE VIEW active_subscriptions_log AS\n\
SELECT\n\ SELECT\n\
s.subscription_id,\n\ subscription_id,\n\
s.client_ip,\n\ client_ip,\n\
s.filter_json,\n\ filter_json,\n\
s.events_sent,\n\ events_sent,\n\
s.created_at,\n\ created_at,\n\
(strftime('%s', 'now') - s.created_at) as duration_seconds,\n\ (strftime('%s', 'now') - created_at) as duration_seconds,\n\
s.wsi_pointer\n\ wsi_pointer\n\
FROM subscriptions s\n\ FROM subscriptions\n\
WHERE s.event_type = 'created'\n\ WHERE event_type = 'created'\n\
AND NOT EXISTS (\n\ AND ended_at IS NULL;\n\
SELECT 1 FROM subscriptions s2\n\
WHERE s2.subscription_id = s.subscription_id\n\
AND s2.wsi_pointer = s.wsi_pointer\n\
AND s2.event_type IN ('closed', 'expired', 'disconnected')\n\
);\n\
\n\ \n\
-- Database Statistics Views for Admin API\n\ -- Database Statistics Views for Admin API\n\
-- Event kinds distribution view\n\ -- Event kinds distribution view\n\