42 Commits

Author SHA1 Message Date
fea8b5d6f6 Migrate RailsAdmin assets to Shakapacker
Resolves an issue with a strict CSP disabling inline `data` images. With Shakapacker and our current webpack config, we extract inline `data` images to dedicated files, thus resolving the issue.
2024-06-17 15:25:21 +02:00
94404370c4 Upgrade Sentry to v8 and remove custom Dependabot grouping
As part of the upgrade process, we need to rework the tracing instrumentation. Now, we are just wrapping all async functions in a new sentry transaction, which will automatically end once the function returns.

Further, the structure of the Sentry packages got reworked, so that we only need a single package by now. This removes the need to group dependabot updates.

Co-authored-by: Jan Graichen <jgraichen@altimos.de>
2024-05-24 14:52:14 +02:00
7b769a7673 Enable strict CSP support for ACE
With these changes, ACE no longer requires custom inline styles, removing one further dependency from our CSP style list.
2024-04-26 13:37:25 +02:00
3bfce7f1cb Fix ACE import for Webpack, allowing Web Workers
The previous method worked correctly most of the time, but failed to resolve nested files correctly. This prevented Web Workers from functioning as expected.
2024-04-26 13:37:25 +02:00
749074fec0 Add functionality to expand the markdown editor
The editor will now have a default height of 300px but a button will let
the user expand the editor. It will expand it to fit all content (or up
to 400px if the content was not exceeding 300px). In the expanded mode
the editor will keep growing as the user types more content.
2024-04-26 13:31:49 +02:00
9c71c6667a Install and use ToastUi markdown editor
Replace all usages of pagedown-bootstrap editor with the new editor.
Add styles to ensure the editor preview matches the final output.
2024-04-26 13:31:49 +02:00
4f8d313da4 Use webpack to deliver newest ACE editor
With this commit, we change the delivery method for the ACE editor from manually copied files to using yarn and webpack. As a side-change, we also modify how the mode is selected through JavaScript instead of Ruby.

Through webpack, the `modePath`, `themePath`, and `workerPath` are automatically determined and working as expected.

Closes #250
2024-03-25 10:00:04 +01:00
6b5aa853ee Fix comment for i18n-js import 2023-10-03 11:52:56 +02:00
4fc38c7208 Enable Sentry browser profiling 2023-08-18 09:52:52 +02:00
944b455194 Introduce Dark Mode
This commit mainly changes the color definitions. Mostly, those changes are semantically equally, but there are a few changes that occurred to align the color scheme within the app.
2023-07-31 11:48:42 +02:00
9e3c76465d Fix Sentry Replay integration 2023-06-02 14:33:32 +02:00
ee74d7003e Add Julia support for highlight.js 2023-05-11 23:02:09 +02:00
240fbc5a3b Add Sentry instrumentation for JavaScript 2023-05-09 22:10:40 +02:00
873fefdd9e Use relative import paths for SCSS node modules 2023-01-14 11:32:57 +01:00
735f37d1dd Fix import of lodash module 2022-12-19 15:17:32 +01:00
da9a9b3e76 Ensure all text is visible during page load
We introduce the font-display property. See
https://developer.chrome.com/docs/lighthouse/performance/font-display/
2022-12-06 18:36:45 +01:00
b9f3126f21 CSP: Remove global this in webpack
Also refactor how we handle global namespace objects.

Fixes CODEOCEAN-DV
2022-11-16 19:47:58 +01:00
a56b61d4bc Migrate sorttable to NPM package 2022-08-13 00:38:53 +02:00
3ffff77fd1 Fix comment for bootstrap in application.js 2022-08-13 00:38:07 +02:00
4096abf89f Update visjs to new fork, reduce bundle size 2022-08-12 14:11:18 +02:00
8a055a0d68 Update Bootstrap from v4 to v5 2022-08-12 11:45:32 +02:00
1838765baa Reinclude all FontAwesome SCSS files 2022-08-12 10:34:06 +02:00
eb175b3b40 Fix Webpack-imported modules 2022-08-12 10:22:55 +02:00
d223abfb5e Update from webpacker v5 to shakapacker v6.0.0.rc13
Using a two-step process is recommended:
332e25186a/docs/v6_upgrade.md
2022-08-12 10:22:55 +02:00
9c2ea622ce Fix asset compilation with FontAwesome 6 2022-08-09 15:15:58 +02:00
727f85841d Bump i18n-js from 3.9.2 to 4.0.0
Bumps [i18n-js](https://github.com/fnando/i18n-js) from 3.9.2 to 4.0.0.
- [Release notes](https://github.com/fnando/i18n-js/releases)
- [Changelog](https://github.com/fnando/i18n-js/blob/main/CHANGELOG.md)
- [Commits](https://github.com/fnando/i18n-js/compare/v3.9.2...v4.0.0)

---
updated-dependencies:
- dependency-name: i18n-js
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-09 10:11:36 +02:00
7914608efe Add js-routes to use Route helpers in JavaScript 2021-07-06 16:54:27 +02:00
917e080ae4 highlight.js: Update theme reference 2021-05-31 10:03:28 +02:00
2678d9ecdf Add admin UI to assign tips to exercises 2020-10-14 14:34:27 +02:00
8f8a4f3cca Show tips when implementing an exercise 2020-10-14 14:34:26 +02:00
fece760132 Update bundle and move jquery_ujs 2020-05-12 17:51:11 +02:00
39afdbb381 Use local OpenSans font instead of Google's version 2020-03-07 23:25:12 +01:00
74d99df070 Add JavaScript sentry 2020-03-05 10:30:57 +01:00
d0eceac440 Upgrade font-awesome and add option reset only active file 2020-01-29 10:55:15 +01:00
26c2069e02 Move d3 to package.json and include I18n JS library though Gemfile
Also, update bundle to make it installable again (a version had been removed)
2019-03-09 00:31:56 +01:00
dd0f56659e Use webpack to deliver newest d3-tip.js, highlight.js and vis.js 2018-11-06 16:49:43 +01:00
72d0f7585e Use webpack to deliver Google openSans (and use newest version) 2018-11-06 16:49:43 +01:00
3ecb5bd778 Use webpack to deliver font-awesome (and use newest version) 2018-11-06 16:49:43 +01:00
9e4f9263e6 Use webpack to deliver jquery-ui (and use newest version) 2018-11-06 16:49:42 +01:00
8faacd5577 Use webpack to deliver underscore (and use newest version) 2018-11-06 16:49:42 +01:00
53e7739e05 Use webpack to deliver jstree (and use newest version)
Also delete bootstrap files now served via webpack
2018-11-06 16:49:42 +01:00
4d1cf972e4 Include Webpack and use it for jQuery, Bootstrap and chosen.js 2018-11-06 16:46:01 +01:00