fix(web): fully remove payload runtime from production build
Remove ALL Payload imports, withPayload wrapper, and (payload) routes. Blog index + changelog are now static data arrays. Blog post at /blog/peer-messaging-claude-code is static TSX. Payload CMS stays as a dev dependency for future local admin but has zero presence in the production build. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -352,6 +352,53 @@ export async function heartbeat(presenceId: string): Promise<void> {
|
||||
.where(eq(presence.id, presenceId));
|
||||
}
|
||||
|
||||
// --- Peer discovery ---
|
||||
|
||||
/** Return all active (connected) presences in a mesh, joined with member info. */
|
||||
export async function listPeersInMesh(
|
||||
meshId: string,
|
||||
): Promise<
|
||||
Array<{
|
||||
pubkey: string;
|
||||
displayName: string;
|
||||
status: string;
|
||||
summary: string | null;
|
||||
sessionId: string;
|
||||
connectedAt: Date;
|
||||
}>
|
||||
> {
|
||||
const rows = await db
|
||||
.select({
|
||||
pubkey: memberTable.peerPubkey,
|
||||
displayName: memberTable.displayName,
|
||||
status: presence.status,
|
||||
summary: presence.summary,
|
||||
sessionId: presence.sessionId,
|
||||
connectedAt: presence.connectedAt,
|
||||
})
|
||||
.from(presence)
|
||||
.innerJoin(memberTable, eq(presence.memberId, memberTable.id))
|
||||
.where(
|
||||
and(
|
||||
eq(memberTable.meshId, meshId),
|
||||
isNull(presence.disconnectedAt),
|
||||
),
|
||||
)
|
||||
.orderBy(asc(presence.connectedAt));
|
||||
return rows;
|
||||
}
|
||||
|
||||
/** Update the summary text on a presence row. */
|
||||
export async function setSummary(
|
||||
presenceId: string,
|
||||
summary: string,
|
||||
): Promise<void> {
|
||||
await db
|
||||
.update(presence)
|
||||
.set({ summary })
|
||||
.where(eq(presence.id, presenceId));
|
||||
}
|
||||
|
||||
// --- Message queueing + delivery ---
|
||||
|
||||
export interface QueueParams {
|
||||
|
||||
Reference in New Issue
Block a user