Fix: warmup brukte feil kolonnenavn (u.name → u.display_name, message_type::text cast)

Også fikset Windows line endings i dev.sh.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
vegard 2026-03-16 02:56:59 +01:00
parent af8f6f97c2
commit 38f26ef1d9
2 changed files with 85 additions and 85 deletions

164
dev.sh
View file

@ -1,82 +1,82 @@
#!/usr/bin/env bash
set -euo pipefail
# Sidelinja — start alt for lokal utvikling
# Bruk: ./dev.sh [--clean]
# --clean Sletter SpacetimeDB-data og starter blankt
ROOT="$(cd "$(dirname "$0")" && pwd)"
SPACETIME_URL="http://127.0.0.1:3000"
SPACETIME_MODULE="sidelinja-realtime"
SPACETIME_SERVER="local"
# === Rens ved behov ===
if [[ "${1:-}" == "--clean" ]]; then
echo "=== Renser SpacetimeDB-data ==="
docker compose -f "$ROOT/docker-compose.dev.yml" --env-file "$ROOT/.env.local" \
rm -sf spacetimedb 2>/dev/null || true
rm -rf "$ROOT/.docker-data/spacetimedb"
mkdir -p "$ROOT/.docker-data/spacetimedb"
fi
# === 1. Docker-tjenester ===
echo "=== Starter Docker-tjenester ==="
docker compose -f "$ROOT/docker-compose.dev.yml" --env-file "$ROOT/.env.local" up -d
# === 2. Vent på SpacetimeDB ===
echo "=== Venter på SpacetimeDB ==="
timeout 30 bash -c "until curl -sf $SPACETIME_URL/v1/ping > /dev/null 2>&1; do sleep 1; done" \
|| { echo "FEIL: SpacetimeDB svarte ikke innen 30s"; exit 1; }
echo "SpacetimeDB klar"
# === 3. Konfigurer spacetime CLI (håndterer ny fingerprint automatisk) ===
echo "=== Konfigurerer SpacetimeDB CLI ==="
spacetime server remove "$SPACETIME_SERVER" 2>/dev/null || true
spacetime server add "$SPACETIME_SERVER" --url "$SPACETIME_URL" --default 2>/dev/null || true
# === 4. Publiser modul ===
echo "=== Publiserer SpacetimeDB-modul ==="
cd "$ROOT/spacetimedb"
spacetime publish "$SPACETIME_MODULE" --server "$SPACETIME_SERVER" 2>&1 \
| grep -v "wasm-opt\|Would you like\|WARNING.*UNSTABLE" || true
echo "Modul publisert"
# === 5. Generer TypeScript-bindinger ===
echo "=== Genererer TypeScript-bindinger ==="
spacetime generate --lang typescript \
--out-dir "$ROOT/web/src/lib/chat/module_bindings" \
--module-path .
echo "Bindinger generert"
# === 6. Start worker + frontend ===
echo ""
echo "=== Starter worker + frontend ==="
cd "$ROOT/worker"
cargo run -- --spacetimedb-url "$SPACETIME_URL" --sync-interval 1 --warmup-limit 100 2>&1 | sed 's/^/[worker] /' &
WORKER_PID=$!
cd "$ROOT/web"
npm run dev 2>&1 | sed 's/^/[frontend] /' &
FRONTEND_PID=$!
cleanup() {
echo ""
echo "Stopper worker og frontend..."
kill $WORKER_PID $FRONTEND_PID 2>/dev/null
wait $WORKER_PID $FRONTEND_PID 2>/dev/null
echo "Stoppet. Docker-tjenester kjører fortsatt (bruk 'docker compose down' for å stoppe)."
}
trap cleanup EXIT INT TERM
echo ""
echo "Alt kjører:"
echo " Frontend: http://localhost:5173"
echo " SpacetimeDB: $SPACETIME_URL"
echo " PostgreSQL: localhost:5432"
echo " Worker PID: $WORKER_PID"
echo ""
echo "Ctrl+C for å stoppe worker + frontend."
echo ""
wait
#!/usr/bin/env bash
set -euo pipefail
# Sidelinja — start alt for lokal utvikling
# Bruk: ./dev.sh [--clean]
# --clean Sletter SpacetimeDB-data og starter blankt
ROOT="$(cd "$(dirname "$0")" && pwd)"
SPACETIME_URL="http://127.0.0.1:3000"
SPACETIME_MODULE="sidelinja-realtime"
SPACETIME_SERVER="local"
# === Rens ved behov ===
if [[ "${1:-}" == "--clean" ]]; then
echo "=== Renser SpacetimeDB-data ==="
docker compose -f "$ROOT/docker-compose.dev.yml" --env-file "$ROOT/.env.local" \
rm -sf spacetimedb 2>/dev/null || true
rm -rf "$ROOT/.docker-data/spacetimedb"
mkdir -p "$ROOT/.docker-data/spacetimedb"
fi
# === 1. Docker-tjenester ===
echo "=== Starter Docker-tjenester ==="
docker compose -f "$ROOT/docker-compose.dev.yml" --env-file "$ROOT/.env.local" up -d
# === 2. Vent på SpacetimeDB ===
echo "=== Venter på SpacetimeDB ==="
timeout 30 bash -c "until curl -sf $SPACETIME_URL/v1/ping > /dev/null 2>&1; do sleep 1; done" \
|| { echo "FEIL: SpacetimeDB svarte ikke innen 30s"; exit 1; }
echo "SpacetimeDB klar"
# === 3. Konfigurer spacetime CLI (håndterer ny fingerprint automatisk) ===
echo "=== Konfigurerer SpacetimeDB CLI ==="
spacetime server remove "$SPACETIME_SERVER" 2>/dev/null || true
spacetime server add "$SPACETIME_SERVER" --url "$SPACETIME_URL" --default 2>/dev/null || true
# === 4. Publiser modul ===
echo "=== Publiserer SpacetimeDB-modul ==="
cd "$ROOT/spacetimedb"
spacetime publish "$SPACETIME_MODULE" --server "$SPACETIME_SERVER" 2>&1 \
| grep -v "wasm-opt\|Would you like\|WARNING.*UNSTABLE" || true
echo "Modul publisert"
# === 5. Generer TypeScript-bindinger ===
echo "=== Genererer TypeScript-bindinger ==="
spacetime generate --lang typescript \
--out-dir "$ROOT/web/src/lib/chat/module_bindings" \
--module-path .
echo "Bindinger generert"
# === 6. Start worker + frontend ===
echo ""
echo "=== Starter worker + frontend ==="
cd "$ROOT/worker"
cargo run -- --spacetimedb-url "$SPACETIME_URL" --sync-interval 1 --warmup-limit 100 2>&1 | sed 's/^/[worker] /' &
WORKER_PID=$!
cd "$ROOT/web"
npm run dev 2>&1 | sed 's/^/[frontend] /' &
FRONTEND_PID=$!
cleanup() {
echo ""
echo "Stopper worker og frontend..."
kill $WORKER_PID $FRONTEND_PID 2>/dev/null
wait $WORKER_PID $FRONTEND_PID 2>/dev/null
echo "Stoppet. Docker-tjenester kjører fortsatt (bruk 'docker compose down' for å stoppe)."
}
trap cleanup EXIT INT TERM
echo ""
echo "Alt kjører:"
echo " Frontend: http://localhost:5173"
echo " SpacetimeDB: $SPACETIME_URL"
echo " PostgreSQL: localhost:5432"
echo " Worker PID: $WORKER_PID"
echo ""
echo "Ctrl+C for å stoppe worker + frontend."
echo ""
wait

View file

@ -129,7 +129,7 @@ pub async fn run(
SELECT
mr.message_id::text,
COALESCE(mr.user_id, ''),
COALESCE(u.name, 'Ukjent'),
COALESCE(u.display_name, 'Ukjent'),
mr.reaction
FROM message_reactions mr
JOIN messages m ON m.id = mr.message_id
@ -188,9 +188,9 @@ const MESSAGE_COLUMNS: &str = r#"
m.channel_id::text,
n.workspace_id::text,
COALESCE(m.author_id, ''),
COALESCE(u.name, 'Ukjent'),
COALESCE(u.display_name, 'Ukjent'),
COALESCE(m.body, ''),
COALESCE(m.message_type, 'text'),
COALESCE(m.message_type::text, 'text'),
m.reply_to::text,
m.created_at::text
"#;