diff --git a/api/cmd/api/main.go b/api/cmd/api/main.go index 9c06f7f..2d1ff78 100644 --- a/api/cmd/api/main.go +++ b/api/cmd/api/main.go @@ -6,6 +6,7 @@ import ( "log/slog" "os" "os/signal" + "strings" "syscall" "github.com/LSUDOKOS/signal/internal/ai" @@ -80,7 +81,12 @@ func main() { postgres.NewTranslationRepository(db) // Initialize Redis cache - cache, err := redis.NewCache(ctx, fmt.Sprintf("redis://%s", cfg.Redis.Addr)) + // Render provides REDIS_URL as a full URL; locally we build it from REDIS_ADDR + redisURL := cfg.Redis.Addr + if !strings.HasPrefix(redisURL, "redis://") && !strings.HasPrefix(redisURL, "rediss://") { + redisURL = "redis://" + redisURL + } + cache, err := redis.NewCache(ctx, redisURL) if err != nil { slog.Error("failed to connect to redis", "error", err) os.Exit(1) diff --git a/api/internal/config/config.go b/api/internal/config/config.go index 128df3d..91d88d2 100644 --- a/api/internal/config/config.go +++ b/api/internal/config/config.go @@ -113,8 +113,8 @@ func Load() (*Config, error) { // because pgx can accept a full DSN. We expose it via RailwayDSN(). cfg.DB.RailwayURL = dbURL } - if redisURL := os.Getenv("REDIS_URL"); redisURL != "" && cfg.Redis.Addr == "localhost:6379" { - cfg.Redis.Addr = redisURL // go-redis accepts full redis:// URL as Addr too + if redisURL := os.Getenv("REDIS_URL"); redisURL != "" { + cfg.Redis.Addr = redisURL // store full URL, main.go handles the prefix check } // Railway injects PORT if port := os.Getenv("PORT"); port != "" { diff --git a/frontend/next.config.ts b/frontend/next.config.ts index 14e7524..4029ea0 100644 --- a/frontend/next.config.ts +++ b/frontend/next.config.ts @@ -1,7 +1,7 @@ import type { NextConfig } from "next"; const nextConfig: NextConfig = { - output: "standalone", + // output standalone is intentionally omitted — Vercel manages its own build output images: { unoptimized: true, }, @@ -11,3 +11,5 @@ const nextConfig: NextConfig = { }; export default nextConfig; + +export default nextConfig; diff --git a/APPLY_MANIFEST.md b/project-docs/setup/APPLY_MANIFEST.md similarity index 100% rename from APPLY_MANIFEST.md rename to project-docs/setup/APPLY_MANIFEST.md diff --git a/DEMO_WORKSPACE_SETUP.md b/project-docs/setup/DEMO_WORKSPACE_SETUP.md similarity index 100% rename from DEMO_WORKSPACE_SETUP.md rename to project-docs/setup/DEMO_WORKSPACE_SETUP.md diff --git a/SLACK_CONFIG_CHECKLIST.md b/project-docs/setup/SLACK_CONFIG_CHECKLIST.md similarity index 100% rename from SLACK_CONFIG_CHECKLIST.md rename to project-docs/setup/SLACK_CONFIG_CHECKLIST.md diff --git a/SLACK_EVENT_SUBSCRIPTIONS_FIX.md b/project-docs/setup/SLACK_EVENT_SUBSCRIPTIONS_FIX.md similarity index 100% rename from SLACK_EVENT_SUBSCRIPTIONS_FIX.md rename to project-docs/setup/SLACK_EVENT_SUBSCRIPTIONS_FIX.md diff --git a/SLACK_FIX_COMMANDS.md b/project-docs/setup/SLACK_FIX_COMMANDS.md similarity index 100% rename from SLACK_FIX_COMMANDS.md rename to project-docs/setup/SLACK_FIX_COMMANDS.md diff --git a/SIGNAL_PROJECT_SPEC.md b/project-docs/specs/SIGNAL_PROJECT_SPEC.md similarity index 100% rename from SIGNAL_PROJECT_SPEC.md rename to project-docs/specs/SIGNAL_PROJECT_SPEC.md diff --git a/agent.md b/project-docs/specs/agent.md similarity index 100% rename from agent.md rename to project-docs/specs/agent.md diff --git a/FINAL_FIX.md b/project-docs/testing/FINAL_FIX.md similarity index 100% rename from FINAL_FIX.md rename to project-docs/testing/FINAL_FIX.md diff --git a/FINAL_STATUS_AND_TESTING.md b/project-docs/testing/FINAL_STATUS_AND_TESTING.md similarity index 98% rename from FINAL_STATUS_AND_TESTING.md rename to project-docs/testing/FINAL_STATUS_AND_TESTING.md index 2f182df..82f6690 100644 --- a/FINAL_STATUS_AND_TESTING.md +++ b/project-docs/testing/FINAL_STATUS_AND_TESTING.md @@ -361,10 +361,10 @@ These don't affect the core demo. All critical slash commands work perfectly. 1. **Check logs** — Look for ERROR lines 2. **Restart server** — `Ctrl+C` then `go run ./cmd/api/main.go` -3. **Verify tokens** — Run `./test_slack_token.sh` +3. **Verify tokens** — Run `../../scripts/test/test_slack_token.sh` 4. **Check guides:** - - `SLACK_EVENT_SUBSCRIPTIONS_FIX.md` - - `WORKING_FEATURES_TEST.md` + - `../setup/SLACK_EVENT_SUBSCRIPTIONS_FIX.md` + - `./WORKING_FEATURES_TEST.md` **Last resort:** - Create GitHub issue diff --git a/WORKING_FEATURES_TEST.md b/project-docs/testing/WORKING_FEATURES_TEST.md similarity index 96% rename from WORKING_FEATURES_TEST.md rename to project-docs/testing/WORKING_FEATURES_TEST.md index 339becd..fe6f13f 100644 --- a/WORKING_FEATURES_TEST.md +++ b/project-docs/testing/WORKING_FEATURES_TEST.md @@ -220,9 +220,9 @@ When recording your demo video for the hackathon: ## Files Created for Debugging -1. `test_slack_token.sh` - Validate bot token -2. `SLACK_EVENT_SUBSCRIPTIONS_FIX.md` - Configuration guide -3. `watch_logs.sh` - Real-time log monitoring +1. `../../scripts/test/test_slack_token.sh` - Validate bot token +2. `../setup/SLACK_EVENT_SUBSCRIPTIONS_FIX.md` - Configuration guide +3. `../../scripts/dev/watch_logs.sh` - Real-time log monitoring 4. This file - Testing guide --- diff --git a/watch_logs.sh b/scripts/dev/watch_logs.sh similarity index 100% rename from watch_logs.sh rename to scripts/dev/watch_logs.sh diff --git a/SLACK_CLI_SETUP.sh b/scripts/setup/SLACK_CLI_SETUP.sh similarity index 100% rename from SLACK_CLI_SETUP.sh rename to scripts/setup/SLACK_CLI_SETUP.sh diff --git a/test_all_features.sh b/scripts/test/test_all_features.sh similarity index 92% rename from test_all_features.sh rename to scripts/test/test_all_features.sh index 8173f6d..ff23551 100755 --- a/test_all_features.sh +++ b/scripts/test/test_all_features.sh @@ -97,7 +97,7 @@ if [ $passed -eq $total ]; then echo "Your Signal bot is fully functional!" echo "" echo "Next steps:" - echo "1. Record demo video (see FINAL_STATUS_AND_TESTING.md)" + echo "1. Record demo video (see ../../project-docs/testing/FINAL_STATUS_AND_TESTING.md)" echo "2. Create architecture diagram" echo "3. Submit to Devpost" echo "" @@ -111,7 +111,7 @@ else echo "" echo "❌ CRITICAL ISSUES" echo "Please check server logs and review:" - echo " - FINAL_STATUS_AND_TESTING.md" - echo " - SLACK_EVENT_SUBSCRIPTIONS_FIX.md" + echo " - ../../project-docs/testing/FINAL_STATUS_AND_TESTING.md" + echo " - ../../project-docs/setup/SLACK_EVENT_SUBSCRIPTIONS_FIX.md" echo "" fi diff --git a/test_slack_token.sh b/scripts/test/test_slack_token.sh similarity index 100% rename from test_slack_token.sh rename to scripts/test/test_slack_token.sh