Doppelte Checkins: Bitte aufräumen bis zum 31. Mai

(english version below)

TL;DR: Schaut bitte auf traewelling.de/statuses/duplicates und löscht eure doppelten Checkins. Ab dem 31. Mai 2026 erledigen wir das automatisch.


Wir haben ein kleines Datenbankproblem, das wir gerne gemeinsam mit euch bereinigen möchten, bevor wir es automatisiert erledigen müssen.

Was ist passiert?

Vor einigen Jahren haben wir beim Umbauen unserer Datenbankstruktur versehentlich einen sogenannten UNIQUE-Constraint auf der Tabelle für Checkins entfernt. Ein UNIQUE-Constraint ist eine Datenbankregel, die dafür sorgt, dass eine bestimmte Kombination von Werten nur einmal vorkommen darf. In unserem Fall: ein User darf nicht zweimal in dieselbe Fahrt vom selben Startpunkt einchecken.

🐦😔🚆 Abschaltung der Twitter-Verbindung zu Träwelling

Am 2. Februar hat Twitter bekanntgegeben, dass die bestehende Twitter-API in Kürze kostenpflichtig wird. In Folge dessen haben wir entschieden, die Twitter-Verbindung zu deaktivieren.

Die Möglichkeit, Träwelling-Checkins auf Twitter zu teilen, war eins der ersten Features vor knapp 10 Jahren und hat allein deshalb schon einen hohen Stellenwert. Seitdem hat Träwelling tausende Tweets und “Jemand sitzt in deinem Zug”-Direktnachrichten verschickt. Dennoch können und möchten wir für den API-Access keine finanziellen Auslagen tätigen.

Call me by your train: April, April! 📱🤪

“Willkommen bei Träwelling, was ist dein Support-Code?” — mit diesen Worten haben wir gestern Anrufer*innen bei Träwelling begrüßt. Wer es noch nicht mitbekommen hat: Das ganze Ding war eine einmalige Aprilscherz-Aktion, die leider nicht fortgeführt wird.

Wir haben aber ein paar Statistiken für euch: Insgesamt gab es gestern zwischen 7 und 23 Uhr 211 Anrufe an die Nummer, von denen 76 erfolgreich an den menschlichen Support weitergeleitet wurden. Das Träwelling-Team hat in Summe 2h 40min mit Menschen telefoniert und dabei 60 Checkins generiert. Außerdem haben wir uns 4 GitHub-Issues für Verbesserungen und Fehler an der Plattform notiert, welche wir in der kommenden Zeit angehen werden. Im Mittel wurden die Anrufe nach 8 Sekunden entgegengenommen, nur vier Anrufer*innen haben so schnell wieder aufgelegt, dass sie als “verpasst” in die Statistik zählen.

Call me by your train: Der TRWL Telefon-Checkin 📱🚆

Wir wissen, dass das mobile Internet auf den deutschen Zugstrecken nicht immer großartig ist. Aber telefonieren geht fast immer! Also haben wir einen neuen Service entwickelt, der das Einchecken mit dem Telefon ermöglicht. Einfach anrufen, die Daten zu Deinem Zug übermitteln, und einchecken.

Hotline

Tagsüber bieten wir ab sofort eine Hotline mit echten Menschen an, bei dem Du anrufen kannst. Um dich zu verifizieren, findest du einen PIN-Code in einer blauen Box auf deinen Dashboard.

Sicherheitsvorfall bei Traewelling

(english version below)

Heute Morgen (Sonntag, den 20.06.2021) ist einem unserer Entwickler eine Schwachstelle in Träwelling aufgefallen, welche mit der Anbindung der Social Media-Konten (Twitter und Mastodon) zusammenhängt.

Die Kommunikation mit diesen externen Diensten benötigt mehrere Schlüssel: Zunächst zwei Anwendungsschlüssel (“AppId” und “Secret”), welche Träwelling einmalig vorhält und dann für jeden User private Schlüssel (“Client Secrets”), mit denen Träwelling im Namen dieses Users z.B. Tweets/Toots posten darf.

Beim Aufruf einzelner Endpunkte der Träwelling-API konnten die Client-Secrets für Twitter und Mastodon vereinzelter User zeitweise im Klartext ausgelesen werden. Es besteht derzeit kein Verdacht, dass diese Schwachstelle ausgenutzt wurde. Die AppId und das AppSecret sind von der Lücke nicht betroffen.

Release v1.8

In diesem Träwelling Updaten präsentieren wir euch eine erste Statistikseite und die Funktion, andere Benutzer stummzuschalten. Außerdem werden Check-Ins anderer User, die mehr als 20 Minuten in der Zukunft liegen nicht angezeigt.

Neue Funktionen

✨ Added new statistics page (#285)

✨ Filtered out check-ins that are more than 20 minutes in the future (#349)

✨ Mute users (#333)

🚸 fixed hover effect (#342)

Fehlerbehebungen

♻️ moved social URL generation into user model (#347)

*klingeling* Träwelling hat was neues!

Wir haben endlich Notifications!
Endlich könnt ihr die Funktion, die wir damals wegen Twitter API-Beschränkungen abschaffen mussten wieder nutzen!

Wenn ihr in einem Zug unterwegs seid, könnt ihr jetzt sehen, wenn jemand bei euch eincheckt!

Ebenso seht ihr neue Likes auf eure Checkins und neue Follower!

Wie damals am Ende unseres Trailers angekündigt, soll Träwelling irgendwann auch als App verfügbar sein.

Diesen sehr aufwändigen Schritt haben wir leider noch nicht machen können, dafür einen sehr großen in diese Richtung: Träwelling bekommt eine API!

Träwelling goes Open Source!

Seit fast 7 Monaten arbeiten wir in einem kleinen Team an Träwelling und haben eine Menge geschafft: Ein neues User-Interface, eine Detail-Seite für Deinen Check-In und die Möglichkeit, sich mit Mastodon anzumelden, sind die wohl bekanntesten Features. Unter der Haube versuchen wir, die komplexe Bahnwelt zu reflektieren; immerhin werden jeden Tag über 100 Verbindungen in Träwelling getrackt.

Ein Teil unserer Nutzer*innen möchte immer mehr von der Plattform. Auf dem 36C3 und darüber hinaus haben wir viele Zuschriften erhalten, die sich bestimmte Features (Private Reisen, ein besserer Export, etc.) wünschen. Glücklicherweise gibt es eine große Überlappung zwischen der Bahn-Bubble und der Chaos-/Open-Source-Szene, die in der Lage ist - und schon angeboten hat - sich bei Träwelling zu engagieren.

Traewelling Release 1 0

Lange hat sich an Träwelling nichts getan, obwohl es seit 2017 mehrere Anläufe gab.

August hat uns dann der Tatendrang gepackt und jetzt, gut drei Monate später, sind wir beim ersten vollen Release von Träwelling – sechs Jahre nach Beginn des Projekts.

Wir?! – ja, denn neben Levin arbeiten jetzt auch Jannik und Karl an dem Projekt.

Was hat sich geändert?

Wir haben die meisten Features, die Träwelling besaß, wieder aufgegriffen und auf einer neuen, erweiterbaren Plattform auf Basis von Laravel reimplementiert. Desweiteren haben wir uns in der Abhängigkeit von Twitter komplett gelöst; das bedeutet, dass Träwelling ab jetzt ohne Twitter-Account genutzt werden kann.

API-Probleme im In- & Ausland

Bei uns ist intern einiges schief gelaufen. Es ging total an uns vorbei, dass opendata.ch ihre Api abgeändert hat. So dachten wir, die Fehler, wie fehlende Abfahrten an gewissen Bahnhöfen, die gestern und heute (ab 31.07.2017) auftraten, waren ein typischer Schluckauf der SBB-API. Weit gefehlt.

Nachricht auf der API-Webseite, alles kaputt.

Wir konnten jetzt kurzfristig auf eine temporäre Lösung umstellen: eine selbstgehostete Schnittstelle der API. So ist die volle Funktion leider auch nicht gewährleistet.