Commit Graph

620 Commits

Author SHA1 Message Date
Jonathan Ho
de148eb6d8 Fix: Add whitespace-pre to log (#2555)
* Add whitespace-pre to log

* fix: use pre-wrap for log lines to preserve formatting
2025-11-22 19:40:09 -05:00
matt
d637c731f7 Fix: use sessionStorage instead of localStorage (#2541) 2025-11-18 14:35:48 -05:00
matt
16b9ae4700 Feat: Initial cross-domain identify setup (#2533)
* feat: initial setup

* fix: factor out

* chore: lint

* fix: xss vuln

* feat: set up properly

* fix: lint

* fix: key

* fix: keys, cleanup
2025-11-18 13:30:37 -05:00
matt
7588746d0b Hotfix: Log dupes (#2526)
* hotfix: log dupes

* fix: copilot
2025-11-14 11:05:35 -05:00
Mohammed Nafees
39c9983405 Archive tenant modal flow (#2509)
* archive tenant modal flow

* PR comments
2025-11-14 12:06:28 +01:00
matt
f14e999a76 Fix: TS & Py versions for log pagination (#2505)
* chore: gen ts

* chore: python

* fix: change default

* chore: regen docs
2025-11-08 10:46:44 +01:00
Jishnu
e82915b626 feat: add pagination support for V1LogLineList (#2354)
* feat: pagination for v1 loglines list

* add: sqlc v1 query for loglines count

* add: generated rest-client changes for python sdk

* refactor: frontend logs UI with pagination elements

* add: ts-sdk logline pagination, py logline list pagination docstring

* feat: add since queryparam for v1logline, add infinitescroll pagination on FE

* add custom polling for logs refresh on FE, remove inefficient default refresh logic

* add since queryparam of v1logline to all rest-clients

* refactor: remove offset query param, add until query param(v1logline)

* remove pagination from v1loglinelist

* fix: inconsistent scroll behaviour, add pagination response schema on v1loglist

* add: infinite scroll behavior for smooth log scrolling; prefetch next page logs in advance

* fix: pagination scroll, when task is running, remove stale pagination data when logs tab inactive

* chore: lint

* chore: lint

---------

Co-authored-by: mrkaye97 <mrkaye97@gmail.com>
2025-11-07 17:38:29 +01:00
Mohammed Nafees
17dc738ae3 update setup for new Go SDK (#2500) 2025-11-06 21:17:14 +01:00
matt
7fe9806f5d Feat: Configurable OLAP status update size limits (#2499)
* feat: configurable status updates

* fix: config

* fix: wiring

* feat: export limits from olap

* fix: param drilling
2025-11-06 13:37:40 -05:00
matt
25776624ea Docs: Dataclasses (#2488)
* feat: dataclass docs

* fix: add min version
2025-11-06 16:04:39 +01:00
StefanBRas
2cebade995 Add SERVER_OTEL_COLLECTOR_AUTH to selfhosting docs (#2497) 2025-11-06 15:48:55 +01:00
Sebastian Graz
32823244c9 Docs: Brand alignment (#2485)
* Add local docs prettier rc

* prettier config

* Add logo + proper color setup

* rm svg ratio

* py version

* Add fonts + fix nextra theming tasks, borders, codeblocks

* push pnpm-lock

* remove nextra.css

* fix: docs cmd

* favicon

---------

Co-authored-by: mrkaye97 <mrkaye97@gmail.com>
2025-11-05 20:14:25 +01:00
Sid Premkumar
469ef4d797 Update frontend onboarding steps (#2478)
* Update frontend onboarding steps

* Update sidebar as well
2025-11-02 08:43:53 -05:00
Mohammed Nafees
b19dc230ed update managed compute regions (#2470) 2025-10-31 00:27:15 +01:00
Mohammed Nafees
91cdb28ddf Logs for liveness and readiness endpoints + PG conn stats (#2460)
* error logs for liveness and readiness endpoints with pg information

* use context timeout of 3 seconds

* context
2025-10-30 14:35:02 +01:00
Mohammed Nafees
56eb054a1e New tenant task stats endpoint (#2433)
* tenant workflow stats endpoint

* not olap but task

* lint

* enable rate limiting on endpoint

* fix SQL query

* spelling

* lesser CTEs

* fix query

* rename to task

* update query

* fix nil pointer

* typed API object

* queues have counts
2025-10-28 16:52:19 +01:00
Sid Premkumar
94a1fb4523 Update contributing.md file to reflect recent updates (#2444)
* Update contributing.md file to reflect recent updates

* PR feedback
2025-10-28 10:19:49 -04:00
Mohammed Nafees
cf5c5989ff add vars to tune concurrency poller (#2428) 2025-10-23 11:36:12 -04:00
matt
c6e154fd03 Feat: OLAP Payloads (#2410)
* feat: olap payloads table

* feat: olap queue messages for payload puts

* feat: wire up writes on task write

* driveby: add + ignore psql-connect

* fix: down migration

* fix: use external id for pk

* fix: insert query

* fix: more external ids

* fix: bit more cleanup

* feat: dags

* fix: the rest of the refs

* fix: placeholder uuid

* fix: write external ids

* feat: wire up messages over the queue

* fix: panic

* Revert "fix: panic"

This reverts commit c0adccf2ea.

* Revert "feat: wire up messages over the queue"

This reverts commit 36f425f3c1.

* fix: rm unused method

* fix: rm more

* fix: rm cruft

* feat: wire up failures

* feat: start wiring up completed events

* fix: more wiring

* fix: finish wiring up completed event payloads

* fix: lint

* feat: start wiring up external ids in the core

* feat: olap pub

* fix: add returning

* fix: wiring

* debug: log lines for pubs

* fix: external id writes

* Revert "debug: log lines for pubs"

This reverts commit fe430840bd.

* fix: rm sample

* debug: rm pub buffer param

* Revert "debug: rm pub buffer param"

This reverts commit b42a5cacbb.

* debug: stuck queries

* debug: more logs

* debug: yet more logs

* fix: rename BulkRetrieve -> Retrieve

* chore: lint

* fix: naming

* fix: conn leak in putpayloads

* fix: revert debug

* Revert "debug: more logs"

This reverts commit 95da7de64f.

* Revert "debug: stuck queries"

This reverts commit 8fda64adc4.

* feat: improve getters, olap getter

* fix: key type

* feat: first pass at pulling olap payloads from the payload store

* fix: start fixing bugs

* fix: start reworking `includePayloads` param

* fix: include payloads wiring

* feat: analyze for payloads

* fix: simplify writes more + write event payloads

* feat: read out event payloads

* feat: env vars for dual writes

* refactor: clean up task prop drilling a bit

* feat: add include payloads params to python for tests

* fix: tx commit

* fix: dual writes

* fix: not null constraint

* fix: one more

* debug: logging

* fix: more debugging, tweak function sig

* fix: function sig

* fix: refs

* debug: more logging

* debug: more logging

* debug: fix condition

* debug: overwrite properly

* fix: revert debug

* fix: rm more drilling

* fix: comments

* fix: partitioning jobs

* chore: ver

* fix: bug, docs

* hack: dummy id and inserted at for payload offloads

* fix: bug

* fix: no need to handle offloads for task event data

* hack: jitter + current ts

* fix: short circuit

* fix: offload payloads in a tx

* fix: uncomment sampling

* fix: don't offload if external store is disabled

* chore: gen sqlc

* fix: migration

* fix: start reworking types

* fix: couple more

* fix: rm unused code

* fix: drill includePayloads down again

* fix: silence annoying error in some cases

* fix: always store payloads

* debug: use workflow run id for input

* fix: improve logging

* debug: logging on retrieve

* debug: task input

* fix: use correct field

* debug: write even null payloads to limit errors

* debug: hide error lines

* fix: quieting more errors

* fix: duplicate example names, remove print lines

* debug: add logging for olap event writes

* hack: immediate event offloads and cutovers

* fix: rm log line

* fix: import

* fix: short circuit events

* fix: duped names
2025-10-20 09:09:49 -04:00
abelanger5
4e729ad9d4 fix: self-hosting doc (#2423) 2025-10-15 17:52:28 -04:00
matt
5b5adcb8ed Feat: Scheduled run detail view, bulk cancel / replay with pagination helper (#2416)
* feat: endpoint for listing external ids

* feat: wire up external id list

* chore: regen api

* feat: py sdk wrapper

* fix: since type

* fix: log

* fix: improve defaults for statuses

* feat: docs

* feat: docs

* fix: rm extra file

* feat: add id column to scheduled runs

* feat: side panel for scheduled runs

* fix: side panel header pinned

* fix: border + padding

* chore: gen

* chore: lint

* chore: changelog, version

* fix: spacing of cols

* fix: empty webhook resource limit

* fix: tsc

* fix: sort organizations and tenants alphabetically
2025-10-15 11:36:45 -04:00
Mohammed Nafees
ddfea53d88 Fix type for hatchet.WithRunMetadata (#2406)
* fix type for hatchet.WithRunMetadata

* edit documentation
2025-10-13 14:26:18 +02:00
Mohammed Nafees
a750ce950d Introduce vars to tune ANALYZE job gocron run intervals (#2407)
* introduce cars to tune ANALYZE job gocron run intervals

* update config doc

* fix assignment
2025-10-10 11:02:10 +02:00
matt
8fd90a29a6 Feat: Pausable Crons (#2395)
* feat: update query, patch route

* feat: api for update

* fix: simplify ui a bit

* feat: wire up fe

* feat: improve copy, spinners

* fix: invert naming to avoid horrible double negative

* fix: improve handling of optional types

* fix: last bits of naming

* feat: persist enabled flag across workflow versions properly

* fix: update spinner
2025-10-08 11:12:14 -04:00
matt
20b465c068 [Docs]: Improve triggering from external services section, fix dependabot vuln (#2393)
* fix: override prismjs version

* fix: confusing inter-service triggering page

* fix: grammar
2025-10-07 11:58:44 -04:00
Mohammed Nafees
cb91f7033d Serve management API swagger docs (#2333)
* serve management API swagger docs

* fix lint
2025-10-02 14:42:26 +02:00
matt
5e3f9615e0 [FE]: Event payload max height, popover positioning (#2367)
* fix: add max height to event payload

* fix: popover positioning

* chore: lint
2025-09-30 15:10:38 -04:00
matt
a5d6603792 fix: disable inner scroll (#2362) 2025-09-29 15:36:45 -04:00
matt
a0afe49c85 [FE]: Worker detail fixes (#2353)
* fix: empty states, padding, spacing between words

* fix: rm ring on button focus

* fix: template literal

* fix: padding on workflow page

* Revert "fix: padding on workflow page"

This reverts commit 71a880010c.
2025-09-29 13:08:44 -04:00
matt
c1e5fa828b FE Polish, VI: Make badges dynamically sized, use slate instead of fuchsia for queued, display ms on dates (#2352)
* fix: rm w-full from badges

* fix: use slate instead of fuchsia for queued

* fix: use `date-funs` to parse + display dates

* fix: worker styling

* debug: redocly

* debug: redocly

* debug: redocly

* debug: redocly

* debug: redocly

* debug: redocly

* feat: direct workflow id getter

* fix: dedupe

* fix: return workflow type

* chore: lint

* chore: lint

* fix: overflow

* fix: include tenant in query for safety
2025-09-26 13:59:06 -04:00
matt
44ea929cbf fix: scope override (#2349) 2025-09-25 23:07:44 -04:00
matt
126ff3771b Fix: Rename metrics queries, always refetch queue metrics, change default refetch interval, configurable WAL poll limit (#2346)
* fix: improve query naming + change refetch interval for queue metrics

* fix: only enable queue metrics query when it's open

* feat: change default

* fix: change storage key to clear cache

* fix: queue metrics loading state

* feat: introduce poll limit with default of 1000

* feat: set WAL poll limit

* debug: log line to test

* fix: export helper

* fix: rm debug
2025-09-25 20:44:39 -04:00
matt
0ee4445bc2 fix: show legacy data (#2344) 2025-09-25 12:19:49 -04:00
matt
d6afe55338 FE Polish V: Searchable workflows, additional metadata tab (#2342)
* feat: search for workflows

* fix: allow fts for workflow name

* feat: add back metadata tab to details

* feat: dynamic copy

* chore: lint
2025-09-25 10:58:48 -04:00
matt
046e47c135 fix: rm event line (#2338) 2025-09-24 17:17:21 -04:00
matt
54a5e50de1 FE Polish, IV: Tooltips, task event scrolling (#2335)
* feat: portal tooltip that's not affected by table overflow

* fix: scrolling task events

* fix: rm cruft

* fix: remove runs table on hover
2025-09-24 16:41:50 -04:00
matt
090d2c60bc FE Polish, III: More state management fixes, worker pages (#2332)
* fix: use pagination hook instead of managing it in runs provider

* feat: fix the rest of the state management logic

* fix: show queue metrics button

* fix: zod for workers

* chore: lint

* fix: copilot

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* fix: copilot

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* fix: copilot

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* fix: remove a bit of vertical padding

* fix: workers table in memory pagination

* feat: improve worker detail page styling

* feat: link to workflows from workers

* chore: lint

* chore: lint

* fix: copy

* fix: rm cruft comments, make badges full width

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-09-24 12:46:52 -04:00
matt
df236cf668 Fix: Rogue effect hook, some more cleanup (#2329)
* fix: remove effect hook

* fix: filter counts

* fix: x mark button
2025-09-23 17:47:49 -04:00
matt
63c644577a Feat: Add error level logs if we fall back to the task input for monitoring (#2328)
* feat: logs on fallback to input from task

* drive-by: couple more status badge colors

* fix: durable sleep matches
2025-09-23 15:48:30 -04:00
matt
99557ea75c Fix: Frontend polish, Part II (#2327)
* fix: api for hiding filters

* fix: remove some unused callbacks

* chore: lint

* fix: reset time window

* fix: rm mandatory title

* fix: clean up side panel header

* fix: improve styling of event keys

* feat: implement zod-based column filters + hooks for crons + scheduled runs tables

* fix: webhook keys

* feat: min side panel width

* feat: improve side panel wrapping

* fix: lint

* fix: more event details styling

* fix: use original run id col

* fix: change options to filters

* feat: improve filter dropdown

* feat: improve handling of tabs when we only show one or the other

* fix: rm lots more duplication

* fix: typos, remove unused params

* fix: prop

* fix: custom time range and time window keys

* fix: lint

* fix: rm more dead code

* fix: more dead code

* fix: shorthand for time window and custom filter

* fix: hidden filters, cancel button copy

* fix: tweak styling of dropdown a bit

* fix: tweak padding

* fix: run status badges

* fix: more colors

* fix: more badge colors
2025-09-23 13:40:55 -04:00
Mohammed Nafees
cf21550502 Update docs to use Go SDK v1 (#2313)
* SDK fixes

* go docs generate

* simple changes

* more docs changes

* bulk docs done

* cancellation example

* concurrency example

* conditional example

* cron example

* dag example

* durable event example

* durable sleep example

* on failure example

* priority example

* rate limit example

* retries example

* run-no-wait example

* on event example

* run with results example

* running your task example

* scheduled runs example

* streaming example

* workers example

* timeouts example

* sticky example

* docker go

* fix lint and build

* update migration doc

* fix lint

* fix some docs

* fix docker mdx

* remove local lint

* go stub example

* make changes

* child spawning

* migration code examples

* fix child workflow example
2025-09-23 19:19:27 +02:00
matt
18615f6de2 Feat: Show statuses of run filters with colors (#2325)
* feat: hover / selected + unselected states to indicate applied filters

* feat: implement the rest of the states

* fix: handle unselect + equality checks properly

* fix: font weight on selected filters
2025-09-22 14:11:32 -04:00
matt
44e1c9b076 Compact toolbar, refetch improvements, table improvements (#2292)
* feat: add refetch interval type

* feat: start working on time filter

* chore: lint

* refactor: switch statement for toolbar exhaustiveness checking

* fix: remove case declarations rule

* feat: allow query strings and scroll to hash in docs

* fix: time filter errors from rt

* fix: remove percentages from metrics to save more horizontal space

* feat: first pass at refetch interval dropdown + provider

* feat: options component that combines filters + col toggles

* fix: naming

* feat: drill metrics into runs table to show side by side

* fix: some top margin above the runs page

* fix: use flex gap instead

* fix: remove metric scroll

* feat: icons for buttons on smaller screens

* fix: separate rows again

* feat: responsiveness to panel drag

* fix: breakpoint impl

* feat: start hacking together single-row toolbar

* feat: more icon-only toolbar opts on small screens

* feat: scroll on overflow

* feat: improve icons

* fix: z index

* fix: spacing

* fix: worker table column keys

* fix: event filter keys

* fix: require type, fix refs

* feat: clean up filters / options ui a bit

* fix: improve styling a bit more

* chore: lint

* fix: overflow

* fix: remove some unneeded row selection

* fix: simplify workflows view

* fix: workflow pagination

* fix: workflows hook, workflows column keys

* fix: hide is declarative by default

* fix: move refetch interval dropdown

* feat: refetch dropdown everywhere, rate limits improvements

* feat: debounced search for rate limits

* feat: initial work on grafana-esque refetch component

* feat: animate properly

* fix: hide refresh text on small screens

* fix: remove refetch buttons, frozen button

* fix: icon

* feat: more refetch interval fixes

* fix: frozen handling

* fix: refetch interval naming

* fix: rm z index from meta

* fix: use refetch interval everywhere

* refactor: clean up w/ shared component

* refactor: shared components, part ii

* fix: text styling

* fix: remove row selection state from a couple of tables

* feat: hook for zod-based column filters

* feat: zod column filters for events

* feat: zod column filters for rate limits

* fix: export run status filters

* feat: start factoring out table actions

* feat: start drilling confirm modal into table

* refactor: factor out the content of the dropdown

* refactor: use dropdown content for cancel / replay confirm

* fix: typing, height

* fix: more state handling for column filters

* fix: make since non-optional

* fix: filter counts

* feat: add reset button

* feat: add reset filters to the other places using Zod

* fix: start removing dead code :partying-face:

* Update data-table-options.tsx

* feat: more dead code

* feat: add min width to filters

* fix: styling, undefined column filters error

* fix: drill workflow down

* fix: filters empty state styling

* fix: add some empty states

* fix: one more

* fix: rm more dead code

* fix: more button padding

* fix: metrics padding consistency
2025-09-21 17:01:32 -04:00
Gabe Ruttner
aec288f65e fix: empty state (#2310) 2025-09-17 17:08:45 -04:00
matt
ef51914f8b Fix: DAG details rendering in side panel, backwards compatible event list API (#2309)
* fix: open side panel from mini map

* feat: backwards compatible-ish event list for v0
2025-09-17 13:37:08 -04:00
Mohammed Nafees
b521521985 Bump pnpm version to 10.16.1 to support minimumReleaseAge (#2308)
* bump pnpm version to support minimumReleaseAge

* use pnpm only in TS SDK scripts
2025-09-17 19:04:59 +02:00
Mohammed Nafees
c027dba449 properly fall back to tenant switcher (#2307) 2025-09-17 18:54:39 +02:00
Mohammed Nafees
6bd7d0ec4a set pnpm minimumReleaseAge to 1 day (#2306) 2025-09-17 14:50:38 +02:00
Mohammed Nafees
da6c23ede4 Allow RabbitMQ to be used with Hatchet Lite (#2128)
* allow rabbitmq to be used with lite

* fix docker image

* fix env vars

* WIP

* fix mq kind selection

* lite specific env vars

* failure check

* changes to logic

* fix failing tests

* fix e2e test
2025-09-16 22:34:53 +02:00
Mohammed Nafees
372bb3b94d add organization (#2299) 2025-09-15 15:42:27 +02:00