Fixes URL formatting for dbt cloud integration. Note, without a trailing / the dbt Cloud API returns a 308.
Some other small fixes:
- Retries around the dbt Cloud invocation
- Updates the regex to handle the new URL format.
* Add lightly-styled ui for dbt cloud settings
* Add CollapsablePanel component
* Add CollapsablePanel around url input, MVP styling
To get the styling to work, I needed to edit `LabeledInput` to accept
a `className` prop, so I could give it contextually-specific styling.
* Add new feature flag for dbt cloud integration
This feature isn't added to either OSS or cloud builds; it will be
dynamically toggled for specific targeted accounts via LaunchDarkly's
`featureService.overwrites` key.
* Put settings page dbt cloud ui behind feature flag
* Add feature-flagged CloudTransformationsCard
* Extract (and rename) DbtCloudTransformationsCard
* Extract EmptyTransformationList component
* List transformations if any, "no integration" UI
This still uses some hardcoded conditions instead of anything resembling
actual data
* Initial UI for cloud transform jobs
* Use formik-backed inputs for job list data fields
* Improve job list management with FieldArray et al
* WIP: build payload to save job data as operations
There's some key data missing and it's not currently wired up
* Start pulling dbt cloud business logic to its own module
* Renaming pass (s/transformation/job/g)
* Move more logic into dbt service module
* Renaming pass (s/project/account/)
* Improve useDbtIntegration hook
* Add skeleton of updateWorkspace fn
* Connect pages to actual backend (no new jobs tho)
* Add hacky initial add new job implementation
* Put the whole dbt cloud card inside FieldArray
This dramatically simplifies adding to the list of jobs.
* Fix button placement, loss of focus on input
Never use the input prop in your component key, kids.
* re-extract DbtJobsList component
* Add input labels for dbt cloud job list
* Validate dbt cloud jobs so bad data doesn't crash the party
* Fix typo
* Improve dirty form tracking for dbt jobs list
* Remove unused input, add loading state to dbt cloud settings view
* Handle no integration, dirty states in dbt jobs list
Co-authored-by: Alex Birdsall <ambirdsall@gmail.com>
* normalization field to scss and remove mode
* remove instances of mode and connection being passed
* connectionsettingstab tests pass
* fix validation on blur/validation on change
* redo broken snapshot
* add validateOnBlur back
* cleanup, migrate transformation tab to scss modules
* update snapshot after rebase
* update snapshot
* WIP add creatable
* appease the compiler
* working on it
* more work
* adding and removing tags works
* handle delimiters
* component works, testing WIP
* mostly working, add tests
* cleanup tests
* styling of tag items
* note to self
* cleanup
* cleanup some more, delete old components
* update style exports and render method
* taginput into a describe block
* find the tag input in service form tests
* cleanup
* use simplified queryselector
* Update airbyte-webapp/src/components/ui/TagInput/TagInput.module.scss
Co-authored-by: Vladimir <volodymyr.s.petrov@globallogic.com>
Co-authored-by: Vladimir <volodymyr.s.petrov@globallogic.com>
* [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
* add darker gradient color to _colors.scss and use in gradient
* move /builder to /connector-builder
* restructure folders
* remove Feature for connector builder to simplify development process
* 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
* Add InviteUsersModalService and migrate UserSettingsView to use it
* Add InviteUsersHint component and show in create source/destination pages
* Update InviteUsersHint to use Text component and spacing variables
* Add experiments for showing invite user hint
Move cloud settings paths to its own file
* Update Invite hint to lazy load with suspense
* Fix invite user modal experiment names and add unit test
* Rename CloudInviteUsersHint component file
* Add notification when users are invited
* Fix copy and remove plural form of invite success dialog
* Show invite users hint in connector create form page
* Fix stylelint issue in InviteUsersHint
* Fix access management path in InviteUsersHint
* Fix button text in UserSettingsView
* Fix linkToUsersPage type in experiments iface
* Cleanup code
* Cleanup scss path in InviteUsersHint.module
* update InviteUsersHint layout to be consistent with or without button
* Work started
* Minor cleanup
* Some cleanup
* Lots moved into context
* WIP, stepping in the right direction
* WIP testing
* Post-merge fix
* Observables!
* WIP tests
* Tests!
* CI test
* CI?
* perhaps
* Only show name field during create
* Fix Build
* Fix build
* Fixing a bug
* Fix failing test
* Fixes e2e
* Type consolidation
* useCallback, improvements to connection create onAfter, and removing dirty tracking
* cleanup
* Removing an unused prop
* errorStatusMessage and mapFormPropsToOperation tests
* useUniqueFormId and useInitialValues tests
* Cleanup, onFrequencySelect is moved to its use location, better test wrapper, and expanding use of FormError
* Better formSubmit handling for new connection
* Commenting and some cleanup
* Comments!
* Fixing errors from the merge
* mock data cleanup
* Better TODO
* onFrequencySelect is now always called
* Edmundo CR
* Remove whitespace
* Move connection into state so it gets updated
* Consolidate on connection object
* Remove ModalCancel throw + form clearing in create submit function
* Some cleanup
* Fixing error
* Fixing build error
* Rename file
* Bridging changes to bring things inline
* Builds and tests run
* replication view almost works as expected
* About to embark on another huge change! Committing here before I break more things.
* slowly, unity
* Code appears to be working
* Some minor cleanup
* Form dirty change tracking
* WIP styling moving and fixing
* skip refresh on update if status !== active
* Fixing styles
* Minor
* More cleanup and improvements
* Rename CreateConnectionContent -> CreateConnection
* refreshSchema moved into the connection form service
* Re-add TODO
* schemaErrorStatus => schemaError
* CreateConnectionName -> CreateConnectionNameField
* Logic for readonly vs edit
* Added TODO, fixed a re-initialize issue
* Remove unused ConnectionForm component
* Improved refresh schema logic
* undoing some of the cancel work as it felt like the wrong place to do it
* No longer need to know if the status is updating, that info is available from the form edit context
* Move close modal & confirmation modal logic to where it's used
* Remove unnecessary useUnmount
* Cleanup and removal of unused
* Somehow missed removing this
* Fixing failing test
* Added missing initialvalues logic. Added connection form service tests.
* Connection Edit tests!
* connection replication test pt 1
* Moving files to make master merge easier
* Remove snapshot
* non-default export
* Remove unused
* Minor improvements
* Edmundo CR.
* name now optional for connection editing
* Schema refresh errors handled on connection replication view
* schema refreshing logic, confirm catalog dialog abstraction
* CreateConnection -> CreateConnectionForm
* form config test cleanup
* connection replication tab tests
* Create Connection Form Tests
* Better jest mocking!
* Fixing issue setting schedule type to manual
* Tests fixed, and test-utils is better!
* Changing back to Once
* Fixing build from master merge
* Updating snapshots. If these change a lot it may be worth altering the tests to avoid snapshots.
* Edmundo & Lake Code Review Comments
* Tim CR
* Fixing a styling issue
* ?? is less clever than I thought
* Form change tracking has been improved to not leave dirty forms around. As well as it has been moved into ConnectionFormFields for DRY purposes
* Update airbyte-webapp/src/hooks/services/ConnectionForm/ConnectionFormService.tsx
Co-authored-by: Lake Mossman <lake@airbyte.io>
* Update airbyte-webapp/src/hooks/services/ConnectionEdit/ConnectionEditService.test.tsx
Co-authored-by: Lake Mossman <lake@airbyte.io>
* Update airbyte-webapp/src/pages/ConnectionPage/pages/ConnectionItemPage/ConnectionReplicationTab.tsx
Co-authored-by: Lake Mossman <lake@airbyte.io>
* DRY out tests
* remove unknowns and fix mocked hook to be patch-style (#17698)
Co-authored-by: Krishna (kc) Glick <krishna@airbyte.io>
* Self-CR
* idk why this was an issue but whatever
* Update airbyte-webapp/src/hooks/services/ConnectionForm/ConnectionFormService.test.tsx
Co-authored-by: Teal Larson <LARSON.TEAL@GMAIL.COM>
* Update airbyte-webapp/src/hooks/services/ConnectionEdit/ConnectionEditService.test.tsx
Co-authored-by: Teal Larson <LARSON.TEAL@GMAIL.COM>
Co-authored-by: Lake Mossman <lake@airbyte.io>
Co-authored-by: tealjulia <teal@airbyte.io>
Co-authored-by: Teal Larson <LARSON.TEAL@GMAIL.COM>
* update segment schedule frequency calls to include cron string, unify return value format
* remove unused frequencyType prop
* cleanup
* rename and move util
* Add SecretTextArea component
* Add TextInputContainer to manage the look and feel of inputs and text area
* Update multiline + secret controls to use it
* Fix SecretTextArea story
* Add .fs-exclude class to SecretTextArea and Password input
* Use scss color
* Add tests for SecretTextArea component
* Update SecretTextArea testIds
* Remove specificity in secrettextarea rule
* Update type to be compatible with React 18
* Move SecretTextArea and TextInputContainer to components/ui
* Clean up UI comonent imports
* Clean up DropDown option component import
* Clean up Dropdown SingleValue imports
* Remove default exports from ui and other minor cleanup
* Update snapshots
* Adds logic to fail upon non-deterministic custom S3 endpoint and documentation for insecure settings
* Reused config factory settings to a single static variable
* Updated error message and example in the spec.json to match expectation of secured endpoint
* Added validation check within the base s3
* Integrated AdaptiveDestinationRunner with S3Destination
* Reduced visibility for testing and fixed AdaptiveDestinationRunner issue
* Adds speicifc secure protocol with S3 and empty endpoint check
* Bumps docker version and adds comments and clearer string methods
* auto-bump connector version [ci skip]
Co-authored-by: Octavia Squidington III <octavia-squidington-iii@users.noreply.github.com>
* fail connection manager workflow on non-deterministic exception
* Update where the config is added
Co-authored-by: Benoit Moriceau <benoit@airbyte.io>
* renames for connection form refactor
* connection form, namespace definition, section
* operations section
* cleanup for text sizes
* updated connection name to use Text
* use variables and text component
* cleanup from rebase
* remove bad card
* make the form a form
* Use PATCH Api for toggling connections
* remove catalog from web backend connection list, and move icon to source/destination field in response
* Adjust FE code
* comment out failing tests
* Resolve merge conflict
* add back in tests and make them pass with new list items
* format
* leave repository layer alone for now, just remove catalog from API response
* format
* load the icon when returning
* update sourceHandler and destinationHandler test to account for icons
* add icon to source and destination in webBackendConnectionHandlerTest
* change icon test to actually load an svg rather than using static mocks
* also fix icon test for WebBackendConnectionsHandlerTest
* make PMD happy
Co-authored-by: Tim Roes <tim@airbyte.io>
Co-authored-by: Davin Chia <davinchia@gmail.com>
Co-authored-by: KC <krishna@airbyte.io>
* Add Cross domain tracking for segment
* add email in identify call to test with Hubspot
* save cookie on local storage, create hook to override Segment cookie
* PR comments