Skip to content

Commit

Permalink
Remove Lightspeed content feedback (#1254)
Browse files Browse the repository at this point in the history
* Remove Lightspeed content feedback

* Fix lint errors
  • Loading branch information
TamiTakamiya authored Apr 26, 2024
1 parent 9e4cbf5 commit 7bd17bb
Show file tree
Hide file tree
Showing 5 changed files with 3 additions and 120 deletions.
6 changes: 0 additions & 6 deletions src/definitions/lightspeed.ts
Original file line number Diff line number Diff line change
Expand Up @@ -19,12 +19,6 @@ export enum UserAction {
IGNORED = 2, // ignored the suggestion or didn't wait for suggestion to be displayed
}

export enum AnsibleContentUploadTrigger {
FILE_OPEN = 0,
FILE_CLOSE = 1,
TAB_CHANGE = 2,
}

// eslint-disable-next-line @typescript-eslint/no-namespace
export namespace LightSpeedCommands {
export const LIGHTSPEED_AUTH_REQUEST = "ansible.lightspeed.oauth";
Expand Down
22 changes: 2 additions & 20 deletions src/extension.ts
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,6 @@ import {
rejectPendingSuggestion,
} from "./features/lightspeed/inlineSuggestions";
import { playbookExplanation } from "./features/lightspeed/playbookExplanation";
import { AnsibleContentUploadTrigger } from "./definitions/lightspeed";
import { ContentMatchesWebview } from "./features/lightspeed/contentMatchesWebview";
import {
setPythonInterpreter,
Expand Down Expand Up @@ -276,37 +275,20 @@ export async function activate(context: ExtensionContext): Promise<void> {
lightSpeedManager,
pythonInterpreterManager,
);
if (editor) {
await lightSpeedManager.ansibleContentFeedback(
editor.document,
AnsibleContentUploadTrigger.TAB_CHANGE,
);
} else {
if (!editor) {
await ignorePendingSuggestion();
}
lightSpeedManager.lightspeedExplorerProvider.refreshWebView();
},
),
);
context.subscriptions.push(
workspace.onDidOpenTextDocument(async (document: vscode.TextDocument) => {
workspace.onDidOpenTextDocument(async () => {
await updateAnsibleStatusBar(
metaData,
lightSpeedManager,
pythonInterpreterManager,
);
lightSpeedManager.ansibleContentFeedback(
document,
AnsibleContentUploadTrigger.FILE_OPEN,
);
}),
);
context.subscriptions.push(
workspace.onDidCloseTextDocument(async (document: vscode.TextDocument) => {
await lightSpeedManager.ansibleContentFeedback(
document,
AnsibleContentUploadTrigger.FILE_CLOSE,
);
}),
);

Expand Down
3 changes: 0 additions & 3 deletions src/features/lightspeed/api.ts
Original file line number Diff line number Diff line change
Expand Up @@ -188,9 +188,6 @@ export class LightSpeedAPI {
if (inputData.inlineSuggestion) {
delete inputData.inlineSuggestion;
}
if (inputData.ansibleContent) {
delete inputData.ansibleContent;
}
}

if (Object.keys(inputData).length === 0) {
Expand Down
78 changes: 0 additions & 78 deletions src/features/lightspeed/base.ts
Original file line number Diff line number Diff line change
@@ -1,17 +1,14 @@
import * as vscode from "vscode";
import { LanguageClient } from "vscode-languageclient/node";
import { v4 as uuidv4 } from "uuid";
import { LightSpeedAPI } from "./api";
import { TelemetryManager } from "../../utils/telemetryUtils";
import { SettingsManager } from "../../settings";
import { LightSpeedAuthenticationProvider } from "./lightSpeedOAuthProvider";
import {
FeedbackRequestParams,
IDocumentTracker,
IIncludeVarsContext,
IWorkSpaceRolesContext,
} from "../../interfaces/lightspeed";
import { AnsibleContentUploadTrigger } from "../../definitions/lightspeed";
import { ContentMatchesWebview } from "./contentMatchesWebview";
import {
ANSIBLE_LIGHTSPEED_AUTH_ID,
Expand Down Expand Up @@ -169,81 +166,6 @@ export class LightSpeedManager {
watchRolesDirectory(this, rolePath);
}
}
public async ansibleContentFeedback(
document: vscode.TextDocument,
trigger: AnsibleContentUploadTrigger,
): Promise<void> {
if (
document.languageId !== "ansible" ||
!this.settingsManager.settings.lightSpeedService.enabled ||
!this.settingsManager.settings.lightSpeedService.URL.trim()
) {
return;
}

const rhUserHasSeat =
await this.lightspeedAuthenticatedUser.rhUserHasSeat();
const orgTelemetryOptOut =
await this.lightspeedAuthenticatedUser.orgOptOutTelemetry();

if (rhUserHasSeat && orgTelemetryOptOut) {
return;
}

const currentFileContent = document.getText();
const documentUri = document.uri.toString();
let activityId: string;
if (!this.lightSpeedActivityTracker.hasOwnProperty(documentUri)) {
// Inline suggestion not yet triggered, return without sending event.
return;
}
if (this.lightSpeedActivityTracker.hasOwnProperty(documentUri)) {
activityId = this.lightSpeedActivityTracker[documentUri].activityId;
const previousFileContent =
this.lightSpeedActivityTracker[documentUri].content;

if (trigger === AnsibleContentUploadTrigger.FILE_CLOSE) {
// end previous activity tracker
delete this.lightSpeedActivityTracker[documentUri];
}

if (previousFileContent === currentFileContent) {
console.log(
`[ansible-lightspeed-feedback] Event ansibleContent not sent as the content of file ${documentUri} is same as previous event.`,
);
return;
}

if (trigger === AnsibleContentUploadTrigger.TAB_CHANGE) {
// start a new activity tracker
this.lightSpeedActivityTracker[documentUri].activityId = uuidv4();
}
} else {
activityId = uuidv4();
this.lightSpeedActivityTracker[documentUri] = {
activityId: activityId,
content: currentFileContent,
};
}

if (!currentFileContent.trim()) {
console.log(
`[ansible-lightspeed-feedback] Event ansibleContent is not sent as the content of file ${documentUri} is empty.`,
);
return;
}

const inputData: FeedbackRequestParams = {
ansibleContent: {
content: document.getText(),
documentUri: documentUri,
trigger: trigger,
activityId: activityId,
},
};
console.log("[ansible-lightspeed-feedback] Event ansibleContent sent.");
this.apiInstance.feedbackRequest(inputData);
}

get inlineSuggestionsEnabled() {
const lightspeedSettings = <LightSpeedServiceSettings>(
Expand Down
14 changes: 1 addition & 13 deletions src/interfaces/lightspeed.ts
Original file line number Diff line number Diff line change
@@ -1,9 +1,5 @@
import { AuthenticationSession } from "vscode";
import {
AnsibleContentUploadTrigger,
LIGHTSPEED_USER_TYPE,
UserAction,
} from "../definitions/lightspeed";
import { LIGHTSPEED_USER_TYPE, UserAction } from "../definitions/lightspeed";

export interface LightspeedAuthSession extends AuthenticationSession {
rhUserHasSeat: boolean;
Expand Down Expand Up @@ -53,13 +49,6 @@ export interface InlineSuggestionEvent {
activityId?: string;
}

export interface AnsibleContentEvent {
content: string;
documentUri: string;
trigger: AnsibleContentUploadTrigger;
activityId: string | undefined;
}

export interface SentimentEvent {
value: number;
feedback: string;
Expand All @@ -80,7 +69,6 @@ export interface IssueFeedbackEvent {

export interface FeedbackRequestParams {
inlineSuggestion?: InlineSuggestionEvent;
ansibleContent?: AnsibleContentEvent;
sentimentFeedback?: SentimentEvent;
suggestionQualityFeedback?: SuggestionQualityEvent;
issueFeedback?: IssueFeedbackEvent;
Expand Down

0 comments on commit 7bd17bb

Please sign in to comment.