iFargle / headscale-webui

A simple Headscale web UI for small-scale deployments.
Other
619 stars 56 forks source link

Nodes #123

Open Racoon-r opened 8 months ago

Racoon-r commented 8 months ago

The Headscale project has changed every occurrence of 'Machine' to 'Node.' This commit addresses the issue in the Headscale-WebUI. Additionally, there is a fix for the OIDC redirect. Previously, only HTTP redirection was available, but now HTTPS redirection is also supported.

Dexus commented 3 months ago
headscale-webui  | [2024-03-20 21:31:26,942] ERROR in app: Exception on /nodes [GET]
headscale-webui  | Traceback (most recent call last):
headscale-webui  |   File "/app/.venv/lib/python3.11/site-packages/flask/app.py", line 2190, in wsgi_app
headscale-webui  |     response = self.full_dispatch_request()
headscale-webui  |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
headscale-webui  |   File "/app/.venv/lib/python3.11/site-packages/flask/app.py", line 1486, in full_dispatch_request
headscale-webui  |     rv = self.handle_user_exception(e)
headscale-webui  |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
headscale-webui  |   File "/app/.venv/lib/python3.11/site-packages/flask/app.py", line 1484, in full_dispatch_request
headscale-webui  |     rv = self.dispatch_request()
headscale-webui  |          ^^^^^^^^^^^^^^^^^^^^^^^
headscale-webui  |   File "/app/.venv/lib/python3.11/site-packages/flask/app.py", line 1469, in dispatch_request
headscale-webui  |     return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)
headscale-webui  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
headscale-webui  |   File "/app/server.py", line 120, in decorated
headscale-webui  |     return view_func(*args, **kwargs)
headscale-webui  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
headscale-webui  |   File "/app/server.py", line 213, in nodes_page
headscale-webui  |     cards = renderer.render_nodes_cards()
headscale-webui  |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
headscale-webui  |   File "/app/renderer.py", line 508, in render_nodes_cards
headscale-webui  |     for idx in iterable: thread_node_content(nodes_list["nodes"][idx], node_content, idx, all_routes, failover_pair_prefixes)
headscale-webui  |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
headscale-webui  |   File "/app/renderer.py", line 408, in thread_node_content
headscale-webui  |     last_update_parse = local_time if node["lastSuccessfulUpdate"] is None else parser.parse(node["lastSuccessfulUpdate"])
headscale-webui  |                                       ~~~~^^^^^^^^^^^^^^^^^^^^^^^^
headscale-webui  | KeyError: 'lastSuccessfulUpdate'

There is a bit more need to fix it.