avoid loading as many alerts outside of the bounding box
This commit is contained in:
parent
fc6544d620
commit
bc16b724c2
@ -394,13 +394,13 @@ func peekMatch(cur int, phrase string, runes []rune) bool {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// ! Not concurrency safe
|
// ! Not concurrency safe
|
||||||
func AddHashLinkType(prefix string, handler func(*strings.Builder, string, *int)) {
|
func AddHashLinkType(prefix string, h func(*strings.Builder, string, *int)) {
|
||||||
// There can only be one hash link type starting with a specific character at the moment
|
// There can only be one hash link type starting with a specific character at the moment
|
||||||
hashType := hashLinkTypes[prefix[0]]
|
hashType := hashLinkTypes[prefix[0]]
|
||||||
if hashType != "" {
|
if hashType != "" {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
hashLinkMap[prefix] = handler
|
hashLinkMap[prefix] = h
|
||||||
hashLinkTypes[prefix[0]] = prefix
|
hashLinkTypes[prefix[0]] = prefix
|
||||||
}
|
}
|
||||||
|
|
||||||
|
8
mssql.go
8
mssql.go
@ -3,7 +3,7 @@
|
|||||||
/*
|
/*
|
||||||
*
|
*
|
||||||
* Gosora MSSQL Interface
|
* Gosora MSSQL Interface
|
||||||
* Copyright Azareal 2016 - 2019
|
* Copyright Azareal 2016 - 2020
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
package main
|
package main
|
||||||
@ -78,6 +78,12 @@ func initMSSQL() (err error) {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
log.Print("Preparing getActivityFeedByWatcher statement.")
|
||||||
|
stmts.getActivityFeedByWatcherStmt, err = db.Prepare("SELECT activity_stream_matches.asid, activity_stream.actor, activity_stream.targetUser, activity_stream.event, activity_stream.elementType, activity_stream.elementID, activity_stream.createdAt FROM [activity_stream_matches] INNER JOIN [activity_stream] ON activity_stream_matches.asid = activity_stream.asid AND activity_stream_matches.watcher != activity_stream.actor WHERE [watcher] = ? ORDER BY activity_stream.asid DESC OFFSET 0 ROWS FETCH NEXT ? ROWS ONLY")
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
log.Print("Preparing getActivityCountByWatcher statement.")
|
log.Print("Preparing getActivityCountByWatcher statement.")
|
||||||
stmts.getActivityCountByWatcherStmt, err = db.Prepare("SELECT count(*) FROM [activity_stream_matches] INNER JOIN [activity_stream] ON activity_stream_matches.asid = activity_stream.asid AND activity_stream_matches.watcher != activity_stream.actor WHERE [watcher] = ?")
|
stmts.getActivityCountByWatcherStmt, err = db.Prepare("SELECT count(*) FROM [activity_stream_matches] INNER JOIN [activity_stream] ON activity_stream_matches.asid = activity_stream.asid AND activity_stream_matches.watcher != activity_stream.actor WHERE [watcher] = ?")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
14
mysql.go
14
mysql.go
@ -53,12 +53,24 @@ func initMySQL() (err error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// TODO: Is there a less noisy way of doing this for tests?
|
// TODO: Is there a less noisy way of doing this for tests?
|
||||||
log.Print("Preparing getActivityFeedByWatcher statement.")
|
/*log.Print("Preparing getActivityFeedByWatcher statement.")
|
||||||
stmts.getActivityFeedByWatcher, err = db.Prepare("SELECT activity_stream_matches.asid, activity_stream.actor, activity_stream.targetUser, activity_stream.event, activity_stream.elementType, activity_stream.elementID, activity_stream.createdAt FROM `activity_stream_matches` INNER JOIN `activity_stream` ON activity_stream_matches.asid = activity_stream.asid AND activity_stream_matches.watcher != activity_stream.actor WHERE `watcher` = ? ORDER BY activity_stream.asid DESC LIMIT 16")
|
stmts.getActivityFeedByWatcher, err = db.Prepare("SELECT activity_stream_matches.asid, activity_stream.actor, activity_stream.targetUser, activity_stream.event, activity_stream.elementType, activity_stream.elementID, activity_stream.createdAt FROM `activity_stream_matches` INNER JOIN `activity_stream` ON activity_stream_matches.asid = activity_stream.asid AND activity_stream_matches.watcher != activity_stream.actor WHERE `watcher` = ? ORDER BY activity_stream.asid DESC LIMIT 16")
|
||||||
|
if err != nil {
|
||||||
|
return errors.WithStack(err)
|
||||||
|
}*/
|
||||||
|
|
||||||
|
log.Print("Preparing getActivityFeedByWatcher statement.")
|
||||||
|
stmts.getActivityFeedByWatcher, err = db.Prepare("SELECT activity_stream_matches.asid, activity_stream.actor, activity_stream.targetUser, activity_stream.event, activity_stream.elementType, activity_stream.elementID, activity_stream.createdAt FROM `activity_stream_matches` INNER JOIN `activity_stream` ON activity_stream_matches.asid = activity_stream.asid AND activity_stream_matches.watcher != activity_stream.actor WHERE `watcher` = ? ORDER BY activity_stream.asid DESC LIMIT ?")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return errors.WithStack(err)
|
return errors.WithStack(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*log.Print("Preparing getActivityFeedByWatcherAfter statement.")
|
||||||
|
stmts.getActivityFeedByWatcherAfter, err = db.Prepare("SELECT activity_stream_matches.asid, activity_stream.actor, activity_stream.targetUser, activity_stream.event, activity_stream.elementType, activity_stream.elementID, activity_stream.createdAt FROM `activity_stream_matches` INNER JOIN `activity_stream` ON activity_stream_matches.asid = activity_stream.asid AND activity_stream_matches.watcher != activity_stream.actor WHERE `watcher` = ? AND createdAt => ? ORDER BY activity_stream.asid DESC LIMIT ?")
|
||||||
|
if err != nil {
|
||||||
|
return errors.WithStack(err)
|
||||||
|
}*/
|
||||||
|
|
||||||
log.Print("Preparing getActivityCountByWatcher statement.")
|
log.Print("Preparing getActivityCountByWatcher statement.")
|
||||||
stmts.getActivityCountByWatcher, err = db.Prepare("SELECT count(*) FROM `activity_stream_matches` INNER JOIN `activity_stream` ON activity_stream_matches.asid = activity_stream.asid AND activity_stream_matches.watcher != activity_stream.actor WHERE `watcher` = ?")
|
stmts.getActivityCountByWatcher, err = db.Prepare("SELECT count(*) FROM `activity_stream_matches` INNER JOIN `activity_stream` ON activity_stream_matches.asid = activity_stream.asid AND activity_stream_matches.watcher != activity_stream.actor WHERE `watcher` = ?")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
2
pgsql.go
2
pgsql.go
@ -1,6 +1,6 @@
|
|||||||
// +build pgsql
|
// +build pgsql
|
||||||
|
|
||||||
/* Copyright Azareal 2016 - 2019 */
|
/* Copyright Azareal 2016 - 2020 */
|
||||||
/* Super experimental and incomplete. DON'T USE IT YET! */
|
/* Super experimental and incomplete. DON'T USE IT YET! */
|
||||||
package main
|
package main
|
||||||
|
|
||||||
|
@ -124,8 +124,8 @@ function updateAlertList(menuAlerts) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function setAlertError(menuAlerts,msg) {
|
function setAlertError(menuAlerts,msg) {
|
||||||
let alertListNode = menuAlerts.getElementsByClassName("alertList")[0];
|
let n = menuAlerts.getElementsByClassName("alertList")[0];
|
||||||
alertListNode.innerHTML = "<div class='alertItem'>"+msg+"</div>";
|
n.innerHTML = "<div class='alertItem'>"+msg+"</div>";
|
||||||
}
|
}
|
||||||
|
|
||||||
var alertsInitted = false;
|
var alertsInitted = false;
|
||||||
|
@ -119,7 +119,7 @@ func routeAPI(w http.ResponseWriter, r *http.Request, user *c.User) c.RouteError
|
|||||||
var topCreatedAt int64
|
var topCreatedAt int64
|
||||||
|
|
||||||
if count != 0 {
|
if count != 0 {
|
||||||
rows, err := stmts.getActivityFeedByWatcher.Query(user.ID)
|
rows, err := stmts.getActivityFeedByWatcher.Query(user.ID, 12)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return c.InternalErrorJS(err, w, r)
|
return c.InternalErrorJS(err, w, r)
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user