1
0
mirror of https://github.com/AvengeMedia/DankMaterialShell.git synced 2026-08-06 05:28:29 -04:00

core: migrate to dankgo shared go modules, embed quickshell in DMS

binary to mount at runtime, -c or DMS_SHELL_DIR overrides required to
explicitly override embedded configuration
This commit is contained in:
bbedward
2026-07-18 14:51:09 -04:00
parent 2114ece0df
commit 0cdb065739
114 changed files with 1009 additions and 3024 deletions
+7 -8
View File
@@ -2,13 +2,12 @@ package tailscale
import (
"fmt"
"net"
"github.com/AvengeMedia/DankMaterialShell/core/internal/server/models"
)
// HandleRequest routes an IPC request to the appropriate handler.
func HandleRequest(conn net.Conn, req models.Request, manager *Manager) {
func HandleRequest(conn *models.Conn, req models.Request, manager *Manager) {
switch req.Method {
case "tailscale.getStatus":
handleGetStatus(conn, req, manager)
@@ -27,17 +26,17 @@ func HandleRequest(conn net.Conn, req models.Request, manager *Manager) {
}
}
func handleGetStatus(conn net.Conn, req models.Request, manager *Manager) {
func handleGetStatus(conn *models.Conn, req models.Request, manager *Manager) {
state := manager.GetState()
models.Respond(conn, req.ID, state)
}
func handleRefresh(conn net.Conn, req models.Request, manager *Manager) {
func handleRefresh(conn *models.Conn, req models.Request, manager *Manager) {
manager.RefreshState()
models.Respond(conn, req.ID, models.SuccessResult{Success: true, Message: "refreshed"})
}
func handleConnect(conn net.Conn, req models.Request, manager *Manager) {
func handleConnect(conn *models.Conn, req models.Request, manager *Manager) {
if err := manager.Connect(); err != nil {
models.RespondError(conn, req.ID, err.Error())
return
@@ -45,7 +44,7 @@ func handleConnect(conn net.Conn, req models.Request, manager *Manager) {
models.Respond(conn, req.ID, models.SuccessResult{Success: true, Message: "connected"})
}
func handleDisconnect(conn net.Conn, req models.Request, manager *Manager) {
func handleDisconnect(conn *models.Conn, req models.Request, manager *Manager) {
if err := manager.Disconnect(); err != nil {
models.RespondError(conn, req.ID, err.Error())
return
@@ -53,7 +52,7 @@ func handleDisconnect(conn net.Conn, req models.Request, manager *Manager) {
models.Respond(conn, req.ID, models.SuccessResult{Success: true, Message: "disconnected"})
}
func handleSetExitNode(conn net.Conn, req models.Request, manager *Manager) {
func handleSetExitNode(conn *models.Conn, req models.Request, manager *Manager) {
id := models.GetOr(req, "id", "")
if err := manager.SetExitNode(id); err != nil {
models.RespondError(conn, req.ID, err.Error())
@@ -62,7 +61,7 @@ func handleSetExitNode(conn net.Conn, req models.Request, manager *Manager) {
models.Respond(conn, req.ID, models.SuccessResult{Success: true, Message: "exit node updated"})
}
func handleSetAllowLanAccess(conn net.Conn, req models.Request, manager *Manager) {
func handleSetAllowLanAccess(conn *models.Conn, req models.Request, manager *Manager) {
enabled := models.GetOr(req, "enabled", false)
if err := manager.SetAllowLANAccess(enabled); err != nil {
models.RespondError(conn, req.ID, err.Error())
@@ -47,7 +47,7 @@ func TestHandleGetStatus(t *testing.T) {
defer m.Close()
buf := &bytes.Buffer{}
conn := &mockConn{Buffer: buf}
conn := models.NewConn(&mockConn{Buffer: buf})
req := models.Request{ID: 1, Method: "tailscale.getStatus"}
handleGetStatus(conn, req, m)
@@ -66,7 +66,7 @@ func TestHandleRefresh(t *testing.T) {
defer m.Close()
buf := &bytes.Buffer{}
conn := &mockConn{Buffer: buf}
conn := models.NewConn(&mockConn{Buffer: buf})
req := models.Request{ID: 1, Method: "tailscale.refresh"}
handleRefresh(conn, req, m)
@@ -98,7 +98,7 @@ func TestHandleActions(t *testing.T) {
defer m.Close()
buf := &bytes.Buffer{}
conn := &mockConn{Buffer: buf}
conn := models.NewConn(&mockConn{Buffer: buf})
req := models.Request{ID: 1, Method: tc.method, Params: tc.params}
HandleRequest(conn, req, m)
@@ -125,7 +125,7 @@ func TestHandleAction_BackendError(t *testing.T) {
defer m.Close()
buf := &bytes.Buffer{}
conn := &mockConn{Buffer: buf}
conn := models.NewConn(&mockConn{Buffer: buf})
req := models.Request{ID: 1, Method: "tailscale.connect"}
HandleRequest(conn, req, m)
@@ -141,7 +141,7 @@ func TestHandleRequest_UnknownMethod(t *testing.T) {
defer m.Close()
buf := &bytes.Buffer{}
conn := &mockConn{Buffer: buf}
conn := models.NewConn(&mockConn{Buffer: buf})
req := models.Request{ID: 1, Method: "tailscale.unknownMethod"}
HandleRequest(conn, req, m)
+2 -2
View File
@@ -7,7 +7,7 @@ import (
"time"
"github.com/AvengeMedia/DankMaterialShell/core/internal/log"
"github.com/AvengeMedia/DankMaterialShell/core/pkg/syncmap"
"github.com/AvengeMedia/dankgo/syncmap"
"tailscale.com/client/local"
"tailscale.com/ipn"
"tailscale.com/ipn/ipnstate"
@@ -133,7 +133,7 @@ func (m *Manager) watchLoop(ctx context.Context) {
break
}
if notify.State == nil && notify.NetMap == nil {
if notify.State == nil && notify.NetMap == nil { //nolint:staticcheck // NetMap is deprecated upstream but still the only activity signal on some platforms
continue
}
select {