Replies: 12 comments 11 replies
-
@leslieyip02 Well, the bug with HSI1000 is fixed. But uhhh... we need to think of the UI now: ![]() |
Beta Was this translation helpful? Give feedback.
-
The basics work now, but still WIP on things like backward comp and serialization Recording.2025-07-10.222140.1.mp4 |
Beta Was this translation helpful? Give feedback.
-
Progress update: finished the serialization. Working on backward comps now. |
Beta Was this translation helpful? Give feedback.
-
Progress update: Finished backward comps. Time to learn golang to port optimizer over 😮💨 |
Beta Was this translation helpful? Give feedback.
-
@leslieyip02 Can I clarify something from: #3930 (comment)?
I am not sure I quite follow the issue described, what is expected behaviour here? |
Beta Was this translation helpful? Give feedback.
-
Progress: porting optimiser is done. Working on tests. |
Beta Was this translation helpful? Give feedback.
-
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. |
Beta Was this translation helpful? Give feedback.
-
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? |
Beta Was this translation helpful? Give feedback.
-
@leslieyip02 |
Beta Was this translation helpful? Give feedback.
-
Ok, I'm done with old tests and coverage. Just merging conflicts now. |
Beta Was this translation helpful? Give feedback.
-
Not much conflicts. Working on JSDocs now. |
Beta Was this translation helpful? Give feedback.
-
Done: #4225 |
Beta Was this translation helpful? Give feedback.
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
day
andstartTime
andendTime
provided that the weeks are separate (Added, thanks @leslieyip02)This is meant to resolve ambiguous lessons with the same
classNo
andday
andstartTime
andendTime
like 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.
Beta Was this translation helpful? Give feedback.
All reactions