Skip to content

chore: fix and standardize the timetabling UI#1019

Merged
triceo merged 5 commits intoTimefoldAI:developmentfrom
zepfred:fix/ui-timetable
Feb 13, 2026
Merged

chore: fix and standardize the timetabling UI#1019
triceo merged 5 commits intoTimefoldAI:developmentfrom
zepfred:fix/ui-timetable

Conversation

@zepfred
Copy link
Contributor

@zepfred zepfred commented Feb 11, 2026

Description of the change

Description here

Checklist

Development

  • The changes have been covered with tests, if necessary.
  • You have a green build, with the exception of the flaky tests.
  • UI and JS files are fully tested, the user interface works for all modules affected by your changes (e.g., solve and analyze buttons).
  • The network calls work for all modules affected by your changes (e.g., solving a problem).
  • The console messages are validated for all modules affected by your changes.

Code Review

  • This pull request includes an explanatory title and description.
  • The GitHub issue is linked.
  • At least one other engineer has approved the changes.
  • After PR is merged, inform the reporter.

@zepfred zepfred requested a review from triceo as a code owner February 11, 2026 18:19
Copilot AI review requested due to automatic review settings February 11, 2026 18:19
@zepfred zepfred requested a review from TomCools as a code owner February 11, 2026 18:19
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR aims to standardize/fix the timetabling UI rendering across the Kotlin and Java demos by making the frontend more tolerant of Room/Timeslot references being represented as either full objects or IDs in the returned timetable JSON. It also adjusts backend JSON serialization behavior in the Spring Boot integration module.

Changes:

  • Add roomMap/timeslotMap caches and an extractId() helper to normalize rendering when fields may be objects vs IDs.
  • Update schedule refresh to rebuild these maps prior to rendering.
  • Remove @JsonPropertyOrder from the Spring Boot integration Timetable domain class.

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 4 comments.

File Description
kotlin/school-timetabling/src/main/resources/META-INF/resources/app.js Adds ID extraction + room/timeslot lookup maps to render schedule using resolved objects.
java/school-timetabling/src/main/resources/META-INF/resources/app.js Same UI standardization as Kotlin module.
java/spring-boot-integration/src/main/resources/static/app.js Same UI standardization as other modules.
java/spring-boot-integration/src/main/java/org/acme/schooltimetabling/domain/Timetable.java Removes explicit JSON property ordering that can affect identity/reference serialization.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link
Collaborator

@triceo triceo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM when Copilot comments are resolved.

Copy link
Collaborator

@triceo triceo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM when formatting fixed.

Copilot AI review requested due to automatic review settings February 13, 2026 11:13
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 4 out of 4 changed files in this pull request and generated 6 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@triceo
Copy link
Collaborator

triceo commented Feb 13, 2026

The PR will have to be rebased and the comments looked at. (Not necessarily accepted.)

@triceo triceo merged commit cf28666 into TimefoldAI:development Feb 13, 2026
47 of 48 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants