Rename InfoFlow to Daynivo: texts and boot splash logo
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
be80288a6e
commit
e615f970bc
11 files changed
+22
-22
No files matched your search
@@ -54,8 +54,8 @@ Alle opties zijn optioneel. Het script installeert de benodigde pakketten,
|
|||||||
maakt de gebruikers `kiosk` en `voxip` aan, installeert de services en
|
maakt de gebruikers `kiosk` en `voxip` aan, installeert de services en
|
||||||
start de kiosk. Aan het eind toont het de setupcode.
|
start de kiosk. Aan het eind toont het de setupcode.
|
||||||
|
|
||||||
Draaide hier eerder de InfoFlow-kiosk (`raspberry-pi/install-kiosk.sh` uit
|
Draaide hier eerder de Daynivo-kiosk (`raspberry-pi/install-kiosk.sh` uit
|
||||||
de InfoFlow-repository)? Dan neemt `install.sh` de display-URL (inclusief
|
de Daynivo-repository)? Dan neemt `install.sh` de display-URL (inclusief
|
||||||
`?token=`) automatisch over en schakelt `display-kiosk.service` uit.
|
`?token=`) automatisch over en schakelt `display-kiosk.service` uit.
|
||||||
|
|
||||||
### Updaten
|
### Updaten
|
||||||
@@ -185,13 +185,13 @@ bootpartitie (`bootfs`, zichtbaar op Windows en macOS):
|
|||||||
De bestanden worden bij het opstarten verwerkt en hernoemd naar
|
De bestanden worden bij het opstarten verwerkt en hernoemd naar
|
||||||
`*.applied`, of naar `*.rejected` met de reden in `voxip-config.error.txt`.
|
`*.applied`, of naar `*.rejected` met de reden in `voxip-config.error.txt`.
|
||||||
|
|
||||||
### InfoFlow-schermen
|
### Daynivo-schermen
|
||||||
|
|
||||||
Voor een InfoFlow-display gebruik je als `url` de kiosk-URL van het scherm
|
Voor een Daynivo-display gebruik je als `url` de kiosk-URL van het scherm
|
||||||
uit InfoFlow (*Schermen* → scherm → kiosk-URL, inclusief `?token=`). Het
|
uit Daynivo (*Schermen* → scherm → kiosk-URL, inclusief `?token=`). Het
|
||||||
token wordt in de webinterface, de CLI en de logs afgeschermd
|
token wordt in de webinterface, de CLI en de logs afgeschermd
|
||||||
(`?token=…ab12`). De kiosk laat een lopende pagina staan als het netwerk
|
(`?token=…ab12`). De kiosk laat een lopende pagina staan als het netwerk
|
||||||
wegvalt. InfoFlow toont dan zijn eigen laatst bekende inhoud, en
|
wegvalt. Daynivo toont dan zijn eigen laatst bekende inhoud, en
|
||||||
automatisch verversen wordt overgeslagen zolang de server niet bereikbaar
|
automatisch verversen wordt overgeslagen zolang de server niet bereikbaar
|
||||||
is.
|
is.
|
||||||
|
|
||||||
|
|||||||
Binary file not shown.
|
Before Width: | Height: | Size: 147 KiB After Width: | Height: | Size: 111 KiB |
@@ -90,7 +90,7 @@ HTTPS-verzoek (mét certificaatvalidatie) of de doel-URL bereikbaar is en
|
|||||||
navigeert pas dan. De offline-pagina verschijnt alleen als de pagina niet
|
navigeert pas dan. De offline-pagina verschijnt alleen als de pagina niet
|
||||||
**geladen** kan worden (startpagina, Chromium-foutpagina). Valt het
|
**geladen** kan worden (startpagina, Chromium-foutpagina). Valt het
|
||||||
netwerk weg terwijl een pagina al draait, dan blijft die pagina staan.
|
netwerk weg terwijl een pagina al draait, dan blijft die pagina staan.
|
||||||
Zo blijven applicaties met een eigen offline-cache (zoals InfoFlow-
|
Zo blijven applicaties met een eigen offline-cache (zoals Daynivo-
|
||||||
displays) gewoon hun laatste inhoud tonen. Automatisch verversen wordt
|
displays) gewoon hun laatste inhoud tonen. Automatisch verversen wordt
|
||||||
overgeslagen zolang de doel-URL onbereikbaar is.
|
overgeslagen zolang de doel-URL onbereikbaar is.
|
||||||
|
|
||||||
|
|||||||
@@ -46,7 +46,7 @@ Noteer per stap: ✅ / ❌ + opmerking, de imageversie en het schermtype.
|
|||||||
- [ ] Verversinterval op *Elke minuut*: de pagina herlaadt ongeveer elke minuut
|
- [ ] Verversinterval op *Elke minuut*: de pagina herlaadt ongeveer elke minuut
|
||||||
(zie Logboek → Kiosk-agent).
|
(zie Logboek → Kiosk-agent).
|
||||||
- [ ] Screenshot op de Kiosk-pagina toont wat er op het scherm staat.
|
- [ ] Screenshot op de Kiosk-pagina toont wat er op het scherm staat.
|
||||||
- [ ] InfoFlow-URL met `?token=`: het token is overal gemaskeerd
|
- [ ] Daynivo-URL met `?token=`: het token is overal gemaskeerd
|
||||||
(dashboard, `voxip-kiosk-ctl status`, `journalctl -u voxip-kiosk-agent`).
|
(dashboard, `voxip-kiosk-ctl status`, `journalctl -u voxip-kiosk-agent`).
|
||||||
|
|
||||||
## 4. Herstel
|
## 4. Herstel
|
||||||
@@ -68,7 +68,7 @@ Noteer per stap: ✅ / ❌ + opmerking, de imageversie en het schermtype.
|
|||||||
## 5. Netwerk
|
## 5. Netwerk
|
||||||
|
|
||||||
- [ ] Netwerkkabel eruit terwijl de pagina draait: de pagina **blijft
|
- [ ] Netwerkkabel eruit terwijl de pagina draait: de pagina **blijft
|
||||||
staan** (een InfoFlow-display toont zijn laatste inhoud). Het
|
staan** (een Daynivo-display toont zijn laatste inhoud). Het
|
||||||
dashboard toont *Offline*.
|
dashboard toont *Offline*.
|
||||||
- [ ] Kabel weer erin: het dashboard toont binnen 1 minuut *Online*.
|
- [ ] Kabel weer erin: het dashboard toont binnen 1 minuut *Online*.
|
||||||
- [ ] Opstarten zonder netwerk: offlinepagina met klok. Kabel erin:
|
- [ ] Opstarten zonder netwerk: offlinepagina met klok. Kabel erin:
|
||||||
@@ -122,4 +122,4 @@ Noteer per stap: ✅ / ❌ + opmerking, de imageversie en het schermtype.
|
|||||||
- [ ] `sudo ./uninstall.sh --purge` op een testkaart: geen VoxIP-services of
|
- [ ] `sudo ./uninstall.sh --purge` op een testkaart: geen VoxIP-services of
|
||||||
-bestanden meer (`systemctl list-unit-files | grep voxip` is leeg).
|
-bestanden meer (`systemctl list-unit-files | grep voxip` is leeg).
|
||||||
- [ ] Installatie op een bestaande Raspberry Pi OS Lite (Bookworm) met de
|
- [ ] Installatie op een bestaande Raspberry Pi OS Lite (Bookworm) met de
|
||||||
InfoFlow-kiosk erop: URL overgenomen, `display-kiosk.service` uitgeschakeld.
|
Daynivo-kiosk erop: URL overgenomen, `display-kiosk.service` uitgeschakeld.
|
||||||
+6
-6
@@ -153,16 +153,16 @@ install -d -o voxip -g voxip -m 0750 /var/lib/voxip-kiosk
|
|||||||
install -d -o root -g root -m 0755 /var/lib/voxip-kiosk-network
|
install -d -o root -g root -m 0755 /var/lib/voxip-kiosk-network
|
||||||
install -d -o voxip -g voxip -m 0750 /var/log/voxip-kiosk
|
install -d -o voxip -g voxip -m 0750 /var/log/voxip-kiosk
|
||||||
|
|
||||||
# Migrate from InfoFlow's raspberry-pi/install-kiosk.sh: take over its URL, then disable it.
|
# Migrate from Daynivo's raspberry-pi/install-kiosk.sh: take over its URL, then disable it.
|
||||||
INFOFLOW_UNIT=/etc/systemd/system/display-kiosk.service
|
LEGACY_KIOSK_UNIT=/etc/systemd/system/display-kiosk.service
|
||||||
if [[ -f $INFOFLOW_UNIT ]]; then
|
if [[ -f $LEGACY_KIOSK_UNIT ]]; then
|
||||||
OLD_URL="$(grep -oE 'https://[^" ]+' "$INFOFLOW_UNIT" | tail -n1 || true)"
|
OLD_URL="$(grep -oE 'https://[^" ]+' "$LEGACY_KIOSK_UNIT" | tail -n1 || true)"
|
||||||
if [[ -n $OLD_URL && -z $URL && ! -f $ETC/config.json ]]; then
|
if [[ -n $OLD_URL && -z $URL && ! -f $ETC/config.json ]]; then
|
||||||
URL="$OLD_URL"
|
URL="$OLD_URL"
|
||||||
say "URL overgenomen van de InfoFlow-kioskinstallatie"
|
say "URL overgenomen van de Daynivo-kioskinstallatie"
|
||||||
fi
|
fi
|
||||||
if [[ $LIVE -eq 1 ]]; then systemctl disable --now display-kiosk.service 2>/dev/null || true; fi
|
if [[ $LIVE -eq 1 ]]; then systemctl disable --now display-kiosk.service 2>/dev/null || true; fi
|
||||||
mv "$INFOFLOW_UNIT" "$INFOFLOW_UNIT.voxip-disabled"
|
mv "$LEGACY_KIOSK_UNIT" "$LEGACY_KIOSK_UNIT.voxip-disabled"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
PYRUN=(python3 -I -c)
|
PYRUN=(python3 -I -c)
|
||||||
|
|||||||
@@ -214,7 +214,7 @@ class Agent:
|
|||||||
return
|
return
|
||||||
|
|
||||||
# Without any network the page cannot recover by itself: say so on screen. When only
|
# Without any network the page cannot recover by itself: say so on screen. When only
|
||||||
# the server is unreachable the page stays, so InfoFlow can show its offline cache.
|
# the server is unreachable the page stays, so Daynivo can show its offline cache.
|
||||||
if not self.has_network():
|
if not self.has_network():
|
||||||
self.state.update(target_reachable=False, reason=NO_NETWORK, checked_at=int(self.wall()))
|
self.state.update(target_reachable=False, reason=NO_NETWORK, checked_at=int(self.wall()))
|
||||||
self._probe = None
|
self._probe = None
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ _RESOLUTION = re.compile(r"^(\d{3,4})x(\d{3,4})(?:@(\d{2,3}(?:\.\d{1,3})?))?$")
|
|||||||
_COUNTRY = re.compile(r"^[A-Z]{2}$")
|
_COUNTRY = re.compile(r"^[A-Z]{2}$")
|
||||||
_HEX64 = re.compile(r"^[0-9a-fA-F]{64}$")
|
_HEX64 = re.compile(r"^[0-9a-fA-F]{64}$")
|
||||||
|
|
||||||
# Query parameters whose values are secrets (InfoFlow display URLs carry
|
# Query parameters whose values are secrets (Daynivo display URLs carry
|
||||||
# their access token as ?token=...). They are masked wherever a URL is shown
|
# their access token as ?token=...). They are masked wherever a URL is shown
|
||||||
# or logged.
|
# or logged.
|
||||||
SECRET_PARAMS = {"token", "key", "apikey", "api_key", "secret", "password", "auth", "access_token"}
|
SECRET_PARAMS = {"token", "key", "apikey", "api_key", "secret", "password", "auth", "access_token"}
|
||||||
|
|||||||
@@ -15,7 +15,7 @@
|
|||||||
{{ csrf() }}
|
{{ csrf() }}
|
||||||
<label>Kiosk-URL
|
<label>Kiosk-URL
|
||||||
<input type="url" name="url" value="{{ conf.url }}" required pattern="https://.+" maxlength="2048" autocomplete="off" spellcheck="false">
|
<input type="url" name="url" value="{{ conf.url }}" required pattern="https://.+" maxlength="2048" autocomplete="off" spellcheck="false">
|
||||||
<small>Alleen HTTPS. Een toegangstoken in de URL (zoals <code>?token=</code> van InfoFlow) wordt elders afgeschermd getoond.</small>
|
<small>Alleen HTTPS. Een toegangstoken in de URL (zoals <code>?token=</code> van Daynivo) wordt elders afgeschermd getoond.</small>
|
||||||
</label>
|
</label>
|
||||||
<label>Apparaatnaam
|
<label>Apparaatnaam
|
||||||
<input type="text" name="device_name" value="{{ conf.device_name }}" required maxlength="64">
|
<input type="text" name="device_name" value="{{ conf.device_name }}" required maxlength="64">
|
||||||
|
|||||||
+1
-1
@@ -101,7 +101,7 @@ def test_chromium_error_page_is_replaced(env):
|
|||||||
|
|
||||||
|
|
||||||
def test_running_page_is_left_alone_when_the_server_is_unreachable(env):
|
def test_running_page_is_left_alone_when_the_server_is_unreachable(env):
|
||||||
"""Pages with their own offline cache (e.g. InfoFlow displays) must keep running."""
|
"""Pages with their own offline cache (e.g. Daynivo displays) must keep running."""
|
||||||
agent, browser, probe, clock, _ = env
|
agent, browser, probe, clock, _ = env
|
||||||
browser.url = "https://schermen-ijsselflat.voxip.nl"
|
browser.url = "https://schermen-ijsselflat.voxip.nl"
|
||||||
agent.tick()
|
agent.tick()
|
||||||
|
|||||||
+1
-1
@@ -51,7 +51,7 @@ if [[ -d /usr/share/plymouth/themes/voxip-kiosk ]]; then
|
|||||||
plymouth-set-default-theme -R "${PREVIOUS_SPLASH:-text}" >/dev/null 2>&1 || true
|
plymouth-set-default-theme -R "${PREVIOUS_SPLASH:-text}" >/dev/null 2>&1 || true
|
||||||
fi
|
fi
|
||||||
if [[ -f /etc/systemd/system/display-kiosk.service.voxip-disabled ]]; then
|
if [[ -f /etc/systemd/system/display-kiosk.service.voxip-disabled ]]; then
|
||||||
echo " (de eerdere InfoFlow-kioskservice staat nog als display-kiosk.service.voxip-disabled)"
|
echo " (de eerdere Daynivo-kioskservice staat nog als display-kiosk.service.voxip-disabled)"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ $PURGE -eq 1 ]]; then
|
if [[ $PURGE -eq 1 ]]; then
|
||||||
|
|||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
/* Local pages shown on the kiosk screen itself (file://). Same look as the InfoFlow
|
/* Local pages shown on the kiosk screen itself (file://). Same look as the Daynivo
|
||||||
display (dark theme): flat dark grey, white type, plain panels. */
|
display (dark theme): flat dark grey, white type, plain panels. */
|
||||||
:root {
|
:root {
|
||||||
color-scheme: dark;
|
color-scheme: dark;
|
||||||
|
|||||||
Reference in new issue
Block a user