Replies: 12 comments 11 replies
|
@leslieyip02 Well, the bug with HSI1000 is fixed. But uhhh... we need to think of the UI now:
|
|
The basics work now, but still WIP on things like backward comp and serialization Recording.2025-07-10.222140.1.mp4 |
|
Progress update: finished the serialization. Working on backward comps now. |
|
Progress update: Finished backward comps. Time to learn golang to port optimizer over 😮💨 |
|
@leslieyip02 Can I clarify something from: #3930 (comment)?
I am not sure I quite follow the issue described, what is expected behaviour here? |
|
Progress: porting optimiser is done. Working on tests. |
|
It just occurred to me I should probably ask for comments about this implementation before fixing the test cases There are a bunch of hacks I used client side to augment what is meant to be data returned from server side, those will be removed of course. I am looking for comments about the general implementation. There is still quite a bit of refactoring that I still want to do. |
|
I think it will be better structure to store information such as lesson indices, module codes, etc..., since it is clearer to future maintainers that the values inside are unique, and the order of these data should not be relevant to their equality, However, this will also require quite a bit of added code to transform arrays as parsed from the API response JSON. What do yous think? |
|
@leslieyip02 |
|
Ok, I'm done with old tests and coverage. Just merging conflicts now. |
|
Not much conflicts. Working on JSDocs now. |



Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Opening this discussion to talk about proposed changes originating from #3930
Lesson groups are meant to replace lessons-by-classNo, or rather, serves as an evolution
Lesson groups store lesson indices as an array
Lessons in a lesson group must have the same classNo
No lessons in a lesson group may overlap with another
dayandstartTimeandendTimeprovided that the weeks are separate (Added, thanks @leslieyip02)This is meant to resolve ambiguous lessons with the same
classNoanddayandstartTimeandendTimelike the ones in HSI1000The state structure under timetable will be
When changing lessons in normal mode, lesson groups are used to show the hints on hover, and when the user selects the lesson, we can write the lesson indices in the lesson group into state
When adding lessons in TA mode, lesson groups are not used
When disabling TA mode for a module, we use the lesson indices in the state to determine which lesson group should be written into state, depending on which lesson group has the most matching lessons when the user disables TA mode.
All reactions