Skip to content

🐛 [BUG] server-nestjs: projectMember.upsert/delete events have no consumer (GitLab member sync dead)  #2590

Description

@shikanime

Contexte / Context

La migration apps/server → apps/server-nestjs mappe les syncs de plugins via des Ă©vĂ©nements :

  • apps/server (legacy) : fire hook.projectMember.upsert(projectId, userId) / hook.projectMember.delete(projectId, userId) depuis resources/project-member/business.ts:52,61,69.
  • apps/server-nestjs : Ă©met via AppEventsService.emitProjectMemberEvent(...) → EventEmitter2 → consommateurs @OnEvent.

CĂŽtĂ© legacy, le hook est consommĂ© par le plugin gitlab : plugins/gitlab/src/index.ts:86-95 enregistre upsertProjectMember (Ă©tapes pre/main) et deleteProjectMember (post) — synchronisation des membres du projet cĂŽtĂ© GitLab.

ProblĂšme / Problem

Dans apps/server-nestjs, project-members.service.ts:62,127,152 émet projectMember.upsert / projectMember.delete, mais aucun module n'écoute ces événements :

grep -rln "OnEvent" apps/server-nestjs/src --include="*.ts" | xargs grep -l "projectMember"
# (aucun résultat)

ConsĂ©quence : l'ajout, la mise Ă  jour en lot ou la suppression d'un membre projet ne se rĂ©percute plus sur GitLab (invitations/permissions du groupe miroir). Le portage est silencieux — pas d'erreur, juste une dĂ©rive d'Ă©tat.

Issues liées

Définition du fini

  • Le choix de conception est tranchĂ© et documentĂ© dans cette issue (consommateurs @OnEvent dans un module gitlab nestjs vs arrĂȘt des Ă©missions)
  • Le comportement cible couvre les trois sites d'Ă©mission (project-members.service.ts:62,127,152)
  • Les specs verrouillant ce comportement sont ajoutĂ©es sous apps/server-nestjs
  • La paritĂ© avec le contrat legacy gitlab (pre/main/post) est vĂ©rifiĂ©e

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

bugSomething isn't workingtechnical debtRésoud de la dette technique

Type

No type

Projects

No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions