proto3 issueshttps://git.fsmpi.rwth-aachen.de/protokollsystem/proto3/-/issues2022-06-10T01:49:11+02:00https://git.fsmpi.rwth-aachen.de/protokollsystem/proto3/-/issues/229"Neues Protokoll" in der Typ-Übersicht kaputt2022-06-10T01:49:11+02:00Lars Beckers"Neues Protokoll" in der Typ-Übersicht kaputtIch habe in der Übersicht der Protokolltypen auf "Neues Protokoll" geklickt. Hier der Traceback für 500:
```
Feb 29 19:21:23 www uwsgi[992]: ERROR:flask.app:Exception on /protocol/new [GET]
Feb 29 19:21:23 www uwsgi[992]: Traceback (mos...Ich habe in der Übersicht der Protokolltypen auf "Neues Protokoll" geklickt. Hier der Traceback für 500:
```
Feb 29 19:21:23 www uwsgi[992]: ERROR:flask.app:Exception on /protocol/new [GET]
Feb 29 19:21:23 www uwsgi[992]: Traceback (most recent call last):
Feb 29 19:21:23 www uwsgi[992]: File "/var/www/asta-protokollsystem/program/lib/python3.5/site-packages/flask/app.py", line 2292, in wsgi_app
Feb 29 19:21:23 www uwsgi[992]: response = self.full_dispatch_request()
Feb 29 19:21:23 www uwsgi[992]: File "/var/www/asta-protokollsystem/program/lib/python3.5/site-packages/flask/app.py", line 1815, in full_dispatch_request
Feb 29 19:21:23 www uwsgi[992]: rv = self.handle_user_exception(e)
Feb 29 19:21:23 www uwsgi[992]: File "/var/www/asta-protokollsystem/program/lib/python3.5/site-packages/flask/app.py", line 1718, in handle_user_exception
Feb 29 19:21:23 www uwsgi[992]: reraise(exc_type, exc_value, tb)
Feb 29 19:21:23 www uwsgi[992]: File "/var/www/asta-protokollsystem/program/lib/python3.5/site-packages/flask/_compat.py", line 35, in reraise
Feb 29 19:21:23 www uwsgi[992]: raise value
Feb 29 19:21:23 www uwsgi[992]: File "/var/www/asta-protokollsystem/program/lib/python3.5/site-packages/flask/app.py", line 1813, in full_dispatch_request
Feb 29 19:21:23 www uwsgi[992]: rv = self.dispatch_request()
Feb 29 19:21:23 www uwsgi[992]: File "/var/www/asta-protokollsystem/program/lib/python3.5/site-packages/flask/app.py", line 1799, in dispatch_request
Feb 29 19:21:23 www uwsgi[992]: return self.view_functions[rule.endpoint](**req.view_args)
Feb 29 19:21:23 www uwsgi[992]: File "./shared.py", line 156, in decorated_function
Feb 29 19:21:23 www uwsgi[992]: return function(*args, **kwargs)
Feb 29 19:21:23 www uwsgi[992]: File "/var/www/asta-protokollsystem/program/server.py", line 742, in new_protocol
Feb 29 19:21:23 www uwsgi[992]: form.protocoltype.data = type_id
Feb 29 19:21:23 www uwsgi[992]: AttributeError: 'NewProtocolForm' object has no attribute 'protocoltype'
```
Hingegen oben im Menu auf "Neues Protokoll" klicken, dort den Typen auswählen, und damit ein neues Protokoll anlegen funktioniert.https://git.fsmpi.rwth-aachen.de/protokollsystem/proto3/-/issues/225Sitzungs-spezifisches Datum wird nicht in Etherpad übernommen2022-02-06T01:39:27+01:00Julian RotherSitzungs-spezifisches Datum wird nicht in Etherpad übernommenBeim Öffnen des Etherpads wird immer das Datum aus den Defaults für den Protokoll-Typ übernommen und nicht das für spezifische Sitzung gesetzte.Beim Öffnen des Etherpads wird immer das Datum aus den Defaults für den Protokoll-Typ übernommen und nicht das für spezifische Sitzung gesetzte.https://git.fsmpi.rwth-aachen.de/protokollsystem/proto3/-/issues/187Sitzungs-Tag legt Sitzung beim neukompilieren erneut an2022-02-01T20:23:14+01:00markus schellerSitzungs-Tag legt Sitzung beim neukompilieren erneut anSicherstellen, dass eine Sitzung nicht doppelt angelegt wird, wenn das Protokoll in einer korrigierten Fassung erneut kompiliert wird
Vergl. auch #97 Sicherstellen, dass eine Sitzung nicht doppelt angelegt wird, wenn das Protokoll in einer korrigierten Fassung erneut kompiliert wird
Vergl. auch #97 https://git.fsmpi.rwth-aachen.de/protokollsystem/proto3/-/issues/233Etherpad v1.8.0: Geändertes Verhalten bei nicht existierendem Pad2020-03-14T01:54:40+01:00Lars BeckersEtherpad v1.8.0: Geändertes Verhalten bei nicht existierendem PadIn https://git.fsmpi.rwth-aachen.de/protokollsystem/proto3/-/blob/51b7f35b07143f7142dc84d634d4211a2bdedfe2/utils.py#L147 sehen wir die Funktionalität, um zu prüfen ob ein Etherpad bereits existiert und es ggf. durch eigenen Inhalt zu ers...In https://git.fsmpi.rwth-aachen.de/protokollsystem/proto3/-/blob/51b7f35b07143f7142dc84d634d4211a2bdedfe2/utils.py#L147 sehen wir die Funktionalität, um zu prüfen ob ein Etherpad bereits existiert und es ggf. durch eigenen Inhalt zu ersetzen. Das ist also die Funktionalität, die es erlaubt die TO in ein neues Pad zu pushen.
Letzteres ist aktuell kaputt. Das Verhalten, was Etherpad an den Tag legt, wenn ein nicht existierendes Pad exportiert werden soll, scheint sich mit der aktuellen Version (zuletzt auf fachschaften.rwth-aachen.de geupdated) v1.8.0 geändert zu haben. Das legt ein Diff zwischen den letzten beiden Releases, sowie das abweichende Verhalten der erst-besten Etherpad-Instanz im Internet nahe. Beides leider nicht ausreichend, um die exakte Problematik zu bestimmen, aber für einen groben Vergleich reicht es:
- In v1.8.0 kommt bei dem Link, den das Protokollsystem aufruft, ein 404 mit "Cannot GET /p/...." verpackt in HTML zurück.
- Logs legen nahe, dass vor einiger Zeit die Antwort bei 404 weniger Bytes hatte.
- Die erst beste Internet-Instanz gibt beim gleichen Request einfach einen 200 mit dem Standard-Fülltext zurück.
Der Source des Protokollsystems sieht so aus, als würde letzteres erwartet. Das müsste also so angepasst werden, dass es auch mit dem aktuellen Verhalten umgehen kann. "Auch", da das Ersetzen des Textes im Platzhalter-Status weiterhin sinnvoll bleibt. Umgekehrt ist es natürlich keine akzeptable Variante ein Etherpad auf die alte Version zu downgraden (siehe die SECURITY-Hinweise im Release-Log).https://git.fsmpi.rwth-aachen.de/protokollsystem/proto3/-/issues/223Non-CDN Konfiguration ist kaputt2019-04-09T19:07:33+02:00Lars BeckersNon-CDN Konfiguration ist kaputt473676a5f5a6d746fbb76551ee25348d584476de hat zwei neue Bugs eingeführt:
1. configproxy kann keinen Config-Check machen, weil `check_server_name` den Parameter `CDN_URL` nicht kennt,
2. wenn `CDN_URL` nicht explizit gesetzt wird, wird e...473676a5f5a6d746fbb76551ee25348d584476de hat zwei neue Bugs eingeführt:
1. configproxy kann keinen Config-Check machen, weil `check_server_name` den Parameter `CDN_URL` nicht kennt,
2. wenn `CDN_URL` nicht explizit gesetzt wird, wird es automagisch auf `None` gesetzt, sodass CSS und JS von z.B. `None/bootstrap/css/bootstrap.min.css` (nicht) geladen werden.https://git.fsmpi.rwth-aachen.de/protokollsystem/proto3/-/issues/201TOPs sometime have no name2018-06-11T17:18:20+02:00Robin SonnabendTOPs sometime have no namehttps://sentry.fsmpi.rwth-aachen.de/protokollsystem/protokollsystem/issues/17/
```
TypeError: sequence item 8: expected str instance, NoneType found
(3 additional frame(s) were not displayed)
...
File "program/server.py", line 1862, i...https://sentry.fsmpi.rwth-aachen.de/protokollsystem/protokollsystem/issues/17/
```
TypeError: sequence item 8: expected str instance, NoneType found
(3 additional frame(s) were not displayed)
...
File "program/server.py", line 1862, in feed_all_appointments_ical
return make_calendar_from_protocols(protocols, "Sitzungskalender")
File "program/server.py", line 1827, in make_calendar_from_protocols
top.name for top in protocol.get_tops())
TypeError: sequence item 8: expected str instance, NoneType found
```Robin SonnabendRobin Sonnabendhttps://git.fsmpi.rwth-aachen.de/protokollsystem/proto3/-/issues/200Do not fail top-listing when localtops are missing2018-06-06T17:05:32+02:00Robin SonnabendDo not fail top-listing when localtops are missinghttps://sentry.fsmpi.rwth-aachen.de/protokollsystem/protokollsystem/issues/16/
```
AttributeError: 'NoneType' object has no attribute 'description'
(5 additional frame(s) were not displayed)
...
File "program/server.py", line 1862, in...https://sentry.fsmpi.rwth-aachen.de/protokollsystem/protokollsystem/issues/16/
```
AttributeError: 'NoneType' object has no attribute 'description'
(5 additional frame(s) were not displayed)
...
File "program/server.py", line 1862, in feed_all_appointments_ical
return make_calendar_from_protocols(protocols, "Sitzungskalender")
File "program/server.py", line 1827, in make_calendar_from_protocols
top.name for top in protocol.get_tops())
AttributeError: 'NoneType' object has no attribute 'description'
```Robin SonnabendRobin Sonnabendhttps://git.fsmpi.rwth-aachen.de/protokollsystem/proto3/-/issues/199CALENDAR_TIMEZONE_MAP falsely requires CALENDAR_ACTIVE2018-06-06T16:40:18+02:00Robin SonnabendCALENDAR_TIMEZONE_MAP falsely requires CALENDAR_ACTIVEhttps://sentry.fsmpi.rwth-aachen.de/protokollsystem/protokollsystem/issues/15/
```
KeyError: 'CALENDAR_TIMEZONE_MAP'
File "configproxy.py", line 920, in __getattr__
return self.data[key]
AttributeError:
(4 additional frame(s) we...https://sentry.fsmpi.rwth-aachen.de/protokollsystem/protokollsystem/issues/15/
```
KeyError: 'CALENDAR_TIMEZONE_MAP'
File "configproxy.py", line 920, in __getattr__
return self.data[key]
AttributeError:
(4 additional frame(s) were not displayed)
...
File "program/server.py", line 1739, in feed_appointments_ical
for key in config.CALENDAR_TIMEZONE_MAP:
AttributeError
```Robin SonnabendRobin Sonnabendhttps://git.fsmpi.rwth-aachen.de/protokollsystem/proto3/-/issues/194Users with old session cookie versions are not handled correctly2018-05-30T10:37:24+02:00Robin SonnabendUsers with old session cookie versions are not handled correctlyhttps://sentry.fsmpi.rwth-aachen.de/protokollsystem/protokollsystem/issues/11/
```
ValueError: could not convert string to float: 'False'
(8 additional frame(s) were not displayed)
...
File "program/server.py", line 223, in index
...https://sentry.fsmpi.rwth-aachen.de/protokollsystem/protokollsystem/issues/11/
```
ValueError: could not convert string to float: 'False'
(8 additional frame(s) were not displayed)
...
File "program/server.py", line 223, in index
user = current_user()
ValueError: could not convert string to float: 'False'
```Robin SonnabendRobin Sonnabendhttps://git.fsmpi.rwth-aachen.de/protokollsystem/proto3/-/issues/197LATEX_ADDITIONAL_PACKAGES wird ignoriert2018-05-30T10:37:24+02:00markus schellerLATEX_ADDITIONAL_PACKAGES wird ignoriertDer Zeit wird LATEX_ADDITIONAL_PACKAGES ignoriert, obwohl es in der config.py angegeben ist und zwingend benötigt wird.
Mag ein Eintrag für LATEX_ADDITIONAL_PACKAGES in configproxy.py fehlen?Der Zeit wird LATEX_ADDITIONAL_PACKAGES ignoriert, obwohl es in der config.py angegeben ist und zwingend benötigt wird.
Mag ein Eintrag für LATEX_ADDITIONAL_PACKAGES in configproxy.py fehlen?Robin SonnabendRobin Sonnabendhttps://git.fsmpi.rwth-aachen.de/protokollsystem/proto3/-/issues/195UndefinedError: 'None' has no attribute 'get_css_classes'2018-05-30T10:37:24+02:00Robin SonnabendUndefinedError: 'None' has no attribute 'get_css_classes'https://sentry.fsmpi.rwth-aachen.de/protokollsystem/protokollsystem/issues/13/
```
UndefinedError: 'None' has no attribute 'get_css_classes'
(13 additional frame(s) were not displayed)
...
File "program/server.py", line 693, in show_p...https://sentry.fsmpi.rwth-aachen.de/protokollsystem/protokollsystem/issues/13/
```
UndefinedError: 'None' has no attribute 'get_css_classes'
(13 additional frame(s) were not displayed)
...
File "program/server.py", line 693, in show_protocol
large_time_diff=large_time_diff, content_html=content_html)
UndefinedError: 'None' has no attribute 'get_css_classes'
```https://git.fsmpi.rwth-aachen.de/protokollsystem/proto3/-/issues/196TOPs ohne Name scheitern erst in escape_tex2018-05-30T10:37:24+02:00Robin SonnabendTOPs ohne Name scheitern erst in escape_texhttps://sentry.fsmpi.rwth-aachen.de/protokollsystem/protokollsystem/issues/14/
```
TypeError: object of type 'NoneType' has no len()
(7 additional frame(s) were not displayed)
...
File "jinja2/environment.py", line 780, in handle_exce...https://sentry.fsmpi.rwth-aachen.de/protokollsystem/protokollsystem/issues/14/
```
TypeError: object of type 'NoneType' has no len()
(7 additional frame(s) were not displayed)
...
File "jinja2/environment.py", line 780, in handle_exception
reraise(exc_type, exc_value, tb)
File "jinja2/_compat.py", line 37, in reraise
raise value.with_traceback(tb)
File "/var/www/protokollsystem/program/templates/protocol-template.txt", line 45, in top-level template code
{{render_top(top, use_description=True)}}
File "jinja2/runtime.py", line 579, in _invoke
rv = self._func(*arguments)
File "/var/www/protokollsystem/program/templates/protocol-template.txt", line 25, in template
{% if top.description|length > 0 %}
TypeError: object of type 'NoneType' has no len()
```Robin SonnabendRobin Sonnabendhttps://git.fsmpi.rwth-aachen.de/protokollsystem/proto3/-/issues/186WikiException is silently ignored2018-05-30T09:55:51+02:00Robin SonnabendWikiException is silently ignoredhttps://sentry.fsmpi.rwth-aachen.de/protokollsystem/protokollsystem/issues/6/
```
WikiException: HTTP status code 500 on action login.
(1 additional frame(s) were not displayed)
...
File "celery/app/trace.py", line 629, in __protected...https://sentry.fsmpi.rwth-aachen.de/protokollsystem/protokollsystem/issues/6/
```
WikiException: HTTP status code 500 on action login.
(1 additional frame(s) were not displayed)
...
File "celery/app/trace.py", line 629, in __protected_call__
return self.run(*args, **kwargs)
File "program/tasks.py", line 585, in push_to_wiki_async
with WikiClient() as wiki_client, app.app_context():
File "program/wiki.py", line 42, in __enter__
self.login()
File "program/wiki.py", line 56, in login
token_answer = self.do_action("login", method="post", lgname=self.user)
File "program/wiki.py", line 118, in do_action
req.status_code, action))
WikiException: HTTP status code 500 on action login.
```https://git.fsmpi.rwth-aachen.de/protokollsystem/proto3/-/issues/193Catch JSONDecodeError in wiki.py2018-05-30T09:55:51+02:00Robin SonnabendCatch JSONDecodeError in wiki.pyhttps://sentry.fsmpi.rwth-aachen.de/protokollsystem/protokollsystem/issues/7/
```
JSONDecodeError: Expecting value: line 1 column 1 (char 0)
(5 additional frame(s) were not displayed)
...
File "program/wiki.py", line 120, in do_action...https://sentry.fsmpi.rwth-aachen.de/protokollsystem/protokollsystem/issues/7/
```
JSONDecodeError: Expecting value: line 1 column 1 (char 0)
(5 additional frame(s) were not displayed)
...
File "program/wiki.py", line 120, in do_action
return req.json()
File "requests/models.py", line 892, in json
return complexjson.loads(self.text, **kwargs)
File "json/__init__.py", line 319, in loads
return _default_decoder.decode(s)
File "json/decoder.py", line 339, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "json/decoder.py", line 357, in raw_decode
raise JSONDecodeError("Expecting value", s, err.value) from None
JSONDecodeError: Expecting value: line 1 column 1 (char 0)
```Robin SonnabendRobin Sonnabendhttps://git.fsmpi.rwth-aachen.de/protokollsystem/proto3/-/issues/190AttributeError: 'Protocol' object has no attribute 'reminders'2018-03-19T19:04:21+01:00Robin SonnabendAttributeError: 'Protocol' object has no attribute 'reminders'https://sentry.fsmpi.rwth-aachen.de/protokollsystem/protokollsystem/issues/8/
```
AttributeError: 'Protocol' object has no attribute 'reminders'
(6 additional frame(s) were not displayed)
...
File "program/server.py", line 933, in sen...https://sentry.fsmpi.rwth-aachen.de/protokollsystem/protokollsystem/issues/8/
```
AttributeError: 'Protocol' object has no attribute 'reminders'
(6 additional frame(s) were not displayed)
...
File "program/server.py", line 933, in send_protocol_reminder
meetingreminders = protocol.reminders
AttributeError: 'Protocol' object has no attribute 'reminders'
```Robin SonnabendRobin Sonnabendhttps://git.fsmpi.rwth-aachen.de/protokollsystem/proto3/-/issues/181Kalenderexport funktioniert nicht2018-03-18T17:27:44+01:00Marco NuechelKalenderexport funktioniert nichtDie genutzte CalDAV-Bibliothek ist kaputt.
Zitat @robin :
> Weil die dateutil-Bibliothek einen Bug hat, der seit mindestens August 2017 behoben ist, aber seitdem gab es noch kein neues Release
>
> https://github.com/dateutil/dateutil/p...Die genutzte CalDAV-Bibliothek ist kaputt.
Zitat @robin :
> Weil die dateutil-Bibliothek einen Bug hat, der seit mindestens August 2017 behoben ist, aber seitdem gab es noch kein neues Release
>
> https://github.com/dateutil/dateutil/pull/429
> https://github.com/dateutil/dateutil/issues/401
> https://github.com/dateutil/dateutil/pull/429/commits/b85b5770f145e067946d44035b1333bc7e052f7b
>
> Den habe ich jetzt manuell wieder angewandt, warum auch immer das rückgängig gemacht wurde