Polling Mixin (Riverpod v3 Compatible)
This week, I successfully fixed the polling mixin so that it is compatible with Riverpod v3. The previous implementation had issues due to changes in Riverpod’s architecture, but after studying the updated structure and testing different approaches, I managed to refactor it properly.
Current Issue: Emcee (Moderator) Data Error
However, a new issue appeared in the emcee (moderator) section of the system. The system is returning a null or unexpected type, and the current implementation is accessing the response dynamically, which triggers a NoSuchMethodError.
From the logs, the system shows that event data is being fetched correctly, but one of the returned values is null. There are also repeated jsonCouchResponse logs, which suggest inconsistent or unstructured responses from CouchDB. This indicates that the issue is likely caused by improper handling of API responses and missing null safety checks.
Suggested Solution (for current issue)
To fix the emcee/moderator error:
- Replace dynamic access with strongly typed models
- Add null safety checks when parsing CouchDB response
- Validate API response before using it
- Log raw response before mapping to identify missing fields
- Ensure
jsonCouchResponsealways returns a consistent structure - Avoid assuming all fields exist (especially
error,successText, etc.)
What Changed in Riverpod v3 (Key Learning)
While fixing the mixin, I also gained a better understanding of Riverpod v3 changes:
- Unified APIs (no more separate notifier types like before)
- Strong focus on
NotifierandAsyncNotifier - Stricter lifecycle and state handling
- Encourages structured and type-safe implementation
A key takeaway is that mixins should be used properly within Notifier-based architecture and not rely on old lifecycle patterns.
Live Event: EuroAsia (Miri edition)
I also went to Miri for another live competition event under EuroAsia. As usual, I was responsible for setting up all technical components for the event.
This included:
- Setting up web applications on ushers’ tablets for attendance
- Preparing judges’ laptops for marking and feedback
- Ensuring the emcee system was ready to start and control the event
The WiFi in Miri was stable compared to the hotel in JB last week, which made the setup smoother. However, one challenge I faced was with the HDMI cable connection during the setup. Fortunately, we managed to resolve the issue and proceed with the event successfully.
Observations / Reflection
This experience gave me more confidence in handling real-world technical setups. Each event is different, and unexpected issues such as hardware or connectivity problems can happen at any time. Being able to stay calm and troubleshoot on the spot is very important in live environments.
Looking Ahead
For the upcoming week, I hope to fully resolve the emcee (moderator) issue so I can move forward to the next task, which is building the login button for the application. I also aim to continue improving my understanding of Riverpod v3 and strengthen the system stability.
Another experience unlocked, and I look forward to learning even more in the next week of my internship journey.
0 Comments