mirror of
				https://github.com/zulip/zulip-desktop.git
				synced 2025-11-04 05:53:21 +00:00 
			
		
		
		
	Make ServerName optional.
This commit is contained in:
		@@ -17,12 +17,12 @@ class NewServerForm extends BaseComponent {
 | 
			
		||||
				</div>
 | 
			
		||||
				<div class="server-info-right">
 | 
			
		||||
					<div class="server-info-row">
 | 
			
		||||
						<span class="server-info-key">Name</span>
 | 
			
		||||
						<span class="server-info-key">Url</span>
 | 
			
		||||
						<input class="server-info-value" placeholder="(Required)"/>
 | 
			
		||||
					</div>
 | 
			
		||||
					<div class="server-info-row">
 | 
			
		||||
						<span class="server-info-key">Url</span>
 | 
			
		||||
						<input class="server-info-value" placeholder="(Required)"/>
 | 
			
		||||
						<span class="server-info-key">Label</span>
 | 
			
		||||
						<input class="server-info-value" placeholder="(Optional)"/>
 | 
			
		||||
					</div>
 | 
			
		||||
					<div class="server-info-row">
 | 
			
		||||
						<span class="server-info-key">Icon</span>
 | 
			
		||||
@@ -51,8 +51,8 @@ class NewServerForm extends BaseComponent {
 | 
			
		||||
		this.props.$root.innerHTML = '';
 | 
			
		||||
		this.props.$root.appendChild(this.$newServerForm);
 | 
			
		||||
 | 
			
		||||
		this.$newServerAlias = this.$newServerForm.querySelectorAll('input.server-info-value')[0];
 | 
			
		||||
		this.$newServerUrl = this.$newServerForm.querySelectorAll('input.server-info-value')[1];
 | 
			
		||||
		this.$newServerUrl = this.$newServerForm.querySelectorAll('input.server-info-value')[0];
 | 
			
		||||
		this.$newServerAlias = this.$newServerForm.querySelectorAll('input.server-info-value')[1];
 | 
			
		||||
		this.$newServerIcon = this.$newServerForm.querySelectorAll('input.server-info-value')[2];
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -17,14 +17,14 @@ class ServerInfoForm extends BaseComponent {
 | 
			
		||||
					<img class="server-info-icon" src="${this.props.server.icon}"/>
 | 
			
		||||
				</div>
 | 
			
		||||
				<div class="server-info-right">
 | 
			
		||||
					<div class="server-info-row">
 | 
			
		||||
						<span class="server-info-key">Name</span>
 | 
			
		||||
						<input class="server-info-value" disabled value="${this.props.server.alias}"/>
 | 
			
		||||
					</div>
 | 
			
		||||
					<div class="server-info-row">
 | 
			
		||||
						<span class="server-info-key">Url</span>
 | 
			
		||||
						<input class="server-info-value" disabled value="${this.props.server.url}"/>
 | 
			
		||||
					</div>
 | 
			
		||||
					<div class="server-info-row">
 | 
			
		||||
						<span class="server-info-key">Label</span>
 | 
			
		||||
						<input class="server-info-value" disabled value="${this.props.server.alias}"/>
 | 
			
		||||
					</div>
 | 
			
		||||
					<div class="server-info-row">
 | 
			
		||||
						<span class="server-info-key">Icon</span>
 | 
			
		||||
						<input class="server-info-value" disabled value="${this.props.server.icon}"/>
 | 
			
		||||
 
 | 
			
		||||
@@ -92,11 +92,11 @@ class DomainUtil {
 | 
			
		||||
					];
 | 
			
		||||
				if (!error && response.statusCode !== 404) {
 | 
			
		||||
					// Correct
 | 
			
		||||
					this.getServerSettings(domain).then((serverSettings) => {
 | 
			
		||||
					this.getServerSettings(domain, server).then(serverSettings => {
 | 
			
		||||
						resolve(serverSettings);
 | 
			
		||||
					}, () => {
 | 
			
		||||
						resolve(server);
 | 
			
		||||
					})
 | 
			
		||||
					});
 | 
			
		||||
				} else if (certsError.indexOf(error.toString()) >= 0) {
 | 
			
		||||
					dialog.showMessageBox({
 | 
			
		||||
						type: 'question',
 | 
			
		||||
@@ -105,11 +105,11 @@ class DomainUtil {
 | 
			
		||||
						message: `Do you trust certificate from ${domain}? \n ${error}`
 | 
			
		||||
					}, response => {
 | 
			
		||||
						if (response === 0) {
 | 
			
		||||
							this.getServerSettings(domain).then((serverSettings) => {
 | 
			
		||||
							this.getServerSettings(domain, server).then(serverSettings => {
 | 
			
		||||
								resolve(serverSettings);
 | 
			
		||||
							}, () => {
 | 
			
		||||
								resolve(server);
 | 
			
		||||
							})
 | 
			
		||||
							});
 | 
			
		||||
						} else {
 | 
			
		||||
							reject('Untrusted Certificate.');
 | 
			
		||||
						}
 | 
			
		||||
@@ -121,19 +121,18 @@ class DomainUtil {
 | 
			
		||||
		});
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	getServerSettings(domain) {
 | 
			
		||||
	getServerSettings(domain, server) {
 | 
			
		||||
		const serverSettingsUrl = domain + '/api/v1/server_settings';
 | 
			
		||||
		return new Promise((resolve, reject) => {
 | 
			
		||||
			request(serverSettingsUrl, (error, response) => {
 | 
			
		||||
				if (!error && response.statusCode == 200) {
 | 
			
		||||
				if (!error && response.statusCode === 200) {
 | 
			
		||||
					const data = JSON.parse(response.body);
 | 
			
		||||
					if (data.hasOwnProperty('realm_icon') && data.realm_icon) {
 | 
			
		||||
						const server = {
 | 
			
		||||
							icon: data.realm_uri + data.realm_icon,
 | 
			
		||||
						resolve({
 | 
			
		||||
							icon: (server.icon === defaultIconUrl) ? data.realm_uri + data.realm_icon : defaultIconUrl,
 | 
			
		||||
							url: data.realm_uri,
 | 
			
		||||
							alias: data.realm_name
 | 
			
		||||
						}
 | 
			
		||||
						resolve(server);
 | 
			
		||||
							alias: server.alias || data.realm_name
 | 
			
		||||
						});
 | 
			
		||||
					}
 | 
			
		||||
				} else {
 | 
			
		||||
					reject('Zulip server version < 1.6.');
 | 
			
		||||
@@ -151,7 +150,7 @@ class DomainUtil {
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		return new Promise(resolve => {
 | 
			
		||||
			const filePath = `${dir}/${new Date().getMilliseconds()}${path.extname(url).split("?")[0]}`;
 | 
			
		||||
			const filePath = `${dir}/${new Date().getMilliseconds()}${path.extname(url).split('?')[0]}`;
 | 
			
		||||
			const file = fs.createWriteStream(filePath);
 | 
			
		||||
			try {
 | 
			
		||||
				request(url).on('response', response => {
 | 
			
		||||
 
 | 
			
		||||
@@ -129,7 +129,8 @@
 | 
			
		||||
          "guard-for-in": 0,
 | 
			
		||||
          "prefer-promise-reject-errors": 0,
 | 
			
		||||
          "import/no-unresolved": 0,
 | 
			
		||||
          "import/no-extraneous-dependencies": 0
 | 
			
		||||
          "import/no-extraneous-dependencies": 0,
 | 
			
		||||
          "no-prototype-builtins": 0
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
    ],
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user