diff --git a/CHANGES.md b/CHANGES.md
index 71b6728f..a4b8ed62 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -1,7 +1,11 @@
# Rojo Change Log
## Current Master
-*No changes*
+* Plugin now automatically selects `HttpService` if it determines that HTTP isn't enabled ([#58](https://github.com/LPGhatguy/rojo/pull/58))
+
+## 0.4.2 (April 4, 2018)
+* Fixed final case of duplicated instance insertion, caused by reconciled instances not being inserted into `RouteMap`.
+ * The reconciler is still not a perfect solution, especially if script instances get moved around without being destroyed. I don't think this can be fixed before a big refactor.
## 0.4.1 (April 1, 2018)
* Merged plugin repository into main Rojo repository for easier tracking.
diff --git a/README.md b/README.md
index db3bc360..e22e1cbc 100644
--- a/README.md
+++ b/README.md
@@ -8,7 +8,7 @@
-
+
diff --git a/plugin/src/Config.lua b/plugin/src/Config.lua
index b4bfa3be..d7c9466d 100644
--- a/plugin/src/Config.lua
+++ b/plugin/src/Config.lua
@@ -1,6 +1,6 @@
return {
pollingRate = 0.2,
- version = {0, 4, 1},
+ version = {0, 4, 2},
expectedServerVersionString = "0.4.x",
protocolVersion = 1,
dev = false,
diff --git a/plugin/src/HttpError.lua b/plugin/src/HttpError.lua
index 9da4b946..674721cf 100644
--- a/plugin/src/HttpError.lua
+++ b/plugin/src/HttpError.lua
@@ -52,6 +52,9 @@ end
function HttpError:report()
warn(self.message)
+ if self.type == HttpError.Error.HttpNotEnabled then
+ game:GetService("Selection"):Set{game:GetService("HttpService")}
+ end
end
return HttpError
diff --git a/plugin/src/Main.server.lua b/plugin/src/Main.server.lua
index 062dc414..ca771f5b 100644
--- a/plugin/src/Main.server.lua
+++ b/plugin/src/Main.server.lua
@@ -67,12 +67,10 @@ local function main()
.Click:Connect(function()
checkUpgrade()
- spawn(function()
- pluginInstance:togglePolling()
- :catch(function(err)
- warn(err)
- end)
- end)
+ pluginInstance:togglePolling()
+ :catch(function(err)
+ warn(err)
+ end)
end)
end
diff --git a/plugin/src/Reconciler.lua b/plugin/src/Reconciler.lua
index 22d7968d..33f1119f 100644
--- a/plugin/src/Reconciler.lua
+++ b/plugin/src/Reconciler.lua
@@ -161,6 +161,10 @@ function Reconciler:reconcile(rbx, item)
-- Use a dumb algorithm for reconciling children
self:_reconcileChildren(rbx, item)
+ if item.Route then
+ self._routeMap:insert(item.Route, rbx)
+ end
+
return rbx
end
diff --git a/server/Cargo.lock b/server/Cargo.lock
index e12aa45e..9547142f 100644
--- a/server/Cargo.lock
+++ b/server/Cargo.lock
@@ -597,7 +597,7 @@ dependencies = [
[[package]]
name = "rojo"
-version = "0.4.1"
+version = "0.4.2"
dependencies = [
"clap 2.31.2 (registry+https://github.com/rust-lang/crates.io-index)",
"lazy_static 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
diff --git a/server/Cargo.toml b/server/Cargo.toml
index 86d29ab9..0a8ff457 100644
--- a/server/Cargo.toml
+++ b/server/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "rojo"
-version = "0.4.1"
+version = "0.4.2"
authors = ["Lucien Greathouse "]
description = "A tool to create robust Roblox projects"
license = "MIT"