(READ ONLY) Margin is an open annotation layer for the internet. Powered by the AT Protocol. margin.at
extension web atproto comments
99
fork

Configure Feed

Select the types of activity you want to include in your feed.

session fix stuff

scanash00 4301e2ca a1685aa7

+25 -2
+15
backend/cmd/server/main.go
··· 37 37 logger.Fatal("Failed to run migrations: %v", err) 38 38 } 39 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 + 40 55 embeddingClient := embeddings.NewClient() 41 56 if err := database.MigrateRecommendations(); err != nil { 42 57 logger.Fatal("Failed to run recommendation migrations: %v", err)
+5 -2
backend/internal/api/token_refresh.go
··· 174 174 return false 175 175 } 176 176 errStr := err.Error() 177 - return bytes.Contains([]byte(errStr), []byte("invalid_token")) && 178 - bytes.Contains([]byte(errStr), []byte("exp")) 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")) 179 182 } 180 183 181 184 func (tr *TokenRefresher) ExecuteWithAutoRefresh(
+5
backend/internal/db/queries_sessions.go
··· 30 30 _, err := db.Exec(db.Rebind(`DELETE FROM sessions WHERE id = ?`), id) 31 31 return err 32 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 + }