Commit Graph

2827 Commits

Author SHA1 Message Date
Wolfgang Witt
3ab8be2e0d chore: reimagine nudge usage
- scale appropriately for unrestricted sizes
- don't behave weirdly for very large rooms
2021-03-29 16:03:33 +02:00
Wolfgang Witt
ff5d27cdf3 refactor: don't store order of unrestrictedOccurrences 2021-03-29 16:03:33 +02:00
Wolfgang Witt
2be9d76af2 fix: use extraUsers instead of extraCapacity for unrestricted pseudo-capacity 2021-03-29 16:03:33 +02:00
Wolfgang Witt
b5ee9f2c05 refactor: make ExamOccurrenceCapacity a newtype
use pattern synonyms for convenience, so usage doesn't change
2021-03-29 16:03:33 +02:00
Wolfgang Witt
ae3e1b6266 Apply 1 suggestion(s) to 1 file(s) 2021-03-29 16:03:33 +02:00
Wolfgang Witt
74219c632d Apply 2 suggestion(s) to 2 file(s) 2021-03-29 16:03:32 +02:00
Wolfgang Witt
6e20c22f7d chore: introduce a real cost function for unrestricted rooms 2021-03-29 16:03:32 +02:00
Wolfgang Witt
b7d7252649 refactor: hlint 2021-03-29 16:03:32 +02:00
Wolfgang Witt
d34f674c3e chore: use ∞ to display unrestricted room size 2021-03-29 16:03:31 +02:00
Wolfgang Witt
03a0899f5f chore: chase error messages 2021-03-29 16:03:31 +02:00
Wolfgang Witt
1c24b8e5e2 chore: display unrestricted rooms as "-" 2021-03-29 16:03:31 +02:00
Wolfgang Witt
7e425754fc chore: inform examAutoOccurrence about unrestricted room sizes 2021-03-29 16:03:31 +02:00
Wolfgang Witt
d3661b69fd chore: create ExamRoomCapacity-type
_examRoomCapacityIso for convenience
2021-03-29 16:03:30 +02:00
Gregor Kleen
5dad0a79c7 chore: improve faq & results mail for allocations 2021-03-29 10:47:14 +02:00
Gregor Kleen
0e50e6ebce perf: try to reduce db-conn-load of cached auth 2021-03-24 21:43:24 +01:00
Gregor Kleen
2f85cea1de perf: reduce db-conn-load of tokens 2021-03-24 17:35:40 +01:00
Gregor Kleen
ff8270042f fix: remove cached-db-runner
Observed "connection disconnected" from persistent on 25.5.0
CachedDBRunner seemed suspicious.
2021-03-23 21:53:33 +01:00
Gregor Kleen
3ff97aca77 refactor: hlint 2021-03-23 15:52:28 +01:00
Gregor Kleen
c23222aef6 perf: try to reduce db conn load of site-layout/nav 2021-03-23 15:18:37 +01:00
Gregor Kleen
da724654ed perf: try to reduce db connection load of auth 2021-03-23 11:07:05 +01:00
Gregor Kleen
1036926470 feat(course-participants): csv export first name/surname separately 2021-03-22 12:00:07 +01:00
Gregor Kleen
8795edd1fa feat(submissions): also warn correctors about multiple submissions 2021-03-19 16:25:48 +01:00
Gregor Kleen
c19a00dcef feat(submissions): warn about multiple submissions for same user 2021-03-19 16:09:15 +01:00
Gregor Kleen
9d1f1c6910 fix(auth): wrong caching for external-exam-staff 2021-03-19 14:20:49 +01:00
Gregor Kleen
72191315b6 fix(submissions): improve submission process
Fixes #675
2021-03-19 14:13:32 +01:00
Gregor Kleen
78d0f2522d feat(exams): exam finish button 2021-03-19 00:05:56 +01:00
Gregor Kleen
a6390eccbd fix(submissions): take care when to display corrections
Also cleanup usage of Utils via hlint
2021-03-18 23:12:36 +01:00
Gregor Kleen
91a51664c3 feat(submissions): improve behaviour of sheet-type-exam-part
Fixes #676
2021-03-18 17:50:27 +01:00
Gregor Kleen
8bdaae0881 fix(csv-export): mime confusion 2021-03-17 21:38:18 +01:00
Gregor Kleen
5c513946c1 feat(csv-export): .xlsx 2021-03-17 21:15:00 +01:00
Gregor Kleen
f09f851e2b perf(admin-tokens): worse but faster selection of active users 2021-03-17 09:45:13 +01:00
Gregor Kleen
a314f64a70 fix: weight random token impersonation towards active users 2021-03-17 00:19:45 +01:00
Gregor Kleen
600bbe5d7e feat: admins can efficiently generate many tokens for random users 2021-03-16 16:02:00 +01:00
Wolfgang Witt
9b0adab023 chore: extende random distribution with nudges 2021-03-15 10:45:37 +00:00
Wolfgang Witt
9c928b0375 fix: make sure to report NoUsers, regardless of rule 2021-03-15 10:45:37 +00:00
Wolfgang Witt
e13049d958 chore(test): inform test about changed type signature 2021-03-15 10:45:37 +00:00
Wolfgang Witt
163715afc8 chore: hlint 2021-03-15 10:45:37 +00:00
Wolfgang Witt
a7671dbec6 chore: remove TODO marker 2021-03-15 10:45:37 +00:00
Wolfgang Witt
767090ded1 chore: check for no users first 2021-03-15 10:45:37 +00:00
Wolfgang Witt
5dc37a07c1 chore: improve error messages 2021-03-15 10:45:37 +00:00
Wolfgang Witt
0765f4b925 chore: chasing type-errors
messages are still temporary
2021-03-15 10:45:37 +00:00
Wolfgang Witt
e03326e1ac chore: examAutoOccurrence converted to Either 2021-03-15 10:45:37 +00:00
Wolfgang Witt
72d42baec5 chore: remove redundant seq 2021-03-15 10:45:37 +00:00
Wolfgang Witt
6dedb2b2a0 Apply 1 suggestion(s) to 1 file(s) 2021-03-15 10:45:37 +00:00
Wolfgang Witt
6ae1aeaeb0 Apply 5 suggestion(s) to 1 file(s) 2021-03-15 10:45:37 +00:00
Wolfgang Witt
85e3941538 chore: add my name to contributers + create changelog files 2021-03-15 10:45:37 +00:00
Wolfgang Witt
ad67c2e0e2 chore: remove trailing 'A' from surname-range-start
- still add it if the previous end was too short
- this way overall shorter descriptions are possible
- in rare cases (at maxTagLength) this  prevented a description to be created
2021-03-15 10:45:37 +00:00
Wolfgang Witt
c99d96ecb8 fix: handle rare cases where a mappingDescription with start>end would be produced 2021-03-15 10:45:37 +00:00
Wolfgang Witt
cd07a56a9f fix: correctly calculate maximum user name length 2021-03-15 10:45:37 +00:00
Wolfgang Witt
daceac95fc chore(test): relax requirements for justified nullResult
Instances with bigger user buckets than the smallest room might correctly fail
Thus, don't report an error for them.
2021-03-15 10:45:37 +00:00
Wolfgang Witt
7e1b75c2e1 fix: shown ranges "include" special mappings
previously, they stopped just before leading to clashes with the next range
e.g. Äm would cause Am as mapping end with the next starting at An
Now, the mapping end is AZ with the next starting at BA
2021-03-15 10:45:37 +00:00
Wolfgang Witt
4f4cd394db chore: add missing+remove redundant imports 2021-03-15 10:45:37 +00:00
Wolfgang Witt
b974942f07 chore: matriculation numbers limited same length again
- this time as suffixes
- also start range description with full used length
  otherwise suffix-description is confusing
2021-03-15 10:45:37 +00:00
Wolfgang Witt
f0a79dff65 chore: rewrite ExamRoomRandom mapping, so it actually respects room sizes 2021-03-15 10:45:37 +00:00
Wolfgang Witt
a559ac74cb chore: include non-ascii names in range-calculation 2021-03-15 10:45:37 +00:00
Wolfgang Witt
8e4cb0917d fix: make sure unfortunate combination doesn't only produce 0-9 ranges for matrikelnummer 2021-03-15 10:45:37 +00:00
Wolfgang Witt
fc35fd26c1 fix: mappingDescription doesn't overlap for the first n rooms/with small names/matrikelnummer 2021-03-15 10:45:37 +00:00
Wolfgang Witt
6ccc192426 chore: remove -Wwarn 2021-03-15 10:45:37 +00:00
Wolfgang Witt
5480e2d7b7 chore: names with non-ascii prefix get a ExamOccurrenceMappingSpecial 2021-03-15 10:45:37 +00:00
Wolfgang Witt
d60f93561f fix: make sure it compiles again + add 2-letter name 2021-03-15 10:45:37 +00:00
Wolfgang Witt
873d5a02ad fix: ensure termination for non-{'A'..'Z']-names 2021-03-15 10:45:37 +00:00
Wolfgang Witt
344bd420cd chore: don't use suffix of a prefix for mapping description 2021-03-15 10:45:37 +00:00
Wolfgang Witt
8f2b31acef chore: add padding to mappingRange if names are too short 2021-03-15 10:45:37 +00:00
Wolfgang Witt
5a3b2881c4 chore: rewrite resultAscList 2021-03-15 10:45:37 +00:00
Wolfgang Witt
f0f6706bcf chore: remove redundant MultiWayIf 2021-03-15 10:45:37 +00:00
Wolfgang Witt
479f4326b2 chore: filter out all empty/prefilled rooms
They might produce unnecessary null-results
2021-03-15 10:45:37 +00:00
Wolfgang Witt
317b95be31 fix: check if number of relevant user is >0 to prevent crash 2021-03-15 10:45:37 +00:00
Wolfgang Witt
44a52e034f chore: filter out pre-filled rooms 2021-03-15 10:45:37 +00:00
Wolfgang Witt
4fc05351fa fix: user with a pre-assigned room count towards the capacity limit 2021-03-15 10:45:37 +00:00
Wolfgang Witt
e487ceff58 fix: make sure line-break algorithm respects available lines 2021-03-15 10:45:37 +00:00
Wolfgang Witt
eaf245beaa fix: examAutoOccurence no longer user >100% of a room 2021-03-15 10:45:37 +00:00
Wolfgang Witt
7b0fd61f7f fix: spelling plugin had a suggestion; actually Hello World commit :p 2021-03-15 10:45:37 +00:00
Gregor Kleen
65814c005e fix(authorisation): inverted logic for empty 2021-03-13 17:53:44 +01:00
Gregor Kleen
e88b6d6bab fix: invalidate nav caches 2021-03-12 18:39:00 +01:00
Gregor Kleen
6fbef0433c perf: additional/improved auth caching 2021-03-12 14:59:38 +01:00
Gregor Kleen
896bd41e3b fix(auth-caching): submission-group
Also improve metrics wrt. auth tag eval
2021-03-11 16:22:52 +01:00
Gregor Kleen
683a7da5fe refactor: hlint 2021-03-08 13:08:54 +01:00
Gregor Kleen
55a9c8a5ae perf: skip favouriteQuickActions under db conn pressure 2021-03-08 12:55:48 +01:00
Gregor Kleen
63f0d3c37a feat(auth): user independent authorisation caching
BREAKING CHANGE: additional authorisation caching
2021-03-08 12:08:43 +01:00
Gregor Kleen
38f16ebac3 refactor: hlint 2021-03-08 09:24:59 +01:00
Gregor Kleen
ea33d844cc feat(messages): mkMessageAddition 2021-03-06 22:31:20 +01:00
Gregor Kleen
bb877eb813 feat(messages): implement custom parser for message files 2021-03-06 20:13:55 +01:00
Gregor Kleen
6d93e3e8bc refactor: hlint 2021-03-01 13:12:30 +01:00
Gregor Kleen
cf33f0af84 fix: build 2021-03-01 07:50:08 +01:00
Gregor Kleen
23ff9d9222 feat(db): track source of database accesses 2021-02-26 11:00:44 +01:00
Gregor Kleen
6115b83bb3 fix(jobs): wake more often during waitUntil 2021-02-24 12:46:06 +01:00
Gregor Kleen
b9cc5b9970 feat(transaction-log): more details about submission files 2021-02-24 12:39:32 +01:00
Gregor Kleen
56e9212e65 chore: reduce logging 2021-02-24 10:12:48 +01:00
Gregor Kleen
d801a2f84a feat(monitoring): observe database connection opening/closing 2021-02-23 20:33:05 +01:00
Gregor Kleen
50fdcb4540 feat(db): provide our own implementation of connection pooling
Also allows monitoring pool status (available/in use connections,
total number of takes from pool)

This reverts commit 35ac503bf9.
2021-02-23 16:30:24 +01:00
Gregor Kleen
35ac503bf9 feat(db): optionally disable some db connection pooling 2021-02-21 20:44:45 +01:00
Gregor Kleen
fb6ae089c6 feat(bot-mitigations): only logged in table sorting 2021-02-21 13:39:47 +01:00
Gregor Kleen
db48bbb776 fix(jobs): use more read only/deferrable transactions 2021-02-20 11:16:47 +01:00
Gregor Kleen
c272618aa6 fix(missing-files): properly account for workflows 2021-02-19 13:42:23 +01:00
Gregor Kleen
e54b985815 fix(files): count personalised sheet files as alive 2021-02-19 09:27:12 +01:00
Gregor Kleen
e179c0ff6c refactor: hlint 2021-02-17 15:12:56 +01:00
Gregor Kleen
8d1f216b5b feat(caching): introduce cache prewarming 2021-02-17 14:31:30 +01:00
Gregor Kleen
c76794f7c8 chore: fix tests 2021-02-15 15:31:23 +01:00
Gregor Kleen
e2eddc93c5 chore(changelog): bump 2021-02-15 14:29:17 +01:00
Gregor Kleen
a8f268852a feat(personalised-sheet-files): restrict download by exam 2021-02-15 14:24:36 +01:00