Add sessionId to redux store and Logger output

Summary:
I've left InteractionTracker without a store, so it doesn't know the sessionId. It really should have one, but that will have to be a different change.
We don't actually use the InteractionTracker at the moment so it's not a major deal for now.

The idea is to be able to get data like what percentage of sessions encounter an error, and how many errors sessions usually have etc.

Reviewed By: passy

Differential Revision: D13624031

fbshipit-source-id: 664e7ac5023166c2f72df3058c219901be7ff77a
This commit is contained in:
John Knox
2019-01-11 03:55:19 -08:00
committed by Facebook Github Bot
parent 0033de50ae
commit 005383f94b
5 changed files with 108 additions and 2 deletions

102
flow-typed/npm/uuid_v3.x.x.js vendored Normal file
View File

@@ -0,0 +1,102 @@
// flow-typed signature: 3cf668e64747095cab0bb360cf2fb34f
// flow-typed version: d659bd0cb8/uuid_v3.x.x/flow_>=v0.32.x
declare module "uuid" {
declare class uuid {
static (
options?: {|
random?: number[],
rng?: () => number[] | Buffer
|},
buffer?: number[] | Buffer,
offset?: number
): string,
static v1(
options?: {|
node?: number[],
clockseq?: number,
msecs?: number | Date,
nsecs?: number
|},
buffer?: number[] | Buffer,
offset?: number
): string,
static v4(
options?: {|
random?: number[],
rng?: () => number[] | Buffer
|},
buffer?: number[] | Buffer,
offset?: number
): string
}
declare module.exports: Class<uuid>;
}
declare module "uuid/v1" {
declare class v1 {
static (
options?: {|
node?: number[],
clockseq?: number,
msecs?: number | Date,
nsecs?: number
|},
buffer?: number[] | Buffer,
offset?: number
): string
}
declare module.exports: Class<v1>;
}
declare module "uuid/v3" {
declare class v3 {
static (
name?: string | number[],
namespace?: string | number[],
buffer?: number[] | Buffer,
offset?: number
): string,
static name: string,
static DNS: string,
static URL: string
}
declare module.exports: Class<v3>;
}
declare module "uuid/v4" {
declare class v4 {
static (
options?: {|
random?: number[],
rng?: () => number[] | Buffer
|},
buffer?: number[] | Buffer,
offset?: number
): string
}
declare module.exports: Class<v4>;
}
declare module "uuid/v5" {
declare class v5 {
static (
name?: string | number[],
namespace?: string | number[],
buffer?: number[] | Buffer,
offset?: number
): string,
static name: string,
static DNS: string,
static URL: string
}
declare module.exports: Class<v5>;
}

View File

@@ -91,6 +91,7 @@
"socket.io": "^2.0.4",
"string-natural-compare": "^2.0.2",
"tmp": "^0.0.33",
"uuid": "^3.3.2",
"websocket": "^1.0.24",
"which": "^1.3.1",
"xml2js": "^0.4.19",

View File

@@ -10,7 +10,7 @@ export type TrackType = 'duration' | 'usage' | 'performance';
import ScribeLogger from './ScribeLogger';
export default class LogManager {
constructor() {
constructor(store: ?Store) {
this.scribeLogger = new ScribeLogger(this);
}

View File

@@ -26,7 +26,7 @@ const store = createStore(
);
persistStore(store);
const logger = new Logger();
const logger = new Logger(store);
const bugReporter = new BugReporter(logger, store);
dispatcher(store, logger);
GK.init();

View File

@@ -6,6 +6,7 @@
*/
import {remote} from 'electron';
import uuidv1 from 'uuid/v1';
export const ACTIVE_SHEET_PLUGIN_SHEET: 'PLUGIN_SHEET' = 'PLUGIN_SHEET';
export const ACTIVE_SHEET_BUG_REPORTER: 'BUG_REPORTER' = 'BUG_REPORTER';
@@ -24,6 +25,7 @@ export type State = {
rightSidebarAvailable: boolean,
windowIsFocused: boolean,
activeSheet: ActiveSheet,
sessionId: ?string,
};
type BooleanActionType =
@@ -48,6 +50,7 @@ const initialState: () => State = () => ({
rightSidebarAvailable: false,
windowIsFocused: remote.getCurrentWindow().isFocused(),
activeSheet: null,
sessionId: uuidv1(),
});
export default function reducer(state: State, action: Action): State {