DIMMiN Notes
My working notes related to the development of dimmin.com.
2026-05-28-Thursday
- Found out the IRC connection disconnected for both the
- Used the get chatters endpoint to manually generate the starting wall of joins (i'll have to correct the user attendance sessions soon to reflect that)
2026-05-23-Saturday
- Completed migration from SQLlite to PostgreSQL
- Updated the Django Admin page to reflect the newly available models
- Catalixia updated the Twitch Dev Console to reflect the twitchio OAuth configuration
2026-05-22-Friday
- Used pgloader to transfer the SQLlite database to the new PostgreSQL database
2026-05-20-Wednesday
- Figured out why the Virtual Machines had such a slow transfer speed to the NAS (rsync issue, network connection is fine)
- Created a Docker Container to help host PostgreSQL 16 on the NAS
- Established a connection between the Catalixiahbot Django App and the PostgreSQL server on the NAS
2026-05-19-Tuesday
- Applied a quick fix to the leaderboard using the
fix_user_sessionsscript - Gained access to the new twitch token, allowing the first successful call to the get chatters endpoint of the Twitch Stream REST API
- Updated Catalixiahbot's trackerbot to include the new oauth flow, began setting up the upgraded functionality to include new features like tracking followers, channel points redemptions, stream online / offline status, etc.
- Found the fetch_chatters endpoint which I can use to monitor user watchtime in an updated version of Catalixiahbot
- Began investigating slow transfer speeds between
AMand my NAS, main culprit is probably Port Trunking
2026-05-17-Sunday
- Finished up the daily watchtime calculation
- Updated the
fix_user_sessionsDjango Management Command so that args for individual users or resetting all sessions actually work - Sent the steps required to get the refresh token to test out the twitchio REST API
2026-05-16-Saturday
- Found that the backup server was deployed after the graceful shutdowns started (so it wasn't much help for fixing existing active user sessions).
- Manually updated the active users in the Production database
- Validated the updated active user daily watchtime component
- Created the start of the session based component of the daily watchtime query (clipping user sessions to the start and end of the subathon duration)
2026-05-15-Friday
- Found the bug in daily watchtime calculation - there are users who are marked as still active who actually left during the server shutdown. Since I did not get the wall of joins the last time I rebooted the server (now that I have two connections to the source I won't get the wall of joins) I'll need some other way
- Otherwise validated the daily watchtime calculation for active users (works, but we have too many active users)
- Found a way to get the list of active users in chat (up to 1k users) with the get chatters api call
2026-05-14-Thursday
- Created a backup Docker Container that runs Catalixiahbot without development, meant to run forever just to collect
Eventdata, trackable on port1336 - Updated
is_graceful_shutdownto display in the admin page - Updated the attendance validation step to mark graceful shutdowns as invalid, essentially solving the server shutdown issue with watchtime / user attendance errors
- Fixed formatting of watchtime calculation to output a human readable string in addition to the total seconds
- Started re-calculating daily watchtime from active sessions
2026-05-13-Wednesday
- Found the main bug in the watchtime calculation - session history needed to be recalculated for every user that had sessions based on invalid attendances. When the individual session was removed and sessions were re-calculated, it resulted in valid (but not necessarily directly sequential) attendances being paired together.
- Pushed updates to Production