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>
 | 
				
			||||||
				<div class="server-info-right">
 | 
									<div class="server-info-right">
 | 
				
			||||||
					<div class="server-info-row">
 | 
										<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)"/>
 | 
											<input class="server-info-value" placeholder="(Required)"/>
 | 
				
			||||||
					</div>
 | 
										</div>
 | 
				
			||||||
					<div class="server-info-row">
 | 
										<div class="server-info-row">
 | 
				
			||||||
						<span class="server-info-key">Url</span>
 | 
											<span class="server-info-key">Label</span>
 | 
				
			||||||
						<input class="server-info-value" placeholder="(Required)"/>
 | 
											<input class="server-info-value" placeholder="(Optional)"/>
 | 
				
			||||||
					</div>
 | 
										</div>
 | 
				
			||||||
					<div class="server-info-row">
 | 
										<div class="server-info-row">
 | 
				
			||||||
						<span class="server-info-key">Icon</span>
 | 
											<span class="server-info-key">Icon</span>
 | 
				
			||||||
@@ -51,8 +51,8 @@ class NewServerForm extends BaseComponent {
 | 
				
			|||||||
		this.props.$root.innerHTML = '';
 | 
							this.props.$root.innerHTML = '';
 | 
				
			||||||
		this.props.$root.appendChild(this.$newServerForm);
 | 
							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')[0];
 | 
				
			||||||
		this.$newServerUrl = this.$newServerForm.querySelectorAll('input.server-info-value')[1];
 | 
							this.$newServerAlias = this.$newServerForm.querySelectorAll('input.server-info-value')[1];
 | 
				
			||||||
		this.$newServerIcon = this.$newServerForm.querySelectorAll('input.server-info-value')[2];
 | 
							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}"/>
 | 
										<img class="server-info-icon" src="${this.props.server.icon}"/>
 | 
				
			||||||
				</div>
 | 
									</div>
 | 
				
			||||||
				<div class="server-info-right">
 | 
									<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">
 | 
										<div class="server-info-row">
 | 
				
			||||||
						<span class="server-info-key">Url</span>
 | 
											<span class="server-info-key">Url</span>
 | 
				
			||||||
						<input class="server-info-value" disabled value="${this.props.server.url}"/>
 | 
											<input class="server-info-value" disabled value="${this.props.server.url}"/>
 | 
				
			||||||
					</div>
 | 
										</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">
 | 
										<div class="server-info-row">
 | 
				
			||||||
						<span class="server-info-key">Icon</span>
 | 
											<span class="server-info-key">Icon</span>
 | 
				
			||||||
						<input class="server-info-value" disabled value="${this.props.server.icon}"/>
 | 
											<input class="server-info-value" disabled value="${this.props.server.icon}"/>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -92,11 +92,11 @@ class DomainUtil {
 | 
				
			|||||||
					];
 | 
										];
 | 
				
			||||||
				if (!error && response.statusCode !== 404) {
 | 
									if (!error && response.statusCode !== 404) {
 | 
				
			||||||
					// Correct
 | 
										// Correct
 | 
				
			||||||
					this.getServerSettings(domain).then((serverSettings) => {
 | 
										this.getServerSettings(domain, server).then(serverSettings => {
 | 
				
			||||||
						resolve(serverSettings);
 | 
											resolve(serverSettings);
 | 
				
			||||||
					}, () => {
 | 
										}, () => {
 | 
				
			||||||
						resolve(server);
 | 
											resolve(server);
 | 
				
			||||||
					})
 | 
										});
 | 
				
			||||||
				} else if (certsError.indexOf(error.toString()) >= 0) {
 | 
									} else if (certsError.indexOf(error.toString()) >= 0) {
 | 
				
			||||||
					dialog.showMessageBox({
 | 
										dialog.showMessageBox({
 | 
				
			||||||
						type: 'question',
 | 
											type: 'question',
 | 
				
			||||||
@@ -105,11 +105,11 @@ class DomainUtil {
 | 
				
			|||||||
						message: `Do you trust certificate from ${domain}? \n ${error}`
 | 
											message: `Do you trust certificate from ${domain}? \n ${error}`
 | 
				
			||||||
					}, response => {
 | 
										}, response => {
 | 
				
			||||||
						if (response === 0) {
 | 
											if (response === 0) {
 | 
				
			||||||
							this.getServerSettings(domain).then((serverSettings) => {
 | 
												this.getServerSettings(domain, server).then(serverSettings => {
 | 
				
			||||||
								resolve(serverSettings);
 | 
													resolve(serverSettings);
 | 
				
			||||||
							}, () => {
 | 
												}, () => {
 | 
				
			||||||
								resolve(server);
 | 
													resolve(server);
 | 
				
			||||||
							})
 | 
												});
 | 
				
			||||||
						} else {
 | 
											} else {
 | 
				
			||||||
							reject('Untrusted Certificate.');
 | 
												reject('Untrusted Certificate.');
 | 
				
			||||||
						}
 | 
											}
 | 
				
			||||||
@@ -121,19 +121,18 @@ class DomainUtil {
 | 
				
			|||||||
		});
 | 
							});
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	getServerSettings(domain) {
 | 
						getServerSettings(domain, server) {
 | 
				
			||||||
		const serverSettingsUrl = domain + '/api/v1/server_settings';
 | 
							const serverSettingsUrl = domain + '/api/v1/server_settings';
 | 
				
			||||||
		return new Promise((resolve, reject) => {
 | 
							return new Promise((resolve, reject) => {
 | 
				
			||||||
			request(serverSettingsUrl, (error, response) => {
 | 
								request(serverSettingsUrl, (error, response) => {
 | 
				
			||||||
				if (!error && response.statusCode == 200) {
 | 
									if (!error && response.statusCode === 200) {
 | 
				
			||||||
					const data = JSON.parse(response.body);
 | 
										const data = JSON.parse(response.body);
 | 
				
			||||||
					if (data.hasOwnProperty('realm_icon') && data.realm_icon) {
 | 
										if (data.hasOwnProperty('realm_icon') && data.realm_icon) {
 | 
				
			||||||
						const server = {
 | 
											resolve({
 | 
				
			||||||
							icon: data.realm_uri + data.realm_icon,
 | 
												icon: (server.icon === defaultIconUrl) ? data.realm_uri + data.realm_icon : defaultIconUrl,
 | 
				
			||||||
							url: data.realm_uri,
 | 
												url: data.realm_uri,
 | 
				
			||||||
							alias: data.realm_name
 | 
												alias: server.alias || data.realm_name
 | 
				
			||||||
						}
 | 
											});
 | 
				
			||||||
						resolve(server);
 | 
					 | 
				
			||||||
					}
 | 
										}
 | 
				
			||||||
				} else {
 | 
									} else {
 | 
				
			||||||
					reject('Zulip server version < 1.6.');
 | 
										reject('Zulip server version < 1.6.');
 | 
				
			||||||
@@ -151,7 +150,7 @@ class DomainUtil {
 | 
				
			|||||||
		}
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		return new Promise(resolve => {
 | 
							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);
 | 
								const file = fs.createWriteStream(filePath);
 | 
				
			||||||
			try {
 | 
								try {
 | 
				
			||||||
				request(url).on('response', response => {
 | 
									request(url).on('response', response => {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -129,7 +129,8 @@
 | 
				
			|||||||
          "guard-for-in": 0,
 | 
					          "guard-for-in": 0,
 | 
				
			||||||
          "prefer-promise-reject-errors": 0,
 | 
					          "prefer-promise-reject-errors": 0,
 | 
				
			||||||
          "import/no-unresolved": 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