Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix sidebar sometimes not picking up CSS changes when built #7705

Open
wants to merge 33 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
00911a5
update cli support for dataconnect toolkit and webhooks (#7635)
hlshen Sep 11, 2024
5f0f991
Emulator start refactor (#7638)
hlshen Sep 11, 2024
b8326ae
DataConnect + PGLite prototype. (#7615)
joehan Sep 11, 2024
345ea64
merging in master
joehan Sep 11, 2024
a705e4f
Fix webhook; Clean up emulator code (#7649)
hlshen Sep 12, 2024
18262ba
Also handle extended query protocol for close messages (#7653)
joehan Sep 12, 2024
6bd0a53
Better handling for invalid JSON variables (#7654)
joehan Sep 13, 2024
b79cb86
Adding a docs link to the sidebar (#7657)
joehan Sep 13, 2024
1930478
Clean up code-extension config (#7660)
tjlav5 Sep 16, 2024
2de00ef
Add firebase-path option for vscode (#7662)
tjlav5 Sep 16, 2024
0d13805
Improved messaging on deploy (#7661)
joehan Sep 16, 2024
0c830b9
Removing LocalConnectionString (#7652)
joehan Sep 16, 2024
5d79a6f
Enable strict mode (#7663)
tjlav5 Sep 17, 2024
ac24633
Teardown legacy context provider
tjlav5 Sep 17, 2024
145b79c
Enable strict mode on the vscode webviews (#7665)
tjlav5 Sep 17, 2024
d7cd2db
add await (#7670)
hlshen Sep 17, 2024
61c83a7
Rough pass on extension UI (#7668)
tjlav5 Sep 17, 2024
0251647
[𝘀𝗽𝗿] initial version (#7676)
yuchenshi Sep 18, 2024
7f5b4c3
Round 1 of bug bash fixes (#7667)
joehan Sep 18, 2024
5aa92a2
Fixing lsofi issues (#7683)
joehan Sep 18, 2024
65dc3f2
Mergining in master
joehan Sep 19, 2024
0829c93
Reload codelens on emulator status change; Add loading state back for…
hlshen Sep 20, 2024
ecd6aff
Add handling for port conflicts. Add fallback for emulator loading st…
hlshen Sep 20, 2024
ee54b0f
Set default state for sidebar. Update fallback for emulator start (#7…
hlshen Sep 20, 2024
b082abe
Re-fetch the extensions doc link when the app is initialized (#7695)
tjlav5 Sep 20, 2024
e6dc723
Better handling for port conflicts and errors in Data Connect emulato…
joehan Sep 20, 2024
00d7039
remove debug mode (#7697)
hlshen Sep 20, 2024
895ba13
Add UI polish for running emulator status (#7699)
tjlav5 Sep 20, 2024
7b74211
update emulator reset text (#7698)
hlshen Sep 20, 2024
da01c6b
update text (#7700)
hlshen Sep 20, 2024
2782e41
update webhook (#7702)
hlshen Sep 20, 2024
9017011
startup -> start-up (#7701)
hlshen Sep 20, 2024
11e17e6
Fix sidebar sometimes not picking up CSS changes when built
rrousselGit Sep 21, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .eslintrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -122,6 +122,7 @@ module.exports = {
// TODO(jamesdaniels): add this to overrides instead
ignorePatterns: [
"src/dynamicImport.js",
"src/emulator/dataconnect/pg-gateway",
"scripts/webframeworks-deploy-tests/nextjs/**",
"scripts/webframeworks-deploy-tests/angular/**",
"scripts/frameworks-tests/vite-project/**",
Expand Down
25 changes: 14 additions & 11 deletions firebase-vscode/common/messaging/broker.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,13 @@ export type Receiver = {} | Webview;
export abstract class Broker<
OutgoingMessages extends MessageParamsMap,
IncomingMessages extends MessageParamsMap,
R extends Receiver
R extends Receiver,
> {
protected readonly listeners: MessageListeners<IncomingMessages> = {};

abstract sendMessage<T extends keyof OutgoingMessages>(
message: T,
data: OutgoingMessages[T]
data: OutgoingMessages[T],
): void;
registerReceiver(receiver: R): void {}

Expand Down Expand Up @@ -58,42 +58,45 @@ export abstract class Broker<
export interface BrokerImpl<
OutgoingMessages,
IncomingMessages,
R extends Receiver
R extends Receiver,
> {
send<E extends keyof OutgoingMessages>(
message: E,
args?: OutgoingMessages[E]
args?: OutgoingMessages[E],
): void;
registerReceiver(receiver: R): void;
on<E extends keyof IncomingMessages>(
message: Extract<E, string>,
listener: (params: IncomingMessages[E]) => void
listener: (params: IncomingMessages[E]) => void,
): () => void;
delete(): void;
}

export function createBroker<
OutgoingMessages extends MessageParamsMap,
IncomingMessages extends MessageParamsMap,
R extends Receiver
R extends Receiver,
>(
broker: Broker<OutgoingMessages, IncomingMessages, R>
broker: Broker<OutgoingMessages, IncomingMessages, R>,
): BrokerImpl<OutgoingMessages, IncomingMessages, Receiver> {
return {
send<E extends keyof OutgoingMessages>(
message: Extract<E, string>,
args?: OutgoingMessages[E]
args?: OutgoingMessages[E],
): void {
broker.sendMessage(message, args);
broker.sendMessage(message, args as any);
},
registerReceiver(receiver: R): void {
broker.registerReceiver(receiver);
},
on<E extends keyof IncomingMessages>(
message: Extract<E, string>,
listener: (params: IncomingMessages[E]) => void
listener: (params: IncomingMessages[E]) => void,
): () => void {
return broker.addListener(message, listener);
return broker.addListener(
message,
listener as Listener<IncomingMessages>,
);
},
delete(): void {
broker.delete();
Expand Down
26 changes: 10 additions & 16 deletions firebase-vscode/common/messaging/protocol.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,18 +7,10 @@ import { FirebaseConfig } from "../../../src/firebaseConfig";
import { User } from "../../../src/types/auth";
import { ServiceAccountUser } from "../types";
import { RCData } from "../../../src/rc";
import { EmulatorUiSelections, RunningEmulatorInfo } from "./types";
import { EmulatorsStatus, RunningEmulatorInfo } from "./types";
import { ExecutionResult } from "graphql";
import { SerializedError } from "../error";

export const DEFAULT_EMULATOR_UI_SELECTIONS: EmulatorUiSelections = {
projectId: "demo-something",
importStateFolderPath: "",
exportStateOnExit: false,
mode: "dataconnect",
debugLogging: false,
};

export enum UserMockKind {
ADMIN = "admin",
UNAUTHENTICATED = "unauthenticated",
Expand All @@ -44,7 +36,6 @@ export interface WebviewToExtensionParamsMap {
/* Emulator panel requests */
getEmulatorUiSelections: void;
getEmulatorInfos: void;
updateEmulatorUiSelections: Partial<EmulatorUiSelections>;

/** Notify extension that current user has been changed in UI. */
requestChangeUser: { user: User | ServiceAccountUser };
Expand All @@ -60,6 +51,9 @@ export interface WebviewToExtensionParamsMap {
/** Calls the `firebase init` CLI */
runFirebaseInit: void;

/** Calls the `firebase init` CLI */
runStartEmulators: void;

/**
* Show a UI message using the vscode interface
*/
Expand Down Expand Up @@ -104,6 +98,8 @@ export interface WebviewToExtensionParamsMap {

// execute terminal tasks
executeLogin: void;

getDocsLink: void;
}

export interface DataConnectResults {
Expand All @@ -119,16 +115,12 @@ export type ValueOrError<T> =

export interface ExtensionToWebviewParamsMap {
/** Triggered when the emulator UI/state changes */
notifyEmulatorUiSelectionsChanged: EmulatorUiSelections;
notifyEmulatorStateChanged: {
status: "running" | "stopped" | "starting" | "stopping";
status: EmulatorsStatus;
infos: RunningEmulatorInfo | undefined;
};
notifyEmulatorImportFolder: { folder: string };

notifyIsConnectedToPostgres: boolean;

notifyPostgresStringChanged: string;
notifyEmulatorsHanging: boolean;

/** Triggered when new environment variables values are found. */
notifyEnv: { env: { isMonospace: boolean } };
Expand Down Expand Up @@ -165,6 +157,8 @@ export interface ExtensionToWebviewParamsMap {
notifyDataConnectRequiredArgs: { args: string[] };

notifyIsLoadingUser: boolean;

notifyDocksLink: string;
}

export type MessageParamsMap =
Expand Down
11 changes: 2 additions & 9 deletions firebase-vscode/common/messaging/types.d.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
import { EmulatorInfo } from "../emulator/types";
import { ExtensionToWebviewParamsMap, MessageParamsMap } from "./protocol";

export interface Message<M> {
command: string;
Expand All @@ -16,14 +15,8 @@ export interface MessageListeners<M> {
* Info to display in the UI while the emulators are running
*/
export interface RunningEmulatorInfo {
uiUrl: string;
displayInfo: EmulatorInfo[];
}

export interface EmulatorUiSelections {
projectId: string;
firebaseJsonPath?: string;
importStateFolderPath?: string;
exportStateOnExit: boolean;
mode: "all" | "dataconnect";
debugLogging: boolean;
}
export type EmulatorsStatus = "running" | "stopped" | "starting" | "stopping";
88 changes: 10 additions & 78 deletions firebase-vscode/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading
Loading