By creating this pull request, I grant the project maintainers an unlimited,
perpetual license to use, modify, and redistribute these contributions under any terms they
choose, including both the AGPLv3 and the Fossorial Commercial license terms. I
represent that I have the right to grant this license for all contributed content.
Description
Adds admins the ability to manage existing user and resource sessions. Shows some basic session stats and admins can choose to remove individual sessions or invalidate all sessions for a given user.
How to test?
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.
## 📋 Pull Request Information
**Original PR:** https://github.com/fosrl/pangolin/pull/1247
**Author:** [@jnewing](https://github.com/jnewing)
**Created:** 8/10/2025
**Status:** ❌ Closed
**Base:** `dev` ← **Head:** `feature-session-management`
---
### 📝 Commits (2)
- [`fe10330`](https://github.com/fosrl/pangolin/commit/fe10330b76b4eea9cc8b4cf5ec90c427ab72352d) initial commit of the session mgr stuff
- [`45fb1ea`](https://github.com/fosrl/pangolin/commit/45fb1ea7d8dc55a94580d9b7a512ef2272c4728f) lang stuff
### 📊 Changes
**18 files changed** (+1315 additions, -102 deletions)
<details>
<summary>View changed files</summary>
📝 `package-lock.json` (+9 -101)
📝 `server/routers/external.ts` (+9 -0)
➕ `server/routers/session/getSessionStats.ts` (+70 -0)
➕ `server/routers/session/index.ts` (+6 -0)
➕ `server/routers/session/invalidateAllUserSessions.ts` (+60 -0)
➕ `server/routers/session/invalidateResourceSession.ts` (+57 -0)
➕ `server/routers/session/invalidateUserSession.ts` (+60 -0)
➕ `server/routers/session/listResourceSessions.ts` (+88 -0)
➕ `server/routers/session/listUserSessions.ts` (+59 -0)
➕ `src/app/admin/sessions/InvalidateSessionDialog.tsx` (+86 -0)
➕ `src/app/admin/sessions/ResourceSessionsDataTable.tsx` (+30 -0)
➕ `src/app/admin/sessions/ResourceSessionsTable.tsx` (+250 -0)
➕ `src/app/admin/sessions/UserSessionsDataTable.tsx` (+30 -0)
➕ `src/app/admin/sessions/UserSessionsTable.tsx` (+251 -0)
➕ `src/app/admin/sessions/page.tsx` (+147 -0)
➕ `src/app/admin/sessions/resource-sessions/page.tsx` (+48 -0)
➕ `src/app/admin/sessions/user-sessions/page.tsx` (+48 -0)
📝 `src/app/navigation.tsx` (+7 -1)
</details>
### 📄 Description
## Community Contribution License Agreement
By creating this pull request, I grant the project maintainers an unlimited,
perpetual license to use, modify, and redistribute these contributions under any terms they
choose, including both the AGPLv3 and the Fossorial Commercial license terms. I
represent that I have the right to grant this license for all contributed content.
## Description
Adds admins the ability to manage existing user and resource sessions. Shows some basic session stats and admins can choose to remove individual sessions or invalidate all sessions for a given user.


## How to test?
---
<sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
📋 Pull Request Information
Original PR: https://github.com/fosrl/pangolin/pull/1247
Author: @jnewing
Created: 8/10/2025
Status: ❌ Closed
Base:
dev← Head:feature-session-management📝 Commits (2)
fe10330initial commit of the session mgr stuff45fb1ealang stuff📊 Changes
18 files changed (+1315 additions, -102 deletions)
View changed files
📝
package-lock.json(+9 -101)📝
server/routers/external.ts(+9 -0)➕
server/routers/session/getSessionStats.ts(+70 -0)➕
server/routers/session/index.ts(+6 -0)➕
server/routers/session/invalidateAllUserSessions.ts(+60 -0)➕
server/routers/session/invalidateResourceSession.ts(+57 -0)➕
server/routers/session/invalidateUserSession.ts(+60 -0)➕
server/routers/session/listResourceSessions.ts(+88 -0)➕
server/routers/session/listUserSessions.ts(+59 -0)➕
src/app/admin/sessions/InvalidateSessionDialog.tsx(+86 -0)➕
src/app/admin/sessions/ResourceSessionsDataTable.tsx(+30 -0)➕
src/app/admin/sessions/ResourceSessionsTable.tsx(+250 -0)➕
src/app/admin/sessions/UserSessionsDataTable.tsx(+30 -0)➕
src/app/admin/sessions/UserSessionsTable.tsx(+251 -0)➕
src/app/admin/sessions/page.tsx(+147 -0)➕
src/app/admin/sessions/resource-sessions/page.tsx(+48 -0)➕
src/app/admin/sessions/user-sessions/page.tsx(+48 -0)📝
src/app/navigation.tsx(+7 -1)📄 Description
Community Contribution License Agreement
By creating this pull request, I grant the project maintainers an unlimited,
perpetual license to use, modify, and redistribute these contributions under any terms they
choose, including both the AGPLv3 and the Fossorial Commercial license terms. I
represent that I have the right to grant this license for all contributed content.
Description
Adds admins the ability to manage existing user and resource sessions. Shows some basic session stats and admins can choose to remove individual sessions or invalidate all sessions for a given user.
How to test?
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.