zesje issueshttps://gitlab.kwant-project.org/zesje/zesje/-/issues2023-10-23T10:05:49Zhttps://gitlab.kwant-project.org/zesje/zesje/-/issues/579Grading overview only shows an absolute count, no relative percentage2023-10-23T10:05:49ZStefan HugtenburgGrading overview only shows an absolute count, no relative percentageEspecially for MC-questions, seeing the percentage of students that picked an answer option would be much appreciated :)Especially for MC-questions, seeing the percentage of students that picked an answer option would be much appreciated :)https://gitlab.kwant-project.org/zesje/zesje/-/issues/684MC questions move when creating exam2023-04-24T14:38:52ZStefan HugtenburgMC questions move when creating examWhen finalising the exam template it seems MC options shift from where they have been designed to be placed. I did not make a screenshot before so I cannot easily show this difference, but they seem to snap to the top of the viewing box,...When finalising the exam template it seems MC options shift from where they have been designed to be placed. I did not make a screenshot before so I cannot easily show this difference, but they seem to snap to the top of the viewing box, rather than where they are placed in the viewing box.https://gitlab.kwant-project.org/zesje/zesje/-/issues/666Switch to micromamba docker2023-04-07T13:12:13ZAnton AkhmerovSwitch to micromamba dockerWe should use https://hub.docker.com/r/mambaorg/micromamba instead of continuumio/miniconda3 for performance reasons.We should use https://hub.docker.com/r/mambaorg/micromamba instead of continuumio/miniconda3 for performance reasons.https://gitlab.kwant-project.org/zesje/zesje/-/issues/680Validating last student does not update progress bar2023-04-02T12:27:31ZHugo KerstensValidating last student does not update progress barAfter validating/assigning the last student, the progress bar is not updated.After validating/assigning the last student, the progress bar is not updated.https://gitlab.kwant-project.org/zesje/zesje/-/issues/685pyssim error with numpy 1.202023-02-22T16:28:49ZAdriĆ Labaypyssim error with numpy 1.20Numpy removed support for `numpy.float` in version 1.20, which is used by `pyssim`. This library is only used in tests and there are no better alternatives (which are lightweight at least).
I have submitted a pull request to the reposi...Numpy removed support for `numpy.float` in version 1.20, which is used by `pyssim`. This library is only used in tests and there are no better alternatives (which are lightweight at least).
I have submitted a pull request to the repository but we should consider either
- Limit numpy's version
- Write our own version in the code (which I think is easy)
- Rewrite test to use a different comparison functionhttps://gitlab.kwant-project.org/zesje/zesje/-/issues/676Grade view crashes when any submission is unidentified2022-10-31T20:30:01ZHugo KerstensGrade view crashes when any submission is unidentifiedIn https://gitlab.kwant-project.org/zesje/zesje/-/commit/15b280f12b8b31ae40e808490cc47d7c16b810a3#cc1c3752fde923be0ac00a3cf78377fa3cac8de4_535_534 `sub.student` can be null, which causes a crash when `sub.student.id` is accessed.In https://gitlab.kwant-project.org/zesje/zesje/-/commit/15b280f12b8b31ae40e808490cc47d7c16b810a3#cc1c3752fde923be0ac00a3cf78377fa3cac8de4_535_534 `sub.student` can be null, which causes a crash when `sub.student.id` is accessed.https://gitlab.kwant-project.org/zesje/zesje/-/issues/598Do not rely on cached copy data when checking for copy reassignment.2022-10-31T18:26:44ZAnton AkhmerovDo not rely on cached copy data when checking for copy reassignment.The following discussion from !358 should be addressed:
- [ ] @anton-akhmerov started a [discussion](https://gitlab.kwant-project.org/zesje/zesje/-/merge_requests/358#note_55977):
> This will cover most use cases for now, but I th...The following discussion from !358 should be addressed:
- [ ] @anton-akhmerov started a [discussion](https://gitlab.kwant-project.org/zesje/zesje/-/merge_requests/358#note_55977):
> This will cover most use cases for now, but I think we should query the backend first here.
>
> I propose to address this in a follow-up MR.https://gitlab.kwant-project.org/zesje/zesje/-/issues/629Switch approve-one MCQ to mutually exclusive FO2022-10-31T15:26:26ZAnton AkhmerovSwitch approve-one MCQ to mutually exclusive FOThe following discussion from !375 should be addressed:
- [ ] @anton-akhmerov started a [discussion](https://gitlab.kwant-project.org/zesje/zesje/-/merge_requests/375#note_56697): (+1 comment)
> I clicked around, and I like it! Ev...The following discussion from !375 should be addressed:
- [ ] @anton-akhmerov started a [discussion](https://gitlab.kwant-project.org/zesje/zesje/-/merge_requests/375#note_56697): (+1 comment)
> I clicked around, and I like it! Everything seems pretty clear.
>
> The only potential change that we may implement in a follow-up MR (I leave it for you to decide) is making one-answer MCQ have mutually exclusive options. If you think we can implement this easily, please go ahead, otherwise move this to a separate issue and we merge.https://gitlab.kwant-project.org/zesje/zesje/-/issues/670Modals not reacting to x2022-10-24T15:51:16ZAnton AkhmerovModals not reacting to xOur modals have a "x" button top right:
![image](/uploads/aa69879bf7011fa0ac6466b438891ef4/image.png)
Clicking on x, contrary to the expectations, does not close the modal. Funnily, it's the only place outside of the modal that does no...Our modals have a "x" button top right:
![image](/uploads/aa69879bf7011fa0ac6466b438891ef4/image.png)
Clicking on x, contrary to the expectations, does not close the modal. Funnily, it's the only place outside of the modal that does not close it :upside_down:
I think we should just remove the x altogether.https://gitlab.kwant-project.org/zesje/zesje/-/issues/669Support browsers that do not support :has CSS selector2022-10-23T10:55:23ZHugo KerstensSupport browsers that do not support :has CSS selectorSome browsers do not support the `:has()` CSS selector, of which Firefox is the most notable example.
We should provide a legacy solution without the `:has()` selector.Some browsers do not support the `:has()` CSS selector, of which Firefox is the most notable example.
We should provide a legacy solution without the `:has()` selector.https://gitlab.kwant-project.org/zesje/zesje/-/issues/667Nodejs 17 breaks webpack 52022-10-22T10:09:12ZHugo KerstensNodejs 17 breaks webpack 5Nodejs 17 upgrades to OpenSSL 3.0, which removes the `md4` hashing function that webpack 5 uses for hashing files.
To fix this, you can provide an alternative hashing function for webpack to use. Set `output.hashFunction: 'xxhash64'` in...Nodejs 17 upgrades to OpenSSL 3.0, which removes the `md4` hashing function that webpack 5 uses for hashing files.
To fix this, you can provide an alternative hashing function for webpack to use. Set `output.hashFunction: 'xxhash64'` in the webpack config. See: https://stackoverflow.com/a/73027407/2214847
However, setting this option does not fix the issue in our case, since `react-pdf/dist/esm/entry.webpack.js` loads its files via an unconfigurable `file-loader`, which uses the default `md4`...
<details>
<summary>See log files</summary>
```
ERROR in ./node_modules/pdfjs-dist/legacy/build/pdf.worker.js (./node_modules/file-loader/dist/cjs.js!./node_modules/pdfjs-dist/legacy/build/pdf.worker.js)
Module build failed (from ./node_modules/file-loader/dist/cjs.js):
Error: error:0308010C:digital envelope routines::unsupported
at new Hash (node:internal/crypto/hash:71:19)
at Object.createHash (node:crypto:133:10)
at getHashDigest (/home/hugo/Documents/zesje/node_modules/file-loader/node_modules/loader-utils/lib/getHashDigest.js:46:34)
at /home/hugo/Documents/zesje/node_modules/file-loader/node_modules/loader-utils/lib/interpolateName.js:113:11
at String.replace (<anonymous>)
at interpolateName (/home/hugo/Documents/zesje/node_modules/file-loader/node_modules/loader-utils/lib/interpolateName.js:110:8)
at Object.loader (/home/hugo/Documents/zesje/node_modules/file-loader/dist/index.js:29:48)
@ ./node_modules/react-pdf/dist/esm/entry.webpack.js 3:0-73 9:38-49
@ ./client/views/AddExam.jsx 38:0-66 168:44-48 263:42-50
@ ./client/App.jsx 56:9-38
@ ./client/index.jsx 13:0-28 22:43-46
```
</details>
So to fix this, we should both:
- Set `output.hashFunction: 'xxhash64'` in the webpack config to fix the general case
- Use an alternative wrapper for `pdfjs` which does not use the unconfigurable `file-loader`.https://gitlab.kwant-project.org/zesje/zesje/-/issues/668Navbar style changes after navigation2022-10-22T09:42:15ZHugo KerstensNavbar style changes after navigationAfter navigating to the `Grade` tab, the order of the loaded CSS changes, and thereby the navbar style.After navigating to the `Grade` tab, the order of the loaded CSS changes, and thereby the navbar style.Hugo KerstensHugo Kerstenshttps://gitlab.kwant-project.org/zesje/zesje/-/issues/659Limit memory usage when mass-sending emails2022-10-17T17:21:40ZDennis den OudenLimit memory usage when mass-sending emailsIn a large course with a large exam, keeping all emails in RAM like we do [here](https://gitlab.kwant-project.org/zesje/zesje/-/blob/a070ad2eb4343d57553962e957de21ab24287f62/zesje/api/emails.py#L222-224) may take several gigabytes of RAM...In a large course with a large exam, keeping all emails in RAM like we do [here](https://gitlab.kwant-project.org/zesje/zesje/-/blob/a070ad2eb4343d57553962e957de21ab24287f62/zesje/api/emails.py#L222-224) may take several gigabytes of RAM.
To improve on that I propose to collect all data *except* for the PDFs, and attach the PDF when sending the message, rather than before.
---
### Original description
The feature "Email to everyone" failed several times for the exam https://wbmt1051_2022.grading.quantumtinkerer.tudelft.nl/exams/6.
Individual emailing works, but with 500+ students that is not really time-efficient.
Could you please try to fix this quickly?https://gitlab.kwant-project.org/zesje/zesje/-/issues/654Bulk email failed2022-10-17T17:21:40ZBart van den DriesBulk email failedBulk email (pdf included) failed repeatedly for my course wi1410tn. It is unclear to me what happened (and if any of you knows, please tell me!). Sending emails one by one did work. Feature request: if bulk email fails, more elaborate in...Bulk email (pdf included) failed repeatedly for my course wi1410tn. It is unclear to me what happened (and if any of you knows, please tell me!). Sending emails one by one did work. Feature request: if bulk email fails, more elaborate info one what went wrong, whether some or none of the emails have been sent, and in the first case, an overview of which have been sent.https://gitlab.kwant-project.org/zesje/zesje/-/issues/570Display a useful error if a template fails to render on any message2022-10-17T17:21:40ZAnton AkhmerovDisplay a useful error if a template fails to render on any messageWhen sending emails a template may fail to render only for some students. We should catch this error and display it in the frontend. Displaying of errors already happens, but catching doesn't.When sending emails a template may fail to render only for some students. We should catch this error and display it in the frontend. Displaying of errors already happens, but catching doesn't.https://gitlab.kwant-project.org/zesje/zesje/-/issues/515Change exam view layout to 3 columns2022-10-16T10:03:35ZAnton AkhmerovChange exam view layout to 3 columnsIn templated exams show all pages at once, move problem editor to the rightmost column, combine all elements in exam details into a single panelIn templated exams show all pages at once, move problem editor to the rightmost column, combine all elements in exam details into a single panelhttps://gitlab.kwant-project.org/zesje/zesje/-/issues/641Select parent feedback option breaks for long rubric items2022-10-14T15:10:00ZOtto KaaijSelect parent feedback option breaks for long rubric items![image](/uploads/e2f8dd096abd0ef6efecb31f99609da9/image.png)
The select list falls of the page on the left side of the page![image](/uploads/e2f8dd096abd0ef6efecb31f99609da9/image.png)
The select list falls of the page on the left side of the pagehttps://gitlab.kwant-project.org/zesje/zesje/-/issues/640Overview incorrectly shows solutions as partially graded2022-10-14T08:45:34ZAnton AkhmerovOverview incorrectly shows solutions as partially gradedI have an exam with two problems without any FOs (extra space), however they are shown as partially graded. Is that because root FO is used in determining whether a problem is gradable or not?I have an exam with two problems without any FOs (extra space), however they are shown as partially graded. Is that because root FO is used in determining whether a problem is gradable or not?https://gitlab.kwant-project.org/zesje/zesje/-/issues/661Follow up from overview rework2022-10-11T14:16:57ZAnton AkhmerovFollow up from overview rework- [ ] I have tried the latest master on an exam with two students, and `.err` is none (computed in stats page).
- [ ] the main panel doesn't show problem titles anymore.- [ ] I have tried the latest master on an exam with two students, and `.err` is none (computed in stats page).
- [ ] the main panel doesn't show problem titles anymore.https://gitlab.kwant-project.org/zesje/zesje/-/issues/647Full data fetched again on navigating in grade view2022-10-09T20:03:25ZHugo KerstensFull data fetched again on navigating in grade viewNavigating to another submission in the grade view fetches all data, which is not necessary. It fetches the
- Exam
- Submission
- Problem
all of which are unnecessary, since the navigation request already fetches all necessary (submissio...Navigating to another submission in the grade view fetches all data, which is not necessary. It fetches the
- Exam
- Submission
- Problem
all of which are unnecessary, since the navigation request already fetches all necessary (submission) data.
Did not investigate yet, but I suspect it is minor issue where it accidentally recreates the grade view component.
![image](/uploads/c59ad71513b5aafb19b385c737888c55/image.png)