151:0178573216e3
Anton Shestakov <av6@dwimlabs.net>, Thu, 14 Apr 2016 02:05:24 +0800
index: remove offline contacts only when they change to being offline Since new contacts are currently added while they still have the default presence of 'unavailable', add event sees them as offline and throws them away immediately, before their presence could change to something else.

next change 155:89f02b4d8280
previous change 146:5c0aba0beff3

register.html

Permissions: -rw-r--r--

Other formats: Feeds:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Registration</title>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/uikit/2.26.2/css/uikit.min.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/uikit/2.26.2/css/components/progress.min.css">
<link rel="stylesheet" href="/css/tram-im.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.3/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.8.3/underscore-min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.3.3/backbone-min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/rivets/0.8.1/rivets.bundled.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/uikit/2.26.2/js/uikit.min.js"></script>
<script src="/vendor/strophejs/strophe.min.js"></script>
<script src="/vendor/strophejs-plugins/register/strophe.register.js"></script>
<script src="/vendor/strophejs-plugins/vcard/strophe.vcard.js"></script>
</head>
<body>
<div class="uk-progress uk-progress-mini page-progress" data-app="progress" rv-hide="model:progress | eq undefined">
<div class="uk-progress-bar" rv-style="model:progress | fn view.getStyle"></div>
</div>
<div class="smart-container">
<div class="uk-alert" data-step="noscript">
<p class="uk-text-center">This page needs JavaScript to work.</p>
<hr>
<small>It uses resources from cdnjs.cloudflare.com.</small>
</div>
<script>
$('[data-step="noscript"]').addClass('uk-hidden');
</script>
<div class="uk-alert uk-alert-danger uk-hidden" data-msg="registration-closed">Registration is closed at the moment.</div>
<div class="uk-form uk-form-horizontal uk-hidden" data-step="registration" data-form="registration">
<div class="uk-form-row">
<label for="username" class="uk-form-label">Username</label>
<div class="uk-form-controls">
<input id="username" type="text" class="uk-width-1-1" required autofocus
rv-value="data:username" rv-class-uk-form-danger="data:username-errors">
<div class="uk-text-danger" rv-each-error="data:username-errors">{ error }</div>
</div>
</div>
<div class="uk-form-row">
<label for="password1" class="uk-form-label">Password</label>
<div class="uk-form-controls">
<input id="password1" type="password" class="uk-width-1-1" required
rv-value="data:password1" rv-class-uk-form-danger="data:password1-errors">
<div class="uk-text-danger" rv-each-error="data:password1-errors">{ error }</div>
</div>
</div>
<div class="uk-form-row">
<label for="password2" class="uk-form-label">Confirmation</label>
<div class="uk-form-controls">
<input id="password2" type="password" class="uk-width-1-1" required
rv-value="data:password2" rv-class-uk-form-danger="data:password2-errors">
<div class="uk-text-danger" rv-each-error="data:password2-errors">{ error }</div>
</div>
</div>
<div class="uk-form-row">
<div class="uk-form-controls">
<div class="uk-alert uk-alert-danger uk-hidden" data-msg="registration-failed">Unspecified error, sorry.</div>
<button type="button" class="uk-button uk-button-primary" rv-on-click="register">Register</button>
<a class="uk-float-right uk-button uk-button-link" href="/">Log in</a>
</div>
</div>
</div>
<div class="uk-form uk-form-horizontal uk-hidden" data-step="vcard" data-form="vcard">
<div class="uk-form-row">
<label for="fullname" class="uk-form-label">Full Name</label>
<div class="uk-form-controls">
<input id="fullname" class="uk-width-1-1" type="text" rv-value="data:fullname">
</div>
</div>
<div class="uk-form-row">
<label for="nickname" class="uk-form-label">Nickname</label>
<div class="uk-form-controls">
<input id="nickname" class="uk-width-1-1" type="text" rv-value="data:nickname">
</div>
</div>
<div class="uk-form-row">
<label for="avatar" class="uk-form-label">Avatar</label>
<div class="uk-form-controls">
<input id="avatar" type="file" accept="image/*" value="">
<p>A good avatar:</p>
<ul>
<li>has width and height between 32 and 96 pixels</li>
<li>ideally is a square image</li>
<li>is less than 64k in size</li>
<li>is in a widespread format (png, gif or jpeg)</li>
</ul>
</div>
</div>
<div class="uk-form-row">
<div class="uk-form-controls">
<button class="uk-button uk-button-primary" rv-on-click="save">Save</button>
<button class="uk-button uk-button-danger uk-float-right" rv-on-click="cancel">Cancel registration</button>
</div>
</div>
</div>
<div class="uk-alert uk-alert-danger uk-hidden" data-msg="save-failed">Couldn't save the vCard.</div>
</div>
<script src='/js/tram.js'></script>
<script src='/js/rivets.js'></script>
<script src='/js/xmpp.js'></script>
<script src='/js/progress.js'></script>
<script src='/config.js'></script>
<script src='/js/register.js'></script>
</body>
</html>