This commit resolves a regression introduced by commit 9c3ec3c7.
We still might want to remove this false data from our database, which is still pending.
The RfC Visibility of a consumer is intended to restrict who can access which RfCs. So far, those restrictions were only applied one way, for learners of a restricted consumer to view other (external) RfCs. However, the other way around should also work: If a RfC was created as part of a restricted consumer, no other external user should be able to interfere with this RfC. This commit, therefore, adds this direction as well and covers both directions with tests.
Removing the call to distinct dramatically improves the page load time. I don't know why, but since we are only using the users to filter the submission, it's not harmful to omit it.
This is useful to remove any handlers, e.g., when submitting an exercise. Hopefully, we will see less Javascript errors due to cumbersome behavior with these changes...
Also, I am cleaning up unused event handlers. The `showOutput` method doesn't seem to be used, we should observe this in the future.
Closes CODEOCEAN-KQ
The previous solution worked, but always queried all ErrorTemplateAttributes, even if there was no match of the ErrorTemplate. This solution resolves this issue and still benefits from less SQL queries.
With these changes, the newly created StructuredError will have all StructuredErrorAttributes preloaded, thus speeding up further access to this association.
Even though the error occurs not very frequent, we want to resolve it. Sentry identified that the former error still occurs and we try once more to fix it.
Fixes CODEOCEAN-JH
Even though not reproducible locally, we had some errors captured through Sentry where the Tooltip was opened on the (already hidden) run button. This resulted in an error by the Bootstrap library. Most likely, the issue was caused by some race condition.
Fixes CODEOCEAN-BA
Even though we can check the health of the runner management, we would like to ensure an external health check validates the availability of all required services.
We previously optimized the SQL queries, so that anonymous users without any cookie sent no longer result in a database query. This is generally awesome, but it also allows our health check monitoring to pass even when no database connection can be established.
Previously, removing an UTF-16 character (such as emojis) required pressing the backspace twice. This was caused by ACE only handling single UTF-8 characters.
Fixes CODEOCEAN-GC