You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
✨ New features/enhancements
Updated the Zoom In/Zoom Out buttons on the graph page to Awesome Icons from +/-
Added the React ErrorBoundary library and implemented an ErrorBoundary for the Graph component in the Container component and js/components/draw/main.js
Updated the export button on the graph and grid pages to Awesome Icons; also added highlight effect and tooltip popup on hover
Added an autocomplete feature to the search bar js/components/generate/GenerateForm, also rewrote tests related to this feature
Added a route to access all POST codes stored in the database with test coverage
Added the js/components/generate/AutocompleteDropdown.js component to the program field of Generate
Updated the colour of the rendered options for the AutocompleteDropdown component
Added a database-migrate CLI option that runs SQL migrations
Updated the course info modal timetable styling and layout
Updated drag and drop functionality on the graph page to support mobile devices
Added a recursive function to remove Requirements from the Requirement Tree
🐛 Bug fixes
Fixed a bug that was causing the focus info popup to appear blank
Fixed a bug on the generate page causing extraneous ellipses to appear when hovering over a course to highlight its prerequisites
Fixed a bug on the generate page where an extraneous info popup would appear when hovering over the top left corner of the graph viewing window
Fixed a bug that led code to crash when parsing all pre-generated graphs from svg (i.e., program graphs)
Fixed a bug where redundant boolean nodes were being generated
Fixed a bug where the course info modal title did not display the H1/Y1 suffix
Fixed a bug where the focus tab functionality was not working as intended
🔧 Internal changes
Upgraded Jest to v30
Upgraded jest-environment-jsdom to v30
Refactored navigation bar into a React component (for the graph, grid and generate pages only - the about page navigation bar is still rendered using Blaze)
Refactored backend tests to use tasty and tasty-hunit instead of HUnit
Refactored course insertion and query functions to align with MVC architectural principles
Renamed functions that query the database for post/program information from post -> program
Modified CircleCI configuration so that Jest tests now emit coverage reports which are then uploaded to Coveralls
Refactored export modal behaviour such that it is handled entirely through React state, rather than through DOM manipulation with vanilla JS
Added test cases for the ExportModal component in js/components/common
Updated backend tests to use tasty-discover
Added documentation for running a subset of the backend tests
Renamed Post and PostCategory database tables to Program and ProgramCategory respectively through a database migration
Deleted app/Response/Image file and refactored app/Util/Helpers to include returnImageData
Added test cases for the retrieveProgram function in Controllers/Program
Removed duplicate code from mockRequest and runServerPartWith in backend-test/TestHelpers.hs
Initialized a SchemaVersion table for the purposes of running robust database migrations
Updated CircleCI configuration to update wget version (to fix ImageMagick download error)
Reverted previous CircleCI configuration change
Switched CircleCI ImageMagick download to use http
Modified CI config to take advantage of partial dependency caching and exploit parallelism when resolving/updating dependencies
Migrate graph-related components (FocusBar, FocusTab, GraphDropdown, GraphFallback, Infobox, and Sidebar) from classes to functions
Added lint-staged development dependency and fixed eslint issues
Updated CircleCI ImageMagick setup to avoid using AppImage executable and to cache download