From 9884855e3c560047a982b2e6696a77dbcf40f688 Mon Sep 17 00:00:00 2001 From: William Petit Date: Fri, 12 Jan 2024 17:09:19 +0100 Subject: [PATCH] feat(desktop): pass instance id as flag or environment variable --- .env.dist | 3 ++- cmd/desktop/main.go | 2 +- internal/command/player/run.go | 24 ++++++++++++++++++------ modd.conf | 2 +- 4 files changed, 22 insertions(+), 9 deletions(-) diff --git a/.env.dist b/.env.dist index 839d9b7..df10f3e 100644 --- a/.env.dist +++ b/.env.dist @@ -1 +1,2 @@ -ARCAST_DESKTOP_ADDITIONAL_CHROME_ARGS= \ No newline at end of file +ARCAST_DESKTOP_ADDITIONAL_CHROME_ARGS= +ARCAST_DESKTOP_INSTANCE_ID= \ No newline at end of file diff --git a/cmd/desktop/main.go b/cmd/desktop/main.go index 39e55ac..51014b0 100644 --- a/cmd/desktop/main.go +++ b/cmd/desktop/main.go @@ -9,6 +9,6 @@ func main() { command.Main( "arcast", "Arcast desktop player", - player.Root(), + player.Root().Subcommands..., ) } diff --git a/internal/command/player/run.go b/internal/command/player/run.go index c3521b6..f5c1eae 100644 --- a/internal/command/player/run.go +++ b/internal/command/player/run.go @@ -21,13 +21,20 @@ func Run() *cli.Command { EnvVars: []string{"ARCAST_DESKTOP_ADDITIONAL_CHROME_ARGS"}, Value: cli.NewStringSlice("incognito"), }, - &cli.IntFlag{ - Name: "window-height", - Value: defaults.Height, + &cli.StringFlag{ + Name: "instance-id", + EnvVars: []string{"ARCAST_DESKTOP_INSTANCE_ID"}, + Value: "", }, &cli.IntFlag{ - Name: "window-width", - Value: defaults.Width, + Name: "window-height", + EnvVars: []string{"ARCAST_DESKTOP_WINDOW_HEIGHT"}, + Value: defaults.Height, + }, + &cli.IntFlag{ + Name: "window-width", + EnvVars: []string{"ARCAST_DESKTOP_WINDOW_WIDTH"}, + Value: defaults.Width, }, }, Action: func(ctx *cli.Context) error { @@ -57,7 +64,12 @@ func Run() *cli.Command { } }() - server := server.New(browser) + instanceID := ctx.String("instance-id") + if instanceID == "" { + instanceID = server.NewRandomInstanceID() + } + + server := server.New(browser, server.WithInstanceID(instanceID)) if err := server.Start(); err != nil { return errors.Wrap(err, "could not start server") diff --git a/modd.conf b/modd.conf index 7961d30..5f59064 100644 --- a/modd.conf +++ b/modd.conf @@ -4,5 +4,5 @@ modd.conf .env { prep: make build-client prep: make build-desktop - daemon: make run RUN_CMD="bin/desktop --debug --log-level debug player run" + daemon: make run RUN_CMD="bin/desktop --debug --log-level debug run" } \ No newline at end of file