Skip to content

Commit aa293eb

Browse files
committed
Remember last seen server version number
Given that we are now only checking for new versions every 2 weeks, remember the last version seen and use that to report whether or not the current version is outdated when we're not actually asking the server. We're remembering the last seen version using the new settings system. If there is no last seen version, or if it's malformed, we just return version 0.0.0
1 parent afb2b81 commit aa293eb

File tree

1 file changed

+11
-2
lines changed

1 file changed

+11
-2
lines changed

app/server/sonicpi/lib/sonicpi/spider.rb

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ def __server_version(url="http://sonic-pi.net/static/info/latest_version.txt")
9494
(Time.at(last_update) < Time.now)
9595
two_weeks_in_seconds = 60 * 60 * 24 * 14
9696
ts_2_weeks_later = Time.at(last_update + two_weeks_in_seconds)
97-
return Version.new(0) if Time.now < ts_2_weeks_later
97+
return __local_cached_server_version if Time.now < ts_2_weeks_later
9898
end
9999

100100
begin
@@ -109,9 +109,18 @@ def __server_version(url="http://sonic-pi.net/static/info/latest_version.txt")
109109
v_string = response.body
110110
v = Version.init_from_string(v_string)
111111
@settings.set(:last_update_check_time, Time.now.to_i)
112+
@settings.set(:last_seen_server_version, v.to_s)
112113
v
113114
rescue
114-
Version.new(0)
115+
__local_cached_server_version
116+
end
117+
end
118+
119+
def __local_cached_server_version
120+
begin
121+
return Version.init_from_string(@settings.get(:last_seen_server_version))
122+
rescue
123+
return Version.new(0)
115124
end
116125
end
117126

0 commit comments

Comments
 (0)