Releases: MaMpf-HD/mampf
v1.14.4
This is yet another fix to hopefully put an end to UserCleaner errors 🙈.
The problem was that we enqueued a final mail right before the user was deleted. But when that mail was sent out, the user object didn't exist anymore resulting in an error. We now pass the respective user fields like email
and locale
directly to the mail method by value and not by reference to avoid this error. See #717 for more details.
What's Changed
Full Changelog: v1.14.3...v1.14.4
v1.14.3
v1.14.2
This is a hotfix to avoid spamming users with mails. In #647, we've introduced a new UserCleaner that deletes stale users that haven't used MaMpf for too long (6 months). Of course, these users are warned beforehand by means of mails like "Your account will be deleted in 40 days". Unfortunately, some of these mails are still scheduled even though the user was already deleted after 40 days. These jobs will then fail as the user cannot be found anymore. Due to this exception, the mail will be sent multiple times to test if it still doesn't work, thus the user is spammed with mails.
This is just a hotfix and we will definitely investigate why the jobs are enqueued for so long in the first place. A better strategy would be to delete all remaining jobs for a user before deleting their account such that no stale jobs are present in the queue.
What's Changed
- Hotfix: Set retry option to false for UserCleanerJob by @fosterfarrell9 in #715
Full Changelog: v1.14.1...v1.14.2
v1.14.1
v1.14.0
After quite some time, here we are again with a new feature-packed release for MaMpf 🎉
One highlight is certainly the redesign of the media cards in #656
Furthermore, we've introduced a completely new annotation overview page in #668. You can visit it here (click on the annotations icon in the top navbar). On this page, you will find every annotation you've ever created on MaMpf. And for teachers: you can see the students annotations here if they shared one of their annotations with you.
Apart from that, most changes are non-user-facing changes. We updated dependencies to newer versions to mitigate vulnerabilities. We initialized the amazing just
command line runner to have access to frequently-used commands at our fingertips. We also setup up the whole infrastructure for Cypress tests again, so we will now also test our frontend more extensively via end-to-end tests.
One big change in our backend is the new User cleaner. The old one would log in to our email server and search for bounced mails. This was very error-prone and brittle. With the new approach, we use the information of your last login date. When you haven't logged in for 6 months, we'll send you a warning mail that your account will be deleted in 40 days. Just log in during that time to avoid losing your MaMpf account.
What's Changed
And there are many more changes, see the complete list here:
- Don't just mount
spec
folder, but completeapp
folder for tests by @Splines in #648 - Fix flaky watchlist tests by @Splines in #650
- Get Cypress up and running again (with docker and interactive testing) by @Splines in #652
- Don't use VSCode ESLint experimental flag anymore by @Splines in #662
- Disable Codecov patch/project checks in CI/CD by @Splines in #664
- Init
just
as command-line runner by @Splines in #660 - Fix DB preseeding by @Splines in #665
- Redesign media cards by @Splines in #656
- Add endpoint to skip validation in Cypress tests by @Splines in #669
- Update Gemfile dependencies by @Splines in #672
- Update yarn dependencies by @Splines in #673
- Add UI feedback for closing/opening discussions by @Splines in #674
- Fix rubocop "where range" by @Splines in #675
- Add annotations overview page & improve Cypress commands by @Splines in #668
- Destroy talk media upon user deletion by @Splines in #651
- Tests: Fix database cleaner separation by @Splines in #676
- Delete users that haven't logged in for too long by @Splines in #647
Full Changelog: v1.13.0...v1.14.0
v1.13.0
🤠 With this release, we have redesigned the edit page for lectures. If you're a teacher, you will now see the following view. We made sure that the things you want to change are easily accessible and that you don't have to first find them in many submenus. Instead, they are right at your fingertips. We've reduced some visual clutter and regrouped items together, e.g. "announcements", "forum" and other comment-related settings can be found in the Communication
section.
- If you have any feedback related to the new view, let us now via the MaMpf Feedback button (in the non-admin view, the star icon next to the search bar in the top right corner).
- Note that
Import Media
can be found in theInfo
section. We will probably merge this into theContent
section later on, but for now, we put it toInfo
.
What's Changed
- Fix broken interactions controller by @fosterfarrell9 in #629
- Delete remaining pull request GitHub template by @Splines in #635
- Update active record schema version to 7.1 by @Splines in #634
- Upgrade Gemfile and yarn dependencies by @Splines in #633
- Upgrade Node.js dev dependencies & fix ESLint config by @Splines in #636
- Add unit tests back to pipeline & improve VSCode integration by @Splines in #581
- Pin
thredded
to recent Git commit by @Splines in #643 - Remove obsolete docker compose version specifiers by @Splines in #641
- Open interactive area if chapters or references are present in video by @Splines in #644
- Fix broken deletion of questions by @fosterfarrell9 in #640
- Redesign lecture edit page for lecturers by @Splines in #628
Full Changelog: v1.12.1...v1.13.0
v1.12.1
This release encompasses hotfixes that we had to perform in the course of the 29th of April 2024. Note that on top of that, media was not accessible in MaMpf in the evening due to an expired certificate of our media server (the latter problem is still currently worked on).
Hotfixes
- Add a missing key in a locale file (see #630)
- Set the
raise_on_missing_translations
config option back tofalse
(see #631). We have set it totrue
in the upgrade to Rails 7.1 (see #609). However, this has caused troubles in production that we have to further investigate, so we disabled it for now. - Downgrade Rack to
2.2.9
(see #632). This is because the new version produces an incorrect parameter hash for our controllers that contain nested forms. Will have to investigate further, so for now we downgraded Rack. For the root cause, see rack/rack#2128.
Complete list of PRs
- Hotfix: Add missing key in locale file by @fosterfarrell9 in #630
- Hotfix: Set raise_on_missing_translations flag to false by @fosterfarrell9 in #631
- Hotfix: Downgrade Rack to 2.2.9 by @fosterfarrell9 in #632
Full Changelog: v1.12.0...v1.12.1
v1.12.0
User-facing changes
- We have a brand-new README, see #614
- Only admins are now allowed to change course editors, see #610
- Broken tag highlighting in lecture edit page (for teachers/admins) is fixed, see #618
- Pixelation of screenshots ("thumbnails") for videos is fixed by settings the correct width/height of a hidden canvas element, see #623
- The emergency link of the annotation tool was removed, see #625
Internal changes
- Upgraded Rails to v7.1 and updated gems (mostly only their minor versions), see #609
- Updated Rubocop (Ruby linter) and enforced the new cops, see #617
- We now use a now repo to store "init" ("preseed") data for our local database during development, see #612. Due to a mistake, we had to comment the respective Docker env variables again in #615
- Cleaned up some config files and use a new
.config
directory, see #613 - Removed the GitHub Pull request templates, see #626
- Added the
public
prefix for thegen_random_uuid()
in the db schema (this was done automatically by Rails), see #619 - We don't raise an exception anymore for a broken & deactivated migration, see #620
- VSCode changed an identifier in the
settings.json
for the Ruby LSP plugin, see #616
List of PRs
- Only allow admins to change course editors by @fosterfarrell9 in #610
- Use new preseed links to init data in local db by @Splines in #612
- Uncomment preseed Docker env vars by @Splines in #615
- Add
public
prefix forgen_random_uuid()
in db schema by @Splines in #619 - Don't raise exception for broken migration anymore by @Splines in #620
- Use new identifier for Ruby LSP VSCode plugin settings by @Splines in #616
- Fix broken tag highlighting for lectures admin view by @Splines in #618
- Clean up config files (and use new
.config
dir) by @Splines in #613 - Fix missing width and height setting of canvas by @Splines in #623
- Update Rubocop version and enforce all cops by @Splines in #617
- Remove emergency link by @Splines in #625
- Remove GitHub Pull request templates by @Splines in #626
- Upgrade Rails to v7.1 & update gems (mostly only minor versions) by @Splines in #609
- Rewrite Readme by @Splines in #614
Full Changelog: v1.11.1...v1.12.0
v1.11.1
This release just introduces a hotfix to deal with some small annotation-tool related infant diseases (namely when a lecture
variable was nil and we didn't notice that).
What's Changed
- Fix annotation tool infant diseases by @Splines in #606
- Fix
git.inputValidation
VSCode setting by @Splines in #607
Full Changelog: v1.11.0...v1.11.1
v1.11.0
With this release we have a brand-new feature for you, the annotation tool. Create custom notes on the timeline on any video. If you want to, you can also make your notes visible for the teacher or publish them as comments.
Create a new annotation by clicking on the respective button. To open an annotation, click on the pin in the timline.
You can find more useful tips in our blog post (only available in German).