Adding modules to timetable seems to lag
See original GitHub issueDo you want to request a feature or report a bug?
Bug
What is the current behavior?
Selecting a module in ModuleSelect
lags if the module is not in the module bank.
If the current behavior is a bug, please provide the steps to reproduce. If possible, please upload a screenshot or link to a video recording (on macOS you can use QuickTime) demonstrating the problem.
- Go to /timetable
- Tap on “Add module to timetable” input
- Key in some text and add any module that are not previously viewed or added (ie. not cached in moduleBank)
- Nothing happens appears to happen
- The module is added after a short while (if this appears to be instantaneous, use the browser dev tools to artificially slow down your connection)
What is the expected behavior?
A spinner or something similar should be displayed while the module details are being loaded, so that it doesn’t look like NUSMods is frozen.
Issue Analytics
- State:
- Created 6 years ago
- Comments:12 (12 by maintainers)
Top Results From Across the Web
Time-shift data in timetable - MATLAB lag - MathWorks
Create a timetable with temperature data as the variable. Shift the data forward in time by one time step and compare it to...
Read more >Performance and synchronization problems when you work ...
Describes an issue where you experience performance and synchronization problems when you try to access folders in a secondary mailbox in Microsoft Outlook....
Read more >Auto Scheduling Gantt Docs - DHTMLX Documentation
The library provides the auto_scheduling extension that gives Gantt the ability to schedule tasks automatically depending on relations between them.
Read more >Slow rendering - Android Developers
UI Rendering is the act of generating a frame from your app and displaying it on the screen. To ensure that a user's...
Read more >Adding Modules to Calendar - Instructure Community
It would be very helpful if there was a way to assign modules or ... The calendar seems like the most logical place...
Read more >
Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free
Top Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Can we show an incomplete module in the modules table? I’m not familiar with what we information we have about modules before their details are fetched, but assuming we only have the module’s code and title, I think this is what should happen in the UI:
ModulesSelect
should immediately indicate that the module has been added to the timetable.TimetableModulesTable
should immediately show the new module. Incomplete information can be left blank, but I guess we should show a spinner in place of themoduleActionButtons
to indicate that the timetable data is loading. This will also work for remotely added modules.Actually it may not be the best time to fix this bug if the changes will be non-trivial.
We are planning to move to a GraphQL data API, and Apollo Client should be able to handle a lot of the logic that (I think) will have to be implemented to fix this now. The new code written for this will probably also make it harder to switch to GraphQL.