Skip to content

Commit cc609cb

Browse files
fix(site): display tasks link when no templates contain an AI task (#19184)
Fixes #19059 This change ensures we always show the "Tasks" link, even when a deployment doesn't yet have a tasks template set up.
1 parent 760dc8b commit cc609cb

File tree

9 files changed

+7
-65
lines changed

9 files changed

+7
-65
lines changed

coderd/database/dbauthz/dbauthz.go

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3617,11 +3617,6 @@ func (q *querier) GetWorkspacesEligibleForTransition(ctx context.Context, now ti
36173617
return q.db.GetWorkspacesEligibleForTransition(ctx, now)
36183618
}
36193619

3620-
func (q *querier) HasTemplateVersionsWithAITask(ctx context.Context) (bool, error) {
3621-
// Anyone can call HasTemplateVersionsWithAITask.
3622-
return q.db.HasTemplateVersionsWithAITask(ctx)
3623-
}
3624-
36253620
func (q *querier) InsertAPIKey(ctx context.Context, arg database.InsertAPIKeyParams) (database.APIKey, error) {
36263621
return insert(q.log, q.auth,
36273622
rbac.ResourceApiKey.WithOwner(arg.UserID.String()),

coderd/database/dbauthz/dbauthz_test.go

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4826,9 +4826,6 @@ func (s *MethodTestSuite) TestSystemFunctions() {
48264826
})
48274827
check.Args(j.ID).Asserts(v.RBACObject(tpl), policy.ActionRead).Returns(j)
48284828
}))
4829-
s.Run("HasTemplateVersionsWithAITask", s.Subtest(func(db database.Store, check *expects) {
4830-
check.Args().Asserts()
4831-
}))
48324829
}
48334830

48344831
func (s *MethodTestSuite) TestNotifications() {

coderd/database/dbmetrics/querymetrics.go

Lines changed: 0 additions & 7 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

coderd/database/dbmock/dbmock.go

Lines changed: 0 additions & 15 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

coderd/database/querier.go

Lines changed: 0 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

coderd/database/queries.sql.go

Lines changed: 0 additions & 12 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

coderd/database/queries/templateversions.sql

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -234,7 +234,3 @@ FROM
234234
WHERE
235235
template_versions.id IN (archived_versions.id)
236236
RETURNING template_versions.id;
237-
238-
-- name: HasTemplateVersionsWithAITask :one
239-
-- Determines if the template versions table has any rows with has_ai_task = TRUE.
240-
SELECT EXISTS (SELECT 1 FROM template_versions WHERE has_ai_task = TRUE);

site/site.go

Lines changed: 1 addition & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -448,7 +448,6 @@ func (h *Handler) renderHTMLWithState(r *http.Request, filePath string, state ht
448448
var user database.User
449449
var themePreference string
450450
var terminalFont string
451-
var tasksTabVisible bool
452451
orgIDs := []uuid.UUID{}
453452
eg.Go(func() error {
454453
var err error
@@ -484,20 +483,6 @@ func (h *Handler) renderHTMLWithState(r *http.Request, filePath string, state ht
484483
orgIDs = memberIDs[0].OrganizationIDs
485484
return err
486485
})
487-
eg.Go(func() error {
488-
// If HideAITasks is true, force hide the tasks tab
489-
if h.opts.HideAITasks {
490-
tasksTabVisible = false
491-
return nil
492-
}
493-
494-
hasAITask, err := h.opts.Database.HasTemplateVersionsWithAITask(ctx)
495-
if err != nil {
496-
return err
497-
}
498-
tasksTabVisible = hasAITask
499-
return nil
500-
})
501486
err := eg.Wait()
502487
if err == nil {
503488
var wg sync.WaitGroup
@@ -571,7 +556,7 @@ func (h *Handler) renderHTMLWithState(r *http.Request, filePath string, state ht
571556
wg.Add(1)
572557
go func() {
573558
defer wg.Done()
574-
tasksTabVisible, err := json.Marshal(tasksTabVisible)
559+
tasksTabVisible, err := json.Marshal(!h.opts.HideAITasks)
575560
if err == nil {
576561
state.TasksTabVisible = html.EscapeString(string(tasksTabVisible))
577562
}

site/src/pages/TasksPage/TasksPage.tsx

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import { AvatarData } from "components/Avatar/AvatarData";
1313
import { AvatarDataSkeleton } from "components/Avatar/AvatarDataSkeleton";
1414
import { Button } from "components/Button/Button";
1515
import { displayError } from "components/GlobalSnackbar/utils";
16+
import { Link } from "components/Link/Link";
1617
import { Margins } from "components/Margins/Margins";
1718
import {
1819
PageHeader,
@@ -60,6 +61,7 @@ import { Helmet } from "react-helmet-async";
6061
import { useMutation, useQuery, useQueryClient } from "react-query";
6162
import { Link as RouterLink, useNavigate } from "react-router-dom";
6263
import TextareaAutosize from "react-textarea-autosize";
64+
import { docs } from "utils/docs";
6365
import { pageTitle } from "utils/page";
6466
import { relativeTime } from "utils/time";
6567
import { type UserOption, UsersCombobox } from "./UsersCombobox";
@@ -139,7 +141,10 @@ const NoTemplatesPlaceholder: FC = () => {
139141
No Task templates found
140142
</h3>
141143
<span className="text-content-secondary text-sm">
142-
Create a Task template to get started
144+
<Link href={docs("/ai-coder/tasks")} target="_blank" rel="noreferrer">
145+
Learn about Tasks
146+
</Link>{" "}
147+
to get started.
143148
</span>
144149
</div>
145150
</div>

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy