matrix-org / matrix-org/matrix-widget-api
Support for sharing logs to client
Nobody has claimed this yet.
- 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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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