Skip to content

Commit 5fe135c

Browse files
authored
Merge branch 'RunestoneInteractive:main' into main
2 parents 4e89301 + 9f0fd72 commit 5fe135c

11 files changed

Lines changed: 266 additions & 235 deletions

File tree

CHANGELOG.md

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,43 @@
11
# ChangeLog
22

3+
## Updates since last changelog entry (2026-02-28 → 2026-03-13)
4+
5+
Coverage: changes merged/landed after the previous changelog update commit on **2026-02-28**, through **2026-03-13**.
6+
7+
### Highlights
8+
9+
- **Assignment visibility / date logic (issue-814):** enhanced visibility control logic and UI to support dual date display, including related plumbing (merge of the issue-814 workstream).
10+
- **Assignment list UX:** added sorting in `AssignmentList` with persistence via `localStorage`.
11+
- **Accessibility + theming:** WCAG AA fixes for assignment navigation links and dark-mode color adjustments.
12+
- **Peer Instruction grading correctness:** restored `studentVoteCount` increment for sync PI grading.
13+
- **Interactives fixes + polish:**
14+
- Matching: use `queuMathJax` instead of `typesetPromise`.
15+
- Multiple choice: ensure MathJax renders in feedback.
16+
- ShortAnswer: preserve event handlers when rebuilding.
17+
- ActiveCode: updated hotkeys/keybindings.
18+
- **Ops / tooling:** added pre-commit configuration, updated dependencies, and bumped releases (**7.11.18**, **7.11.19**) with assorted bugfixes; also updated `pgcli`.
19+
20+
### Commit notes (for reference)
21+
22+
- 7f2ec9c8 update - bugfixes
23+
- 7375c073 Release 7.11.18
24+
- e02df4fd update pgcli
25+
- 5cfa6569 ShortAnswer: preserve event handlers when building
26+
- 67e6d21e CSS: override bootstrap summary styling
27+
- 6c5fe9ea Fix: make sure to render mathjax in mchoice feedback
28+
- d78bebb1 Matching: use queuMathJax instead of typesetPromise
29+
- ffaf9192 fix activities required for new logic
30+
- b2e38cd9 issue-814 Enhance visibility control logic and UI to support dual date display
31+
- 70ff1e55 issue-1145 Implement sorting functionality in AssignmentList with localStorage persistence
32+
- 5815b226 issue-814 Rename created_date to updated_date in assignments and related components
33+
- f2581a22 Update activecode keybindings
34+
- 65e2bca3 Add pre-commit configuration and update dependencies in pyproject.toml
35+
- 27cb3b60 restore studentVoteCount increment for sync PI grading
36+
- cfa3ea2a WCAG AA fix for assignment nav links
37+
- 7ec65dae WCAG AA fix for darkmode grayToWhite
38+
39+
---
40+
341
## Updates since last changelog entry (2026-02-21 → 2026-02-27)
442

543
Coverage: commits from **2026-02-21** through **2026-02-27** (i.e., changes after the prior cutoff on 2026-02-20).

bases/rsptx/interactives/runestone/common/css/runestone-custom-sphinx-bootstrap.css

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1256,7 +1256,7 @@ summary.ptx-footnote__number {
12561256
display: inline;
12571257
}
12581258

1259-
summary.knowl__link {
1259+
details > summary:first-of-type {
12601260
display: list-item inline;
12611261
}
12621262

bases/rsptx/interactives/runestone/matching/js/matching.js

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -61,9 +61,7 @@ export class MatchingProblem extends RunestoneBase {
6161
this.renderBoxes();
6262
this.attachEvents();
6363

64-
if (window.MathJax && MathJax.typesetPromise) {
65-
MathJax.typesetPromise();
66-
}
64+
this.queueMathJax(this.containerDiv);
6765
}
6866

6967
// required elements for a Runestone component

bases/rsptx/interactives/runestone/mchoice/js/mchoice.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -546,6 +546,7 @@ export default class MultipleChoice extends RunestoneBase {
546546
`✖️ You gave ${numGiven} ${answerStr} and got ${numCorrect} correct of ${numNeeded} needed.<ol type="A">${feedbackText}</ul>`;
547547
this.feedBackDiv.className = "alert alert-danger";
548548
}
549+
this.queueMathJax(this.feedBackDiv);
549550
}
550551

551552
processMCMFSubmission(logFlag) {
@@ -627,6 +628,7 @@ export default class MultipleChoice extends RunestoneBase {
627628
this.feedBackDiv.innerHTML = "✖️ " + feedbackText;
628629
this.feedBackDiv.className = "alert alert-danger";
629630
}
631+
this.queueMathJax(this.feedBackDiv);
630632
}
631633
enableMCComparison() {
632634
if (eBookConfig.enableCompareMe) {

bases/rsptx/interactives/runestone/shortanswer/js/shortanswer.js

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,10 @@ export default class ShortAnswer extends RunestoneBase {
6161
this.fieldSet = document.createElement("fieldset");
6262
this.newForm.appendChild(this.fieldSet);
6363
this.firstLegendDiv = document.createElement("div");
64-
this.firstLegendDiv.innerHTML = this.question;
64+
// move contents to new div, keeping any event listeners
65+
while (this.origElem.firstChild) {
66+
this.firstLegendDiv.appendChild(this.origElem.firstChild);
67+
}
6568
this.firstLegendDiv.classList.add("journal-question");
6669
this.firstLegendDiv.classList.add("exercise-statement");
6770
this.fieldSet.appendChild(this.firstLegendDiv);

poetry.lock

Lines changed: 106 additions & 102 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

projects/author_server/poetry.lock

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

projects/interactives/pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ license = "GPL"
3434
name = "runestone"
3535
readme = "README.rst"
3636
repository = "https://github.com/RunestoneInteractive/rs"
37-
version = "7.11.16"
37+
version = "7.11.19"
3838

3939
# See https://python-poetry.org/docs/pyproject/#include-and-exclude.
4040
include = [

0 commit comments

Comments
 (0)