
Security News
GitHub to Block pull_request_target Workflows by Default Starting December 2
GitHub is tightening GitHub Actions security with new restrictions on privileged pull request workflows. Here's what changes and how maintainers are affected.
convex-chat
Advanced tools
Authorization-aware direct and small-group chat primitives for Convex.
pnpm add convex-chat convex
Register the component in convex/convex.config.ts:
import chat from "convex-chat/convex.config.js";
import { defineApp } from "convex/server";
const app = defineApp();
app.use(chat);
export default app;
Run npx convex dev to generate the component API. Your host functions can
then call components.chat directly or use the actor-scoped helpers:
import { exposeChatApi } from "convex-chat";
import { components } from "./_generated/api";
const api = exposeChatApi(components.chat, {
authenticate: async (ctx) => {
const identity = await ctx.auth.getUserIdentity();
if (!identity) throw new Error("Unauthenticated");
// Resolve these IDs from your own trusted application data.
return resolveChatActor(identity);
},
});
export const listConversations = api.listConversations;
export const listMessages = api.listMessages;
export const sendText = api.sendText;
Export the functions your client needs from that object, or use the same pattern in custom queries and mutations. Conversation creation belongs in a host-controlled mutation after the application has checked its relationship and product-policy rules.
The host can also use the trusted getMemberAccess and setMemberAccess
component functions to project its policy to read_write, read_only, or
none. The setter requires the current membership revision. Do not expose
these privileged functions directly to clients.
The host application must authenticate every public caller and derive
scopeId and subjectId server-side. Never allow an untrusted client to choose
another user's subject ID. The component repeats chat-local membership checks
for actor operations even when the host wrapper has authenticated the caller.
Attachment bytes and storage credentials stay outside the component. The host application can integrate Cloudflare R2, native Convex storage, S3, or another provider without changing the durable chat model.
See the repository README, supported contract, presence guide, attachment guide, and security policy for more detail.
Projects importing convex-chat/test should install compatible convex-test
and Vite versions as development dependencies. They are optional peers and are
not required by production consumers.
Apache-2.0
FAQs
Authorization-aware human chat primitives for Convex applications.
The npm package convex-chat receives a total of 0 weekly downloads. As such, convex-chat popularity was classified as not popular.
We found that convex-chat demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.

Security News
GitHub is tightening GitHub Actions security with new restrictions on privileged pull request workflows. Here's what changes and how maintainers are affected.

Security News
/Application Security
A practical guide to securing GitHub Actions against supply chain attacks, covering malicious pull requests, credential theft, dependency risks, and release pipelines.

Security News
Composer 2.11 adds dependency cooldowns, joining package managers that delay new releases to reduce supply chain risks while allowing urgent security updates.