Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Basic maintainer dashboard #2435

Draft
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

zklaus
Copy link
Contributor

@zklaus zklaus commented Jan 30, 2025

Basic idea

This adds a basic feedstock maintainer dashboard. The idea is to have a place that makes it easy to interact with maintainer tasks, largely by querying information from github and making it available in a manner that is more tailored to conda-forge than the generic github notifications.
In contrast to the existing status page, this page presents information specifically for one's github user.

Implementation details

This is done via github's graphql API in the browser with a custom react component using Apollo Client. Authentication in this demo is done via a PAT inserted manually into the local storage of the browser, but if adopted, would be done via oauth2.

Prior work and inspiration

Prior work includes the status page as well as the osl's conda-forge warning panel, both of which differ from this approach in that they present generic, system-level information.

Nevertheless, the conda-forge warning panel also uses graphql api, which makes the information presented there suitable for integration into the website with the techniques available here.

This demo and possibilities

This demo simply shows a list of all feedstocks that the authenticated user is maintaining together with and sorted by the number of open PRs and Issues (see the screenshot below).

Other ideas brought up by @jaimergp and partly discussed in earlier plannings include:

  • separate information about mentions and team mentions within the conda-forge org (useful for core members)
  • the subscription api
  • integration of information from conda-forge/by-the-numbers
  • more elaborate information about outstanding maintenance tasks, such as
    • PR age
    • number of co-maintainers
    • average lifetime of PRs in a given feedstock

To try this demo out yourself, you need to insert a personal access token manually into the local storage. I have used a classic token with permissions public_repo, read:org, and read:user, which must be inserted under the name token into localStorage via Firefox' "Web Developer Tools" or a similar mechanism for other browsers. This works both for the deploy preview from netlify linked below and a local development server.

maintainer-dashboard

There also is a Zulip topic where these ideas can be discussed here.

Benefits

For me, one main goal with this is to remove all the routine maintenance notifications from my github notifications feed in order to give more prominence to relevant notifications. Another goal is to have a springboard that allows me to quickly tackle urgent tasks when I have a few minutes without first sorting through a lot of notifications to figure out what's most relevant.

Focused feedback

Some information that would be useful to determine next steps or future directions:

  • Do you think this is useful? Would you use it?
  • Is there any other information or data that would be useful to you in this dashboard?

Copy link

netlify bot commented Jan 30, 2025

Deploy Preview for conda-forge-previews ready!

Name Link
🔨 Latest commit 59c036f
🔍 Latest deploy log https://app.netlify.com/sites/conda-forge-previews/deploys/679b4ca40c29f50008b60f2c
😎 Deploy Preview https://deploy-preview-2435--conda-forge-previews.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
Lighthouse
Lighthouse
1 paths audited
Performance: 64
Accessibility: 96
Best Practices: 100
SEO: 89
PWA: -
View the detailed breakdown and full score reports

To edit notification comments on pull requests, go to your Netlify site configuration.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

1 participant