getappmap / appmap-intellij-plugin

MIT License
38 stars 9 forks source link

JetBrains displays a notification when an AppMap analysis report is first posted to a GitHub Pull Request which they created #482

Open brikelly opened 11 months ago

brikelly commented 11 months ago

AppMap for GitHub's major feature is the analysis report which gets posted to each PR in a repo. Here is an example.

We would like our IDE plugins to notify the user whenever AppMap posts an analysis report to a PR which they created. We will only be able to reliably do this through our own server, since we can't guarantee that the user will be logged in to their IDEs with their GitHub credentials. We will however have their app.land credentials stored locally since those are required to use the plugin.

The app.land server will expose an API endpoint over websockets to allow the IDE to subscribe to notifications from the server side for this. The server will know when a PR report comment has been posted and will notify the IDE over the websocket connection.

The notification should allow the user to click on a link that takes them directly to the report (see link above for an example). That means the link should include the anchor that jumps down the PR page until it reaches the AppMap report.

Care should be taken to prevent a user getting overwhelmed with stale notifications on the client side for old PRs. For example, we probably don't want users getting IDE notifications for PR reports which were created a lot earlier while their IDE was offline/closed. So we can start this project by following this rule: if an IDE user is online at the time that the report is posted, they should get an immediate notification; if their IDE is not online at the time of the report then they shouldn't get the notification ever. We can revisit this approach later, but it will help simplify the initial implementation.

A sample notification could be:

The AppMap runtime code review for PR #123 is ready. x [ View on GitHub ]

kgilpin commented 11 months ago

One change - the report is called AppMap runtime code review

jansorg commented 10 months ago

This needs an API spec and/or a working websocket endpoint.