Skip to content

Commit 84b2d84

Browse files
easyCZona-agentSiddhant-K-code
authored
Remove ConfigCat feature flag and default to Ona behavior (#200)
* Remove ConfigCat feature flag and default to Ona behavior - Remove configcat-js and configcat-react dependencies - Delete src/hooks/use-configcat.ts - Remove ConfigCatProvider wrappers from popup and button components - Default to Ona branding and behavior (previously behind is_ona_browser_extension_enabled flag) Co-authored-by: Ona <[email protected]> * Update pnpm-lock.yaml to remove ConfigCat dependencies Removes configcat-js, configcat-react, and configcat-common entries from the lockfile to match package.json changes. Co-authored-by: Ona <[email protected]> * Fix test dependencies to resolve TypeScript compilation error - Update @types/node from 20.5.0 to 20.14.5 to match main project - Update other test dependencies to match main project versions - Remove test/pnpm-lock.yaml to force regeneration with new dependencies - Fixes TS2386 error: Overload signatures must all be optional or required Co-authored-by: Ona <[email protected]> * Fix Puppeteer TypeScript errors in test file - Change headless: "new" to headless: true for Puppeteer v23+ compatibility - Fix $x method type error by casting page to any and adding proper return type - Add ElementHandle import for proper typing - Resolves TS2322 and TS2339 compilation errors Co-authored-by: Ona <[email protected]> * undo deps Co-authored-by: Ona <[email protected]> * unto test/package.json * fix * fix ts Co-authored-by: Ona <[email protected]> * fix build Co-authored-by: Ona <[email protected]> * fix ci (#202) --------- Co-authored-by: Ona <[email protected]> Co-authored-by: Siddhant Khare <[email protected]>
1 parent aa31780 commit 84b2d84

File tree

8 files changed

+2236
-92
lines changed

8 files changed

+2236
-92
lines changed

src/button/button-contributions.ts

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ export interface ButtonContributionParams {
114114
urlTransformer?: (originalURL: string) => string;
115115
}
116116

117-
function createElement(
117+
function createContainerElement(
118118
type: "div" | "li",
119119
props: {
120120
[key: string]: string;
@@ -134,7 +134,7 @@ export const buttonContributions: ButtonContributionParams[] = [
134134
// "https://dev.azure.com/services-azure/_git/project2"
135135
],
136136
selector: "div.repos-files-header-commandbar:nth-child(1)",
137-
containerElement: createElement("div", {}),
137+
containerElement: createContainerElement("div", {}),
138138
application: "azure-devops",
139139
insertBefore: `div.bolt-header-command-item-button:has(button[id^="__bolt-header-command-bar-menu-button"])`,
140140
manipulations: [
@@ -170,7 +170,7 @@ export const buttonContributions: ButtonContributionParams[] = [
170170
// "https://dev.azure.com/services-azure/test-project/_git/repo2/pullrequest/1"
171171
],
172172
selector: ".repos-pr-header > div:nth-child(2) > div:nth-child(1)",
173-
containerElement: createElement("div", {}),
173+
containerElement: createContainerElement("div", {}),
174174
application: "azure-devops",
175175
insertBefore: `div.bolt-header-command-item-button:has(button[id^="__bolt-menu-button-"])`,
176176
},
@@ -179,7 +179,7 @@ export const buttonContributions: ButtonContributionParams[] = [
179179
exampleUrls: [],
180180
selector: "div.clone-with-application",
181181
application: "azure-devops",
182-
containerElement: createElement("div", { marginLeft: "4px", marginRight: "4px" }),
182+
containerElement: createContainerElement("div", { marginLeft: "4px", marginRight: "4px" }),
183183
},
184184

185185
// GitLab
@@ -217,7 +217,7 @@ export const buttonContributions: ButtonContributionParams[] = [
217217
match: /\/blob\//,
218218
selector:
219219
"#fileHolder > div.js-file-title.file-title-flex-parent > div.gl-display-flex.gl-flex-wrap.file-actions",
220-
containerElement: createElement("div", { display: "inline-flex", marginLeft: "8px" }),
220+
containerElement: createContainerElement("div", { display: "inline-flex", marginLeft: "8px" }),
221221
application: "gitlab",
222222
manipulations: [
223223
{
@@ -233,7 +233,7 @@ export const buttonContributions: ButtonContributionParams[] = [
233233
exampleUrls: ["https://gitlab.com/svenefftinge/browser-extension-test/-/merge_requests/1"],
234234
match: /\/merge_requests\//,
235235
selector: "#content-body > div.merge-request .js-issuable-actions",
236-
containerElement: createElement("div", {}),
236+
containerElement: createContainerElement("div", {}),
237237
application: "gitlab",
238238
insertBefore: "#content-body > div.merge-request .js-issuable-actions > div.dropdown.gl-dropdown",
239239
manipulations: [
@@ -250,7 +250,7 @@ export const buttonContributions: ButtonContributionParams[] = [
250250
exampleUrls: ["https://gitlab.com/svenefftinge/browser-extension-test/-/issues/1"],
251251
match: /\/issues(?:\/\d+|\?)/,
252252
selector: "#content-body [data-testid='detail-wrapper'] > div > div:has(div > [data-testid='work-item-actions-dropdown'])",
253-
containerElement: createElement("div", { marginLeft: "0", marginRight: "0px" }),
253+
containerElement: createContainerElement("div", { marginLeft: "0", marginRight: "0px" }),
254254
application: "gitlab",
255255
insertBefore: "#content-body [data-testid='detail-wrapper'] > div > div:has(div > [data-testid='work-item-actions-dropdown']) > div",
256256
},
@@ -264,7 +264,7 @@ export const buttonContributions: ButtonContributionParams[] = [
264264
"https://github.com/svenefftinge/browser-extension-test/tree/my-branch",
265265
],
266266
selector: `xpath://*[contains(@id, 'repo-content-')]/div/div/div/div[1]/react-partial/div/div/div[2]/div[2]`,
267-
containerElement: createElement("div", {}),
267+
containerElement: createContainerElement("div", {}),
268268
additionalClassNames: ["medium"],
269269
application: "github",
270270
manipulations: [
@@ -289,7 +289,7 @@ export const buttonContributions: ButtonContributionParams[] = [
289289
],
290290
selector: "#repo-content-pjax-container > div > div.commit.full-commit.mt-0.px-2.pt-2",
291291
insertBefore: "#browse-at-time-link",
292-
containerElement: createElement("div", {
292+
containerElement: createContainerElement("div", {
293293
float: "right",
294294
marginLeft: "8px",
295295
}),
@@ -302,7 +302,7 @@ export const buttonContributions: ButtonContributionParams[] = [
302302
exampleUrls: ["https://github.com/svenefftinge/browser-extension-test/issues/1"],
303303
selector: "[data-component='PH_Actions'] > div", //
304304
insertBefore: "[data-component='PH_Actions'] > div > button",
305-
containerElement: createElement("div", {}),
305+
containerElement: createContainerElement("div", {}),
306306
match: /\/issues\//,
307307
application: "github",
308308
additionalClassNames: ["tall"],
@@ -311,7 +311,7 @@ export const buttonContributions: ButtonContributionParams[] = [
311311
id: "gh-issue-new", // this isn't referring to "new issue", but to new "issue"
312312
exampleUrls: ["https://github.com/svenefftinge/browser-extension-test/issues/1"],
313313
selector: `xpath://*[@id="js-repo-pjax-container"]/react-app/div/div/div/div/div[1]/div/div/div[3]/div`,
314-
containerElement: createElement("div", {}),
314+
containerElement: createContainerElement("div", {}),
315315
insertBefore: `xpath://*[@id="js-repo-pjax-container"]/react-app/div/div/div/div/div[1]/div/div/div[3]/div/div`,
316316
application: "github",
317317
// we need to make the button higher: the buttons here use 2rem instead of 1.75rem
@@ -321,7 +321,7 @@ export const buttonContributions: ButtonContributionParams[] = [
321321
id: "gh-pull",
322322
exampleUrls: ["https://github.com/svenefftinge/browser-extension-test/pull/2"],
323323
selector: "#partial-discussion-header div.gh-header-show > div > div",
324-
containerElement: createElement("div", {
324+
containerElement: createContainerElement("div", {
325325
order: "2",
326326
}),
327327
match: /\/pull\//,
@@ -334,7 +334,7 @@ export const buttonContributions: ButtonContributionParams[] = [
334334
// "https://github.com/svenefftinge/browser-extension-test/pull/2/files" // this is an experiment for now, and we can't test against GitHub's feature flags yet
335335
],
336336
selector: "div[data-component='PH_Actions']",
337-
containerElement: createElement("div", {
337+
containerElement: createContainerElement("div", {
338338
order: "2",
339339
}),
340340
match: /\/pull\//,
@@ -344,7 +344,7 @@ export const buttonContributions: ButtonContributionParams[] = [
344344
id: "gh-file",
345345
exampleUrls: ["https://github.com/svenefftinge/browser-extension-test/blob/my-branch/README.md"],
346346
selector: "#StickyHeader > div > div > div.Box-sc-g0xbh4-0.gtBUEp",
347-
containerElement: createElement("div", {
347+
containerElement: createContainerElement("div", {
348348
marginLeft: "8px",
349349
}),
350350
application: "github",
@@ -357,7 +357,7 @@ export const buttonContributions: ButtonContributionParams[] = [
357357
],
358358
selector:
359359
"#repo-content-pjax-container > div > div.d-md-flex.flex-items-stretch.gutter-md.mb-4 > div.col-md-6.mb-4.mb-md-0 > div,#repo-content-turbo-frame > div > div.d-md-flex.flex-items-stretch.gutter-md.mb-4 > div.col-md-6.mb-4.mb-md-0 > div",
360-
containerElement: createElement("div", {}),
360+
containerElement: createContainerElement("div", {}),
361361
application: "github",
362362
manipulations: [
363363
{
@@ -387,7 +387,7 @@ export const buttonContributions: ButtonContributionParams[] = [
387387
selector:
388388
"#main > div.aui-toolbar2.branch-selector-toolbar > div > div.aui-toolbar2-primary > div > div:nth-child(1) > div",
389389
insertBefore: "#branch-actions",
390-
containerElement: createElement("div", {
390+
containerElement: createContainerElement("div", {
391391
marginLeft: "2px",
392392
}),
393393
application: "bitbucket-server",
@@ -402,7 +402,7 @@ export const buttonContributions: ButtonContributionParams[] = [
402402
selector: "#pull-requests-container > header > div.pull-request-header-bar > div.pull-request-actions",
403403
insertBefore:
404404
"#pull-requests-container > header > div.pull-request-header-bar > div.pull-request-actions > div.pull-request-more-actions",
405-
containerElement: createElement("div", {
405+
containerElement: createContainerElement("div", {
406406
marginLeft: "2px",
407407
}),
408408
application: "bitbucket-server",
@@ -419,7 +419,7 @@ export const buttonContributions: ButtonContributionParams[] = [
419419
selector: 'xpath://*[@id="main"]/div/div/div[1]/div/header/div/div/div/div[2]/div',
420420
insertBefore:
421421
"#main > div > div > div.css-1m2ufqk.efo6slf1 > div > header > div > div > div > div.css-1ianfu6 > div > div:nth-child(2)",
422-
containerElement: createElement("div", {
422+
containerElement: createContainerElement("div", {
423423
marginLeft: "2px",
424424
}),
425425
application: "bitbucket",
@@ -430,7 +430,7 @@ export const buttonContributions: ButtonContributionParams[] = [
430430
// "https://bitbucket.org/efftinge/browser-extension-test/pull-requests/1"
431431
],
432432
selector: 'xpath://*[@id="main"]/div/div/div[1]/div/div/div/div[1]/div/div[2]/div/div[2]/div/div', // grandparent div of the "Request changes" and "Approve" buttons
433-
containerElement: createElement("div", {}),
433+
containerElement: createContainerElement("div", {}),
434434
insertBefore:
435435
'xpath:(//*[@id="main"]/div/div/div[1]/div/div/div/div[1]/div/div[2]/div/div[2]/div/div/div)[last()]', // note the [last()] to insert before the last child (the kebab menu)
436436
application: "bitbucket",
@@ -442,7 +442,7 @@ export const buttonContributions: ButtonContributionParams[] = [
442442
// "https://bitbucket.org/efftinge/browser-extension-test/branch/my-branch"
443443
],
444444
selector: 'xpath://*[@id="main"]/div/div/div[1]/div/div/div[2]/div/div', // action bar section with the last action of "Settings"
445-
containerElement: createElement("div", {
445+
containerElement: createContainerElement("div", {
446446
marginLeft: "2px",
447447
}),
448448
application: "bitbucket",
@@ -452,7 +452,7 @@ export const buttonContributions: ButtonContributionParams[] = [
452452
match: /\/commits\/(.+)?/,
453453
exampleUrls: ["https://bitbucket.org/efftinge/browser-extension-test/commits/"],
454454
selector: 'xpath://*[@id="main"]/div/div/div[1]/div/div/div[1]/div[1]/div[2]/div',
455-
containerElement: createElement("div", {
455+
containerElement: createContainerElement("div", {
456456
marginLeft: "2px",
457457
}),
458458
application: "bitbucket",

src/contents/button.tsx

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import cssText from "data-text:../button/button.css";
22
import type { PlasmoCSConfig, PlasmoGetInlineAnchor } from "plasmo";
33
import React, { type ReactElement } from "react";
44
import { EVENT_CURRENT_URL_CHANGED } from "~constants";
5-
import { ConfigCatProvider, configCatProviderConfig } from "~hooks/use-configcat";
5+
66
import { OnaButton } from "../button/button";
77
import { buttonContributions, isSiteSuitable, type ButtonContributionParams } from "../button/button-contributions";
88

@@ -41,14 +41,12 @@ class ButtonContributionManager {
4141
if (!this.buttons.has(containerId)) {
4242
this.buttons.set(
4343
containerId,
44-
<ConfigCatProvider {...configCatProviderConfig}>
45-
<OnaButton
46-
key={containerId}
47-
application={contribution.application}
48-
additionalClassNames={contribution.additionalClassNames}
49-
urlTransformer={contribution.urlTransformer}
50-
/>
51-
</ConfigCatProvider>,
44+
<OnaButton
45+
key={containerId}
46+
application={contribution.application}
47+
additionalClassNames={contribution.additionalClassNames}
48+
urlTransformer={contribution.urlTransformer}
49+
/>,
5250
);
5351
}
5452
}

src/hooks/use-configcat.ts

Lines changed: 0 additions & 34 deletions
This file was deleted.

src/popup.tsx

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import { CheckboxInputField } from "~components/forms/CheckboxInputField";
88
import { InputField } from "~components/forms/InputField";
99
import { TextInput } from "~components/forms/TextInputField";
1010
import { ALL_ORIGINS_WILDCARD, DEFAULT_ONA_ENDPOINT } from "~constants";
11-
import { ConfigCatProvider, configCatProviderConfig } from "~hooks/use-configcat";
11+
1212
import { useTemporaryState } from "~hooks/use-temporary-state";
1313
import {
1414
STORAGE_AUTOMATICALLY_DETECT_GITPOD,
@@ -176,11 +176,7 @@ function PopupContent() {
176176
}
177177

178178
function IndexPopup() {
179-
return (
180-
<ConfigCatProvider {...configCatProviderConfig}>
181-
<PopupContent />
182-
</ConfigCatProvider>
183-
);
179+
return <PopupContent />;
184180
}
185181

186182
export default IndexPopup;

0 commit comments

Comments
 (0)