Commit Graph

101 Commits

Author SHA1 Message Date
Oliver Gerlich 60bc6049b9
Improve docs, and add tool for sending example data (#16)
* config_example.conf: add documentation

* README.md: add more technical details

* add respondd-sim.py script, for sending test data back to FFMan

Also add some setup/usage notes for the script.

The respondd-sim.py script is based on the respondd.py script from
https://github.com/ffnord/mesh-announce .
2019-06-04 20:47:08 +02:00
Martin/Geno e063fa2e12
add gitlab-ci build 2019-06-03 16:42:30 +02:00
Martin/Geno f597f29f72
fix tests after change in yanic 2019-06-03 16:42:29 +02:00
Martin/Geno 77278ca130
[BUGFIX] session_init before auth_status 2018-09-01 17:46:51 +02:00
Martin/Geno b92c33b10e
[BUGFIX] session check 2018-08-30 10:26:23 +02:00
Martin/Geno 3a887ec1c5
add websockettype ping 2018-08-24 23:44:26 +02:00
Martin/Geno 832c30fa26
update websocket + handle settings in session 2018-08-24 23:34:02 +02:00
Martin/Geno a198abb8d0
enhanced session 2018-08-11 12:36:21 +02:00
Martin/Geno 88d7e53cdb
use frequency of airtime to get channel
to get real/current used values
+ fix naming
2018-08-11 12:34:19 +02:00
Martin/Geno 57955f30e3
[BUGFIX] do not decode lastseen 2018-08-10 19:48:34 +02:00
Martin/Geno b5989710e8
use duration for blacklist 2018-08-10 18:58:53 +02:00
Martin/Geno df5a229fc8
merge json message to one node message 2018-08-10 16:47:34 +02:00
Martin/Geno a641a162a0
[BUGFIX] boolean in example config 2018-08-10 11:55:10 +02:00
Geno 861531712c
[TASK] rewrite table (#10) 2018-08-10 11:52:46 +02:00
Martin/Geno 7c5d117784
use dropdown for channel selection 2018-08-03 09:13:23 +02:00
Martin/Geno 58d843ae7e
fix some issues on connect 2018-08-03 09:13:22 +02:00
Martin/Geno 9fbdd5a798
fix node equal check (location) 2018-08-03 09:13:20 +02:00
Martin/Geno 21c398ca42
sql rewrite 2018-08-03 09:13:12 +02:00
Martin/Geno 50a109dee0
split mutex in List,Current and Read,Write 2018-07-25 09:51:57 +02:00
Martin/Geno f631ac057b
add ssh timeout and ip prefix filter 2018-07-24 15:07:26 +02:00
Oliver Gerlich 0a9c10666a status box: turn pulsing animation into 1-second blinking, to reduce CPU load
With the pulsing animation (which appears when the websocket connection is
down) the CPU load and GPU load goes up, which probably also uses up lots
of battery time.
2018-07-22 21:58:18 +02:00
Oliver Gerlich 444d80f77e map: save list of enabled layers in localStorage 2018-07-22 21:56:00 +02:00
Oliver Gerlich f02b047f9a map: fix exception when enabling Clients layers
The layer data array must not contain "null" entries.
2018-07-22 21:47:26 +02:00
Oliver Gerlich 668ba59b8d node page: ask for confirmation before resetting node location 2018-07-22 21:47:20 +02:00
Oliver Gerlich bd7b9c10aa node page: add "Reset Location" button, to unset node location
This can be helpful if the node was placed far away (eg. due to IP-based
geolocation).
2018-07-22 21:47:11 +02:00
Oliver Gerlich d95b41315c node page: don't display "undefined" if node has never been saved yet 2018-07-22 21:46:43 +02:00
Oliver Gerlich 2cc533c481 node page: display map correctly also if node doesn't have location info 2018-07-22 21:46:29 +02:00
Oliver Gerlich d7e98625e2 node: don't show "Start follow position" button at all if browser does not support navigator.geolocation 2018-07-22 21:46:22 +02:00
Oliver Gerlich 3a18da51c8 menu: remove logo
It doesn't provide any functionality, and it uses up valuable screen space
on a phone screen.
2018-07-22 21:45:41 +02:00
Oliver Gerlich bd7cef3f00 socket: don't notify user on every failed connection attempt
Only notify user if the websocket connection was already established and is
now closed.
2018-07-22 21:45:36 +02:00
Oliver Gerlich 2fca4b49fe fix exception in list.renderView() introduced by adding debouncer.run()
Use arrow function to keep "this" at the same value it has in render().
2018-07-19 22:48:40 +02:00
Martin/Geno 141c8b798e
fix travis builds 2018-07-19 02:04:13 +02:00
Oliver Gerlich e77e94ef85 list perf: limit list to 20 nodes by default
Also add links to bottom of list to select how many nodes shall be
displayed, and store the selection in localStorage.

The shorter list has much better performance. A long list is not really
useful anyway; rather let the user filter/sort it to display interesting
nodes only.
2018-07-19 02:00:39 +02:00
Oliver Gerlich 885b3232c3 move debouncing logic to separate Debouncer class, and use it for list view
While the normal GUI is re-rendered at most every 100 msec, the list is
re-rendered at most every second (since it is very expensive to render).
2018-07-19 01:51:21 +02:00
Oliver Gerlich 67dd56d71d call render() again after render bouncer timer has elapsed
This is necessary so that the GUI really shows the latest data from server
after the timer has elapsed.

Also add some other minor fixes.
2018-07-19 01:51:21 +02:00
Martin/Geno ba1045aacd render bouncer 2018-07-19 01:51:21 +02:00
Martin/Geno af80ade82b
Disable notification of successful node update 2018-07-17 23:37:03 +02:00
Martin/Geno 140f11257a
implement full yanic (to run freifunkmanager at his own) 2018-07-17 23:36:57 +02:00
Oliver Gerlich b97ac6ea43 node page: display GPS coordinates next to toggle button 2018-07-17 22:51:41 +02:00
Oliver Gerlich fb0f2f054d node page: some fixes for GPS-following
- rename storePosition to gpsPosition
- don't check for btnGPS.innerHTML contents (this is fragile); check for
  this.gpsPosition instead
- fix call to updatePosition() when clicking "Stop following"
2018-07-17 22:51:41 +02:00
Oliver Gerlich ad7cc8d0aa node page: fix bug if navigator.geolocation.watchPosition() returns 0 as id 2018-07-17 22:51:41 +02:00
Oliver Gerlich 7f498b4a6e node page: set node details (hostname/owner etc.) also if location is unknown 2018-07-17 22:51:41 +02:00
Oliver Gerlich 2417bc3ae0 extend README file 2018-07-17 22:36:32 +02:00
Oliver Gerlich b3b8d1f53f menu: rename "Statistics" to "Stats" to save some space on phone screens 2018-07-17 22:36:32 +02:00
Oliver Gerlich 043e7225fd list perf: use documentFragment to add all rows to table in one operation 2018-07-17 22:31:29 +02:00
Oliver Gerlich 66d8951ad9 list perf: use textContent instead of innerHTML 2018-07-17 22:31:29 +02:00
Oliver Gerlich 10a717f558 list: fix exception when typing in list filter fields 2018-07-17 22:31:29 +02:00
Martin/Geno 485ecc13c6
default channel on create node + send callback 2018-07-15 22:47:05 +02:00
Martin/Geno 63f77d87c7
fix statistics channel view 2018-07-15 21:55:31 +02:00
Oliver Gerlich cd511dce8e web: rework store.js and interaction with view/node.js
- store.getNode() no longer adds new node to the list
- instead, store.createNode() can be used to create an empty new node
- view/node.js now now transfer a local copy of the node object it wants to
  modify, rather then modifying the real object from store.list. If the
  change is accepted by server, the server will send the new values for the
  changed object anyway.

Previously, if the user visited the node page for a nonexistent node but
didn't make any changes, the list view would always throw an exception
because an incomplete node object was contained in the list.
2018-07-15 21:51:11 +02:00