hs.timer.new() now disables repeating if its interval argument is 0, which both prevents users DoSing themselves, and makes doAt() work when it has no repeatInterval
hs.timer.new() now disables repeating if its interval argument is 0, which both prevents users DoSing themselves, and makes doAt() work when it has no repeatInterval

knu/hammerspoon,latenitefilms/hammerspoon,latenitefilms/hammerspoon,CommandPost/CommandPost-App,latenitefilms/hammerspoon,CommandPost/CommandPost-App,asmagill/hammerspoon,Habbie/hammerspoon,Habbie/hammerspoon,zzamboni/hammerspoon,CommandPost/CommandPost-App,cmsj/hammerspoon,bradparks/hammerspoon,knu/hammerspoon,asmagill/hammerspoon,asmagill/hammerspoon,asmagill/hammerspoon,chrisjbray/hammerspoon,zzamboni/hammerspoon,chrisjbray/hammerspoon,CommandPost/CommandPost-App,lowne/hammerspoon,bradparks/hammerspoon,chrisjbray/hammerspoon,Habbie/hammerspoon,lowne/hammerspoon,knu/hammerspoon,kkamdooong/hammerspoon,Habbie/hammerspoon,zzamboni/hammerspoon,bradparks/hammerspoon,chrisjbray/hammerspoon,Habbie/hammerspoon,zzamboni/hammerspoon,cmsj/hammerspoon,knu/hammerspoon,Hammerspoon/hammerspoon,latenitefilms/hammerspoon,knu/hammerspoon,bradparks/hammerspoon,asmagill/hammerspoon,zzamboni/hammerspoon,lowne/hammerspoon,chrisjbray/hammerspoon,lowne/hammerspoon,latenitefilms/hammerspoon,Hammerspoon/hammerspoon,kkamdooong/hammerspoon,latenitefilms/hammerspoon,Hammerspoon/hammerspoon,kkamdooong/hammerspoon,lowne/hammerspoon,cmsj/hammerspoon,knu/hammerspoon,Habbie/hammerspoon,kkamdooong/hammerspoon,CommandPost/CommandPost-App,Hammerspoon/hammerspoon,bradparks/hammerspoon,chrisjbray/hammerspoon,cmsj/hammerspoon,asmagill/hammerspoon,Hammerspoon/hammerspoon,kkamdooong/hammerspoon,zzamboni/hammerspoon,cmsj/hammerspoon,Hammerspoon/hammerspoon,CommandPost/CommandPost-App,cmsj/hammerspoon