Code-Review: tote Stellen entfernt, Umwege vereinfacht

- SQLite-Import, migrate.sh, notes/migrations.md und altes jQuery-Skript entfernt
- Backend: scanEntry/queryEntries statt doppelter Scan-Liste, Feed-Queries
  direkt statt feedWhere, Thread ohne Map-Umweg, gemeinsame Helfer für
  Cookie-Löschen und Mediennamen, usernameTaken
- Frontend: PostForm für Beitrag und Antwort, EntryCard in Deleted/LiveCard
  aufgeteilt, tote CSS-Regeln und Typen entfernt, Strich-Regeln zusammengelegt
- Rechtstexte verlinken /stats; Kommentare ohne Vorgeschichte

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TiXsPUqw7oeomZ8wZrQW5q
This commit is contained in:
irrlicht
2026-09-27 15:03:22 +02:00
co-authored by Claude Opus 5.5
parent d1bd0f5f1d
commit df0cfec132
33 changed files with 235 additions and 933 deletions
+3 -6
View File
@@ -6,9 +6,8 @@ import (
"net/http"
)
// Fehler-Taxonomie: trennt die drei Informationen, die früher an jeder
// Fehler-Aufrufstelle verklebt waren -- wie schwer der Fehler ist (Kind),
// was genau passiert ist (Code) und was der Nutzer lesen soll (Msg).
// Fehler-Taxonomie: trennt, wie schwer ein Fehler ist (Kind), was genau
// passiert ist (Code) und was der Nutzer lesen soll (Msg).
//
// Der Sinn der Trennung: das Frontend zeigt Msg an und markiert Field, ein
// Client braucht Code, um ohne Parsen deutscher Strings reagieren zu können,
@@ -92,9 +91,7 @@ func (e *Error) WithCause(cause error) *Error {
return e
}
// asError normalisiert alles, was kein *Error ist, zu einem Internal. Damit
// müssen die Adapter keinen Sonderfall für "nackte" Fehler kennen, die aus
// Bibliotheken oder noch nicht umgestellten Stellen kommen.
// asError normalisiert alles, was kein *Error ist, zu einem Internal.
func asError(err error) *Error {
var e *Error
if errors.As(err, &e) {