Skip to content

Plannable v9.1: Internal Changes

Compare
Choose a tag to compare
@hanzhi713 hanzhi713 released this 11 Feb 06:21
· 112 commits to master since this release

New Features

  • A warning icon will be shown if your session (for synchronizing profile with backend) expired and some of your profiles are marked as sync.

Fixes

  • Partially fix the iCalendar timezone issue on some calendar software. The time exported for each event now uses local time.

Internal Changes

  • When local profiles are newer on page load, new versions will always be created on the remote (backend).
  • Events are now explicitly immutable and frozen

The following changes made to improve the performance and visual quality of large rendered schedules (e.g. one with >50 events and/or courses). These changes will improve the experience of some extremely rare usage scenarios.

  • CourseBlocks have been inlined in GridSchedule to improve performance.
  • Reactivity of Event/Course rendered on the grid is automatically disable for large schedules to improve performance.
  • The last stage of the schedule rendering algorithm is changed from ad-hoc width expansion to an iterative linear-programming-based method with improvement in visual quality for large schedules.
  • The rendering algorithm is rewritten in C++ and compiled to WebAssembly using Emscripten.