diff --git a/pkg/cluster/bridge.go b/pkg/cluster/bridge.go index eadcbd29df..f0978f91e2 100644 --- a/pkg/cluster/bridge.go +++ b/pkg/cluster/bridge.go @@ -107,8 +107,8 @@ func (c *gossipCluster) promoteToBridge() { c.mu.Lock() if c.closing.Load() { c.mu.Unlock() - wanList.Leave(5 * time.Second) //nolint:errcheck - wanList.Shutdown() //nolint:errcheck + wanList.Leave(5 * time.Second) //nolint:errcheck + wanList.Shutdown() //nolint:errcheck return } diff --git a/web/apps/dashboard/app/(app)/[workspaceSlug]/logs/components/controls/components/logs-filters/components/paths-filter.tsx b/web/apps/dashboard/app/(app)/[workspaceSlug]/logs/components/controls/components/logs-filters/components/paths-filter.tsx index 9d2e0b7429..1e28bf2176 100644 --- a/web/apps/dashboard/app/(app)/[workspaceSlug]/logs/components/controls/components/logs-filters/components/paths-filter.tsx +++ b/web/apps/dashboard/app/(app)/[workspaceSlug]/logs/components/controls/components/logs-filters/components/paths-filter.tsx @@ -1,10 +1,15 @@ import { useFilters } from "@/app/(app)/[workspaceSlug]/logs/hooks/use-filters"; import { FilterOperatorInput } from "@/components/logs/filter-operator-input"; +import { logsFilterFieldConfig } from "@/lib/schemas/logs.filter.schema"; export const PathsFilter = () => { const { filters, updateFilters } = useFilters(); - const options = [{ id: "contains" as const, label: "contains" }]; + const pathOperators = logsFilterFieldConfig.paths.operators; + const options = pathOperators.map((op) => ({ + id: op, + label: op, + })); const activePathFilter = filters.find((f) => f.field === "paths"); @@ -14,14 +19,14 @@ export const PathsFilter = () => { options={options} defaultOption={activePathFilter?.operator} defaultText={activePathFilter?.value as string} - onApply={(_, text) => { + onApply={(id, text) => { const activeFiltersWithoutPaths = filters.filter((f) => f.field !== "paths"); updateFilters([ ...activeFiltersWithoutPaths, { field: "paths", id: crypto.randomUUID(), - operator: "contains", + operator: id, value: text, }, ]); diff --git a/web/apps/dashboard/app/(app)/[workspaceSlug]/logs/hooks/use-filters.ts b/web/apps/dashboard/app/(app)/[workspaceSlug]/logs/hooks/use-filters.ts index 7f8d722706..8135103b2c 100644 --- a/web/apps/dashboard/app/(app)/[workspaceSlug]/logs/hooks/use-filters.ts +++ b/web/apps/dashboard/app/(app)/[workspaceSlug]/logs/hooks/use-filters.ts @@ -13,7 +13,12 @@ import { import { parseAsInteger, useQueryStates } from "nuqs"; import { useCallback, useMemo } from "react"; -const parseAsFilterValArray = parseAsFilterValueArray(["is", "contains"]); +const parseAsFilterValArray = parseAsFilterValueArray([ + "is", + "contains", + "startsWith", + "endsWith", +]); export const queryParamsPayload = { requestId: parseAsFilterValArray, host: parseAsFilterValArray,