mirror of
https://github.com/gissleh/irc.git
synced 2026-10-15 16:02:54 +00:00
add config.UseServerTime to make time tag overwrite opt-in. It will still be in tags
This commit is contained in:
@@ -852,13 +852,16 @@ func (client *Client) handleSendLoop() {
|
||||
func (client *Client) handleEvent(event *Event) {
|
||||
sentCapEnd := false
|
||||
|
||||
// IRCv3 `server-time`
|
||||
// Only use IRCv3 `server-time` to overwrite when requested. Frontends/dependents can still
|
||||
// get this information.
|
||||
if client.config.UseServerTime {
|
||||
if timeTag, ok := event.Tags["time"]; ok {
|
||||
serverTime, err := time.Parse(time.RFC3339Nano, timeTag)
|
||||
if err == nil && serverTime.Year() > 2000 {
|
||||
event.Time = serverTime
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// For events that were created with targets, handle them now there now.
|
||||
for _, target := range event.targets {
|
||||
|
||||
@@ -37,6 +37,9 @@ type Config struct {
|
||||
// Auto-join on invite (bad idea).
|
||||
AutoJoinInvites bool `json:"autoJoinInvites"`
|
||||
|
||||
// Whether to use the server time tag to overwrite event time.
|
||||
UseServerTime bool `json:"useServerTime"`
|
||||
|
||||
// Use SASL authorization if supported.
|
||||
SASL *SASLConfig `json:"sasl"`
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user