profile
viewpoint
PullRequestReviewEvent

issue commentRecordReplay/devtools

Long time waiting for recording to load without any messages

Is this possibly related to the database perf regression @gideonred mentioned? The alleged cause there was the large number of entries created by our pentester.

Also please invite me to view the recordings. I don't currently have access.

bhackett1024

comment created time in 2 days

issue openedRecordReplay/devtools

API Keys tab in settings view is empty

API Keys tab in settings view shows nothing.

https://app.replay.io/recording/ccf9b60a-cfa4-4989-9e80-47f30c036c95

created time in 2 days

PullRequestReviewEvent
PullRequestReviewEvent
PullRequestReviewEvent

push eventRecordReplay/gecko-dev

Kannan Vijayan

commit sha 9425dc2f8bfedd6679242ff640bc38c789fc3f0c

More telemetry to help us investigate auth errors after update.

view details

kannanvijayan

commit sha e84cde30d4626a1c0521f2ba2ef50646b4f44507

Merge pull request #601 from RecordReplay/kannan/auth-error-telemetry More telemetry to help us investigate auth errors after update.

view details

push time in 11 days

PR merged RecordReplay/gecko-dev

More telemetry to help us investigate auth errors after update.

Wrote this up with Holger today, who confirmed that these auth issues are reproducible with every browser update.

If we also add IP-tracking to telemetry pings, we can identify and group all the pings together to get some idea of what went on in the browser before/during the error.

+44 -5

0 comment

2 changed files

kannanvijayan

pr closed time in 11 days

PR opened RecordReplay/gecko-dev

More telemetry to help us investigate auth errors after update.

Wrote this up with Holger today, who confirmed that these auth issues are reproducible with every browser update.

If we also add IP-tracking to telemetry pings, we can identify and group all the pings together to get some idea of what went on in the browser before/during the error.

+44 -5

0 comment

2 changed files

pr created time in 11 days

create barnchRecordReplay/gecko-dev

branch : kannan/auth-error-telemetry

created branch time in 11 days

PullRequestReviewEvent
PullRequestReviewEvent
PullRequestReviewEvent
PullRequestReviewEvent
PullRequestReviewEvent

issue commentRecordReplay/gecko-dev

Windows recordings by Pieter-Jan hanging on completion.

Oh, the other thing I noticed is that in this query for Pieter-Jan's recordings, there are no 'recordingDuration' fields for any of these, suggesting that processing did not complete for them, or that recording data was not fully received.

kannanvijayan

comment created time in a month

issue openedRecordReplay/gecko-dev

Windows recordings by Pieter-Jan hanging on completion.

Putting this in gecko-dev for now as it's likely a browser issue.

I took a look at one of the controllers and it's notably fully of linker crashes and a call to DieRaw that looked like it was hitting an assert or some other recognized bad state.

Here's a catalogue of the controllers, recordings, and build ids that Pieter-Jan used:

30740ceb-b3e0-454d-be4b-7a83bc1d46f2  58ebcdac-955b-4636-b033-63d34ea9834e  windows-gecko-20211021151933  84,635,547    854
6ed97d4e-31b2-44db-ad32-b36feea154f8  58ebcdac-955b-4636-b033-63d34ea9834e  windows-gecko-20211021151933  84,635,547    639
d93f884a-9c75-4a2e-9698-b35b396ac67a  58ebcdac-955b-4636-b033-63d34ea9834e  windows-gecko-20211021151933  84,635,547    578
d27547f3-62ac-43c4-bd2d-3d082a2ab286  58ebcdac-955b-4636-b033-63d34ea9834e  windows-gecko-20211021151933  84,635,547    255
d27547f3-62ac-43c4-bd2d-3d082a2ab286  58ebcdac-955b-4636-b033-63d34ea9834e  windows-gecko-20211021151933      246
d43bbdec-3ee4-4791-a075-435476ad9418  0fc26f3e-e2cc-4bce-8fcb-dc636ccd2dc3  windows-gecko-20211028-414735497de3-41de446c  23,769,954    200
d5736151-7b64-45d7-bc2d-670b7698b86f  15962706-dfe9-48ed-8748-49cafc9b3b26  windows-gecko-20211028-414735497de3-41de446c  11,056,011    200
db9a03bd-f8ef-4a6a-915e-09528ce96d71  765bcf4a-005f-44f1-9247-a8e92d01067c  windows-gecko-20211028-414735497de3-41de446c  92,192,752    188
de55257d-7ecb-4c84-b3fc-c7808d23019c  de71818e-05ff-4097-9054-6864335788ca  windows-gecko-20211028-414735497de3-41de446c  51,574,657    185
ca1d6371-7b78-48b8-ae49-2dc45c80da61  fb5e4a8e-1a36-4fd0-b1a2-53ffa34b06d1  windows-gecko-20211028-414735497de3-41de446c  6,463,261   181
6ed97d4e-31b2-44db-ad32-b36feea154f8  58ebcdac-955b-4636-b033-63d34ea9834e  windows-gecko-20211021151933      41
d93f884a-9c75-4a2e-9698-b35b396ac67a  58ebcdac-955b-4636-b033-63d34ea9834e  windows-gecko-20211021151933      39
ca1d6371-7b78-48b8-ae49-2dc45c80da61  fb5e4a8e-1a36-4fd0-b1a2-53ffa34b06d1        1
d5736151-7b64-45d7-bc2d-670b7698b86f  15962706-dfe9-48ed-8748-49cafc9b3b26        1
d43bbdec-3ee4-4791-a075-435476ad9418  0fc26f3e-e2cc-4bce-8fcb-dc636ccd2dc3        1
de55257d-7ecb-4c84-b3fc-c7808d23019c  de71818e-05ff-4097-9054-6864335788ca        1
kdb9a03bd-f8ef-4a6a-915e-09528ce96d71 765bcf4a-005f-44f1-9247-a8e92d01067c

created time in a month

PullRequestReviewEvent
PullRequestReviewEvent

Pull request review commentRecordReplay/gecko-dev

Implement network-monitor data collection for http requests.

 function updateRecordingState(key, state) {   const timestamps = current && current.timestamps || {};   timestamps[state] = Date.now(); -  return recordings.set(key, { state, timestamps });+  const entry = {+    state,+    recording: current ? current.recording : null,+    timestamps+  };+  recordings.set(key, entry);+  return entry;+}++function addRecordingInstance(key, recording) {+  const entry = recordings.get(key);+  if (!entry) {+    entry = updateRecordingState(key, RecordingState.RECORDING);+  }+  entry.recording = recording;

Should this assert that entry.state === RecordingState.RECORDING here?

loganfsmyth

comment created time in a month

Pull request review commentRecordReplay/gecko-dev

Implement network-monitor data collection for http requests.

 Services.ppmm.addMessageListener("RecordingStarting", {   }, }); +function getChannelRecording(channel) {+  for (const [frameLoader, entry] of recordings) {+    if (frameLoader.browsingContext && frameLoader.browsingContext === channel.loadInfo.browsingContext) {+      return entry.recording || null;+    }+  }++  return null;+}+function ensureHttpChannel(channel) {+  if (+    !(channel instanceof Ci.nsIHttpChannel) ||+    !(channel instanceof Ci.nsIClassifiedChannel)+  ) {+    return null;+  }++  channel = channel.QueryInterface(Ci.nsIHttpChannel);+  channel = channel.QueryInterface(Ci.nsIClassifiedChannel);++  if (channel instanceof Ci.nsIHttpChannelInternal) {+    channel = channel.QueryInterface(Ci.nsIHttpChannelInternal);

Just curious, but does this sequence of QueryInterface calls cause the channel object to hold the union of all of those interfaces, or is each QueryInterface taking the channel object down a type-specialization chain where each step has to be called on a channel of a particular abstract type?

loganfsmyth

comment created time in a month

PullRequestReviewEvent

delete branch RecordReplay/gecko-dev

delete branch : kannan/handle-unusable-recordings-no-browser

delete time in a month

push eventRecordReplay/gecko-dev

Kannan Vijayan

commit sha 4a80a5f3d1ab8c3edef25a18fbcb1890c83b226a

Undefined browser when unusable event handler runs. Sometimes `getBrowser()` returns null in the handler for the unusable-recording event in the browser. Deal with this a bit more gracefully by emitting a proper telemetry event and returning.

view details

kannanvijayan

commit sha b8c8362acc201683068dfdafa4e2b8bc9e612950

Merge pull request #575 from RecordReplay/kannan/handle-unusable-recordings-no-browser Undefined browser when unusable event handler runs.

view details

push time in a month

PR merged RecordReplay/gecko-dev

Undefined browser when unusable event handler runs.

Sometimes getBrowser() returns null in the handler for the unusable-recording event in the browser. Deal with this a bit more gracefully by emitting a proper telemetry event and returning.

+11 -0

1 comment

1 changed file

kannanvijayan

pr closed time in a month

push eventRecordReplay/gecko-dev

Kannan Vijayan

commit sha 4a80a5f3d1ab8c3edef25a18fbcb1890c83b226a

Undefined browser when unusable event handler runs. Sometimes `getBrowser()` returns null in the handler for the unusable-recording event in the browser. Deal with this a bit more gracefully by emitting a proper telemetry event and returning.

view details

push time in a month

pull request commentRecordReplay/gecko-dev

Undefined browser when unusable event handler runs.

I noticed this when looking more closely into intermittent test failures on CI.

kannanvijayan

comment created time in a month

PR opened RecordReplay/gecko-dev

Reviewers
Undefined browser when unusable event handler runs.

Sometimes getBrowser() returns null in the handler for the unusable-recording event in the browser. Deal with this a bit more gracefully by emitting a proper telemetry event and returning.

+11 -0

0 comment

1 changed file

pr created time in a month

pull request commentRecordReplay/devtools

Stop comments from flashing upon creation

The answer is because theoretically two users could create comments at the same time and we would get indeterminate ordering. And yes, that is unlikely, and I'm a little paranoid, but it was barely any additional complexity.

You dismiss this but I'm very happy you covered this issue. It seems more likely than you give it credit for.

jcmorrow

comment created time in a month

more