chore(matrix): scrub final matrix references after subsystem removal

The matrix subsystem was removed in a prior commit. This commit cleans
up the small leftovers that grep found:

- docker-compose.macmini.yml: dropped the "Matrix Stack" port-range
  comment, the "matrix" category from the naming convention, and a
  stale watchtower comment about Matrix notifications.
- packages/credits/src/operations.ts: removed AI_BOT_CHAT credit
  operation type and its definition. It was the billing entry for "Chat
  with AI via Matrix bot" — no callers left.
- services/mana-credits gifts schema + service + validation: removed the
  targetMatrixId column / param / Zod field. The corresponding
  PostgreSQL column was dropped manually with
  `ALTER TABLE gifts.gift_codes DROP COLUMN target_matrix_id` on prod.
- docker/grafana/dashboards/{master,system}-overview.json: removed the
  `up{job="synapse"}` panel queries — they would have shown No Data
  forever now that Synapse is gone.

Production-side cleanup performed in parallel (not in this commit):
- Stopped + removed mana-matrix-{synapse,element,web,bot} containers
- Removed mana-matrix-bot:local, matrix-web:latest,
  matrixdotorg/synapse:latest, vectorim/element-web:latest images (~3 GB)
- Removed mana-matrix-bots-data Docker volume
- Removed /Volumes/ManaData/matrix/ media store (4.3 MB)
- DROP DATABASE matrix; DROP DATABASE synapse; on Postgres

Cosmetic leftovers intentionally untouched:
- Eisenhower matrix in todo (LayoutMode 'matrix') — productivity concept
- ${{ matrix.service }} in .github/workflows — GitHub Actions strategy
- services/mana-media/apps/api/dist/.../matrix/* — stale build output
  (not in git, regenerated next mana-media build)
This commit is contained in:
Till JS 2026-04-08 16:37:40 +02:00
parent e337243303
commit 2514831a3b
7 changed files with 1 additions and 31 deletions

View file

@ -61,7 +61,6 @@ export const giftCodes = giftsSchema.table(
// Personalization
targetEmail: text('target_email'),
targetMatrixId: text('target_matrix_id'),
// Riddle
riddleQuestion: text('riddle_question'),

View file

@ -48,7 +48,6 @@ export const createGiftSchema = z.object({
type: z.enum(['simple', 'personalized', 'split', 'first_come', 'riddle']).default('simple'),
totalPortions: z.number().int().positive().max(100).default(1),
targetEmail: z.string().email().optional(),
targetMatrixId: z.string().optional(),
riddleQuestion: z.string().max(200).optional(),
riddleAnswer: z.string().optional(),
message: z.string().max(500).optional(),

View file

@ -22,7 +22,6 @@ interface CreateGiftParams {
type?: 'simple' | 'personalized' | 'split' | 'first_come' | 'riddle';
totalPortions?: number;
targetEmail?: string;
targetMatrixId?: string;
riddleQuestion?: string;
riddleAnswer?: string;
message?: string;
@ -118,7 +117,6 @@ export class GiftCodeService {
totalPortions,
type,
targetEmail: params.targetEmail,
targetMatrixId: params.targetMatrixId,
riddleQuestion: params.riddleQuestion,
riddleAnswerHash,
message: params.message,