Ruben Fiszel
0c204b69bd
fix: optimize slow list_assets query for recents loading ( #8103 )
...
* fix: optimize slow list_assets query with covering index and v2_job join fix
Add a covering index on asset(workspace_id, path, kind, created_at DESC, id DESC)
with INCLUDE(usage_kind, usage_path) to enable index-only scans for the CTE aggregation.
Fix v2_job join to cast asset.usage_path::uuid instead of job.id::text, allowing
PostgreSQL to use the job_pkey primary key index instead of seq scanning the entire table.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
* fix: drop redundant asset indexes subsumed by new covering index
idx_asset_workspace_created_id and idx_asset_kind_path are fully covered
by the new idx_asset_ws_path_kind_recent + the primary key. Verified all
asset table queries still have optimal index coverage. Reduces write
amplification on inserts.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
---------
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-26 00:39:15 +01:00
Diego Imbert
9b28c85469
feat: Unified filters and new runs page ( #8027 )
...
* RunsPage redesign v0
* nit
* Remove manualdatepicker
* remove shadow
* ui nits
* nit scrollbar bg
* prettier cards
* nit
* Remove code
* command/meta multi select
* Shift select
* RightClickPopover
* nit
* Ctrl A
* nit card
* DropdownMenu
* nit
* count hint
* fix stuck keys
* opacity UX
* error toasts pickhubscript
* Improve UX
* fix undefined error
* keyboard nav
* nit batch rerun fixes
* nit fix scroll / height
* Batch reruns actions + nits
* nit
* Cancel selected jobs
* Cancel / re-run all filtered jobs
* Go to job / flow / script action
* nit
* add batch actions back
* nit
* nit
* bar on splitpane hover
* nit
* New Timeframe system
* reset btn
* nit fixes
* dead code
* nits
* typecheck
* naming clarity
* Update frontend/src/lib/components/RightClickPopover.svelte
Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
* unnecessary json stringify
* dedup 'the'
* Code deletion to prepare for changes
* filter types
* ui
* fix bug with maxTs
* stuck with melt
* GenericDropdown
* filters onclick
* iterate
* iter
* add all filters
* Descriptions
* focus position
* stash
* TaggedTextInput works much much better
* placeholder
* currentTag suggestion
* improve
* nit
* Keyboard nav
* buildRunsFilterSearchbarSchema
* nit naming
* assignObjInPlace
* Escaping + pretty dates
* nit empty
* fix cursor
* nit space
* Filter filtering
* escape pasted value
* nit
* escape spaces
* nit undefined
* add space at end if right arrow
* escape all spaces
* arrow skips escape chars
* escape \ too
* delete whole escaped characters
* double space to escape tag
* code refactor
* Ensure cursor visible
* fix keyboard nav
* safety
* filterSchemaRecToZodSchema
* URL Sync
* fix readonly
* fix typing
* start replacing old filter logic
* use new filter impl
* nit
* nit reactivity
* nit fix
* no more localStorage
* Add back status and kind toggles
* Nit fix
* style nit
* focus at end on click
* clearn btn + fixes
* fix broken date uri
* nit
* useSyncedTimeframe
* negative filter button
* negative filters helpers rust
* Negated filters backed
* nit
* highlight
* New useSearchParams
* Accept comma separated list
* nit allowNegative
* openapi update
* Fix trigger kind list/negation not working
* nit oipenpai
* Presets
* DebouncedTempValue
* remove presets from list when already applied
* UI nit improvements
* allowMultiple
* hint
* validateFilterInstance fn
* nit fix
* error highlights
* nit ux selecting negative list
* nit
* on clear btn
* SimpleEditor for JSON
* nit
* flop
* Pass presets as param
* nit delete
* preventCursorMoveOnNextSync
* responsive layout
* Escape \n
* Inline calendar input
* mm/dd or dd/mm depending on US or not
* onClickBehavior
* infiniteRange
* other nits
* Wiring with runs filter
* formatDateRange better
* inits on right page
* style
* min hour support
* Time input
* use our components
* Improve SKILL.md
* dd mm yyyy numeric input
* TimeframeSelect with new date picker
* fixes
* ensure date is in view when value changes externally
* fixes
* nit select all on focus
* select year + nits
* nit layout shift
* nit negative when starting with !
* nit
* SelectDropdown uses GenericDropdown now
* Fix blank select dropdown rendering bug
* icons
* Reset btn + shorter date range formatting
* overflow fix
* unnecessary absolute
* fix clear btn overlap
* Update routes for new filters (assets, schedule, resource, variables)
* update openapi
* Impl for other pages
* ui nits
* nit fixes
* Fix columns filter
* super nits
---------
Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
2026-02-23 17:53:09 +00:00
Ruben Fiszel
e26e437dd1
refactor: extract 12 leaf crates from windmill-api ( #7899 )
...
* feat(backend): extract 12 leaf crates from windmill-api to improve incremental compilation
Extract independent modules from windmill-api (90k LOC monolith) into
separate leaf crates to reduce incremental compilation times. Modules
extracted: assets, configs, debug, flow-conversations, inputs,
npm-proxy, openapi, schedule, settings, workers, agent-workers, and
alerting (from windmill-common).
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
* fix: add windmill-api-settings dep to root crate, make ee_oss public
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
* test: add agent_workers integration tests
8 tests covering agent worker lifecycle:
- Simple script execution (bun)
- Script with arguments
- Script with logs (verified in job_logs table)
- Script failure handling
- Complex result (nested objects/arrays)
- Agent token creation via API
- Token creation + Initial/MainLoop ping cycle
- Multiple sequential job execution
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
* all
---------
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-11 10:31:03 +00:00