From 8ca1f686bd7d495322a36b5260ce7a303505d8b9 Mon Sep 17 00:00:00 2001 From: Peter Stone Date: Wed, 15 Jul 2026 02:13:28 +0000 Subject: chore: remove dead code (unused atom constants, orphaned handler) - SourceMeal/TypeMeal (AtomSource/AtomType): leftover from the removed MealToAtom conversion (b2d8fc4); zero references anywhere else. - HandleGetSourceOptions: never registered as a route, and its own test comment already noted "may fail if template not found, which is acceptable" -- the settings-source-options template it rendered doesn't exist in web/templates/ at all. Fully unreachable/broken, not just unused. go build/vet/test all clean, no behavior change for anything reachable. Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_01VTUSAEKfsPc6WGDq45yPHD --- internal/handlers/handlers_test.go | 42 -------------------------------------- internal/handlers/settings.go | 22 -------------------- internal/models/atom.go | 2 -- 3 files changed, 66 deletions(-) diff --git a/internal/handlers/handlers_test.go b/internal/handlers/handlers_test.go index 1f66378..d16c7cf 100644 --- a/internal/handlers/handlers_test.go +++ b/internal/handlers/handlers_test.go @@ -1343,48 +1343,6 @@ func TestHandleToggleSourceConfig_MissingFields(t *testing.T) { } } -func TestHandleGetSourceOptions(t *testing.T) { - h, cleanup := setupTestHandler(t) - defer cleanup() - - // Create source configs - _ = h.store.SyncSourceConfigs("trello", "board", []models.SourceConfig{ - {Source: "trello", ItemType: "board", ItemID: "board1", ItemName: "Board 1"}, - {Source: "trello", ItemType: "board", ItemID: "board2", ItemName: "Board 2"}, - }) - - req := httptest.NewRequest("GET", "/settings/source/trello", nil) - rctx := chi.NewRouteContext() - rctx.URLParams.Add("source", "trello") - req = req.WithContext(context.WithValue(req.Context(), chi.RouteCtxKey, rctx)) - - w := httptest.NewRecorder() - - h.HandleGetSourceOptions(w, req) - - // May fail if template not found, which is acceptable in test - if w.Code != http.StatusOK && w.Code != http.StatusInternalServerError { - t.Errorf("Expected status 200 or 500, got %d", w.Code) - } -} - -func TestHandleGetSourceOptions_MissingSource(t *testing.T) { - h, cleanup := setupTestHandler(t) - defer cleanup() - - req := httptest.NewRequest("GET", "/settings/source/", nil) - rctx := chi.NewRouteContext() - req = req.WithContext(context.WithValue(req.Context(), chi.RouteCtxKey, rctx)) - - w := httptest.NewRecorder() - - h.HandleGetSourceOptions(w, req) - - if w.Code != http.StatusBadRequest { - t.Errorf("Expected status 400, got %d", w.Code) - } -} - // mockTrelloClientWithBoards returns mock boards type mockTrelloClientWithBoards struct { mockTrelloClient diff --git a/internal/handlers/settings.go b/internal/handlers/settings.go index dc345db..28988b1 100644 --- a/internal/handlers/settings.go +++ b/internal/handlers/settings.go @@ -154,28 +154,6 @@ func (h *Handler) HandleToggleSourceConfig(w http.ResponseWriter, r *http.Reques json.NewEncoder(w).Encode(map[string]bool{"enabled": enabled}) } -// HandleGetSourceOptions returns available options for a source (HTMX partial) -func (h *Handler) HandleGetSourceOptions(w http.ResponseWriter, r *http.Request) { - source := chi.URLParam(r, "source") - if source == "" { - JSONError(w, http.StatusBadRequest, "Source required", nil) - return - } - - configs, err := h.store.GetSourceConfigsBySource(source) - if err != nil { - JSONError(w, http.StatusInternalServerError, "Failed to load configs", err) - return - } - - data := struct { - Source string - Configs []models.SourceConfig - }{source, configs} - - HTMLResponse(w, h.renderer, "settings-source-options", data) -} - // HandleToggleFeature toggles a feature flag func (h *Handler) HandleToggleFeature(w http.ResponseWriter, r *http.Request) { name, ok := requireFormValue(w, r, "name") diff --git a/internal/models/atom.go b/internal/models/atom.go index 9f40de6..21d30a6 100644 --- a/internal/models/atom.go +++ b/internal/models/atom.go @@ -10,7 +10,6 @@ type AtomSource string const ( SourceTrello AtomSource = "trello" - SourceMeal AtomSource = "plantoeat" SourceGTasks AtomSource = "gtasks" SourceClaudomator AtomSource = "claudomator" SourceDoot AtomSource = "doot" @@ -20,7 +19,6 @@ type AtomType string const ( TypeTask AtomType = "task" - TypeMeal AtomType = "meal" ) // Atom represents a unified unit of work or information -- cgit v1.2.3