inPortalCache not invalidated on Matrix leave when bridge_matrix_leave is false
When `bridge_matrix_leave` is false, `handleMatrixMembership` drops leave events without invalidating `inPortalCache`. The next incoming remote message hits the cache in `MarkInPortal()`, skips `EnsureJoined`, and the user is never re-invited. Only a bridge restart clears the cache.
Fix: add a cache removal (e.g. `sender.inPortalCache.Remove(portal.PortalKey)`) before the early return in `handleMatrixMembership`.
0 条评论