Skip to content

feat(membership): add inactive member detection#1061

Open
avivkeller wants to merge 3 commits into
nodejs:mainfrom
avivkeller:get-inactive-members
Open

feat(membership): add inactive member detection#1061
avivkeller wants to merge 3 commits into
nodejs:mainfrom
avivkeller:get-inactive-members

Conversation

@avivkeller

@avivkeller avivkeller commented Apr 24, 2026

Copy link
Copy Markdown
Member

@JakobJingleheimer mentioned that during the collaborator's summit, it was discussed that we should be more wary of the size of the organization. This adds a daily workflow to keep a constant "activity monitor" issue open.

It requires that a public_repo, read:org token be made for this repository.

An example issue that this workflow generates is below (Note: In a real issue, these users would be pinged):

Workflow Output
# Organization Inactivity Audit — nodejs

_Run: 2026-04-26T16:11:12.618Z · Window: last 90 days · Inactive: 125/254_

## Summary
- Inactive members: 125
- Members with no team: 9
- Members with no recent activity: 122
- Both signals: 6
## Inactive members

| Login | Reason | Last seen | Teams |
|---|---|---|---|
| @a0viedo | no-activity | — | `documentation`, `all-members` |
| @AdamBraden | no-activity | — | `platform-windows`, `platforms`, `core`, `platform-windows-arm`, `platform-windows-arm-testing`, `all-members` |
| @agnat | no-activity | — | `addon-api`, `coreworkinggroups`, `all-members` |
| @ahmadawais | no-activity | — | `next-10`, `all-members` |
| @aixtools | no-team | — | — |
| @aks- | no-activity | — | `http`, `core`, `all-members` |
| @alexcfyung | no-activity | — | `platforms`, `core`, `platform-zos`, `all-members` |
| @alexeykuzmin | no-activity | — | `delivery-channels`, `embedders`, `all-members` |
| @alexweej | no-team | — | — |
| @amiller-gh | no-activity | — | `commit-queue`, `all-members` |
| @anandsuresh | no-activity | — | `platform-freebsd`, `platforms`, `core`, `all-members` |
| @andrewbranch | no-activity | — | `typescript`, `all-members` |
| @AnnaMag | no-activity | — | `v8`, `core`, `vm`, `all-members` |
| @ashishkurmi | no-activity | — | `security-wg`, `all-members` |
| @bahamat | no-activity, no-team | — | — |
| @bajtos | no-activity | — | `all-members`, `wintercg` |
| @bmeurer | no-activity | — | `v8`, `performance`, `core`, `all-members` |
| @bradleythughes | no-activity | — | `platform-freebsd`, `platforms`, `core`, `all-members` |
| @bzoz | no-activity | — | `platform-windows`, `node-gyp`, `platforms`, `core`, `all-members` |
| @camillobruni | no-activity | — | `v8`, `core`, `all-members` |
| @charlespierce | no-activity, no-team | — | — |
| @coreybutler | no-activity | — | `version-management`, `delivery-channels`, `all-members` |
| @coreyfarrell | no-activity | — | `tooling`, `all-members` |
| @DavidCai1111 | no-activity | — | `testing`, `all-members` |
| @davidmarkclements | no-activity | — | `diagnostics`, `post-mortem`, `coreworkinggroups`, `all-members` |
| @davisjam | no-activity | — | `benchmarking`, `coreworkinggroups`, `all-members` |
| @designMoreWeb | no-activity | — | `electron-installer`, `next-10`, `all-members` |
| @dgonzalez | no-activity | — | `security-wg`, `all-members` |
| @ehsan | no-activity | — | `spidernode`, `all-members` |
| @emaste | no-activity | — | `platform-freebsd`, `platforms`, `core`, `all-members` |
| @Emuentes | no-activity | — | `package-maintenance`, `all-members` |
| @Eomm | no-activity | — | `package-maintenance`, `all-members` |
| @esarafianou | no-activity | — | `security-wg`, `all-members` |
| @evocateur | no-activity | — | `tooling`, `all-members` |
| @fed135 | no-activity | — | `all-members`, `web-server-frameworks` |
| @felixrieseberg | no-activity | — | `electron-installer`, `delivery-channels`, `embedders`, `all-members` |
| @fraxken | no-activity | — | `security-wg`, `all-members` |
| @fritzy | no-activity | — | `npm`, `core`, `all-members` |
| @gareth-ellis | no-activity | — | `benchmarking`, `performance`, `coreworkinggroups`, `core`, `all-members` |
| @gdams | no-activity | — | `testing`, `platform-macos`, `platforms`, `core`, `commit-queue`, `all-members` |
| @geek | no-activity | — | `platform-smartos`, `platforms`, `core`, `all-members` |
| @ghinks | no-activity | — | `package-maintenance`, `next-10`, `all-members` |
| @GnorTech | no-activity | — | `delivery-channels`, `embedders`, `all-members` |
| @groundwater | no-activity | — | `delivery-channels`, `embedders`, `all-members` |
| @gsathya | no-activity | — | `v8`, `core`, `all-members` |
| @Harkunwar | no-activity | — | `web`, `nodejs-website`, `all-members` |
| @hashseed | no-activity | — | `v8`, `core`, `v8-update`, `all-members` |
| @HinataKah0 | no-team | — | — |
| @hiroppy | no-activity | — | `core`, `path`, `console`, `all-members` |
| @hmalphettes | no-activity, no-team | — | — |
| @iansu | no-activity | — | `core`, `linting`, `tooling`, `package-maintenance`, `next-10`, `all-members` |
| @iarna | no-activity | — | `tooling`, `all-members` |
| @IgorTodorovskiIBM | no-activity | — | `platforms`, `core`, `platform-zos`, `all-members` |
| @imyller | no-activity | — | `platform-macos`, `platforms`, `core`, `all-members` |
| @jasonkarns | no-activity | — | `version-management`, `delivery-channels`, `all-members` |
| @jBarz | no-activity | — | `v8`, `core`, `all-members` |
| @jbergstroem | no-activity | — | `platform-freebsd`, `github-bot`, `platforms`, `core`, `all-members` |
| @JckXia | no-activity | — | `node-api`, `all-members` |
| @JiaLiPassion | no-activity | — | `async_hooks`, `core`, `all-members` |
| @jkleinsc | no-activity | — | `delivery-channels`, `embedders`, `all-members` |
| @jlenon7 | no-activity | — | `loaders`, `all-members` |
| @joaocgreis | no-activity | — | `build`, `platform-windows`, `jenkins-release-admins`, `node-gyp`, `platforms`, `coreworkinggroups`, `core`, `jenkins-admins`, `build-infra`, `all-members` |
| @JoeDoyle23 | no-activity | — | `electron-installer`, `all-members` |
| @joesepi | no-activity | — | `security`, `tooling`, `next-10`, `all-members`, `security-stewards` |
| @john-yan | no-activity | — | `platform-s390`, `platform-aix`, `platform-ppc`, `platforms`, `core`, `all-members` |
| @JohnTitor | no-activity | — | `moderation`, `i18n`, `all-members` |
| @jperkin | no-activity | — | `platform-smartos`, `platforms`, `core`, `all-members` |
| @jschlight | no-activity | — | `node-api`, `all-members` |
| @karenyavine | no-activity | — | `security-wg`, `all-members` |
| @kjin | no-activity | — | `diagnostics`, `coreworkinggroups`, `core`, `perfetto`, `all-members` |
| @kunalspathak | no-activity | — | `benchmarking`, `coreworkinggroups`, `all-members` |
| @lance | no-activity | — | `platform-macos`, `platforms`, `core`, `all-members` |
| @larson-carter | no-activity, no-team | — | — |
| @lholmquist | no-activity | — | `package-maintenance`, `all-members` |
| @littledivy | no-activity | — | `node-api-implementer`, `all-members` |
| @lucamaraschi | no-activity | — | `diagnostics`, `post-mortem`, `coreworkinggroups`, `all-members` |
| @mafintosh | no-activity | — | `core`, `os`, `all-members` |
| @manishprivet | no-activity | — | `web`, `nodejs-website`, `all-members` |
| @marcelklehr | no-activity | — | `version-management`, `delivery-channels`, `all-members` |
| @MarcinHoppe | no-activity | — | `security-wg`, `all-members` |
| @mattpocock | no-activity, no-team | — | — |
| @MayaLekova | no-activity | — | `v8`, `core`, `all-members` |
| @mgalexander | no-activity | — | `security-wg`, `all-members` |
| @mike-kaufman | no-activity | — | `diagnostics`, `coreworkinggroups`, `all-members` |
| @MoonBall | no-activity | — | `streams`, `http-parser`, `http`, `coreworkinggroups`, `core`, `all-members` |
| @natorion | no-activity | — | `v8`, `core`, `all-members` |
| @nitsakh | no-activity | — | `delivery-channels`, `embedders`, `all-members` |
| @niyas-sait | no-activity | — | `platforms`, `core`, `platform-windows-arm`, `platform-windows-arm-testing`, `all-members` |
| @nlf | no-activity | — | `npm`, `core`, `all-members` |
| @node-forward-build | no-activity | — | `build`, `jenkins-release-admins`, `coreworkinggroups`, `jenkins-admins`, `all-members` |
| @nornagon | no-activity | — | `delivery-channels`, `embedders`, `all-members` |
| @nullivex | no-activity | — | `version-management`, `delivery-channels`, `all-members` |
| @o- | no-activity | — | `v8`, `core`, `all-members` |
| @obensource | no-activity | — | `i18n-api`, `i18n`, `all-members` |
| @ospencer | no-activity | — | `wasi`, `all-members` |
| @othiym23 | no-activity | — | `diagnostics`, `coreworkinggroups`, `moderation`, `all-members` |
| @pavelfeldman | no-activity | — | `v8-inspector`, `all-members` |
| @phated | no-activity | — | `wasi`, `all-members` |
| @phillipj | no-activity | — | `github-bot`, `all-members` |
| @piccoloaiutante | no-activity | — | `streams-admins`, `all-members` |
| @potham | no-activity | — | `package-maintenance`, `all-members` |
| @puzpuzpuz | no-activity | — | `benchmarking`, `async_hooks`, `coreworkinggroups`, `core`, `next-10`, `all-members` |
| @pxlpnk | no-activity | — | `security-wg`, `all-members` |
| @rexagod | no-activity | — | `streams`, `http`, `testing`, `coreworkinggroups`, `core`, `all-members` |
| @robertgzr | no-activity | — | `single-executable`, `all-members` |
| @rogerwang | no-activity | — | `delivery-channels`, `embedders`, `all-members` |
| @RReverser | no-activity | — | `buffer`, `core`, `all-members` |
| @rubys | no-activity | — | `documentation`, `core`, `repl`, `all-members` |
| @sampsongao | no-activity | — | `n-api-admins`, `all-members` |
| @shanpriyan | no-activity, no-team | — | — |
| @shigeki | no-activity | — | `http2`, `core`, `all-members` |
| @SomeoneWeird | no-activity | — | `security-wg`, `all-members` |
| @stduhpf | no-activity | — | `caritat`, `all-members` |
| @ThePrez | no-activity | — | `platforms`, `core`, `platform-ibmi`, `all-members` |
| @ThePrimeagen | no-activity | — | `benchmarking`, `coreworkinggroups`, `all-members` |
| @TooTallNate | no-activity | — | `addon-api`, `coreworkinggroups`, `all-members` |
| @uttampawar | no-activity | — | `benchmarking`, `coreworkinggroups`, `all-members` |
| @verwaest | no-activity | — | `v8`, `core`, `all-members` |
| @victorgomes | no-activity | — | `v8`, `core`, `all-members` |
| @vostrik | no-activity | — | `platform-windows`, `platforms`, `core`, `package-maintenance`, `all-members` |
| @vvalderrv | no-activity | — | `all-members`, `linuxit-infra-temp` |
| @yhwang | no-activity | — | `testing`, `all-members` |
| @yosuke-furukawa | no-activity | — | `http2`, `core`, `all-members` |
| @yunong | no-activity | — | `diagnostics`, `post-mortem`, `coreworkinggroups`, `all-members` |
| @zsw007 | no-activity | — | `platforms`, `core`, `platform-zos`, `all-members` |

## Errors
- @deian — Validation Failed: {"message":"The listed users cannot be searched either because the users do not exist or you do not have permission to view the users.","resource":"Search","field":"q","code":"invalid"} - https://docs.github.com/v3/search/
- @ebraminio — Validation Failed: {"message":"The listed users cannot be searched either because the users do not exist or you do not have permission to view the users.","resource":"Search","field":"q","code":"invalid"} - https://docs.github.com/v3/search/
- @nodejs-crowdin — Validation Failed: {"message":"The listed users cannot be searched either because the users do not exist or you do not have permission to view the users.","resource":"Search","field":"q","code":"invalid"} - https://docs.github.com/v3/search/
- @ronperris — Validation Failed: {"message":"The listed users cannot be searched either because the users do not exist or you do not have permission to view the users.","resource":"Search","field":"q","code":"invalid"} - https://docs.github.com/v3/search/

Loading
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants