-
Notifications
You must be signed in to change notification settings - Fork 344
Open
Description
Describe the bug
If a module (eg LAC4202
) that is held on alternative semesters (ie only offered Semester 2) is placed in the wrong semester (ie Semester 1) of any future year, it is incorrectly marked green (meeting all prerequisites + available for semester).
- Placing on the correct semester (ie Semester 2) of any year will correctly trigger prerequisite check (either turn green or yellow depending on whether the prerequisites are met)
- Placing on the wrong semester of any year less than or equal to the current year will turn the module yellow with the warning that it is not offered for the semester.
year | correct sem | wrong sem |
---|---|---|
up to current year | prereq check works correctly | not-offered check triggers |
> current year | prereq check works correctly | Green (no prereq check happens) |
To Reproduce
Steps to reproduce the behavior:
- Go to planner
- Go to settings
- Set Graduating to any future year (eg In 2 years (AY27/28))
- Exit settings
- Add
LAC4202
to any valid semester (ie Semester 2 of current year) - Drag it to the wrong semester of a future year (eg 2026/2027 Semester 1)
- Module turns green
Expected behavior
Module turns yellow with either:
- incorrect semester warning (ie
Module may only be offered in Sem 2
) - unfulfilled prerequisites warning (ie
These courses may need to be taken first
)
Screenshots
- ✅
LAC4202
on the wrong sem = wrong sem warning - ✅
CS4221
on the correc sem = unfulfilled prerequisites warning

Bug:
- ❌
LAC4202
on the wrong sem = Green - ✅
CS4221
on the correc sem = unfulfilled prerequisites warning - ✅
LAC3201
/LAC2201
(offered on both semesters) = unfulfilled prerequisites warning - ignore the banana cursor

Desktop (please complete the following information):
- OS: NixOS 25.11.20250706.1fd8bad (Xantusia) x86_64
- DE: niri (Wayland)
- Browser: Brave 1.80.113 (Official Build) (64-bit) Chromium: 138.0.7204.49
- NUSMods R version: 20250907-d81459f.
Metadata
Metadata
Assignees
Labels
No labels