tangled
alpha
login
or
join now
margin.at
/
margin
89
fork
atom
Write on the margins of the internet. Powered by the AT Protocol.
margin.at
extension
web
atproto
comments
89
fork
atom
overview
issues
4
pulls
1
pipelines
session fix stuff
scanash.com
1 week ago
4301e2ca
a1685aa7
+25
-2
3 changed files
expand all
collapse all
unified
split
backend
cmd
server
main.go
internal
api
token_refresh.go
db
queries_sessions.go
+15
backend/cmd/server/main.go
···
37
logger.Fatal("Failed to run migrations: %v", err)
38
}
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
embeddingClient := embeddings.NewClient()
41
if err := database.MigrateRecommendations(); err != nil {
42
logger.Fatal("Failed to run recommendation migrations: %v", err)
···
37
logger.Fatal("Failed to run migrations: %v", err)
38
}
39
40
+
go func() {
41
+
ticker := time.NewTicker(1 * time.Hour)
42
+
defer ticker.Stop()
43
+
44
+
if err := database.DeleteExpiredSessions(); err != nil {
45
+
logger.Error("Failed to run initial cleanup of expired sessions: %v", err)
46
+
}
47
+
48
+
for range ticker.C {
49
+
if err := database.DeleteExpiredSessions(); err != nil {
50
+
logger.Error("Failed to delete expired sessions: %v", err)
51
+
}
52
+
}
53
+
}()
54
+
55
embeddingClient := embeddings.NewClient()
56
if err := database.MigrateRecommendations(); err != nil {
57
logger.Fatal("Failed to run recommendation migrations: %v", err)
+5
-2
backend/internal/api/token_refresh.go
···
174
return false
175
}
176
errStr := err.Error()
177
-
return bytes.Contains([]byte(errStr), []byte("invalid_token")) &&
178
-
bytes.Contains([]byte(errStr), []byte("exp"))
0
0
0
179
}
180
181
func (tr *TokenRefresher) ExecuteWithAutoRefresh(
···
174
return false
175
}
176
errStr := err.Error()
177
+
return bytes.Contains([]byte(errStr), []byte("invalid_token")) ||
178
+
bytes.Contains([]byte(errStr), []byte("AuthenticationRequired")) ||
179
+
bytes.Contains([]byte(errStr), []byte("Unauthorized")) ||
180
+
bytes.Contains([]byte(errStr), []byte("authentication required")) ||
181
+
bytes.Contains([]byte(errStr), []byte("TokenExpired"))
182
}
183
184
func (tr *TokenRefresher) ExecuteWithAutoRefresh(
+5
backend/internal/db/queries_sessions.go
···
30
_, err := db.Exec(db.Rebind(`DELETE FROM sessions WHERE id = ?`), id)
31
return err
32
}
0
0
0
0
0
···
30
_, err := db.Exec(db.Rebind(`DELETE FROM sessions WHERE id = ?`), id)
31
return err
32
}
33
+
34
+
func (db *DB) DeleteExpiredSessions() error {
35
+
_, err := db.Exec(db.Rebind(`DELETE FROM sessions WHERE expires_at <= ?`), time.Now())
36
+
return err
37
+
}