Skip to content

Implement dynamic session tabs#4536

Open
AuroraLS3 wants to merge 24 commits intomasterfrom
2742-paginated-sessions
Open

Implement dynamic session tabs#4536
AuroraLS3 wants to merge 24 commits intomasterfrom
2742-paginated-sessions

Conversation

@AuroraLS3
Copy link
Copy Markdown
Collaborator

@AuroraLS3 AuroraLS3 commented Mar 29, 2026

Description

This PR contains new dynamically filterable sessions page where user can choose from the calendar, or from date range selector which sessions and data they want to see.

Features

  • New Date picker component with a calendar selector.
  • Session tabs (Network, Server, Player) all now include calendar and the calendar can be clicked and dragged to select a timeframe.
  • Sessions table is now paginated, searchable and exportable and gets up to 10k sessions at a time. Paginated session table #2742
  • New /v1/datapoint endpoint that allows faster development and implementation of date range queries for specific datapoints Loading data points individually #4485
    • Web permissions for data.network, data.server, data.player that allow fine grain access to this endpoint and data presented by it.
    • Implemented datapoints PLAYTIME, AFK_TIME, AFK_TIME_PERCENTAGE, WORLD_PIE, SERVER_PIE, MOST_PLAYED_GAME_MODE, MOST_PLAYED_WORLD
    • Deprecated /v1/sessionsOverview and /v1/network/sessionsOverview

Other

  • Fix for Java formatted future dates always saying Today

TODO

  • Remove session count setting from the config
  • Cache logic for /v1/datapoints

AuroraLS3 added 24 commits March 8, 2026 12:38
- Link session calendar and session list together
- Add Tanstack react query
- Rewrote /v1/sessions endpoint
- Wrote logic for a generic filter that will allow easier data filtering in the future
# Conflicts:
#	Plan/react/dashboard/package.json
#	Plan/react/dashboard/yarn.lock
- Corrected timezone offset calculations in `ServerSessionCalendarCard.tsx`.
- Updated incorrect icons and labels in `SessionAccordion.jsx`.
- Adjusted AFK time percentage calculation in `SessionQueries.java`.
- Modified `ServerRecentSessionsCard.jsx` to remove redundant `isPlayer` prop.
- Improved `DateInputField.tsx` by adding metadata usage and disabling auto-close on selection.
# Conflicts:
#	Plan/react/dashboard/src/components/table/DataTablesTable.jsx
# Conflicts:
#	Plan/common/src/main/java/com/djrapitops/plan/identification/Identifiers.java
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.

1 participant