The GitHub Actions job "Build" on texera.git/master has succeeded. Run started by GitHub user aicam (triggered by aicam).
Head commit for run: a67da0799f763f3bfe1e4f6ec09e98c0603c597e / Jae Yun Kim <[email protected]> feat: add user's activeness to admin dashboard (#3625) This pr adds a new feature where the admin can keep track of the active/inactive users on the Admin Dashboard. The feature is added in order to give admin users a better use experience and straightforward overview of users' activeness. A ring is added around the avatars and it will turn green whenever a user is active and gray if a user is inactive. Closes #3624. ## For Developers Please do the following steps to incorporate with new changes: - Apply core/scripts/sql/updates/10.sql to your local postgres instance --- Since every http request triggers the jwtFilter, my design is to upsert the user's last login time record whenever the request triggers the jwtFilter. The upsert function will add a new record if the user never logged in before, and will update the last_login attribute. When the admin visits the admin dashboard, the call to the getUserList will now contain a list of users with a new attribute named lastActive, which is a Unix epoch timestamp in seconds. If a user's lastActive attribute is null or the difference between the current timestamp and its lastActive timestamp is larger than the set threshold (a.k.a active window), the user will be inactive, otherwise active. Here we define the active window as 15 minutes. With this threshold, admin users will be able to know which users were active within the last 15 minutes. A new table named time_log is introduced to the db and it has a primary key uid that references the uid from user table. When a user makes a http request, the attribute will be updated in the db. Future changes might be made to this table since we are planning to introduce more attributes like account creation time. The token's expiration time is set to 15 minutes, and refresh time is set to 16 minutes in order to make sure a user is "logged out" when they don't make anymore http requests. As soon as the system detects that the last active time has a 15 minutes difference with the current time, it will mark the user as inactive. ### Screenshot of Feature <img width="792" height="748" alt="image" src="https://github.com/user-attachments/assets/2251d9e9-f77c-484d-89a5-0d5a42d8f85a" /> --------- Co-authored-by: Xinyuan Lin <[email protected]> Co-authored-by: ali risheh <[email protected]> Report URL: https://github.com/apache/texera/actions/runs/16893471033 With regards, GitHub Actions via GitBox
