Expand Up @@ -456,7 +456,7 @@ func (t *trySingleflight) Do(key string, fn func()) { fn() } func (a *agent) reportMetadata(ctx context.Context, aAPI proto.DRPCAgentClient24 ) error { func (a *agent) reportMetadata(ctx context.Context, aAPI proto.DRPCAgentClient26 ) error { tickerDone := make(chan struct{}) collectDone := make(chan struct{}) ctx, cancel := context.WithCancel(ctx) Expand Down Expand Up @@ -672,7 +672,7 @@ func (a *agent) reportMetadata(ctx context.Context, aAPI proto.DRPCAgentClient24 // reportLifecycle reports the current lifecycle state once. All state // changes are reported in order. func (a *agent) reportLifecycle(ctx context.Context, aAPI proto.DRPCAgentClient24 ) error { func (a *agent) reportLifecycle(ctx context.Context, aAPI proto.DRPCAgentClient26 ) error { for { select { case <-a.lifecycleUpdate: Expand Down Expand Up @@ -752,7 +752,7 @@ func (a *agent) setLifecycle(state codersdk.WorkspaceAgentLifecycle) { } // reportConnectionsLoop reports connections to the agent for auditing. func (a *agent) reportConnectionsLoop(ctx context.Context, aAPI proto.DRPCAgentClient24 ) error { func (a *agent) reportConnectionsLoop(ctx context.Context, aAPI proto.DRPCAgentClient26 ) error { for { select { case <-a.reportConnectionsUpdate: Expand Down Expand Up @@ -872,7 +872,7 @@ func (a *agent) reportConnection(id uuid.UUID, connectionType proto.Connection_T // fetchServiceBannerLoop fetches the service banner on an interval. It will // not be fetched immediately; the expectation is that it is primed elsewhere // (and must be done before the session actually starts). func (a *agent) fetchServiceBannerLoop(ctx context.Context, aAPI proto.DRPCAgentClient24 ) error { func (a *agent) fetchServiceBannerLoop(ctx context.Context, aAPI proto.DRPCAgentClient26 ) error { ticker := time.NewTicker(a.announcementBannersRefreshInterval) defer ticker.Stop() for { Expand Down Expand Up @@ -925,7 +925,7 @@ func (a *agent) run() (retErr error) { connMan := newAPIConnRoutineManager(a.gracefulCtx, a.hardCtx, a.logger, aAPI, tAPI) connMan.startAgentAPI("init notification banners", gracefulShutdownBehaviorStop, func(ctx context.Context, aAPI proto.DRPCAgentClient24 ) error { func(ctx context.Context, aAPI proto.DRPCAgentClient26 ) error { bannersProto, err := aAPI.GetAnnouncementBanners(ctx, &proto.GetAnnouncementBannersRequest{}) if err != nil { return xerrors.Errorf("fetch service banner: %w", err) Expand All @@ -942,7 +942,7 @@ func (a *agent) run() (retErr error) { // sending logs gets gracefulShutdownBehaviorRemain because we want to send logs generated by // shutdown scripts. connMan.startAgentAPI("send logs", gracefulShutdownBehaviorRemain, func(ctx context.Context, aAPI proto.DRPCAgentClient24 ) error { func(ctx context.Context, aAPI proto.DRPCAgentClient26 ) error { err := a.logSender.SendLoop(ctx, aAPI) if xerrors.Is(err, agentsdk.ErrLogLimitExceeded) { // we don't want this error to tear down the API connection and propagate to the Expand All @@ -961,7 +961,7 @@ func (a *agent) run() (retErr error) { connMan.startAgentAPI("report metadata", gracefulShutdownBehaviorStop, a.reportMetadata) // resources monitor can cease as soon as we start gracefully shutting down. connMan.startAgentAPI("resources monitor", gracefulShutdownBehaviorStop, func(ctx context.Context, aAPI proto.DRPCAgentClient24 ) error { connMan.startAgentAPI("resources monitor", gracefulShutdownBehaviorStop, func(ctx context.Context, aAPI proto.DRPCAgentClient26 ) error { logger := a.logger.Named("resources_monitor") clk := quartz.NewReal() config, err := aAPI.GetResourcesMonitoringConfiguration(ctx, &proto.GetResourcesMonitoringConfigurationRequest{}) Expand Down Expand Up @@ -1008,7 +1008,7 @@ func (a *agent) run() (retErr error) { connMan.startAgentAPI("handle manifest", gracefulShutdownBehaviorStop, a.handleManifest(manifestOK)) connMan.startAgentAPI("app health reporter", gracefulShutdownBehaviorStop, func(ctx context.Context, aAPI proto.DRPCAgentClient24 ) error { func(ctx context.Context, aAPI proto.DRPCAgentClient26 ) error { if err := manifestOK.wait(ctx); err != nil { return xerrors.Errorf("no manifest: %w", err) } Expand Down Expand Up @@ -1041,7 +1041,7 @@ func (a *agent) run() (retErr error) { connMan.startAgentAPI("fetch service banner loop", gracefulShutdownBehaviorStop, a.fetchServiceBannerLoop) connMan.startAgentAPI("stats report loop", gracefulShutdownBehaviorStop, func(ctx context.Context, aAPI proto.DRPCAgentClient24 ) error { connMan.startAgentAPI("stats report loop", gracefulShutdownBehaviorStop, func(ctx context.Context, aAPI proto.DRPCAgentClient26 ) error { if err := networkOK.wait(ctx); err != nil { return xerrors.Errorf("no network: %w", err) } Expand All @@ -1056,8 +1056,8 @@ func (a *agent) run() (retErr error) { } // handleManifest returns a function that fetches and processes the manifest func (a *agent) handleManifest(manifestOK *checkpoint) func(ctx context.Context, aAPI proto.DRPCAgentClient24 ) error { return func(ctx context.Context, aAPI proto.DRPCAgentClient24 ) error { func (a *agent) handleManifest(manifestOK *checkpoint) func(ctx context.Context, aAPI proto.DRPCAgentClient26 ) error { return func(ctx context.Context, aAPI proto.DRPCAgentClient26 ) error { var ( sentResult = false err error Expand Down Expand Up @@ -1187,8 +1187,8 @@ func (a *agent) handleManifest(manifestOK *checkpoint) func(ctx context.Context, // createOrUpdateNetwork waits for the manifest to be set using manifestOK, then creates or updates // the tailnet using the information in the manifest func (a *agent) createOrUpdateNetwork(manifestOK, networkOK *checkpoint) func(context.Context, proto.DRPCAgentClient24 ) error { return func(ctx context.Context, _ proto.DRPCAgentClient24 ) (retErr error) { func (a *agent) createOrUpdateNetwork(manifestOK, networkOK *checkpoint) func(context.Context, proto.DRPCAgentClient26 ) error { return func(ctx context.Context, _ proto.DRPCAgentClient26 ) (retErr error) { if err := manifestOK.wait(ctx); err != nil { return xerrors.Errorf("no manifest: %w", err) } Expand Down Expand Up @@ -1960,7 +1960,7 @@ const ( type apiConnRoutineManager struct { logger slog.Logger aAPI proto.DRPCAgentClient24 aAPI proto.DRPCAgentClient26 tAPI tailnetproto.DRPCTailnetClient24 eg *errgroup.Group stopCtx context.Context Expand All @@ -1969,7 +1969,7 @@ type apiConnRoutineManager struct { func newAPIConnRoutineManager( gracefulCtx, hardCtx context.Context, logger slog.Logger, aAPI proto.DRPCAgentClient24 , tAPI tailnetproto.DRPCTailnetClient24, aAPI proto.DRPCAgentClient26 , tAPI tailnetproto.DRPCTailnetClient24, ) *apiConnRoutineManager { // routines that remain in operation during graceful shutdown use the remainCtx. They'll still // exit if the errgroup hits an error, which usually means a problem with the conn. Expand Down Expand Up @@ -2002,7 +2002,7 @@ func newAPIConnRoutineManager( // but for Tailnet. func (a *apiConnRoutineManager) startAgentAPI( name string, behavior gracefulShutdownBehavior, f func(context.Context, proto.DRPCAgentClient24 ) error, f func(context.Context, proto.DRPCAgentClient26 ) error, ) { logger := a.logger.With(slog.F("name", name)) var ctx context.Context Expand Down