A quick vibe-coded site to test response times of PLC.directory mirrors (over 3 attempts)

Separate mirror fields in config and table

Update mirrors to include both url and implementation, and render them as distinct columns in the benchmark table. Adjust data types, config structure, and UI components to support per-mirror URL vs. implementation and three-attempt benchmarking with per-attempt times and averages.

X-Lovable-Edit-ID: edt-e9c42de2-881f-4130-8029-a33a068b3c82

Changed files
+20 -4
src
components
config
types
utils
+5 -1
src/components/BenchmarkTable.tsx
···
<Table>
<TableHeader>
<TableRow className="bg-muted/50">
+
<TableHead className="font-semibold">URL</TableHead>
<TableHead className="font-semibold">Implementation</TableHead>
<TableHead className="font-semibold text-center">Attempt 1</TableHead>
<TableHead className="font-semibold text-center">Attempt 2</TableHead>
···
<TableBody>
{sortedResults.map((result, index) => (
<TableRow key={index} className="hover:bg-muted/30 transition-colors">
-
<TableCell className="font-mono text-sm font-medium">
+
<TableCell className="font-mono text-sm text-muted-foreground">
{result.mirrorUrl}
+
</TableCell>
+
<TableCell className="font-medium">
+
{result.implementation}
</TableCell>
{result.attempts.map((attempt, attemptIndex) => (
<TableCell key={attemptIndex} className="text-center font-mono text-sm">
+13 -3
src/config/mirrors.ts
···
export interface Mirror {
url: string;
+
implementation: string;
}
export const mirrors: Mirror[] = [
-
{ url: "https://plc.directory" },
-
{ url: "https://plc.bsky-mirror.dev" },
-
{ url: "https://plc.us-east.host.bsky.network" },
+
{
+
url: "https://plc.directory",
+
implementation: "plc"
+
},
+
{
+
url: "https://plc.bsky-mirror.dev",
+
implementation: "plc"
+
},
+
{
+
url: "https://plc.us-east.host.bsky.network",
+
implementation: "plc"
+
},
];
+1
src/types/benchmark.ts
···
export interface BenchmarkResult {
mirrorUrl: string;
+
implementation: string;
attempts: BenchmarkAttempt[];
avgResponseTime: number;
status: "success" | "error";
+1
src/utils/benchmark.ts
···
return {
mirrorUrl: mirror.url,
+
implementation: mirror.implementation,
attempts,
avgResponseTime,
status: successfulAttempts.length > 0 ? "success" : "error",