Reorganizacion de dev/issues en subcarpetas (completed/, cpp/, gamedev/,
kanban/, trading/, imagegen/, matrix/) y cambios acumulados en cmd/fn/pyrunner,
.claude/commands y settings. Trabajo de otro LLM/sesion, commiteado a peticion
del usuario para desbloquear el working tree. Excluido logs/ardour_mcp_server.log (ruido).
matrix-client-pc scaffold: Wails + React+Mantine + login MAS
pendiente
alta
2026-05-24
0010
0148
0162
0162
matrix
wails
react
mantine
mas
oidc
scaffold
Objetivo
Crear el esqueleto de la app projects/element_agents/apps/matrix_client_pc/ con Wails v2 (Go) + React+Vite+Mantine+@fn_library y dejar funcionando el login MAS OIDC contra mas-...organic-machine.com. Resultado: arrancar binario -> redirect navegador a MAS -> volver con token -> mostrar perfil del usuario.
Tareas
wails init -n matrix_client_pc -t react-ts dentro de projects/element_agents/apps/.
app.md con frontmatter (lang=go, framework=wails, tags incluyen matrix + service? — NO, es app cliente, sin tag service).
go.mod con deps: wails/v2, mautrix-go, keyring.
Reemplazar template frontend por React+Mantine+@fn_library. Symlink frontend/src/fn_library -> ../../../../../frontend/functions/ui/ (o copia si symlink no funciona en build).
Backend Go (backend/):
wails.json con bindings para MatrixService.
MatrixService.Login() -> URL (devuelve URL MAS OIDC).
MatrixService.HandleCallback(code) -> User.
MatrixService.GetSession() -> *Session (lee de keyring).
MatrixService.Logout().
Frontend React: layout AppShell Mantine, pagina Login.tsx con boton "Sign in with Matrix" -> abre URL MAS en navegador del SO.
Persistencia tokens en keyring SO (github.com/zalando/go-keyring).
Loopback HTTP local (127.0.0.1:0, puerto libre aleatorio) para recibir callback OIDC.
Test e2e basico: arrancar app, login con @dev-pc:matrix-af2f3d.organic-machine.com, ver perfil.
Funciones del registry a crear (delegar a fn-constructor)
matrix_client_init_go_infra — mautrix.NewClient(homeserver, userID, accessToken) -> *Client, error. Wrapper que configura SQLite store + crypto store.