* v3: Dynamically import superjson and fix some bundling issues
* Added changeset
* Better error handling in the registry proxy and catch uncaught exceptions and unhandled promise rejections instead of crashing the server
* Await the prettyPrintPackage
* add and use machine config
* assign tasks to worker nodes only
* add secure flag to zod connection
* changeset
* add pre stop hook
* don't use secure connection by default
* pass more identifiers to provider and apply labels
* Add missing API keys docs and link from the web app to them. Renamed Server API keys to Secret keys
* Correct link to env var docs
* Duplicate image fixed on environment variables docs
* superjson output support
* Better support for superjson in the task events, limiting output attributes
* Offload large outputs to object store (r2)
* Finishing up the offloading of large outputs/payloads to an object store
* Adding a changeset for v3
* Add a version field to @trigger.dev/core-apps package.json
* Build trigger.dev when doing a prerelease
* bundle @trigger.dev/core-apps with trigger.dev cli
* Fix the init command config template
* Don’t use * for the @trigger.dev/core dep version specifier
* strip workspace: from the package version before installing it
* Added dependenciesToBundle config option to bundle ESM only packages
* Added logging around resolving dependency paths
* Try again
* Resolve dependencies based on the project dir first
* flip the bundled default
* Adding some logs around dev task completion notifications
* Adding some additional logs
* Add more logs
* Write out the log using process.stdout
* Store pending completion notifications and resume them when awaited (fixes race condition)
* Cleanup some of the logs
* Copy over the postinstall step from the projects package.json
* Add support for including additional files when deploying (e.g. prisma schema)
* Don’t run scripts when resolving deps
* copy all the files just in case anything is needed in postinstall
* Remove duplicate option
* Use the tag when outputting the dev command
* Remove the postinstall script
* add the trigger dir to the config if the default is not chosen
* Remove the “hud” display in the dev command
* trigger file names with dashes now work
* Better file watching in dev
* Much better duplicate ID experience now
* Much better “Project not found” error
* Export the handleError function types from sdk
* Add support for configuring instrumentation
* Upgrade and unify @opentelemetry/* packages (and remove storybook from the webapp)
* Fix typescript error in react package
* Upgrade react types in webapp
* Allow span icons to be determined based on the span name (e.g. prisma:)
* Ignore built-in env vars when checking for env vars, and allow continuing the deployment even if missing env vars were detected
* Improve the retry.fetch default behavior and option structure
* Fixed typescript errors with packages/email react types
* Update the retry.fetch docs
* Trying to use the @upstash/ratelimit package with ioredis…
* WIP using the redis package instead
* Revert the action back
* Removed redis
* Started refactoring
* SQS setting for the poll interval. Set the default queue reading to be slower
* API rate limiter as Express middleware
* Organise imports
* Fixed spelling mistake “limitter”
* No authorization header response is problem+json
* add checkpoint restore events
* fix retries.enabledInDev
* fix tsconfig paths
* fix provider build and dev
* update kubernetes provider and fix builds again
* upgrade prod base to node 20
* update infra publish workflow
* rethrow k8s errors after logging
* shorten index container names
* fix error type assertion
* rename type assertion
* remove resource limits for now
* add missing run id on create
* add push to deploy command for self-hosting
* checkpointing fixes
* update coordinator image
* ensure valid registry login
* delete checkpoint archive after successful push
* log options on error
* structured logs for socket connections
* fix structured log merge
* exit process after checkpointing
* update restore pull secret name
* append shortcode to restore names
* log handler payload
* disable post start lifecycle hook
* pass in coordinator host via volume
* replace dapi with taskinfo
* add missing restore label
* don't restart restored containers
* remove init container from create
* atomic post-completion checkpoints
* switch to run id for container names
* improve wait accuracy
* measure basic checkpoint perf
* always log disconnect reason
* use system clock to end wait spans
* checkpoint readiness and cancel signals
* restore from checkpoint events and fix statuses
* remove attempt id env var
* restore dependencies from events
* reconnect wip
* lifecycle hooks are back
* fix hooks and improve reconnect
* make docker send postStart hook
* only checkpoint for retry if large delay
* fix a few more resume issues
* lifecycle hook fixes
* skip connection handler when waiting for post start hook
---------
Co-authored-by: Eric Allam <eric@trigger.dev>
* v3 projects can only be created if the org has permissions to do it
* Admin page
* Removed unused classes
* Admin org page, with links between user and org pages
* Set v3 enabled or not
- Time out deployments to prevent never-ending building/deploying
- Use the CURRENT worker deployment when determining which version to execute
- Fix some of the deployment error handling logic
* Removed feedback button from PageHeader
* Show a different feedback button in the side menu for v3 projects
* Fixed issue with button wrapping on smaller width browser
* Adding a v3 feedback button top-right
* Changed paused to frozen for attempts
* Reordered and renamed run statuses
* Dropdown status menu shows tool tips on hover
* Added a new DP feedback button in the header
* Created a more useful feedback sheet
* Added loading bar animation to storybook
* Switch the integration page to point at the “feature” help instead of “integration” which has been removed
---------
Co-authored-by: Matt Aitken <matt@mattaitken.com>
* DevPubSub: use the schema that’s already been defined
* Publish a message to projectPubSub when a new DEV worker is created
* Live reloading of the tasks table (for dev tasks)
* Live notifications for deployed workers as well as local workers
* Store startTime in nanoseconds since epoch, ensure logs using nanosecond precision for their timestamp (so they are not out of order)
* export task events immediately in dev
* Use “@v3” instead of “@latest” for the npx commands for v3
* Split the Timeline into a component so it can live refresh without re-rendering everything
* Timeline now live refreshes on the client every 500ms when run is executing
* The timeline bars now animate their position/width when it changes
* Export some more types from TreeView
* The vertical lines in the run tree view are now brighter
* Blank state when you click a task with no runs
* Canceling from the runs table
* Fix for styles coming through incorrectly to properties
* Fix for the OTEL output column having a $output prefix if it’s an object
* Tasks get the SHOW_ACTIONS property
* Override properties with the passed in ones in eventRepository
* Link from deployments to environment variables page, no need to link to docs
* “Show parent items” keeps the selected item selected
* LinkButton can accept onMouseDown, onMouseEnter and onMouseLeave
* “Show parent items” keeps any items focused and has a keyboard shortcut
* Action bar with focus button
* Canceling is working
* Nicer layout and button loading and disabled state
* US english spelling “Cancelling” -> “Canceling”
* Added a confirm modal to canceling
* Copy tweaks
* Fix for bad import
---------
Co-authored-by: Eric Allam <eric@trigger.dev>
* fix basic resume mechanics
* fix dependency resume
* fix deploy page sort
* remove task list console log
* checkpoint restore between attempts
* add checkpoint requirement checks to docker provider
* switch to raw execa for long statements
* catch and report pre-connection index errors
* graceful worker shutdown after completion
* fix final completion
* use same task process for each attempt
* update retry catalog entry
* add immediate return task
---------
Co-authored-by: Eric Allam <eric@trigger.dev>
* Adding telemetry to the deploy command
* Add ability to opt-out of telemetry in the CLI
* Remove log
* Unifying some telemetry stuff and adding it to the login command
* init command
* Remove extra trigger dirs
* Couple tweaks to the init CLI
* Don’t use npm init -y to create the package.json file
* Tasks get the SHOW_ACTIONS property
* Override properties with the passed in ones in eventRepository
* Link from deployments to environment variables page, no need to link to docs
* “Show parent items” keeps the selected item selected
* LinkButton can accept onMouseDown, onMouseEnter and onMouseLeave
* “Show parent items” keeps any items focused and has a keyboard shortcut
* Action bar with focus button
* Canceling is working
* Nicer layout and button loading and disabled state
* US english spelling “Cancelling” -> “Canceling”
* Set the “current” deployment in WorkerDeploymentPromotion when a new deployment is completed
* Deployments page added to sidenav
* Basic deployments page working
* Pagination for deployments
* Right-align the pagination controls
* Improved the blank state
* Selected deployment panel
* Improved the side panel
* Using the new run status instead of run attempt status
* The test page now uses the TaskRunStatus as well
* Organized imports
* Use TaskRun icons instead of attempt ones
* 10x zoom on the run timeline