Meshviewer - Development


#27

Großes Update geplant:

  • Version releasen - master branch - bisher hab es immer nur den develop
  • nodes.json und Graph komplett überarbeiten - yanic wird gleich das passende Backend liefern.
  • TQ in beide Seiten und kein Durchschnitt mehr.
  • Updates auch in der infobox content

Alles weitere gibt es im issue tracker und Milestone.


#29

Hallo,

mal wieder ein Update.

Es geht voran, einige Sachen gemerged, viel obsoletes zeug entfernt und das neue Format macht sich deutlich im Volumen bemerkbar. Mehr Details im Milestone.

Gleiche Instanz (800 Nodes, 1000 Links)
Alt Knote Linkdatenndaten 245KB (gzip Übertragung)
Neue Knoten und Linkdaten 94,4KB (gzip Übertragung)

Test mit 5k nodes und 1,5k links 310KB (brotli Übertragung)

Aktuelle Sidebar:

Viele andere Sachen sind in den Issues auch mit Screenshots zu finden.

Live bei Darmstadt (Vanilla Meshviewer)
https://meshviewer.darmstadt.freifunk.net/
Custom style
https://map.bremen.freifunk.net/

xaver


#28

Was genau soll da geändert werden? Das Ticket gibt keine Informationen her.

Ich müsste dann für die Freifunk-Karte.de den Parser anpassen.


#37

Hier noch ein Screen von den aktuellen “service-worker” Stand. (Natürlich auch fürs Smartphone gedacht und klappt offline nach dem Speichern)


Gibt noch Probleme und falsche Config online könnte dauerhaft schwer werden wieder loszuwerden.


#30

Oh schön, da hab ich endlich mal einen Grund für ein Update ^^
@xaver habt ihr mittlerweile iFrames fest eingebaut, oder muss man sich die wieder
selber reinfummeln? :slight_smile:

Gruß


#15

Sry, ja es gab ein technisches Problem am Cluster. SSD Cache kaputt, Daten werden migriert usw. und da wir das gestellt bekommen und nichts zahlen, waren wir eine niedrige Priorität. Jetzt ist der Server umgezogen und wenn der DNS durch ist sollte es gehen. Google DNS Flush ist passiert.

EDIT:
Das Backup hat leider nicht den aktuellen Stand. muss das nochmal deployen.

EDIT2:
So wieder deployed - strg + F5 - JS hat dann ein cache breaker.


#18
  1. Nein, es gibt ein Konverter Script - das war mal drin, Das kostet Leistung und kannte keine Community mit v1. Hätte eher ein Proxy Script gebaut. Wir planen ja auch v2 den Rücken zu kehren. Beispielsweise möchte ich einige Sachen viel dynamischer bauen Wenn möglich via Config Felder definieren die ausgeben werde (wenn alles klappt). Als Backend Yanic (und jeder andere der irgendwie so raus bekommt - Vorteil von dynamischen config wenns geht).
  2. Ja

#19

Hast du da mal einen Link?


#20

Muss mal schauen - das war mal im Code drin - eigentlich wandelt es nur etwas die Struktur um. Hab mich nie mit v1 groß beschäftigt.


#21

Das wäre super da wir derzeit noch auf v1 hängen und das aus Gründen derzeit auch nicht ändern können.


#22

Wollte gerade drauf schauen, aber es sind keine CORS gesetzt und kann daher die JSON nicht laden.

Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://mesh.freifunknord.de/data/nodes.json. (Reason: CORS header ‘Access-Control-Allow-Origin’ missing).


#23

https://hessen.meshviewer.net

Da hatte ich und gut den meisten Hirnschmalz hatte sheogorath reingesteckt damals eine Meshviewer (v4) version gebaut welche nodes.json v1 und v2 verarbeiten konnte.

müsste dieser commit gewesen sein.
https://github.com/Moorviper/meshviewer/commit/5ce722831605214372445ee11e0029b67381e06d


#24

das wäre schon mal eine Umwandlung von v2 in v1. Aber in diesem Fall brauchen wir eine Wandlung von v1 nach v2, damit der hopglass eine v2 von uns bekommen kann.

Hier ist auch ein script, das das neue v2 Format in das alte v1 umformatiert: https://github.com/Freifunk-Nord/nord-ffmap-backend#old-data-format

Es gibt aber doch bestimmt irgendwo schon ein bash- oder jq-Script, das einfach eine nodes.json v1 in v2 umwandeln kann mit ein paar jq befehlen, oder?


#31

Was meinst du genau mit iFrame fest verbaut?


#32

Für das einbinden von Graphen für die Nodes/Gateways.
Die waren vorher immer als “img” eingebaut zum deklarieren in der config.json.

-    content = document.createElement('img');
+    content = document.createElement('iframe');
+    content.width = '99%';
+    content.height = '305px';
+    content.scrolling = 'no';
+    content.frameBorder = '0';


Ich habs einfach immer ersetzt ;p


#33

Wir haben nicht vor iframes zu unterstützten. Inzwischen wird auch jede Minute alle werte in der Sidebar neu geladen und würde zum ständigen reload führen. Grafana Bootstrap in JS hat ein sehr großen “Footprint” und daher absolut nicht empfehlenswert.


#34

Ok schade, dann muss ich wohl jedes neue Release von euch erst wieder Modden bis es passt.
Als Option einzubauen, sodass jeder selbst entscheiden kann ist keine Option?
Den Refresh kann man sicher auch ausknipsen?

Gruß


#35

Nein, der Refresh sind Patch Operationen im snabbdom Virtuellen Tree um springen zu vermeiden usw. - kann sein das teilweise überlebt. Wir arbeiten nur mit Bildern aus grafana und dann verlinkt via klick.


#36

Danke für die Info, muss ich mir dann wohl mal genauer anschauen was ich da tun muss.

Gruß


#38

Das einzige Backend, das bis jetzt für die neue Version die meshviewer.json generieren kann ist yanic und der kann gleichzeitig nodelist.json generieren.
Kurz: Ihr müsst so nichts anpassen und bei euch wird sollte es ja mit einer nodelist.json performanter laufen, als mit der meshviewer.json - die für euch viel zu viele unnötige Daten beinhaltet.