diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/javascript.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/javascript.json
index 0611114e3..929c3143d 100644
--- a/MediaBrowser.Server.Implementations/Localization/JavaScript/javascript.json
+++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/javascript.json
@@ -74,7 +74,8 @@
"ButtonMarkTheseRead": "Mark these read",
"ButtonClose": "Close",
"LabelAllPlaysSentToPlayer": "All plays will be sent to the selected player.",
- "MessageInvalidUser": "Invalid user or password.",
+ "MessageInvalidUser": "Invalid username or password. Please try again.",
+ "HeaderLoginFailure": "Login Failure",
"HeaderAllRecordings": "All Recordings",
"RecommendationBecauseYouLike": "Because you like {0}",
"RecommendationBecauseYouWatched": "Because you watched {0}",
diff --git a/MediaBrowser.Server.Implementations/Localization/Server/server.json b/MediaBrowser.Server.Implementations/Localization/Server/server.json
index 575b38c53..59a7d4b64 100644
--- a/MediaBrowser.Server.Implementations/Localization/Server/server.json
+++ b/MediaBrowser.Server.Implementations/Localization/Server/server.json
@@ -1252,5 +1252,7 @@
"HeaderTrailerReel": "Trailer Reel",
"OptionPlayUnwatchedTrailersOnly": "Play only unwatched trailers",
"HeaderTrailerReelHelp": "Start a trailer reel to play a long running playlist of trailers.",
- "MessageNoTrailersFound": "No trailers found. Install the Trailer channel plugin to import a library of internet trailers."
+ "MessageNoTrailersFound": "No trailers found. Install the Trailer channel plugin to import a library of internet trailers.",
+ "HeaderNewUsers": "New Users",
+ "ButtonSignUp": "Sign up"
}
diff --git a/MediaBrowser.WebDashboard/Api/DashboardService.cs b/MediaBrowser.WebDashboard/Api/DashboardService.cs
index 85a388847..4919b9e6a 100644
--- a/MediaBrowser.WebDashboard/Api/DashboardService.cs
+++ b/MediaBrowser.WebDashboard/Api/DashboardService.cs
@@ -1,4 +1,5 @@
-using MediaBrowser.Common.Extensions;
+using System.Globalization;
+using MediaBrowser.Common.Extensions;
using MediaBrowser.Common.IO;
using MediaBrowser.Common.Net;
using MediaBrowser.Controller;
@@ -286,7 +287,7 @@ namespace MediaBrowser.WebDashboard.Api
var culture = "en-US";
- var appVersion = _appHost.ApplicationVersion.ToString();
+ var appVersion = DateTime.UtcNow.Ticks.ToString(CultureInfo.InvariantCulture);
await DumpHtml(creator.DashboardUIPath, path, culture, appVersion);
await DumpJs(creator.DashboardUIPath, path, culture, appVersion);
diff --git a/MediaBrowser.WebDashboard/Api/PackageCreator.cs b/MediaBrowser.WebDashboard/Api/PackageCreator.cs
index c1316223e..f4ae85425 100644
--- a/MediaBrowser.WebDashboard/Api/PackageCreator.cs
+++ b/MediaBrowser.WebDashboard/Api/PackageCreator.cs
@@ -246,6 +246,7 @@ namespace MediaBrowser.WebDashboard.Api
await AppendResource(memoryStream, "thirdparty/jquery.unveil-custom.js", newLineBytes).ConfigureAwait(false);
await AppendResource(memoryStream, "thirdparty/cast_sender.js", newLineBytes).ConfigureAwait(false);
+ await AppendResource(memoryStream, "thirdparty/md5.js", newLineBytes).ConfigureAwait(false);
await AppendLocalization(memoryStream, culture).ConfigureAwait(false);
await memoryStream.WriteAsync(newLineBytes, 0, newLineBytes.Length).ConfigureAwait(false);
@@ -344,6 +345,7 @@ namespace MediaBrowser.WebDashboard.Api
"channelslatest.js",
"channelitems.js",
"channelsettings.js",
+ "connectlogin.js",
"dashboardgeneral.js",
"dashboardpage.js",
"dashboardsync.js",
diff --git a/MediaBrowser.WebDashboard/MediaBrowser.WebDashboard.csproj b/MediaBrowser.WebDashboard/MediaBrowser.WebDashboard.csproj
index 719b1abd8..a50d3aae2 100644
--- a/MediaBrowser.WebDashboard/MediaBrowser.WebDashboard.csproj
+++ b/MediaBrowser.WebDashboard/MediaBrowser.WebDashboard.csproj
@@ -104,6 +104,9 @@
PreserveNewest
+
+ PreserveNewest
+
PreserveNewest
@@ -695,6 +698,9 @@
PreserveNewest
+
+ PreserveNewest
+
PreserveNewest
@@ -1535,6 +1541,9 @@
PreserveNewest
+
+ PreserveNewest
+
PreserveNewest