From d6d0b07b50479b96c1cd7ea53ec63d25ce508d5f Mon Sep 17 00:00:00 2001 From: lowcarbdev Date: Sat, 28 Feb 2026 22:52:37 -0700 Subject: [PATCH] change ports --- SPEC.md | 2 +- frontend/src/App.jsx | 2 +- frontend/src/components/Activity.jsx | 2 +- frontend/src/components/Calls.jsx | 2 +- frontend/src/components/LazyMedia.jsx | 2 +- frontend/src/components/MediaCarousel.jsx | 2 +- frontend/src/components/MediaGrid.jsx | 2 +- frontend/src/components/MessageThread.jsx | 2 +- frontend/src/components/PrintView.jsx | 2 +- frontend/src/components/Search.jsx | 2 +- frontend/src/components/SettingsModal.jsx | 2 +- frontend/src/components/Summary.jsx | 14 ++++++++------ frontend/src/components/Upload.jsx | 2 +- frontend/src/contexts/AuthContext.jsx | 2 +- frontend/vite.config.js | 3 +++ internal/cors_middleware.go | 3 ++- main.go | 4 ++-- 17 files changed, 28 insertions(+), 22 deletions(-) diff --git a/SPEC.md b/SPEC.md index 47b052a..624a4ad 100644 --- a/SPEC.md +++ b/SPEC.md @@ -245,7 +245,7 @@ air cd frontend && npm run dev ``` -Frontend dev server runs on `:5173` and proxies API calls to `:8081`. +Frontend dev server runs on `:5175` and proxies API calls to `:8085`. ### Production Build diff --git a/frontend/src/App.jsx b/frontend/src/App.jsx index 569c0ab..5ea459b 100644 --- a/frontend/src/App.jsx +++ b/frontend/src/App.jsx @@ -15,7 +15,7 @@ import ChangePasswordModal from './components/ChangePasswordModal' import SettingsModal from './components/SettingsModal' import './App.css' -const API_BASE = import.meta.env.VITE_API_URL || 'http://localhost:8081/api' +const API_BASE = import.meta.env.VITE_API_URL || 'http://localhost:8085/api' function App() { const navigate = useNavigate() diff --git a/frontend/src/components/Activity.jsx b/frontend/src/components/Activity.jsx index c2a9bc7..4b1329b 100644 --- a/frontend/src/components/Activity.jsx +++ b/frontend/src/components/Activity.jsx @@ -2,7 +2,7 @@ import { useState, useEffect, useRef, useCallback } from 'react' import axios from 'axios' import LazyMedia from './LazyMedia' -const API_BASE = import.meta.env.VITE_API_URL || 'http://localhost:8081/api' +const API_BASE = import.meta.env.VITE_API_URL || 'http://localhost:8085/api' const PAGE_SIZE = 50 function Activity({ startDate, endDate }) { diff --git a/frontend/src/components/Calls.jsx b/frontend/src/components/Calls.jsx index 54c2c39..609098a 100644 --- a/frontend/src/components/Calls.jsx +++ b/frontend/src/components/Calls.jsx @@ -1,7 +1,7 @@ import { useState, useEffect, useRef, useCallback } from 'react' import axios from 'axios' -const API_BASE = import.meta.env.VITE_API_URL || 'http://localhost:8081/api' +const API_BASE = import.meta.env.VITE_API_URL || 'http://localhost:8085/api' const PAGE_SIZE = 50 function Calls({ startDate, endDate }) { diff --git a/frontend/src/components/LazyMedia.jsx b/frontend/src/components/LazyMedia.jsx index 180c428..29db039 100644 --- a/frontend/src/components/LazyMedia.jsx +++ b/frontend/src/components/LazyMedia.jsx @@ -3,7 +3,7 @@ import axios from 'axios' import VCardPreview from './VCardPreview' import './LazyMedia.css' -const API_BASE = import.meta.env.VITE_API_URL || 'http://localhost:8081/api' +const API_BASE = import.meta.env.VITE_API_URL || 'http://localhost:8085/api' function LazyMedia({ messageId, mediaType, className, alt = "MMS attachment" }) { const [src, setSrc] = useState(null) diff --git a/frontend/src/components/MediaCarousel.jsx b/frontend/src/components/MediaCarousel.jsx index 519685e..ab8bbe5 100644 --- a/frontend/src/components/MediaCarousel.jsx +++ b/frontend/src/components/MediaCarousel.jsx @@ -2,7 +2,7 @@ import { useState, useEffect, useRef } from 'react' import { format } from 'date-fns' import './MediaCarousel.css' -const API_BASE = import.meta.env.VITE_API_URL || 'http://localhost:8081/api' +const API_BASE = import.meta.env.VITE_API_URL || 'http://localhost:8085/api' function MediaCarousel({ mediaItems, initialIndex, onClose, transcodeVideos = new Set() }) { const [currentIndex, setCurrentIndex] = useState(initialIndex) diff --git a/frontend/src/components/MediaGrid.jsx b/frontend/src/components/MediaGrid.jsx index 4e4d6c0..1cc2bbe 100644 --- a/frontend/src/components/MediaGrid.jsx +++ b/frontend/src/components/MediaGrid.jsx @@ -3,7 +3,7 @@ import axios from 'axios' import MediaCarousel from './MediaCarousel' import './MediaGrid.css' -const API_BASE = import.meta.env.VITE_API_URL || 'http://localhost:8081/api' +const API_BASE = import.meta.env.VITE_API_URL || 'http://localhost:8085/api' function MediaGrid({ conversation, startDate, endDate }) { const [mediaItems, setMediaItems] = useState([]) diff --git a/frontend/src/components/MessageThread.jsx b/frontend/src/components/MessageThread.jsx index 85d3cf1..396f4d3 100644 --- a/frontend/src/components/MessageThread.jsx +++ b/frontend/src/components/MessageThread.jsx @@ -5,7 +5,7 @@ import { format } from 'date-fns' import LazyMedia from './LazyMedia' import MediaGrid from './MediaGrid' -const API_BASE = import.meta.env.VITE_API_URL || 'http://localhost:8081/api' +const API_BASE = import.meta.env.VITE_API_URL || 'http://localhost:8085/api' function MessageThread({ conversation, startDate, endDate }) { const location = useLocation() diff --git a/frontend/src/components/PrintView.jsx b/frontend/src/components/PrintView.jsx index a5b8a60..918d7cc 100644 --- a/frontend/src/components/PrintView.jsx +++ b/frontend/src/components/PrintView.jsx @@ -4,7 +4,7 @@ import axios from 'axios' import { format } from 'date-fns' import './PrintView.css' -const API_BASE = import.meta.env.VITE_API_URL || 'http://localhost:8081/api' +const API_BASE = import.meta.env.VITE_API_URL || 'http://localhost:8085/api' function PrintView() { const { address } = useParams() diff --git a/frontend/src/components/Search.jsx b/frontend/src/components/Search.jsx index 91e7153..0a70748 100644 --- a/frontend/src/components/Search.jsx +++ b/frontend/src/components/Search.jsx @@ -3,7 +3,7 @@ import { useEffect, useRef } from 'react' import axios from 'axios' import { format } from 'date-fns' -const API_BASE = import.meta.env.VITE_API_URL || 'http://localhost:8081/api' +const API_BASE = import.meta.env.VITE_API_URL || 'http://localhost:8085/api' function Search({ searchQuery, setSearchQuery, results, setResults, loading, setLoading, searched, setSearched, scrollPosition, setScrollPosition }) { const navigate = useNavigate() diff --git a/frontend/src/components/SettingsModal.jsx b/frontend/src/components/SettingsModal.jsx index b755aee..d03a625 100644 --- a/frontend/src/components/SettingsModal.jsx +++ b/frontend/src/components/SettingsModal.jsx @@ -1,7 +1,7 @@ import { useState, useEffect } from 'react' import axios from 'axios' -const API_BASE = import.meta.env.VITE_API_URL || 'http://localhost:8081/api' +const API_BASE = import.meta.env.VITE_API_URL || 'http://localhost:8085/api' function SettingsModal({ show, onClose, onSettingsUpdated }) { const [settings, setSettings] = useState({ diff --git a/frontend/src/components/Summary.jsx b/frontend/src/components/Summary.jsx index c8ad585..d7e1f18 100644 --- a/frontend/src/components/Summary.jsx +++ b/frontend/src/components/Summary.jsx @@ -5,7 +5,7 @@ import { PieChart, Pie, Cell, LineChart, Line, Legend } from 'recharts' -const API_BASE = import.meta.env.VITE_API_URL || 'http://localhost:8081/api' +const API_BASE = import.meta.env.VITE_API_URL || 'http://localhost:8085/api' // Color palette const COLORS = ['#0d6efd', '#198754', '#ffc107', '#dc3545', '#6c757d', '#0dcaf0', '#6610f2', '#d63384'] @@ -166,23 +166,25 @@ function Summary({ startDate, endDate }) {
Sent vs Received
{messageTypeData.length > 0 ? ( - + `${name} ${(percent * 100).toFixed(0)}%`} + label={({ percent }) => `${(percent * 100).toFixed(0)}%`} + labelLine={true} > {messageTypeData.map((entry, index) => ( ))} - + [value.toLocaleString(), name]} /> + ) : ( diff --git a/frontend/src/components/Upload.jsx b/frontend/src/components/Upload.jsx index 58b9245..7ce2ffe 100644 --- a/frontend/src/components/Upload.jsx +++ b/frontend/src/components/Upload.jsx @@ -2,7 +2,7 @@ import { useState } from 'react' import axios from 'axios' import { Modal, Button, Form, Alert, Spinner, ProgressBar } from 'react-bootstrap' -const API_BASE = import.meta.env.VITE_API_URL || 'http://localhost:8081/api' +const API_BASE = import.meta.env.VITE_API_URL || 'http://localhost:8085/api' function Upload({ onClose, onSuccess }) { const [files, setFiles] = useState([]) diff --git a/frontend/src/contexts/AuthContext.jsx b/frontend/src/contexts/AuthContext.jsx index 774201c..a5eb60e 100644 --- a/frontend/src/contexts/AuthContext.jsx +++ b/frontend/src/contexts/AuthContext.jsx @@ -1,7 +1,7 @@ import { createContext, useContext, useState, useEffect } from 'react' import axios from 'axios' -const API_BASE = import.meta.env.VITE_API_URL || 'http://localhost:8081/api' +const API_BASE = import.meta.env.VITE_API_URL || 'http://localhost:8085/api' const AuthContext = createContext(null) diff --git a/frontend/vite.config.js b/frontend/vite.config.js index 8b0f57b..586be3a 100644 --- a/frontend/vite.config.js +++ b/frontend/vite.config.js @@ -4,4 +4,7 @@ import react from '@vitejs/plugin-react' // https://vite.dev/config/ export default defineConfig({ plugins: [react()], + server: { + port: 5175, + }, }) diff --git a/internal/cors_middleware.go b/internal/cors_middleware.go index f160a74..8148627 100644 --- a/internal/cors_middleware.go +++ b/internal/cors_middleware.go @@ -11,8 +11,9 @@ import ( func CustomCORSMiddleware() echo.MiddlewareFunc { allowedOrigins := map[string]bool{ "http://localhost:5173": true, + "http://localhost:5175": true, "http://localhost:3000": true, - "http://localhost:8081": true, + "http://localhost:8085": true, } return func(next echo.HandlerFunc) echo.HandlerFunc { diff --git a/main.go b/main.go index 1fa5612..0586c20 100644 --- a/main.go +++ b/main.go @@ -150,7 +150,7 @@ func main() { go func() { port := os.Getenv("PORT") if port == "" { - port = "8081" + port = "8085" } pprofPort := "6060" logger.Info("Memory profiling available", "url", "http://localhost:"+pprofPort+"/debug/pprof/") @@ -161,7 +161,7 @@ func main() { port := os.Getenv("PORT") if port == "" { - port = "8081" + port = "8085" } // Create HTTP server with longer timeouts for large file uploads