alphapapa / alphapapa/ement.el

Conduwuit servers send membership events for all members in a room, causing slow initial rendering of room buffers

Abierto
#296 4 comentarios 0 reacciones 1 asignado Reclamado por @alphapapa Ver en GitHub
discussion
Lenguaje dominante
Emacs Lisp
Estrellas
604
Forks
54
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

### OS/platform

Linux 6.10.6-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.10.6-1 (2024-08-19) x86_64 GNU/Linux

### Emacs version and provenance

GNU Emacs 29.4 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.42, cairo version 1.18.0) of 2024-06-30, modified by Debian

Installed: "apt install emacs"

### Emacs command

emacsclient -c

### Emacs frame type

GUI

### Ement package version and provenance

Version: 0.16pre from GitHub repository, on 0.15.1 (gnu) also

### Actions taken

After succesfull login I select Emacs room on `*Ement Room List*`, pressing ``.

### Observed results

CPU utilisation increases to 25% and emacs temporary stops responding.
After a delay of 26 seconds, emacs regains control and displays the buffer. However, the content of the room buffer is incorrect, it lists all room members and their joining history. At the end of the buffer can the current conversation be found.

### Expected results

Expected unmeasurable delay in displaying the room and correct buffer content as for other clients.

### Backtrace

```elisp
Error is not signaled.
```

### Etc.

- The effect does not occur on 2 other clients, I checked Element Desktop and Fractal
- The effect occurs for remote rooms on the Conduwuit homeserver
- The effect does not occur on matrix.org homeserver (Synapse)
- The effect occurs when the room buffer is opened
- The length of the delay is proportional to the count of room members
- Latency has definitely decreased after updating Ement from v. 0.15.1 to v. 0.16pre
- The Emacs room is only used as an example to demonstrate the problem because it has many members

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.