Commit Graph
17 Commits
Author SHA1 Message Date
dhkatzandClaude Opus 5.5 0c67232425 Badges: the proxy asks which IMVU accounts show the T5 badge
CI / test (push) Successful in 49s
POST /api/v1/badges {imvuIds} (at most 200) answers the linked accounts whose
badge is on, of people who aren't banned, in one query. It uses the existing
per-account showBadge (off by default, set from the account page).

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-30 02:38:01 -07:00
dhkatzandClaude Opus 5.5 6668b55117 Products: carry the IMVU parent's image and categories
CI / test (push) Successful in 49s
Revisions with an IMVU parent store its public info (image, category path, gender)
from IMVU's product API, looked up after registering and in a periodic pass.
Product views gain parent, image and categories; GET /products takes category and
limit. The website shows the image on cards and product pages.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-30 01:03:02 -07:00
dhkatzandClaude Opus 5.5 b4f6fce9df Product registry: catalogs, revisions, product info and libraries
CI / test (push) Successful in 43s
The hub registers catalogs (hidden until a moderator approves them), hands out upload tokens, and records the
revisions catalogs register after validating uploads: numbered, never changed, signed by the hub (its own
Ed25519 key, published at /.well-known/t5de-keys.json). Creators edit product info (descriptions cleaned by an
allowlist) and can retract revisions. People get products into their library, optionally staying on a
revision; the proxy asks which revision to load and where. Contract in docs/products.md.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-29 18:53:52 -07:00
dhkatzandClaude Opus 5.5 7fea63fc4f Design: everywhere the T5 badge appears
CI / test (push) Successful in 37s
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-29 18:41:43 -07:00
dhkatzandClaude Opus 5.5 143aeb3d84 Design: T5 products in the client's shop and inventory
CI / test (push) Successful in 40s
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-29 18:38:23 -07:00
dhkatzandClaude Opus 5.5 6ba4d83317 Room channel and rooms list
CI / test (push) Successful in 6m38s
The realtime connection now carries the IMVU chats a client is in: the hub tells each proxy in a chat which
other T5DE users are there and what community products they wear (adult products only to adult accounts), on
joining and on every change. Rooms T5DE users enter are looked up on IMVU; those that are public, listed and
whose owner turned on "List my public rooms" appear on the new Rooms page, with the T5DE users in them who
show they're online. AP rooms are shown to adults only.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-29 18:14:43 -07:00
dhkatzandClaude Opus 5.5 7db9fc0370 Vendor-neutral age verification, with IMVU as the first provider
CI / test (push) Successful in 35s
Age checks are recorded in one table (age_check) by provider, method and result, never with documents or
birth dates; one rule decides whether an IMVU account counts as adult (its person's check, or its own).
Providers implement a small interface (start, webhook or browser completion, re-check) and are chosen by
configuration, so phone wallets and Didit can be added, or swapped, as adapters. IMVU's answer per account
is re-checked when it expires (about daily). Existing links' results move into the new table.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-29 05:44:36 -07:00
dhkatzandClaude Opus 5.5 7a06ba49c3 Rebuild the hub on Bun: Elysia API, Better Auth, Drizzle, Next.js website
CI / test (push) Successful in 30s
The hub becomes a Bun monorepo: apps/api (Elysia, Better Auth for accounts, roles, bans, proxy device
sign-in and JWT keys; tagline linking, presence and the console as before), packages/db (Drizzle; Postgres in
production, PGlite in development and tests), and the Next.js website from apps/web. Self-hostable with
docker compose; the website deploys to Vercel-style hosts, the API to any that runs Bun or containers. The
first version, in Go, is removed.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-29 05:03:54 -07:00
dhkatzandClaude Opus 5.5 b9dc3f0ec1 Hub: accounts, IMVU linking by tagline, proxy sign-in, presence, console
CI / test (push) Failing after 42s
People sign up on the website and link IMVU accounts by putting a code in the account's tagline, which the
hub reads from IMVU's public API (the most recent proof wins; link caps per person). IMVU's age verification
or Access Pass make an account adult. T5DE's proxy signs in with a device code and keeps a WebSocket open,
reporting the IMVU account in use and the community products it wears; /online shows those who opted in.
Moderators get a console: who's online, people, link caps, bans, roles, and the audit log. Tests run the
website and API against an embedded Postgres and a fake IMVU API.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-29 03:45:52 -07:00
dhkatzandClaude Opus 5.5 54e569bea3 Latest revision by default; pins are opt-in per product, for what one wears
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-29 02:34:47 -07:00
dhkatzandClaude Opus 5.5 5db4939799 Product revisions with a public history
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-29 02:33:16 -07:00
dhkatzandClaude Opus 5.5 e923577c5a Editable product info, with HTML descriptions made safe
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-29 02:31:45 -07:00
dhkatzandClaude Opus 5.5 a229f8c5d0 Room list, occupancy, scenes and other sessions
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-29 02:20:20 -07:00
dhkatzandClaude Opus 5.5 0a4268bb62 Anyone can see catalogs' products; wearing needs membership
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-29 02:15:17 -07:00
dhkatzandClaude Opus 5.5 355002ec79 What a room needs from the server, for hosted rooms
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-29 02:10:42 -07:00
dhkatzandClaude Opus 5.5 4e0fca0825 Decide age, catalog access, takedown contacts, chat retention and server rendering
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-29 02:06:59 -07:00
dhkatzandClaude Opus 5.5 4564aa53cc Design draft for the hub, catalogs and community products
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-29 02:01:08 -07:00