From 14864866f5eb1385bcdcd85afea581e5cd61487f Mon Sep 17 00:00:00 2001 From: Dharma Bellamkonda Date: Sat, 9 May 2026 16:01:32 -0600 Subject: [PATCH 1/2] Fix missing content in VECTOR responses --- pkg/composer/alphacheck.go | 2 +- pkg/composer/vector.go | 18 ++++++++++-------- pkg/controller/vector.go | 10 ++++++++-- 3 files changed, 19 insertions(+), 11 deletions(-) diff --git a/pkg/composer/alphacheck.go b/pkg/composer/alphacheck.go index 70ea507b..582c6df5 100644 --- a/pkg/composer/alphacheck.go +++ b/pkg/composer/alphacheck.go @@ -34,7 +34,7 @@ func (c *Composer) ComposeAlphaCheckResponse(response brevity.AlphaCheckResponse } } - reply := response.Callsign + ", negative contact." + reply := c.composeCallsigns(response.Callsign) + ", negative contact." return NaturalLanguageResponse{ Subtitle: reply, Speech: reply, diff --git a/pkg/composer/vector.go b/pkg/composer/vector.go index 324c5b79..b2eaf9fc 100644 --- a/pkg/composer/vector.go +++ b/pkg/composer/vector.go @@ -8,8 +8,9 @@ import ( ) func (c *Composer) ComposeVectorResponse(response brevity.VectorResponse) NaturalLanguageResponse { + callsign := c.composeCallsigns(response.Callsign) if !response.Contact { - reply := response.Callsign + ", negative contact" + reply := callsign + ", negative contact" return NaturalLanguageResponse{ Subtitle: reply, Speech: reply, @@ -18,13 +19,13 @@ func (c *Composer) ComposeVectorResponse(response brevity.VectorResponse) Natura if !response.Status { if response.Location == brevity.LocationTanker { - reply := response.Callsign + ", no compatible tankers available" + reply := callsign + ", no compatible tankers available" return NaturalLanguageResponse{ Subtitle: reply, Speech: reply, } } - reply := response.Callsign + ", unable to provide vector to " + response.Location + reply := callsign + ", unable to provide vector to " + response.Location return NaturalLanguageResponse{ Subtitle: reply, Speech: reply, @@ -43,14 +44,14 @@ func (c *Composer) ComposeVectorResponse(response brevity.VectorResponse) Natura return NaturalLanguageResponse{ Subtitle: fmt.Sprintf( "%s, vector to %s, %s/%d", - response.Callsign, + callsign, response.Location, response.Vector.Bearing().String(), distance, ), Speech: fmt.Sprintf( "%s, vector to %s, %s %d", - response.Callsign, + callsign, response.Location, pronounceBearing(response.Vector.Bearing()), distance, @@ -63,14 +64,15 @@ func (c *Composer) composeTankerVectorResponse(response brevity.VectorResponse) log.Error().Stringer("bearing", response.BRA.Bearing()).Msg("bearing provided to composeTankerVectorResponse should be magnetic") } + callsign := c.composeCallsigns(response.Callsign) bearing := pronounceBearing(response.BRA.Bearing()) _range := int(response.BRA.Range().NauticalMiles()) - altitude := c.composeAltitudeStacks(response.BRA.Stacks(), brevity.Unable) + altitude := c.composeAltitudeStacks(response.BRA.Stacks(), brevity.Friendly) resp := NaturalLanguageResponse{ Subtitle: fmt.Sprintf( "%s, nearest tanker, %s, BRA %s/%d, %s", - response.Callsign, + callsign, response.Location, response.BRA.Bearing().String(), _range, @@ -78,7 +80,7 @@ func (c *Composer) composeTankerVectorResponse(response brevity.VectorResponse) ), Speech: fmt.Sprintf( "%s, nearest tanker, %s, bra %s, %d, %s", - response.Callsign, + callsign, response.Location, bearing, _range, diff --git a/pkg/controller/vector.go b/pkg/controller/vector.go index 941d857c..26af2e15 100644 --- a/pkg/controller/vector.go +++ b/pkg/controller/vector.go @@ -22,8 +22,14 @@ func (c *Controller) HandleVector(ctx context.Context, request *brevity.VectorRe Location: request.Location, } - var trackfile *trackfiles.Trackfile - response.Callsign, trackfile, response.Contact = c.findCallsign(request.Callsign) + foundCallsign, trackfile, ok := c.findCallsign(request.Callsign) + if !ok { + response.Callsign = request.Callsign + response.Contact = false + } else { + response.Callsign = foundCallsign + response.Contact = true + } if !response.Contact { c.calls <- NewCall(ctx, response) return From 51dd18e0956523cf7d88865301f245efebf24f67 Mon Sep 17 00:00:00 2001 From: Dharma Bellamkonda Date: Sat, 9 May 2026 16:06:56 -0600 Subject: [PATCH 2/2] Fix vector response callsign test casing --- pkg/composer/vector_test.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkg/composer/vector_test.go b/pkg/composer/vector_test.go index 085da231..726d47a1 100644 --- a/pkg/composer/vector_test.go +++ b/pkg/composer/vector_test.go @@ -17,8 +17,8 @@ func TestComposeVectorResponse_NoContact(t *testing.T) { Location: "home plate", Contact: false, }) - assert.Equal(t, "eagle 1, negative contact", resp.Subtitle) - assert.Equal(t, "eagle 1, negative contact", resp.Speech) + assert.Equal(t, "EAGLE 1, negative contact", resp.Subtitle) + assert.Equal(t, "EAGLE 1, negative contact", resp.Speech) } func TestComposeVectorResponse_UnableNamedLocation(t *testing.T) {