\section{Probleme} \vspace{-.2cm} In diesem Kapitel wird näher auf die Probleme eingegangen, die sich ergeben haben, aus welchem Grund sie sich ergeben haben und wie sie schließlich behoben wurden. \vspace{-.2cm} \subsection{Falsche Zeitangaben} \begin{description} \item[Beschreibung] Im Frontend wurden die Zeiten, wann eine \Gls{podcast}episode zuletzt gehört wurde und wann ein \Gls{podcast} abonniert worden ist, falsch angezeigt. Hierbei kann eine Aktion entweder zu weit in der Vergangenheit oder sogar in der Zukunft liegen. \item[Ursache] Die Bibliothek hat die Zeiten in der lokalen, statt der universellen Zeit berechnet. Aufgrund der Differenz zwischen Zeitzonen kam es hierbei zu größer werdenden Zeitabständen. \item[Behebung] Die Bibliotheksfunktionen wurden so angepasst, dass sie die Zeiten explizit nach der universellen Zeitzone (UTC) berechnet. \end{description} \subsection{AntennaPod Fehlermeldung} \begin{description} \item[Beschreibung] Beim Hochladen von \Gls{abo}änderungen gab AntennaPod einen Fehler aus. \item[Ursache] Es wurde bei der Übertragung ein Parameter mit falschem Parameternamen gesendet. Hierbei handelt es sich um den Parameter \texttt{updateURLs}. \item[Behebung] \texttt{updateURLs} wurde umbenannt zu \texttt{update\textunderscore urls}. Die geschah durch das Hinzufügen von \texttt{@JsonProperty(value = ''update\textunderscore urls'')} in der \texttt{UpdateURLsWrapper} Klasse im \texttt{util} Paket. \end{description} \subsection{Doppelte Speicherung von EpisodeActions} \begin{description} \item[Beschreibung] Beim speichern von \Gls{episode}Actions ergab sich in manchen Fällen die Situation, dass \Gls{episode}Actions mehrfach gespeichert worden sind. Jede \Gls{episode} besitzt pro Benutzer eine \Gls{episode}Action. In diesem Fall gab es mehrere \Gls{episode}Actions pro Benutzer für je eine \Gls{episode}. \item[Ursache] Es werden alle \Gls{episode}Actions in der \Gls{db} gespeichert, die neuer als die aktuellste \Gls{episode}Action in der \Gls{db} sind. Nach einem Speichervorgang sollte die ältere \Gls{episode}Action gelöscht werden. Da \Gls{spring} jedoch aus Effizienzgründen nach diesem Schema mehrere Daten sammelt und erst dann abspeichert, wird nur einer der älteren Einträge gelöscht. Dadurch werden im Durchschnitt mehr \Gls{episode}Actions gespeichert, als \Gls{episode}Actions entfernt werden. \item[Behebung] Die empfangenen \Gls{episode}Actions werden vor dem Speichern in der \Gls{db} bereits nach den jeweils aktuellsten \Gls{episode}Actions für eine \Gls{episode} aussortiert. Damit wird letztlich nur eine \Gls{episode}Action in die \Gls{db} geschrieben und auch nur eine ältere \Gls{episode}Action zu der \Gls{episode} gelöscht, womit jede \Gls{episode} für jeden User weiterhin nur eine \Gls{episode}Action besitzt. \end{description}