matrix-org / matrix-org/matrix-widget-api

Support for sharing logs to client

Open
#158 0 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
TypeScript
Stars
95
Forks
24
Avg merge
16h 16m
Merged PRs (30d)
1

Description

It's fairly typical in a deployment to want to get the logs of both the client process and the widget. Reporting bugs for end users is hard enough without having to ask them to do it twice, particularly in the context of projects like Element Call where it's deeply embedded in the client to the point where the lines are quite blurred.

With this in mind, it would be good to get a permission where a client may request logs from the widget, and then the widget will begin to stream relevant log lines back to the client so that the client may package up all logs as a potential log dump for developers to debug.

Note, for live debugging a session this isn't required as most major browsers already merge logs between the parent page and iframes so this is specifically about packaging logs up in a file format, as Element Web does.

Current thinking is the client can indicate to the widget that it supports log sharing via a URL parameter, and the widget may either choose to share or not share logs depending on support from the application.

Security wise, I believe it's reasonable to assume the user *does* trust the client they are using and so sharing logs to it isn't particularly sensitive.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the widget API's existing permission and client–widget communication definitions, then examine how URL parameters are handled. Define the protocol and log-streaming boundaries needed for a client to request and package widget logs, including the opt-in behavior and security expectations described in the issue.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
api
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.