* zod ipc connection with acks
* pass sender through to ipc handlers
* bits and bobs
* add host networking back in
* disable verbose logs
* restore after tasks and batches.. almost
* restore and resume all the things
* fix for systems without checkpoint support
* Get deployment indexing errors to work with the new ZodIpc stuff
---------
Co-authored-by: Eric Allam <eallam@icloud.com>
* Add support for deploying to staging and prod
* Abort deployment if environment variables are missing
* Actually do typechecking
* Remove the build command and add a —self-hosted option to the deploy command
* WIP proxy/deploy
* WIP, registry proxy in express working
* A couple of notes, preparing for indexing
* Move the changes to prod-worker into the new file
* Deploy command working with indexing and runs (docker provider only for now)
* Removed ts-expect-error directive
* Fixed build command
* WIP new login page
* Remix meta v2 implemented on the root page
* Added a spinner colour that works on our primary green
* Added new company logos
* Improvements to the login page
* Updated the meta function so the login page is responsive
* Fixed issue with the new logos not colouring correctly
* Login page now nicely responsive
* font size fix
* Spacing improvement
* Improved style of the relative time dropdown
* Fixed viewport meta on login pages
* oranised imports
* improved the Sheet and feedback form
* Text area style update
* Feedback form tweak
* New project copy change: Project type -> Project version
* Runs filters use the correct variant
* Improved the select style
* Inputs now styled like Selects
* Removed login form from storybook
* Popover style tweak
* Popover looks like other filters
* Removed gap from filters and organized imports
* Cleanup
* Organized imports
* Made the inline code block smaller
* Fixed active badge label not being readable
* Fixed hero icon inside the button in the welcome page
* Fixed the filter button variants on the v2 runs page
* Fixed the select styles on the v3 runs page
* Improved the switch
* Fixed the filter styles on the events page
* Run page summary panels look good
---------
Co-authored-by: Matt Aitken <matt@mattaitken.com>
* Added more clipboard variants to storybook and improved styling
* Improvements to the clipboard components
* Code blocks match the design
* Improved the code block styles
* Dialog modal improvements
* Improved the free plan usage bar
* Better alignment of the shortcut icon in the button
* Side menu displays ‘v3’ next to the project header
* Page header improvements
* Project dropdown displays a badge if it’s a v3 project
* billing page now shows message
* Added the v3 badge to the project list page
* version 3 projects skip the select plan onboarding
* Added a new blank state to the runs page
* Conditionally set the blank state on the runs page
* Button padding tweak
* Updated the task and attempt icons
* Added a new blank state to the runs page
* Added more buttons variants to the button storybook
* Added new blank onboarding state for the tasks page
* Added a blank state to the test page
* Fix for bad svg attribute in TaskIcon
* Onboarding tweaks
* Add the projectRef to the init command
* Task icon is blue
* Added a v3 Project settings page
* Fix for typecheck error
* Added the new CodeBlocks with rowTitles to the span panel
---------
Co-authored-by: Matt Aitken <matt@mattaitken.com>
* add zod socket
* start using zod socket
* use zod socket for shared queue
* use shared provider shell
* update k8s provider task ops
* set otlp endpoint
* update docker actions and fix builds
* remove unused types
* update injected secret key env var name
* complete socket.io types to schemas migration
* update env example to new v3 key var
* fix coordinator build
* set task run label
* ensure attempt id is always set
* increase prod worker timeout
* set otlp endpoint for on runs
* pass otlp env var to prod worker
* auto-remove completed index jobs
* Initial work creating the Redis publishing and subscribing
* Live view is working
* Show the live reloading status on the page
* Fixed some style issues on the run page with James
* Fix for invalid JSX attributes in the ExitIcon svg
* Some sexy shit
* The end line is now correctly coloured
* millisecondsToNanoseconds exported from core/v3 and imported correctly
* Fix for e2e tests, we changed the h1 to an h2
* Tidied imports
* Removed unused hook
* Added the new colours to the Tailwind config
* Fixed Tsailwind compile errors
* WIP Geist working in the app
* WIP Storybook
* Storybook is working again… ouch
* Use Geist mono for CodeMirror
* Some find/replace class changes
* Resizable colours improved
* WIP on primary button
* Minor style improvements
* Improve the side menu header styling
* Improved v2 breadcrumbs
* Account side menu tweaks
* The page now works with the NavBar and UpgradePrompt
* Removed unused import
* Refactored the buttons to be dry-er
* Removed the breadcrumbs
* WIP on nav bar
* WIP updating the button styles
* Fix for the old test page
* Fix for type errors
* Removed console.log
* Colour change in the resizable handle
* New loading bar divider
* Removed the design plugin
* Creating our own storybook pages
* Added some “storybook” pages
* Added DetailCell storybook
* WIP new animation for the loading page
* Added the new loading divider
* Fix for the time frame filter having a green border
* Style improvements to the new test page
* Small style improvements
* Improvements to the list pagination components
* Nav bar back button improved
* Improvements to the run page
* Lots of v2 style improvements
* Help looks better
* Improvements to the regenerate API key modal
* More general improvements
* Added section titles to our storybook
* Added form stories
* Fix for missing key prop
* Loading bar is working
* Fixed button submitting state
* Fix for the test button icon
* Code bg improved
* Improved oauth buttons
* Integration page header fix
* Various improvements, mainly changing button variants
* Segmented control style updates
* Added an outline of 3px for the segment control
* Fixes for the billing pages
* More pricing improvements
* Added dialog to storybook
* Typography now in storybook
* Free usage bar added to storybook
* Added inline clode to storybook
* Separated menu types into a sub section in storybook
* NamedIcon now in storybook
* Added page header to storybook
* Added pricing callout to storybook
* Added radio groups to storybook
* Added segmented controllers to storybook
* Added shortcuts to storybook
* Added switches to storybook
* Added toast to storybook
* Added tooltips to storybook
* Added tree view to storybook
* Added usage charts to storybook
* Tarted up the environment variables page
* Fix for the FreePlanUsage panel bg colours
* Added new badge variants
* Added the <TaskPath /> to the tasks table
* Span header improvements
* Started work on the timeline
* Started work on the timeline
* Fix for the run page header
* Timeline tick marks are working
* Timeline working
* Got the durations showing on hover
* Button improvements
* Experimenting with how the duration should be shown
* Lots of refinements to the timeline
* Much nicer API for the Timeline
* The switch is now purple to match the design, with inverted thumb when on
* Removed old stuff
* Export the props
* Added the span with duration back in
* Simplified more and fixed the span durations
* Put in some decent dummy data
* Rendering defaults
* Wip with the mouse cursor
* Improvements to the story
* Added Slider primitive
* Integrated the icons into the slider
* Lots of layout improvements
* Cleaned up imports
* “Root” indicator
* Animated background on partials
* Pull the styles through to the spans and log dots
* Fixed some bugs in the TreeView when nodes get created or destroyed
* Fix for incorrect parentTask reference
* Added run streaming endpoint for live refreshing
* Added the tabs to Storybook
* Fix for status font size mismatch
* Fix for the misaligned run filter status
* Set a minimum duration on the timeline
* The TreeView now re-calculates if the number of nodes has changed
* Partials now render to the end
* Improved the durations gutter
* The duration is calculated using the current time if there are partial events
* Added the environment label to storybook
* Improved the environment label style
* Removed bottom margin from badge
* Button style improvements
* Callouts style fits the new design better
* Got the scrollbars to appear on the tree/timeline
* Added scroll support
* Synced scrolling working
* Close button and exit icon for the detail panel
* secure field shows start of env
* Clipboard improvements
* Latest lockfile
* Fix for the durations wrapping
---------
Co-authored-by: James Ritchie <james@jamesritchie.co.uk>
* WIP no bundling
* Convert dev CLI to use an unbundled build process to support otel instrumentation
* Fix pnpm lock file
* A couple of fixes to get typechecking to work
* Show runs as cancelled when killing the dev CLI
* Fixed error when waiting for a task
* Deprecated workers will no longer be able to run unlocked task runs
* Fixed selecting the latest background worker version in test list
* Don’t propogate trace context when triggering an async task
Also add batch id to the context and the task events
* Added isTest to TaskRun
* TriggerTaskService now accepts isTest and adds it to TaskRun if set
* Set the cliVersion and sdkVersion when indexing
* Added a test page
* Radio buttons are now circles and accept a ReactNode
* The background of the code editor is now darker
* WIP on the test task page
* Improvements to the test page
* Testing is working
* Fix typo
* Show the real isTest value in the runs table
* Added a key to the outlet so it correctly resets all the state on the sub-route
* New API keys page working
* Added EnvironmentVariable and EnvironmentVariableValue tables
* Environment variables presenter and repository started
* Icon now accepts a ReactNode as well
* The create form is working
* Improvements to validation
* Getting all the environment variables is working
* Editing an env var working
* Fix for deleting a value from an env var
* Separate route for adding new env vars. Works with “Save and add another”
* Editing is working properly, and revealing all values
* Deleting env vars
* Get environment variables with the environment id
* Added th env vars count to the Environment variables page
* Removed the commented out old Env & API keys side menu item
* Fix imports in ClipboardField
* Added a storybook page for all the variants of input fields
* Upgraded Tailwind for the :has selector
* Fix for the edit button not filling the width
* Reworked the input fields so they work with a variable width icon on the left
* Improvements to the new env var modal
* Improve the style of the edit environment variable panel
* Fix for when Input is type=“text”
* Icon now works with FunctionComponents and ComponentTypes properly
* Removed a console log
* Removed unused imports
* Use a const schema for SecretValue
* Added friendlyId to EnvironmentVariable
* WIP
* retry.fetch w/intercepting to test
* Fixed the incorrect renaming of limit to maxAttempts in v2
* Fixed source map support in dev
* Cleanup background worker files once they close
* Support for batch triggers
* Various trace fixes and improvements
* Moved trace into the logger, fixed span cardinality issues with waits and triggers
* Add support for attaching a debugger in dev with —debugger flag
* WIP on saving the resized state in a cookie
* Progress on remembering the panel width
* The resizable panel now remembers even when closed
* Improvements to the span panel
* Hide integrations in the v3 side menu
* Added “UTC” to the times
* WIP changing how styles work
* Reference unflattenAttributes from the package
* Unflatten now correctly unflattens arrays
* Unflatten typecheck fix
* Improvements to the spans and UI for them
* Added the “events” to a span, including special styling for errors
* Unflatten doesn’t work on an array of Attributes
* Added ProjectVersion to projects, defaults to V2
* Moved v3Enabled to the existing feature flags
* Update to using the v3Enabled feature flag
* Allow people to choose v3 when creating a new project
* Added version to the ProjectPresenter
* v2 project and v3 project redirecting
* .env.example for the v3-catalog
* Added sdkVersion and cliVersion columns to the BackgroundWorker table
* Added additional classes for environments
* First draft of the Tasks table
* Link to the task page
* V3 side menu project items
* Moved the ListPagination component into the components folder
* Moved the TaskListPresenter to a v3 folder
* Bare bones task page with tabs
* Task page, we’re going to delete this though
* Bare bones runs table working
* Rejigged the columns
* The run table status
* Environment and status filtering working
* Added time filters
* Cursor and direction is working… I think it’s tricky to know for sure
* Added TaskRun numbers
* Selecting a task now links to the runs page with filters turned on
* Added support for the enqueued status
* Reworked the task table
* Link to the task and environment runs
* The run page is rendering a tree of the events
* Change the task table column to “Created at"
* WIP on making the run tree view look good
* Improvements to the run tree
* Removed the janky scroll bar flash
* Change the title of the task logs to just the task ID
* Live timer when a span is running
* Added “Show parent items” link
* Fixed the bug jumping to parent items
* Style improvements to the run
* Added the resizable handle to the run page
* Moved formatDuration to core/v3
* Wait for now has nice log messages
* The run detail panel is working with just a title for now
* Navigating to a span and persisting between page reloads is working
* The run detail timeline
* Wrap log dates in a paragraph
* Latest span detail view
* Scrolling in the right-hand panel
* Tweak default resizable layout for the run page
* Attempted improvements to stop a recursive issue on TreeView
* TreeView useReducer WIP
* Changed the change callback
* Add changes to the state
* Use the new onSelectedIdChanged in the app
* Don’t update the state from the outside
* Filtering fix, although navigation doesn’t work nicely
* Filtering working when changing the content and clearing it
* Don’t allow the same selectedId callback to be called twice…
* useDebounce hook
* Switch from using defer to just typedjson for now
* Latest attempt at span navigation
* Removed log
* Turn off filtering for now, it’s causing the Links to break somehow
* Fix for page height issue
* Added (Developer Preview) to the v3 project select box
* Revert "Filtering working when changing the content and clearing it"
This reverts commit 20d9fbe36ded619e9d3eb0b23d4ed0568a88a615.
# Conflicts:
# apps/webapp/app/components/primitives/TreeView/TreeView.tsx
* Switch to using the old filtering
* Added useThrottle hook
* Instantly close the panel when deselecting a node, use debounce when navigating to a span
* Better spacing in the right hand panel
* Comment out the v3 side menu pages that don’t exist yet
* Fix for typecheck fail
* Clear the statuses too
* Introducing Modular Asynchronous Reliable Queueing System (MarQS). Works in dev
* Convert MarQS to using lua and dealing with concurrency
* Simplified the timeout queue and current concurrency is now a set instead of a flat value (to support idempotency)
* Implement task heartbeating and reconnect the background workers CLI when the websocket connection reconnects
* Start adding internal telemetry support for the server
* Get env vars to work in dev and implement prisma tracing in webapp
* Cleanup telemetry and implement it in the consumer
* Implement dequeuing a message from a parent shared queue
* Implement a custom logger exporter instead of using console log exporter
* Use node instead of shell for generating protocol buffer code
* Propogate trace context into debug logs, and allow turning off logger exporter through env vars
* Switch to using baselime for internal otel data
* Make orgMember optional to fix type issues
* Provide the CLI dev env vars through the CLI, don’t build dotenv into facade
* Removed the logger import
* Address Matt’s comments
* Addressing more of Matt’s comments
* Handle sending an execution after a websocket connection closes
* Remove auth from the env attributes to prevent obfuscation
* WIP creating a TreeView component
* Very simple tree displaying
* WIP on TreeView types
* The state is computing properly
* Improved the state and types
* Virtualized rendering
* Added state inside the useTreeState hook
* Selection working
* Deselecting nodes
* Toggle selection
* Expanding/collapsing nodes
* Get notifications when changes are made
* Only try show the visible items
* Experiment to try getting cell animations working
* Renamed hook to useTree
* Keyboard navigation is working
* Proper focus support
* Nice selection of the parent by pressing left
* End selects the last visible node
* Showing how the TreeView can accept a selected id and expanded ids from the outside
* The useTree hook now uses selectedId and collapsedIds to make it easier to use
* Check the inputs are valid before applying them, ignore if they’re not
* Don’t allow a selected node to be hidden by collapsed parents
* Nicer API for the onChange callback
* Supports animated collapsing of the tree view
* Nice smooth scrolling
* Removed logs
* Removed unused key
* Remove intricate estimation
* StandardTreeView has lots of good defaults baked in
* Allow passing of parent class name in
* Work on scrolling to the node… needs a bit of a reshuffle
* Just make the TreeView better rather than adding StandardTreeView
* Renamed rowVirtualizer to virtualizer
* Move the virrtualizer into the hook
* Scrolling to selection is working
* Added filtering
* If you have an org with no projects, it displays in the project dropdown with a “New project” button
* When creating a new org disable the button whilst it’s doing the request
* If an org already had any deleted projects it couldn’t be deleted…
* When selecting the best project, factor in deleted ones
* Don’t show the cancel button when creating a new org if there are no non-deleted projects
* If a project has already been deleted just return
* Added the org settings page to the sidebar
* Added loading states when renaming/deleting projects
* Don’t show deleted orgs in the app
* The actual db migration file
* The Org settings page with the actions working
* Don’t remove org members, just leave them
* Don’t show invites from orgs that are deleted
* Allow disabling IntegrationConnections
* Don’t refresh IntegrationConnections that are disabled
* Set all the integrations as disabled
* Updated the unsubscribe checkbox text
* Unsubscribe route
* Use the magic link secret, not the encryption key. Also make the error message more vague
* Only members of the org or project can rename them
* Don’t throw an error if the connection can’t be refreshed, return undefined instead