* Migrate to Vite
* Continue work on vite migration
* More environment fixes
* Add CSP headers to dev server
* Remove react-scripts
* Shim process.env
* Cleanup
* Create ESLint failure for CI test
* create vite-plugins package
* Update nodeJS
* Make eslint warnings fail build
* Remove trailing empty line in nvmrc
* Match package.json with nvmrc
* Fix eslint test breakage
* Revert node upgrade
* Remove setupProxy script
* Change default API endpoints to be http
* improve some types
* improve further
* clean up a bit more
* refactor loading state
* move loading state up
* remove isLoading references
* remove unused props and make fetch connector error work
* remove special component for name
* remove top level state for unifinished flows
* start removing uiwidget
* Update airbyte-webapp/src/views/Connector/ConnectorCard/ConnectorCard.module.scss
Co-authored-by: Tim Roes <tim@airbyte.io>
* remove undefined option for selected id
* remove unused prop
* fix types
* remove uiwidget state
* clean up
* adjust comment
* handle errors in a nice way
* do not respect default on oneOf fields
* rename to formblock
* reduce re-renders
* pass error to secure inputs
* simplify and improve styling
* align top
* code review
* remove comment
* review comments
* rename file
* be strict about boolean values
* add example
* track form error in error boundary
* review comments
* handle unexpected cases better
* enrich error with connector id
* 🪟🎉 Add copy stream button (#20577)
* add copy stream button
* review comments
* rename prop
* 🪟🎉 Connector builder: Integrate connector form for test input (#20385)
* move connector builder components into the same shared components/connectorBuilder directory
* move diff over from poc branch
* save current progress
* add modal for adding streams
* focus stream after adding and reset button style
* add reset confirm modal and select view on add
* style global config and streams buttons
* styling improvements
* handle long stream names better
* pull in connector manifest schema directly
* add box shadows to resizable panels
* upgrade orval and use connector manifest schema directly
* remove airbyte protocol from connector builder api spec
* generate python models from openapi change
* fix position of yaml toggle
* handle no stream case with better looking message
* group global fields into single object and fix console error
* confirmation modal on toggling dirty form + cleanup
* fix connector name display
* undo change to manifest schema
* remove commented code
* remove unnecessary change
* fix spacing
* use shadow mixin for connector img
* add comment about connector img
* change onSubmit to no-op
* remove console log
* clean up styling
* simplify sidebar to remove StreamSelectButton component
* swap colors of toggle
* move FormikPatch to src/core/form
* move types up to connectorBuilder/ level
* use grid display for ui yaml toggle button
* use spread instead of setting array index directly
* add intl in missing places
* pull connector manifest schema in through separate openapi spec
* use correct intl string id
* throttle setting json manifest in yaml editor
* use button prop instead of manually styling
* consolidate AddStreamButton styles
* fix sidebar flex styles
* use specific flex properties instead of flex
* clean up download and reset button styles
* use row-reverse for yaml editor download button
* fix stream selector styles to remove margins
* give connector setup guide panel same corner and shadow styles
* remove blur from page display
* set view to stream when selected in test panel
* add placeholder when stream name is empty
* switch to index-based stream selection to preserve testing panel selected stream on rename
* handle empty name in stream selector
* make connector form work in connector builder
* fix small stuff
* add warning label
* review comments
* adjust translation
Co-authored-by: lmossman <lake@airbyte.io>
* use request_body_json instead of request_body_data
* 🪟🎨 Move `Add` button into the line of Connector Builder key value list fields (#20699)
* move add button into line
* add stories for empty with control, and content + control
* change button name to Control
* 🪟🎉 Connector builder: Allow defining inputs (#20431)
* move connector builder components into the same shared components/connectorBuilder directory
* move diff over from poc branch
* save current progress
* add modal for adding streams
* focus stream after adding and reset button style
* add reset confirm modal and select view on add
* style global config and streams buttons
* styling improvements
* handle long stream names better
* pull in connector manifest schema directly
* add box shadows to resizable panels
* upgrade orval and use connector manifest schema directly
* remove airbyte protocol from connector builder api spec
* generate python models from openapi change
* fix position of yaml toggle
* handle no stream case with better looking message
* group global fields into single object and fix console error
* confirmation modal on toggling dirty form + cleanup
* fix connector name display
* undo change to manifest schema
* remove commented code
* remove unnecessary change
* fix spacing
* use shadow mixin for connector img
* add comment about connector img
* change onSubmit to no-op
* remove console log
* clean up styling
* simplify sidebar to remove StreamSelectButton component
* swap colors of toggle
* move FormikPatch to src/core/form
* move types up to connectorBuilder/ level
* use grid display for ui yaml toggle button
* use spread instead of setting array index directly
* add intl in missing places
* pull connector manifest schema in through separate openapi spec
* use correct intl string id
* throttle setting json manifest in yaml editor
* use button prop instead of manually styling
* consolidate AddStreamButton styles
* fix sidebar flex styles
* use specific flex properties instead of flex
* clean up download and reset button styles
* use row-reverse for yaml editor download button
* fix stream selector styles to remove margins
* give connector setup guide panel same corner and shadow styles
* remove blur from page display
* set view to stream when selected in test panel
* add placeholder when stream name is empty
* switch to index-based stream selection to preserve testing panel selected stream on rename
* handle empty name in stream selector
* make connector form work in connector builder
* wip
* fix small stuff
* add basic input UI
* user inputs
* make most of inputs configuration work
* fix a bunch of stuff
* handle unknown config types
* add warning label
* fix label
* fix some styling
* review comments
* improve state management and error handling
* handle stored form values that don't contain new fields properly
* Update airbyte-webapp/src/locales/en.json
Co-authored-by: Lake Mossman <lake@airbyte.io>
* Update airbyte-webapp/src/components/connectorBuilder/Builder/InputsView.tsx
Co-authored-by: Lake Mossman <lake@airbyte.io>
* inputs editing weirdness
* input form reset
* using the Label component
* 🪟🎉 Connector builder authentication (#20645)
* allow auth configuration
* check for conflicts with the inferred inputs
* fix invisible inputs
* reduce redundancy and hide advanced input options for inferred inputs
* unnecessary validation
* typo
* unnecessary effect hook
* build spec even for invalid forms but do not update stream list
* fix keys
* 🪟🎉 Connector builder: Session token and oauth authentication (#20712)
* session token and oauth authentication
* fill in session token variable
* typos
* make sure validation error does not go away
* 🪟🎉 Connector builder: Always validate inputs form (#20664)
* validate user input outside of form
* review comments
Co-authored-by: lmossman <lake@airbyte.io>
Co-authored-by: lmossman <lake@airbyte.io>
* fix merge conflict with dropdown prop being renamed to control
* [Connector Builder] Add paginator (#20698)
* move connector builder components into the same shared components/connectorBuilder directory
* move diff over from poc branch
* save current progress
* add modal for adding streams
* focus stream after adding and reset button style
* add reset confirm modal and select view on add
* style global config and streams buttons
* styling improvements
* handle long stream names better
* pull in connector manifest schema directly
* add box shadows to resizable panels
* upgrade orval and use connector manifest schema directly
* remove airbyte protocol from connector builder api spec
* generate python models from openapi change
* fix position of yaml toggle
* handle no stream case with better looking message
* group global fields into single object and fix console error
* confirmation modal on toggling dirty form + cleanup
* fix connector name display
* undo change to manifest schema
* remove commented code
* remove unnecessary change
* fix spacing
* use shadow mixin for connector img
* add comment about connector img
* change onSubmit to no-op
* remove console log
* clean up styling
* simplify sidebar to remove StreamSelectButton component
* swap colors of toggle
* move FormikPatch to src/core/form
* move types up to connectorBuilder/ level
* use grid display for ui yaml toggle button
* use spread instead of setting array index directly
* add intl in missing places
* pull connector manifest schema in through separate openapi spec
* use correct intl string id
* throttle setting json manifest in yaml editor
* use button prop instead of manually styling
* consolidate AddStreamButton styles
* fix sidebar flex styles
* use specific flex properties instead of flex
* clean up download and reset button styles
* use row-reverse for yaml editor download button
* fix stream selector styles to remove margins
* give connector setup guide panel same corner and shadow styles
* remove blur from page display
* set view to stream when selected in test panel
* add placeholder when stream name is empty
* switch to index-based stream selection to preserve testing panel selected stream on rename
* handle empty name in stream selector
* make connector form work in connector builder
* wip
* fix small stuff
* add basic input UI
* user inputs
* make most of inputs configuration work
* fix a bunch of stuff
* handle unknown config types
* add warning label
* fix label
* fix some styling
* review comments
* improve state management and error handling
* allow auth configuration
* check for conflicts with the inferred inputs
* fix invisible inputs
* handle stored form values that don't contain new fields properly
* session token and oauth authentication
* fill in session token variable
* fix merge of default values
* add primaryKey and cursorField to builder types, and consolidate default valeues to types.ts
* add cursor and primary key fields to ui
* save
* add page size and token option inputs
* fixes after rebase
* add pagination
* fix pagination types
* handle empty field_name better
* Update airbyte-webapp/src/locales/en.json
Co-authored-by: Lake Mossman <lake@airbyte.io>
* Update airbyte-webapp/src/components/connectorBuilder/Builder/InputsView.tsx
Co-authored-by: Lake Mossman <lake@airbyte.io>
* inputs editing weirdness
* input form reset
* using the Label component
* reduce redundancy and hide advanced input options for inferred inputs
* unnecessary validation
* typo
* unnecessary effect hook
* build spec even for invalid forms but do not update stream list
* typos
* make sure validation error does not go away
* make primary key and cursor optional, and reorder
* save toggle group progress
* fix style of toggle label
* handle empty values better
* fix page size/token option field validation and rendering
* handle cursor pagination page size option correctly
Co-authored-by: Joe Reuter <joe@airbyte.io>
* [Connector Builder] Add stream slicer (#20748)
* move connector builder components into the same shared components/connectorBuilder directory
* move diff over from poc branch
* save current progress
* add modal for adding streams
* focus stream after adding and reset button style
* add reset confirm modal and select view on add
* style global config and streams buttons
* styling improvements
* handle long stream names better
* pull in connector manifest schema directly
* add box shadows to resizable panels
* upgrade orval and use connector manifest schema directly
* remove airbyte protocol from connector builder api spec
* generate python models from openapi change
* fix position of yaml toggle
* handle no stream case with better looking message
* group global fields into single object and fix console error
* confirmation modal on toggling dirty form + cleanup
* fix connector name display
* undo change to manifest schema
* remove commented code
* remove unnecessary change
* fix spacing
* use shadow mixin for connector img
* add comment about connector img
* change onSubmit to no-op
* remove console log
* clean up styling
* simplify sidebar to remove StreamSelectButton component
* swap colors of toggle
* move FormikPatch to src/core/form
* move types up to connectorBuilder/ level
* use grid display for ui yaml toggle button
* use spread instead of setting array index directly
* add intl in missing places
* pull connector manifest schema in through separate openapi spec
* use correct intl string id
* throttle setting json manifest in yaml editor
* use button prop instead of manually styling
* consolidate AddStreamButton styles
* fix sidebar flex styles
* use specific flex properties instead of flex
* clean up download and reset button styles
* use row-reverse for yaml editor download button
* fix stream selector styles to remove margins
* give connector setup guide panel same corner and shadow styles
* remove blur from page display
* set view to stream when selected in test panel
* add placeholder when stream name is empty
* switch to index-based stream selection to preserve testing panel selected stream on rename
* handle empty name in stream selector
* make connector form work in connector builder
* wip
* fix small stuff
* add basic input UI
* user inputs
* make most of inputs configuration work
* fix a bunch of stuff
* handle unknown config types
* add warning label
* fix label
* fix some styling
* review comments
* improve state management and error handling
* allow auth configuration
* check for conflicts with the inferred inputs
* fix invisible inputs
* handle stored form values that don't contain new fields properly
* session token and oauth authentication
* fill in session token variable
* fix merge of default values
* add primaryKey and cursorField to builder types, and consolidate default valeues to types.ts
* add cursor and primary key fields to ui
* save
* add page size and token option inputs
* fixes after rebase
* add pagination
* fix pagination types
* handle empty field_name better
* Update airbyte-webapp/src/locales/en.json
Co-authored-by: Lake Mossman <lake@airbyte.io>
* Update airbyte-webapp/src/components/connectorBuilder/Builder/InputsView.tsx
Co-authored-by: Lake Mossman <lake@airbyte.io>
* inputs editing weirdness
* input form reset
* using the Label component
* reduce redundancy and hide advanced input options for inferred inputs
* unnecessary validation
* typo
* unnecessary effect hook
* build spec even for invalid forms but do not update stream list
* typos
* make sure validation error does not go away
* make primary key and cursor optional, and reorder
* save toggle group progress
* fix style of toggle label
* handle empty values better
* fix page size/token option field validation and rendering
* handle cursor pagination page size option correctly
* save stream slicer progress
* finish stream slicer
* fix stream slicer fields and validation
Co-authored-by: Joe Reuter <joe@airbyte.io>
* debounce form builder values update to reduce load
* 🪟🔧 Connector builder: use new lowcode manifest (#20715)
* use new manifest yaml
* Update airbyte-webapp/src/components/connectorBuilder/types.ts
Co-authored-by: Lake Mossman <lake@airbyte.io>
* use updated manifest types
Co-authored-by: Lake Mossman <lake@airbyte.io>
* add substream slicer
* add substream and cartesian slicer
* debounce validation as well
* akways show stream test button in error state if there are errors
* fix type of oauth input
* add validation schema for add stream form
* validate all views on test click
* add type to prevent console warning
* do not allow path for substream slicer request option
* do not show request option for substream slicer
* rewrite stream slice field tooltip
Co-authored-by: Tim Roes <tim@airbyte.io>
Co-authored-by: lmossman <lake@airbyte.io>
* move all stream details table related components to separate folder;
create the first version of table powered by current implementation of react-table;
* init a copy of existing <Table /> component - <NextTable />
* fixed calc error
* first implementation of NextTable:
- use css modules instead of styled cmp
- extracted base table styles
- remove props used just for styling(customPadding, light, etc.)
- no typings
* remove StreamDetailsHeader
* updated StreamFieldsTable
* fix typings error
* update NextTable cells classnames
* remove last styled component from NextTable
* add base tests for NextTable component
* remove comments
* replace "any" type with "unknown" where possible
* add react-table v8 package
* update NextTable component
* update NextTable component
* extend react-table ColumnMeta interface
* update StreamFieldsTable component
* update NextTable tests
* update NextTable storybook
* fixed crashed StreamConnectionHeader during connection creation
* replace useConnectionEditService with useConnectionFormService hook
* remove getIcon wrap function and combine all parts in separate component
* update styles
* extract common logic to separate function
* fix performance
* fix not capitalized table header cell
* fix checkbox style issue
* make thead sticky by default
* fix not scrollable table
* fixed top bar overflow during scrolling table
* fix top bar overflow during scrolling table - second try
* fix hidden cursor and pk columns
* fix hidden cursor and pk columns
* fix PR comments: replace css values with variables
* remove unnecessary hook dependencies
* fix relative import component path
* add space around panel;
add 100px top gap height
* fix arrow color
* align table padding with toggle
* add ArrowRight icon from design
replace faArrowRight with ArrowRight
* move NextTable component to ui folder
* move StreamDetailsPanel component to separate folder
* move StreamPanelHeader component to separate folder
* remove obsolete DetailsPanel components
* move all DetailsPanel related components to separate folder
* fix when no namespace
* fixed details panel header sync mode label
* fix relative import path
* move react-table.d.ts to src/types
* remove fake destination data type column
* add FormattedMessage to ConnectorHeaderGroupIcon
* fix StreamPanelHeader style to match Figma
* change td color from grey-100 to grey-50
fix relative path
* temporary remove @tanstack/react-table package
* add @tanstack/react-table back to package.json
* fix cross icon color
fix items alignment in flex container
* upgrade orval and use connector manifest schema directly
* remove airbyte protocol from connector builder api spec
* generate python models from openapi change
Uses basic bash variable substitution syntax to define `frontend-dev` as
a default value for `$AB_ENV` instead of hardcoded; tested and working
in bash, zsh, and fish shells.
To specify different environments:
```sh
# `$AB_ENV` is the default value, `"frontend-dev"`
npm run start:cloud
# `$AB_ENV` is the user-supplied value, `"dev-2"`; expects a corresponding `.env.dev-2` file to exist
AB_ENV=dev-2 npm run start:cloud
```
* [SPIKE] add Builder page with editor
* add YamlEditor component
* export colors from CSS
* move template into dedicated file
* fix initial load from local storage
* move download button into separate component
* fix stylelint
* remove console log
* add todo
* make monaco background transparent and apply gradient to parent div background
* clarify comment
* remove unnecessary 180deg
* lock the builder UI behind a feature
* use rgb instead of hex to fix stylelint
* use _colors.scss and disable hex length stylelint rule
* disable rule in file
* generify ConnectorDocumentationLayout into TwoPanelLayout
* use TwoPanelLayout for BuilderPage
* add darker gradient color to _colors.scss and use in gradient
* move /builder to /connector-builder
* rename TwoPanelLayout to ResizablePanels
* put gradient on parent container instead
* make lightOverlay actually overlay instead of un-rendering children
* add testing panel component and stream selector
* fix rotated text
* fix more styling
* remove unnecessary comment
* add starting flex to right panel
* replace react-select dropdown with headless-ui listbox
* add test controls and fix button icon styling
* add Configure Test Input button and modal
* add connector builder client
* move connector builder state into dedicated context
* fix bold prop in Text component to not throw error
* pass parsed yaml->json into query
* store config in connector builder state context
* add result display
* fix styles of result display
* move config menu into testing panel
* capitalize stream names
* undo changes to Text component, since that is being addressed in a separate PR
* fix more merge issues and fix generated schema usage
* capitalize header
* remove console log
* rename data to streamRead
* fix stylelint and use variables
* use another variable for spacing
* use stream name in state data object
* add paginator component
* save progress on result display
* generify stream selector and add slice selector
* add page display with tabs
* fix scrolling and add logic to make mocking results easier
* make mocks more unique
* wire up slice selector to content shown
* improve placeholder text style
* add gap in page display
* make controlled component and fix mocks
* move tab titles into intl
* fix typo
* move placeholder into intl
* update listbox and paginator to be more generic
* clean up paginator styles
* undo change to App.tsx
* cleanup
* use intl for slice label fallback
* remove manifest and config from react-query keys to prevent losing results when editing yaml
* switch to functional style for generic components
* [SPIKE] add Builder page with editor
* add YamlEditor component
* export colors from CSS
* move template into dedicated file
* fix initial load from local storage
* move download button into separate component
* fix stylelint
* remove console log
* add todo
* make monaco background transparent and apply gradient to parent div background
* clarify comment
* remove unnecessary 180deg
* lock the builder UI behind a feature
* use rgb instead of hex to fix stylelint
* use _colors.scss and disable hex length stylelint rule
* disable rule in file
* generify ConnectorDocumentationLayout into TwoPanelLayout
* use TwoPanelLayout for BuilderPage
* add darker gradient color to _colors.scss and use in gradient
* move /builder to /connector-builder
* rename TwoPanelLayout to ResizablePanels
* put gradient on parent container instead
* make lightOverlay actually overlay instead of un-rendering children
* add testing panel component and stream selector
* fix rotated text
* fix more styling
* remove unnecessary comment
* add starting flex to right panel
* replace react-select dropdown with headless-ui listbox
* add test controls and fix button icon styling
* add Configure Test Input button and modal
* add connector builder client
* move connector builder state into dedicated context
* fix bold prop in Text component to not throw error
* pass parsed yaml->json into query
* store config in connector builder state context
* add result display
* fix styles of result display
* move config menu into testing panel
* capitalize stream names
* undo changes to Text component, since that is being addressed in a separate PR
* fix more merge issues and fix generated schema usage
* capitalize header
* remove console log
* rename data to streamRead
* fix stylelint and use variables
* use another variable for spacing
* use stream name in state data object
* move ConnectorBuilderStateProvider into ConnectorBuilderPage
* fix sizing of modal
* fix styling of active stream selector option
* Update airbyte-webapp/src/components/StreamTestingPanel/ResultDisplay.tsx
Co-authored-by: Tim Roes <tim@airbyte.io>
* Update airbyte-webapp/src/components/StreamTestingPanel/ResultDisplay.tsx
Co-authored-by: Tim Roes <tim@airbyte.io>
* hide result display panel if no data
* remove button specificity styling hacks, use size prop instead
* Update airbyte-webapp/src/components/StreamTestingPanel/StreamSelector.tsx
Co-authored-by: Tim Roes <tim@airbyte.io>
* change logs to errors
Co-authored-by: Tim Roes <tim@airbyte.io>
* Add support for Datadog Real User Monitoring (RUM)
* Move sentry init to its own util
* loadDatadogRum -> initDatadogRum
* Move comment back to app index
* Lazy load Sentry and Datadog
* Update version value for Datadog to match Sentry
* Switch process.env with window for sentry and datadog init
* Remove import optimizations from Sentry and Datadog
* Update Inter font styles to import variable version
* Rename regular SCSS font var to primary
* Remove non-standard css rule, add public to pre-commit linting