🎨 Custom Emoji folders no longer require manual refresh when they change https://github.com/siyuan-note/siyuan/issues/11749
This commit is contained in:
parent
aa7a745eb2
commit
ed85d29e51
2 changed files with 4 additions and 27 deletions
|
@ -56,28 +56,17 @@ func watchEmojis() {
|
|||
go func() {
|
||||
defer logging.Recover()
|
||||
|
||||
var (
|
||||
timer *time.Timer
|
||||
lastEvent fsnotify.Event
|
||||
)
|
||||
timer = time.NewTimer(100 * time.Millisecond)
|
||||
timer := time.NewTimer(100 * time.Millisecond)
|
||||
<-timer.C // timer should be expired at first
|
||||
|
||||
for {
|
||||
select {
|
||||
case event, ok := <-emojisWatcher.Events:
|
||||
case _, ok := <-emojisWatcher.Events:
|
||||
if !ok {
|
||||
return
|
||||
}
|
||||
|
||||
lastEvent = event
|
||||
timer.Reset(time.Millisecond * 100)
|
||||
|
||||
if lastEvent.Op&fsnotify.Rename == fsnotify.Rename || lastEvent.Op&fsnotify.Write == fsnotify.Write {
|
||||
util.PushReloadEmojiConf()
|
||||
} else if lastEvent.Op&fsnotify.Remove == fsnotify.Remove {
|
||||
util.PushReloadEmojiConf()
|
||||
}
|
||||
case err, ok := <-emojisWatcher.Errors:
|
||||
if !ok {
|
||||
return
|
||||
|
@ -85,11 +74,7 @@ func watchEmojis() {
|
|||
logging.LogErrorf("watch emojis failed: %s", err)
|
||||
case <-timer.C:
|
||||
//logging.LogInfof("emojis changed: %s", lastEvent)
|
||||
if lastEvent.Op&fsnotify.Remove == fsnotify.Remove {
|
||||
util.PushReloadEmojiConf()
|
||||
} else {
|
||||
util.PushReloadEmojiConf()
|
||||
}
|
||||
util.PushReloadEmojiConf()
|
||||
}
|
||||
}
|
||||
}()
|
||||
|
|
|
@ -52,15 +52,7 @@ func watchEmojis() {
|
|||
}
|
||||
|
||||
//logging.LogInfof("emojis changed: %s", event)
|
||||
if watcher.Write == event.Op {
|
||||
IncSync()
|
||||
}
|
||||
|
||||
if watcher.Remove == event.Op {
|
||||
util.PushReloadEmojiConf()
|
||||
} else {
|
||||
util.PushReloadEmojiConf()
|
||||
}
|
||||
util.PushReloadEmojiConf()
|
||||
case err, ok := <-emojisWatcher.Error:
|
||||
if !ok {
|
||||
return
|
||||
|
|
Loading…
Add table
Reference in a new issue