WWW service status tracker

Important notice; please read: You are being "sold" telescreens!

You are not the customer of Google or Apple, but rather their slave.

With recent announcements such as developer verification, Android is no longer an open platform. Plus, Samsung Android devices have turned into telescreens, now that bootloader unlocking is impossible! Google can refuse to verify developers they don't agree with! And you will have no way to run your own choice of software on these devices!

Similarly, to Apple the EU's DMA is nothing more than a formality, the apps still have to be verified! Remember that these changes are not for privacy or security, they are simply anti-competitive! You are never private or secure from the American company supplying one of these OSes!

When you can, refuse "buying" certified Androids or iThings! What is happening it is not normal, it ought to be illegal, and you do not own these devices! I am outraged, and you should be too!

By using this site, you agree to have cookies stored on your device, strictly for functional purposes, such as storing your session and preferences.

Dismiss

 app.html

View raw Download
text/html • 3.97 kiB
HTML document, Unicode text, UTF-8 text
        
            
1
{% extends "default.html" %}
2
{% block title %}{{ app.name }} | Echo Tracker{% endblock %}
3
{% block content %}
4
<main>
5
<h1>{{ app.name }}</h1>
6
<h2 class="subtitle">
7
{% if is_ok(all_results) %}
8
Operational
9
{% elif is_partial(all_results) %}
10
Unstable
11
{% else %}
12
Down
13
{% endif %}
14
(last {{ app.stability_threshold }} minutes)
15
</h2>
16
<p>Owner: {{ app.owner_name }}</p>
17
{% if session.get("username") == app.owner_name %}
18
<a class="button" style="width:100%; margin: 1em 0;" tabindex="0" href="/app/{{ app.id }}/edit">
19
<iconify-icon icon="mdi:pencil"></iconify-icon>
20
Manage endpoints
21
</a>
22
{% endif %}
23
<form style="margin-bottom: 1em;" class="horizontal-form">
24
<label class="extend">
25
Interval duration (minutes)
26
<input type="number" name="bar_duration" step="1" value="{{ bar_duration }}">
27
</label>
28
<label class="extend">
29
Time period (minutes)
30
<input type="number" name="time_period" step="1" value="{{ time_period }}">
31
</label>
32
<button type="submit">Change</button>
33
</form>
34
<div id="endpoint-list">
35
{% for endpoint in app.endpoints %}
36
<div class="endpoint-card">
37
<div class="endpoint-header">
38
<h2>{{ endpoint.name }}</h2>
39
<div class="action-buttons">
40
{% if not endpoint.buggy %}
41
<a href="/app/{{ app.id }}/report/{{ endpoint.id }}" class="button">
42
<iconify-icon icon="mdi:bug"></iconify-icon>
43
Report malfunction
44
</a>
45
{% elif app.owner_name == session.get("username") %}
46
<a href="/app/{{ app.id }}/fix/{{ endpoint.id }}" class="button">
47
<iconify-icon icon="mdi:tools"></iconify-icon>
48
Mark as fixed
49
</a>
50
{% endif %}
51
<a href="{{ endpoint.address }}" class="button">
52
<iconify-icon icon="mdi:send"></iconify-icon>
53
Access
54
</a>
55
</div>
56
</div>
57
{% if endpoint.buggy %}
58
<p class="endpoint-info endpoint-info-down">
59
Malfunctioning
60
</p>
61
{% elif is_ok(slices[endpoint.id][-1][0]) %}
62
Operational
63
{% elif is_partial(slices[endpoint.id][-1][0]) %}
64
Unstable
65
{% else %}
66
Down
67
{% endif %}
68
<p>{{ endpoint.comment }}</p>
69
<div class="app-uptime">
70
{% for slice in slices[endpoint.id] %}
71
{% if not slice[0] %}
72
<div class="uptime-bar
73
{% elif is_ok(slice[0]) %}
74
<div class="uptime-bar uptime-bar-ok
75
{% else %}
76
<div class="uptime-bar uptime-bar-down
77
{% endif %}
78
{% if bugs(slice[0]) %}
79
uptime-bar-buggy
80
{% endif %}
81
" title="{{ slice[1][0].strftime('%Y-%m-%d %H:%M:%S') }} – {{ slice[1][1].strftime('%Y-%m-%d %H:%M:%S') }}"></div>
82
{% endfor %}
83
</div>
84
</div>
85
{% endfor %}
86
</div>
87
</main>
88
{% endblock %}