beta fixes
This commit is contained in:
parent
e068e84ab6
commit
c0aec48a31
|
@ -294,7 +294,7 @@ namespace MediaBrowser.Common.Implementations
|
|||
|
||||
public static void LogEnvironmentInfo(ILogger logger, IApplicationPaths appPaths, bool isStartup)
|
||||
{
|
||||
logger.LogMultiline("Media Browser", LogSeverity.Info, GetBaseExceptionMessage(appPaths));
|
||||
logger.LogMultiline("Emby", LogSeverity.Info, GetBaseExceptionMessage(appPaths));
|
||||
}
|
||||
|
||||
protected static StringBuilder GetBaseExceptionMessage(IApplicationPaths appPaths)
|
||||
|
|
|
@ -107,7 +107,7 @@ namespace MediaBrowser.Controller.Persistence
|
|||
/// </summary>
|
||||
/// <param name="type">The type.</param>
|
||||
/// <returns>IEnumerable{Guid}.</returns>
|
||||
IEnumerable<BaseItem> GetItemsOfType(Type type);
|
||||
IEnumerable<string> GetItemsOfType(Type type);
|
||||
|
||||
/// <summary>
|
||||
/// Saves the children.
|
||||
|
|
|
@ -115,5 +115,10 @@ namespace MediaBrowser.Controller.Session
|
|||
/// <param name="cancellationToken">The cancellation token.</param>
|
||||
/// <returns>Task.</returns>
|
||||
Task SendMessage<T>(string name, T data, CancellationToken cancellationToken);
|
||||
|
||||
/// <summary>
|
||||
/// Called when [activity].
|
||||
/// </summary>
|
||||
void OnActivity();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -33,7 +33,7 @@ namespace MediaBrowser.Dlna.ContentDirectory
|
|||
var options = new HttpRequestOptions
|
||||
{
|
||||
CancellationToken = cancellationToken,
|
||||
UserAgent = "Media Browser",
|
||||
UserAgent = "Emby",
|
||||
RequestContentType = "text/xml; charset=\"utf-8\"",
|
||||
LogErrorResponseBody = true,
|
||||
Url = request.ContentDirectoryUrl
|
||||
|
|
|
@ -47,6 +47,10 @@ namespace MediaBrowser.Dlna.PlayTo
|
|||
}
|
||||
}
|
||||
|
||||
public void OnActivity()
|
||||
{
|
||||
}
|
||||
|
||||
public bool SupportsMediaControl
|
||||
{
|
||||
get { return IsSessionActive; }
|
||||
|
|
|
@ -42,6 +42,9 @@ namespace MediaBrowser.MediaEncoding.Subtitles
|
|||
|
||||
subEvent.StartPositionTicks = GetTicks(sections[headers["Start"]]);
|
||||
subEvent.EndPositionTicks = GetTicks(sections[headers["End"]]);
|
||||
|
||||
//RemoteNativeFormatting(subEvent);
|
||||
|
||||
subEvent.Text = string.Join(",", sections.Skip(headers["Text"]));
|
||||
subEvent.Text = subEvent.Text.Replace(@"\N", ParserValues.NewLine, StringComparison.OrdinalIgnoreCase);
|
||||
subEvent.Text = Regex.Replace(subEvent.Text, @"\{(\\[\w]+\(?([\w\d]+,?)+\)?)+\}", string.Empty, RegexOptions.IgnoreCase);
|
||||
|
@ -49,7 +52,6 @@ namespace MediaBrowser.MediaEncoding.Subtitles
|
|||
trackInfo.TrackEvents.Add(subEvent);
|
||||
}
|
||||
}
|
||||
RemoteNativeFormatting(trackInfo);
|
||||
return trackInfo;
|
||||
}
|
||||
|
||||
|
@ -74,46 +76,43 @@ namespace MediaBrowser.MediaEncoding.Subtitles
|
|||
/// <summary>
|
||||
/// Credit: https://github.com/SubtitleEdit/subtitleedit/blob/master/src/Logic/SubtitleFormats/AdvancedSubStationAlpha.cs
|
||||
/// </summary>
|
||||
private void RemoteNativeFormatting(SubtitleTrackInfo subtitle)
|
||||
private void RemoteNativeFormatting(SubtitleTrackEvent p)
|
||||
{
|
||||
foreach (var p in subtitle.TrackEvents)
|
||||
int indexOfBegin = p.Text.IndexOf('{');
|
||||
string pre = string.Empty;
|
||||
while (indexOfBegin >= 0 && p.Text.IndexOf('}') > indexOfBegin)
|
||||
{
|
||||
int indexOfBegin = p.Text.IndexOf('{');
|
||||
string pre = string.Empty;
|
||||
while (indexOfBegin >= 0 && p.Text.IndexOf('}') > indexOfBegin)
|
||||
string s = p.Text.Substring(indexOfBegin);
|
||||
if (s.StartsWith("{\\an1}", StringComparison.Ordinal) ||
|
||||
s.StartsWith("{\\an2}", StringComparison.Ordinal) ||
|
||||
s.StartsWith("{\\an3}", StringComparison.Ordinal) ||
|
||||
s.StartsWith("{\\an4}", StringComparison.Ordinal) ||
|
||||
s.StartsWith("{\\an5}", StringComparison.Ordinal) ||
|
||||
s.StartsWith("{\\an6}", StringComparison.Ordinal) ||
|
||||
s.StartsWith("{\\an7}", StringComparison.Ordinal) ||
|
||||
s.StartsWith("{\\an8}", StringComparison.Ordinal) ||
|
||||
s.StartsWith("{\\an9}", StringComparison.Ordinal))
|
||||
{
|
||||
string s = p.Text.Substring(indexOfBegin);
|
||||
if (s.StartsWith("{\\an1}", StringComparison.Ordinal) ||
|
||||
s.StartsWith("{\\an2}", StringComparison.Ordinal) ||
|
||||
s.StartsWith("{\\an3}", StringComparison.Ordinal) ||
|
||||
s.StartsWith("{\\an4}", StringComparison.Ordinal) ||
|
||||
s.StartsWith("{\\an5}", StringComparison.Ordinal) ||
|
||||
s.StartsWith("{\\an6}", StringComparison.Ordinal) ||
|
||||
s.StartsWith("{\\an7}", StringComparison.Ordinal) ||
|
||||
s.StartsWith("{\\an8}", StringComparison.Ordinal) ||
|
||||
s.StartsWith("{\\an9}", StringComparison.Ordinal))
|
||||
{
|
||||
pre = s.Substring(0, 6);
|
||||
}
|
||||
else if (s.StartsWith("{\\an1\\", StringComparison.Ordinal) ||
|
||||
s.StartsWith("{\\an2\\", StringComparison.Ordinal) ||
|
||||
s.StartsWith("{\\an3\\", StringComparison.Ordinal) ||
|
||||
s.StartsWith("{\\an4\\", StringComparison.Ordinal) ||
|
||||
s.StartsWith("{\\an5\\", StringComparison.Ordinal) ||
|
||||
s.StartsWith("{\\an6\\", StringComparison.Ordinal) ||
|
||||
s.StartsWith("{\\an7\\", StringComparison.Ordinal) ||
|
||||
s.StartsWith("{\\an8\\", StringComparison.Ordinal) ||
|
||||
s.StartsWith("{\\an9\\", StringComparison.Ordinal))
|
||||
{
|
||||
pre = s.Substring(0, 5) + "}";
|
||||
}
|
||||
int indexOfEnd = p.Text.IndexOf('}');
|
||||
p.Text = p.Text.Remove(indexOfBegin, (indexOfEnd - indexOfBegin) + 1);
|
||||
|
||||
indexOfBegin = p.Text.IndexOf('{');
|
||||
pre = s.Substring(0, 6);
|
||||
}
|
||||
p.Text = pre + p.Text;
|
||||
else if (s.StartsWith("{\\an1\\", StringComparison.Ordinal) ||
|
||||
s.StartsWith("{\\an2\\", StringComparison.Ordinal) ||
|
||||
s.StartsWith("{\\an3\\", StringComparison.Ordinal) ||
|
||||
s.StartsWith("{\\an4\\", StringComparison.Ordinal) ||
|
||||
s.StartsWith("{\\an5\\", StringComparison.Ordinal) ||
|
||||
s.StartsWith("{\\an6\\", StringComparison.Ordinal) ||
|
||||
s.StartsWith("{\\an7\\", StringComparison.Ordinal) ||
|
||||
s.StartsWith("{\\an8\\", StringComparison.Ordinal) ||
|
||||
s.StartsWith("{\\an9\\", StringComparison.Ordinal))
|
||||
{
|
||||
pre = s.Substring(0, 5) + "}";
|
||||
}
|
||||
int indexOfEnd = p.Text.IndexOf('}');
|
||||
p.Text = p.Text.Remove(indexOfBegin, (indexOfEnd - indexOfBegin) + 1);
|
||||
|
||||
indexOfBegin = p.Text.IndexOf('{');
|
||||
}
|
||||
p.Text = pre + p.Text;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -13,13 +13,13 @@ namespace MediaBrowser.Model.Dlna.Profiles
|
|||
|
||||
XDlnaDoc = "DMS-1.50";
|
||||
|
||||
FriendlyName = "Media Browser";
|
||||
Manufacturer = "Media Browser";
|
||||
ModelDescription = "Media Browser";
|
||||
ModelName = "Media Browser";
|
||||
ModelNumber = "Media Browser";
|
||||
ModelUrl = "http://mediabrowser.tv/";
|
||||
ManufacturerUrl = "http://mediabrowser.tv/";
|
||||
FriendlyName = "Emby";
|
||||
Manufacturer = "Emby";
|
||||
ModelDescription = "Emby";
|
||||
ModelName = "Emby";
|
||||
ModelNumber = "Emby";
|
||||
ModelUrl = "http://emby.media/";
|
||||
ManufacturerUrl = "http://emby.media/";
|
||||
|
||||
AlbumArtPn = "JPEG_SM";
|
||||
|
||||
|
|
|
@ -150,7 +150,7 @@ namespace MediaBrowser.Server.Implementations.Connect
|
|||
|
||||
if (string.IsNullOrWhiteSpace(wanApiAddress))
|
||||
{
|
||||
_logger.Warn("Cannot update Media Browser Connect information without a WanApiAddress");
|
||||
_logger.Warn("Cannot update Emby Connect information without a WanApiAddress");
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -411,7 +411,7 @@ namespace MediaBrowser.Server.Implementations.Connect
|
|||
|
||||
if (!connectUser.IsActive)
|
||||
{
|
||||
throw new ArgumentException("The Media Browser account has been disabled.");
|
||||
throw new ArgumentException("The Emby account has been disabled.");
|
||||
}
|
||||
|
||||
var user = GetUser(userId);
|
||||
|
@ -517,7 +517,7 @@ namespace MediaBrowser.Server.Implementations.Connect
|
|||
|
||||
if (!connectUser.IsActive)
|
||||
{
|
||||
throw new ArgumentException("The Media Browser account has been disabled.");
|
||||
throw new ArgumentException("The Emby account has been disabled.");
|
||||
}
|
||||
|
||||
connectUserId = connectUser.Id;
|
||||
|
|
|
@ -389,7 +389,7 @@ namespace MediaBrowser.Server.Implementations.EntryPoints.Notifications
|
|||
var notification = new NotificationRequest
|
||||
{
|
||||
UserIds = new List<string> { e.Argument.Id.ToString("N") },
|
||||
Name = "Welcome to Media Browser!",
|
||||
Name = "Welcome to Emby!",
|
||||
Description = "Check back here for more notifications."
|
||||
};
|
||||
|
||||
|
|
|
@ -28,7 +28,10 @@ namespace MediaBrowser.Server.Implementations.HttpServer.Security
|
|||
if (!string.IsNullOrWhiteSpace(authorization.Token))
|
||||
{
|
||||
var auth = GetTokenInfo(requestContext);
|
||||
return _sessionManager.GetSessionByAuthenticationToken(auth, authorization.DeviceId, requestContext.RemoteIp, authorization.Version);
|
||||
if (auth != null)
|
||||
{
|
||||
return _sessionManager.GetSessionByAuthenticationToken(auth, authorization.DeviceId, requestContext.RemoteIp, authorization.Version);
|
||||
}
|
||||
}
|
||||
|
||||
var session = _sessionManager.GetSession(authorization.DeviceId, authorization.Client, authorization.Version);
|
||||
|
|
|
@ -1111,13 +1111,18 @@ namespace MediaBrowser.Server.Implementations.LiveTv
|
|||
|
||||
var numComplete = 0;
|
||||
|
||||
foreach (var program in list)
|
||||
foreach (var programId in list)
|
||||
{
|
||||
cancellationToken.ThrowIfCancellationRequested();
|
||||
|
||||
if (!currentIdList.Contains(program.Id))
|
||||
if (!currentIdList.Contains(new Guid(programId)))
|
||||
{
|
||||
await _libraryManager.DeleteItem(program).ConfigureAwait(false);
|
||||
var program = _libraryManager.GetItemById(programId);
|
||||
|
||||
if (program != null)
|
||||
{
|
||||
await _libraryManager.DeleteItem(program).ConfigureAwait(false);
|
||||
}
|
||||
}
|
||||
|
||||
numComplete++;
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
"LabelNext": "Next",
|
||||
"LabelYoureDone": "You're Done!",
|
||||
"WelcomeToMediaBrowser": "Welcome to Media Browser!",
|
||||
"TitleMediaBrowser": "Media Browser",
|
||||
"TitleMediaBrowser": "Emby",
|
||||
"ThisWizardWillGuideYou": "This wizard will help guide you through the setup process. To begin, please select your preferred language.",
|
||||
"TellUsAboutYourself": "Tell us about yourself",
|
||||
"ButtonQuickStartGuide": "Quick start guide",
|
||||
|
|
|
@ -27,7 +27,7 @@ namespace MediaBrowser.Server.Implementations.Notifications
|
|||
{
|
||||
Type = NotificationType.ApplicationUpdateInstalled.ToString(),
|
||||
DefaultDescription = "{ReleaseNotes}",
|
||||
DefaultTitle = "A new version of Media Browser Server has been installed.",
|
||||
DefaultTitle = "A new version of Emby Server has been installed.",
|
||||
Variables = new List<string>{"Version"}
|
||||
},
|
||||
|
||||
|
@ -71,7 +71,7 @@ namespace MediaBrowser.Server.Implementations.Notifications
|
|||
new NotificationTypeInfo
|
||||
{
|
||||
Type = NotificationType.ServerRestartRequired.ToString(),
|
||||
DefaultTitle = "Please restart Media Browser Server to finish updating."
|
||||
DefaultTitle = "Please restart Emby Server to finish updating."
|
||||
},
|
||||
|
||||
new NotificationTypeInfo
|
||||
|
@ -158,7 +158,7 @@ namespace MediaBrowser.Server.Implementations.Notifications
|
|||
knownTypes.Add(new NotificationTypeInfo
|
||||
{
|
||||
Type = NotificationType.ApplicationUpdateAvailable.ToString(),
|
||||
DefaultTitle = "A new version of Media Browser Server is available for download."
|
||||
DefaultTitle = "A new version of Emby Server is available for download."
|
||||
});
|
||||
}
|
||||
|
||||
|
|
|
@ -522,7 +522,7 @@ namespace MediaBrowser.Server.Implementations.Persistence
|
|||
}
|
||||
}
|
||||
|
||||
public IEnumerable<BaseItem> GetItemsOfType(Type type)
|
||||
public IEnumerable<string> GetItemsOfType(Type type)
|
||||
{
|
||||
if (type == null)
|
||||
{
|
||||
|
@ -533,7 +533,7 @@ namespace MediaBrowser.Server.Implementations.Persistence
|
|||
|
||||
using (var cmd = _connection.CreateCommand())
|
||||
{
|
||||
cmd.CommandText = "select type,data from TypedBaseItems where type = @type";
|
||||
cmd.CommandText = "select guid from TypedBaseItems where type = @type";
|
||||
|
||||
cmd.Parameters.Add(cmd, "@type", DbType.String).Value = type.FullName;
|
||||
|
||||
|
@ -541,12 +541,7 @@ namespace MediaBrowser.Server.Implementations.Persistence
|
|||
{
|
||||
while (reader.Read())
|
||||
{
|
||||
var item = GetItem(reader);
|
||||
|
||||
if (item != null)
|
||||
{
|
||||
yield return item;
|
||||
}
|
||||
yield return reader.GetString(0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -108,7 +108,7 @@ namespace MediaBrowser.Server.Implementations.ScheduledTasks
|
|||
}
|
||||
else
|
||||
{
|
||||
Logger.Info("A new version of Media Browser is available.");
|
||||
Logger.Info("A new version of " + _appHost.Name + " is available.");
|
||||
}
|
||||
|
||||
progress.Report(100);
|
||||
|
|
|
@ -43,6 +43,10 @@ namespace MediaBrowser.Server.Implementations.Session
|
|||
ResetPingTimer();
|
||||
}
|
||||
|
||||
public void OnActivity()
|
||||
{
|
||||
}
|
||||
|
||||
private string PostUrl
|
||||
{
|
||||
get
|
||||
|
|
|
@ -236,34 +236,44 @@ namespace MediaBrowser.Server.Implementations.Session
|
|||
}
|
||||
|
||||
var activityDate = DateTime.UtcNow;
|
||||
|
||||
var session = await GetSessionInfo(appName, appVersion, deviceId, deviceName, remoteEndPoint, user).ConfigureAwait(false);
|
||||
|
||||
var lastActivityDate = session.LastActivityDate;
|
||||
session.LastActivityDate = activityDate;
|
||||
|
||||
if (user == null)
|
||||
if (user != null)
|
||||
{
|
||||
return session;
|
||||
var userLastActivityDate = user.LastActivityDate ?? DateTime.MinValue;
|
||||
user.LastActivityDate = activityDate;
|
||||
|
||||
// Don't log in the db anymore frequently than 10 seconds
|
||||
if ((activityDate - userLastActivityDate).TotalSeconds > 10)
|
||||
{
|
||||
try
|
||||
{
|
||||
// Save this directly. No need to fire off all the events for this.
|
||||
await _userRepository.SaveUser(user, CancellationToken.None).ConfigureAwait(false);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
_logger.ErrorException("Error updating user", ex);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var lastActivityDate = user.LastActivityDate;
|
||||
|
||||
user.LastActivityDate = activityDate;
|
||||
|
||||
// Don't log in the db anymore frequently than 10 seconds
|
||||
if (lastActivityDate.HasValue && (activityDate - lastActivityDate.Value).TotalSeconds < 10)
|
||||
if ((activityDate - lastActivityDate).TotalSeconds > 10)
|
||||
{
|
||||
return session;
|
||||
EventHelper.FireEventIfNotNull(SessionActivity, this, new SessionEventArgs
|
||||
{
|
||||
SessionInfo = session
|
||||
|
||||
}, _logger);
|
||||
}
|
||||
|
||||
// Save this directly. No need to fire off all the events for this.
|
||||
await _userRepository.SaveUser(user, CancellationToken.None).ConfigureAwait(false);
|
||||
|
||||
EventHelper.FireEventIfNotNull(SessionActivity, this, new SessionEventArgs
|
||||
var controller = session.SessionController;
|
||||
if (controller != null)
|
||||
{
|
||||
SessionInfo = session
|
||||
|
||||
}, _logger);
|
||||
controller.OnActivity();
|
||||
}
|
||||
|
||||
return session;
|
||||
}
|
||||
|
@ -1680,7 +1690,7 @@ namespace MediaBrowser.Server.Implementations.Session
|
|||
deviceId = info.DeviceId;
|
||||
}
|
||||
|
||||
return GetSessionInfo(appName, appVersion, deviceId, deviceName, remoteEndpoint, user);
|
||||
return LogSessionActivity(appName, appVersion, deviceId, deviceName, remoteEndpoint, user);
|
||||
}
|
||||
|
||||
public Task<SessionInfo> GetSessionByAuthenticationToken(string token, string deviceId, string remoteEndpoint)
|
||||
|
|
|
@ -30,17 +30,28 @@ namespace MediaBrowser.Server.Implementations.Session
|
|||
Sockets = new List<IWebSocketConnection>();
|
||||
}
|
||||
|
||||
public bool IsSessionActive
|
||||
private bool HasOpenSockets
|
||||
{
|
||||
get
|
||||
{
|
||||
return Sockets.Any(i => i.State == WebSocketState.Open);
|
||||
}
|
||||
get { return GetActiveSockets().Any(); }
|
||||
}
|
||||
|
||||
public bool SupportsMediaControl
|
||||
{
|
||||
get { return GetActiveSockets().Any(); }
|
||||
get { return HasOpenSockets; }
|
||||
}
|
||||
|
||||
private bool _isActive;
|
||||
public bool IsSessionActive
|
||||
{
|
||||
get
|
||||
{
|
||||
return _isActive;
|
||||
}
|
||||
}
|
||||
|
||||
public void OnActivity()
|
||||
{
|
||||
_isActive = true;
|
||||
}
|
||||
|
||||
private IEnumerable<IWebSocketConnection> GetActiveSockets()
|
||||
|
@ -64,6 +75,8 @@ namespace MediaBrowser.Server.Implementations.Session
|
|||
{
|
||||
if (!GetActiveSockets().Any())
|
||||
{
|
||||
_isActive = false;
|
||||
|
||||
try
|
||||
{
|
||||
_sessionManager.ReportSessionEnded(Session.Id);
|
||||
|
|
|
@ -432,7 +432,7 @@ namespace MediaBrowser.Server.Startup.Common
|
|||
|
||||
RegisterSingleInstance<ISearchEngine>(() => new SearchEngine(LogManager, LibraryManager, UserManager));
|
||||
|
||||
HttpServer = ServerFactory.CreateServer(this, LogManager, "Media Browser", "web/index.html");
|
||||
HttpServer = ServerFactory.CreateServer(this, LogManager, "Emby", "web/index.html");
|
||||
RegisterSingleInstance(HttpServer, false);
|
||||
progress.Report(10);
|
||||
|
||||
|
|
|
@ -75,7 +75,7 @@ namespace MediaBrowser.ServerApplication
|
|||
//
|
||||
notifyIcon1.ContextMenuStrip = contextMenuStrip1;
|
||||
notifyIcon1.Icon = ((System.Drawing.Icon)(resources.GetObject("notifyIcon1.Icon")));
|
||||
notifyIcon1.Text = "Media Browser";
|
||||
notifyIcon1.Text = "Emby";
|
||||
notifyIcon1.Visible = true;
|
||||
//
|
||||
// contextMenuStrip1
|
||||
|
@ -162,7 +162,7 @@ namespace MediaBrowser.ServerApplication
|
|||
|
||||
if (_appHost.IsFirstRun)
|
||||
{
|
||||
Action action = () => notifyIcon1.ShowBalloonTip(5000, "Media Browser", "Welcome to Media Browser Server!", ToolTipIcon.Info);
|
||||
Action action = () => notifyIcon1.ShowBalloonTip(5000, "Emby", "Welcome to Emby Server!", ToolTipIcon.Info);
|
||||
|
||||
contextMenuStrip1.Invoke(action);
|
||||
}
|
||||
|
|
|
@ -123,7 +123,7 @@
|
|||
this.lblStatus.Name = "lblStatus";
|
||||
this.lblStatus.Size = new System.Drawing.Size(469, 59);
|
||||
this.lblStatus.TabIndex = 0;
|
||||
this.lblStatus.Text = "Loading Media Browser";
|
||||
this.lblStatus.Text = "Loading Emby Server";
|
||||
this.lblStatus.UseWaitCursor = true;
|
||||
//
|
||||
// panel1
|
||||
|
@ -162,7 +162,7 @@
|
|||
this.Name = "SplashForm";
|
||||
this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide;
|
||||
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
|
||||
this.Text = "Media Browser";
|
||||
this.Text = "Emby";
|
||||
this.UseWaitCursor = true;
|
||||
this.panelMainContainer.ResumeLayout(false);
|
||||
this.panel2.ResumeLayout(false);
|
||||
|
|
|
@ -180,11 +180,9 @@ namespace MediaBrowser.WebDashboard.Api
|
|||
sb.Append("<meta name=\"viewport\" content=\"width=device-width, initial-scale=1, user-scalable=no\">");
|
||||
//sb.Append("<meta name=\"apple-mobile-web-app-capable\" content=\"yes\">");
|
||||
sb.Append("<meta name=\"mobile-web-app-capable\" content=\"yes\">");
|
||||
sb.Append("<meta name=\"application-name\" content=\"Media Browser\">");
|
||||
sb.Append("<meta name=\"application-name\" content=\"Emby\">");
|
||||
//sb.Append("<meta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\">");
|
||||
|
||||
sb.Append("<meta name=\"application-name\" content=\"Media Browser\">");
|
||||
|
||||
sb.Append("<meta name=\"robots\" content=\"noindex, nofollow, noarchive\" />");
|
||||
|
||||
// http://developer.apple.com/library/ios/#DOCUMENTATION/AppleApplications/Reference/SafariWebContent/ConfiguringWebApplications/ConfiguringWebApplications.html
|
||||
|
|
|
@ -266,7 +266,7 @@ namespace MediaBrowser.XbmcMetadata.Images
|
|||
|
||||
public string Name
|
||||
{
|
||||
get { return "Media Browser/Plex/Xbmc Images"; }
|
||||
get { return "Emby/Plex/Xbmc Images"; }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user