1
0
mirror of synced 2026-01-25 19:02:00 -05:00
Commit Graph

694 Commits

Author SHA1 Message Date
Michael Siega
b18f95021e Fix minor DBT Cloud Errors. (#18147)
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.
2022-10-18 19:52:47 -07:00
Michael Siega
11699d4fe1 Alex/mvp UI for dbt cloud integration (#18095)
* 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>
2022-10-18 13:59:38 -07:00
Vladimir
80128bea02 trim namespace custom format before submit (#17986) 2022-10-17 16:08:45 +03:00
Vladimir
fa388503d8 🪟 🔧 Refactored <ServiceForm /> (#17597)
* remove styled components from FormRoot

* refactored WarningMessage component

* refactored TestingConnectionSpinner component

* fixes after merge

* replace styled-components with css modules in ConnectorServiceTypeControl components

* extend ModalBody to support style overwrite

* refactor RequestConnectorModal using new headlessUi Modal component

* - refactor FrequentlyUsedDestinations component
- update tests
- updates storybook

* - refactor StartWithDestination component
- update tests
- updates storybook

* renamed FrequentlyUsedDestinationsCard component

* move ConnectorForm to RequestConnectorModal

* remove spinner from FrequentlyUsedDestinations component

* - refactor ConnectorServiceTypeControl component
- move utility functions outside of component
- move analytics tracking functions to separate component hook

* - refactor ServiceForm component
- update tests - remove test with checking serviceType

* memoize selectProps in ConnectorServiceTypeControl

* simplify getting the namespace type

* show FormRoot conditionally - if selectedConnectorDefinitionSpecification is provided

* - refactor ConnectorCard component

* refactor DestinationForm component

* remove styled components from FormRoot

* refactored WarningMessage component

* refactored TestingConnectionSpinner component

* fixes after merge

* replace styled-components with css modules in ConnectorServiceTypeControl components

* extend ModalBody to support style overwrite

* refactor RequestConnectorModal using new headlessUi Modal component

* - refactor FrequentlyUsedDestinations component
- update tests
- updates storybook

* - refactor StartWithDestination component
- update tests
- updates storybook

* renamed FrequentlyUsedDestinationsCard component

* move ConnectorForm to RequestConnectorModal

* remove spinner from FrequentlyUsedDestinations component

* - refactor ConnectorServiceTypeControl component
- move utility functions outside of component
- move analytics tracking functions to separate component hook

* - refactor ServiceForm component
- update tests - remove test with checking serviceType

* memoize selectProps in ConnectorServiceTypeControl

* simplify getting the namespace type

* show FormRoot conditionally - if selectedConnectorDefinitionSpecification is provided

* - refactor ConnectorCard component

* refactor DestinationForm component

* fixes after rebase

* fixed optional onDestinationSelect callbacks

* add analyticsTrackFunctions to FrequentlyUsedDestinations component

* update tests

* fix fullWidth Card issue

* fix async/await issue

* refactor analytics - Source/Destination connector selected

* fix onboarding page - octavia's line

* wrap analytics track functions with useCallback

* move analytics track functions to separate useAnalyticsTrackFunctions file

* rename filename to match the contained component name

* extend SectionContainer - do not add margin-bottom if container doesn't have any childs

* disable ConnectorServiceTypeControl is form is submitting

* fix onbording create source/destination steps

* hide form via css if selectedConnector is not present

* remove comments

* fix e2e tests

* fix test

* bring back the old design (don't split form on separate cards)

* Update airbyte-webapp/src/pages/DestinationPage/pages/CreateDestinationPage/components/DestinationForm.tsx

Co-authored-by: Edmundo Ruiz Ghanem <168664+edmundito@users.noreply.github.com>

* rename "additionalDropdownComponent" to "additionalSelectorComponent"

* rename "formType" arg to "connectorType" in analytics track functions

* fix components import

* updated test snapshot

* update RequestConnectorModal: move Formik inside the ModalBody

* fix PR comments: rename utilityFunctions.tsx to utils.tsx

* move StartWithDestination component to DestinationForm

* remove hiding empty form functionality since we don't split it on multiple cards

* update comment regarding the serviceType prop

Co-authored-by: Edmundo Ruiz Ghanem <168664+edmundito@users.noreply.github.com>
2022-10-17 15:21:13 +03:00
Brian Lai
e5fccaaf03 add source s3 back to catalog (#17997) 2022-10-14 13:18:38 -04:00
Teal Larson
22c55b54f5 🪟 🧹 Remove connection and mode prop drilling on connection view/edit pages (#17808)
* 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
2022-10-14 12:25:08 -04:00
Teal Larson
d2d8989b73 🪟 New <TagInput /> (#17760)
* 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>
2022-10-14 12:24:54 -04:00
Lake Mossman
fc596588c7 🪟 🎉 Add /connector-builder page with embedded YAML editor (#17482)
* [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
2022-10-13 11:31:30 -07:00
Tim Roes
3268cfe1c3 Add React.PropsWithChildren where needed (#17946) 2022-10-13 16:16:04 +02:00
Tim Roes
9836c11c23 Improve SidebarDropdownMenu component (#17945) 2022-10-13 16:15:48 +02:00
Tim Roes
2a4a5d3a1a Handle className removal on SVG (#17935) 2022-10-13 11:41:34 +02:00
Edmundo Ruiz Ghanem
7c919e0051 🪟 🔧 Add Datadog support to webapp, cleanup sentry init (#17821)
* 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
2022-10-12 17:35:20 +02:00
Edmundo Ruiz Ghanem
1ddd4d7d7d 🪟 🎉 Add optional invite user hint to connector create pages (#15799)
* 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
2022-10-12 17:33:19 +02:00
Tim Roes
b2b9a3ec9a 🪟 🎨 Fix styling of dropdown (#17872)
* Fix styling of dropdown

* Adjust jest tests
2022-10-12 10:56:29 +02:00
Tim Roes
e2a5c3768d Add debug output for Osano (#17857) 2022-10-11 23:42:00 +02:00
Lake Mossman
ec5496840d Add workspace ID to connector check calls to fix segment tracking (#17816)
* add workspace ID to source/dest check and discover endpoints

* pass workspaceId to API from frontend

* make it work for destinations too
2022-10-11 09:55:39 -07:00
Tim Roes
7c8f8a86e9 Move links out of config (#17837) 2022-10-11 16:40:46 +02:00
Anne
ca2605db95 Add breakingChange to catalogDiff (#17588)
* Add breaking field to FieldTransform on catalogDiff
2022-10-10 18:04:34 -07:00
Tim Roes
f6aed2d278 Cleanup StepMenu properties (#17586) 2022-10-10 21:28:02 +02:00
Tim Roes
fb523afbc2 Fix design of log view (#17765) 2022-10-10 18:20:28 +02:00
Tim Roes
6c5a150b81 🪟 🔧 Ignore classnames during jest snapshot comparison (#17773)
* Ignore classnames during jest snapshot comparison

* Replace by simple placeholder

* Update snapshots
2022-10-10 12:43:59 +02:00
Krishna (kc) Glick
33f0cc6838 Connection Form Refactor - Part Two (#16748)
* 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>
2022-10-07 15:49:57 -04:00
Vladimir
7215e1c0e2 fixed octavia position and z-index on onboarding page (#17708) 2022-10-07 18:31:47 +03:00
Vladimir
d5f2a6b406 fixed escape character i18n error (#17706) 2022-10-07 15:31:03 +03:00
Tim Roes
a1854a4a53 Fix console errors (#17696) 2022-10-07 11:34:04 +02:00
Teal Larson
ada1cbf056 🪟 🧹 Add cron string to segment calls, remove outdated schedule property use (#17672)
* update segment schedule frequency calls to include cron string, unify return value format

* remove unused frequencyType prop

* cleanup

* rename and move util
2022-10-06 14:39:20 -04:00
Tim Roes
a17c8321cf 🪟 🐛 Fixes connector checks not properly ending their loading state (#17620)
* Fixes connector checks not properly ending their loading state

* Fix properly
2022-10-05 11:16:31 -07:00
Joey Marshment-Howell
f00680cd39 🪟🧪 [Experiment] add hideOnboarding experiment (#17605) 2022-10-05 18:50:12 +01:00
Mark Berger
2742e0be4f Mark/tables should be full width on all pages (#17401)
* Removed styled-components
Added margins/padding left and right as standard 20px
2022-10-05 18:58:20 +03:00
Tim Roes
515f1e5678 🪟 🎨 New design and cleanup for CircleLoader (#17582)
* New design and cleanup for CircleLoader

* Adjust snapshots
2022-10-05 13:50:40 +02:00
Tim Roes
23274b56be Add integration for Osano/GDPR (#17565) 2022-10-05 13:19:31 +02:00
Edmundo Ruiz Ghanem
dfaf7d860b 🪟 🎉 Replace multiline + hidden connector field with SecretTextArea component (#16539)
* 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
2022-10-05 12:14:40 +02:00
Edmundo Ruiz Ghanem
cb0cb925ff 🪟 🔧 Cleanup UI component imports (#17350)
* 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
2022-10-05 11:21:17 +02:00
Ryan Fu
1d956df434 🚨 Add SSL documentation and check logic for S3 Destination 🚨 (#17340)
* 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>
2022-10-03 13:56:58 -07:00
Greg Solovyev
d3fcbb3cc0 Bring back GCS destination to Cloud (#17474) 2022-10-03 13:07:45 -07:00
Lake Mossman
2345971b75 Fail connection manager workflow on non-deterministic exception (#14758)
* fail connection manager workflow on non-deterministic exception

* Update where the config is added

Co-authored-by: Benoit Moriceau <benoit@airbyte.io>
2022-10-03 10:01:43 -07:00
Tim Roes
2c71086ab8 🪟 🔧 Add additional eslint rules (#17348)
* Add additional eslint rules

* Add comment

* Restore async await act

* Fix broken gradle reference
2022-10-03 17:43:14 +02:00
Tim Roes
06fafa894d 🪟 🐛 Fix messages and improve connector log (#17344)
* Fix messages and improve connector log

* Remove deprecated strings
2022-10-03 16:22:20 +02:00
letiescanciano
252e3c4c96 🪟 🔧  Add Segment track event to suggested destinations experiment (#17328)
* Add segment track event to suggested destinations experiment

Closes #17257

* Fix spec
2022-10-03 11:54:52 +02:00
Brian Lai
2246c5bb08 hide S3 source connector from catalog (#17472) 2022-09-30 16:56:27 -04:00
Teal Larson
e2441b0016 🪟 Migrate styles for Connection-related Components (#17339)
* 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
2022-09-30 16:55:28 -04:00
Nataly Merezhuk
0daa9f2329 Refactor & convert PageTitle to SCSS (#17139)
* Converts PageTitle from styled components to SCSS.

* Delete package-lock.json

* Swapped deprecated H3 for Text base component.

* Renames and moves the PageTitle component.

* Adds primary story.

* Removes PageTitle component.

* Regenerates failing snapshot tests.

* Requested changes.
2022-09-30 16:16:01 -04:00
Charles
1e2f701fe7 remove import / export handler (#16403) 2022-09-29 16:24:49 -07:00
Teal Larson
55d27a5c42 🪟 File and exports cleanup for Connection Create/Edit (#17289)
* renames for connection form refactor

* rename tabs as tabs, fix default exports

* flatten the CreateConnection dir

* remove component subfolders
2022-09-29 15:39:21 -04:00
Parker Mossman
a8c72121f8 Remove catalog from web_backend/connections/list (#17002)
* 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>
2022-09-28 12:01:10 -07:00
Edmundo Ruiz Ghanem
b48c624c46 🪟 🔧 Move UI components from base to ui (#17323)
* Move AlertBanner from base to ui

* Move components from base to ui
* Update imports to leave Titles in base folder
2022-09-28 10:23:02 -04:00
Yatsuk Bogdan
ed8186e671 🪟 🔧 Adds new Button component (#16604)
* Add button component

* Fixes comments on PR

* Fixes style for old components

* Fixes more style for old components

* Update link usage of button

* Fixes styles cascade

* Fixes ref usage for buttons

* Updates customStyles into className; Fixes error passing all properties to native button component; Fixes style in some places for button container; Removes unnecessary files

* Fixes loading state for button; Adds storybook Button with different states

* Fixes router issue; Fixes styles

* Fixes SortButton; Fixes password eye button

* Fixes comments

* Update test snapshots

* Fix plus icon; Fixes connection error button style

* Fix buttons style; Updates variant noStroke -> clear

* Fix version cell button

* Update snapshots

* Updates snapshots

* Fixes settings button styles; Fixes editor row styles; Fixes isLoading property
2022-09-28 14:01:49 +03:00
letiescanciano
a43d2ed5bc 🪟 🔧 Add Cross domain tracking for segment (#16268)
* 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
2022-09-28 10:36:28 +02:00
Lake Mossman
a21614730a 🪟 🎨 Fix connector form field error spacing (#17283)
* fix property error spacing

* use variable
2022-09-27 13:38:01 -07:00
Lake Mossman
9aacbacbd1 🪟 🎨 Do not render InfoToolTip if there is not content to render (#17276)
* do not render InfoToolTip if there is not content to render

* remove px
2022-09-27 13:28:18 -07:00