[2026-11-13] eagle: work/zoom-transcripts/2026-10-06 Apple Weekly Team Meeting - Zoom ID 2026-10-06 20 01(GMT+6 00) 280BehgySpW8LynSS473nQ/transcript.json work/zoom-transcripts/2026-10-06 Apple Weekly Team Meeting - Zoom ID 2026-10-06 20 01(GMT+6 00) 280BehgySpW8LynSS473nQ/transcript.md work/zoom-transcripts/2026-10-06 Dominik Kapusta's Personal Meeting Room 2026-10-06 15 12(GMT+6 00) NtgNJ-Y-Qxy5sMGMjngukw/transcript.json work/zoom-transcripts/2026-10-06 Dominik Kapusta's Personal Meeting Room 2026-10-06 15 12(GMT+6 00) NtgNJ-Y-Qxy5sMGMjngukw/transcript.md work/zoom-transcripts/2026-10-06 Jacek Łyp's Zoom Meeting 2026-10-06 20 44(GMT+6 00) gUhtLoqRTfSsTbZsann73A/transcript.json work/zoom-transcripts/2026-10-06 Jacek Łyp's Zoom Meeting 2026-10-06 20 44(GMT+6 00) gUhtLoqRTfSsTbZsann73A/transcript.md work/zoom-transcripts/2026-10-06 O-E 2026 2026-10-06 21 55(GMT+6 00) pEKfS6rcRlWzQyGKBbqqFw/transcript.json work/zoom-transcripts/2026-10-06 O-E 2026 2026-10-06 21 55(GMT+6 00) pEKfS6rcRlWzQyGKBbqqFw/transcript.md work/zoom-transcripts/2026-10-06 SRE Incidents 2026-10-06 21 21(GMT+6 00) SrYbgHxMSlWioRrr4PGz2Q/transcript.json work/zoom-transcripts/2026-10-06 SRE Incidents 2026-10-06 21 21(GMT+6 00) SrYbgHxMSlWioRrr4PGz2Q/transcript.md
This commit is contained in:
1 parent
54446f45c4
commit
60fa7ca9b1
60 files changed
+7629
-17
No files matched your search
Executable → Regular
+4
@@ -3,6 +3,10 @@
|
||||
"note_id": "280BehgySpW8LynSS473nQ",
|
||||
"title": "Apple Weekly Team Meeting - Zoom ID 2026-10-06 20:01(GMT+6:00)",
|
||||
"meeting_date": "2026-10-06",
|
||||
"meeting_date_source": "title_date",
|
||||
"meeting_start_at": "2026-10-06T14:00:03.000Z",
|
||||
"note_created_at": "2026-10-06T14:01:49.266Z",
|
||||
"note_modified_at": "2026-10-06T14:46:04.588Z",
|
||||
"source_url": "https://us01mynotes.zoom.us/280BehgySpW8LynSS473nQ",
|
||||
"transcript": [
|
||||
{
|
||||
|
||||
Executable → Regular
+1
@@ -1,6 +1,7 @@
|
||||
---
|
||||
title: "Apple Weekly Team Meeting - Zoom ID 2026-10-06 20:01(GMT+6:00)"
|
||||
date: 2026-10-06
|
||||
date_source: title_date
|
||||
zoom_note_id: "280BehgySpW8LynSS473nQ"
|
||||
source: "https://us01mynotes.zoom.us/280BehgySpW8LynSS473nQ"
|
||||
---
|
||||
|
||||
Executable → Regular
+4
@@ -3,6 +3,10 @@
|
||||
"note_id": "NtgNJ-Y-Qxy5sMGMjngukw",
|
||||
"title": "Dominik Kapusta's Personal Meeting Room 2026-10-06 15:12(GMT+6:00)",
|
||||
"meeting_date": "2026-10-06",
|
||||
"meeting_date_source": "title_date",
|
||||
"meeting_start_at": "2026-10-06T09:10:31.000Z",
|
||||
"note_created_at": "2026-10-06T09:12:23.858Z",
|
||||
"note_modified_at": "2026-10-06T10:13:40.063Z",
|
||||
"source_url": "https://us01mynotes.zoom.us/NtgNJ-Y-Qxy5sMGMjngukw",
|
||||
"transcript": [
|
||||
{
|
||||
|
||||
Executable → Regular
+1
@@ -1,6 +1,7 @@
|
||||
---
|
||||
title: "Dominik Kapusta's Personal Meeting Room 2026-10-06 15:12(GMT+6:00)"
|
||||
date: 2026-10-06
|
||||
date_source: title_date
|
||||
zoom_note_id: "NtgNJ-Y-Qxy5sMGMjngukw"
|
||||
source: "https://us01mynotes.zoom.us/NtgNJ-Y-Qxy5sMGMjngukw"
|
||||
---
|
||||
|
||||
Executable → Regular
+4
@@ -3,6 +3,10 @@
|
||||
"note_id": "gUhtLoqRTfSsTbZsann73A",
|
||||
"title": "Jacek Łyp's Zoom Meeting 2026-10-06 20:44(GMT+6:00)",
|
||||
"meeting_date": "2026-10-06",
|
||||
"meeting_date_source": "title_date",
|
||||
"meeting_start_at": "2026-10-06T14:28:10.000Z",
|
||||
"note_created_at": "2026-10-06T14:44:45.937Z",
|
||||
"note_modified_at": "2026-10-06T15:22:23.633Z",
|
||||
"source_url": "https://us01mynotes.zoom.us/gUhtLoqRTfSsTbZsann73A",
|
||||
"transcript": [
|
||||
{
|
||||
|
||||
Executable → Regular
+1
@@ -1,6 +1,7 @@
|
||||
---
|
||||
title: "Jacek Łyp's Zoom Meeting 2026-10-06 20:44(GMT+6:00)"
|
||||
date: 2026-10-06
|
||||
date_source: title_date
|
||||
zoom_note_id: "gUhtLoqRTfSsTbZsann73A"
|
||||
source: "https://us01mynotes.zoom.us/gUhtLoqRTfSsTbZsann73A"
|
||||
---
|
||||
|
||||
Executable → Regular
+4
@@ -3,6 +3,10 @@
|
||||
"note_id": "pEKfS6rcRlWzQyGKBbqqFw",
|
||||
"title": "O-E 2026 2026-10-06 21:55(GMT+6:00)",
|
||||
"meeting_date": "2026-10-06",
|
||||
"meeting_date_source": "title_date",
|
||||
"meeting_start_at": "2026-10-06T15:01:28.000Z",
|
||||
"note_created_at": "2026-10-06T15:55:17.235Z",
|
||||
"note_modified_at": "2026-10-06T16:08:21.317Z",
|
||||
"source_url": "https://us01mynotes.zoom.us/pEKfS6rcRlWzQyGKBbqqFw",
|
||||
"transcript": [
|
||||
{
|
||||
|
||||
Executable → Regular
+1
@@ -1,6 +1,7 @@
|
||||
---
|
||||
title: "O-E 2026 2026-10-06 21:55(GMT+6:00)"
|
||||
date: 2026-10-06
|
||||
date_source: title_date
|
||||
zoom_note_id: "pEKfS6rcRlWzQyGKBbqqFw"
|
||||
source: "https://us01mynotes.zoom.us/pEKfS6rcRlWzQyGKBbqqFw"
|
||||
---
|
||||
|
||||
Executable → Regular
+4
@@ -3,6 +3,10 @@
|
||||
"note_id": "SrYbgHxMSlWioRrr4PGz2Q",
|
||||
"title": "SRE Incidents 2026-10-06 21:21(GMT+6:00)",
|
||||
"meeting_date": "2026-10-06",
|
||||
"meeting_date_source": "title_date",
|
||||
"meeting_start_at": "2026-10-06T15:14:14.000Z",
|
||||
"note_created_at": "2026-10-06T15:21:52.415Z",
|
||||
"note_modified_at": "2026-10-06T15:56:27.185Z",
|
||||
"source_url": "https://us01mynotes.zoom.us/SrYbgHxMSlWioRrr4PGz2Q",
|
||||
"transcript": [
|
||||
{
|
||||
|
||||
Executable → Regular
+1
@@ -1,6 +1,7 @@
|
||||
---
|
||||
title: "SRE Incidents 2026-10-06 21:21(GMT+6:00)"
|
||||
date: 2026-10-06
|
||||
date_source: title_date
|
||||
zoom_note_id: "SrYbgHxMSlWioRrr4PGz2Q"
|
||||
source: "https://us01mynotes.zoom.us/SrYbgHxMSlWioRrr4PGz2Q"
|
||||
---
|
||||
|
||||
Executable → Regular
+4
@@ -3,6 +3,10 @@
|
||||
"note_id": "AEmGnEdJQfCMmCjwLyGtGA",
|
||||
"title": "Зал персональной конференции Alex Martemyanov 2026-10-09 18:51(GMT+6:00)",
|
||||
"meeting_date": "2026-10-09",
|
||||
"meeting_date_source": "title_date",
|
||||
"meeting_start_at": "2026-10-09T12:51:08.000Z",
|
||||
"note_created_at": "2026-10-09T12:51:15.026Z",
|
||||
"note_modified_at": "2026-10-09T13:03:27.53Z",
|
||||
"source_url": "https://us01mynotes.zoom.us/AEmGnEdJQfCMmCjwLyGtGA",
|
||||
"transcript": [
|
||||
{
|
||||
|
||||
Executable → Regular
+1
@@ -1,6 +1,7 @@
|
||||
---
|
||||
title: "Зал персональной конференции Alex Martemyanov 2026-10-09 18:51(GMT+6:00)"
|
||||
date: 2026-10-09
|
||||
date_source: title_date
|
||||
zoom_note_id: "AEmGnEdJQfCMmCjwLyGtGA"
|
||||
source: "https://us01mynotes.zoom.us/AEmGnEdJQfCMmCjwLyGtGA"
|
||||
---
|
||||
|
||||
Executable → Regular
+4
@@ -3,6 +3,10 @@
|
||||
"note_id": "nzWOuhyzSdCjNqMRh6X13w",
|
||||
"title": "Dominik Kapusta's Personal Meeting Room 2026-10-15 16:05(GMT+6:00)",
|
||||
"meeting_date": "2026-10-15",
|
||||
"meeting_date_source": "title_date",
|
||||
"meeting_start_at": "2026-10-15T10:04:08.000Z",
|
||||
"note_created_at": "2026-10-15T10:05:14.53Z",
|
||||
"note_modified_at": "2026-10-15T11:12:31.812Z",
|
||||
"source_url": "https://us01mynotes.zoom.us/nzWOuhyzSdCjNqMRh6X13w",
|
||||
"transcript": [
|
||||
{
|
||||
|
||||
Executable → Regular
+1
@@ -1,6 +1,7 @@
|
||||
---
|
||||
title: "Dominik Kapusta's Personal Meeting Room 2026-10-15 16:05(GMT+6:00)"
|
||||
date: 2026-10-15
|
||||
date_source: title_date
|
||||
zoom_note_id: "nzWOuhyzSdCjNqMRh6X13w"
|
||||
source: "https://us01mynotes.zoom.us/nzWOuhyzSdCjNqMRh6X13w"
|
||||
---
|
||||
|
||||
Executable → Regular
+4
@@ -3,6 +3,10 @@
|
||||
"note_id": "klekRLtLSEuMv0PCCPCjtA",
|
||||
"title": "All-Company Meeting 2026-10-16 21:31(GMT+6:00)",
|
||||
"meeting_date": "2026-10-16",
|
||||
"meeting_date_source": "title_date",
|
||||
"meeting_start_at": "2026-10-16T15:24:47.000Z",
|
||||
"note_created_at": "2026-10-16T15:31:05.755Z",
|
||||
"note_modified_at": "2026-10-16T15:51:25.415Z",
|
||||
"source_url": "https://us01mynotes.zoom.us/klekRLtLSEuMv0PCCPCjtA",
|
||||
"transcript": [
|
||||
{
|
||||
|
||||
Executable → Regular
+1
@@ -1,6 +1,7 @@
|
||||
---
|
||||
title: "All-Company Meeting 2026-10-16 21:31(GMT+6:00)"
|
||||
date: 2026-10-16
|
||||
date_source: title_date
|
||||
zoom_note_id: "klekRLtLSEuMv0PCCPCjtA"
|
||||
source: "https://us01mynotes.zoom.us/klekRLtLSEuMv0PCCPCjtA"
|
||||
---
|
||||
|
||||
+678
@@ -0,0 +1,678 @@
|
||||
{
|
||||
"schema_version": 1,
|
||||
"note_id": "QvxllpCuTTSLGEZp-R6jQw",
|
||||
"title": "Michal Smaga's Personal Meeting Room",
|
||||
"meeting_date": "2026-10-19",
|
||||
"meeting_date_source": "meeting_start_time",
|
||||
"meeting_start_at": "2026-10-19T12:09:00.000Z",
|
||||
"note_created_at": "2026-10-19T12:10:00.638Z",
|
||||
"note_modified_at": "2026-10-19T12:37:38.903Z",
|
||||
"source_url": "https://us01mynotes.zoom.us/QvxllpCuTTSLGEZp-R6jQw",
|
||||
"transcript": [
|
||||
{
|
||||
"time": "18:10:01",
|
||||
"speaker": "Michal Smaga",
|
||||
"text": "Good."
|
||||
},
|
||||
{
|
||||
"time": "18:10:01",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "I'm pretty good. Jumping between windows. Yes."
|
||||
},
|
||||
{
|
||||
"time": "18:10:09",
|
||||
"speaker": "Michal Smaga",
|
||||
"text": "Uh, I think I'm, I'm like… done reviewing the first one about the pixel. I had the issue that I wasn't able to reproduce it, like, I was trying to kill the WebKit process."
|
||||
},
|
||||
{
|
||||
"time": "18:10:22",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Mm-hmm."
|
||||
},
|
||||
{
|
||||
"time": "18:10:23",
|
||||
"speaker": "Michal Smaga",
|
||||
"text": "Do you have any, like, extra steps?"
|
||||
},
|
||||
{
|
||||
"time": "18:10:27",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Uh, so generally it fails from the second try on this exact test page that is attached there."
|
||||
},
|
||||
{
|
||||
"time": "18:10:37",
|
||||
"speaker": "Michal Smaga",
|
||||
"text": "So after, after I, I killed the, the, the…"
|
||||
},
|
||||
{
|
||||
"time": "18:10:37",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Okay."
|
||||
},
|
||||
{
|
||||
"time": "18:10:41",
|
||||
"speaker": "Michal Smaga",
|
||||
"text": "Web extension, web process. I should reload the page?"
|
||||
},
|
||||
{
|
||||
"time": "18:10:47",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Yes, in general."
|
||||
},
|
||||
{
|
||||
"time": "18:10:49",
|
||||
"speaker": "Michal Smaga",
|
||||
"text": "Do I need to do it, like, quickly, or do I need to, like…"
|
||||
},
|
||||
{
|
||||
"time": "18:10:53",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Um…"
|
||||
},
|
||||
{
|
||||
"time": "18:10:53",
|
||||
"speaker": "Michal Smaga",
|
||||
"text": "Wait a bit."
|
||||
},
|
||||
{
|
||||
"time": "18:10:55",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Usually… yeah. I don't know, within one second, just kill the process, then reload the page."
|
||||
},
|
||||
{
|
||||
"time": "18:11:02",
|
||||
"speaker": "Michal Smaga",
|
||||
"text": "Yeah."
|
||||
},
|
||||
{
|
||||
"time": "18:11:03",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "If it doesn't work from the first try, you just give it and reload again, and usually from second attempt, it does, uh… Uh, hang the… the extension. So it's not… it's not the genuine issue, so it's the…"
|
||||
},
|
||||
{
|
||||
"time": "18:11:20",
|
||||
"speaker": "Michal Smaga",
|
||||
"text": "Yeah, artificial."
|
||||
},
|
||||
{
|
||||
"time": "18:11:22",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "artificial reproducing step that we didn't enable with the feature flag of the fix that went before, but it should be still here, and we… and allow to… To produce it. Uh, that's… So generally, yeah, I think you've seen the comment I posted to… to the… Project communication task. And the data, the data analysis."
|
||||
},
|
||||
{
|
||||
"time": "18:11:52",
|
||||
"speaker": "Michal Smaga",
|
||||
"text": "Yeah, yeah, yeah."
|
||||
},
|
||||
{
|
||||
"time": "18:11:52",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "So… so generally there is, uh… yeah, it's kind of heavy codecs and cloud work, and, um… I cannot… Oh. I cannot tell that I understand, like, 100% what is happening beneath, uh, under the hood, and… Um… Generally, we have reproduced most of the… of the stall issues, uh, with some… Thank you. my display on black. Wow. I just need to switch off something, I guess."
|
||||
},
|
||||
{
|
||||
"time": "18:12:35",
|
||||
"speaker": "Michal Smaga",
|
||||
"text": "I can hear you, I cannot see you."
|
||||
},
|
||||
{
|
||||
"time": "18:12:36",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Hello? Yeah, I cannot see you, because… Give it a minute. Yeah. No. Fuck. And… Good morning, Mark. Sorry. One moment, Amy. I need to burn off something."
|
||||
},
|
||||
{
|
||||
"time": "18:13:10",
|
||||
"speaker": "Michal Smaga",
|
||||
"text": "Did your laptop display died?"
|
||||
},
|
||||
{
|
||||
"time": "18:13:13",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Not yet, I guess. I hope. Uh, here… Here we are. Uh-huh. So, we do. Yeah. All right, I'm back. And… Oh, yeah, I just got some. Testing. Fairness around here. Uh, where was I? Yeah, the issues. Uh, so generally, there's four issues in the work, and uh… One is behind the disabled feature flag. Because it reloads the page, and I don't think it's optimal. And probably a couple of more go next, and we'll leave. the smallest groups for the next iteration, I guess. So here we have to, uh… To expand the diagnostics. So generally, to fulfill the privacy triage, uh, I was requested to… To reduce what we… actually submit, and the decision was to merge the events into a single event. It should not generally harm our, uh… our data. We can lose something in case the browser crashes, or if it's reloaded. But I guess it's acceptable at this point, since we get these isolated groups already. And we just need some proofs. for the remaining and the pixels. Prior to this."
|
||||
},
|
||||
{
|
||||
"time": "18:15:02",
|
||||
"speaker": "Michal Smaga",
|
||||
"text": "Yes. So, so the first…"
|
||||
},
|
||||
{
|
||||
"time": "18:15:04",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Pixel fire for the pixel, yeah."
|
||||
},
|
||||
{
|
||||
"time": "18:15:06",
|
||||
"speaker": "Michal Smaga",
|
||||
"text": "First PR is the pixels, yeah? So the one from the PR."
|
||||
},
|
||||
{
|
||||
"time": "18:15:09",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Yes, so the suggestion is to improve the diagnostics first, and then the stacked ones go onto it."
|
||||
},
|
||||
{
|
||||
"time": "18:15:18",
|
||||
"speaker": "Michal Smaga",
|
||||
"text": "Yeah, and what is the status of the other, like, PRs, the follow-up ones, with the fixes?"
|
||||
},
|
||||
{
|
||||
"time": "18:15:24",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Uh, so we have the… the recovery. And… First one is InitLoss. And InitLoss includes P1 and P2 as inputs. As I remember. Yeah, and P4, that's not enabled at the moment. It's, uh, 7379. It should be… Should be generated already. For review. And another one is 7459. It's also open. And… Well, generally, should also be pretty much ready, so the… There is integration tests, integration test harness that's supposed to only be run once to reproduce the issue."
|
||||
},
|
||||
{
|
||||
"time": "18:16:38",
|
||||
"speaker": "Michal Smaga",
|
||||
"text": "Mm-hmm."
|
||||
},
|
||||
{
|
||||
"time": "18:16:39",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "In, like, lab condition."
|
||||
},
|
||||
{
|
||||
"time": "18:16:40",
|
||||
"speaker": "Michal Smaga",
|
||||
"text": "Can you say. Which one was the last PR?"
|
||||
},
|
||||
{
|
||||
"time": "18:16:45",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "The last one, uh, 7459. This one."
|
||||
},
|
||||
{
|
||||
"time": "18:17:00",
|
||||
"speaker": "Michal Smaga",
|
||||
"text": "Yeah, yeah, yeah, I got it, yeah, the network one, yeah."
|
||||
},
|
||||
{
|
||||
"time": "18:17:11",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "So the first, that is 7379, it should… So basically, we guess that it may be not an issue. And it's maybe an issue of slow. Slow loading and the fix itself is triggering the background will be load with the navigation itself. Because, uh, the initial… initial startup, or return from background, maybe not, uh, warming up the web view. Or, um… Or our extension. And, uh… The situation with P4 is that we may need to reload the page after, you know, after the extension is loaded, so it is applied to the page. And, uh, I was planning to investigate it further. Is there a way to run the… Plug in after the page is already loaded, maybe send another page load event. And see if it… if it just works. Uh, but the reload is there. And the feature flag."
|
||||
},
|
||||
{
|
||||
"time": "18:18:36",
|
||||
"speaker": "Michal Smaga",
|
||||
"text": "And do you think, like, uh… Are we able to detect the fourth one without the feature flag? Just to get the pixels about, like, how…"
|
||||
},
|
||||
{
|
||||
"time": "18:18:48",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Just to get the pixels… yeah, I guess so. I guess so we can make the pixel."
|
||||
},
|
||||
{
|
||||
"time": "18:18:59",
|
||||
"speaker": "Michal Smaga",
|
||||
"text": "Yeah, because it would be get, like. It's good to get the signal, like, how many of those cases they potentially would be fixed by the future flag."
|
||||
},
|
||||
{
|
||||
"time": "18:19:11",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Yeah, I agree."
|
||||
},
|
||||
{
|
||||
"time": "18:19:12",
|
||||
"speaker": "Michal Smaga",
|
||||
"text": "Yeah, but I mean, like, reloading the page is kind of, like, a risky thing, yeah, it can be disruptive, and… The question is, like, how frequently it would be."
|
||||
},
|
||||
{
|
||||
"time": "18:19:22",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Mm-hmm."
|
||||
},
|
||||
{
|
||||
"time": "18:19:23",
|
||||
"speaker": "Michal Smaga",
|
||||
"text": "Yeah, and probably we would also have, like, the question is, like, how much confidence that they are actually, like, experiencing the problem. Just not to do the the, like, the reload. When there's no… not an issue for that."
|
||||
},
|
||||
{
|
||||
"time": "18:19:57",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Okay, and the next one is the network. Network process crash. Uh, it's a bit trickier. I… I didn't finish going through it. Actually… But, uh… So general state of it, it's kind of reproduced on the integration test harness. And the fix… Seems… to fix it. So, again, it's kinda… not… non-proved concepts and kind of speculative fixes. And we are hoping to… So first of all, those should be feature flagged, just in case anything goes wrong with it. You can private selectors or whatever are disturbing. The overall extension flow, so we could disable it remotely, and uh… Yeah, so again, I'm… Oh… Not 100% sure on those, but how it is reproduced in the test harness and by the automation. It seems we could use those fixes. Another one pending, it's not opened yet, is the base URL thing. And, uh… And the speculative steps to reproduce is, uh, if we reload the, um… if we update the web extension. it changes the base URL. Because we don't have this table base irrelevant. Those… It was flagged in the early research phase. Uh, what I'm not sure with it, uh, does it harm any… Can it bring any privacy or security concerns with it if we…"
|
||||
},
|
||||
{
|
||||
"time": "18:22:09",
|
||||
"speaker": "Michal Smaga",
|
||||
"text": "But which base? I, I don't, I don't get it, like, fully, like, with me."
|
||||
},
|
||||
{
|
||||
"time": "18:22:13",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "The extension was 0. So it's UUID that's generated for the extension every time it's launched. And when it changes, it brings some… Disturbance into the web extension."
|
||||
},
|
||||
{
|
||||
"time": "18:22:28",
|
||||
"speaker": "Michal Smaga",
|
||||
"text": "Okay."
|
||||
},
|
||||
{
|
||||
"time": "18:22:29",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "And if we set it fixed as a fixed UID. For our web extension, it generally follows the WebKit rules as I understand it and may fix another part of the failures."
|
||||
},
|
||||
{
|
||||
"time": "18:22:44",
|
||||
"speaker": "Michal Smaga",
|
||||
"text": "Mhmm. But it's only only on update, like, when we uninstall and install again, right?"
|
||||
},
|
||||
{
|
||||
"time": "18:22:45",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "And, uh… Yeah, but I, uh… I can guess it may be some significant portion of users that receive the service related to the app updates. As, uh, as it was, uh, as it was… described and issued initially."
|
||||
},
|
||||
{
|
||||
"time": "18:23:14",
|
||||
"speaker": "Michal Smaga",
|
||||
"text": "Okay, so it's like, uh… 3… Three PRs with fixes. and potentially four."
|
||||
},
|
||||
{
|
||||
"time": "18:23:24",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Mmhm. network, the P1 one, uh, base URL. One for the loading. And, uh, yeah, potentially the fifth one. So, yeah, currently there is four, uh, four fixes in… in my… On my… work."
|
||||
},
|
||||
{
|
||||
"time": "18:23:53",
|
||||
"speaker": "Michal Smaga",
|
||||
"text": "So, do you have any, like, doubts, like, that, like, some of the fixes are, like, too risky, and, like, for example, the reload one? you would be not too sure about, like, shipping that one? Because I'm just, like, thinking…"
|
||||
},
|
||||
{
|
||||
"time": "18:24:05",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Uh, Zip?"
|
||||
},
|
||||
{
|
||||
"time": "18:24:07",
|
||||
"speaker": "Michal Smaga",
|
||||
"text": "thinking about, like, probably we can have the questions from Russell or someone, like. How much more time we can spend here, like, just to, like, focus on the, like, bare minimum, because probably, like, just to, like… better calculate the effort that we want to put into it."
|
||||
},
|
||||
{
|
||||
"time": "18:24:27",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Yeah, generally, we already had this question by Russell, as I mentioned, and I tried to answer it today."
|
||||
},
|
||||
{
|
||||
"time": "18:24:30",
|
||||
"speaker": "Michal Smaga",
|
||||
"text": "Yeah, yeah, yeah."
|
||||
},
|
||||
{
|
||||
"time": "18:24:37",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "No, we've seen it. Uh, so the issue here is, uh, that we cannot distribute. the failures. You cannot tell there is one main… ah, yeah, there is another. Another one… And… Great deeds. Yeah, another genuine one that is kind of proved is window git close. So the original. Window and tab merging management, uh, fix it, uh… It didn't cover every… Every issue with the pin tab, and there is still one more remaining, uh, for the window closing, and, uh, yeah, should be a short one. Uh, it should cover the genuine issue of closing in tab using the web extension."
|
||||
},
|
||||
{
|
||||
"time": "18:25:31",
|
||||
"speaker": "Michal Smaga",
|
||||
"text": "But it's only McCoy, right?"
|
||||
},
|
||||
{
|
||||
"time": "18:25:32",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "I don't know. Yeah, my question. So, yeah, that is, uh, for… Four, one, two, three, one, two, three, four main groups that are targeted here, one requiring the page reload. And the P3 that, uh, without… Context without view, it may be the pin tab. And we have one iOS of 0.03%. macOS at around 6%, but it may be wrong. And we have the other group that cannot be considered at the moment. Maybe it gets fixed with the four fixes, or maybe we receive some more data. So I try to express this point in the conversation task. But if the hypothesis are correct, we should cover most of the cases."
|
||||
},
|
||||
{
|
||||
"time": "18:26:37",
|
||||
"speaker": "Michal Smaga",
|
||||
"text": "So, do you estimate to get them done this week?"
|
||||
},
|
||||
{
|
||||
"time": "18:26:37",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "So, yeah. Yeah, so the point here is to timebox it to…"
|
||||
},
|
||||
{
|
||||
"time": "18:26:45",
|
||||
"speaker": "Michal Smaga",
|
||||
"text": "To merge it this week, and so we can, like, get it internally next week, right?"
|
||||
},
|
||||
{
|
||||
"time": "18:26:45",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Two currents. Yeah. Yeah, so if we… if we get it to the release… I mean, the data analysis, the data attribution extension, and those fixes, if we get it to internal. Today and tomorrow. Uh, we can reason about it on… Next week."
|
||||
},
|
||||
{
|
||||
"time": "18:27:11",
|
||||
"speaker": "Michal Smaga",
|
||||
"text": "Okay, so you would mean to merge it to… Release branches."
|
||||
},
|
||||
{
|
||||
"time": "18:27:17",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Yes, if it's possible."
|
||||
},
|
||||
{
|
||||
"time": "18:27:22",
|
||||
"speaker": "Michal Smaga",
|
||||
"text": "So, the two first PRs, like, one for the telemetry for the pixels, and the second with the P1 and P2, right?"
|
||||
},
|
||||
{
|
||||
"time": "18:27:31",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Um… It depends, I guess, if we can do it, if it's possible, I would give a go for all of them. Again, behind the feature flags."
|
||||
},
|
||||
{
|
||||
"time": "18:27:43",
|
||||
"speaker": "Michal Smaga",
|
||||
"text": "Yeah, let's try. So, like, I'm… I'm… I'm… I'm done, like… reading and commenting for the first PRs, there are a couple of, like. leftovers for the dead code, so please check the comments. I'll try to, like, try forcing to reproduce it."
|
||||
},
|
||||
{
|
||||
"time": "18:27:55",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Mmhm."
|
||||
},
|
||||
{
|
||||
"time": "18:28:01",
|
||||
"speaker": "Michal Smaga",
|
||||
"text": "So so I get it and then I can move to the next PR. I can focus today on that. So we have the the the chart."
|
||||
},
|
||||
{
|
||||
"time": "18:28:08",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Okay, good. And when we have those reviewed, we can open the exception and try to push it to the internal."
|
||||
},
|
||||
{
|
||||
"time": "18:28:18",
|
||||
"speaker": "Michal Smaga",
|
||||
"text": "I mean, like, if it's, like, Monday, Tuesday, you can do it probably, like, for free."
|
||||
},
|
||||
{
|
||||
"time": "18:28:24",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Mm-hmm, okay."
|
||||
},
|
||||
{
|
||||
"time": "18:28:24",
|
||||
"speaker": "Michal Smaga",
|
||||
"text": "If it's later than tomorrow. Yeah. Okay. Okay, so let's try to do that."
|
||||
},
|
||||
{
|
||||
"time": "18:28:30",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Okay, I'll… I'll keep you pinged, yeah."
|
||||
},
|
||||
{
|
||||
"time": "18:28:31",
|
||||
"speaker": "Michal Smaga",
|
||||
"text": "And… Please ping me when you have the following one, because I want to, like…"
|
||||
},
|
||||
{
|
||||
"time": "18:28:37",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Mm-hmm."
|
||||
},
|
||||
{
|
||||
"time": "18:28:38",
|
||||
"speaker": "Michal Smaga",
|
||||
"text": "Schedule the time for them, uh, like, in between my, my work, just to, just to not, like… Delay you. Uh, yeah."
|
||||
},
|
||||
{
|
||||
"time": "18:28:47",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Yeah, I guess it's… I guess it may take some time, maybe the rest of your day today, and those two PRs. Could feel it."
|
||||
},
|
||||
{
|
||||
"time": "18:28:58",
|
||||
"speaker": "Michal Smaga",
|
||||
"text": "Yeah, so I'll focus on that, not to block you, so let's push for the first two ones, and yeah."
|
||||
},
|
||||
{
|
||||
"time": "18:29:04",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Mmhm."
|
||||
},
|
||||
{
|
||||
"time": "18:29:04",
|
||||
"speaker": "Michal Smaga",
|
||||
"text": "And the others, like, later in the week."
|
||||
},
|
||||
{
|
||||
"time": "18:29:07",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Mm-hmm."
|
||||
},
|
||||
{
|
||||
"time": "18:29:08",
|
||||
"speaker": "Michal Smaga",
|
||||
"text": "Yeah, I agree."
|
||||
},
|
||||
{
|
||||
"time": "18:29:09",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "So, and yeah."
|
||||
},
|
||||
{
|
||||
"time": "18:29:10",
|
||||
"speaker": "Michal Smaga",
|
||||
"text": "Just to try to get them out as soon as possible to get some results."
|
||||
},
|
||||
{
|
||||
"time": "18:29:16",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "And yes, since it's highly speculative, I would give it another mid-mortem. So yeah, time box it to this week. I'd say to the first half of this week. Because there is not much work really to be done about it. Just, uh… Just so you know, I have, like, a huge testing harness work tree, and I'm trying to split the parts from it that reproduce one another issue and make it into…"
|
||||
},
|
||||
{
|
||||
"time": "18:29:48",
|
||||
"speaker": "Michal Smaga",
|
||||
"text": "No doubt."
|
||||
},
|
||||
{
|
||||
"time": "18:29:53",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "into digestible pull requests. But generally, most of them are kind of reproduced in the lab. But we have no any proofs that they actually match the production issues because they are based on the event sequence that we get."
|
||||
},
|
||||
{
|
||||
"time": "18:30:08",
|
||||
"speaker": "Michal Smaga",
|
||||
"text": "Yeah."
|
||||
},
|
||||
{
|
||||
"time": "18:30:14",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "We got to produce the event sequence that we are receiving, but we still cannot reason about the real issues leading to those. So, yeah, that's the state. All right, thank you. I won't take more of your time."
|
||||
},
|
||||
{
|
||||
"time": "18:30:31",
|
||||
"speaker": "Michal Smaga",
|
||||
"text": "So, after this week, you would put the, like, you would have the mid-mortem this week, or, like, next week after the…"
|
||||
},
|
||||
{
|
||||
"time": "18:30:41",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Next week, so let's try to get it out and have some data. The meeting is on Tuesday, right? So we could have the data analyzed and, uh, have a mid-mortem. and decide on the next steps whether we need. Keep on going, or we are satisfied with those, or we just give up and…"
|
||||
},
|
||||
{
|
||||
"time": "18:31:06",
|
||||
"speaker": "Michal Smaga",
|
||||
"text": "Yeah. But do you think, like, on Tuesday, you will have, like, any meaningful data? It will be, like, just out for two days. Right?"
|
||||
},
|
||||
{
|
||||
"time": "18:31:13",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Uh, yes, we should, uh, since we… we received most of the current data by Tuesday. And it didn't change significantly throughout the week. I think there is a lot of issues are reported."
|
||||
},
|
||||
{
|
||||
"time": "18:31:36",
|
||||
"speaker": "Michal Smaga",
|
||||
"text": "Okay."
|
||||
},
|
||||
{
|
||||
"time": "18:31:37",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "And there's more than enough data to analyze. So, yeah, Tuesday should be should be fine to have a big more time. I'll probably update the comments. Highlighting this."
|
||||
},
|
||||
{
|
||||
"time": "18:31:51",
|
||||
"speaker": "Michal Smaga",
|
||||
"text": "Okay, sounds good. Okay, so I'm back to reviewing it, and, like, let's… Probably tomorrow you can, like, will you be on the OE weekly?"
|
||||
},
|
||||
{
|
||||
"time": "18:32:05",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Yes, tomorrow, tomorrow, tomorrow, tomorrow is Tuesday, yes, I think so."
|
||||
},
|
||||
{
|
||||
"time": "18:32:11",
|
||||
"speaker": "Michal Smaga",
|
||||
"text": "Yeah, so we can recap the plan and see. So this is, like, your top priority, right? You're focusing on…"
|
||||
},
|
||||
{
|
||||
"time": "18:32:20",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Yeah, yeah. So, I mean, there is, uh, there is enough work for me outside of the top priority. Like where you are and pushing other stuff forward. But, yeah."
|
||||
},
|
||||
{
|
||||
"time": "18:32:39",
|
||||
"speaker": "Michal Smaga",
|
||||
"text": "Makes sense. Cool. Are you blocked by anything, or just, like, this is, like… The general, like, work is enough for you."
|
||||
},
|
||||
{
|
||||
"time": "18:32:49",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Alright. Blocked with the data missing. And, uh, so… Only the pull requests are on the plate. Bottle making it. And, uh, yeah, the gaps between the releases, so we… keep perceiving it and. Analyzing how it goes."
|
||||
},
|
||||
{
|
||||
"time": "18:33:11",
|
||||
"speaker": "Michal Smaga",
|
||||
"text": "Have you assigned me to all of the PRs? Because, uh, I see them…"
|
||||
},
|
||||
{
|
||||
"time": "18:33:15",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Not yet, I guess. Let me assign the network process. I didn't go through it myself yet, but yeah, I've assigned it to you."
|
||||
},
|
||||
{
|
||||
"time": "18:33:29",
|
||||
"speaker": "Michal Smaga",
|
||||
"text": "Yeah, I think, like, something is broken with the…"
|
||||
},
|
||||
{
|
||||
"time": "18:33:33",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Yeah, yeah, I'll… I'm on it."
|
||||
},
|
||||
{
|
||||
"time": "18:33:36",
|
||||
"speaker": "Michal Smaga",
|
||||
"text": "No, no, like, I mean, like, uh, I'm browsing through the, the, this PR, these are the PRs, and, like, I'm filtering by the assigned to me. And I only picked it up."
|
||||
},
|
||||
{
|
||||
"time": "18:33:47",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Ah, assignees. I need to assign them. We generally don't assign the PRs, just set a reviewer."
|
||||
},
|
||||
{
|
||||
"time": "18:33:54",
|
||||
"speaker": "Michal Smaga",
|
||||
"text": "I don't know, like, you have the filter, like, review requested."
|
||||
},
|
||||
{
|
||||
"time": "18:34:00",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Mm-hmm."
|
||||
},
|
||||
{
|
||||
"time": "18:34:01",
|
||||
"speaker": "Michal Smaga",
|
||||
"text": "They can…"
|
||||
},
|
||||
{
|
||||
"time": "18:34:01",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Yeah, let me just send. Yes, I need. and requests. Yeah, so there is three pull requests."
|
||||
},
|
||||
{
|
||||
"time": "18:34:07",
|
||||
"speaker": "Michal Smaga",
|
||||
"text": "Can you… can you see? So those are, like, open PRs from you all, but you have the filter for review, and it's, like, awaiting review from…"
|
||||
},
|
||||
{
|
||||
"time": "18:34:14",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Yep."
|
||||
},
|
||||
{
|
||||
"time": "18:34:18",
|
||||
"speaker": "Michal Smaga",
|
||||
"text": "Me? I only get two of them."
|
||||
},
|
||||
{
|
||||
"time": "18:34:24",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Okay. 7, 4, 5, 5, 7."
|
||||
},
|
||||
{
|
||||
"time": "18:34:26",
|
||||
"speaker": "Michal Smaga",
|
||||
"text": "Which is weird."
|
||||
},
|
||||
{
|
||||
"time": "18:34:29",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Oh, 7376 is missing for some reason. Probably you gave a review for it already. And it's waiting for…"
|
||||
},
|
||||
{
|
||||
"time": "18:34:38",
|
||||
"speaker": "Michal Smaga",
|
||||
"text": "Okay."
|
||||
},
|
||||
{
|
||||
"time": "18:34:40",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "For the resolutions. Angus."
|
||||
},
|
||||
{
|
||||
"time": "18:34:43",
|
||||
"speaker": "Michal Smaga",
|
||||
"text": "Okay, so maybe it's like, yeah."
|
||||
},
|
||||
{
|
||||
"time": "18:34:46",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Yeah, so currently two more in stock."
|
||||
},
|
||||
{
|
||||
"time": "18:34:50",
|
||||
"speaker": "Michal Smaga",
|
||||
"text": "Okay. So it's it's in the stack, so I can get them from from the list. Right?"
|
||||
},
|
||||
{
|
||||
"time": "18:34:55",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Yep."
|
||||
},
|
||||
{
|
||||
"time": "18:34:56",
|
||||
"speaker": "Michal Smaga",
|
||||
"text": "Okay, cool. Can I help you in any other way?"
|
||||
},
|
||||
{
|
||||
"time": "18:34:59",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Review stuck. Yes, stuck, stuck, stuck. Create stuck. Create stuck. And now those are in the stacks. Okay, good."
|
||||
},
|
||||
{
|
||||
"time": "18:35:15",
|
||||
"speaker": "Michal Smaga",
|
||||
"text": "Do you need any other help?"
|
||||
},
|
||||
{
|
||||
"time": "18:35:18",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Not at the moment. I'm going to update the first one, telemetry one. And give you a ping, and uh… And when I complete the third one, I'll ping you as well, and probably… Probably the window did close, should be an easy one for today. As well. If it sounds good."
|
||||
},
|
||||
{
|
||||
"time": "18:35:46",
|
||||
"speaker": "Michal Smaga",
|
||||
"text": "Okay. Okay, so I'm on the PRs. Please check the comments for the first one. I'm all moving for the second one."
|
||||
},
|
||||
{
|
||||
"time": "18:35:58",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Sure. Okay, thank you."
|
||||
},
|
||||
{
|
||||
"time": "18:36:03",
|
||||
"speaker": "Michal Smaga",
|
||||
"text": "Thank you."
|
||||
}
|
||||
]
|
||||
}
|
||||
+147
@@ -0,0 +1,147 @@
|
||||
---
|
||||
title: "Michal Smaga's Personal Meeting Room"
|
||||
date: 2026-10-19
|
||||
date_source: meeting_start_time
|
||||
zoom_note_id: "QvxllpCuTTSLGEZp-R6jQw"
|
||||
source: "https://us01mynotes.zoom.us/QvxllpCuTTSLGEZp-R6jQw"
|
||||
---
|
||||
|
||||
# Michal Smaga's Personal Meeting Room
|
||||
|
||||
[Zoom My Notes](https://us01mynotes.zoom.us/QvxllpCuTTSLGEZp-R6jQw)
|
||||
|
||||
## Transcript
|
||||
|
||||
- **18:10:01 · Michal Smaga:** Good.
|
||||
- **18:10:01 · Alex Martemyanov:** I'm pretty good. Jumping between windows. Yes.
|
||||
- **18:10:09 · Michal Smaga:** Uh, I think I'm, I'm like… done reviewing the first one about the pixel. I had the issue that I wasn't able to reproduce it, like, I was trying to kill the WebKit process.
|
||||
- **18:10:22 · Alex Martemyanov:** Mm-hmm.
|
||||
- **18:10:23 · Michal Smaga:** Do you have any, like, extra steps?
|
||||
- **18:10:27 · Alex Martemyanov:** Uh, so generally it fails from the second try on this exact test page that is attached there.
|
||||
- **18:10:37 · Michal Smaga:** So after, after I, I killed the, the, the…
|
||||
- **18:10:37 · Alex Martemyanov:** Okay.
|
||||
- **18:10:41 · Michal Smaga:** Web extension, web process. I should reload the page?
|
||||
- **18:10:47 · Alex Martemyanov:** Yes, in general.
|
||||
- **18:10:49 · Michal Smaga:** Do I need to do it, like, quickly, or do I need to, like…
|
||||
- **18:10:53 · Alex Martemyanov:** Um…
|
||||
- **18:10:53 · Michal Smaga:** Wait a bit.
|
||||
- **18:10:55 · Alex Martemyanov:** Usually… yeah. I don't know, within one second, just kill the process, then reload the page.
|
||||
- **18:11:02 · Michal Smaga:** Yeah.
|
||||
- **18:11:03 · Alex Martemyanov:** If it doesn't work from the first try, you just give it and reload again, and usually from second attempt, it does, uh… Uh, hang the… the extension. So it's not… it's not the genuine issue, so it's the…
|
||||
- **18:11:20 · Michal Smaga:** Yeah, artificial.
|
||||
- **18:11:22 · Alex Martemyanov:** artificial reproducing step that we didn't enable with the feature flag of the fix that went before, but it should be still here, and we… and allow to… To produce it. Uh, that's… So generally, yeah, I think you've seen the comment I posted to… to the… Project communication task. And the data, the data analysis.
|
||||
- **18:11:52 · Michal Smaga:** Yeah, yeah, yeah.
|
||||
- **18:11:52 · Alex Martemyanov:** So… so generally there is, uh… yeah, it's kind of heavy codecs and cloud work, and, um… I cannot… Oh. I cannot tell that I understand, like, 100% what is happening beneath, uh, under the hood, and… Um… Generally, we have reproduced most of the… of the stall issues, uh, with some… Thank you. my display on black. Wow. I just need to switch off something, I guess.
|
||||
- **18:12:35 · Michal Smaga:** I can hear you, I cannot see you.
|
||||
- **18:12:36 · Alex Martemyanov:** Hello? Yeah, I cannot see you, because… Give it a minute. Yeah. No. Fuck. And… Good morning, Mark. Sorry. One moment, Amy. I need to burn off something.
|
||||
- **18:13:10 · Michal Smaga:** Did your laptop display died?
|
||||
- **18:13:13 · Alex Martemyanov:** Not yet, I guess. I hope. Uh, here… Here we are. Uh-huh. So, we do. Yeah. All right, I'm back. And… Oh, yeah, I just got some. Testing. Fairness around here. Uh, where was I? Yeah, the issues. Uh, so generally, there's four issues in the work, and uh… One is behind the disabled feature flag. Because it reloads the page, and I don't think it's optimal. And probably a couple of more go next, and we'll leave. the smallest groups for the next iteration, I guess. So here we have to, uh… To expand the diagnostics. So generally, to fulfill the privacy triage, uh, I was requested to… To reduce what we… actually submit, and the decision was to merge the events into a single event. It should not generally harm our, uh… our data. We can lose something in case the browser crashes, or if it's reloaded. But I guess it's acceptable at this point, since we get these isolated groups already. And we just need some proofs. for the remaining and the pixels. Prior to this.
|
||||
- **18:15:02 · Michal Smaga:** Yes. So, so the first…
|
||||
- **18:15:04 · Alex Martemyanov:** Pixel fire for the pixel, yeah.
|
||||
- **18:15:06 · Michal Smaga:** First PR is the pixels, yeah? So the one from the PR.
|
||||
- **18:15:09 · Alex Martemyanov:** Yes, so the suggestion is to improve the diagnostics first, and then the stacked ones go onto it.
|
||||
- **18:15:18 · Michal Smaga:** Yeah, and what is the status of the other, like, PRs, the follow-up ones, with the fixes?
|
||||
- **18:15:24 · Alex Martemyanov:** Uh, so we have the… the recovery. And… First one is InitLoss. And InitLoss includes P1 and P2 as inputs. As I remember. Yeah, and P4, that's not enabled at the moment. It's, uh, 7379. It should be… Should be generated already. For review. And another one is 7459. It's also open. And… Well, generally, should also be pretty much ready, so the… There is integration tests, integration test harness that's supposed to only be run once to reproduce the issue.
|
||||
- **18:16:38 · Michal Smaga:** Mm-hmm.
|
||||
- **18:16:39 · Alex Martemyanov:** In, like, lab condition.
|
||||
- **18:16:40 · Michal Smaga:** Can you say. Which one was the last PR?
|
||||
- **18:16:45 · Alex Martemyanov:** The last one, uh, 7459. This one.
|
||||
- **18:17:00 · Michal Smaga:** Yeah, yeah, yeah, I got it, yeah, the network one, yeah.
|
||||
- **18:17:11 · Alex Martemyanov:** So the first, that is 7379, it should… So basically, we guess that it may be not an issue. And it's maybe an issue of slow. Slow loading and the fix itself is triggering the background will be load with the navigation itself. Because, uh, the initial… initial startup, or return from background, maybe not, uh, warming up the web view. Or, um… Or our extension. And, uh… The situation with P4 is that we may need to reload the page after, you know, after the extension is loaded, so it is applied to the page. And, uh, I was planning to investigate it further. Is there a way to run the… Plug in after the page is already loaded, maybe send another page load event. And see if it… if it just works. Uh, but the reload is there. And the feature flag.
|
||||
- **18:18:36 · Michal Smaga:** And do you think, like, uh… Are we able to detect the fourth one without the feature flag? Just to get the pixels about, like, how…
|
||||
- **18:18:48 · Alex Martemyanov:** Just to get the pixels… yeah, I guess so. I guess so we can make the pixel.
|
||||
- **18:18:59 · Michal Smaga:** Yeah, because it would be get, like. It's good to get the signal, like, how many of those cases they potentially would be fixed by the future flag.
|
||||
- **18:19:11 · Alex Martemyanov:** Yeah, I agree.
|
||||
- **18:19:12 · Michal Smaga:** Yeah, but I mean, like, reloading the page is kind of, like, a risky thing, yeah, it can be disruptive, and… The question is, like, how frequently it would be.
|
||||
- **18:19:22 · Alex Martemyanov:** Mm-hmm.
|
||||
- **18:19:23 · Michal Smaga:** Yeah, and probably we would also have, like, the question is, like, how much confidence that they are actually, like, experiencing the problem. Just not to do the the, like, the reload. When there's no… not an issue for that.
|
||||
- **18:19:57 · Alex Martemyanov:** Okay, and the next one is the network. Network process crash. Uh, it's a bit trickier. I… I didn't finish going through it. Actually… But, uh… So general state of it, it's kind of reproduced on the integration test harness. And the fix… Seems… to fix it. So, again, it's kinda… not… non-proved concepts and kind of speculative fixes. And we are hoping to… So first of all, those should be feature flagged, just in case anything goes wrong with it. You can private selectors or whatever are disturbing. The overall extension flow, so we could disable it remotely, and uh… Yeah, so again, I'm… Oh… Not 100% sure on those, but how it is reproduced in the test harness and by the automation. It seems we could use those fixes. Another one pending, it's not opened yet, is the base URL thing. And, uh… And the speculative steps to reproduce is, uh, if we reload the, um… if we update the web extension. it changes the base URL. Because we don't have this table base irrelevant. Those… It was flagged in the early research phase. Uh, what I'm not sure with it, uh, does it harm any… Can it bring any privacy or security concerns with it if we…
|
||||
- **18:22:09 · Michal Smaga:** But which base? I, I don't, I don't get it, like, fully, like, with me.
|
||||
- **18:22:13 · Alex Martemyanov:** The extension was 0. So it's UUID that's generated for the extension every time it's launched. And when it changes, it brings some… Disturbance into the web extension.
|
||||
- **18:22:28 · Michal Smaga:** Okay.
|
||||
- **18:22:29 · Alex Martemyanov:** And if we set it fixed as a fixed UID. For our web extension, it generally follows the WebKit rules as I understand it and may fix another part of the failures.
|
||||
- **18:22:44 · Michal Smaga:** Mhmm. But it's only only on update, like, when we uninstall and install again, right?
|
||||
- **18:22:45 · Alex Martemyanov:** And, uh… Yeah, but I, uh… I can guess it may be some significant portion of users that receive the service related to the app updates. As, uh, as it was, uh, as it was… described and issued initially.
|
||||
- **18:23:14 · Michal Smaga:** Okay, so it's like, uh… 3… Three PRs with fixes. and potentially four.
|
||||
- **18:23:24 · Alex Martemyanov:** Mmhm. network, the P1 one, uh, base URL. One for the loading. And, uh, yeah, potentially the fifth one. So, yeah, currently there is four, uh, four fixes in… in my… On my… work.
|
||||
- **18:23:53 · Michal Smaga:** So, do you have any, like, doubts, like, that, like, some of the fixes are, like, too risky, and, like, for example, the reload one? you would be not too sure about, like, shipping that one? Because I'm just, like, thinking…
|
||||
- **18:24:05 · Alex Martemyanov:** Uh, Zip?
|
||||
- **18:24:07 · Michal Smaga:** thinking about, like, probably we can have the questions from Russell or someone, like. How much more time we can spend here, like, just to, like, focus on the, like, bare minimum, because probably, like, just to, like… better calculate the effort that we want to put into it.
|
||||
- **18:24:27 · Alex Martemyanov:** Yeah, generally, we already had this question by Russell, as I mentioned, and I tried to answer it today.
|
||||
- **18:24:30 · Michal Smaga:** Yeah, yeah, yeah.
|
||||
- **18:24:37 · Alex Martemyanov:** No, we've seen it. Uh, so the issue here is, uh, that we cannot distribute. the failures. You cannot tell there is one main… ah, yeah, there is another. Another one… And… Great deeds. Yeah, another genuine one that is kind of proved is window git close. So the original. Window and tab merging management, uh, fix it, uh… It didn't cover every… Every issue with the pin tab, and there is still one more remaining, uh, for the window closing, and, uh, yeah, should be a short one. Uh, it should cover the genuine issue of closing in tab using the web extension.
|
||||
- **18:25:31 · Michal Smaga:** But it's only McCoy, right?
|
||||
- **18:25:32 · Alex Martemyanov:** I don't know. Yeah, my question. So, yeah, that is, uh, for… Four, one, two, three, one, two, three, four main groups that are targeted here, one requiring the page reload. And the P3 that, uh, without… Context without view, it may be the pin tab. And we have one iOS of 0.03%. macOS at around 6%, but it may be wrong. And we have the other group that cannot be considered at the moment. Maybe it gets fixed with the four fixes, or maybe we receive some more data. So I try to express this point in the conversation task. But if the hypothesis are correct, we should cover most of the cases.
|
||||
- **18:26:37 · Michal Smaga:** So, do you estimate to get them done this week?
|
||||
- **18:26:37 · Alex Martemyanov:** So, yeah. Yeah, so the point here is to timebox it to…
|
||||
- **18:26:45 · Michal Smaga:** To merge it this week, and so we can, like, get it internally next week, right?
|
||||
- **18:26:45 · Alex Martemyanov:** Two currents. Yeah. Yeah, so if we… if we get it to the release… I mean, the data analysis, the data attribution extension, and those fixes, if we get it to internal. Today and tomorrow. Uh, we can reason about it on… Next week.
|
||||
- **18:27:11 · Michal Smaga:** Okay, so you would mean to merge it to… Release branches.
|
||||
- **18:27:17 · Alex Martemyanov:** Yes, if it's possible.
|
||||
- **18:27:22 · Michal Smaga:** So, the two first PRs, like, one for the telemetry for the pixels, and the second with the P1 and P2, right?
|
||||
- **18:27:31 · Alex Martemyanov:** Um… It depends, I guess, if we can do it, if it's possible, I would give a go for all of them. Again, behind the feature flags.
|
||||
- **18:27:43 · Michal Smaga:** Yeah, let's try. So, like, I'm… I'm… I'm… I'm done, like… reading and commenting for the first PRs, there are a couple of, like. leftovers for the dead code, so please check the comments. I'll try to, like, try forcing to reproduce it.
|
||||
- **18:27:55 · Alex Martemyanov:** Mmhm.
|
||||
- **18:28:01 · Michal Smaga:** So so I get it and then I can move to the next PR. I can focus today on that. So we have the the the chart.
|
||||
- **18:28:08 · Alex Martemyanov:** Okay, good. And when we have those reviewed, we can open the exception and try to push it to the internal.
|
||||
- **18:28:18 · Michal Smaga:** I mean, like, if it's, like, Monday, Tuesday, you can do it probably, like, for free.
|
||||
- **18:28:24 · Alex Martemyanov:** Mm-hmm, okay.
|
||||
- **18:28:24 · Michal Smaga:** If it's later than tomorrow. Yeah. Okay. Okay, so let's try to do that.
|
||||
- **18:28:30 · Alex Martemyanov:** Okay, I'll… I'll keep you pinged, yeah.
|
||||
- **18:28:31 · Michal Smaga:** And… Please ping me when you have the following one, because I want to, like…
|
||||
- **18:28:37 · Alex Martemyanov:** Mm-hmm.
|
||||
- **18:28:38 · Michal Smaga:** Schedule the time for them, uh, like, in between my, my work, just to, just to not, like… Delay you. Uh, yeah.
|
||||
- **18:28:47 · Alex Martemyanov:** Yeah, I guess it's… I guess it may take some time, maybe the rest of your day today, and those two PRs. Could feel it.
|
||||
- **18:28:58 · Michal Smaga:** Yeah, so I'll focus on that, not to block you, so let's push for the first two ones, and yeah.
|
||||
- **18:29:04 · Alex Martemyanov:** Mmhm.
|
||||
- **18:29:04 · Michal Smaga:** And the others, like, later in the week.
|
||||
- **18:29:07 · Alex Martemyanov:** Mm-hmm.
|
||||
- **18:29:08 · Michal Smaga:** Yeah, I agree.
|
||||
- **18:29:09 · Alex Martemyanov:** So, and yeah.
|
||||
- **18:29:10 · Michal Smaga:** Just to try to get them out as soon as possible to get some results.
|
||||
- **18:29:16 · Alex Martemyanov:** And yes, since it's highly speculative, I would give it another mid-mortem. So yeah, time box it to this week. I'd say to the first half of this week. Because there is not much work really to be done about it. Just, uh… Just so you know, I have, like, a huge testing harness work tree, and I'm trying to split the parts from it that reproduce one another issue and make it into…
|
||||
- **18:29:48 · Michal Smaga:** No doubt.
|
||||
- **18:29:53 · Alex Martemyanov:** into digestible pull requests. But generally, most of them are kind of reproduced in the lab. But we have no any proofs that they actually match the production issues because they are based on the event sequence that we get.
|
||||
- **18:30:08 · Michal Smaga:** Yeah.
|
||||
- **18:30:14 · Alex Martemyanov:** We got to produce the event sequence that we are receiving, but we still cannot reason about the real issues leading to those. So, yeah, that's the state. All right, thank you. I won't take more of your time.
|
||||
- **18:30:31 · Michal Smaga:** So, after this week, you would put the, like, you would have the mid-mortem this week, or, like, next week after the…
|
||||
- **18:30:41 · Alex Martemyanov:** Next week, so let's try to get it out and have some data. The meeting is on Tuesday, right? So we could have the data analyzed and, uh, have a mid-mortem. and decide on the next steps whether we need. Keep on going, or we are satisfied with those, or we just give up and…
|
||||
- **18:31:06 · Michal Smaga:** Yeah. But do you think, like, on Tuesday, you will have, like, any meaningful data? It will be, like, just out for two days. Right?
|
||||
- **18:31:13 · Alex Martemyanov:** Uh, yes, we should, uh, since we… we received most of the current data by Tuesday. And it didn't change significantly throughout the week. I think there is a lot of issues are reported.
|
||||
- **18:31:36 · Michal Smaga:** Okay.
|
||||
- **18:31:37 · Alex Martemyanov:** And there's more than enough data to analyze. So, yeah, Tuesday should be should be fine to have a big more time. I'll probably update the comments. Highlighting this.
|
||||
- **18:31:51 · Michal Smaga:** Okay, sounds good. Okay, so I'm back to reviewing it, and, like, let's… Probably tomorrow you can, like, will you be on the OE weekly?
|
||||
- **18:32:05 · Alex Martemyanov:** Yes, tomorrow, tomorrow, tomorrow, tomorrow is Tuesday, yes, I think so.
|
||||
- **18:32:11 · Michal Smaga:** Yeah, so we can recap the plan and see. So this is, like, your top priority, right? You're focusing on…
|
||||
- **18:32:20 · Alex Martemyanov:** Yeah, yeah. So, I mean, there is, uh, there is enough work for me outside of the top priority. Like where you are and pushing other stuff forward. But, yeah.
|
||||
- **18:32:39 · Michal Smaga:** Makes sense. Cool. Are you blocked by anything, or just, like, this is, like… The general, like, work is enough for you.
|
||||
- **18:32:49 · Alex Martemyanov:** Alright. Blocked with the data missing. And, uh, so… Only the pull requests are on the plate. Bottle making it. And, uh, yeah, the gaps between the releases, so we… keep perceiving it and. Analyzing how it goes.
|
||||
- **18:33:11 · Michal Smaga:** Have you assigned me to all of the PRs? Because, uh, I see them…
|
||||
- **18:33:15 · Alex Martemyanov:** Not yet, I guess. Let me assign the network process. I didn't go through it myself yet, but yeah, I've assigned it to you.
|
||||
- **18:33:29 · Michal Smaga:** Yeah, I think, like, something is broken with the…
|
||||
- **18:33:33 · Alex Martemyanov:** Yeah, yeah, I'll… I'm on it.
|
||||
- **18:33:36 · Michal Smaga:** No, no, like, I mean, like, uh, I'm browsing through the, the, this PR, these are the PRs, and, like, I'm filtering by the assigned to me. And I only picked it up.
|
||||
- **18:33:47 · Alex Martemyanov:** Ah, assignees. I need to assign them. We generally don't assign the PRs, just set a reviewer.
|
||||
- **18:33:54 · Michal Smaga:** I don't know, like, you have the filter, like, review requested.
|
||||
- **18:34:00 · Alex Martemyanov:** Mm-hmm.
|
||||
- **18:34:01 · Michal Smaga:** They can…
|
||||
- **18:34:01 · Alex Martemyanov:** Yeah, let me just send. Yes, I need. and requests. Yeah, so there is three pull requests.
|
||||
- **18:34:07 · Michal Smaga:** Can you… can you see? So those are, like, open PRs from you all, but you have the filter for review, and it's, like, awaiting review from…
|
||||
- **18:34:14 · Alex Martemyanov:** Yep.
|
||||
- **18:34:18 · Michal Smaga:** Me? I only get two of them.
|
||||
- **18:34:24 · Alex Martemyanov:** Okay. 7, 4, 5, 5, 7.
|
||||
- **18:34:26 · Michal Smaga:** Which is weird.
|
||||
- **18:34:29 · Alex Martemyanov:** Oh, 7376 is missing for some reason. Probably you gave a review for it already. And it's waiting for…
|
||||
- **18:34:38 · Michal Smaga:** Okay.
|
||||
- **18:34:40 · Alex Martemyanov:** For the resolutions. Angus.
|
||||
- **18:34:43 · Michal Smaga:** Okay, so maybe it's like, yeah.
|
||||
- **18:34:46 · Alex Martemyanov:** Yeah, so currently two more in stock.
|
||||
- **18:34:50 · Michal Smaga:** Okay. So it's it's in the stack, so I can get them from from the list. Right?
|
||||
- **18:34:55 · Alex Martemyanov:** Yep.
|
||||
- **18:34:56 · Michal Smaga:** Okay, cool. Can I help you in any other way?
|
||||
- **18:34:59 · Alex Martemyanov:** Review stuck. Yes, stuck, stuck, stuck. Create stuck. Create stuck. And now those are in the stacks. Okay, good.
|
||||
- **18:35:15 · Michal Smaga:** Do you need any other help?
|
||||
- **18:35:18 · Alex Martemyanov:** Not at the moment. I'm going to update the first one, telemetry one. And give you a ping, and uh… And when I complete the third one, I'll ping you as well, and probably… Probably the window did close, should be an easy one for today. As well. If it sounds good.
|
||||
- **18:35:46 · Michal Smaga:** Okay. Okay, so I'm on the PRs. Please check the comments for the first one. I'm all moving for the second one.
|
||||
- **18:35:58 · Alex Martemyanov:** Sure. Okay, thank you.
|
||||
- **18:36:03 · Michal Smaga:** Thank you.
|
||||
+4
@@ -3,6 +3,10 @@
|
||||
"note_id": "gBBa-iiUQLycw55WRV1tnw",
|
||||
"title": "Apple Weekly Team Meeting - Zoom ID 2026-10-20 20:01(GMT+6:00)",
|
||||
"meeting_date": "2026-10-20",
|
||||
"meeting_date_source": "title_date",
|
||||
"meeting_start_at": "2026-10-20T13:59:12.000Z",
|
||||
"note_created_at": "2026-10-20T14:01:14.778Z",
|
||||
"note_modified_at": "2026-10-20T15:08:30.724Z",
|
||||
"source_url": "https://us01mynotes.zoom.us/gBBa-iiUQLycw55WRV1tnw",
|
||||
"transcript": [
|
||||
{
|
||||
|
||||
+1
@@ -1,6 +1,7 @@
|
||||
---
|
||||
title: "Apple Weekly Team Meeting - Zoom ID 2026-10-20 20:01(GMT+6:00)"
|
||||
date: 2026-10-20
|
||||
date_source: title_date
|
||||
zoom_note_id: "gBBa-iiUQLycw55WRV1tnw"
|
||||
source: "https://us01mynotes.zoom.us/gBBa-iiUQLycw55WRV1tnw"
|
||||
---
|
||||
|
||||
+1623
File diff suppressed because it is too large.
Load diff
+336
@@ -0,0 +1,336 @@
|
||||
---
|
||||
title: "Dominik Kapusta's Personal Meeting Room"
|
||||
date: 2026-10-20
|
||||
date_source: meeting_start_time
|
||||
zoom_note_id: "Mg62hl1GSI2gw4XeGvHAsg"
|
||||
source: "https://us01mynotes.zoom.us/Mg62hl1GSI2gw4XeGvHAsg"
|
||||
---
|
||||
|
||||
# Dominik Kapusta's Personal Meeting Room
|
||||
|
||||
[Zoom My Notes](https://us01mynotes.zoom.us/Mg62hl1GSI2gw4XeGvHAsg)
|
||||
|
||||
## Transcript
|
||||
|
||||
- **15:04:34 · Dominik Kapusta:** How are you?
|
||||
- **15:04:35 · Alex Martemyanov:** I don't know. Pretty, pretty fine, I guess. Mmhm. Still a lot, a lot of things. I'm going through my head.
|
||||
- **15:04:50 · Dominik Kapusta:** Hmm.
|
||||
- **15:04:51 · Alex Martemyanov:** And… That gives me some… Darn this. Um, but…
|
||||
- **15:04:58 · Dominik Kapusta:** What is going on?
|
||||
- **15:05:00 · Alex Martemyanov:** Yeah, overall… overall, I think it's… It's going pretty fine. There is some… Operational… issues, um, that I'm trying to get resolved. But otherwise… We should be pretty fine. So yeah, the top.
|
||||
- **15:05:22 · Dominik Kapusta:** um… Is this related to… Sorry. Yeah, I mean, go on. We'll get to that.
|
||||
- **15:05:24 · Alex Martemyanov:** The top priority. Yeah, so the top priority thing, uh… Basically… basically, I'm getting pinged by, uh, Russell. Like… How long the project is gonna take anymore.
|
||||
- **15:05:45 · Dominik Kapusta:** Yeah, I saw that.
|
||||
- **15:05:46 · Alex Martemyanov:** I'm trying to give some reasoning behind it. So basically. We have two-week spans for testing the data and releasing the fixes, and you have eight theories to… to work on, and basically nobody.
|
||||
- **15:06:03 · Dominik Kapusta:** Mm-hmm.
|
||||
- **15:06:07 · Alex Martemyanov:** have an idea on what actually is happening under the hood. So… I guess it should be fine. I'm trying to get the project updated and timebox the current.
|
||||
- **15:06:19 · Dominik Kapusta:** Mm-hmm.
|
||||
- **15:06:22 · Alex Martemyanov:** Fixes for this week, and uh… Try to get them try to merge it to the release today. So we have the data and… Fixes. the next… What are these? So, to the next… for the next OE meeting, we'll have… data to analyze and to run another mid-mortem to decide on the project life.
|
||||
- **15:06:49 · Dominik Kapusta:** What day is the OE meeting on?
|
||||
- **15:06:52 · Alex Martemyanov:** Tuesday, late.
|
||||
- **15:06:53 · Dominik Kapusta:** Tuesday, okay. Okay, okay.
|
||||
- **15:06:56 · Alex Martemyanov:** Uh, so yeah, today, uh, is gonna be… Another call. I'm gonna talk about it again. And I guess we should be fine. There is still a lot of unknowns, and I'm trying to fix it in the last minute, just… Just talking to Michal at the moment about the… Fixes, because… the telemetry update for the request is kinda approved as of yesterday, but today I started to reason about it again, and found some issues that we may have with it, that may be polluting our data, and we may need to…
|
||||
- **15:07:32 · Dominik Kapusta:** Oh.
|
||||
- **15:07:39 · Alex Martemyanov:** Tune it a little bit more. Uh, so it's… Could be more accurate, especially related to iOS background loading. Because it's handled another way than on macOS, and I just haven't talked about it. Uh, so… Otherwise, we have four, I guess. One is merged. Do this up. Three fixes going today, and probably one or two more. Going later. So, getting to the next release.
|
||||
- **15:08:16 · Dominik Kapusta:** Mm-hmm.
|
||||
- **15:08:19 · Alex Martemyanov:** Oh… It's kind of heavy from the… Mental perspective. Because, uh… Thinking of it from, uh… like, 2 years ago, without all this AI stuff. the project would really take at least half a year, or maybe even more, of such a scale, and it's comparable to the navigation refactoring, or so, just to dig inside it. And of course, I cannot.
|
||||
- **15:08:42 · Dominik Kapusta:** Thank you. Yeah. Okay. Mm-hmm. Yeah, yeah.
|
||||
- **15:08:53 · Alex Martemyanov:** Digest everything in the web extension stack and everything that's getting fixed and tested and everything.
|
||||
- **15:08:58 · Dominik Kapusta:** Sure.
|
||||
- **15:09:01 · Alex Martemyanov:** But I have to go through the pull requests, switch the chats, and uh…
|
||||
- **15:09:06 · Dominik Kapusta:** No.
|
||||
- **15:09:06 · Alex Martemyanov:** Get it through my head, which is kind of exhausting.
|
||||
- **15:09:12 · Dominik Kapusta:** Yeah, yeah, totally.
|
||||
- **15:09:12 · Alex Martemyanov:** And, uh… In the background, I'm also going through the AUR stuff. Which is some tests. As you've seen.
|
||||
- **15:09:26 · Dominik Kapusta:** Mm-hmm. Oh, yes, I have… I have some, uh, code reviews. I owe you some code reviews, I guess? No, not anymore. Okay. Ah, yeah, I… yeah, yeah, yeah, that was one that I asked you to… to assign to someone through my OS, yeah.
|
||||
- **15:09:26 · Alex Martemyanov:** These are some tasks. I… no, you don't. I actually… Yeah, there's one that I already sent from you, and another one was just, uh… Uh… so you were just… In the copy of it.
|
||||
- **15:09:50 · Dominik Kapusta:** Mmhm.
|
||||
- **15:09:51 · Alex Martemyanov:** And I applied the self-review. Uh, process, because the change is only included in the test.
|
||||
- **15:09:55 · Dominik Kapusta:** True. Yes, yes, sounds good.
|
||||
- **15:09:58 · Alex Martemyanov:** Ah, there is still a deck of pull requests still up. Sure. How many? In 12 years. Yeah, happening in parallel. I also… I also try to keep the wheels rolling on the unit test thing, because if it gets outdated, it would require to start the whole thing from scratch.
|
||||
- **15:10:34 · Dominik Kapusta:** Yeah, yeah, right.
|
||||
- **15:10:37 · Alex Martemyanov:** Okay. Okay. Probably later today or tomorrow. And looking forward for the holidays. And this was kind of another topic to discuss later today.
|
||||
- **15:10:51 · Dominik Kapusta:** Alright, what's… What's on your plate for the Hug Days?
|
||||
- **15:11:01 · Alex Martemyanov:** Yeah, from the good side of all this work, I kind of cleaned up my backlog, almost. There is still fire window animation, and uh… And, uh… And I'm failing Excel reports. And feature flags, basically. All the other stuff is currently inactive, and uh… pull requests are… open or about to get open. Uh, so… it should simplify my life a lot.
|
||||
- **15:11:37 · Dominik Kapusta:** Nice.
|
||||
- **15:11:37 · Alex Martemyanov:** I hope. From the hack days, from the hack days, I basically run AI. Yesterday's night, I just… Thank you.
|
||||
- **15:11:48 · Dominik Kapusta:** Mmhm.
|
||||
- **15:11:49 · Alex Martemyanov:** Get another medical phase, I guess. Burst on the ideas and evaluate it around 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11.
|
||||
- **15:11:53 · Dominik Kapusta:** No.
|
||||
- **15:12:05 · Alex Martemyanov:** Um… 11. It is. So… I'm thinking how to get it not wasted because some of them may be viable and some of them may need. Some. ship reviews or iteration with the design team, and I am just wondering… I think the macOS browser kinda… active development on Pose. I mean, not bug fixing, but adding new features. Mm-hmm. But still we have this 3D delight highlighted by Gabriel and.
|
||||
- **15:12:47 · Dominik Kapusta:** Yeah. Oh. Yep. But the macOS development… macOS development is not on pause.
|
||||
- **15:12:52 · Alex Martemyanov:** I see that I'm right. Alright. It's, uh, deprioritized, or… how's it called? So, there is… Yeah, there is, there is, there is.
|
||||
- **15:13:12 · Dominik Kapusta:** I don't think I understand that. What do you mean by… But development is on hold.
|
||||
- **15:13:19 · Alex Martemyanov:** I mean, is it, uh, real to get, uh… Some new features for macOS browser released. Or is it just this demo stuff and that's it?
|
||||
- **15:13:31 · Dominik Kapusta:** Mmm… I… I'd like to say, I don't think it's necessarily true, but, um… Well, it depends on the feature, probably, that's demoed. Um… There are some… well, there is a backlog of. macOS… potential macOS projects. if you… if you go to… well, so, this is part of our rubric, but within this our rubric, I'm also making this… Digests. of macOS-only projects, and the latest one, which is probably from… September is… Here. And… So the list of projects in this task is taken from our rubric and they are… ordered by the score in the rubric. So, from the top… and there are… yeah, like, macOS Native, the projects in this list don't depend on each other or on design projects. Unless specified otherwise. And from the top. You have password manager extensions, which is a big deal, of course. The next one is import history from third-party browsers. This is being picked up, this is being worked on by Andre. The next one is force websites to use dark mode. We will actually be removing this… current experience, which is internal, and replacing it with the Dark Reader extension, a proper, regular Dark Reader extension that works just fine. In our browser right now. And then we… and then the actual features start. Which is tab groups. And the prerequisite to tab groups is multi-select on tabs. Selecting and dragging multiple tabs at once. And this is… I think it's very hard to do well, because there will be plenty of… Uh, quirks related with… to the… look and feel of that field, essentially. The interaction…
|
||||
- **15:16:01 · Alex Martemyanov:** Metal… What do you think about me stealing some of those, like, tab groups and multi-select to my Hug Days project? And, uh… Trying to hook it and basically it gets impacted. They all have objective in such way to get to continue basically the development as an extra priority.
|
||||
- **15:16:17 · Dominik Kapusta:** Thank you. Yeah. Yeah. Okay. Yeah, yeah. Uh…
|
||||
- **15:16:23 · Alex Martemyanov:** I mean, just an idea.
|
||||
- **15:16:26 · Dominik Kapusta:** I can't say it will work. But… You could never… you could still just… Just give it a try because it counts, like whatever you do. For Hug Days, that's… I mean, for Hug Days, you can bring your own ideas, but you can as well just accelerate existing roadmaps, and this is exactly it. I, for instance, once I teamed up with Shane, and we did the… NewTapPage prototype? Something like that. And then we turned it into a proper NewTapPage, uh… HTML NewTapPage project.
|
||||
- **15:17:04 · Alex Martemyanov:** Mm-hmm.
|
||||
- **15:17:05 · Dominik Kapusta:** So… so you could… if you feel like working on… selecting and dragging multiple tabs at once, that would be great, because I think everyone is afraid of that. And if you could just… just do it, then that would be an amazing addition. And I think this is also something that we could ship independently. We don't need tab groups to ship this thing. This is why it's extracted as a separate project.
|
||||
- **15:17:35 · Alex Martemyanov:** Mmhm. Well, okay, then it sounds like an idea. Oh… Nice. Nice. And, uh, so virtually… Actually, the list of the experiments I've had. I may try to demo something. Uh, so… So, basically, let me share my screen, I guess. Craft recording, system settings. Sure. Okay, can you see it?
|
||||
- **15:18:18 · Dominik Kapusta:** Yes.
|
||||
- **15:18:19 · Alex Martemyanov:** Yeah, so, yeah, first of all, it's running VS Code.
|
||||
- **15:18:23 · Dominik Kapusta:** Of course.
|
||||
- **15:18:24 · Alex Martemyanov:** Yeah, and trying not to open Xcode. I just demoed Xcode to my wife yesterday evening, trying to describe what am I doing and why, showing all these glitches and tabs blinking.
|
||||
- **15:18:37 · Dominik Kapusta:** And… the…
|
||||
- **15:18:40 · Alex Martemyanov:** Like the best ID by Apple.
|
||||
- **15:18:43 · Dominik Kapusta:** Mmhm.
|
||||
- **15:18:44 · Alex Martemyanov:** She was very laughing about it. Like, yeah, Apple's really make makes an amazing stuff.
|
||||
- **15:18:51 · Dominik Kapusta:** No.
|
||||
- **15:18:52 · Alex Martemyanov:** And, uh, yeah, me complaining that nobody really understands it. And still prefers to use Xcode. But yeah, anyways, it's working, debugging. Yeah, I can jump to the symbols here. And something I'm going to demo in today's Apple. Apple Weekly. Uh, on the… in the post-mortem, showing the actual results and, uh, sharing the… In the repo, this can be used. So, basically, it uses, uh, Git hooks to install this extension to every, uh, every checkout I make locally.
|
||||
- **15:19:23 · Dominik Kapusta:** Mm-hmm.
|
||||
- **15:19:32 · Alex Martemyanov:** And it just works. Uh, I also made a helper or work trees for, uh, this, uh.
|
||||
- **15:19:36 · Dominik Kapusta:** Okay.
|
||||
- **15:19:41 · Alex Martemyanov:** How is it called? Raycast.
|
||||
- **15:19:42 · Dominik Kapusta:** Nice. Yeah. Yeah, I like that. Mm-hmm.
|
||||
- **15:19:44 · Alex Martemyanov:** Yes, so we can search any, like, fire, something, it filters the active work trees, showing the state, and I can directly open it with VS Code, or Explode, or Terminal, or even delete ones.
|
||||
- **15:19:51 · Dominik Kapusta:** Hmm. Nice. Yeah, yeah. Haha, cool.
|
||||
- **15:19:58 · Alex Martemyanov:** Oh. So this build succeeded. I guess it's launching. Is it launching? Very much.
|
||||
- **15:20:13 · Dominik Kapusta:** I don't know.
|
||||
- **15:20:14 · Alex Martemyanov:** I guess it's not launching, just building. And yeah, so this still issue of resolving packages. Basically, the benefits we would get if… Migrated to SPM, getting rid of this stage that eats like ten seconds. But otherwise, it's working. And we… what we have else for this while it's loading. No one's listening. That's fine, I guess. Yeah, it's launching. Here… here we are.
|
||||
- **15:21:07 · Dominik Kapusta:** Mm-hmm.
|
||||
- **15:21:08 · Alex Martemyanov:** Yeah, something that I was doing for this project is the burn animation here.
|
||||
- **15:21:08 · Dominik Kapusta:** Nice.
|
||||
- **15:21:16 · Alex Martemyanov:** So it's like burning the window. Uh, completely not… not going through it, but when the fire animation goes and, uh, just…
|
||||
- **15:21:25 · Dominik Kapusta:** Ah, nice. You know.
|
||||
- **15:21:28 · Alex Martemyanov:** clears it behind.
|
||||
- **15:21:30 · Dominik Kapusta:** Oh man, that's so great!
|
||||
- **15:21:32 · Alex Martemyanov:** And there is one more thing.
|
||||
- **15:21:35 · Dominik Kapusta:** It's… just one thing, it's not looking… it's not looking super sharp while you're sharing the screen, so maybe worth recording an animation and just sharing. somewhere.
|
||||
- **15:21:47 · Alex Martemyanov:** Yeah, maybe there is actually a choice of animation and we can do this.
|
||||
- **15:21:53 · Dominik Kapusta:** Awesome.
|
||||
- **15:21:54 · Alex Martemyanov:** Or we can do what? we can do… this… Okay.
|
||||
- **15:22:05 · Dominik Kapusta:** Nice.
|
||||
- **15:22:05 · Alex Martemyanov:** I just was thinking it would be, it could be nice to bring it to… to production, generally.
|
||||
- **15:22:13 · Dominik Kapusta:** Mmhm.
|
||||
- **15:22:13 · Alex Martemyanov:** And, uh, there is another fix of the… A link preview that shows the link text on the left. Bottom corner.
|
||||
- **15:22:24 · Dominik Kapusta:** Mm-hmm.
|
||||
- **15:22:24 · Alex Martemyanov:** And if you put the cursor in the left down corner, it's overlapping. And so adding another window, I guess it should have a small quick ship review and just go to production since we have a task for it in the backlog.
|
||||
- **15:22:31 · Dominik Kapusta:** Yeah, okay.
|
||||
- **15:22:42 · Alex Martemyanov:** But the fire, maybe I should talk to Stephen, I guess, just suggesting it as an improvement and show a demo.
|
||||
- **15:22:43 · Dominik Kapusta:** Okay. Mm-hmm.
|
||||
- **15:22:54 · Alex Martemyanov:** And we may… Mayrama project, maybe… Make it a little bit sharper. Or make some extra tuning. but, yeah. Otherwise, the principle is pretty simple. We are just… instead of all this, uh… jumping across, uh… the animation layer, tabs, tab bar, and everything, it just makes a snapshot, and… deals animation on top of it, hiding window instantaneously, doing all the job behind the scenes.
|
||||
- **15:23:20 · Dominik Kapusta:** Mm-hmm, yeah, yeah. Sounds simple, now that you've said that.
|
||||
- **15:23:28 · Alex Martemyanov:** Yeah, basically everything's just one shot made by AI.
|
||||
- **15:23:29 · Dominik Kapusta:** It's just. Mmhm. Yeah, yeah.
|
||||
- **15:23:35 · Alex Martemyanov:** Another thing I made is, uh… reviving the old projects on the browser profiles and dedicated apps for websites.
|
||||
- **15:23:45 · Dominik Kapusta:** Mmhm.
|
||||
- **15:23:46 · Alex Martemyanov:** and rewriting it using the web storage, or how is it called? Basically a FHIR window, but a stored FHIR window with naming profiles. It is… it was also a… feature user were asking for for a long time, I guess.
|
||||
- **15:24:05 · Dominik Kapusta:** So what exactly? Like a separate storage?
|
||||
- **15:24:07 · Alex Martemyanov:** Uh, profiles. Profiles, separate storage, yes. And, uh, dedicated apps, actually, that Safari does.
|
||||
- **15:24:09 · Dominik Kapusta:** Profiles, okay. Yeah, yeah, yeah, yeah. Yes. Yes.
|
||||
- **15:24:18 · Alex Martemyanov:** Uh, what else was there?
|
||||
- **15:24:19 · Dominik Kapusta:** Profiles is a big deal, because profiles can be understood in various ways, and one of the ways is just separate instances of the app, really, with separate bookmarks, separate settings, and so on and so on. Umm. Yeah, okay.
|
||||
- **15:24:37 · Alex Martemyanov:** Yeah, another one was bookmarks and history search from the menus and the bookmarks bar when you start typing, like in the help menu.
|
||||
- **15:24:44 · Dominik Kapusta:** Mm-hmm. Mmhm.
|
||||
- **15:24:48 · Alex Martemyanov:** And it searches… Bookmarklets. I guess that would require privacy triage or security triage.
|
||||
- **15:24:58 · Dominik Kapusta:** Probably not. I'm not sure, because Windows supports it.
|
||||
- **15:25:03 · Alex Martemyanov:** Hmm, okay.
|
||||
- **15:25:03 · Dominik Kapusta:** I've just, I've just, I've just tested it last week, because we needed something. I don't remember why, but the topic of bookmarklets appeared, and I was testing Windows, and they just support it, so…
|
||||
- **15:25:17 · Alex Martemyanov:** Thank you.
|
||||
- **15:25:19 · Dominik Kapusta:** Maybe it was because they moved to Chromium, I don't know. Yeah, let me quickly check.
|
||||
- **15:25:19 · Alex Martemyanov:** Okay, that should be fine then. Yeah, for sure, Chromium does support it.
|
||||
- **15:25:26 · Dominik Kapusta:** Oh, my God. Yeah, yeah, yeah, of course, of course.
|
||||
- **15:25:29 · Alex Martemyanov:** But from our side, it may require some extra precautions, like security or privacy.
|
||||
- **15:25:38 · Dominik Kapusta:** Mm-hmm.
|
||||
- **15:25:38 · Alex Martemyanov:** Because they are not Chromium, essentially.
|
||||
- **15:25:40 · Dominik Kapusta:** Yeah. This is the issue that we got on Reddit. And, uh… And I had a task, I had a task to scope a project to support bookmarklets.
|
||||
- **15:25:52 · Alex Martemyanov:** Mm-hmm. Okay, and uh… What else? Basically, the last thing was the tab groups, research.
|
||||
- **15:26:09 · Dominik Kapusta:** Mm-hmm.
|
||||
- **15:26:10 · Alex Martemyanov:** And, uh, it's… Didn't produce any. testable thing, but anyways, I think that should be more than enough for a demo, and maybe even grow to some projects like our groups, for example.
|
||||
- **15:26:20 · Dominik Kapusta:** Yeah, totally. Mm-hmm. Mm-hmm. Yeah, sure.
|
||||
- **15:26:27 · Alex Martemyanov:** So, yeah, that's how the late night went yesterday.
|
||||
- **15:26:31 · Dominik Kapusta:** just. Just, just a thought that… We've had a couple of… Hug Days demos for type groups already, in the past Hug Days. So, just so you know, um…
|
||||
- **15:26:43 · Alex Martemyanov:** Yeah, sure.
|
||||
- **15:26:48 · Dominik Kapusta:** I don't know what to say. I just wanted to say that we've seen it a couple of times, nothing happened out of it. Probably because there's always more important work to do. But I think… If you would be able to add multiple selection. And drag and drop for multiple tabs at once, that would be a killer feature, that would be something that we could totally just add. to the browser right now, which… because it's more… it's much simpler than tab groups, right? Conceptually. Just a…
|
||||
- **15:27:25 · Alex Martemyanov:** Yep.
|
||||
- **15:27:26 · Dominik Kapusta:** a single interaction, really, yeah. So if you want to make impact quickly, then that would be simple. And the tab groups… we did tab groups a few times, so… and of course, you can do tab groups, everyone knows that. You can do tab groups.
|
||||
- **15:27:26 · Alex Martemyanov:** Yeah, you're right.
|
||||
- **15:27:41 · Dominik Kapusta:** Um… No.
|
||||
- **15:27:43 · Alex Martemyanov:** Yeah, there is one… one more thing I tried. It's basically the raycast, and uh… Integration. Like… Tapping.
|
||||
- **15:27:57 · Dominik Kapusta:** Nice.
|
||||
- **15:27:57 · Alex Martemyanov:** Dr. Yai. Searching… or bookmark search. And the same, basically, for the, uh… Or, how is it called? Spotlight. Yeah, so I'm also thinking if it could be… somehow released, or… I don't know. Probably should go through the product.
|
||||
- **15:28:35 · Dominik Kapusta:** Yeah, but… so that Spotlight plugin… it would be shipped with the app, and then Spotlight would… get extra functionality if DuckDuckGo is installed? Mm-hmm.
|
||||
- **15:28:45 · Alex Martemyanov:** Uh, yeah, Spotlight is… Spotlight is shipped within the app, and Raycast needs an extension.
|
||||
- **15:28:50 · Dominik Kapusta:** Mmhm. Okay, yeah.
|
||||
- **15:28:54 · Alex Martemyanov:** distributed through the Raycast store.
|
||||
- **15:28:57 · Dominik Kapusta:** Right. Yeah, that Spotlight plugin would be cool, for sure. So I guess it's just a target in the app, right? Like some… Up extension, something like that.
|
||||
- **15:29:08 · Alex Martemyanov:** Uh… Probably.
|
||||
- **15:29:10 · Dominik Kapusta:** Mm-hmm. Okay. Yeah, sure.
|
||||
- **15:29:11 · Alex Martemyanov:** I haven't seen the code.
|
||||
- **15:29:16 · Dominik Kapusta:** Oh, okay. Funny. Great.
|
||||
- **15:29:22 · Alex Martemyanov:** Yeah, so… So that's the plan for the holidays, I think should be plenty.
|
||||
- **15:29:27 · Dominik Kapusta:** Mm-hmm.
|
||||
- **15:29:30 · Alex Martemyanov:** And, uh… And yeah, we have the upcoming… Performance review, right?
|
||||
- **15:29:37 · Dominik Kapusta:** Yes, we do. And I would like you to… Spend a moment. This week. Probably. Well, if not this week, then you'll have to do it on Monday, which is… which may be tricky, I don't know, but Monday will be the due date for your self-reflection, which I think now is called self-assessment. One second.
|
||||
- **15:30:05 · Alex Martemyanov:** Mm-hmm.
|
||||
- **15:30:06 · Dominik Kapusta:** uh… Oh. Where is it? I don't know. Ah, I know. One second. self assessment template. Yes. Here's the link. There are also… Trainings. For on the performance review this week. I don't know the dates, but… It's happening. Performance review trainings.
|
||||
- **15:30:51 · Alex Martemyanov:** Mm-hmm. And that's basically the usual stuff.
|
||||
- **15:31:00 · Dominik Kapusta:** Thursday, 9am ET. That's… late for you. 7:30, 7:00, 7:00 PM, I guess.
|
||||
- **15:31:15 · Alex Martemyanov:** 9 a.m. ET. ET, 9… AM. Yeah, 7, it's fine.
|
||||
- **15:31:26 · Dominik Kapusta:** So… It's the usual stuff. But… But, yeah, uh… There are also recordings here. And, uh… The thing with the self-assessment thingy is that the template is new. And it's shorter, it's supposed to be shorter than the self-reflection. You have these five… Five sections, project management, which essentially map to dimensions. And then the looking ahead section, and you're supposed to fill each of them with… Well, with your assessment of the last period and keep it 150 words or shorter. Each section.
|
||||
- **15:32:30 · Alex Martemyanov:** Thursday, 9 AM is… Is it Thursday?
|
||||
- **15:32:37 · Dominik Kapusta:** Yes. My name is T.
|
||||
- **15:32:40 · Alex Martemyanov:** Yes, but… Okay. Not to miss it as I lost time mixing the dates.
|
||||
- **15:32:48 · Dominik Kapusta:** Mm-hmm. Ah, yeah, yeah, yeah. So, that's the self-assessment template, and… Umm… I will probably be working on mine this week, sometime during Hug Days, just so that on Monday I can just… Just verify that it… oh, copy it over to the official task and verify if it makes sense and just complete it. And you're supposed to complete it on Monday.
|
||||
- **15:33:07 · Alex Martemyanov:** Mmhm.
|
||||
- **15:33:18 · Dominik Kapusta:** And then… I'll be working on your review for the next three days. And that's… and that's roughly it. And then talking with review advisors and blah blah blah. for your career… for your growth areas. I've updated them after our discussion last time. I updated them with. A shout out. And essentially kept the previous growth areas, uh… so here's the link again. And that's that. So, essentially… I just reflected what was in the feedback. About the communication project, like…
|
||||
- **15:34:10 · Alex Martemyanov:** Mmhm.
|
||||
- **15:34:13 · Dominik Kapusta:** You can surely… Oh. Relay your thoughts into comments and updates on the project, but just remember to… to do it unprompted, to avoid being pinged on that, and that would be great. And then, I think it's the only thing missing, uh… Here. And then you didn't have a chance… so you did great with, um… With, uh, code reviews and the ship review, uh… contributions to Andre's project. So… have a look at more opportunities like that, and also have a look at tech designs that appear in the Apple team.
|
||||
- **15:35:01 · Alex Martemyanov:** Mm-hmm.
|
||||
- **15:35:03 · Dominik Kapusta:** Um, to… share your thoughts on that, and I think that's what we need to be looking for. What we're looking for, essentially, is… because the rest… the rest, you're just… you're just doing it. You're doing functional expertise. it's… it's a clear D double star, and we… uh… we also won't move it to E until you're at least D star in project management, that's what I've been told. It would be hard to bump. Functional expertise to E without at least a star in project management. So that remains at this DW star. Organization leadership, you're at this star already. Uh… I know they're doing that. You're just… just… just… just… uh… Um, focusing on, uh… improving the macOS browser in many ways, and fixing issues as they come, and fixing stability of tests, and so on and so on, and you're just actually working on it. Um… Mostly on your own. Uh, which is… Which is not bad, either. I mean, not bad anyway, but… it's just how we work here, right? You have your backlog, and you work on that, and you know what you need to do, so that's great. Some of the initiatives… are not necessarily… ideal for the team, at least. I mean, you've worked on the VS Code thingy, it appears not to be… very appealing to the entire team. So, there may be discussions of whether this was… Time well spent. But we've had that… we've had that discussion at some point. Oh, you… so, what's… undiscussable is that. As part of this effort, you did a lot of improvements to the macOS codebase, and that's great. And then we stopped at some point. Which probably was the right point, when… The rest of the team learned about everything, and they started asking questions, and you open a proposal, and tech design, and there was a longer discussion, and the…
|
||||
- **15:37:26 · Alex Martemyanov:** Yeah, there was a discussion of actual effort to implement the… the actual thing was relatively low, so it was more about the refactoring itself, and…
|
||||
- **15:37:26 · Dominik Kapusta:** Think was. was closed. Yeah. Mm-hmm. For…
|
||||
- **15:37:37 · Alex Martemyanov:** fixes that are proceeding it.
|
||||
- **15:37:39 · Dominik Kapusta:** For the future, I think you could… you could go with, uh… a proposal earlier than that, maybe, if that makes sense. I know there was that tech design a year ago, but, you know, a year is a long time, people sort of forgot about that in the meantime. Yeah, but… But overall, it was… it was… it was… I mean, a lot of it was worth it. And I wouldn't really… be connecting that incident that we had with the VS Code, uh, initiative. It just happens, right? It's… sometimes it happens. We'll talk about it in the Apple Weekly. it's not easy to test everything on macOS 12, unless we will be… we want to accept that we'll be working, like, twice… I mean, half as fast, so 50% slower.
|
||||
- **15:38:38 · Alex Martemyanov:** Well, the answer would be QA, but yeah, I know.
|
||||
- **15:38:39 · Dominik Kapusta:** Thank you. Yeah, yeah. And. Yeah, so that's organizational, and the one that you're… that I'm trying to push you into more is team leadership, and that means… Well, project advising. That's one thing, but it's very hard to get to project advising if you're jumping between objectives. And also, it works… better if you have proven project management skills first, but you're… I think you're almost there. Um… Next thing I wanted to say is… Yeah, project advising, but outside of project advising, it's… Growing people via code reviews, via, um… Should preview commands and take design commands.
|
||||
- **15:39:37 · Alex Martemyanov:** Mm-hmm.
|
||||
- **15:39:38 · Dominik Kapusta:** So, yeah, that could be a way to bump your team leadership. Uh, and also this… Cycle is short. So let's see if we can… Bump anything. But… If we can, that would be great. I was thinking about project management, but let's see what… Let's see what happens. Let's see if I'm able to defend that. The conclusion may be that, yeah, you still need more time. And then we'll have to wait until next cycle. Yeah, but let's see. Let's see. I'll do my best. And you can help me by writing yourself a section.
|
||||
- **15:40:22 · Alex Martemyanov:** It's fine.
|
||||
- **15:40:29 · Dominik Kapusta:** on time.
|
||||
- **15:40:31 · Alex Martemyanov:** Mm-hmm.
|
||||
- **15:40:34 · Dominik Kapusta:** Good. So that's the… that's the, uh, growth areas and shoutouts. Next week, I would ideally… not have a meeting, not have any meetings on Tuesday, because I'll be busy writing reviews. So, yeah, we could just skip it next week.
|
||||
- **15:40:53 · Alex Martemyanov:** Good.
|
||||
- **15:41:01 · Dominik Kapusta:** I had one more thing. That I don't remember. Oh, I was looking at… I was actually thinking actively about your proposal for macOS 12 testing, and I… at the end, I wrote that we'll have this post-mortem, and hopefully we'll talk more as a team.
|
||||
- **15:41:11 · Alex Martemyanov:** Mm, yep.
|
||||
- **15:41:21 · Dominik Kapusta:** About possible solutions for that, but… Uh, in the meantime, I noticed that Bitrise have removed macOS 13 image, so they only have macOS 14, and I think they will keep the macOS 14 for, like, a year more. while GitHub is removing macOS 14 in November. But that's macOS 14, and 13 is out already, and 12 as well, of course. So I don't know.
|
||||
- **15:41:50 · Alex Martemyanov:** Uh, well, let me… Let me ask you another question, which may also need some thoughts.
|
||||
- **15:42:00 · Dominik Kapusta:** Yeah.
|
||||
- **15:42:01 · Alex Martemyanov:** So let me share my screen. So basically this is the… The system also was, um… Via coding in parallel, so it's the virtual machine fleet.
|
||||
- **15:42:12 · Dominik Kapusta:** Mmhm. Mmhm.
|
||||
- **15:42:16 · Alex Martemyanov:** Uh, controller, like, maintaining images, right, and activity, leases, uh, Xcode installs, uh… Uh, system protection, disabling, TC\CC, and all this stuff. And it's basically controlling my current Mac with the external drive, controlling older MacBook, which can be booted and also used for.
|
||||
- **15:42:38 · Dominik Kapusta:** Mmhm.
|
||||
- **15:42:43 · Alex Martemyanov:** Remote debugging and remote UI test and so on. And yeah, and some virtual machines extra. Uh, there is one note on the, uh… Yeah, and this is supposed to be, like, uh… orchestrator over the TART system that's used on production runners, like Detraze, I think.
|
||||
- **15:43:11 · Dominik Kapusta:** Yeah, yeah, yeah, yeah.
|
||||
- **15:43:13 · Alex Martemyanov:** And it provides MCP controls, which is supposed to give agents ability to run the UI tests, boot up, get a lease for virtual machine, run the tests, shut it down, perform cleanup and so on. And… Still, there is this rule about external MCP and tools that should be approved by org. Uh, highlighted in the… bug days, uh… Agenda? So…
|
||||
- **15:43:51 · Dominik Kapusta:** Okay.
|
||||
- **15:43:52 · Alex Martemyanov:** I'm thinking whether or should I present it to the team as a possible solution for integration and including macOS 12 and 13 tests support.
|
||||
- **15:44:02 · Dominik Kapusta:** I think we can talk about it. I think we can talk about it. Ideally, we would have… A machine. Somewhere. That runs this. And that machine… so, if that machine could… run virtualization on its own. and be used for testing on macOS 12 and 14, that would be great. And we wouldn't… be doing that. On a regular basis, but… So I was talking about it a little bit with Jonathan, and he said, if we are able to run tests once a week. That would be something already. At least know if the app is crashing or not. Like the proper smoke test. If there is a smoke, then something is wrong. About, uh… We don't seem to have… a way of… Um… Setting this up as part of CI. And that would be ideal, but… But we won't be able to do it. And I wouldn't rely on local setups, because… Most likely, people… Wouldn't. Random. Essentially. Unless it's… it's really straightforward. But maybe you can make it straightforward. To some extent. So that if we had these setups and we could just say, okay, test. test on macOS 12 now, and if it all worked, that would be amazing, that would be great, actually. And that would be…
|
||||
- **15:45:51 · Alex Martemyanov:** Maybe…
|
||||
- **15:45:53 · Dominik Kapusta:** A big thing.
|
||||
- **15:45:55 · Alex Martemyanov:** Should I… Should I raise a question?
|
||||
- **15:46:00 · Dominik Kapusta:** Mm-hmm.
|
||||
- **15:46:00 · Alex Martemyanov:** or… I don't know… proposal, voting… Thoughts sharing during the Apple Weekly. suggesting this kind of a solution that can be potentially used as an agent MCP for automated testing.
|
||||
- **15:46:11 · Dominik Kapusta:** Mmhm.
|
||||
- **15:46:19 · Alex Martemyanov:** Like, any testing, unit testing, integration testing, UI testing, essentially.
|
||||
- **15:46:19 · Dominik Kapusta:** Mmhm.
|
||||
- **15:46:27 · Alex Martemyanov:** Yeah, unit testing won't work because…
|
||||
- **15:46:30 · Dominik Kapusta:** No, yeah, yeah, it wouldn't.
|
||||
- **15:46:30 · Alex Martemyanov:** Maybe it would work with the test bundle directly moved. Yeah, there is some ways, but yeah, mostly for UI testing or agent-based screen control.
|
||||
- **15:46:33 · Dominik Kapusta:** Ah, hmm. Mm-hmm. Yeah, we can limit it to UI testing, sure.
|
||||
- **15:46:43 · Alex Martemyanov:** So, whether anybody is, uh, wishing to have… something similar to have, uh, this kind of local setup. It supports, uh, remote debugging from VS Code as well, by the way, so we can just…
|
||||
- **15:46:57 · Dominik Kapusta:** Okay.
|
||||
- **15:46:58 · Alex Martemyanov:** Select the virtual machine where you want to run the browser, and it will boot up, show the screen, and connect to it, and you will be debugging, like. And.
|
||||
- **15:47:07 · Dominik Kapusta:** with… with Xcode. Uh, local?
|
||||
- **15:47:11 · Alex Martemyanov:** Yes, with local export.
|
||||
- **15:47:12 · Dominik Kapusta:** Install? But you have to have the lower version.
|
||||
- **15:47:14 · Alex Martemyanov:** Without Xcode.
|
||||
- **15:47:17 · Dominik Kapusta:** Or.
|
||||
- **15:47:18 · Alex Martemyanov:** Yeah, of course, you have to install the Xcode tools in the virtual machine, which is managed automatically.
|
||||
- **15:47:25 · Dominik Kapusta:** Mm-hmm.
|
||||
- **15:47:26 · Alex Martemyanov:** But you just click run in VS Code, and it just runs. Like, Xcode would do, but Xcode does not support remote debugging.
|
||||
- **15:47:30 · Dominik Kapusta:** Okay. Yeah. Look…
|
||||
- **15:47:37 · Alex Martemyanov:** I'm not quite sure that I can demo it right now, but this feature is already baked in. I just haven't tested it directly and it even starts instantly without all this loading of symbols.
|
||||
- **15:47:40 · Dominik Kapusta:** Yeah, yeah, yeah.
|
||||
- **15:47:53 · Alex Martemyanov:** Because the dynamic library cache is also loaded and available from the virtual machines. So it just can be straight debugged from the host.
|
||||
- **15:47:57 · Dominik Kapusta:** Mm-hmm. Yeah, to be fair, that sounds… really tempting to me. Uh… But… Only if it was… very simple to use, as in, I tell my agent, run this test on macOS 12, and it does everything, setting up the virtual machine, uh, installing an image. Copying the app and running it.
|
||||
- **15:48:36 · Alex Martemyanov:** Yeah, so that's… that's… that's the question I…
|
||||
- **15:48:37 · Dominik Kapusta:** Ruby.
|
||||
- **15:48:41 · Alex Martemyanov:** Thinking to just bring up during the Apple Weekly, and just ask if anybody would use.
|
||||
- **15:48:47 · Dominik Kapusta:** Yeah.
|
||||
- **15:48:48 · Alex Martemyanov:** Something like it, if it's.
|
||||
- **15:48:49 · Dominik Kapusta:** Yeah, okay.
|
||||
- **15:48:50 · Alex Martemyanov:** ready available and one click from running.
|
||||
- **15:48:54 · Dominik Kapusta:** Mm-hmm. Mm-hmm. Uh…
|
||||
- **15:48:56 · Alex Martemyanov:** justifying the Xcode project as well.
|
||||
- **15:48:59 · Dominik Kapusta:** So… So, we have that thing called Apple Engineering Expectations. And… One of the expectations is testing supported macOS versions, and we have it here. And then… It says… something about ensuring that older macOS versions are included in the testing process. This is actually… Kind of a dead lull, because no one does this. Virtually no one. You do it, right? But also not for everything, right? Not for dropping the storyboard. Fine, I mean fine, right? I wouldn't do it either, and I would just see the crash and fix it.
|
||||
- **15:49:42 · Alex Martemyanov:** No, I don't.
|
||||
- **15:49:54 · Dominik Kapusta:** But. So we have this, and it's like a wishful thinking. People should be doing that, but people are not doing that, because it's so much work. Um, so…
|
||||
- **15:50:03 · Alex Martemyanov:** Yeah, so basically it has this use virtual body. That means you should install virtual body, you should download an image, you should manually go through the setup assistant, you should manually download Xcode.
|
||||
- **15:50:12 · Dominik Kapusta:** Yeah, yes, maintain it. Yes, yes.
|
||||
- **15:50:17 · Alex Martemyanov:** pass the app to it, and have NSAlert-based debugging.
|
||||
- **15:50:22 · Dominik Kapusta:** Mmhm.
|
||||
- **15:50:23 · Alex Martemyanov:** But I'm kind of suggesting the other way when you install this Verfil's piece of software and you just click run from VS Code and it just works.
|
||||
- **15:50:26 · Dominik Kapusta:** No. No. Mm-hmm. Yeah, yeah.
|
||||
- **15:50:40 · Alex Martemyanov:** So, just something to discuss.
|
||||
- **15:50:44 · Dominik Kapusta:** Yeah. That sounds good to me.
|
||||
- **15:50:46 · Alex Martemyanov:** I don't know, maybe you can talk about this. expectation to support the older macOS as well, and vote up for it.
|
||||
- **15:50:53 · Dominik Kapusta:** Mm-hmm. Totally, totally.
|
||||
- **15:50:56 · Alex Martemyanov:** And, then we can make a proposal to. To include this system as, like, an official setup, maybe?
|
||||
- **15:51:05 · Dominik Kapusta:** Mmhm.
|
||||
- **15:51:05 · Alex Martemyanov:** And run it under an official project in the AOR.
|
||||
- **15:51:11 · Dominik Kapusta:** Sure. Sure, sounds good. Sounds good. That would be great.
|
||||
- **15:51:22 · Alex Martemyanov:** Okay, then.
|
||||
- **15:51:27 · Dominik Kapusta:** Nice. Is there anything else we should cover? Bye-bye.
|
||||
- **15:51:33 · Alex Martemyanov:** Uh, yeah, about the separate project file… It's kind of part of…
|
||||
- **15:51:38 · Dominik Kapusta:** Oh, yes. Mmhm.
|
||||
- **15:51:39 · Alex Martemyanov:** This, I mean…
|
||||
- **15:51:41 · Dominik Kapusta:** Yeah, I mean, that…
|
||||
- **15:51:42 · Alex Martemyanov:** The bigger… the bigger picture includes it. Oh, yeah. It has some couple of talks. Introduced retrofitting some XC tests.
|
||||
- **15:51:51 · Dominik Kapusta:** Oh.
|
||||
- **15:51:57 · Alex Martemyanov:** thing to be supported on macOS 12. It's one file.
|
||||
- **15:52:00 · Dominik Kapusta:** Okay. Okay. Okay. Bye.
|
||||
- **15:52:02 · Alex Martemyanov:** Of, like, 400 lines, and uh… And using all the runner. Oh. So it's 100% doable. My agents are running those tests using this hack. Uh, without separate project, but they are building it locally, deploying, and using the hub to run it. And I'm not sure whether it's final, uh… final architecture we want, and there is a lot of mistakes. Agents are… Okay. during the process, and maybe separating this Xcode project. Would simplify things a little bit.
|
||||
- **15:52:46 · Dominik Kapusta:** Mmhm. Okay, but the idea is to completely remove UI tests from the Xcode project, or just have another project for macOS 12 and older?
|
||||
- **15:52:56 · Alex Martemyanov:** Not remove, but rebase. So like we have iOS project and macOS project, we'll have a third project for macOS UI tests because it's a separate project.
|
||||
- **15:53:03 · Dominik Kapusta:** Mm-hmm. Okay.
|
||||
- **15:53:08 · Alex Martemyanov:** It does not require any of the dependencies to resolve it every time. It will make the build faster, excluding submodels and the package resolution.
|
||||
- **15:53:10 · Dominik Kapusta:** Mm-hmm. Mm-hmm. Yeah, I see. Okay.
|
||||
- **15:53:19 · Alex Martemyanov:** Uh, like, currently, build takes a lot of time for… on each runner.
|
||||
- **15:53:19 · Dominik Kapusta:** Uh, one… fine. One thing, sure, one thing that is. Handy today is that you can just… stay in the same Xcode project and just run UI tests.
|
||||
- **15:53:36 · Alex Martemyanov:** Yeah, and we are basically not risking anything.
|
||||
- **15:53:37 · Dominik Kapusta:** So…
|
||||
- **15:53:40 · Alex Martemyanov:** in production. If it won't work, we will put it back.
|
||||
- **15:53:45 · Dominik Kapusta:** Yeah, yeah, yeah, yeah, sure, but your plan would be to… move these UI tests from the macOS Xcode project to that separate Xcode project, so that if you want to run UI tests, if you want to run UI tests, you would have to… locally, you would have to do what?
|
||||
- **15:53:57 · Alex Martemyanov:** through your iTest project, yeah.
|
||||
- **15:54:04 · Dominik Kapusta:** First build the app.
|
||||
- **15:54:04 · Alex Martemyanov:** Hmm, same thing.
|
||||
- **15:54:06 · Dominik Kapusta:** Which is what?
|
||||
- **15:54:06 · Alex Martemyanov:** Same thing. Have the dependency, choose the scheme, and run it. I guess nothing changes from… Nothing should change from it, from the current setup.
|
||||
- **15:54:24 · Dominik Kapusta:** But you… Didn't you say that you want to… move these tests from one Xcode project to another.
|
||||
- **15:54:33 · Alex Martemyanov:** Uh, yes, but I think… I assume the expectation is to load and work from the export workspace file.
|
||||
- **15:54:42 · Dominik Kapusta:** Ah…
|
||||
- **15:54:42 · Alex Martemyanov:** Isn't it?
|
||||
- **15:54:43 · Dominik Kapusta:** Okay, yeah, yeah, sure.
|
||||
- **15:54:44 · Alex Martemyanov:** I mean, yeah, if you run the macOS project directly, it won't be there, but if you load the whole file, it's still there.
|
||||
- **15:54:48 · Dominik Kapusta:** Yeah, yeah, yeah, I'm… yeah, totally. I'm just not using the AI workspace at all, but that's just me, so…
|
||||
- **15:54:55 · Alex Martemyanov:** So, yeah, that's a cone.
|
||||
- **15:54:58 · Dominik Kapusta:** Huh-huh. But that's okay, I mean, I know that I'm the minority. Plenty of people use the workspace, so we should be fine.
|
||||
- **15:55:10 · Alex Martemyanov:** Yeah, so that's the deal, and it should… Should just work.
|
||||
- **15:55:15 · Dominik Kapusta:** All right. Uh, alright, great. Great. Let's talk more about it in the Apple Weekly, for sure. All right, all right, all right. Anything else? You mentioned some organizational issues.
|
||||
- **15:55:39 · Alex Martemyanov:** Uh…
|
||||
- **15:55:40 · Dominik Kapusta:** Anything I can help you with?
|
||||
- **15:55:42 · Alex Martemyanov:** Some of operational issues. And, uh…
|
||||
- **15:55:45 · Dominik Kapusta:** Operational, yeah.
|
||||
- **15:55:47 · Alex Martemyanov:** I mean, there's all in the… Events reporting, uh… I'm talking with Michal about it.
|
||||
- **15:55:54 · Dominik Kapusta:** Ah, okay, okay.
|
||||
- **15:55:55 · Alex Martemyanov:** Just… just in the moment, and I hope we can get it… get it released today, just so it gets to the internal…
|
||||
- **15:56:03 · Dominik Kapusta:** Mmhm.
|
||||
- **15:56:03 · Alex Martemyanov:** Or can I do it tomorrow? It's too…
|
||||
- **15:56:07 · Dominik Kapusta:** Um… ideally today. You can, of course, do it tomorrow with a release exception.
|
||||
- **15:56:09 · Alex Martemyanov:** problematic, yeah. Yeah, okay. So, yeah, I'm trying to get it released today, and… And report it in the OEE stand-up meeting. And that's it.
|
||||
- **15:56:25 · Dominik Kapusta:** Sounds good.
|
||||
- **15:56:26 · Alex Martemyanov:** Otherwise, there's pretty much none of the tasks on me remaining. Except for the old Greek twins that are just hanging on me.
|
||||
- **15:56:37 · Dominik Kapusta:** Now.
|
||||
- **15:56:38 · Alex Martemyanov:** Thank you.
|
||||
- **15:56:39 · Dominik Kapusta:** All right.
|
||||
- **15:56:40 · Alex Martemyanov:** And…
|
||||
- **15:56:42 · Dominik Kapusta:** Alright, cool. Uh… fine. If you need anything from me these hack days, let me know. Um… Please work on the… Yeah, going on.
|
||||
- **15:56:52 · Alex Martemyanov:** Yeah, so basically… What's the expectation on the holidays? Uh, for the changes, like fire animation, or… something… like, bookmark search. Is it… should I contact Steven on it and, uh, try to… Push. Yes. Quick project.
|
||||
- **15:57:14 · Dominik Kapusta:** I think… so what you've shared with me right now, I couldn't see… the animation was not looking great on the shared screen, right? I only saw a few frames at the beginning and at the end, but if you can record the video… Uh, and if it really is, like, the window is being burned, so you can see the window underneath of what was burned, and then I think it's…
|
||||
- **15:57:36 · Alex Martemyanov:** Yeah. Cheers.
|
||||
- **15:57:41 · Dominik Kapusta:** It would be an amazing thing to have, and if you could… I mean, you can show it to Steven at any time, because you have it, you can just record a video and send to him and say, what do you think about it? I'm… and that would probably be greatly appreciated. I'm not sure if they would want these pixel animations. Because we like the fire thingy and just because of that. But yeah, definitely send that to Steven. And, yeah, I think we could, we could… Try and move forward with it.
|
||||
- **15:58:20 · Alex Martemyanov:** Okay, and I'll try to experiment with the tab grouping, dragging, whatever, maybe it will grow to the project. For me, it's called Popoyama. Right.
|
||||
- **15:58:35 · Dominik Kapusta:** Right, right.
|
||||
- **15:58:38 · Alex Martemyanov:** And, uh, yeah, the rest of the week for the, uh… So, reflection.
|
||||
- **15:58:44 · Dominik Kapusta:** Mm-hmm. Sounds good. Awesome.
|
||||
- **15:58:45 · Alex Martemyanov:** And that's it.
|
||||
- **15:58:47 · Dominik Kapusta:** Cool, cool. Sounds great. All right.
|
||||
- **15:58:49 · Alex Martemyanov:** And yeah, today, today about weekly, I have three demo sessions. And one postmortem.
|
||||
- **15:58:58 · Dominik Kapusta:** Yeah, which is fine. Looking forward to it.
|
||||
- **15:59:01 · Alex Martemyanov:** Ah, postmortem, I should fill the template, yeah.
|
||||
- **15:59:01 · Dominik Kapusta:** All right. Yeah. Yeah, all right. Cool, uh, so I'll see you later, and we'll catch up later this week if needed. Thanks a lot.
|
||||
- **15:59:15 · Alex Martemyanov:** Okay, sure. Yeah.
|
||||
@@ -0,0 +1,353 @@
|
||||
{
|
||||
"schema_version": 1,
|
||||
"note_id": "tyVrosD9TAyYEqJpp5YHRQ",
|
||||
"title": "O-E 2026",
|
||||
"meeting_date": "2026-10-20",
|
||||
"meeting_date_source": "meeting_start_time",
|
||||
"meeting_start_at": "2026-10-20T15:01:55.000Z",
|
||||
"note_created_at": "2026-10-20T15:07:22.356Z",
|
||||
"note_modified_at": "2026-10-20T15:07:22.356Z",
|
||||
"source_url": "https://us01mynotes.zoom.us/tyVrosD9TAyYEqJpp5YHRQ",
|
||||
"transcript": [
|
||||
{
|
||||
"time": "21:07:22",
|
||||
"speaker": "russell holt",
|
||||
"text": "API for the…"
|
||||
},
|
||||
{
|
||||
"time": "21:07:23",
|
||||
"speaker": "CB",
|
||||
"text": "Yeah, yeah, yeah, like, uh, what I'm doing is, like, querying the API for, uh, YouTube videos, send them the hash, then, um, like, for, like, basically, like, privacy reasons, I guess we don't want to send the video ID, but the API already supports that, and then, uh, match it locally, and, uh… With the timestamps, just, uh, just show the, show the button. So, we, we should need some, uh, some help from, uh, from front end, but, uh…"
|
||||
},
|
||||
{
|
||||
"time": "21:07:45",
|
||||
"speaker": "Michal Smaga",
|
||||
"text": "Yes? From what I'm hearing, this is the same, like, scope as it was done, like, in my case, the prototype that I have. So there are, like, two parts, like, native…"
|
||||
},
|
||||
{
|
||||
"time": "21:07:56",
|
||||
"speaker": "CB",
|
||||
"text": "So you were using CSES as well?"
|
||||
},
|
||||
{
|
||||
"time": "21:07:58",
|
||||
"speaker": "Michal Smaga",
|
||||
"text": "Yeah, yeah, yeah. Yeah, so basically I have it like coded but like we decided that for the legal reasons we are not pushing it out yet until we have the clearance and when I can like share the part of like of the code review so you can like."
|
||||
},
|
||||
{
|
||||
"time": "21:08:01",
|
||||
"speaker": "CB",
|
||||
"text": "Done."
|
||||
},
|
||||
{
|
||||
"time": "21:08:14",
|
||||
"speaker": "Michal Smaga",
|
||||
"text": "Test it out. Basically, there's, like, layer of messaging to, like, query the native site to do the calls. And, yeah, and, yeah, there's there's, like, the pending design for the for the matching, like, to avoid the calls as the privacy trash, like, suggested. So."
|
||||
},
|
||||
{
|
||||
"time": "21:08:32",
|
||||
"speaker": "CB",
|
||||
"text": "Okay. Then, yeah, it looks, uh, looks pretty similar, I guess. Like, the approach to messaging might be a bit different, but then it's just a POC, so as long as we… uh, we know it works, then we can work out the specifics, uh, so we can reuse as much, uh, as much code as possible, um, on the CSS layer. Okay, good."
|
||||
},
|
||||
{
|
||||
"time": "21:08:54",
|
||||
"speaker": "russell holt",
|
||||
"text": "That's that's great. I'm very. I'm excited that it was done so quickly."
|
||||
},
|
||||
{
|
||||
"time": "21:09:02",
|
||||
"speaker": "CB",
|
||||
"text": "I mean, I guess, like, part of the work to, like, get the timestamps from the video and everything, it was already done in the proof of concept that I had done in the past for background playback and picture-in-picture. So I was able to reuse some of that work, simplify it, because I didn't need the notification with the media session and everything."
|
||||
},
|
||||
{
|
||||
"time": "21:09:14",
|
||||
"speaker": "russell holt",
|
||||
"text": "Really nice."
|
||||
},
|
||||
{
|
||||
"time": "21:09:21",
|
||||
"speaker": "CB",
|
||||
"text": "But that's part of why. It only took a few hours because some of the work was already was already done. And then I only had to repurpose it."
|
||||
},
|
||||
{
|
||||
"time": "21:09:28",
|
||||
"speaker": "russell holt",
|
||||
"text": "Okay. Well, we can, we can remove a question mark. from the plan. That's extremely helpful. Thank you."
|
||||
},
|
||||
{
|
||||
"time": "21:09:37",
|
||||
"speaker": "CB",
|
||||
"text": "Okay, so I guess I don't need a kickoff or anything, like, just write up my conclusions and that's it, right?"
|
||||
},
|
||||
{
|
||||
"time": "21:09:37",
|
||||
"speaker": "russell holt",
|
||||
"text": "And. That's right."
|
||||
},
|
||||
{
|
||||
"time": "21:09:46",
|
||||
"speaker": "CB",
|
||||
"text": "Okay, good."
|
||||
},
|
||||
{
|
||||
"time": "21:09:51",
|
||||
"speaker": "russell holt",
|
||||
"text": "Um, yeah, so other other interesting things that we learned, um. AJ, the sponsored blog creator, started this about seven years ago. Um, and… And now… So kind of the… young person, I suppose, started in high school, actually, and self funds. with, um, App Store fees. He's got a, um, iOS Safari extension to do sponsor block. for $3 in the app store. And he was surprised that people… You paid money for it. And also, he's got enough downloads. I had to, uh… To… to, uh… that's his primary income, that and another… extension. So that's another interesting positive data point for SponsorBlock in general, and the fee that he proposed to us. It came from wanting to offset the competition he thought he would get from us. there, which… I don't think it's real. We were discussing this. I don't think that we're going to be competing with Safari, the Safari extension, but maybe, maybe. Um, so anyway, and that's another interesting data point in the, um. in the good. column for moving forward with sponsored blog. Um, alright, so next steps here are… I've got… I've got a consolidated task to put together for why we should move forward, right? All of this evidence to say, here's the decision, and then partnerships to put the agreement. But a kind of. short term Api agreement about using the for our Mvp. Any other questions there on SponsorBlock before we move on? Um… Other agenda items, uh, before we move… we… I don't have anything else, so we've got… Uh, Alex on for… No. CPM. Yeah. And then and then 2 mid mortems. And a demo."
|
||||
},
|
||||
{
|
||||
"time": "21:12:19",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Should I start?"
|
||||
},
|
||||
{
|
||||
"time": "21:12:22",
|
||||
"speaker": "russell holt",
|
||||
"text": "Yep."
|
||||
},
|
||||
{
|
||||
"time": "21:12:24",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Okay, so the quick update on the CPM breakage investigation. So, as of last week when we started receiving the attribution data. Uh, there was, uh, 8. Main groups identified, including one other. uh, non-identified, and, uh, like, five main, uh, patterns detected. Some of them may, uh, have included, uh, the, um. some false positives, probably. So, uh… here, we need to update the attribution data first, uh… according to the identified scenarios. So, some of the… Scenarios were reproduced locally, so it doesn't mean, uh, that the root issues were. 100% identified, uh, but, uh, having some, uh, testing corners locally, uh, I was able to reproduce, uh, some of the, uh, events, uh. metrics. Uh, there is, uh, several fixes, uh, one fix is already merged and related to, uh. pin tab, uh, window closing. So, uh, one fix for it was already merged last time, and, uh, there was one issue remaining. And, uh… three other fixes on their way. Uh, we are working with, uh, Michal to… To merge the updated telemetry and to. of the fixes, one for the network process crash, and another one for… Oh… initial delay and returning from background issues. So, those could affect, could fix something, and the updated telemetry should protect us from these false positives. And give some better idea for the other unidentified issues if they are not fixed by the fixes. Uh, unfortunately, last week I was, uh, sick a couple of days and, uh, didn't make it to, uh… Do they? to this release, and, uh, today we are, uh, pushing at least, uh, two fixes and updated data to the internal. Michal, correct me if I'm wrong, and the remaining two fixes I'll try to push during the rest of this week. At that point, the investigation will be kind of stopped, and we should start receiving the updated telemetry. on, uh, Monday, Tuesday, uh, Tuesday next, uh, weekly, where we have another mid-mortem and, uh, reorient, uh, decide what to do next, and whether we have, uh. Uh, some clarity appearing, or… We got the cases going down and we can start the investigation."
|
||||
},
|
||||
{
|
||||
"time": "21:15:30",
|
||||
"speaker": "russell holt",
|
||||
"text": "You think we're gonna be running out of options there?"
|
||||
},
|
||||
{
|
||||
"time": "21:15:31",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "So… Oh…"
|
||||
},
|
||||
{
|
||||
"time": "21:15:40",
|
||||
"speaker": "russell holt",
|
||||
"text": "I mean, we're we're we're going to look at this data next week. I mean, I think… I think my… yeah, my main question is, like, are we hitting…"
|
||||
},
|
||||
{
|
||||
"time": "21:15:47",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "I hope so."
|
||||
},
|
||||
{
|
||||
"time": "21:15:54",
|
||||
"speaker": "russell holt",
|
||||
"text": "like… What's the opportunity cost of continuing this with other potential projects? Like, are we really… fixing the issues here, or is it just, like, spinning our wheels?"
|
||||
},
|
||||
{
|
||||
"time": "21:16:09",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Oh. With the updated telemetry, we should, uh, identify some false positives, which I believe there is, uh, some presence, uh, some portion of the airports we are receiving are false positives, and, uh, the updated one should give, uh. some better metrics, identifying, uh, the hangs between the tabs, and, uh, not only, like, uh, session restoration issue, for example. Uh, so from there, we could… we would be able to tell the close to real amount of affected users, and the…"
|
||||
},
|
||||
{
|
||||
"time": "21:16:47",
|
||||
"speaker": "russell holt",
|
||||
"text": "Okay, I'm really interested in that. Yeah."
|
||||
},
|
||||
{
|
||||
"time": "21:16:51",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Yeah, and, uh, another one, uh… so there were, uh, actual proven, uh, fixes, including the PIN tab and tab management. And hopefully, session restoration. And currently, the next fix that is going to be released is waiting on the… and pre-warm up of the background webview that may be slow to launch before… to launch after the page already is loaded, so we don't get in time applying our, uh, CPM, um… cookie blocking to the already loaded page and from it we can receive also a large portion of the reports."
|
||||
},
|
||||
{
|
||||
"time": "21:17:35",
|
||||
"speaker": "russell holt",
|
||||
"text": "Okay."
|
||||
},
|
||||
{
|
||||
"time": "21:17:35",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "So yeah, the fixes are kind of real. Again, there was one reproduced issue from last week, which didn't appear in the telemetry that we received later. So it was kind of reproducible in the lab, but it's not what the data showed."
|
||||
},
|
||||
{
|
||||
"time": "21:17:37",
|
||||
"speaker": "russell holt",
|
||||
"text": "Great."
|
||||
},
|
||||
{
|
||||
"time": "21:17:54",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "So I can't tell at that point whether those fixes will… Address the issue… the issue. Oh… So, I'm still… don't have it reproduced in the wild. So, yeah, only guessing here, but at least the updated data should give us a better picture on the affected users, and…"
|
||||
},
|
||||
{
|
||||
"time": "21:18:18",
|
||||
"speaker": "russell holt",
|
||||
"text": "Good."
|
||||
},
|
||||
{
|
||||
"time": "21:18:18",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "So the possible condition, whether we target them or not. So yeah, the next… the next…"
|
||||
},
|
||||
{
|
||||
"time": "21:18:30",
|
||||
"speaker": "SM",
|
||||
"text": "And what would be useful is… So, if we have, um…"
|
||||
},
|
||||
{
|
||||
"time": "21:18:33",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Yes, I do."
|
||||
},
|
||||
{
|
||||
"time": "21:18:36",
|
||||
"speaker": "SM",
|
||||
"text": "specific things that we found that are, like, WebKit bugs? Um, at this conference in a couple of weeks, there may be, um… like, WebKit extension engineers there, so we could bring them some things if… that is a value to basically point out. These are things, like, that we have. Notice that I like breaking the extension in these cases, and we can raise that with them."
|
||||
},
|
||||
{
|
||||
"time": "21:19:01",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "It's an interesting point about the WebKit bugs, because there is… several WebKit bugs, as it's shown in the data analytics task that I found, and uh… we have no proof that WebKit bugs are directly affecting our users. And… For some of the reproduced scenarios, we have some of the WebKit bugs that are already closed in WebKit, but still not released, or released in macOS beta version only. Uh, so… Again, there is high uncertainty because I cannot tell which of the bugs are… actually giving those telemetry. And it's more of a guessing and trying to reproduce the condition under which we get the same telemetry as we are receiving. So most of the cases are reproduced, but it's not the exact cases, but it's reproduced telemetry metrics. So we are trying to reach from two points to the single telemetry image. This doesn't prove it, but it at least gives us a hope that it's actual issues. And the fixes are fixing those issues that were identified."
|
||||
},
|
||||
{
|
||||
"time": "21:20:33",
|
||||
"speaker": "Konrad Dzwinel",
|
||||
"text": "Alex, are some of those… It sometimes sounds like you're fixing bugs that Apple introduced. Is this true?"
|
||||
},
|
||||
{
|
||||
"time": "21:20:48",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Uh… Partly, yes."
|
||||
},
|
||||
{
|
||||
"time": "21:20:51",
|
||||
"speaker": "Konrad Dzwinel",
|
||||
"text": "Okay, then. Should we open radars for those? So at least, like, maybe in the future, they get their shit together and fix it?"
|
||||
},
|
||||
{
|
||||
"time": "21:21:00",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Again, as I already told, there are bugs that are already present in the WebKit tracker, and they are already fixed at the moment, but some of them are not released yet, some of them are already released. uh… So…"
|
||||
},
|
||||
{
|
||||
"time": "21:21:19",
|
||||
"speaker": "Konrad Dzwinel",
|
||||
"text": "Okay."
|
||||
},
|
||||
{
|
||||
"time": "21:21:21",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "We are not, uh… We are not opening some new issues here, let's say."
|
||||
},
|
||||
{
|
||||
"time": "21:21:29",
|
||||
"speaker": "Konrad Dzwinel",
|
||||
"text": "So, iOS 27, I think that just shipped. Do you know… maybe it's worth checking, like, how… which of those are… shipping soon, if it's even possible to check, and then… then it doesn't make sense for you to… to do… to waste energy on trying to fix those, right?"
|
||||
},
|
||||
{
|
||||
"time": "21:21:45",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Yes. Yes, actually, I've, uh, already opened a task for, uh, Apple developers, uh, matching, uh. macOS and iOS releases to WebKit versions, uh, as they are known… for the known versions of, uh, releases. And, uh, yeah, some of the, uh, some of the fixes are not yet in, uh, the public… public stable releases. And, probably gonna be released in beta versions only. But again, having those… Having those not proved yet. And it's more of guessing here. So I cannot tell that we have experienced this exact bug, and that's why it's crashing. So, if, uh, if the metrics. Show it. And I… I hope it would. Uh, then you can tell for sure, and if it's worth, uh, forcing it, or, uh… more ditching it because it's an OS issue. But, again, the issues that I managed to reproduce, at least in the testing harness, under some heavy artificial load, those are fixable. At least to some extent. So there is one issue that is arguable. Uh, it requires reloading the page, so it's not a permanent hang, obviously, because loading page kind of fixes it. Oh… But I've added a pixel for it, just to see it in the wild, without actually reloading the page. So if we catch it, we may consider whether we want. To explore some other approaches. Or we should just… Write it down and forget, or maybe open another. So yeah, again, hitting these, uh… So this is the iteration after the first meaningful data we've got. And we need to release it now, see the updated numbers, and decide we are in."
|
||||
},
|
||||
{
|
||||
"time": "21:24:11",
|
||||
"speaker": "russell holt",
|
||||
"text": "Sounds good. Thank you, Alex."
|
||||
},
|
||||
{
|
||||
"time": "21:24:14",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Thanks."
|
||||
},
|
||||
{
|
||||
"time": "21:24:16",
|
||||
"speaker": "russell holt",
|
||||
"text": "Okay, any other things before we move on to… Marcos, you're mid-morning. And ship review going well. Looks like it."
|
||||
},
|
||||
{
|
||||
"time": "21:24:32",
|
||||
"speaker": "IB",
|
||||
"text": "Uh, yeah, I mean, it's only just opened today, but, um, it's all looking good. Um, it's quite nice progressing this, just, uh, in the background as I had minutes to do it. Um… Got some feedback from Omid already about the default state. To be honest, I had saw that…"
|
||||
},
|
||||
{
|
||||
"time": "21:24:51",
|
||||
"speaker": "russell holt",
|
||||
"text": "Wait, the default state, we're referring to default as in open in a new tab by default, right?"
|
||||
},
|
||||
{
|
||||
"time": "21:24:51",
|
||||
"speaker": "IB",
|
||||
"text": "Open a new… Exactly that, sorry. Uh, yeah, I had seen that that was default on Mac, but uh…"
|
||||
},
|
||||
{
|
||||
"time": "21:24:58",
|
||||
"speaker": "russell holt",
|
||||
"text": "Yeah, yeah."
|
||||
},
|
||||
{
|
||||
"time": "21:25:03",
|
||||
"speaker": "IB",
|
||||
"text": "Wasn't sure of how we arrived there, so I didn't. immediately set it as default. It sounds like… That was a decision made earlier on, and it sounds like it's the right decision, so I'll make a quick change then."
|
||||
},
|
||||
{
|
||||
"time": "21:25:17",
|
||||
"speaker": "russell holt",
|
||||
"text": "Yeah, well, thanks for pushing to put that in. Because I think Windows. Duck player, people have been complaining about it for a while."
|
||||
},
|
||||
{
|
||||
"time": "21:25:27",
|
||||
"speaker": "IB",
|
||||
"text": "All right, nice, nice. Yeah, I mean, it was on the design, so it probably, you know, just fitted quite nicely into this and it wasn't too much to get done."
|
||||
},
|
||||
{
|
||||
"time": "21:25:37",
|
||||
"speaker": "russell holt",
|
||||
"text": "Good. Well, hopefully that will be an easy resolution and we can move forward with the other platforms. 0."
|
||||
},
|
||||
{
|
||||
"time": "21:25:45",
|
||||
"speaker": "IB",
|
||||
"text": "Yeah, I should… I mean, the default state… It won't take long to fix, and then hopefully we can still get it out the door by the end of the week."
|
||||
},
|
||||
{
|
||||
"time": "21:25:53",
|
||||
"speaker": "russell holt",
|
||||
"text": "Thank you. Thank you. And. And that's to your other question, Chris. What's your next priority now that you've. We just agreed on it, and you're done."
|
||||
},
|
||||
{
|
||||
"time": "21:26:04",
|
||||
"speaker": "CB",
|
||||
"text": "I mean, I still have to document the approach."
|
||||
},
|
||||
{
|
||||
"time": "21:26:08",
|
||||
"speaker": "russell holt",
|
||||
"text": "Okay."
|
||||
},
|
||||
{
|
||||
"time": "21:26:08",
|
||||
"speaker": "CB",
|
||||
"text": "Uh, but yeah, I don't know. Like, if I open another… like, TP thread and think, uh, or just, like, fall back to… to the… to the dock player settings, because, like, I don't know."
|
||||
},
|
||||
{
|
||||
"time": "21:26:15",
|
||||
"speaker": "russell holt",
|
||||
"text": "Well, maybe… Yeah, I think maybe by tomorrow we'll see some progress or resolution or. Disagreement on that."
|
||||
},
|
||||
{
|
||||
"time": "21:26:29",
|
||||
"speaker": "CB",
|
||||
"text": "Yeah, that's what I was going to say, because there's hack days for the rest of the week. So I can open the TP thread, but with the intention to start a new TP on Monday, so that buys us some time to make the decision."
|
||||
},
|
||||
{
|
||||
"time": "21:26:43",
|
||||
"speaker": "russell holt",
|
||||
"text": "Okay. Okay. Right."
|
||||
},
|
||||
{
|
||||
"time": "21:26:48",
|
||||
"speaker": "CB",
|
||||
"text": "Okay."
|
||||
},
|
||||
{
|
||||
"time": "21:26:49",
|
||||
"speaker": "russell holt",
|
||||
"text": "Sounds good. um… All right, well, let's just move on. Marcos, let's talk about… The top sites and user centric metric. Can't say that user centric metric."
|
||||
},
|
||||
{
|
||||
"time": "21:27:09",
|
||||
"speaker": "Marcos Gurgel",
|
||||
"text": "Yes, it's a mouthful. Hey, everyone. So links in the chat. This is the bid mortem for top sites and user-centric metric. Quick status update. The top sites part is implemented. Three PRs. Sam just reviewed one this morning. I'm still acting on the feedback. Thanks, Sam. Uh, another… the Prefect PR is approved. Uh, Michal is on the Apple PR. Thanks, Michal. Grafana dashboard is ready to go, so I think it's very likely we'll make the release cut this week, and by my maths, it's going to the public on the 4th of November, like, with the official Apple release. Any questions so far? Okay, so what's changed in the implementation really quickly is we went with a different data structure for the top sites list, which requires… One less dependency, and is a smaller bundle size, uh, and fewer, uh… a lower rate of errors as well. We also decided to drop the SERP top 10K sites list for now."
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,82 @@
|
||||
---
|
||||
title: "O-E 2026"
|
||||
date: 2026-10-20
|
||||
date_source: meeting_start_time
|
||||
zoom_note_id: "tyVrosD9TAyYEqJpp5YHRQ"
|
||||
source: "https://us01mynotes.zoom.us/tyVrosD9TAyYEqJpp5YHRQ"
|
||||
---
|
||||
|
||||
# O-E 2026
|
||||
|
||||
[Zoom My Notes](https://us01mynotes.zoom.us/tyVrosD9TAyYEqJpp5YHRQ)
|
||||
|
||||
## Transcript
|
||||
|
||||
- **21:07:22 · russell holt:** API for the…
|
||||
- **21:07:23 · CB:** Yeah, yeah, yeah, like, uh, what I'm doing is, like, querying the API for, uh, YouTube videos, send them the hash, then, um, like, for, like, basically, like, privacy reasons, I guess we don't want to send the video ID, but the API already supports that, and then, uh, match it locally, and, uh… With the timestamps, just, uh, just show the, show the button. So, we, we should need some, uh, some help from, uh, from front end, but, uh…
|
||||
- **21:07:45 · Michal Smaga:** Yes? From what I'm hearing, this is the same, like, scope as it was done, like, in my case, the prototype that I have. So there are, like, two parts, like, native…
|
||||
- **21:07:56 · CB:** So you were using CSES as well?
|
||||
- **21:07:58 · Michal Smaga:** Yeah, yeah, yeah. Yeah, so basically I have it like coded but like we decided that for the legal reasons we are not pushing it out yet until we have the clearance and when I can like share the part of like of the code review so you can like.
|
||||
- **21:08:01 · CB:** Done.
|
||||
- **21:08:14 · Michal Smaga:** Test it out. Basically, there's, like, layer of messaging to, like, query the native site to do the calls. And, yeah, and, yeah, there's there's, like, the pending design for the for the matching, like, to avoid the calls as the privacy trash, like, suggested. So.
|
||||
- **21:08:32 · CB:** Okay. Then, yeah, it looks, uh, looks pretty similar, I guess. Like, the approach to messaging might be a bit different, but then it's just a POC, so as long as we… uh, we know it works, then we can work out the specifics, uh, so we can reuse as much, uh, as much code as possible, um, on the CSS layer. Okay, good.
|
||||
- **21:08:54 · russell holt:** That's that's great. I'm very. I'm excited that it was done so quickly.
|
||||
- **21:09:02 · CB:** I mean, I guess, like, part of the work to, like, get the timestamps from the video and everything, it was already done in the proof of concept that I had done in the past for background playback and picture-in-picture. So I was able to reuse some of that work, simplify it, because I didn't need the notification with the media session and everything.
|
||||
- **21:09:14 · russell holt:** Really nice.
|
||||
- **21:09:21 · CB:** But that's part of why. It only took a few hours because some of the work was already was already done. And then I only had to repurpose it.
|
||||
- **21:09:28 · russell holt:** Okay. Well, we can, we can remove a question mark. from the plan. That's extremely helpful. Thank you.
|
||||
- **21:09:37 · CB:** Okay, so I guess I don't need a kickoff or anything, like, just write up my conclusions and that's it, right?
|
||||
- **21:09:37 · russell holt:** And. That's right.
|
||||
- **21:09:46 · CB:** Okay, good.
|
||||
- **21:09:51 · russell holt:** Um, yeah, so other other interesting things that we learned, um. AJ, the sponsored blog creator, started this about seven years ago. Um, and… And now… So kind of the… young person, I suppose, started in high school, actually, and self funds. with, um, App Store fees. He's got a, um, iOS Safari extension to do sponsor block. for $3 in the app store. And he was surprised that people… You paid money for it. And also, he's got enough downloads. I had to, uh… To… to, uh… that's his primary income, that and another… extension. So that's another interesting positive data point for SponsorBlock in general, and the fee that he proposed to us. It came from wanting to offset the competition he thought he would get from us. there, which… I don't think it's real. We were discussing this. I don't think that we're going to be competing with Safari, the Safari extension, but maybe, maybe. Um, so anyway, and that's another interesting data point in the, um. in the good. column for moving forward with sponsored blog. Um, alright, so next steps here are… I've got… I've got a consolidated task to put together for why we should move forward, right? All of this evidence to say, here's the decision, and then partnerships to put the agreement. But a kind of. short term Api agreement about using the for our Mvp. Any other questions there on SponsorBlock before we move on? Um… Other agenda items, uh, before we move… we… I don't have anything else, so we've got… Uh, Alex on for… No. CPM. Yeah. And then and then 2 mid mortems. And a demo.
|
||||
- **21:12:19 · Alex Martemyanov:** Should I start?
|
||||
- **21:12:22 · russell holt:** Yep.
|
||||
- **21:12:24 · Alex Martemyanov:** Okay, so the quick update on the CPM breakage investigation. So, as of last week when we started receiving the attribution data. Uh, there was, uh, 8. Main groups identified, including one other. uh, non-identified, and, uh, like, five main, uh, patterns detected. Some of them may, uh, have included, uh, the, um. some false positives, probably. So, uh… here, we need to update the attribution data first, uh… according to the identified scenarios. So, some of the… Scenarios were reproduced locally, so it doesn't mean, uh, that the root issues were. 100% identified, uh, but, uh, having some, uh, testing corners locally, uh, I was able to reproduce, uh, some of the, uh, events, uh. metrics. Uh, there is, uh, several fixes, uh, one fix is already merged and related to, uh. pin tab, uh, window closing. So, uh, one fix for it was already merged last time, and, uh, there was one issue remaining. And, uh… three other fixes on their way. Uh, we are working with, uh, Michal to… To merge the updated telemetry and to. of the fixes, one for the network process crash, and another one for… Oh… initial delay and returning from background issues. So, those could affect, could fix something, and the updated telemetry should protect us from these false positives. And give some better idea for the other unidentified issues if they are not fixed by the fixes. Uh, unfortunately, last week I was, uh, sick a couple of days and, uh, didn't make it to, uh… Do they? to this release, and, uh, today we are, uh, pushing at least, uh, two fixes and updated data to the internal. Michal, correct me if I'm wrong, and the remaining two fixes I'll try to push during the rest of this week. At that point, the investigation will be kind of stopped, and we should start receiving the updated telemetry. on, uh, Monday, Tuesday, uh, Tuesday next, uh, weekly, where we have another mid-mortem and, uh, reorient, uh, decide what to do next, and whether we have, uh. Uh, some clarity appearing, or… We got the cases going down and we can start the investigation.
|
||||
- **21:15:30 · russell holt:** You think we're gonna be running out of options there?
|
||||
- **21:15:31 · Alex Martemyanov:** So… Oh…
|
||||
- **21:15:40 · russell holt:** I mean, we're we're we're going to look at this data next week. I mean, I think… I think my… yeah, my main question is, like, are we hitting…
|
||||
- **21:15:47 · Alex Martemyanov:** I hope so.
|
||||
- **21:15:54 · russell holt:** like… What's the opportunity cost of continuing this with other potential projects? Like, are we really… fixing the issues here, or is it just, like, spinning our wheels?
|
||||
- **21:16:09 · Alex Martemyanov:** Oh. With the updated telemetry, we should, uh, identify some false positives, which I believe there is, uh, some presence, uh, some portion of the airports we are receiving are false positives, and, uh, the updated one should give, uh. some better metrics, identifying, uh, the hangs between the tabs, and, uh, not only, like, uh, session restoration issue, for example. Uh, so from there, we could… we would be able to tell the close to real amount of affected users, and the…
|
||||
- **21:16:47 · russell holt:** Okay, I'm really interested in that. Yeah.
|
||||
- **21:16:51 · Alex Martemyanov:** Yeah, and, uh, another one, uh… so there were, uh, actual proven, uh, fixes, including the PIN tab and tab management. And hopefully, session restoration. And currently, the next fix that is going to be released is waiting on the… and pre-warm up of the background webview that may be slow to launch before… to launch after the page already is loaded, so we don't get in time applying our, uh, CPM, um… cookie blocking to the already loaded page and from it we can receive also a large portion of the reports.
|
||||
- **21:17:35 · russell holt:** Okay.
|
||||
- **21:17:35 · Alex Martemyanov:** So yeah, the fixes are kind of real. Again, there was one reproduced issue from last week, which didn't appear in the telemetry that we received later. So it was kind of reproducible in the lab, but it's not what the data showed.
|
||||
- **21:17:37 · russell holt:** Great.
|
||||
- **21:17:54 · Alex Martemyanov:** So I can't tell at that point whether those fixes will… Address the issue… the issue. Oh… So, I'm still… don't have it reproduced in the wild. So, yeah, only guessing here, but at least the updated data should give us a better picture on the affected users, and…
|
||||
- **21:18:18 · russell holt:** Good.
|
||||
- **21:18:18 · Alex Martemyanov:** So the possible condition, whether we target them or not. So yeah, the next… the next…
|
||||
- **21:18:30 · SM:** And what would be useful is… So, if we have, um…
|
||||
- **21:18:33 · Alex Martemyanov:** Yes, I do.
|
||||
- **21:18:36 · SM:** specific things that we found that are, like, WebKit bugs? Um, at this conference in a couple of weeks, there may be, um… like, WebKit extension engineers there, so we could bring them some things if… that is a value to basically point out. These are things, like, that we have. Notice that I like breaking the extension in these cases, and we can raise that with them.
|
||||
- **21:19:01 · Alex Martemyanov:** It's an interesting point about the WebKit bugs, because there is… several WebKit bugs, as it's shown in the data analytics task that I found, and uh… we have no proof that WebKit bugs are directly affecting our users. And… For some of the reproduced scenarios, we have some of the WebKit bugs that are already closed in WebKit, but still not released, or released in macOS beta version only. Uh, so… Again, there is high uncertainty because I cannot tell which of the bugs are… actually giving those telemetry. And it's more of a guessing and trying to reproduce the condition under which we get the same telemetry as we are receiving. So most of the cases are reproduced, but it's not the exact cases, but it's reproduced telemetry metrics. So we are trying to reach from two points to the single telemetry image. This doesn't prove it, but it at least gives us a hope that it's actual issues. And the fixes are fixing those issues that were identified.
|
||||
- **21:20:33 · Konrad Dzwinel:** Alex, are some of those… It sometimes sounds like you're fixing bugs that Apple introduced. Is this true?
|
||||
- **21:20:48 · Alex Martemyanov:** Uh… Partly, yes.
|
||||
- **21:20:51 · Konrad Dzwinel:** Okay, then. Should we open radars for those? So at least, like, maybe in the future, they get their shit together and fix it?
|
||||
- **21:21:00 · Alex Martemyanov:** Again, as I already told, there are bugs that are already present in the WebKit tracker, and they are already fixed at the moment, but some of them are not released yet, some of them are already released. uh… So…
|
||||
- **21:21:19 · Konrad Dzwinel:** Okay.
|
||||
- **21:21:21 · Alex Martemyanov:** We are not, uh… We are not opening some new issues here, let's say.
|
||||
- **21:21:29 · Konrad Dzwinel:** So, iOS 27, I think that just shipped. Do you know… maybe it's worth checking, like, how… which of those are… shipping soon, if it's even possible to check, and then… then it doesn't make sense for you to… to do… to waste energy on trying to fix those, right?
|
||||
- **21:21:45 · Alex Martemyanov:** Yes. Yes, actually, I've, uh, already opened a task for, uh, Apple developers, uh, matching, uh. macOS and iOS releases to WebKit versions, uh, as they are known… for the known versions of, uh, releases. And, uh, yeah, some of the, uh, some of the fixes are not yet in, uh, the public… public stable releases. And, probably gonna be released in beta versions only. But again, having those… Having those not proved yet. And it's more of guessing here. So I cannot tell that we have experienced this exact bug, and that's why it's crashing. So, if, uh, if the metrics. Show it. And I… I hope it would. Uh, then you can tell for sure, and if it's worth, uh, forcing it, or, uh… more ditching it because it's an OS issue. But, again, the issues that I managed to reproduce, at least in the testing harness, under some heavy artificial load, those are fixable. At least to some extent. So there is one issue that is arguable. Uh, it requires reloading the page, so it's not a permanent hang, obviously, because loading page kind of fixes it. Oh… But I've added a pixel for it, just to see it in the wild, without actually reloading the page. So if we catch it, we may consider whether we want. To explore some other approaches. Or we should just… Write it down and forget, or maybe open another. So yeah, again, hitting these, uh… So this is the iteration after the first meaningful data we've got. And we need to release it now, see the updated numbers, and decide we are in.
|
||||
- **21:24:11 · russell holt:** Sounds good. Thank you, Alex.
|
||||
- **21:24:14 · Alex Martemyanov:** Thanks.
|
||||
- **21:24:16 · russell holt:** Okay, any other things before we move on to… Marcos, you're mid-morning. And ship review going well. Looks like it.
|
||||
- **21:24:32 · IB:** Uh, yeah, I mean, it's only just opened today, but, um, it's all looking good. Um, it's quite nice progressing this, just, uh, in the background as I had minutes to do it. Um… Got some feedback from Omid already about the default state. To be honest, I had saw that…
|
||||
- **21:24:51 · russell holt:** Wait, the default state, we're referring to default as in open in a new tab by default, right?
|
||||
- **21:24:51 · IB:** Open a new… Exactly that, sorry. Uh, yeah, I had seen that that was default on Mac, but uh…
|
||||
- **21:24:58 · russell holt:** Yeah, yeah.
|
||||
- **21:25:03 · IB:** Wasn't sure of how we arrived there, so I didn't. immediately set it as default. It sounds like… That was a decision made earlier on, and it sounds like it's the right decision, so I'll make a quick change then.
|
||||
- **21:25:17 · russell holt:** Yeah, well, thanks for pushing to put that in. Because I think Windows. Duck player, people have been complaining about it for a while.
|
||||
- **21:25:27 · IB:** All right, nice, nice. Yeah, I mean, it was on the design, so it probably, you know, just fitted quite nicely into this and it wasn't too much to get done.
|
||||
- **21:25:37 · russell holt:** Good. Well, hopefully that will be an easy resolution and we can move forward with the other platforms. 0.
|
||||
- **21:25:45 · IB:** Yeah, I should… I mean, the default state… It won't take long to fix, and then hopefully we can still get it out the door by the end of the week.
|
||||
- **21:25:53 · russell holt:** Thank you. Thank you. And. And that's to your other question, Chris. What's your next priority now that you've. We just agreed on it, and you're done.
|
||||
- **21:26:04 · CB:** I mean, I still have to document the approach.
|
||||
- **21:26:08 · russell holt:** Okay.
|
||||
- **21:26:08 · CB:** Uh, but yeah, I don't know. Like, if I open another… like, TP thread and think, uh, or just, like, fall back to… to the… to the dock player settings, because, like, I don't know.
|
||||
- **21:26:15 · russell holt:** Well, maybe… Yeah, I think maybe by tomorrow we'll see some progress or resolution or. Disagreement on that.
|
||||
- **21:26:29 · CB:** Yeah, that's what I was going to say, because there's hack days for the rest of the week. So I can open the TP thread, but with the intention to start a new TP on Monday, so that buys us some time to make the decision.
|
||||
- **21:26:43 · russell holt:** Okay. Okay. Right.
|
||||
- **21:26:48 · CB:** Okay.
|
||||
- **21:26:49 · russell holt:** Sounds good. um… All right, well, let's just move on. Marcos, let's talk about… The top sites and user centric metric. Can't say that user centric metric.
|
||||
- **21:27:09 · Marcos Gurgel:** Yes, it's a mouthful. Hey, everyone. So links in the chat. This is the bid mortem for top sites and user-centric metric. Quick status update. The top sites part is implemented. Three PRs. Sam just reviewed one this morning. I'm still acting on the feedback. Thanks, Sam. Uh, another… the Prefect PR is approved. Uh, Michal is on the Apple PR. Thanks, Michal. Grafana dashboard is ready to go, so I think it's very likely we'll make the release cut this week, and by my maths, it's going to the public on the 4th of November, like, with the official Apple release. Any questions so far? Okay, so what's changed in the implementation really quickly is we went with a different data structure for the top sites list, which requires… One less dependency, and is a smaller bundle size, uh, and fewer, uh… a lower rate of errors as well. We also decided to drop the SERP top 10K sites list for now.
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"schema_version": 1,
|
||||
"note_id": "pE9_3zXNSY6chGvpQemi3w",
|
||||
"title": "Alex Martemyanov's Zoom Meeting",
|
||||
"meeting_date": "2026-10-22",
|
||||
"meeting_date_source": "meeting_start_time",
|
||||
"meeting_start_at": "2026-10-22T10:25:01.000Z",
|
||||
"note_created_at": "2026-10-22T10:25:07.409Z",
|
||||
"note_modified_at": "2026-10-22T10:25:07.409Z",
|
||||
"source_url": "https://us01mynotes.zoom.us/pE9_3zXNSY6chGvpQemi3w",
|
||||
"transcript": [
|
||||
{
|
||||
"time": "16:25:45",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "And what can we do about it? Yeah, like why your work in progress trends up? Like, by default? And what can we do about it, like, practically, what tools we have to control it? So it's like a free-form… Discussion for you, if you want… Euroburg. I have created. I could, uh… 15, uh, areas, so… Let's say if you are in a breakout room one, so this will be your…"
|
||||
}
|
||||
]
|
||||
}
|
||||
+15
@@ -0,0 +1,15 @@
|
||||
---
|
||||
title: "Alex Martemyanov's Zoom Meeting"
|
||||
date: 2026-10-22
|
||||
date_source: meeting_start_time
|
||||
zoom_note_id: "pE9_3zXNSY6chGvpQemi3w"
|
||||
source: "https://us01mynotes.zoom.us/pE9_3zXNSY6chGvpQemi3w"
|
||||
---
|
||||
|
||||
# Alex Martemyanov's Zoom Meeting
|
||||
|
||||
[Zoom My Notes](https://us01mynotes.zoom.us/pE9_3zXNSY6chGvpQemi3w)
|
||||
|
||||
## Transcript
|
||||
|
||||
- **16:25:45 · Alex Martemyanov:** And what can we do about it? Yeah, like why your work in progress trends up? Like, by default? And what can we do about it, like, practically, what tools we have to control it? So it's like a free-form… Discussion for you, if you want… Euroburg. I have created. I could, uh… 15, uh, areas, so… Let's say if you are in a breakout room one, so this will be your…
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"schema_version": 1,
|
||||
"note_id": "v-VFw0wZRraMyEreybwh0g",
|
||||
"title": "Alex Martemyanov's Zoom Meeting",
|
||||
"meeting_date": "2026-10-22",
|
||||
"meeting_date_source": "meeting_start_time",
|
||||
"meeting_start_at": "2026-10-22T11:05:32.000Z",
|
||||
"note_created_at": "2026-10-22T11:05:38.449Z",
|
||||
"note_modified_at": "2026-10-22T11:05:38.449Z",
|
||||
"source_url": "https://us01mynotes.zoom.us/v-VFw0wZRraMyEreybwh0g",
|
||||
"transcript": [
|
||||
{
|
||||
"time": "17:06:48",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "And what can we do about it? Yeah, like, why your work in progress trends up? Like, by default? And what can we do about it, like a practical, what tools we have to control it. So it's like a free-form discussion for you. If you want, you can use Miroboard. So I have created like a…"
|
||||
}
|
||||
]
|
||||
}
|
||||
+15
@@ -0,0 +1,15 @@
|
||||
---
|
||||
title: "Alex Martemyanov's Zoom Meeting"
|
||||
date: 2026-10-22
|
||||
date_source: meeting_start_time
|
||||
zoom_note_id: "v-VFw0wZRraMyEreybwh0g"
|
||||
source: "https://us01mynotes.zoom.us/v-VFw0wZRraMyEreybwh0g"
|
||||
---
|
||||
|
||||
# Alex Martemyanov's Zoom Meeting
|
||||
|
||||
[Zoom My Notes](https://us01mynotes.zoom.us/v-VFw0wZRraMyEreybwh0g)
|
||||
|
||||
## Transcript
|
||||
|
||||
- **17:06:48 · Alex Martemyanov:** And what can we do about it? Yeah, like, why your work in progress trends up? Like, by default? And what can we do about it, like a practical, what tools we have to control it. So it's like a free-form discussion for you. If you want, you can use Miroboard. So I have created like a…
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"schema_version": 1,
|
||||
"note_id": "1T8djM8kQaOWNDk-yjDc9A",
|
||||
"title": "Alex Martemyanov's Zoom Meeting",
|
||||
"meeting_date": "2026-10-23",
|
||||
"meeting_date_source": "meeting_start_time",
|
||||
"meeting_start_at": "2026-10-23T15:18:29.000Z",
|
||||
"note_created_at": "2026-10-23T15:18:35.223Z",
|
||||
"note_modified_at": "2026-10-23T15:18:35.223Z",
|
||||
"source_url": "https://us01mynotes.zoom.us/1T8djM8kQaOWNDk-yjDc9A",
|
||||
"transcript": [
|
||||
{
|
||||
"time": "21:20:10",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Hello. I hope you can hear the sound. Yeah, hope you can hear the sound. But seriously. What's happening to the world? AI is everywhere, too much information, too much liquid glass and beige. Sometimes I just want to burn it all down. Like this. Yeah, much better. Let's do it again. Where shall we start now? Sometimes I just want to run away back to something familiar. Or maybe look for some happiness. Or maybe I just need to talk to somebody. Yeah, maybe the problem isn't the internet. Maybe it's just how we see it. I wish I could change the whole settings of my life. how it appears. What if we could go back? Somewhere like this. And buttons look like buttons. Windows look like windows. Smells like Christmas morning, hot chocolate and mandarins, back when everybody was still around. Remember, when the websites. Had some personality. When every page told you someone had paid attention to it. And speaking of the little things… You see? Even the tooltip. Respect your personal space. Your privacy. We just need to start and ask for some help. Here we are. Your protection, your privacy, your peace of mind."
|
||||
}
|
||||
]
|
||||
}
|
||||
+15
@@ -0,0 +1,15 @@
|
||||
---
|
||||
title: "Alex Martemyanov's Zoom Meeting"
|
||||
date: 2026-10-23
|
||||
date_source: meeting_start_time
|
||||
zoom_note_id: "1T8djM8kQaOWNDk-yjDc9A"
|
||||
source: "https://us01mynotes.zoom.us/1T8djM8kQaOWNDk-yjDc9A"
|
||||
---
|
||||
|
||||
# Alex Martemyanov's Zoom Meeting
|
||||
|
||||
[Zoom My Notes](https://us01mynotes.zoom.us/1T8djM8kQaOWNDk-yjDc9A)
|
||||
|
||||
## Transcript
|
||||
|
||||
- **21:20:10 · Alex Martemyanov:** Hello. I hope you can hear the sound. Yeah, hope you can hear the sound. But seriously. What's happening to the world? AI is everywhere, too much information, too much liquid glass and beige. Sometimes I just want to burn it all down. Like this. Yeah, much better. Let's do it again. Where shall we start now? Sometimes I just want to run away back to something familiar. Or maybe look for some happiness. Or maybe I just need to talk to somebody. Yeah, maybe the problem isn't the internet. Maybe it's just how we see it. I wish I could change the whole settings of my life. how it appears. What if we could go back? Somewhere like this. And buttons look like buttons. Windows look like windows. Smells like Christmas morning, hot chocolate and mandarins, back when everybody was still around. Remember, when the websites. Had some personality. When every page told you someone had paid attention to it. And speaking of the little things… You see? Even the tooltip. Respect your personal space. Your privacy. We just need to start and ask for some help. Here we are. Your protection, your privacy, your peace of mind.
|
||||
+43
@@ -0,0 +1,43 @@
|
||||
{
|
||||
"schema_version": 1,
|
||||
"note_id": "FAeLGcOQTg2UnjWrENIMqg",
|
||||
"title": "Alex Martemyanov's Zoom Meeting",
|
||||
"meeting_date": "2026-10-23",
|
||||
"meeting_date_source": "meeting_start_time",
|
||||
"meeting_start_at": "2026-10-23T14:47:44.000Z",
|
||||
"note_created_at": "2026-10-23T14:47:52.001Z",
|
||||
"note_modified_at": "2026-10-23T14:47:52.001Z",
|
||||
"source_url": "https://us01mynotes.zoom.us/FAeLGcOQTg2UnjWrENIMqg",
|
||||
"transcript": [
|
||||
{
|
||||
"time": "20:48:16",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Hello, hello. Can you hear me? I hope, yes, yes. Hey, everyone. I'm Alex. There are so many faces. I'm pretty sure some of you might have no idea who I am. There's so many… there are so many faces, I'm pretty sure some of you have no idea who am I. There's so many faces, I'm pretty sure some of you have no idea who I am. Which is fine. Sometimes I'm not entirely sure myself. I work on our macOS like a web browser and I thought I'd make it."
|
||||
},
|
||||
{
|
||||
"time": "20:48:54",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "I'd make it greater again. Again? Again? They said Jesus was a potter, turned water into wine, accepted some cookies. Not bad for a holiday, probably. No, but I have this project web listing. And the video. Fuck. And… Thank you all. Thank you. No. Yes. Ustin Matryoshina."
|
||||
},
|
||||
{
|
||||
"time": "20:53:20",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Hello. I hope you can hear the sound. Yeah, hope you can hear the sound. But seriously. What's happening to the world? AI is everywhere, too much information, too much liquid glass and beige. Sometimes I just want to burn it all down. Like this. Yep, much better. Let's do it again. Where shall we start now? Sometimes I just want to run away, back to something familiar. Or maybe look for some happiness."
|
||||
},
|
||||
{
|
||||
"time": "20:53:56",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Or maybe I just need to talk to somebody. \"Yeah. Come on. Yes. To talk to somebody. Yeah. Come on."
|
||||
},
|
||||
{
|
||||
"time": "20:58:18",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Hello. I hope you can hear the sound. Yeah, hope you can hear the sound. But seriously. What's happening to the world? AI is everywhere. Too much information, too much liquid glass and beige. Sometimes I just want to burn it all down. Like this. Yeah, much better. Let's do it again. Where shall we start now? Sometimes I just want to run away back to something familiar. Or maybe look for some happiness."
|
||||
},
|
||||
{
|
||||
"time": "20:58:55",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Or maybe I just need to talk to somebody. Yeah, maybe the problem isn't the internet. Maybe it's just how we see it. I wish I could change the whole settings of my life. how it appears. What if we could go back? Somewhere like this. And buttons look like buttons. Windows look like windows. Smells like Christmas morning, hot chocolate and mandarins, back when everybody was still around. Remember, on the websites. Had some personality. When every page told you someone had paid attention to it. And speaking of the little things… You see? Even the tooltip. Respect your personal space. Your privacy. You just need to start and ask for some help. Here we are. Your protection, your privacy, your peace of mind."
|
||||
}
|
||||
]
|
||||
}
|
||||
+20
@@ -0,0 +1,20 @@
|
||||
---
|
||||
title: "Alex Martemyanov's Zoom Meeting"
|
||||
date: 2026-10-23
|
||||
date_source: meeting_start_time
|
||||
zoom_note_id: "FAeLGcOQTg2UnjWrENIMqg"
|
||||
source: "https://us01mynotes.zoom.us/FAeLGcOQTg2UnjWrENIMqg"
|
||||
---
|
||||
|
||||
# Alex Martemyanov's Zoom Meeting
|
||||
|
||||
[Zoom My Notes](https://us01mynotes.zoom.us/FAeLGcOQTg2UnjWrENIMqg)
|
||||
|
||||
## Transcript
|
||||
|
||||
- **20:48:16 · Alex Martemyanov:** Hello, hello. Can you hear me? I hope, yes, yes. Hey, everyone. I'm Alex. There are so many faces. I'm pretty sure some of you might have no idea who I am. There's so many… there are so many faces, I'm pretty sure some of you have no idea who am I. There's so many faces, I'm pretty sure some of you have no idea who I am. Which is fine. Sometimes I'm not entirely sure myself. I work on our macOS like a web browser and I thought I'd make it.
|
||||
- **20:48:54 · Alex Martemyanov:** I'd make it greater again. Again? Again? They said Jesus was a potter, turned water into wine, accepted some cookies. Not bad for a holiday, probably. No, but I have this project web listing. And the video. Fuck. And… Thank you all. Thank you. No. Yes. Ustin Matryoshina.
|
||||
- **20:53:20 · Alex Martemyanov:** Hello. I hope you can hear the sound. Yeah, hope you can hear the sound. But seriously. What's happening to the world? AI is everywhere, too much information, too much liquid glass and beige. Sometimes I just want to burn it all down. Like this. Yep, much better. Let's do it again. Where shall we start now? Sometimes I just want to run away, back to something familiar. Or maybe look for some happiness.
|
||||
- **20:53:56 · Alex Martemyanov:** Or maybe I just need to talk to somebody. "Yeah. Come on. Yes. To talk to somebody. Yeah. Come on.
|
||||
- **20:58:18 · Alex Martemyanov:** Hello. I hope you can hear the sound. Yeah, hope you can hear the sound. But seriously. What's happening to the world? AI is everywhere. Too much information, too much liquid glass and beige. Sometimes I just want to burn it all down. Like this. Yeah, much better. Let's do it again. Where shall we start now? Sometimes I just want to run away back to something familiar. Or maybe look for some happiness.
|
||||
- **20:58:55 · Alex Martemyanov:** Or maybe I just need to talk to somebody. Yeah, maybe the problem isn't the internet. Maybe it's just how we see it. I wish I could change the whole settings of my life. how it appears. What if we could go back? Somewhere like this. And buttons look like buttons. Windows look like windows. Smells like Christmas morning, hot chocolate and mandarins, back when everybody was still around. Remember, on the websites. Had some personality. When every page told you someone had paid attention to it. And speaking of the little things… You see? Even the tooltip. Respect your personal space. Your privacy. You just need to start and ask for some help. Here we are. Your protection, your privacy, your peace of mind.
|
||||
+258
@@ -0,0 +1,258 @@
|
||||
{
|
||||
"schema_version": 1,
|
||||
"note_id": "-I3aVYDWTkKZ_VTRLdjGnA",
|
||||
"title": "Apple Weekly Team Meeting - Zoom ID",
|
||||
"meeting_date": "2026-10-27",
|
||||
"meeting_date_source": "meeting_start_time",
|
||||
"meeting_start_at": "2026-10-27T14:00:07.000Z",
|
||||
"note_created_at": "2026-10-27T14:02:34.482Z",
|
||||
"note_modified_at": "2026-10-27T14:02:34.482Z",
|
||||
"source_url": "https://us01mynotes.zoom.us/-I3aVYDWTkKZ_VTRLdjGnA",
|
||||
"transcript": [
|
||||
{
|
||||
"time": "20:02:36",
|
||||
"speaker": "Jorge Leandro Perez",
|
||||
"text": "So, Tokyo 2027? Yes!"
|
||||
},
|
||||
{
|
||||
"time": "20:02:45",
|
||||
"speaker": "Pikor",
|
||||
"text": "And then we need that cool t-shirt, because someone created a Hug Days project with designs of t-shirts from the past, and the backend meetup had really one nice one with the. Japanese, um… I guess it said Dactago didn't check it, but if we would have that nice t-shirt of… Our meetup, that would be cool."
|
||||
},
|
||||
{
|
||||
"time": "20:03:30",
|
||||
"speaker": "Dominik Kapusta",
|
||||
"text": "The meeting is at the wrong time in Europe this week, so some people may be missing because of that."
|
||||
},
|
||||
{
|
||||
"time": "20:03:38",
|
||||
"speaker": "Jonathan Jackson",
|
||||
"text": "I totally lost track of which one's which, that's fine, I was just pulling up rotations so we can get started anyway. Hello, everyone. Nice to see you all. Quick run through our rotations as usual. Bartek is on iOS drives this week, followed by Brindy and then Hassan. Echoist triages Jorge this week, followed by Rachel, and then Alessandro. For release duties, iOS this week, Bartosz, followed by Mihao, and then Pete. And macOS is Tom this week, followed by Juan, and then Joseph. Any issues, go ahead and flag those in Asana as usual, please. Sam, you have an announcement to share with us. I think you're, yes."
|
||||
},
|
||||
{
|
||||
"time": "20:04:27",
|
||||
"speaker": "SS",
|
||||
"text": "Right, this is the AOR change. Sorry, I don't have the agenda pulled up. Uh, yes, uh…"
|
||||
},
|
||||
{
|
||||
"time": "20:04:29",
|
||||
"speaker": "Jonathan Jackson",
|
||||
"text": "Thank you. Yes, sorry."
|
||||
},
|
||||
{
|
||||
"time": "20:04:34",
|
||||
"speaker": "SS",
|
||||
"text": "Is George here? Yes, he is. George has taken over secondary of the VPN AOR from me after running some projects to get us better observability into the VPN, so… Thank you. Nice work. Yes, also that."
|
||||
},
|
||||
{
|
||||
"time": "20:04:48",
|
||||
"speaker": "Jonathan Jackson",
|
||||
"text": "Excellent. Thank you and congratulations."
|
||||
},
|
||||
{
|
||||
"time": "20:04:50",
|
||||
"speaker": "SS",
|
||||
"text": "So also also. Also, what Jacek said in the chat is accurate."
|
||||
},
|
||||
{
|
||||
"time": "20:04:58",
|
||||
"speaker": "Jonathan Jackson",
|
||||
"text": "Yeah, I mean, I guess this is as good a time as any way to remind people that AOR, DRI ships are not written in stone. They are changeable. If you want one and don't have one, want a particular one, want to get out of one. We can talk about it. You don't even have to talk to me. You can make a proposal. They are changeable. Thank you. Dominic, CI usage update from you."
|
||||
},
|
||||
{
|
||||
"time": "20:05:25",
|
||||
"speaker": "Dominik Kapusta",
|
||||
"text": "Uh, yes. Um… It's pretty early in the agenda here. But okay, anyway. I have this… Artifact. Here, that I can share with you. Or not. Doesn't work. One second, I'm sorry. Um… Oh, yes. So anyway, I was looking at… I was looking at, um… And CI time. In the recent months and just to… just to have a look, just to get a feeling of how… Bitrise works or doesn't work. Here's the link, but let me also share it with you. Show my screen, I guess. I'm, uh, I mean, uh, so, uh… I have this… job hours and runs per month since February. Uh, it was going up and down, and at some point, uh, job runs… Pretty steady at… 5,500 a month, whereas job hours are going down. Quite drastically, actually, because it's at 1700 for September. And it has never been below 2000 earlier this year. Not sure about January, but anyway. Yeah, which is interesting. And also… Average… Job duration. It goes… it went down to 18.9 minutes from over 30. This is only for the PR checks, so VSK, DBP, iOS, and macOS PR checks only. in the monorepo, uh, which… Looks like… Uh, confirming that Bitrise is doing the job. Uh, but my initial… uh, motivation to… to run this was to see if we should consider getting more machines from Bitrise, because maybe we're running more jobs. Which was my assumption. Because… Code is cheap these days, relatively cheap. cheaper than it used to be, and uh… because of that, we might be opening more pull requests, running more workflows, and so on and so on, so maybe we need more machines, because we would have paid more for GitHub anyway. not sure if it's the case yet. October is not here, even though it's 27th, and I did yesterday, but in October, we enabled… Required checks. in the repository, which means all the checks run on all pull requests now, so naturally there's higher volume of checks, and it wasn't fitting this graph nicely. So I guess we'll have a new baseline in October, and then. We'll be comparing against that in the following months. That's what I have. Tommy has any thoughts?"
|
||||
},
|
||||
{
|
||||
"time": "20:08:50",
|
||||
"speaker": "Jonathan Jackson",
|
||||
"text": "When did we actually fully switch to Bitrise?"
|
||||
},
|
||||
{
|
||||
"time": "20:08:53",
|
||||
"speaker": "Dominik Kapusta",
|
||||
"text": "Um… September 14th?"
|
||||
},
|
||||
{
|
||||
"time": "20:08:59",
|
||||
"speaker": "Jonathan Jackson",
|
||||
"text": "So that would, because they're faster, that would drive down our run times while jobs remain steady potentially, which it looked like that actually showed in the data you were just showing, right?"
|
||||
},
|
||||
{
|
||||
"time": "20:08:59",
|
||||
"speaker": "Dominik Kapusta",
|
||||
"text": "Yes. So, one correction. September 14th was when we got the final deal in place, but… around 10th of August, I think it was 11th of August when we started the POC, and we were already on Bitrise, uh, with a significant, uh, amount of our jobs."
|
||||
},
|
||||
{
|
||||
"time": "20:09:25",
|
||||
"speaker": "Jonathan Jackson",
|
||||
"text": "Right. Right, so things will go faster, which means we would see less time per job overall, right?"
|
||||
},
|
||||
{
|
||||
"time": "20:09:27",
|
||||
"speaker": "Dominik Kapusta",
|
||||
"text": "Well, yeah. Yes, yes."
|
||||
},
|
||||
{
|
||||
"time": "20:09:33",
|
||||
"speaker": "Jonathan Jackson",
|
||||
"text": "Perfect."
|
||||
},
|
||||
{
|
||||
"time": "20:09:34",
|
||||
"speaker": "Dominik Kapusta",
|
||||
"text": "And let's see if we see more jobs overall. I mean, like I said, in October, there are already more jobs, but let's see about November, December, and so on."
|
||||
},
|
||||
{
|
||||
"time": "20:09:39",
|
||||
"speaker": "Jonathan Jackson",
|
||||
"text": "Yep. Yeah."
|
||||
},
|
||||
{
|
||||
"time": "20:09:45",
|
||||
"speaker": "Dominik Kapusta",
|
||||
"text": "Jeff, from Partnerships, has been on a 3-week vacation, but he's coming back tomorrow, or Thursday, and we might catch up with Bitrise. I'm… I'm on calls with Beatrice anyway, once a month, so I might reach out to them. Amen. Time we want, uh, to… to discuss that. Yeah, I think we should probably wait, still wait a bit. But yeah, it should be possible. Well, it is possible. He told me it's possible, of course."
|
||||
},
|
||||
{
|
||||
"time": "20:10:22",
|
||||
"speaker": "Jonathan Jackson",
|
||||
"text": "Cool. Well, thank you. That's an interesting update."
|
||||
},
|
||||
{
|
||||
"time": "20:10:22",
|
||||
"speaker": "Dominik Kapusta",
|
||||
"text": "That's it. Thank you very much."
|
||||
},
|
||||
{
|
||||
"time": "20:10:26",
|
||||
"speaker": "Jonathan Jackson",
|
||||
"text": "Diego, two items from you."
|
||||
},
|
||||
{
|
||||
"time": "20:10:31",
|
||||
"speaker": "DR",
|
||||
"text": "Really? I'm not prepared. Um, is that the demos from last week?"
|
||||
},
|
||||
{
|
||||
"time": "20:10:36",
|
||||
"speaker": "Jonathan Jackson",
|
||||
"text": "I think so, yeah, the passkeys issue and the Bitwarden extension."
|
||||
},
|
||||
{
|
||||
"time": "20:10:40",
|
||||
"speaker": "DR",
|
||||
"text": "Okay, I don't have a passkeys issue ready demo, but I'm going to explain what happened briefly and then just so everybody knows what's going on with that. So we had an issue with passkeys in macOS. Um… The browser stops asking for passkey authorization. You don't see the prompt anymore after a while. Uh, it wasn't clear what was going on. Um, apparently what happens is that, uh, Safari… doesn't suffer from this because they're allowed to make as many requests to the authentication service as they want for Passkey. So if they make. Two requests, the… The service is going to honor both requests and show the UI for both. But in the case of our browser, we can only make one request at a time. And WebKit isn't, um, handling that properly. They're not cleaning up, uh… They're not cleaning up the requests. When you do certain actions with the windows, like, for example, if you click on the button. In one window, and then open another window, and have another request, the second one is not gonna show. And at some point, these interactions were breaking passkeys completely to the point where they didn't work anymore for the user. So what we did? We implemented a workaround where we're, again, hooking into private APIs for WebKit to make. The APIs release the passkey requests correctly. And I have pending tasks that I haven't been able to get to yet to open, fix. a PR to fix the issue in WebKit initially, because there's an issue in WebKit where it's not canceling the request, right? And another issue where we're gonna be updating our communications with Apple, because previously, I think Dominic was talking with them about this at some point, and we didn't have a good, uh… minimum example of how… what the issue was to show them. So we're gonna provide something to them as well. Uh, this is also what triggered the idea, I don't know if you saw that apple that I reposed, to… uh, start encouraging more our interactions with the WebKit, uh, team, and proposing changes, and… You know, even submitting PRs, if that makes sense. Um… So yeah, that's it. And the second you saw on Friday, if you were there, which is that we have now Bitwarden extensions and 1Password extensions in the browser. which you can use. I think Dominic posted about it today, I think, or yesterday, I can't remember."
|
||||
},
|
||||
{
|
||||
"time": "20:13:35",
|
||||
"speaker": "Dominik Kapusta",
|
||||
"text": "Yesterday."
|
||||
},
|
||||
{
|
||||
"time": "20:13:35",
|
||||
"speaker": "DR",
|
||||
"text": "Um, yeah. And if you want to give it a go, it would be great. You need to be an internal user. Let me see if I have it installed here. Doc. Mm-hmm. It's here. All right. No, I don't have it installed. Sorry. I wasn't ready for the demos today. But yeah, that's it for me. Thanks, everybody."
|
||||
},
|
||||
{
|
||||
"time": "20:14:08",
|
||||
"speaker": "Dominik Kapusta",
|
||||
"text": "I wanted to ask. Because we, uh, run this entire thing about passkeys on macOS, but… We didn't check iOS at all, right? But I think… Does it work the same on iOS? I don't recall anymore. We probably also had that entitlement requested for iOS or not."
|
||||
},
|
||||
{
|
||||
"time": "20:14:30",
|
||||
"speaker": "DR",
|
||||
"text": "I don't know, honestly. That's a good question. I'm going to take note now."
|
||||
},
|
||||
{
|
||||
"time": "20:14:33",
|
||||
"speaker": "Dominik Kapusta",
|
||||
"text": "Okay."
|
||||
},
|
||||
{
|
||||
"time": "20:14:35",
|
||||
"speaker": "DR",
|
||||
"text": "To look into that. But it's possible we're going to be seeing the same issue. I don't know, because the entitlement that we would need for that not to be an issue is… I don't think Apple is giving that away, and I don't think we have that on iOS, so it may be an issue there as well. Uh… But yeah, I mean, the request to make the WebKit submission to fix this. Would fix it for all. browsers. But it would be interesting to know if it's breaking in iOS. I agree."
|
||||
},
|
||||
{
|
||||
"time": "20:15:09",
|
||||
"speaker": "Dominik Kapusta",
|
||||
"text": "Yeah, of course. Now that I think of it, I… I'm not looking at iOS feedback that much, but probably we don't have? feedback about passkeys not working in the iOS app?"
|
||||
},
|
||||
{
|
||||
"time": "20:15:24",
|
||||
"speaker": "DR",
|
||||
"text": "I did look at some point and I didn't find much from iOS, but then I didn't follow up to check if it was causing trouble."
|
||||
},
|
||||
{
|
||||
"time": "20:15:26",
|
||||
"speaker": "Dominik Kapusta",
|
||||
"text": "There's only one recorder."
|
||||
},
|
||||
{
|
||||
"time": "20:15:33",
|
||||
"speaker": "DR",
|
||||
"text": "Which is the interesting bit."
|
||||
},
|
||||
{
|
||||
"time": "20:15:35",
|
||||
"speaker": "Dominik Kapusta",
|
||||
"text": "Mm-hmm. Cool, thanks. One last thing about extensions is that, and this hasn't been announced anywhere, but we also support Dark Reader. If any one of you fancies Dark Reader, you can install it from Chrome Web Store. Just go to Chrome Web Store, search for Dark Reader and install it and it works. It works much better than whatever we had for Dark Reader, uh, integrated behind the scenes, and that thing is going away at some point. But yeah. We also support iCloud Passwords, which is a terrible extension, but it's the only way to connect a browser that's not Safari. with passwords up. Thank you."
|
||||
},
|
||||
{
|
||||
"time": "20:16:23",
|
||||
"speaker": "Jonathan Jackson",
|
||||
"text": "Awesome, thank you. And thank you, Diego, for rolling with that. If you have tasks or anything that are related to those that you could pop into the agenda at some point, that would help people find some more of this history, too. That'd be great. Uh, if not, that's fine. Very handy, that'd be…"
|
||||
},
|
||||
{
|
||||
"time": "20:16:36",
|
||||
"speaker": "DR",
|
||||
"text": "Yeah, I'm gonna… no, I'm gonna look them up now, yeah, and then I'll…"
|
||||
},
|
||||
{
|
||||
"time": "20:16:40",
|
||||
"speaker": "Jonathan Jackson",
|
||||
"text": "Cool. Thank you. Feel free to drop them in the agenda. That'd be fine. And then the last thing on the agenda, Alex, is a postmortem from you."
|
||||
},
|
||||
{
|
||||
"time": "20:16:50",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Yeah, hey, it's the postmortem for VS Code support. So actually the migration to support VS Code and Carstore initially. I'll… So, the… Originally, the project started more than a year ago as a Huggies project. It grew out of… general AUR optimization and refactoring work related to storyboards, removal, modularization, and other. And, uh… Uh, my half-day's effort was to try to integrate it to Cursor in that time, and, uh, it's shown that the approach is actually working. Uh, we could… potentially in, uh, use CorpStore and, uh, integrate with it, having, uh, syntax, uh, highlighting, uh, documentation, and, uh, jump to symbol, builds, and so on, and debugging. Ah, so it's, uh… the project was, uh… formed from the steps remaining to make it work. But first of all, it included all the. AUR work that was already started, like storyboards removal, uh, some of, uh, flags organization and other stuff, and, uh… It had no kickoff as it was kind of running in my background between top priorities, and that's why it took so long to finish. Uh… and uh… Yeah, it had. It had some some issues visibility issues, I'd say so. First of all, did it achieve its success criteria and its purpose? So I think strong. Yes, so. in most of the work. or preparation was finished. Some of it is… It's moved out of the project back to the AUR, but the amount of work needed to make it work was done, and it would have been done in scope of the AUR as the tech debt pending probably someday. Uh, but yeah, this project gave it kind of, um, shape and served as an umbrella for those, uh. I think it's… Vs code. Cursor was completed, at least on my end. It's available in my public repo. If anybody is interested and requires a small github githook to integrate into project. and uses mostly native means, and fully compatible with Xcode, and does not replace or harm Xcode experience. So what went well and I could highlight? Yeah, each of the project steps were shipped as a small and separate refactors. Each one was an improvement on its own. There were several tech designs. First of all, the first tech design of. Modernization and Cursor support was originally discussed and approved when we mostly adopted Cursor, and it seemed like a good target. Uh, and it had a follow-up this year, recently, that was, uh, that was canceled. And… Basically, it was the same tech design, but it was really discussed after… after some… changes and when we build closer to completion. And with EXPO27 release, the integration was much simpler than the original plan, and did not require most controversial parts of the project. So this was discussed with the team, and. Yeah, the decision was made to not to move forward with it, but have a small… Small fixes or small adaptation that allow it to complete. Yeah, so the setup is usable. I use it instead of Xcode, except for release deals or Ui tests. And, uh… Yeah, basically it's moving, it's moving. seemingly moving forward to make… and Apple is moving forward to make, uh, it's more open and more viable with other dev tools, if anybody wants to experiment with it. Uh, and the work, I think, I could also show, highlight that the work is not completed here. Uh, we still have a lot of tech debt to solve, a lot of, uh, modelization efforts to be done there."
|
||||
},
|
||||
{
|
||||
"time": "20:21:58",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "And it continues, basically. What didn't go well? Uh, there was, uh, an incident on macOS 12, uh, because it's generally not tested in our, uh, in our setup, as we already discussed in the incident post-mortem last time. Uh, while we still support, officially support, the SmuckOS version, we are not testing it effectively. And, uh, this, uh, gave me some thoughts of how could it be improved, probably. So, first of all, I… experiment… I experiment locally with, uh, testing… testing harness and agent harness, supporting macOS 12 as well. And, uh… later on, I'll try to… Push it forward to… Okay. Uh, to be able to actually test it. So, first of all, I've made an effort to, uh… to split. with actual UI test builds from macOS runners to one macOS builder, unified between different versions, so runners won't have. I have to build it every time, and this is improvement on its own. It improves build times, basically. And another is testing hardness to support Mac OS 12. So it's not… it's not open as a pull request to review yet, but it's working. Uh, so it's proof that it can work, and we can… could move forward with it, and probably rent some, uh, older machines somewhere in the cloud, and uh… have it tested. The second suggestion here would be to, uh, improve our processes, so I didn't, uh, complete the proposal yet, with all this, uh, performance review stuff, the priority. Uh, but yeah, I was planning to, uh… at a proposal. to require writing UI tests for any modified or added user-facing features and extend coverage overall as it does not require so much effort. We only need some Agentic work to analyze. coverage to suggest some tests and basically push it one by one. Um… Another issue was a tab bar disappearing. It was spotted during the internal testing. Basically, general work. And again, UI testing would support it. Yeah. Next thing is, uh, related to the visibility. Uh, so basically, demand for the VS Code integration and commercial integration was checked too late, as the project was, uh, done as in my background. So in its purpose, its aim was mostly my personal and included most tension, while most of the project was not related to actual VS Code migration, but served as an. Umbrella project to… Granted. Uh, this was, uh… This was only touched on the last stage, and uh… Probably we… While the project was progressing in the days before, we could have discussed it during some of Apple Weekly. But maybe not since. the actual implementation and the actual step that required this discussion was raised just in time, when Xcode 27 was available, and this step was about to be made. So. yeah, there were some issues with visibility, but it's mostly related to my… to me doing this project as my… not as my top priority, but it's generally your work when I have time for it. Okay. Yeah, and another outcome from it is the project goal was from the round one IDE support, as I already told, basically to migrate to VS Code and eat. might separate some tension and questions. Whether do we need to migrate to Vs code while again, 85% of the project was not related to actual Vs code migration and was general refactoring and improvements. It's, yeah, mostly related to the issue number two. of… Basically, basically, that's it, everything we discussed, and uh… I'll…"
|
||||
},
|
||||
{
|
||||
"time": "20:26:58",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "push forward with the Ui testing suggest proposal, and. older version testing, which is a requirement, especially with the more and more usage of Agentic workflows, where we have, like, 95 to 98% of. perfect, there are 8-time code, but there is still this 2% that is not perfect, and it tends to fail in the most critical scenarios. And it becomes a requirement, so… it's not the implementation, uh, that needs to be tested more, but the test… actual testing. And, uh, we need to… Obviously, we need to raise our quality assurance. Versuses. Let's see. Yeah, and the remaining factors will be handles. I have them tracked in the AOR. Not much of priority again, but they are on my plate. That's it. Any comments, any questions?"
|
||||
},
|
||||
{
|
||||
"time": "20:28:14",
|
||||
"speaker": "Jonathan Jackson",
|
||||
"text": "Cool. Thank you, Alex. For the other refactors and stuff that are going to happen as part of the AOR. I think we just need to make sure that the value of those are clear in their own steps, right? Rather than, like you said, rather than focusing them on a VS Code support item, we'll just talk about each of those and what they bring to the team in their own right."
|
||||
},
|
||||
{
|
||||
"time": "20:28:35",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Yes, so they were originally part included in this project, but we should separate cleanup targets. So each of the dependencies is not used by multiple targets, but has its own framework, setting up testing harness."
|
||||
},
|
||||
{
|
||||
"time": "20:28:40",
|
||||
"speaker": "Jonathan Jackson",
|
||||
"text": "Yep. Yeah. Yeah, and a lot of that is in line with the modularization desires that we've had anyway, so."
|
||||
},
|
||||
{
|
||||
"time": "20:28:53",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "supporting UI person. Yep, yep."
|
||||
},
|
||||
{
|
||||
"time": "20:28:58",
|
||||
"speaker": "Jonathan Jackson",
|
||||
"text": "Excellent. Cool. Thank you. Appreciate it. Anything else from anyone before we wrap our meeting for the day? Remember that today is the first of three days for career advisors to be writing, uh, assessments for their advisees, so… We will all probably be heads down on that. I guess if you have questions, career advisors, if you have any questions that I can help with, go ahead and let me know. Feel free to reach out. Thanks, everyone. Good to see you all."
|
||||
}
|
||||
]
|
||||
}
|
||||
+63
@@ -0,0 +1,63 @@
|
||||
---
|
||||
title: "Apple Weekly Team Meeting - Zoom ID"
|
||||
date: 2026-10-27
|
||||
date_source: meeting_start_time
|
||||
zoom_note_id: "-I3aVYDWTkKZ_VTRLdjGnA"
|
||||
source: "https://us01mynotes.zoom.us/-I3aVYDWTkKZ_VTRLdjGnA"
|
||||
---
|
||||
|
||||
# Apple Weekly Team Meeting - Zoom ID
|
||||
|
||||
[Zoom My Notes](https://us01mynotes.zoom.us/-I3aVYDWTkKZ_VTRLdjGnA)
|
||||
|
||||
## Transcript
|
||||
|
||||
- **20:02:36 · Jorge Leandro Perez:** So, Tokyo 2027? Yes!
|
||||
- **20:02:45 · Pikor:** And then we need that cool t-shirt, because someone created a Hug Days project with designs of t-shirts from the past, and the backend meetup had really one nice one with the. Japanese, um… I guess it said Dactago didn't check it, but if we would have that nice t-shirt of… Our meetup, that would be cool.
|
||||
- **20:03:30 · Dominik Kapusta:** The meeting is at the wrong time in Europe this week, so some people may be missing because of that.
|
||||
- **20:03:38 · Jonathan Jackson:** I totally lost track of which one's which, that's fine, I was just pulling up rotations so we can get started anyway. Hello, everyone. Nice to see you all. Quick run through our rotations as usual. Bartek is on iOS drives this week, followed by Brindy and then Hassan. Echoist triages Jorge this week, followed by Rachel, and then Alessandro. For release duties, iOS this week, Bartosz, followed by Mihao, and then Pete. And macOS is Tom this week, followed by Juan, and then Joseph. Any issues, go ahead and flag those in Asana as usual, please. Sam, you have an announcement to share with us. I think you're, yes.
|
||||
- **20:04:27 · SS:** Right, this is the AOR change. Sorry, I don't have the agenda pulled up. Uh, yes, uh…
|
||||
- **20:04:29 · Jonathan Jackson:** Thank you. Yes, sorry.
|
||||
- **20:04:34 · SS:** Is George here? Yes, he is. George has taken over secondary of the VPN AOR from me after running some projects to get us better observability into the VPN, so… Thank you. Nice work. Yes, also that.
|
||||
- **20:04:48 · Jonathan Jackson:** Excellent. Thank you and congratulations.
|
||||
- **20:04:50 · SS:** So also also. Also, what Jacek said in the chat is accurate.
|
||||
- **20:04:58 · Jonathan Jackson:** Yeah, I mean, I guess this is as good a time as any way to remind people that AOR, DRI ships are not written in stone. They are changeable. If you want one and don't have one, want a particular one, want to get out of one. We can talk about it. You don't even have to talk to me. You can make a proposal. They are changeable. Thank you. Dominic, CI usage update from you.
|
||||
- **20:05:25 · Dominik Kapusta:** Uh, yes. Um… It's pretty early in the agenda here. But okay, anyway. I have this… Artifact. Here, that I can share with you. Or not. Doesn't work. One second, I'm sorry. Um… Oh, yes. So anyway, I was looking at… I was looking at, um… And CI time. In the recent months and just to… just to have a look, just to get a feeling of how… Bitrise works or doesn't work. Here's the link, but let me also share it with you. Show my screen, I guess. I'm, uh, I mean, uh, so, uh… I have this… job hours and runs per month since February. Uh, it was going up and down, and at some point, uh, job runs… Pretty steady at… 5,500 a month, whereas job hours are going down. Quite drastically, actually, because it's at 1700 for September. And it has never been below 2000 earlier this year. Not sure about January, but anyway. Yeah, which is interesting. And also… Average… Job duration. It goes… it went down to 18.9 minutes from over 30. This is only for the PR checks, so VSK, DBP, iOS, and macOS PR checks only. in the monorepo, uh, which… Looks like… Uh, confirming that Bitrise is doing the job. Uh, but my initial… uh, motivation to… to run this was to see if we should consider getting more machines from Bitrise, because maybe we're running more jobs. Which was my assumption. Because… Code is cheap these days, relatively cheap. cheaper than it used to be, and uh… because of that, we might be opening more pull requests, running more workflows, and so on and so on, so maybe we need more machines, because we would have paid more for GitHub anyway. not sure if it's the case yet. October is not here, even though it's 27th, and I did yesterday, but in October, we enabled… Required checks. in the repository, which means all the checks run on all pull requests now, so naturally there's higher volume of checks, and it wasn't fitting this graph nicely. So I guess we'll have a new baseline in October, and then. We'll be comparing against that in the following months. That's what I have. Tommy has any thoughts?
|
||||
- **20:08:50 · Jonathan Jackson:** When did we actually fully switch to Bitrise?
|
||||
- **20:08:53 · Dominik Kapusta:** Um… September 14th?
|
||||
- **20:08:59 · Jonathan Jackson:** So that would, because they're faster, that would drive down our run times while jobs remain steady potentially, which it looked like that actually showed in the data you were just showing, right?
|
||||
- **20:08:59 · Dominik Kapusta:** Yes. So, one correction. September 14th was when we got the final deal in place, but… around 10th of August, I think it was 11th of August when we started the POC, and we were already on Bitrise, uh, with a significant, uh, amount of our jobs.
|
||||
- **20:09:25 · Jonathan Jackson:** Right. Right, so things will go faster, which means we would see less time per job overall, right?
|
||||
- **20:09:27 · Dominik Kapusta:** Well, yeah. Yes, yes.
|
||||
- **20:09:33 · Jonathan Jackson:** Perfect.
|
||||
- **20:09:34 · Dominik Kapusta:** And let's see if we see more jobs overall. I mean, like I said, in October, there are already more jobs, but let's see about November, December, and so on.
|
||||
- **20:09:39 · Jonathan Jackson:** Yep. Yeah.
|
||||
- **20:09:45 · Dominik Kapusta:** Jeff, from Partnerships, has been on a 3-week vacation, but he's coming back tomorrow, or Thursday, and we might catch up with Bitrise. I'm… I'm on calls with Beatrice anyway, once a month, so I might reach out to them. Amen. Time we want, uh, to… to discuss that. Yeah, I think we should probably wait, still wait a bit. But yeah, it should be possible. Well, it is possible. He told me it's possible, of course.
|
||||
- **20:10:22 · Jonathan Jackson:** Cool. Well, thank you. That's an interesting update.
|
||||
- **20:10:22 · Dominik Kapusta:** That's it. Thank you very much.
|
||||
- **20:10:26 · Jonathan Jackson:** Diego, two items from you.
|
||||
- **20:10:31 · DR:** Really? I'm not prepared. Um, is that the demos from last week?
|
||||
- **20:10:36 · Jonathan Jackson:** I think so, yeah, the passkeys issue and the Bitwarden extension.
|
||||
- **20:10:40 · DR:** Okay, I don't have a passkeys issue ready demo, but I'm going to explain what happened briefly and then just so everybody knows what's going on with that. So we had an issue with passkeys in macOS. Um… The browser stops asking for passkey authorization. You don't see the prompt anymore after a while. Uh, it wasn't clear what was going on. Um, apparently what happens is that, uh, Safari… doesn't suffer from this because they're allowed to make as many requests to the authentication service as they want for Passkey. So if they make. Two requests, the… The service is going to honor both requests and show the UI for both. But in the case of our browser, we can only make one request at a time. And WebKit isn't, um, handling that properly. They're not cleaning up, uh… They're not cleaning up the requests. When you do certain actions with the windows, like, for example, if you click on the button. In one window, and then open another window, and have another request, the second one is not gonna show. And at some point, these interactions were breaking passkeys completely to the point where they didn't work anymore for the user. So what we did? We implemented a workaround where we're, again, hooking into private APIs for WebKit to make. The APIs release the passkey requests correctly. And I have pending tasks that I haven't been able to get to yet to open, fix. a PR to fix the issue in WebKit initially, because there's an issue in WebKit where it's not canceling the request, right? And another issue where we're gonna be updating our communications with Apple, because previously, I think Dominic was talking with them about this at some point, and we didn't have a good, uh… minimum example of how… what the issue was to show them. So we're gonna provide something to them as well. Uh, this is also what triggered the idea, I don't know if you saw that apple that I reposed, to… uh, start encouraging more our interactions with the WebKit, uh, team, and proposing changes, and… You know, even submitting PRs, if that makes sense. Um… So yeah, that's it. And the second you saw on Friday, if you were there, which is that we have now Bitwarden extensions and 1Password extensions in the browser. which you can use. I think Dominic posted about it today, I think, or yesterday, I can't remember.
|
||||
- **20:13:35 · Dominik Kapusta:** Yesterday.
|
||||
- **20:13:35 · DR:** Um, yeah. And if you want to give it a go, it would be great. You need to be an internal user. Let me see if I have it installed here. Doc. Mm-hmm. It's here. All right. No, I don't have it installed. Sorry. I wasn't ready for the demos today. But yeah, that's it for me. Thanks, everybody.
|
||||
- **20:14:08 · Dominik Kapusta:** I wanted to ask. Because we, uh, run this entire thing about passkeys on macOS, but… We didn't check iOS at all, right? But I think… Does it work the same on iOS? I don't recall anymore. We probably also had that entitlement requested for iOS or not.
|
||||
- **20:14:30 · DR:** I don't know, honestly. That's a good question. I'm going to take note now.
|
||||
- **20:14:33 · Dominik Kapusta:** Okay.
|
||||
- **20:14:35 · DR:** To look into that. But it's possible we're going to be seeing the same issue. I don't know, because the entitlement that we would need for that not to be an issue is… I don't think Apple is giving that away, and I don't think we have that on iOS, so it may be an issue there as well. Uh… But yeah, I mean, the request to make the WebKit submission to fix this. Would fix it for all. browsers. But it would be interesting to know if it's breaking in iOS. I agree.
|
||||
- **20:15:09 · Dominik Kapusta:** Yeah, of course. Now that I think of it, I… I'm not looking at iOS feedback that much, but probably we don't have? feedback about passkeys not working in the iOS app?
|
||||
- **20:15:24 · DR:** I did look at some point and I didn't find much from iOS, but then I didn't follow up to check if it was causing trouble.
|
||||
- **20:15:26 · Dominik Kapusta:** There's only one recorder.
|
||||
- **20:15:33 · DR:** Which is the interesting bit.
|
||||
- **20:15:35 · Dominik Kapusta:** Mm-hmm. Cool, thanks. One last thing about extensions is that, and this hasn't been announced anywhere, but we also support Dark Reader. If any one of you fancies Dark Reader, you can install it from Chrome Web Store. Just go to Chrome Web Store, search for Dark Reader and install it and it works. It works much better than whatever we had for Dark Reader, uh, integrated behind the scenes, and that thing is going away at some point. But yeah. We also support iCloud Passwords, which is a terrible extension, but it's the only way to connect a browser that's not Safari. with passwords up. Thank you.
|
||||
- **20:16:23 · Jonathan Jackson:** Awesome, thank you. And thank you, Diego, for rolling with that. If you have tasks or anything that are related to those that you could pop into the agenda at some point, that would help people find some more of this history, too. That'd be great. Uh, if not, that's fine. Very handy, that'd be…
|
||||
- **20:16:36 · DR:** Yeah, I'm gonna… no, I'm gonna look them up now, yeah, and then I'll…
|
||||
- **20:16:40 · Jonathan Jackson:** Cool. Thank you. Feel free to drop them in the agenda. That'd be fine. And then the last thing on the agenda, Alex, is a postmortem from you.
|
||||
- **20:16:50 · Alex Martemyanov:** Yeah, hey, it's the postmortem for VS Code support. So actually the migration to support VS Code and Carstore initially. I'll… So, the… Originally, the project started more than a year ago as a Huggies project. It grew out of… general AUR optimization and refactoring work related to storyboards, removal, modularization, and other. And, uh… Uh, my half-day's effort was to try to integrate it to Cursor in that time, and, uh, it's shown that the approach is actually working. Uh, we could… potentially in, uh, use CorpStore and, uh, integrate with it, having, uh, syntax, uh, highlighting, uh, documentation, and, uh, jump to symbol, builds, and so on, and debugging. Ah, so it's, uh… the project was, uh… formed from the steps remaining to make it work. But first of all, it included all the. AUR work that was already started, like storyboards removal, uh, some of, uh, flags organization and other stuff, and, uh… It had no kickoff as it was kind of running in my background between top priorities, and that's why it took so long to finish. Uh… and uh… Yeah, it had. It had some some issues visibility issues, I'd say so. First of all, did it achieve its success criteria and its purpose? So I think strong. Yes, so. in most of the work. or preparation was finished. Some of it is… It's moved out of the project back to the AUR, but the amount of work needed to make it work was done, and it would have been done in scope of the AUR as the tech debt pending probably someday. Uh, but yeah, this project gave it kind of, um, shape and served as an umbrella for those, uh. I think it's… Vs code. Cursor was completed, at least on my end. It's available in my public repo. If anybody is interested and requires a small github githook to integrate into project. and uses mostly native means, and fully compatible with Xcode, and does not replace or harm Xcode experience. So what went well and I could highlight? Yeah, each of the project steps were shipped as a small and separate refactors. Each one was an improvement on its own. There were several tech designs. First of all, the first tech design of. Modernization and Cursor support was originally discussed and approved when we mostly adopted Cursor, and it seemed like a good target. Uh, and it had a follow-up this year, recently, that was, uh, that was canceled. And… Basically, it was the same tech design, but it was really discussed after… after some… changes and when we build closer to completion. And with EXPO27 release, the integration was much simpler than the original plan, and did not require most controversial parts of the project. So this was discussed with the team, and. Yeah, the decision was made to not to move forward with it, but have a small… Small fixes or small adaptation that allow it to complete. Yeah, so the setup is usable. I use it instead of Xcode, except for release deals or Ui tests. And, uh… Yeah, basically it's moving, it's moving. seemingly moving forward to make… and Apple is moving forward to make, uh, it's more open and more viable with other dev tools, if anybody wants to experiment with it. Uh, and the work, I think, I could also show, highlight that the work is not completed here. Uh, we still have a lot of tech debt to solve, a lot of, uh, modelization efforts to be done there.
|
||||
- **20:21:58 · Alex Martemyanov:** And it continues, basically. What didn't go well? Uh, there was, uh, an incident on macOS 12, uh, because it's generally not tested in our, uh, in our setup, as we already discussed in the incident post-mortem last time. Uh, while we still support, officially support, the SmuckOS version, we are not testing it effectively. And, uh, this, uh, gave me some thoughts of how could it be improved, probably. So, first of all, I… experiment… I experiment locally with, uh, testing… testing harness and agent harness, supporting macOS 12 as well. And, uh… later on, I'll try to… Push it forward to… Okay. Uh, to be able to actually test it. So, first of all, I've made an effort to, uh… to split. with actual UI test builds from macOS runners to one macOS builder, unified between different versions, so runners won't have. I have to build it every time, and this is improvement on its own. It improves build times, basically. And another is testing hardness to support Mac OS 12. So it's not… it's not open as a pull request to review yet, but it's working. Uh, so it's proof that it can work, and we can… could move forward with it, and probably rent some, uh, older machines somewhere in the cloud, and uh… have it tested. The second suggestion here would be to, uh, improve our processes, so I didn't, uh, complete the proposal yet, with all this, uh, performance review stuff, the priority. Uh, but yeah, I was planning to, uh… at a proposal. to require writing UI tests for any modified or added user-facing features and extend coverage overall as it does not require so much effort. We only need some Agentic work to analyze. coverage to suggest some tests and basically push it one by one. Um… Another issue was a tab bar disappearing. It was spotted during the internal testing. Basically, general work. And again, UI testing would support it. Yeah. Next thing is, uh, related to the visibility. Uh, so basically, demand for the VS Code integration and commercial integration was checked too late, as the project was, uh, done as in my background. So in its purpose, its aim was mostly my personal and included most tension, while most of the project was not related to actual VS Code migration, but served as an. Umbrella project to… Granted. Uh, this was, uh… This was only touched on the last stage, and uh… Probably we… While the project was progressing in the days before, we could have discussed it during some of Apple Weekly. But maybe not since. the actual implementation and the actual step that required this discussion was raised just in time, when Xcode 27 was available, and this step was about to be made. So. yeah, there were some issues with visibility, but it's mostly related to my… to me doing this project as my… not as my top priority, but it's generally your work when I have time for it. Okay. Yeah, and another outcome from it is the project goal was from the round one IDE support, as I already told, basically to migrate to VS Code and eat. might separate some tension and questions. Whether do we need to migrate to Vs code while again, 85% of the project was not related to actual Vs code migration and was general refactoring and improvements. It's, yeah, mostly related to the issue number two. of… Basically, basically, that's it, everything we discussed, and uh… I'll…
|
||||
- **20:26:58 · Alex Martemyanov:** push forward with the Ui testing suggest proposal, and. older version testing, which is a requirement, especially with the more and more usage of Agentic workflows, where we have, like, 95 to 98% of. perfect, there are 8-time code, but there is still this 2% that is not perfect, and it tends to fail in the most critical scenarios. And it becomes a requirement, so… it's not the implementation, uh, that needs to be tested more, but the test… actual testing. And, uh, we need to… Obviously, we need to raise our quality assurance. Versuses. Let's see. Yeah, and the remaining factors will be handles. I have them tracked in the AOR. Not much of priority again, but they are on my plate. That's it. Any comments, any questions?
|
||||
- **20:28:14 · Jonathan Jackson:** Cool. Thank you, Alex. For the other refactors and stuff that are going to happen as part of the AOR. I think we just need to make sure that the value of those are clear in their own steps, right? Rather than, like you said, rather than focusing them on a VS Code support item, we'll just talk about each of those and what they bring to the team in their own right.
|
||||
- **20:28:35 · Alex Martemyanov:** Yes, so they were originally part included in this project, but we should separate cleanup targets. So each of the dependencies is not used by multiple targets, but has its own framework, setting up testing harness.
|
||||
- **20:28:40 · Jonathan Jackson:** Yep. Yeah. Yeah, and a lot of that is in line with the modularization desires that we've had anyway, so.
|
||||
- **20:28:53 · Alex Martemyanov:** supporting UI person. Yep, yep.
|
||||
- **20:28:58 · Jonathan Jackson:** Excellent. Cool. Thank you. Appreciate it. Anything else from anyone before we wrap our meeting for the day? Remember that today is the first of three days for career advisors to be writing, uh, assessments for their advisees, so… We will all probably be heads down on that. I guess if you have questions, career advisors, if you have any questions that I can help with, go ahead and let me know. Feel free to reach out. Thanks, everyone. Good to see you all.
|
||||
File diff suppressed because it is too large.
Load diff
@@ -0,0 +1,335 @@
|
||||
---
|
||||
title: "O-E 2026"
|
||||
date: 2026-10-27
|
||||
date_source: meeting_start_time
|
||||
zoom_note_id: "FZA-Gp3ATxiQ7cQaU5u5tg"
|
||||
source: "https://us01mynotes.zoom.us/FZA-Gp3ATxiQ7cQaU5u5tg"
|
||||
---
|
||||
|
||||
# O-E 2026
|
||||
|
||||
[Zoom My Notes](https://us01mynotes.zoom.us/FZA-Gp3ATxiQ7cQaU5u5tg)
|
||||
|
||||
## Transcript
|
||||
|
||||
- **21:13:06 · russell holt:** Weather and then how. When we're ready, and I think that's at least that's not before these. These privacy triages, I mean, these two TAC designs at least.
|
||||
- **21:13:18 · Michal Smaga:** Don't you think about that it should be the part of the design project, like where we will be designing the whole experience and like we know that Optim is like a requirement.
|
||||
- **21:13:18 · russell holt:** Right? It could be, but I think that we need to push back on the requirement. And figure out a better, bigger way to do it is where I'm going with that.
|
||||
- **21:13:39 · Michal Smaga:** So, wouldn't it be, like… Like, reopening the privacy treasure, just, like, commenting on that to, like, clarify…
|
||||
- **21:13:45 · russell holt:** No, I think… I think we need a… I think we need a separate discussion about… Here's what we know now, here's where we're going, here's where we are in the process of everything, and then we're going to kick off the production version, but to.
|
||||
- **21:13:57 · Michal Smaga:** Okay.
|
||||
- **21:14:02 · russell holt:** To be sure we're on the right, we're on the same page. Here's where we need to get agreement about. kind of opt-in thing. So, let's… Set that aside for the moment. Proceed with these tech designs. And then when we kind of get an understanding of. Where we're gonna be. what actually we're going to be doing more specifically, then we can revisit that need.
|
||||
- **21:14:33 · Michal Smaga:** Okay, so, like, in… In the future, you would like a task to explore the options, like, that we know this is, like, an upfront requirement, and, like, propose, like, doing it, like.
|
||||
- **21:14:39 · russell holt:** Yes. Yeah.
|
||||
- **21:14:45 · Michal Smaga:** Maybe a couple of, like, use cases, like, where we can show it to users, or, like, whether it needs to be, like.
|
||||
- **21:14:51 · russell holt:** Yeah…
|
||||
- **21:14:52 · Michal Smaga:** If we, if we at all can, can, yeah. And, and.
|
||||
- **21:14:55 · russell holt:** Yeah, thank you. Bye. I think you should put that on your list and I will help you with it. Okay. Next one is. We have this tech design. Carrie, that you created. for the starting with the proxy project. And my question is, how do we make a decision there? To move forward. I think that what we started with was we're gonna proxy the API. Tell me if the story is right. And we paused because we decided what we… what you already have is what we should… is all we needed for the prototype, or the MVP. Which we're going to proceed with. And then the question is, what does the production version look like? And I think that we have. Kind of have an informal agreement that we're gonna do some version of the number 4 in your tech design there, which is self-hosting in some manner. Um, and so my question is, how do we decide that? Are there open… like problems or unknowns that we need to get to before we can say, yes, we're doing that. And then from a kind of… Technical side, I think I still don't quite understand. I don't understand the kind of API piece, how the internal API fits into that. Like, is that super easy, or do we have to… Do something else on top of that. That's kind of a detail, but the main thing is. How do we together decide how to move forward there? And then what do we do?
|
||||
- **21:16:54 · Keri Melich:** Yeah. So, I think it's really gonna depend on what the developer's willing to do for us. Uh, like, if he can… if he's willing to give us, like. snapshots of his database. That might be an easier way to go about it, or we could, like. Um, like, this is all in terms of, like, if we're self-hosting, not just proxying his API. Um…
|
||||
- **21:17:20 · russell holt:** Yes, assuming we're gonna self-host.
|
||||
- **21:17:21 · Keri Melich:** But… Yeah, yeah. So, yeah, like, if he could do snapshots for us, and we just pull those regularly, or, um… like, we can do, like, a whole sweep through his database on, like, a… on a cron job and store it on our side, um, or, like. I know he mentioned, I think, setting up a dedicated rsync server for us.
|
||||
- **21:17:51 · russell holt:** Is his…
|
||||
- **21:17:51 · Keri Melich:** And we can run.
|
||||
- **21:17:53 · russell holt:** Is his SB mirror thing not good enough? Is that the issue?
|
||||
- **21:17:57 · Keri Melich:** Um, I… I think it just could be expensive, but I don't… I don't know what the talk has been on cost, so… I mean, it would definitely work, it would… it would accomplish what we need, um…
|
||||
- **21:18:09 · russell holt:** Why why is it expensive?
|
||||
- **21:18:12 · Keri Melich:** Uh, we'd be doing, like, hourly dumps on that, too, at least, I think, if not more, because I think he said the freshness is, like. it… what was it? It was like, videos get… pin. so much, like, within the first hour of being uploaded, so, like, freshness is, like, a big problem. And setting up a dedicated rsync server, I think.
|
||||
- **21:18:28 · russell holt:** Yeah.
|
||||
- **21:18:37 · Keri Melich:** And not just hitting the one that he already has. It might cost him more, so he might charge us more. um… I don't know, I…
|
||||
- **21:18:46 · Michal Smaga:** Great. One question.
|
||||
- **21:18:48 · russell holt:** The vol… the data… the volume can't be that high, though, can it? I mean, if…
|
||||
- **21:18:48 · Michal Smaga:** Do you know?
|
||||
- **21:18:53 · russell holt:** Other than the initial… You know, mirror, like…
|
||||
- **21:18:55 · Michal Smaga:** Yeah, I think that the prime requirement of an solution is that we have the capability to do the incremental updates, so we avoid the… yeah.
|
||||
- **21:19:03 · russell holt:** Yeah.
|
||||
- **21:19:03 · Keri Melich:** Yeah.
|
||||
- **21:19:04 · russell holt:** That's what I, that's what I assumed that our, that it would be, would be incremental updates.
|
||||
- **21:19:09 · Keri Melich:** Yeah, then rsync would be fine. I think that would be a fine… solution. It'd be pretty quick and easy to set up, but I do think that we should ask for the dedicated server.
|
||||
- **21:19:19 · russell holt:** Okay.
|
||||
- **21:19:20 · Keri Melich:** On her side, if we do that.
|
||||
- **21:19:21 · russell holt:** Okay. So I guess the question is still, how do we move forward? How do we decide, make a decision there? Mika, what do you think?
|
||||
- **21:19:31 · Keri Melich:** Uh… I'm…
|
||||
- **21:19:33 · Michal Smaga:** Yeah, so this is also, like, I'm kind of, like… I don't have much expectations from the API consumer, so I think it's, like, I'm kind of open to what is your preference in terms of, like, the SRE. Like, solving the issue.
|
||||
- **21:19:49 · russell holt:** Okay.
|
||||
- **21:19:51 · Michal Smaga:** Yeah, so we probably, like, the requirement for the lookup API that takes the hash prefix is, like, all we need, and yeah, how is it being stored? Uh, I'm, I'm, I… I'm not… don't have any constraints around that, so I'm very open to it.
|
||||
- **21:20:07 · russell holt:** Okay. What's your perspective, Kerry?
|
||||
- **21:20:15 · Keri Melich:** Yeah, and… In terms of my side of things, I didn't get much chance last week. I had a lot on my plate, so I didn't really get a chance to push the tech design forward, but I could just update that and just get an agreement from my team to move forward on the rsync stuff. I think we could start. Working on an implementation.
|
||||
- **21:20:36 · russell holt:** is that… Is that something that you would do? Are you the right person to do that?
|
||||
- **21:20:43 · Keri Melich:** Yeah, I could…
|
||||
- **21:20:43 · russell holt:** I mean, you did the tech design.
|
||||
- **21:20:46 · Keri Melich:** Yeah, yeah. Yeah, it would stay within an SRA project. So that would be fine.
|
||||
- **21:20:52 · russell holt:** Okay, should we then… I mean, my… My inclination, I guess, is to close that proxy project and say, this was the MVP, and then take the best. You know, output of this tech design and say, this is the thing we're gonna focus on, let's drill down into the pieces as a separate project.
|
||||
- **21:21:17 · Keri Melich:** Yeah, I think that makes sense.
|
||||
- **21:21:18 · russell holt:** What what's your what's your preference?
|
||||
- **21:21:22 · Keri Melich:** I think it's cleaner to close the other project, for sure, than just… Make a new one. I see you already did the, like, implement self-hosted project. So we could probably just use that.
|
||||
- **21:21:36 · russell holt:** Yeah, uh, is that a, uh… Are there… do we need to do a bunch of hack phase type of work there to figure out the volume, to figure out the… capacities… Figure out maybe even coverage. I don't know.
|
||||
- **21:21:52 · Keri Melich:** Um…
|
||||
- **21:21:52 · russell holt:** Or do we feel confident that we can just, like, kick it into high gear and make it work?
|
||||
- **21:21:59 · Keri Melich:** I feel like we could just make it work, um, and it's gonna be hard to get any of that capacity stuff until we have something, like, fully stood up, and I figured, like, usually what I do is I factor in, like, a couple of days of just, like, monitoring to get, like.
|
||||
- **21:22:11 · russell holt:** Yeah, okay.
|
||||
- **21:22:17 · Keri Melich:** stats before I close the project. Um, just so that we have time to adjust if we need, but… um… I don't think it necessarily needs to be, like, an official pack days kind of thing.
|
||||
- **21:22:29 · russell holt:** Okay. Okay, so for the proxy side for the MVP, though, we're done there, right? We're, like, it's functioning, we don't need to do anything else for the low-volume MVP, okay.
|
||||
- **21:22:41 · Keri Melich:** Yeah. Yeah.
|
||||
- **21:22:46 · Michal Smaga:** So, uh, I assume, like, the tech design that we have now, we have, like, we picked the solution number one for the proxy, it's, like, being done, it's running. We are good there, so we can, like, wrap up the project, and probably take the tech design with the. Because now we have, like, 3 other solutions, like, number 2, 3, and 4, that we need to decide which would be the best one, uh, for the production deployment, right? I assume this is… my understanding is this is, like, still an open question. How will we implement the self-hosted approach?
|
||||
- **21:23:20 · russell holt:** But that's it.
|
||||
- **21:23:20 · Keri Melich:** Yeah. Yeah, um, and that's what I'm, like… I need to just go back and update the tech design a little bit, and with the idea that, like, we're self-hosting, so let's just, like, cut out options 2 and 3, and… And focus it on self-listing options and get some agreement on my team's side. But, yeah. I think it'll run pretty similarly to, like, other things that we already have. Um, like, I keep using sports as the… as an example, um, just because it's…
|
||||
- **21:23:53 · russell holt:** Okay.
|
||||
- **21:23:58 · Keri Melich:** I think it fits the model pretty well, and it works pretty seamlessly. And we'll just use a similar model to that.
|
||||
- **21:24:07 · russell holt:** Oh, okay. So you sync a large data set for sports frequently.
|
||||
- **21:24:12 · Keri Melich:** Yeah.
|
||||
- **21:24:15 · russell holt:** Fun times. um… Okay, great. So I think we're in agreement there. Thank you, Carrie. Let me call one other question on the prefix thing. Do we have a direction there?
|
||||
- **21:24:35 · Michal Smaga:** Yeah, I think, like, we are…
|
||||
- **21:24:35 · russell holt:** I mean, it seems like…
|
||||
- **21:24:37 · Michal Smaga:** Yeah, we're in alignment, like, so… so the… the only, like, questions that Jonathan had, like, last night was that. How much we can reuse the the existing like. malware protection, like, uh… like, infrastructure for serving, because they have also, like, we're using the hash prefix thing. So, in a big deal, probably we can, like, pretty much, like, the server side could serve the prefix as well. There's a small.
|
||||
- **21:24:56 · russell holt:** Yeah. Okay.
|
||||
- **21:25:09 · Michal Smaga:** caveat into how we would, uh, return the full dataset, because, uh, we can do some optimization, uh, for solving, because it's… larger data sets for the sponsor segments. So we would need to like special handling for that, but in a great piece, it would probably, we could leverage that.
|
||||
- **21:25:21 · russell holt:** Yeah.
|
||||
- **21:25:31 · Michal Smaga:** Uh, so this is agreed. And for the client side, I think there are no, like, uh… like… big concerns, uh, I think, yeah, it's, it's still to be, like, uh… So I think this is, like, it should go smooth.
|
||||
- **21:25:48 · russell holt:** Okay.
|
||||
- **21:25:48 · Michal Smaga:** And should not block us. I have, like, on the other hand, a question about the timing of all the things. So, we have the prototype and the MVP going, yeah.
|
||||
- **21:25:56 · russell holt:** The timing.
|
||||
- **21:25:59 · Michal Smaga:** So, assuming, like, everything goes smooth. And we get the code merged into the internal next week, for example. how… How long do you think we need for people to, uh. test it out internally before, like, getting the, like, I don't know, like, the… the partnership resolved to… to start a design project, to start the… the SRA project for Curry, to… to… about the self-hosted approach. Because I… I know this is probably some kind of, like, dependencies we have, that…
|
||||
- **21:26:37 · russell holt:** Well, uh, I think we should… I don't see any reason to not assume it's gonna just… work out. I mean, like, I don't see any, um, hesitation, or hostility, or blockers, you know? The only unknown is the opt-in thing from my standpoint. Everything else seems easily resolvable.
|
||||
- **21:27:00 · Michal Smaga:** And what is the sense from the partnership about the cost and, like, taking the deal? Is it, like, approved already?
|
||||
- **21:27:01 · russell holt:** Um, the, well, okay. Approved in terms of the cost?
|
||||
- **21:27:10 · Michal Smaga:** Uh, like, the cost, yeah.
|
||||
- **21:27:12 · russell holt:** No. It's not…
|
||||
- **21:27:15 · Michal Smaga:** So this can break on this point as well, right?
|
||||
- **21:27:18 · russell holt:** I mean, I guess it could, but I don't see any reason why. What you're sort of asking is what's the… Uh, nonviolent kill criteria.
|
||||
- **21:27:27 · Michal Smaga:** Should we gate the… should we gate the production implementation based on, like, some conditions that we… that needs to be fulfilled?
|
||||
- **21:27:36 · russell holt:** Yes, we need to thoroughly understand the actual implementation cost for us in addition to the monthly cost. Um, and so… That's why, you know, these placeholder projects are on the roadmap to try to understand how long is this really going to take. Um, actually, Carrie, that's another thing you could help with, is kind of getting a better understanding of what the actual. Implementation. time cost will be for us? Like, is that a big project or small project, you know? Um, for the self-hosted piece, number 4. Because I don't really have a sense of that.
|
||||
- **21:28:17 · Michal Smaga:** And probably, like, the estimate for the maintenance.
|
||||
- **21:28:18 · russell holt:** Yes.
|
||||
- **21:28:21 · Michal Smaga:** Because this will be something.
|
||||
- **21:28:21 · russell holt:** Yeah, the maintenance seems low to me. It seems totally off from YouTube.
|
||||
- **21:28:25 · Keri Melich:** And…
|
||||
- **21:28:30 · russell holt:** It seems low. I don't know. That would really help too for you to estimate the ongoing maintenance in addition to the implementation.
|
||||
- **21:28:30 · Keri Melich:** Um… I can just add that to the tech design when I go to update it this week, if that's okay.
|
||||
- **21:28:44 · russell holt:** Excellent. Thank you. Yeah, so those are the things that that could. undermine this is it could be crazy expensive. It could be ridiculously out of proportion to other similar deals. I don't think it would be. I mean, this seems… smaller and easier than YouTube ad blocking. Which it should be. Okay, so good. I think we have path forward. And. Does anyone know? Disagree, or is there anything you want to bring up? All right, all right, right. What about the tech conference thing, Sam?
|
||||
- **21:29:47 · SM:** And… Yeah, I guess what would be most useful to know is, like, because we've chatted to AJ, but there's some negotiations going on, like, is there anything that's worth me chatting with him in person about, or… Is it all going to be handled basically by partnerships now, so I don't need to kind of… Talk about… Just, well, yeah, if there's, like, a value in, like, making a, like, a proper approach and chatting about some specific things…
|
||||
- **21:30:11 · russell holt:** I think… I think it would be great if you had an understanding of what we plan to do so you can hang with him and talk about it. And just… kind of get a sense of. Well, what's he there for? Talking about how cool SponsorBlock is?
|
||||
- **21:30:39 · SM:** Yeah, he's doing a talk about it.
|
||||
- **21:30:46 · russell holt:** Yeah, I hope you attend. Heckle him. I mean, that was a joke.
|
||||
- **21:30:56 · SM:** Sorry, I missed that. My. My son is showing me his latest interview.
|
||||
- **21:31:02 · russell holt:** Yeah. Um, yeah, I mean, I think you should attend the talk, and… You know, hang out. Tell them what word.
|
||||
- **21:31:12 · SM:** Yeah, so we already kind of shared, like, the scope of kind of what we have in mind, like…
|
||||
- **21:31:12 · russell holt:** Don't know what we're doing. Maybe.
|
||||
- **21:31:19 · SM:** how we… like, I don't know, do we want to, like, share the details that we're kind of doing the non-branded version, and that… Like… The opt-in stuff, or that kind of thing.
|
||||
- **21:31:30 · russell holt:** Do you want me to write up? I know. Something for that.
|
||||
- **21:31:35 · SM:** Yeah, I think it'd be good to know, kind of, like, what we already, like, spoke to him about, and…
|
||||
- **21:31:35 · russell holt:** Sounds like it would help.
|
||||
- **21:31:41 · SM:** What you are willing to share, and what's, like…
|
||||
- **21:31:43 · russell holt:** Okay.
|
||||
- **21:31:45 · SM:** We don't wouldn't want to share.
|
||||
- **21:31:47 · russell holt:** Yeah, I'll I'll I'll create it. I will. I will create a task and just put. A a summary in there. But but I think the short story is we said. We the reason that we're pursuing an integration is that we want to try to make. This thing on by default for our users in the in the most. In the easiest way possible. So we're… that's why we're talking about minimizing the UX. You know, so that we can get it out to as many people because people want this. We learned… this is one of the things people really want when we did our ad blocking launch, like, something like this. Um, you know, our alternative is to integrate with the extension. But that puts it at kind of arm's length, and we don't have extension support yet anyway, which we're working on, and that's an option if this doesn't work out. But it would be better to integrate it, because then we can make it part of the overall experience. And it just doesn't… seem weird… it seems a little weird to promote a separate extension that, hey, go to the Chrome store and install it, and that sort of thing. And so we're… I have — anyway, all right, I'll send you a summary. A task for that.
|
||||
- **21:33:13 · SM:** Cool, thanks. And then the other thing, I just dropped the link to the schedule in the… Agenda… if also you want to see, like, check what talks are on, I think, yeah, because Max is coming too, we'll be able to cover all of the sessions, so if there's particular sessions you're interested in. Um, just let me or Max know, and we'll… Try to cover them and get notes on them. I assume for YouTube ad blocking, there's no one we really need to, like… chat to you about that there. There may be some maintainers on those lists there, if we wanted to kind of.
|
||||
- **21:33:52 · russell holt:** That's a good question. That's a good point. Think about that. and get back to you on that. Okay. All right. Thank you, Sam. That's it for our main agenda. We're ready to move on to. And. Ian's dark player settings postmortem, and then Alex's. Modem for CPM. Extension. If that's not something that's interesting to you. Have a great rest of your week.
|
||||
- **21:34:51 · IB:** Oh, right. How about this?
|
||||
- **21:34:52 · russell holt:** Otherwise, Ian, it's all you.
|
||||
- **21:34:55 · IB:** Nice one, thank you. Post the link to the postmortem. Um… I mean, fundamentally, this was a very straightforward project. I think that really the only thing… To discuss here is the way the project was undertaken. It was slightly unusual in that it wasn't my TP but did look to be something I could achieve like in the gaps of my TP. Um, I think that's probably… Hit the nail on the head with the question that he asked on the main project comments, which was interesting how much actual time it took and should have been prioritized as a top priority project. I think that's the core question to ask. So I've specifically addressed it in the. The postmortem text there. There were 12 weekdays between the first changes I implemented and the completion of ship review. I think overall that probably accounts for about 3 to 5 days worth of actual work. And then plus the shipper view. The shipper view, I don't think, would have gone any different in either, um… situation. Um… Of those three to five days of work, by far the most work was the… Open Doug Player a new tab when possible. This actually required some pretty deep changes in redirection within the Windows browser. It was definitely worth doing. I think maybe had we gone through a formal kickoff. We would have identified that upfront rather than realizing after the first set of changes that this was actually a significant lift. Either way, looking at the responses in the ship view, I think. we would have elected to do this, so I don't think there would have been any change in how the project panned out. So overall, I think that the critical… Thing to consider here is I don't. believe the project would have executed any quicker, but it would have executed sooner as a top priority. So… What did I say there? The TP thread was opened on the 23rd of September, decided on the 24th, I think it was. And we could have had this in place. Within two weeks of that, so. early October. That said, I don't believe it would have. I mean, actually, it didn't trump the chromium fire window work. It opened in… in the TP thread, both these were presented as options, and there was definite. focus on getting the fire window work done, which I had lots of contacts with, so I was the obvious person to do it. So, all in, I think, um… I think it was a success running it this way. I think it allowed us to get it done. sooner overall, because, you know, I'm approaching the end of the Chromium project, end of this week, maybe beginning of next week, and then we would have looked at doing this. So we're, you know, we've won by about two weeks here, I think. um… I put it down as what's gone well. I'm actually intrigued on your opinion, Russell. Is this something that you thought was a… A win or was it uncomfortable? Right.
|
||||
- **21:38:25 · russell holt:** Well, we… we… We hit this problem a lot, which is… Here's a change we want to make on. you know, all 12 platforms. That's what it feels like, right? you know, you know, or platforms.
|
||||
- **21:38:42 · IB:** Yep.
|
||||
- **21:38:43 · russell holt:** And then we're talking about this in Chris's top priority multiple times. Should we run this browser project? Should we run it as a bunch of small, independent tasks? Because none of them… independently seemed to, you know, be, like, two weeks' worth of effort or something, and they're just sort of, like… In this uncertain zone between we want to do them soon, but they don't. You know, seem to warrant like a full project and other people have other responsibilities. So it's just, there's a bunch of junk like that, that it's not really clear exactly how to do it.
|
||||
- **21:39:22 · IB:** I think that's exactly right. And I've been talking about this with my CA. I think there's a fundamental limit to the speed with which a project, regardless of what size it is, can be executed within Datadog's processes. We all work remotely so. from an engineering perspective, you can make those changes really quick. I mean, really quick with agents nowadays. But you're still stuck waiting for a PR review. You know, and that's going to go onto someone else's backlog of work to do, and they're going to get to that when they can. So, while, um, you know, we've got 3 to 5 days worth of work here, that's… get it done, get it tested, you're happy with it, you open the PR, and then you kind of wait around. I mean, I had stacked PRs open for both elements of this work to different PR reviewers. But they still took that, like, two or three days to actually get those reviews done and signed off to a position where it was actually mergeable. Fortunately, the change that we had during the ship review for making. Open in new tab when possible. default, um, I pinged the reviewer and said, look, can you just sign this up today, because I want to get the ship review done. I think we can force these things. But in ordinary flows, there are limits to how fast you can execute a project. And I actually think that's quite…
|
||||
- **21:40:35 · russell holt:** Yeah.
|
||||
- **21:40:44 · IB:** Especially now, the depth you need to go in, the thought process depth you need to go in for. Certainly these kinds of changes. It's much shallower, so you can context switch. quicker due to the having agents help you out with this stuff. So I'm increasingly of the opinion that we should be looking at parallelizing tasks.
|
||||
- **21:41:00 · russell holt:** Right. That's interesting. I've heard this. I've heard this a couple of times. Like I was talking to Brindy at the meetup and he's like. I can just kick off this agent to do this other thing on the side while I go do something else, totally unrelated. And then I'm… You know, I've got the capacity to go back and forth.
|
||||
- **21:41:35 · IB:** Yeah. I mean, there are costs.
|
||||
- **21:41:35 · russell holt:** You know, so, so he's got like one top priority and then a bunch of junk that he's doing on the side, you know, sort of like.
|
||||
- **21:41:41 · IB:** Yeah.
|
||||
- **21:41:43 · russell holt:** Like that. I think that's that's interesting. I I yeah. Umm. I wouldn't want that to be like a, a requirement by accident, you know, like you've got the time, so you should be doing all this other stuff. You know, then that feels sort of, I personally would feel weighed down by that probably if it looks like.
|
||||
- **21:42:10 · IB:** I think that's…
|
||||
- **21:42:11 · russell holt:** Imposed from the top. You have to do a bunch of that stuff.
|
||||
- **21:42:16 · IB:** Yeah, I think there are different size problems that we should be looking at doing this. So for example, like the sponsor block stuff, there are a lot of open questions and a lot of this is out of our hands and it does require deep thought about how we're going to do these approaches. But when you're looking at a project like this, I think, you know, since we already had the settings, they just needed minor bits of updates, and then we found, you know, we got a little extra feature that we want to bolt in as well. It kind of feels like this fits into those spare gaps a lot better than a much bigger project that you ostensibly wouldn't want to have duplicate top priority, sorry, multiple top priorities.
|
||||
- **21:42:58 · russell holt:** Yeah.
|
||||
- **21:43:01 · IB:** Chris, your comment. Small things require kickoff, post-mortem, surely. Are you suggesting that… This project would have benefited from having those or it would have slowed down this project.
|
||||
- **21:43:14 · CB:** No, I mean… we did have a superview and a postmortem, like, I don't remember if we had a kickoff, but it's, like, something that's… that I'm experiencing as well, with, like, some of the proof of concepts that I did for, uh, SponsorBlock, probably when I did, um, deck player settings on, uh… um… on Android as well. In my case, it also, like, kind of compounds with, like, switching between objectives, and then my biggest roadblock is being able to schedule those ceremonies, not to get the actual work done, and at some point, I'm like. juggling so many different… projects which require, like, more bureaucracy and more ceremonies, and that becomes the bottleneck. So it's, like, small tasks, yeah, I can see it. The moment is like more like. Project is when I'm still struggling to. see how it can like. Okay.
|
||||
- **21:44:10 · IB:** There.
|
||||
- **21:44:10 · CB:** grow, let's say.
|
||||
- **21:44:11 · IB:** I think you're right, actually. There were… we did do most of the ceremony… we didn't have a kickoff for this, but we did do most of the other ceremonies, like, uh, post-mortem and ship review. I think we have to do ship review, it's a user-facing change, it's not something we cannot do. And actually, I was keen to have a post-mortem to get some feedback on how, you know, Russell felt about this. And actually, that does raise another question. There wasn't a dedicated PA. for this project and. That is possibly something which I should have thought about and brought on. Again, I don't know what value they would have added here, but it is one of the aspects that we missed. In short, I mean…
|
||||
- **21:44:56 · CB:** The PA is a good point, actually, because I was wondering whether I needed one for the Android implementation, because…
|
||||
- **21:44:58 · russell holt:** And.
|
||||
- **21:45:02 · CB:** Technically, it's not a project. There's, like, the Umbrella project, but the Umbrella project, technically, I'm the DRI, but I'm not. That one doesn't have a PA either. We didn't have. Do I need a PA for this one? How do we handle this?
|
||||
- **21:45:18 · IB:** Yeah.
|
||||
- **21:45:20 · russell holt:** I think that's a good point.
|
||||
- **21:45:20 · Michal Smaga:** Yeah, I have a… I have a small question about, uh, what was the origin for the open doctor in Utah? Like, wasn't it in the scope, in the designs? for moving the settings, it came up during the ship review. Is that understanding correct?
|
||||
- **21:45:36 · IB:** So, the… when the parent project was first done. there was only macOS designs and the mac… or Android designs, one or the other, I can't remember, but it certainly wasn't Windows designs. And I think Russell was keen that we kicked it off on Windows first, so he asked the designer, Jason, I think, to… Give us Windows designs for it. And at that point, the open in new tab popped up, but we hadn't had that previously. So, yeah, this kind of… was discovered along the way once we'd already committed to doing this as a kind of side project.
|
||||
- **21:46:21 · russell holt:** Yeah, the reason when you asked me, should we do this? And the reason I said yes was that. Uh, we had discussed that issue multiple times last year, that Windows Duck Player doesn't open in a new tab, it doesn't do it. Several times last year. I remember that. I think, Francis, you probably remember that, right? Maybe. I feel like…
|
||||
- **21:46:46 · FD:** Uh, this is for…
|
||||
- **21:46:47 · russell holt:** Maybe not. Duck player, Windows. New tab.
|
||||
- **21:46:52 · FD:** Yeah, I don't remember that, no.
|
||||
- **21:46:53 · russell holt:** No. Okay. Well, I do. I remember this Omid was all over this.
|
||||
- **21:46:55 · FD:** Yeah, okay.
|
||||
- **21:46:56 · IB:** I know… Yep.
|
||||
- **21:47:02 · russell holt:** How come this doesn't work? And so I, I was, I said, yeah, let's, that seems like a reasonable addition. I didn't realize it was gonna take the majority of the time, but yeah. And.
|
||||
- **21:47:15 · IB:** Yeah, to be…
|
||||
- **21:47:15 · russell holt:** You know, once you open yourself up to sort of incremental work, then you end up.
|
||||
- **21:47:20 · IB:** Yep.
|
||||
- **21:47:23 · russell holt:** Blowing up the scope. Which sort of happened here, but it was small enough that it wasn't a big deal.
|
||||
- **21:47:29 · IB:** Yeah. To be honest, I sometimes find that the go-process can be its own worst enemy at times. You can't know everything at kick-off time, and you lay out your scope, and it feels like… adding to that scope or doing any kind of incremental work following on from that scope is kind of frowned upon. And it always… bugs me that that's the case because. Ostensibly, all we want to do is give the best product that our users want, and our users, as Omid quite highlighted in the, um, ship review, like, was it 90% of people or something use the opening new tab? it feels like we should be doing this follow-on work as part of the project, rather than going through another loop of TP, um, threads and arguing for prioritization, especially on what is. what could be conceived to be quite a small feature and easily drop off the priority list, which is probably why it hadn't been done in, what, a year, you were saying. Um…
|
||||
- **21:48:30 · FD:** Hmm.
|
||||
- **21:48:32 · IB:** So yeah, I like that.
|
||||
- **21:48:33 · russell holt:** Yeah. Okay.
|
||||
- **21:48:35 · IB:** That interaction we had, Russell, where it was like, oh. I didn't… This isn't in. I didn't realize it isn't in. Shall I do it anyway? Yes, let's get it done. Got done. Didn't necessarily blow out the project to horrendous scales. I think it was the right way. I think it was the right call.
|
||||
- **21:48:55 · russell holt:** Yeah, and the other argument was that it was not your top priority. You're making it work in between.
|
||||
- **21:49:04 · IB:** Mm-hmm.
|
||||
- **21:49:04 · russell holt:** other things, and there's no time pressure. I think if there was a severe time pressure, it would have been kicked off as a project and prioritized in that way. So, you know, these processes work. For you, too, in that… You know, um… When you want to ensure you're working on, we're supposed to be using these to ensure we're working on the right things that were agreed upon. And that we're not getting sidetracked. And this decision is, is this additional thing we discovered a sidetrack, or is it a core kind of thing? If it's core, then it's reasonable to broaden the scope. and say, okay, yeah. we discovered this thing. So this is actually bigger than we thought. That's good. It's bad if it's, like… you know, I'm gonna… I'm gonna… because I don't want to spend more time in kickoffs and postmortems, I'm just gonna squeeze this thing in. You know. That's… that's like… Not good for you because then the thing took longer than you thought, and it wasn't really the main thing. Like, yeah, we got a thing that you wanted to get done, but like. If you're like, hey, this thing's gonna take me 3 weeks, but it took you 7. And it didn't, and you accomplished the core thing but like Why did it take so long? Because I just… Wanted to do a bunch of other stuff. Like, you don't want to do that.
|
||||
- **21:50:37 · IB:** Yeah, yeah, sure. You know, engineers are very well known for disappearing down rabbit holes because they thought something would be neat. And it's easy to do that. And once you're halfway there, then trying to surface what you're doing becomes problematic. And yeah, yeah, yeah. I think the the biggest. boon to our processes is the transparency aspect. I'm doing this, this is why I'm doing this, this is the impact it's gonna have. And I think we still maintain that. even without the ceremonies here, you know, I said, it's not done, shall we do it? You said, I think it's worthwhile, we got it done. I think the transparency's there, I think we didn't go down any rabbit holes, and I think it worked.
|
||||
- **21:51:15 · russell holt:** Yeah. Yeah, and you got a positive response to that addition in the ship review because.
|
||||
- **21:51:27 · IB:** Yep. Cool, okay. Well, you know, projects down there wasn't a biggie. I was keen to hear thoughts on… this interleave project approach. I don't see that it caused any significant heartache. Russell, I think you're right, you know, if there was a lot of focus in terms of timing or pressure to delivery, then we wouldn't have taken it this way.
|
||||
- **21:51:45 · russell holt:** Uh, yeah.
|
||||
- **21:51:53 · IB:** But that's the was list.
|
||||
- **21:51:53 · russell holt:** What is your advice for Chris to structure her project?
|
||||
- **21:52:04 · IB:** I mean… It's really how it falls into the larger workload, right? The reason we did this project this way was because I was asked to do a TP. There wasn't this. But we all agreed that this was a small enough project that I could probably just get it done. If Chris is in the same situation, I think this works. Actually, the scope of work for Chris should be smaller. But if possible, if Chris can put it on her TP list and everyone agrees that's the thing to be working on, then just jump through those couple of extra hoops.
|
||||
- **21:52:43 · CB:** Yeah, it's gonna be my CP for me. Oh, then…
|
||||
- **21:52:47 · russell holt:** Okay, good. I think you should do that. Kick it off.
|
||||
- **21:52:47 · IB:** Yeah.
|
||||
- **21:52:49 · CB:** Like a… I'm probably gonna arrive to the kickoff with a demo if this is done already, uh, because the sooner I'll be kicking it off is on Thursday, um, but… yeah, I guess it's gonna be odd as it was with the with the Poc. But yeah, other than that, I think it makes sense.
|
||||
- **21:53:07 · IB:** Nice. A kick mortem. I'll be PA for that.
|
||||
- **21:53:16 · FD:** Just… Yep.
|
||||
- **21:53:16 · IB:** Okay.
|
||||
- **21:53:18 · FD:** Sorry, on the subject of… side incremental work. I was just wondering, do you think, would it be worth doing another sweep of the product feedback? Like we did a few months ago, which kind of identified this whole.
|
||||
- **21:53:29 · russell holt:** Yeah. Okay.
|
||||
- **21:53:31 · FD:** Duck player confusion in the first place, um, and running, like, the data synthesizer.
|
||||
- **21:53:34 · russell holt:** Yeah.
|
||||
- **21:53:37 · FD:** And doing a comparison. And we could do that at some point to see if the confusion goes down, but I think it'd be worth doing in any case. Yeah.
|
||||
- **21:53:44 · russell holt:** I do.
|
||||
- **21:53:47 · FD:** And I'm assuming it would set that up as a side project or an AOR maybe like maybe there's something we want to do.
|
||||
- **21:53:51 · russell holt:** I don't know.
|
||||
- **21:53:56 · FD:** You know. Every month, every couple of months.
|
||||
- **21:54:00 · russell holt:** Does anything we do matter, Francis?
|
||||
- **21:54:06 · FD:** Of course.
|
||||
- **21:54:07 · russell holt:** Yeah. Does it have any effect on perception of users?
|
||||
- **21:54:15 · FD:** Yeah, I think it'd be good to just to have like a tracker. You know. And. Because that could be, you know, like a follow up. from this project.
|
||||
- **21:54:28 · russell holt:** I agree. I don't think that we've solved duck player confusion at all.
|
||||
- **21:54:32 · FD:** Yeah. Okay.
|
||||
- **21:54:32 · russell holt:** I think it's going to be persistent. And I don't think I understand all of the… I still don't think I understand all of the different ways people… use it and understand it and think about it and say, Oh, yes. I'm going to switch from using Dark Player to that. You know, I don't think that… I don't understand how… People think about that stuff. The closer we can get to it, better we can. Decided about. you know, like how. the sponsor block user experience will fit into that.
|
||||
- **21:55:07 · FD:** Mm-hmm. Okay.
|
||||
- **21:55:11 · IB:** Francis, to be clear, that was a follow-on side project for you, right? Not for me.
|
||||
- **21:55:16 · FD:** Yeah.
|
||||
- **21:55:17 · IB:** Okay, good.
|
||||
- **21:55:18 · FD:** Yeah, or, you know, I mean. We have the skill. I mean, it doesn't have to be me, but yeah, I can do it. I mean, I'll create a task.
|
||||
- **21:55:28 · russell holt:** Thank you, Francis.
|
||||
- **21:55:28 · FD:** Okay. Yeah.
|
||||
- **21:55:31 · IB:** Magic. Okay, well, I won't take any more time. There's only one task remaining, and that's for me to do tomorrow, which is update Remote Config for making this visible publicly.
|
||||
- **21:55:31 · FD:** Maybe.
|
||||
- **21:55:46 · IB:** It's only available internally at the moment. Great. Okay then, we'll consider that. Cheers all.
|
||||
- **21:55:54 · russell holt:** Okay, perfect. Thank you, Anne. Okay, Alex, you're next. What's happening?
|
||||
- **21:56:06 · Alex Martemyanov:** Yep. Uh, yeah, so, uh, the third mid-mortem, the third stage of the project. I had not enough time today to work on it, as I was IFKE for some paperwork, so a quick analysis of the first data we. Go ahead. So generally, the goal we were able to achieve last week with the fixes implemented, it's not yet there. There were telemetry improved. Fixed for the network crash implemented. Tried to mitigate init loss and background unload. Fixed one bug for PINTAP, one domain bug after the… Initial fix. And the stable stabilized based URL to prevent long reloading causing all the. Hmmm. fresh recreation on each launch was, uh, was merged, but it goes public next week, so it's not yet there. Uh, still, uh, there is an observation of, uh. Declining. declining, uh. Friend of. of the player events. I've stopped, uh, I've stopped loads. We… it's… might be affected by improved telemetry. So we probably had some false positive. And currently what we have shows around 7% of daily users affected on iOS. And, uh… around… Oh. And around 1% of permanent failures. And 24% of daily users affected by hangings non-permanent on macOS and around. 3% of permanent trailers. So it shows not a high number of permanent kind of state. Uh, around 1 to 4%, but still it's, uh… Oh… sensitive amount, I think.
|
||||
- **21:58:41 · russell holt:** What do you mean by permanent? Permanent.
|
||||
- **21:58:44 · Alex Martemyanov:** Uh, permanent hangs, it's… it's, uh, the hang that we are measuring, that we are observing between two tabs. So, currently, they have dated telemetry. So, if, uh, if there is in it…
|
||||
- **21:58:44 · russell holt:** Permanent hangs.
|
||||
- **21:58:58 · Alex Martemyanov:** initFailure, we start an episode, we count 5 minutes from it, uh, to let it either recover, or confirm its hang state, or, uh… be closed because none of the events in Fortnite are hung or recovered state. Okay, so… It does not prove.
|
||||
- **21:59:18 · russell holt:** Okay, so you fixed a bunch of stuff on iOS.
|
||||
- **21:59:21 · Alex Martemyanov:** Yeah, there was a fix of a bunch of stuff on both macOS and iOS. Yes, and the bug, for example, the tab management bugs were obvious and actual. So, but the main, the main issue is still, it's, I think it's still in there. Okay. Oh… Yeah, kind of 37% of failures is still… not reproduced and not recovered. And, uh… Yeah, so basically there is three remaining fixes that could be applied right now. Basically, it's error… error 6 failure. Um… There is network. There is one unexplained failure which. which is reproduced by the feature flag toggling, but we are not toggling the feature flag in production, so it's activated, but still the symptom, it's kind of similar. Maybe it could be mitigated by… Uh, the feature clock removal that, uh, that Michal is, uh, handling at the moment. But frankly, I… I don't think that it's the actual issue. There might be… some… initialize initial flakiness on browser start and how extension is loaded that might look similar. Or maybe there is not. There is not still not a big amount of. cases. Maybe it's related to the internal testing and feature flag toggling by internal users. Anyways, and there is an obvious extension update sequence that first we load the outdated extension, then we unload it and reload a new one, and some of the cases are. showing the stack events related to the extension being updated. So we might want to… For the updated extension. To reinstall the extension first before activating the outdated one, because it seems to be affecting it. So these cases are not forming the most of the received episodes. But they are kind of addressable. The remaining issue to investigate is basically the wake and backgrounding sequence. So it's basically loaded, you created, deallocated, then more than three. 30 seconds. Loaded, then again, and the sequence is repeated. And since we are not tracking every event we have, the sequence is being trimmed, and it seems like a regular, long… Usage with, uh, a lot of, uh… Tabs on and switching between them and backgrounding and waking. We can do extension. System, basically. Background viewing.
|
||||
- **22:02:59 · Max Tsoy:** Yep. Sir, so there's lots of details here to unpack, but, um, I just want to make sure I understand the bigger picture correctly. So… With the work so far, you've managed to decrease the number of affected users. uh… I'm I'm seeing, from 1% to 0.3% on on iOS and from 3.6 to 2.1 on Mac. Right? So, as of right now.
|
||||
- **22:03:30 · Alex Martemyanov:** Uh, kinda. So, first of all, there were…
|
||||
- **22:03:34 · Max Tsoy:** The 2% of Mac OS users. Experience this stuck state, and. 0.3% of iOS users, correct?
|
||||
- **22:03:46 · Alex Martemyanov:** Yes.
|
||||
- **22:03:48 · Max Tsoy:** Right. So from the from these affected users in like all of the cases. It sounds like… Uh… you have some ideas, but for the majority of them, you don't know. what's happening. Like what the root cause is. But we can, we can detect, we can detect it.
|
||||
- **22:04:04 · Alex Martemyanov:** Yes, so. So we have the extended telemetry.
|
||||
- **22:04:10 · Max Tsoy:** And my question now is it basically, like, is it worth still pushing, or is it already okay? And I think the crucial point is, like, do we have any. Uh… So I think we were talking about like some. Workarounds. Like toggling the protection to things like, are there any, like, alternative… Solutions like that, that we can… do now? Because if there are, then we should probably implement this and keep monitoring, and then… ah. Because otherwise it sounds like it's just like a rabbit hole.
|
||||
- **22:05:00 · Alex Martemyanov:** And… Yeah, so basically, uh, they, uh… There is an issue with reloading the extension, so we have… some percentage. I… it's pretty low, yes, uh, as you… as you said, it's around 1% of iPhone. And, 3% of macOS. But it's still kind of sensitive. And it's only talking about the permanent failure. And there is… Something like a race condition. Basically, on… And return from the background state on reinstall. And… some… Related. On some conditions related to extended long usage of the browser and tabs and some life cycle events. Those events are recoverable and more like one shot problems. Oh, and yeah, so actual… First, we need to understand how… How far should we go here? We kind of eliminate all of them and make workarounds. Or, we only want to target those permanent pillars, and… So the most of those issues that were kind of surfaced here, they are fixed and there is another fix that's released the next week that should also lower the failures rate a little bit. But yeah, so it's 3%, it's kind of… It's a pretty high number, I'd say. It's not… It's not like zero point fraction of persons that we could just ignore here. So… I think my… But I think here it's —. It won't be… it won't be worse if we… try to understand of what's happening. So basically, we've, uh… isolated the most of the cases. And most of them kind of understood, but the biggest group as of moment is around. 37% of all failures is this. Background and init clicking us. And, uh, the worst thing about it is, uh, that our fix by triggering the extension reload is not really… It's not really helping here. And, uh… Basically, it's recreated, but it still does not receive the init sequence and stays in the hung state.
|
||||
- **22:08:00 · russell holt:** Does killing the browser and starting it up again address any of these issues at all, or is this the tab reloading problem?
|
||||
- **22:08:00 · Alex Martemyanov:** I'm… Uh, we don't have such data, and I'll just start with the browser.
|
||||
- **22:08:10 · russell holt:** Like, session restoration. So session restoration is an issue, is a problem here, right? I mean, this…
|
||||
- **22:08:21 · Alex Martemyanov:** Um…
|
||||
- **22:08:22 · russell holt:** Oops. You know what I mean? Like some of these issues. 1st load readiness. Is that a session restoration issue?
|
||||
- **22:08:33 · Alex Martemyanov:** It's first laundry, I guess. Where is it?
|
||||
- **22:08:39 · russell holt:** Yeah, then under P4.
|
||||
- **22:08:39 · Michal Smaga:** I think, like… Alex, did I understood correctly? Like, the biggest per moment, uh, like, group is the Idlewake, which is, like, the…
|
||||
- **22:08:50 · Alex Martemyanov:** Yes, the… the idol will.
|
||||
- **22:08:52 · Michal Smaga:** And this is one, also, like… Also, it's the most unknown one, like, in terms of, like, reproduction or, like, how we can fix it, so…
|
||||
- **22:09:00 · Alex Martemyanov:** Yeah, so basically, it's long-range usage of a tab and switching between tabs, putting the computer into sleep, and so WebKit loads.
|
||||
- **22:09:02 · Michal Smaga:** Okay. And something breaks in WebKit.
|
||||
- **22:09:14 · Alex Martemyanov:** Where it unloads, the background youth unloads it again, and sometimes… It does not come up.
|
||||
- **22:09:24 · russell holt:** So, I'm asking because, like, in that example, that's the biggest one because… People don't restart their browser. And they leave it running forever.
|
||||
- **22:09:35 · Alex Martemyanov:** Uh, yes. Granddad.
|
||||
- **22:09:40 · russell holt:** So it's fixed at like updates and that's, that's the only time people restart their browser.
|
||||
- **22:09:47 · Alex Martemyanov:** Mm, yeah, there's just doubts. And we update when… the browser is restarted, and the browser is restarted. For everyday usage, it's probably restarted in macOS Restart, or… For occasional usage, interestingly, probably on a daily basis.
|
||||
- **22:10:10 · Max Tsoy:** I feel like we should… Just simplify the metrics and focus on the permanent. Um… errors, because that's… that's the real problem. Like, if… if something is… Uh, like, recovers on page reload. that's… there are so many other issues that can cause this. So let's focus on the permanent ones. And from the permanent… Issues. Do you have like a sense of like how. Big of a chunk of it is the idle wake, because right now it says 37% of all macOS failures. But for the.
|
||||
- **22:10:50 · Alex Martemyanov:** Yes, and 8% of, uh… of the daily user. Probably it's related to events. I don't think it's completely correct here.
|
||||
- **22:10:57 · Max Tsoy:** Yeah, but, like, how many of them are permanent hangs? Like, in terms of, like, percentage of permanent hangs?
|
||||
- **22:11:07 · Alex Martemyanov:** And… Again, it's early first date data, and uh…
|
||||
- **22:11:14 · Max Tsoy:** Okay. Like, the exact number doesn't really matter right now, so, like, what I'm trying to get at is, like, let's focus on the… let's make sure that we focus on the biggest.
|
||||
- **22:11:27 · Alex Martemyanov:** Wait a moment, I… Uh, yes, yes, yes. Let's let me find…
|
||||
- **22:11:36 · Max Tsoy:** The most impactful reasons. And it sounds like this one is the most impactful one, but it's also the most. unclear, right? Because we basically don't know the root cause. Uh, so we should also look at the… if the… let's say, if the second biggest. is almost as big, but we know the the, root cause. Maybe we should… Do that first. Because, like, overall, like, I agree with you that 3. is… Fills a lot. And we should probably, like, say beforehand, like, that we want to reduce it to, like. I would say, like, sub 1%, something. So, like, that's when we're kind of done. Uh, and then, uh… Try to focus on the… most impactful kind of chunks or root causes.
|
||||
- **22:12:39 · Alex Martemyanov:** Yes, I agree, and… So, the suggestion would be… So, first of all, yeah, there is a feature flag being removed, and it may affect some of the cases, but probably not. Uh, there is, uh, several gnomes. Uh, that we have, there is base URL next week, there is, uh, 3… related items that needs fixing. So basically it's just. a matter of, uh, opening a PR, and yeah, maybe done in Pablo, but, uh, the main work here is to… To understand, basically, we had the last… Uh, yeah, and uh… Mostly, yeah, it's mostly, mostly recovered, actually. Yeah, the data, it's around 2% of permanent failures, limit failure. And 8% on Mac OS.
|
||||
- **22:13:48 · russell holt:** So Max, your advice is focus on the permanent problems, permanent hangs.
|
||||
- **22:13:49 · Alex Martemyanov:** Let me just clarify.
|
||||
- **22:13:54 · russell holt:** And this idle wake, figuring out this cause of the idle wake issue.
|
||||
- **22:13:54 · Max Tsoy:** Yeah, that… Well, if the idle wake is really the most impactful root cause for this, then yes, because right now I don't… We don't have the exact numbers, and I don't have a sense of what's…
|
||||
- **22:14:10 · Alex Martemyanov:** Um… Yes. So, uh, there is a little bit of difference, uh, of this first-day data for… between macOS and iOS. For iOS, we have, uh… 2255 users currently with permanent failures. It's 0.3 of daily users. it's hard to tell from these numbers, really. It's a small amount, and, uh, should continue observation, but the permanent failures has… Recent context loading, 42%. Extension update, 17%. Error number 6. 16% idle weight, 13%. And yeah, other of 11%. So basically idle wake has some sensitive percentage here, but extension update is higher and extension update is kind of known. So we could change the sequence of updating the extension before. Uh, before loading the outdated one.
|
||||
- **22:15:21 · russell holt:** I'm not sure I follow extension updated. What does that mean?
|
||||
- **22:15:21 · Alex Martemyanov:** Uh, for macOS.
|
||||
- **22:15:25 · russell holt:** It's a problem.
|
||||
- **22:15:25 · Alex Martemyanov:** So basically… Yes, so it seems to be causing problems from the data that we have. We have the event extension update causing the permanent… preceding the permanent failures, not causing it.
|
||||
- **22:15:38 · russell holt:** You mean when we ship an update to the extension?
|
||||
- **22:15:43 · Alex Martemyanov:** First, you load the old one.
|
||||
- **22:15:43 · russell holt:** Is that what you mean?
|
||||
- **22:15:45 · Michal Smaga:** Yeah, the extension is embedded, so it's embedded in the bundle, so we compared the installed version to the one in the updated app bundle, and if it's greater, then we.
|
||||
- **22:15:45 · Alex Martemyanov:** And then the…
|
||||
- **22:15:56 · Michal Smaga:** Reinstall the new one over the old one.
|
||||
- **22:15:58 · Alex Martemyanov:** And you log it.
|
||||
- **22:15:59 · Michal Smaga:** Yeah.
|
||||
- **22:15:59 · russell holt:** Okay.
|
||||
- **22:16:01 · Michal Smaga:** So this is the check done on the first app launch after the update.
|
||||
- **22:16:06 · russell holt:** And and you're saying that that's a cause of.
|
||||
- **22:16:06 · Max Tsoy:** That's actually, like…
|
||||
- **22:16:10 · russell holt:** Some permanent hangs.
|
||||
- **22:16:13 · Alex Martemyanov:** Mm, it seems so. So the event is preceding the permanent hang. We cannot prove it at the moment, looking at the data, but it's… Preceding the payment, permanent further events.
|
||||
- **22:16:28 · Max Tsoy:** Do you think it has to do with this version checking that we would ignore?
|
||||
- **22:16:29 · Alex Martemyanov:** I'm not going to ask slip.
|
||||
- **22:16:35 · Max Tsoy:** Unless it's, um… a version is bumped. Just saying, because that's something that…
|
||||
- **22:16:43 · Alex Martemyanov:** Well…
|
||||
- **22:16:44 · Max Tsoy:** I think it's a complication that we… We might want to remove. Oh.
|
||||
- **22:16:52 · Michal Smaga:** Why would it cause an issue, like the check?
|
||||
- **22:16:53 · Max Tsoy:** Well, I don't know, like, because it's just this… like, let's say if we would… Reload the extension all the time, regardless of, like, every time on app launch. Would it? Help.
|
||||
- **22:17:05 · Michal Smaga:** Yeah, I think it would just make the problem more severe.
|
||||
- **22:17:07 · Max Tsoy:** Even worse. Oh, okay.
|
||||
- **22:17:09 · Michal Smaga:** Because, yeah, because you would reintroduce the reinstallation on every app launch, or, like, after every update, yeah.
|
||||
- **22:17:13 · Max Tsoy:** So the problem is somewhere in the… there is some kind of race condition during this upgrade.
|
||||
- **22:17:18 · Michal Smaga:** I would say so, yeah.
|
||||
- **22:17:20 · Max Tsoy:** Okay, so, like, my overall, like, point here is that, first.
|
||||
- **22:17:21 · Alex Martemyanov:** Yeah, basically.
|
||||
- **22:17:26 · Max Tsoy:** We should focus on permanent. Trailers. Uh, and Discope, everything else. Looking by the numbers.
|
||||
- **22:17:30 · russell holt:** Agree.
|
||||
- **22:17:35 · Max Tsoy:** It sounds like we should focus on macOS and Discope iOS, because… affected DAO is… well, that's… like, we can argue about that, but, like, this… 0.3% of iOS users. Sounds like something we can probably ignore. But I don't know what the absolute number is, but 3% or 2% of macOS sounds a bit too high. So, and we should… That tells me we should focus on macOS. Um, and we should also set a goal. Of like what percentage is actually enough like when we're done. And. I don't know, define the number. Maybe it's below 1% of daily active users are affected or something. It will probably depend on, you know, better than me. It will depend on the absolute numbers and like what's what. What's generally what do we care about in in? On Apple. And… So we just scope everything else and then we look at specifically like what contributes to these cases and then attack the most impactful root causes.
|
||||
- **22:18:55 · Alex Martemyanov:** Yes, I…
|
||||
- **22:18:55 · Max Tsoy:** That's, I think, how we should go. And then, like, what exactly it means, like, you tell me what it is, so you know better.
|
||||
- **22:19:03 · Alex Martemyanov:** I agree here, generally. So still, we have, uh, speaking about macOS, we have 86 users reported with, uh, permanent failures. It's a low number, we can't… judge for sure from it. And, uh, so first thing would be to wait for tomorrow, uh, when the US day ends, so we have more data, and, uh, the first thing for me tomorrow is to update the data and check the. distribution that may have changed. But having these 86 cases, the idle weight issue is the most effective permanent failure on macOS. So it is the issue to investigate, the most unknown one. Uh, and the next one is tab not connected, the P6, uh, that was not addressed. Extension update again on the third place. And yeah, basically other that some of them can be treated, some of them there is a slight chance the network extension fix is causing some extra failures. It should be also investigated. I must inform about it. So it may be… it may be a regression, but if the number is… is valuable, it could be validated by. Switching off the feature flag, basically. Because they have separate feature flags. Um…
|
||||
- **22:20:41 · russell holt:** You might make a call.
|
||||
- **22:20:42 · Alex Martemyanov:** So the plan as I see it. Just… hmm?
|
||||
- **22:20:44 · russell holt:** Michaels has a question.
|
||||
- **22:20:45 · Michal Smaga:** Alex, one question. So the updated numbers are just for the latest versions?
|
||||
- **22:20:51 · Alex Martemyanov:** Yes.
|
||||
- **22:20:52 · Michal Smaga:** for both iOS and macOS, just like explicitly the latest version are only included.
|
||||
- **22:20:53 · Alex Martemyanov:** Yes.
|
||||
- **22:20:57 · Michal Smaga:** What is your confidence in those numbers? Like, should we maybe wait a couple of days more just to get, uh…
|
||||
- **22:21:03 · Alex Martemyanov:** Yes, we should.
|
||||
- **22:21:04 · Michal Smaga:** Got it. Stabilize. Yeah.
|
||||
- **22:21:07 · Alex Martemyanov:** Yeah, so looking at current numbers, 86 cases not representative. The idle wake is basically the only… unknown, unreproduced issue. And still it looks like something to play with. Probably on the actual browser, on real experience, setting the… Some breakpoints to measure and attach it to. To a log, and uh… Having some… Idle time, so basically waiting for 30 seconds, and… Manual testing, basically trying to reproduce it. Since we have the event sequence, we could… reproduce the events that are causing it. Putting computer into sleep, opening hundreds of tabs, waiting on each tab to get unloaded, activated afterwards. Basically a long manual testing. And seeing chicken when it actually breaks, if it breaks. That's like plan for the day one. Let's see. Meanwhile, the known issues could be AI fixed. Then DIP checked by me and pushed to release with lower priority. So the highest priority is the… Permanent failures, as Max told. Well… That's basically it and setting the bottom line to 1%. Below 1%, I'd say like half of a percent would be kind of acceptable. I think that sounds fine.
|
||||
- **22:23:00 · Max Tsoy:** Yeah, I think we should just compare these thresholds to some other thresholds that we have for the app, like, for example, how many. crashes do we, uh… are we comfortable with, or, like, other things that we have in metrics? I just wanted to say two things. So first, I just remember, so we merged a fix this morning in the embedded extension that fixes some memory leaks on iOS.
|
||||
- **22:23:29 · Alex Martemyanov:** Mm-hmm. Okay.
|
||||
- **22:23:35 · russell holt:** Do you have a link to that, Max?
|
||||
- **22:23:36 · Max Tsoy:** Uh, it has… Um, it.
|
||||
- **22:23:38 · russell holt:** Just add it to his mid-morning. Just comment on Alex's mid-morning with that.
|
||||
- **22:23:40 · Max Tsoy:** Yeah, yeah, yeah, I, uh… I'll link to it. So it has to do with event listeners, since there is some kind of WebKit bug. But it was merged this morning, so I'm not sure when it will be released. Uh, and second, uh, yeah, I just wanna say again that I really appreciate your, uh, persistence, Alex. I know that this, this kind of investigations are really hard, and they are…
|
||||
- **22:24:04 · russell holt:** Yeah.
|
||||
- **22:24:08 · Max Tsoy:** unrewarding, and, uh, it's…
|
||||
- **22:24:10 · Alex Martemyanov:** Okay.
|
||||
- **22:24:11 · Max Tsoy:** Yeah, I'm really impressed that you've been doing it for weeks now. Thank you.
|
||||
- **22:24:17 · Alex Martemyanov:** Yeah, so generally the main, again, the main issue, we already have the project running for eight weeks, but I can say that I like permanently am testing the feature. 100% doing this stuff, so it's mostly, like, trying to reason about the possible… Um, the possible… issues we have, like there are reasons for them, and implementing a test harness, again, AI-driven mostly, that reproduces this exact issue, then finding a fix that won't break things and fix the issue, basically. And, uh… Then, then we have this two weeks release cycle, or in the best case, it's one week release cycle, in case we take this into release, and we wait. We wait if it helps, and, uh, if the data is correct, and, uh. What else can we see in it? So… Yeah, basically. Guaranteed, it seems like we've… reached the… There is the point when we can see all the… Hold it bothers. and distributors. And make the choice what to fix at that point and what to investigate. So I can… From my perspective, I can see only now that we have some settled… set of hypothesis and. settled issue to investigate and fix. Because before, we had, like, maybe an obvious fix would help us. Like, the tab management issues that were kind of obvious, and they were obvious bugs, they were fixed, but they were not, uh… I'm informing the highest percentage of all the issues that we had, but the issue was real. But yeah, it needed fixing. Just not. Unfortunately, it didn't address the most users. Okay, so I'll update the project. Tomorrow, because currently it's very late for me, and uh…
|
||||
- **22:26:43 · russell holt:** Okay, yeah.
|
||||
- **22:26:44 · Alex Martemyanov:** I don't…
|
||||
- **22:26:45 · russell holt:** Good.
|
||||
- **22:26:47 · Alex Martemyanov:** So I'll update the data and settle the plan of the most permanent breakage issue investigation. And as a lower priority, there would be the known fixes to be implemented. So that's the current plan.
|
||||
- **22:27:05 · russell holt:** Sounds good. Miko, you're on top of that.
|
||||
- **22:27:10 · Michal Smaga:** Yes, sounds good.
|
||||
- **22:27:12 · russell holt:** Max, you're in agreement.
|
||||
- **22:27:12 · Alex Martemyanov:** Okay.
|
||||
- **22:27:16 · russell holt:** Okay, excellent. Thank you. Thank you, Alex.
|
||||
- **22:27:19 · Alex Martemyanov:** Yeah, thank you.
|
||||
- **22:27:20 · russell holt:** From. Okay, I think that's it. Any other things?
|
||||
- **22:27:26 · Max Tsoy:** I posted the link to that, uh, fix in the middle.
|
||||
- **22:27:27 · russell holt:** It isn't, right? Okay. Thank you. Okay, that's it. Thanks, everyone.
|
||||
+193
@@ -0,0 +1,193 @@
|
||||
{
|
||||
"schema_version": 1,
|
||||
"note_id": "r6weCpT7SnasTUiybJW95w",
|
||||
"title": "Apple Weekly Team Meeting - Zoom ID",
|
||||
"meeting_date": "2026-11-03",
|
||||
"meeting_date_source": "meeting_start_time",
|
||||
"meeting_start_at": "2026-11-03T15:00:51.000Z",
|
||||
"note_created_at": "2026-11-03T15:01:17.788Z",
|
||||
"note_modified_at": "2026-11-03T15:01:17.788Z",
|
||||
"source_url": "https://us01mynotes.zoom.us/r6weCpT7SnasTUiybJW95w",
|
||||
"transcript": [
|
||||
{
|
||||
"time": "21:01:20",
|
||||
"speaker": "Jonathan Jackson",
|
||||
"text": "Thank you, folks."
|
||||
},
|
||||
{
|
||||
"time": "21:01:32",
|
||||
"speaker": "Andre Martingo",
|
||||
"text": "Hello."
|
||||
},
|
||||
{
|
||||
"time": "21:03:05",
|
||||
"speaker": "Jonathan Jackson",
|
||||
"text": "I have a lot of people today and a few minutes after, although I see a couple of us are still rolling in. Why don't we get started? Quick review of rotations as usual. Rindy, you're covering iOS triage this week, followed by Hassan and then PCOR. macOS Triage, Rachel this week, followed by Alessandro then on. iOS release duty, Nihao this week, followed by Pete and then Pao. And macOS Release Duty 1 is on this week. Followed by Joseph. Oh, I'm sorry. That should be Alex is on this week. They made a trade, but they didn't update the name of the task."
|
||||
},
|
||||
{
|
||||
"time": "21:03:49",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Okay, mute."
|
||||
},
|
||||
{
|
||||
"time": "21:03:50",
|
||||
"speaker": "Jonathan Jackson",
|
||||
"text": "No problem. Alex, you're on this week. Thank you. Followed by Joseph and then Federico. Quick reminder, if you are planning on taking time off around Christmas, New Year's holiday season, please put it into Asana soon. Currently, 10 of you apparently are working through the holidays. That would be great. Make rotation scheduling very easy, but I bet it's not true. Um, so if you get that in, uh, in the next couple of days, even if it's just sort of a tentative plan, it doesn't have to be exactly what you're planning on doing, but that would help. who's around when, so that I can start up a conversation about how we get our rotations covered through those two weeks, two, three weeks. Thank you. Ah, and you have a proposal you'd like to share with us? You hear? Yes."
|
||||
},
|
||||
{
|
||||
"time": "21:04:37",
|
||||
"speaker": "Anh Do",
|
||||
"text": "Um, yes, um, just a heads up that, um, last week I posted the, um, uh, draft highlight for contributing to the Apple codebase from, uh, outside the Apple team for Tentacle Engineer, so, um… I got this up with the, um, with all the, um, like, all the highlights, uh, and bullet points and everything, so if anyone has any strong opinion about it, feel free to, uh, add to it. I will leave that open until end of the week, uh, before marking it as approved. So just a heads up. Yeah."
|
||||
},
|
||||
{
|
||||
"time": "21:05:11",
|
||||
"speaker": "Jonathan Jackson",
|
||||
"text": "Great, thank you. I know we've seen, we've had some people doing this already. I think having an organized. set of thoughts on how we want to make sure that people can do that in an effective way that we all rely on is going to be great, so I appreciate that. Pao, onto regular topics. Mac OS 27 is here."
|
||||
},
|
||||
{
|
||||
"time": "21:05:34",
|
||||
"speaker": "Pau Ballart",
|
||||
"text": "Yes, I announced this morning in the apple diary, but pretty much. We move the big drives runners to Mac OS 27 stack. So they just added support last week, I think. And, um… Yeah, just this way. Everything, all the workflows, all the tests, and when, and whatnot, are running on macOS 27, so… If you want, uh… And maybe you should update Mac OS, your local machine, not because it's blogging or anything. It should still work with 26, but… also more for these, uh, like, security vulnerabilities and so on. It's always good practice to be on the latest versions, and then you will be on top, uh, the same level of. of the CI, which… when we enable snapshot testing for macOS would be very handy. Because usually if you have different versions, there can be a mismatch. So there are some small UI changes, you know, between macOS 26 and 27, like the corner radius of the button or I don't know. So snapshots tend to fail. I am finishing a fallback process for this, so it will not block, but. Again, if we are all on the same version, it makes things easier."
|
||||
},
|
||||
{
|
||||
"time": "21:07:02",
|
||||
"speaker": "Jonathan Jackson",
|
||||
"text": "Agreed, and thank you for making sure everybody sees that. Andre, update on SmartLink automation."
|
||||
},
|
||||
{
|
||||
"time": "21:07:22",
|
||||
"speaker": "Pau Ballart",
|
||||
"text": "You are muted."
|
||||
},
|
||||
{
|
||||
"time": "21:07:26",
|
||||
"speaker": "Andre Martingo",
|
||||
"text": "So everyone can see the Hack Day's task here. Okay, so I will just briefly update the work that Pao and me did during the hard days. You saw the tech design. We try to follow as close as possible. There might be some nuances that we found along the way, but so all started with Brindy. Back then, then we took it as well to continue the work. And basically, I will just give an update. So, if you want to check what's going on, which tasks we made, like, we are still tracking the tasks. Long story short, it's not yet finished, but it's in a good place. I will show you a bit of the workflows that are running, and when are they running. So, basically, right now, um, we have the danger rule. So, basically, for me to test these and being, like, one or two releases testing against. main and keep the jobs running. We are just skipping that rule for now, but we didn't disable. And whenever you merge something into master, um… Without translations, it will automatically trigger a job. Then we have another job, which is called nightly jobs. So basically, this one is more complex, so it will… If for some reason the string was not picked up during the merge, it will be picked up here, but also it will check if there will be any issue with the job. So if you create a job, you merge into master, then you go to smartling and you see that. Sometimes there are issues and you need to answer questions from somewhere, someone. We will be able to create a task and assign to you. So every night we check if a job that you created, it will have an issue. Then we have another one called Release Import, which is on Monday, when you… create… and when we create a branch, uh, we try to create the release import, so what that means is, like, we get from SmartLink all the translations. Then we have another one which called translation check. So we have a couple of checks to see if placeholders are correct and some other stuff that will run here. And then basically we have the last one, which is, I will show you afterwards, which is a job that whenever the pull request from the smart link in the release goes to the release branch, it will trigger this one to mark as complete a task. Which task is this one? So we already had this task for this release. Alex got assigned to it. So basically in the release, we have a new one called translations. And basically what will happen is this task will be marked as complete once all the jobs are completed. So what that means is like, imagine you create, we create a release on Monday. And then until Wednesday, every night we will check if the job is complete. And if it's not, it will trigger a warning. But for example, this one was complete yesterday, so there was no pending job. So worst case scenario, until Wednesday, you will get a ping saying, hey, there is a job not completed. So that's the same thing that would happen before, but more automated. And this is the PR that you might see going to the release. So basically, in this case, it's a branch called SmartSpring will release macOS, and it will point to our release. This one was merged on Monday. And basically, it will bring all the translations here. This is the current status. There are some unknowns here. There are a lot of corner cases. We are trying to anticipate them all, but we know that for sure there will be issues as well. One of the things that was in the tech design and we preserve is you will be able to still use the manual one if you want. Um, and also, um, we are not doing any work on if you want to open a new translation against the release. So, uh, for the scope now is just during your daily basis, uh, merge domain and then, uh. In the release, everything will find. If for some reason you want to do it in the release, it's not covered yet. So, we didn't disable the danger check, but if you want to help us and start merging untranslated stuff into the main branch, please ping. I would like to create just a small group of people in the chat, so we can see more use cases, and then we can… I can keep an eye to see if everything will be fine. Yeah, I think I cover everything, Paul, right? Do you have anything to add here?"
|
||||
},
|
||||
{
|
||||
"time": "21:12:28",
|
||||
"speaker": "Pau Ballart",
|
||||
"text": "No, all good. Just maybe a summary of how the new happy path would be. So once this is finished, you would merge English only domain. it will be submitted automatically to smart link, and then on Monday, on the cold freeze a last attempt to submit to smart link will send any pending English key, and then we have this buffer of 5 days of the cold freeze for smart link to finish the work. And once smiling finishes, there is this merge that Andre, this PR that Andre showed, which. is the new responsibility of the release DRI. But it should be just watching for it, getting a warning on Wednesday if smuggling is still not completed, and just making sure that before Friday. It's merged. And that single PR, once per week, once per release, will contain all the translations. of all the work during the week. Questions?"
|
||||
},
|
||||
{
|
||||
"time": "21:13:37",
|
||||
"speaker": "Jonathan Jackson",
|
||||
"text": "So it's doing a submit just on that once a week bill, not on an every night basis."
|
||||
},
|
||||
{
|
||||
"time": "21:13:37",
|
||||
"speaker": "BA",
|
||||
"text": "Can we… can we make…"
|
||||
},
|
||||
{
|
||||
"time": "21:13:44",
|
||||
"speaker": "Jonathan Jackson",
|
||||
"text": "Or are we submitting this more like every night?"
|
||||
},
|
||||
{
|
||||
"time": "21:13:46",
|
||||
"speaker": "Pau Ballart",
|
||||
"text": "We submit on every merge domain and every night as well. So we create a smart link job every time, but we wait until the code freeze to import all at once."
|
||||
},
|
||||
{
|
||||
"time": "21:13:48",
|
||||
"speaker": "Jonathan Jackson",
|
||||
"text": "Okay. Yep. Got it. Okay. That was the piece I wasn't sure about. Thank you."
|
||||
},
|
||||
{
|
||||
"time": "21:14:01",
|
||||
"speaker": "BA",
|
||||
"text": "Can we make sure any problems get flagged with the Smartling translation AOR DRI? If you encounter any. I just want to make sure that stuff is, like, really… noisy for them."
|
||||
},
|
||||
{
|
||||
"time": "21:14:16",
|
||||
"speaker": "Pau Ballart",
|
||||
"text": "Yes. So so far, what we have in place is is this Wednesday check. So if translations are not ready by Wednesday. the release DRI gets an Asana commanding the task, and. Right now, that person should maybe talk to or check what's going on and talk to the SmartLink DRI. But I would monitor how it goes because so far, of course, with me and Andre testing, this didn't happen. Majority of times, since the relations are being submitted as it goes."
|
||||
},
|
||||
{
|
||||
"time": "21:14:45",
|
||||
"speaker": "BA",
|
||||
"text": "Yes."
|
||||
},
|
||||
{
|
||||
"time": "21:14:50",
|
||||
"speaker": "Pau Ballart",
|
||||
"text": "It should be ready by Wednesday. But then, yeah, basically, we will monitor closely. And the 1st time that it gets flagged as being not ready on Wednesday. we will action it, right away. I also have, like, a cloud skill or cloud, schedule thing checking on top, at least for the first few months. I think Andrea and I will be actively monitoring everything."
|
||||
},
|
||||
{
|
||||
"time": "21:15:15",
|
||||
"speaker": "Jonathan Jackson",
|
||||
"text": "Cool, and then…"
|
||||
},
|
||||
{
|
||||
"time": "21:15:15",
|
||||
"speaker": "Andre Martingo",
|
||||
"text": "Yeah, then during this work, there was also an open question. So, for example, even today might be an issue. So, if you detect on… during the release on Thursday that you need to submit a new string. Of course, it will not be ready by Friday. We thought maybe for release exceptions, should we use AI or not? It's an open question and some stuff. Once we will start digging into the process, you will see there are some flaws and we already flagged some. And this one was one of those like, okay, we are automating the kind of the smart link, but there is already a issue, like if you merge some untranslated stuff on Wednesday or Thursday, right? So nothing we can do about, but still today it's a problem."
|
||||
},
|
||||
{
|
||||
"time": "21:16:02",
|
||||
"speaker": "Jonathan Jackson",
|
||||
"text": "Yeah, right. That's basically I was going to reiterate that anything we're merging from the release branch. is exactly the same as it is today. You have to manage the translation process on your own and deal with it. And that's… Fine. You haven't improved that, but it's just exactly the same, and that's okay. You've still solved. most of the standard process, which is excellent. And then, yeah, I think LLMs or other, like, ways to accelerate translations become… more interesting in that, and to to help deal with the the stuff that we're merging to the early spreads later if we need to. Awesome, thank you."
|
||||
},
|
||||
{
|
||||
"time": "21:16:38",
|
||||
"speaker": "Tom Strba",
|
||||
"text": "I think I'm next. Just a quick heads up. For me, this week, I finished our…"
|
||||
},
|
||||
{
|
||||
"time": "21:16:44",
|
||||
"speaker": "JŁ",
|
||||
"text": "Hey, Tom, Tom, sorry. OK, I thought you have a question. Can I have one more question to guys?"
|
||||
},
|
||||
{
|
||||
"time": "21:16:45",
|
||||
"speaker": "Tom Strba",
|
||||
"text": "Quote unquote."
|
||||
},
|
||||
{
|
||||
"time": "21:16:52",
|
||||
"speaker": "JŁ",
|
||||
"text": "Okay, thanks guys for doing that. Yeah, if it works as you're selling it, you're gonna be loved, really, by the team. Just one request, could you make sure to add some documentation?"
|
||||
},
|
||||
{
|
||||
"time": "21:16:52",
|
||||
"speaker": "Andre Martingo",
|
||||
"text": "Yep."
|
||||
},
|
||||
{
|
||||
"time": "21:17:07",
|
||||
"speaker": "JŁ",
|
||||
"text": "And to fix the existing documentation, just because there are still, like, many tasks on Asana that, like, give instructions for the previous process, just to be on the same page. Uh, where we are."
|
||||
},
|
||||
{
|
||||
"time": "21:17:26",
|
||||
"speaker": "Andre Martingo",
|
||||
"text": "Yeah, definitely. If it's not a task, I will create it right now to update, fix, correct, implement wherever skill documentation and so on. So we can see because there are many jobs and there are some corner cases that, for example, you might need to run a special job with a special flag. If an import fail, we will cover all those corner cases and we'll make sure that."
|
||||
},
|
||||
{
|
||||
"time": "21:17:39",
|
||||
"speaker": "JŁ",
|
||||
"text": "Okay."
|
||||
},
|
||||
{
|
||||
"time": "21:17:51",
|
||||
"speaker": "Andre Martingo",
|
||||
"text": "It will work for everyone. Yeah, and it should work as we are selling as well."
|
||||
},
|
||||
{
|
||||
"time": "21:17:58",
|
||||
"speaker": "JŁ",
|
||||
"text": "Okay, thank you."
|
||||
},
|
||||
{
|
||||
"time": "21:17:59",
|
||||
"speaker": "Tom Strba",
|
||||
"text": "Nice. That was a good point, Jacek. Thank you. Especially the edge cases. if things don't go well, and there is a release, and it's, I don't know, Friday or something, and you have to deal with these things, it's usually very stressful. Well, I wanted to quickly update you on there is this macOS privacy data audit. It's also for iOS, but I finished one for macOS this week. There were just four action items from it. Special thanks to DRIs who responded quickly and addressed most of the issues already. What I wanted to raise to you is that privacy test pages are in very bad condition. Like most, like some of these tests. are not supposed to even pass on macOS, but they are in the list. uh, some of tests are failing for… for long term, so I… I raised this to, uh, privacy team, and they are working on, like, finding some owner, and hopefully, uh, refining the list, or… Um, maybe making… making it a little bit easier for us on… to… to execute it. I hope we will have it automated, um, as soon as possible, because, like, clicking. Through privacy test pages and noting if the result is failure or… Um, okay. Success doesn't look like work for human for 2026. That's that's what I wanted to. Update you on. Any questions? Thanks."
|
||||
},
|
||||
{
|
||||
"time": "21:19:40",
|
||||
"speaker": "Jonathan Jackson",
|
||||
"text": "Okay. That was our agenda for today. Anybody else have anything to add? All right. Thank you all. Good to see you. And have a good week."
|
||||
}
|
||||
]
|
||||
}
|
||||
+50
@@ -0,0 +1,50 @@
|
||||
---
|
||||
title: "Apple Weekly Team Meeting - Zoom ID"
|
||||
date: 2026-11-03
|
||||
date_source: meeting_start_time
|
||||
zoom_note_id: "r6weCpT7SnasTUiybJW95w"
|
||||
source: "https://us01mynotes.zoom.us/r6weCpT7SnasTUiybJW95w"
|
||||
---
|
||||
|
||||
# Apple Weekly Team Meeting - Zoom ID
|
||||
|
||||
[Zoom My Notes](https://us01mynotes.zoom.us/r6weCpT7SnasTUiybJW95w)
|
||||
|
||||
## Transcript
|
||||
|
||||
- **21:01:20 · Jonathan Jackson:** Thank you, folks.
|
||||
- **21:01:32 · Andre Martingo:** Hello.
|
||||
- **21:03:05 · Jonathan Jackson:** I have a lot of people today and a few minutes after, although I see a couple of us are still rolling in. Why don't we get started? Quick review of rotations as usual. Rindy, you're covering iOS triage this week, followed by Hassan and then PCOR. macOS Triage, Rachel this week, followed by Alessandro then on. iOS release duty, Nihao this week, followed by Pete and then Pao. And macOS Release Duty 1 is on this week. Followed by Joseph. Oh, I'm sorry. That should be Alex is on this week. They made a trade, but they didn't update the name of the task.
|
||||
- **21:03:49 · Alex Martemyanov:** Okay, mute.
|
||||
- **21:03:50 · Jonathan Jackson:** No problem. Alex, you're on this week. Thank you. Followed by Joseph and then Federico. Quick reminder, if you are planning on taking time off around Christmas, New Year's holiday season, please put it into Asana soon. Currently, 10 of you apparently are working through the holidays. That would be great. Make rotation scheduling very easy, but I bet it's not true. Um, so if you get that in, uh, in the next couple of days, even if it's just sort of a tentative plan, it doesn't have to be exactly what you're planning on doing, but that would help. who's around when, so that I can start up a conversation about how we get our rotations covered through those two weeks, two, three weeks. Thank you. Ah, and you have a proposal you'd like to share with us? You hear? Yes.
|
||||
- **21:04:37 · Anh Do:** Um, yes, um, just a heads up that, um, last week I posted the, um, uh, draft highlight for contributing to the Apple codebase from, uh, outside the Apple team for Tentacle Engineer, so, um… I got this up with the, um, with all the, um, like, all the highlights, uh, and bullet points and everything, so if anyone has any strong opinion about it, feel free to, uh, add to it. I will leave that open until end of the week, uh, before marking it as approved. So just a heads up. Yeah.
|
||||
- **21:05:11 · Jonathan Jackson:** Great, thank you. I know we've seen, we've had some people doing this already. I think having an organized. set of thoughts on how we want to make sure that people can do that in an effective way that we all rely on is going to be great, so I appreciate that. Pao, onto regular topics. Mac OS 27 is here.
|
||||
- **21:05:34 · Pau Ballart:** Yes, I announced this morning in the apple diary, but pretty much. We move the big drives runners to Mac OS 27 stack. So they just added support last week, I think. And, um… Yeah, just this way. Everything, all the workflows, all the tests, and when, and whatnot, are running on macOS 27, so… If you want, uh… And maybe you should update Mac OS, your local machine, not because it's blogging or anything. It should still work with 26, but… also more for these, uh, like, security vulnerabilities and so on. It's always good practice to be on the latest versions, and then you will be on top, uh, the same level of. of the CI, which… when we enable snapshot testing for macOS would be very handy. Because usually if you have different versions, there can be a mismatch. So there are some small UI changes, you know, between macOS 26 and 27, like the corner radius of the button or I don't know. So snapshots tend to fail. I am finishing a fallback process for this, so it will not block, but. Again, if we are all on the same version, it makes things easier.
|
||||
- **21:07:02 · Jonathan Jackson:** Agreed, and thank you for making sure everybody sees that. Andre, update on SmartLink automation.
|
||||
- **21:07:22 · Pau Ballart:** You are muted.
|
||||
- **21:07:26 · Andre Martingo:** So everyone can see the Hack Day's task here. Okay, so I will just briefly update the work that Pao and me did during the hard days. You saw the tech design. We try to follow as close as possible. There might be some nuances that we found along the way, but so all started with Brindy. Back then, then we took it as well to continue the work. And basically, I will just give an update. So, if you want to check what's going on, which tasks we made, like, we are still tracking the tasks. Long story short, it's not yet finished, but it's in a good place. I will show you a bit of the workflows that are running, and when are they running. So, basically, right now, um, we have the danger rule. So, basically, for me to test these and being, like, one or two releases testing against. main and keep the jobs running. We are just skipping that rule for now, but we didn't disable. And whenever you merge something into master, um… Without translations, it will automatically trigger a job. Then we have another job, which is called nightly jobs. So basically, this one is more complex, so it will… If for some reason the string was not picked up during the merge, it will be picked up here, but also it will check if there will be any issue with the job. So if you create a job, you merge into master, then you go to smartling and you see that. Sometimes there are issues and you need to answer questions from somewhere, someone. We will be able to create a task and assign to you. So every night we check if a job that you created, it will have an issue. Then we have another one called Release Import, which is on Monday, when you… create… and when we create a branch, uh, we try to create the release import, so what that means is, like, we get from SmartLink all the translations. Then we have another one which called translation check. So we have a couple of checks to see if placeholders are correct and some other stuff that will run here. And then basically we have the last one, which is, I will show you afterwards, which is a job that whenever the pull request from the smart link in the release goes to the release branch, it will trigger this one to mark as complete a task. Which task is this one? So we already had this task for this release. Alex got assigned to it. So basically in the release, we have a new one called translations. And basically what will happen is this task will be marked as complete once all the jobs are completed. So what that means is like, imagine you create, we create a release on Monday. And then until Wednesday, every night we will check if the job is complete. And if it's not, it will trigger a warning. But for example, this one was complete yesterday, so there was no pending job. So worst case scenario, until Wednesday, you will get a ping saying, hey, there is a job not completed. So that's the same thing that would happen before, but more automated. And this is the PR that you might see going to the release. So basically, in this case, it's a branch called SmartSpring will release macOS, and it will point to our release. This one was merged on Monday. And basically, it will bring all the translations here. This is the current status. There are some unknowns here. There are a lot of corner cases. We are trying to anticipate them all, but we know that for sure there will be issues as well. One of the things that was in the tech design and we preserve is you will be able to still use the manual one if you want. Um, and also, um, we are not doing any work on if you want to open a new translation against the release. So, uh, for the scope now is just during your daily basis, uh, merge domain and then, uh. In the release, everything will find. If for some reason you want to do it in the release, it's not covered yet. So, we didn't disable the danger check, but if you want to help us and start merging untranslated stuff into the main branch, please ping. I would like to create just a small group of people in the chat, so we can see more use cases, and then we can… I can keep an eye to see if everything will be fine. Yeah, I think I cover everything, Paul, right? Do you have anything to add here?
|
||||
- **21:12:28 · Pau Ballart:** No, all good. Just maybe a summary of how the new happy path would be. So once this is finished, you would merge English only domain. it will be submitted automatically to smart link, and then on Monday, on the cold freeze a last attempt to submit to smart link will send any pending English key, and then we have this buffer of 5 days of the cold freeze for smart link to finish the work. And once smiling finishes, there is this merge that Andre, this PR that Andre showed, which. is the new responsibility of the release DRI. But it should be just watching for it, getting a warning on Wednesday if smuggling is still not completed, and just making sure that before Friday. It's merged. And that single PR, once per week, once per release, will contain all the translations. of all the work during the week. Questions?
|
||||
- **21:13:37 · Jonathan Jackson:** So it's doing a submit just on that once a week bill, not on an every night basis.
|
||||
- **21:13:37 · BA:** Can we… can we make…
|
||||
- **21:13:44 · Jonathan Jackson:** Or are we submitting this more like every night?
|
||||
- **21:13:46 · Pau Ballart:** We submit on every merge domain and every night as well. So we create a smart link job every time, but we wait until the code freeze to import all at once.
|
||||
- **21:13:48 · Jonathan Jackson:** Okay. Yep. Got it. Okay. That was the piece I wasn't sure about. Thank you.
|
||||
- **21:14:01 · BA:** Can we make sure any problems get flagged with the Smartling translation AOR DRI? If you encounter any. I just want to make sure that stuff is, like, really… noisy for them.
|
||||
- **21:14:16 · Pau Ballart:** Yes. So so far, what we have in place is is this Wednesday check. So if translations are not ready by Wednesday. the release DRI gets an Asana commanding the task, and. Right now, that person should maybe talk to or check what's going on and talk to the SmartLink DRI. But I would monitor how it goes because so far, of course, with me and Andre testing, this didn't happen. Majority of times, since the relations are being submitted as it goes.
|
||||
- **21:14:45 · BA:** Yes.
|
||||
- **21:14:50 · Pau Ballart:** It should be ready by Wednesday. But then, yeah, basically, we will monitor closely. And the 1st time that it gets flagged as being not ready on Wednesday. we will action it, right away. I also have, like, a cloud skill or cloud, schedule thing checking on top, at least for the first few months. I think Andrea and I will be actively monitoring everything.
|
||||
- **21:15:15 · Jonathan Jackson:** Cool, and then…
|
||||
- **21:15:15 · Andre Martingo:** Yeah, then during this work, there was also an open question. So, for example, even today might be an issue. So, if you detect on… during the release on Thursday that you need to submit a new string. Of course, it will not be ready by Friday. We thought maybe for release exceptions, should we use AI or not? It's an open question and some stuff. Once we will start digging into the process, you will see there are some flaws and we already flagged some. And this one was one of those like, okay, we are automating the kind of the smart link, but there is already a issue, like if you merge some untranslated stuff on Wednesday or Thursday, right? So nothing we can do about, but still today it's a problem.
|
||||
- **21:16:02 · Jonathan Jackson:** Yeah, right. That's basically I was going to reiterate that anything we're merging from the release branch. is exactly the same as it is today. You have to manage the translation process on your own and deal with it. And that's… Fine. You haven't improved that, but it's just exactly the same, and that's okay. You've still solved. most of the standard process, which is excellent. And then, yeah, I think LLMs or other, like, ways to accelerate translations become… more interesting in that, and to to help deal with the the stuff that we're merging to the early spreads later if we need to. Awesome, thank you.
|
||||
- **21:16:38 · Tom Strba:** I think I'm next. Just a quick heads up. For me, this week, I finished our…
|
||||
- **21:16:44 · JŁ:** Hey, Tom, Tom, sorry. OK, I thought you have a question. Can I have one more question to guys?
|
||||
- **21:16:45 · Tom Strba:** Quote unquote.
|
||||
- **21:16:52 · JŁ:** Okay, thanks guys for doing that. Yeah, if it works as you're selling it, you're gonna be loved, really, by the team. Just one request, could you make sure to add some documentation?
|
||||
- **21:16:52 · Andre Martingo:** Yep.
|
||||
- **21:17:07 · JŁ:** And to fix the existing documentation, just because there are still, like, many tasks on Asana that, like, give instructions for the previous process, just to be on the same page. Uh, where we are.
|
||||
- **21:17:26 · Andre Martingo:** Yeah, definitely. If it's not a task, I will create it right now to update, fix, correct, implement wherever skill documentation and so on. So we can see because there are many jobs and there are some corner cases that, for example, you might need to run a special job with a special flag. If an import fail, we will cover all those corner cases and we'll make sure that.
|
||||
- **21:17:39 · JŁ:** Okay.
|
||||
- **21:17:51 · Andre Martingo:** It will work for everyone. Yeah, and it should work as we are selling as well.
|
||||
- **21:17:58 · JŁ:** Okay, thank you.
|
||||
- **21:17:59 · Tom Strba:** Nice. That was a good point, Jacek. Thank you. Especially the edge cases. if things don't go well, and there is a release, and it's, I don't know, Friday or something, and you have to deal with these things, it's usually very stressful. Well, I wanted to quickly update you on there is this macOS privacy data audit. It's also for iOS, but I finished one for macOS this week. There were just four action items from it. Special thanks to DRIs who responded quickly and addressed most of the issues already. What I wanted to raise to you is that privacy test pages are in very bad condition. Like most, like some of these tests. are not supposed to even pass on macOS, but they are in the list. uh, some of tests are failing for… for long term, so I… I raised this to, uh, privacy team, and they are working on, like, finding some owner, and hopefully, uh, refining the list, or… Um, maybe making… making it a little bit easier for us on… to… to execute it. I hope we will have it automated, um, as soon as possible, because, like, clicking. Through privacy test pages and noting if the result is failure or… Um, okay. Success doesn't look like work for human for 2026. That's that's what I wanted to. Update you on. Any questions? Thanks.
|
||||
- **21:19:40 · Jonathan Jackson:** Okay. That was our agenda for today. Anybody else have anything to add? All right. Thank you all. Good to see you. And have a good week.
|
||||
+853
@@ -0,0 +1,853 @@
|
||||
{
|
||||
"schema_version": 1,
|
||||
"note_id": "kOfTt34CRsG3dquIpsIzYA",
|
||||
"title": "Dominik Kapusta's Personal Meeting Room",
|
||||
"meeting_date": "2026-11-03",
|
||||
"meeting_date_source": "meeting_start_time",
|
||||
"meeting_start_at": "2026-11-03T10:03:01.000Z",
|
||||
"note_created_at": "2026-11-03T10:04:07.74Z",
|
||||
"note_modified_at": "2026-11-03T10:04:07.74Z",
|
||||
"source_url": "https://us01mynotes.zoom.us/kOfTt34CRsG3dquIpsIzYA",
|
||||
"transcript": [
|
||||
{
|
||||
"time": "16:04:06",
|
||||
"speaker": "Dominik Kapusta",
|
||||
"text": "How's. Going."
|
||||
},
|
||||
{
|
||||
"time": "16:04:09",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Um, yeah, no worries. Forward. Uh, still there… Still there, I guess, and not much changed."
|
||||
},
|
||||
{
|
||||
"time": "16:04:21",
|
||||
"speaker": "Dominik Kapusta",
|
||||
"text": "on the CPM."
|
||||
},
|
||||
{
|
||||
"time": "16:04:24",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Uh, yeah. So, where were we? I think we missed the last one, and there was the performance review, and there was… They have days. With the demo that I made. And the last week I spent on CPM, and they updated. The updated plan of it. Oh, yeah. So, currently, from the top priority, uh… That is kinda… I'd say we've reached the… We've exhausted all the hypotheses that we've got so far. There is still a couple of fixes we're expecting to get publicly released next week, but still the metrics we defined, we call it acceptable."
|
||||
},
|
||||
{
|
||||
"time": "16:05:12",
|
||||
"speaker": "Dominik Kapusta",
|
||||
"text": "Uh-huh."
|
||||
},
|
||||
{
|
||||
"time": "16:05:25",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "They are probably not going to be reached. And the breakage is somewhere, somewhere else, not reproduced. And the data we've got does not show it. So I just had a call with Michal on the further movements. So probably we'll gonna discuss it on today's weekly call. Oh. Whether to wrap it up in this stage or. Thanks. some other… some other things. But anyways, I think we should have some… we should introduce some permanent metrics, just to keep it, uh… To indicate any breakages in the future."
|
||||
},
|
||||
{
|
||||
"time": "16:06:12",
|
||||
"speaker": "Dominik Kapusta",
|
||||
"text": "No."
|
||||
},
|
||||
{
|
||||
"time": "16:06:13",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "And there is some cleanup to be done, like removing the temporary feature flags and hypotheses that were rejected. Um, so… So that's the plan for this week, I guess. I'm gonna update a bit later today. On the top priority. Bye."
|
||||
},
|
||||
{
|
||||
"time": "16:06:33",
|
||||
"speaker": "Dominik Kapusta",
|
||||
"text": "So the issue is still there."
|
||||
},
|
||||
{
|
||||
"time": "16:06:35",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Yep."
|
||||
},
|
||||
{
|
||||
"time": "16:06:36",
|
||||
"speaker": "Dominik Kapusta",
|
||||
"text": "But you… You were able to… Lower the numbers, at least for iOS, right? For both platforms?"
|
||||
},
|
||||
{
|
||||
"time": "16:06:43",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Uh, yes, so there were some number pollution, uh, fixed last week, uh, so actually each. error pages… each error page, uh, like regular tab loading problem, was reported because CPM is not loading on this, uh…"
|
||||
},
|
||||
{
|
||||
"time": "16:07:01",
|
||||
"speaker": "Dominik Kapusta",
|
||||
"text": "Oh, yeah, okay."
|
||||
},
|
||||
{
|
||||
"time": "16:07:02",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "HTML content replacement and uh but yeah it uh it gave some expected uh. drop Marques numbers, like, from 3% to 1.9."
|
||||
},
|
||||
{
|
||||
"time": "16:07:17",
|
||||
"speaker": "Dominik Kapusta",
|
||||
"text": "Mmhm."
|
||||
},
|
||||
{
|
||||
"time": "16:07:18",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Of the affected users, but it's still above the threshold we defined, like, below 1%."
|
||||
},
|
||||
{
|
||||
"time": "16:07:25",
|
||||
"speaker": "Dominik Kapusta",
|
||||
"text": "Yeah, yeah."
|
||||
},
|
||||
{
|
||||
"time": "16:07:26",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "While iOS is below 1%, it's like 0.9. Not. Not not much, but still."
|
||||
},
|
||||
{
|
||||
"time": "16:07:36",
|
||||
"speaker": "Dominik Kapusta",
|
||||
"text": "All right, yeah."
|
||||
},
|
||||
{
|
||||
"time": "16:07:37",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "So there were actual fixes. There were actual bugs or corner cases discovered. Some of those corner cases are not the case and not giving the meaningful amount of breakage. So we won't proceed with them. But some of them, like pin tabs issues or… Some pre-loading, pre-warm-up are something to keep, because they…"
|
||||
},
|
||||
{
|
||||
"time": "16:08:04",
|
||||
"speaker": "Dominik Kapusta",
|
||||
"text": "Mm-hmm."
|
||||
},
|
||||
{
|
||||
"time": "16:08:05",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "They affect something, but not the main portion of it, basically. There is 35% of the breakage reports. Or… or even 40%, that… Just actually show… just show the normal… Lodge. And, uh… The unit failure."
|
||||
},
|
||||
{
|
||||
"time": "16:08:30",
|
||||
"speaker": "Dominik Kapusta",
|
||||
"text": "You know."
|
||||
},
|
||||
{
|
||||
"time": "16:08:32",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "So… There is no obvious points in code pointing to anything. Like, it looks like everything is okay, but it just won't work. Oh. So, yeah, it's probably up to the… objective to decide whether to go further with it. So I'll try to give a plan for, first of all, for a cleanup, whether to keep it inside the project or do it as a follow-up outside of the project, although it won't change much."
|
||||
},
|
||||
{
|
||||
"time": "16:09:06",
|
||||
"speaker": "Dominik Kapusta",
|
||||
"text": "No."
|
||||
},
|
||||
{
|
||||
"time": "16:09:11",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Because there is, uh…"
|
||||
},
|
||||
{
|
||||
"time": "16:09:11",
|
||||
"speaker": "Dominik Kapusta",
|
||||
"text": "Twice."
|
||||
},
|
||||
{
|
||||
"time": "16:09:13",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "There is actually much a lot of things to to clean up because we've added a bunch of feature flags, pixels, metrics and."
|
||||
},
|
||||
{
|
||||
"time": "16:09:19",
|
||||
"speaker": "Dominik Kapusta",
|
||||
"text": "Yeah, I suppose so."
|
||||
},
|
||||
{
|
||||
"time": "16:09:21",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Yeah, it's not just one feature flag to remove outside of the project."
|
||||
},
|
||||
{
|
||||
"time": "16:09:24",
|
||||
"speaker": "Dominik Kapusta",
|
||||
"text": "Cheers."
|
||||
},
|
||||
{
|
||||
"time": "16:09:26",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "And, uh, yeah, adding some permanent metrics is also a thing, too. to have. But otherwise, we're probably gonna at least put it on hold. Or post-mortem leads, and uh… Decide what to do with the data updated."
|
||||
},
|
||||
{
|
||||
"time": "16:09:47",
|
||||
"speaker": "Dominik Kapusta",
|
||||
"text": "So I saw, I saw, yeah, I saw Russell commenting on the…"
|
||||
},
|
||||
{
|
||||
"time": "16:09:47",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "If we choose."
|
||||
},
|
||||
{
|
||||
"time": "16:09:52",
|
||||
"speaker": "Dominik Kapusta",
|
||||
"text": "DRI advisor task to… Make a decision."
|
||||
},
|
||||
{
|
||||
"time": "16:09:56",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Yeah, basically, what would be the…"
|
||||
},
|
||||
{
|
||||
"time": "16:10:00",
|
||||
"speaker": "Dominik Kapusta",
|
||||
"text": "No."
|
||||
},
|
||||
{
|
||||
"time": "16:10:01",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "the completion of the project. Yeah. So I'm at the moment I'm preparing this."
|
||||
},
|
||||
{
|
||||
"time": "16:10:03",
|
||||
"speaker": "Dominik Kapusta",
|
||||
"text": "Mmhm."
|
||||
},
|
||||
{
|
||||
"time": "16:10:08",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Plan. We've discussed it with Michal. Go on with it, and uh… yeah. By the, by the meeting, I'm planning to update the data first, uh, to have the numbers, and uh…"
|
||||
},
|
||||
{
|
||||
"time": "16:10:19",
|
||||
"speaker": "Dominik Kapusta",
|
||||
"text": "Okay, awesome."
|
||||
},
|
||||
{
|
||||
"time": "16:10:23",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "That's the plan for cleanup and extended metrics or changed metrics that they're saying."
|
||||
},
|
||||
{
|
||||
"time": "16:10:28",
|
||||
"speaker": "Dominik Kapusta",
|
||||
"text": "So, I think… Just a general advice. This is not very official, not a very official communication thread. If you have something in progress, I think it's… Better than you… I mean, it's better when you post a comment that, yes, we will be wrapping up and then working on the plan, rather than keeping them waiting until you have the plan in place."
|
||||
},
|
||||
{
|
||||
"time": "16:10:54",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "You know."
|
||||
},
|
||||
{
|
||||
"time": "16:10:55",
|
||||
"speaker": "Dominik Kapusta",
|
||||
"text": "So, I would just comment quickly there that, yeah…"
|
||||
},
|
||||
{
|
||||
"time": "16:10:58",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Yeah, makes sense."
|
||||
},
|
||||
{
|
||||
"time": "16:10:58",
|
||||
"speaker": "Dominik Kapusta",
|
||||
"text": "working on the plan, and then, yeah, post… and I will post an update later today, before the meeting."
|
||||
},
|
||||
{
|
||||
"time": "16:11:06",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Okay, yeah. Um… For the AOR, there were a couple of things. So, first of all…"
|
||||
},
|
||||
{
|
||||
"time": "16:11:11",
|
||||
"speaker": "Dominik Kapusta",
|
||||
"text": "Awesome. Uh-huh."
|
||||
},
|
||||
{
|
||||
"time": "16:11:17",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "the holidays stuff that's…"
|
||||
},
|
||||
{
|
||||
"time": "16:11:20",
|
||||
"speaker": "Dominik Kapusta",
|
||||
"text": "Yes. Amazing."
|
||||
},
|
||||
{
|
||||
"time": "16:11:20",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Uh, that waits for my input."
|
||||
},
|
||||
{
|
||||
"time": "16:11:24",
|
||||
"speaker": "Dominik Kapusta",
|
||||
"text": "Mm-hmm."
|
||||
},
|
||||
{
|
||||
"time": "16:11:24",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Um… So yeah, I think it's some good changes, I hope. And so one is ready, the tooltip one, the link preview, ship preview."
|
||||
},
|
||||
{
|
||||
"time": "16:11:33",
|
||||
"speaker": "Dominik Kapusta",
|
||||
"text": "Julie, mm-hmm. Is the ship review already done or open?"
|
||||
},
|
||||
{
|
||||
"time": "16:11:39",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "The ship review is up. It's on Stephen for today. I think it's mostly up to Stephen to decide whether the design fits. And if it works, I think we'll move on."
|
||||
},
|
||||
{
|
||||
"time": "16:11:40",
|
||||
"speaker": "Dominik Kapusta",
|
||||
"text": "Okay. Yeah. Sure."
|
||||
},
|
||||
{
|
||||
"time": "16:11:51",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Another one with the fire window as there were some inconsistencies. And… It's generally an important thing. I should just. Go through it carefully and review it myself first. And, I just didn't have time yet."
|
||||
},
|
||||
{
|
||||
"time": "16:12:11",
|
||||
"speaker": "Dominik Kapusta",
|
||||
"text": "Mmhm."
|
||||
},
|
||||
{
|
||||
"time": "16:12:11",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "For it. Another one is the top preview getting stuck. I also got some. Kind of AI feeds for it, but looking at it more closely, it changed some. Responder chain events and it's probably causing some over reporting the state. Maybe it's not too bad. But still, yeah, I also want to check to go through it one more time and… Just make sure. Maybe change something."
|
||||
},
|
||||
{
|
||||
"time": "16:12:49",
|
||||
"speaker": "Dominik Kapusta",
|
||||
"text": "Mm-hmm."
|
||||
},
|
||||
{
|
||||
"time": "16:12:50",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Okay, um… And there were some tests work, some —. And… Measurement that we are… That we keep communication with Bartek, and… Changing the pixel. That seems stabilized. Yeah, with the CPM breakage, uh, fix, you've got the, um…"
|
||||
},
|
||||
{
|
||||
"time": "16:13:11",
|
||||
"speaker": "Dominik Kapusta",
|
||||
"text": "And… Thank you."
|
||||
},
|
||||
{
|
||||
"time": "16:13:21",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "the content blocking data polluted, the logging time, because now it happens after the CPM warm-up, and. It does not indicate the actual… Mm, time till interaction."
|
||||
},
|
||||
{
|
||||
"time": "16:13:39",
|
||||
"speaker": "Dominik Kapusta",
|
||||
"text": "Okay. Yes."
|
||||
},
|
||||
{
|
||||
"time": "16:13:41",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "And… So yeah, we are gonna merge the metrics together and have some buckets to indicate actual timings inside of it. And, uh, yeah, Patrick suggested to change the name, so it… so it's not, uh… misleading, because it's… currently, it's about the compile… compilation of the rule timing, and uh… if it's a common metric, it should be a different one, I guess."
|
||||
},
|
||||
{
|
||||
"time": "16:14:04",
|
||||
"speaker": "Dominik Kapusta",
|
||||
"text": "Uh-huh. You know."
|
||||
},
|
||||
{
|
||||
"time": "16:14:11",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "And… And the last thing… is the… Older runners, virtual machines, and all that stuff, but… No progress since last week on that. And, uh, yeah, I'm… Since one is AFK, I'm also nevertheless maintenance this week."
|
||||
},
|
||||
{
|
||||
"time": "16:14:45",
|
||||
"speaker": "Dominik Kapusta",
|
||||
"text": "Yeah, yeah, I saw that. Thanks for… stepping in. I couldn't do it because I was off yesterday, but thanks for your help. All right, I'm, uh… I'm behind things because of the performance review last week, and this is finally wrapping up. We've. Supposedly the last day, today. Uh, the last day of… Reviewing the reviews, and then the next 3 days will be the calibration, company-wide calibration, that… shouldn't affect. my reviews, at least, so I hope I'll be free. But, yeah. Last week was… tricky, and also… Jonathan was late to… to the reviews, so he was working on the weekend and was asking questions, so I was responding to him on the weekend. Yeah, it is what it is. Uh… Right, so that's that. What do you think about the CPMN? Sorry, I keep saying CPMN because of… the OL metric, but… well, the CPM project… next steps? I mean, you… you told me that we'll be wrapping up, but is it this week, or rather next week? I'm just thinking about when you will be freeing up for the next… project."
|
||||
},
|
||||
{
|
||||
"time": "16:16:28",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "I guess this week is for the cleanup and metrics."
|
||||
},
|
||||
{
|
||||
"time": "16:16:32",
|
||||
"speaker": "Dominik Kapusta",
|
||||
"text": "Yeah, yeah."
|
||||
},
|
||||
{
|
||||
"time": "16:16:34",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "And… But, yeah, I'm not sure whether it would be up to me to proceed with it, or we just wrap it up."
|
||||
},
|
||||
{
|
||||
"time": "16:16:47",
|
||||
"speaker": "Dominik Kapusta",
|
||||
"text": "Well, you'll have a meeting today, right?"
|
||||
},
|
||||
{
|
||||
"time": "16:16:48",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "It's, uh… Yep."
|
||||
},
|
||||
{
|
||||
"time": "16:16:50",
|
||||
"speaker": "Dominik Kapusta",
|
||||
"text": "Yeah, so we'll probably discuss there."
|
||||
},
|
||||
{
|
||||
"time": "16:16:53",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Yeah, because currently I am kind of stuck. There is no further plans except for wrapping up and cleaning up."
|
||||
},
|
||||
{
|
||||
"time": "16:17:01",
|
||||
"speaker": "Dominik Kapusta",
|
||||
"text": "Yeah, so it's a good thing to suggest that explicitly."
|
||||
},
|
||||
{
|
||||
"time": "16:17:02",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Uh, it…"
|
||||
},
|
||||
{
|
||||
"time": "16:17:09",
|
||||
"speaker": "Dominik Kapusta",
|
||||
"text": "And yeah, discuss it on the meeting, and… It's probably do it, so close the project."
|
||||
},
|
||||
{
|
||||
"time": "16:17:18",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Because all the previous fixes were based on the data we've had."
|
||||
},
|
||||
{
|
||||
"time": "16:17:24",
|
||||
"speaker": "Dominik Kapusta",
|
||||
"text": "Uh-huh."
|
||||
},
|
||||
{
|
||||
"time": "16:17:24",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "or some… WebKit open issues, for example. But yeah, currently we will run out of data, and it just seems regular usage, and I… So it's not still produced locally and. There is no ideas on how to."
|
||||
},
|
||||
{
|
||||
"time": "16:17:42",
|
||||
"speaker": "Dominik Kapusta",
|
||||
"text": "Mm-hmm."
|
||||
},
|
||||
{
|
||||
"time": "16:17:43",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "How to approach to it, except for change something in the data itself. and how we measure things. It may give some… Some glimpse into what's actually happening. Maybe it's something obvious, for example, there is an issue with the… there is a possible issue with config loading from the web extension, so if it hangs, everything would hang. But, uh… Again, if it hangs, the water should reload it and it should be restored, but it's not getting restored. So maybe it's something inside of the extension, maybe not. And you've got no data and. It may turn in some endless cycle, getting some, measuring something, evaluating, fixing something."
|
||||
},
|
||||
{
|
||||
"time": "16:18:31",
|
||||
"speaker": "Dominik Kapusta",
|
||||
"text": "You know. No."
|
||||
},
|
||||
{
|
||||
"time": "16:18:36",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Then re-measuring something and re-evaluating. Since we cannot, you know, strike actual user behavior and scenarios, it's mostly guessing here."
|
||||
},
|
||||
{
|
||||
"time": "16:18:46",
|
||||
"speaker": "Dominik Kapusta",
|
||||
"text": "Yeah, yeah, yeah."
|
||||
},
|
||||
{
|
||||
"time": "16:18:47",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "And…"
|
||||
},
|
||||
{
|
||||
"time": "16:18:48",
|
||||
"speaker": "Dominik Kapusta",
|
||||
"text": "Absolutely."
|
||||
},
|
||||
{
|
||||
"time": "16:18:49",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "So why I'm totally not sure how it proceeds and. Like, I got no… defined steps of it, except for wrapping up."
|
||||
},
|
||||
{
|
||||
"time": "16:19:07",
|
||||
"speaker": "Dominik Kapusta",
|
||||
"text": "Yeah, sounds good. All right."
|
||||
},
|
||||
{
|
||||
"time": "16:19:26",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "But yeah, uh, on your point on, uh, when… Could we possibly finish it? So the next week we have the fixes released, and uh… We need to analyze the data outcomes from it. If it changes anything."
|
||||
},
|
||||
{
|
||||
"time": "16:19:42",
|
||||
"speaker": "Dominik Kapusta",
|
||||
"text": "Mm-hmm."
|
||||
},
|
||||
{
|
||||
"time": "16:19:44",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "And. And… probably these. The cleanup and metrics will proceed into that week. I guess, but… There is a chance that it would be done as, like, a follow-up task, just to have the data analyzed. So…"
|
||||
},
|
||||
{
|
||||
"time": "16:20:07",
|
||||
"speaker": "Dominik Kapusta",
|
||||
"text": "Oh."
|
||||
},
|
||||
{
|
||||
"time": "16:20:08",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "There is a chance, uh, that in a week or two. I'll be available for another project and leave this. as a… general… backlog investigation, basically."
|
||||
},
|
||||
{
|
||||
"time": "16:20:27",
|
||||
"speaker": "Dominik Kapusta",
|
||||
"text": "Mm-hmm. Cool. Also, let's see what… What is the next step when it comes to your top priority? I mean, what's your next top priority? That's what I wanted to say, because I don't know now. I don't know what our objective needs. We are having an OL assessment. This week, but it sounds like… It sounds like they are not. Willing to request more people. Unless we, like, need them desperately? I suppose it's related to all being tier 2, essentially. So we… We just have what we have, and… And that's it. Um… We even have Jorge on a project right now. But he's not listed in the team for the next roadmap, so he will just wrap up his project and, I don't know, move somewhere else. Uh, that is weird to me."
|
||||
},
|
||||
{
|
||||
"time": "16:21:40",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Okay, that's fine, and uh…"
|
||||
},
|
||||
{
|
||||
"time": "16:21:41",
|
||||
"speaker": "Dominik Kapusta",
|
||||
"text": "But let's see."
|
||||
},
|
||||
{
|
||||
"time": "16:21:44",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "And how is the Chrome migration doing?"
|
||||
},
|
||||
{
|
||||
"time": "16:21:50",
|
||||
"speaker": "Dominik Kapusta",
|
||||
"text": "The Chromium migration, uh…"
|
||||
},
|
||||
{
|
||||
"time": "16:21:50",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "I heard it's."
|
||||
},
|
||||
{
|
||||
"time": "16:21:53",
|
||||
"speaker": "Dominik Kapusta",
|
||||
"text": "On the Windows side."
|
||||
},
|
||||
{
|
||||
"time": "16:21:55",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Yeah."
|
||||
},
|
||||
{
|
||||
"time": "16:21:56",
|
||||
"speaker": "Dominik Kapusta",
|
||||
"text": "It's going forward, I'm not very close to it. It's actually, it has been moved from OL to OQ."
|
||||
},
|
||||
{
|
||||
"time": "16:22:03",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Hmm."
|
||||
},
|
||||
{
|
||||
"time": "16:22:04",
|
||||
"speaker": "Dominik Kapusta",
|
||||
"text": "So, I'm not really following it very closely, but they are working on it, and they are just doing, you know, feature by feature. I don't also know the… The roadmap, as in when, uh, when will they be ready? Um…"
|
||||
},
|
||||
{
|
||||
"time": "16:22:24",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "But it's not public yet, right?"
|
||||
},
|
||||
{
|
||||
"time": "16:22:26",
|
||||
"speaker": "Dominik Kapusta",
|
||||
"text": "It is not public, not… no, it… It's not. Um… but they are working on keeping the feature parity between… I mean, the feature parity. Whatever… I think whatever is added to… Uh, to… The public release is. adapted to Chrome. It's being adopted, like, on whatever we're adding. We're essentially adding new features on both."
|
||||
},
|
||||
{
|
||||
"time": "16:22:51",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Okay."
|
||||
},
|
||||
{
|
||||
"time": "16:22:58",
|
||||
"speaker": "Dominik Kapusta",
|
||||
"text": "Browsers."
|
||||
},
|
||||
{
|
||||
"time": "16:23:00",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Well, I was just thinking if… If it lands, if it reaches the public state. Would the desktop… my browser also be replaced with Chrome? It's like…"
|
||||
},
|
||||
{
|
||||
"time": "16:23:13",
|
||||
"speaker": "Dominik Kapusta",
|
||||
"text": "Yeah, it's…"
|
||||
},
|
||||
{
|
||||
"time": "16:23:15",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Seems logical."
|
||||
},
|
||||
{
|
||||
"time": "16:23:16",
|
||||
"speaker": "Dominik Kapusta",
|
||||
"text": "Seems logical. It's not a given yet, because it would have consequences in… macOS browser… for App Store. having to stay on WebKit, essentially."
|
||||
},
|
||||
{
|
||||
"time": "16:23:30",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Mm-hmm."
|
||||
},
|
||||
{
|
||||
"time": "16:23:30",
|
||||
"speaker": "Dominik Kapusta",
|
||||
"text": "Because we could ship a browser with… I actually don't know. What I wanted to say is… On iOS App Store, you can't have a browser that's not WebKit-based. with an entitlement to be able to become the system default browser. So if you want your browser to be able to be a system default browser, it needs to be WebKit-based, essentially. So we couldn't… And there are no plans to migrate iOS to Chromium, but for macOS App Store, I don't know. I don't know if it would work. If it's possible. That's something to be…"
|
||||
},
|
||||
{
|
||||
"time": "16:24:11",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Whoa."
|
||||
},
|
||||
{
|
||||
"time": "16:24:12",
|
||||
"speaker": "Dominik Kapusta",
|
||||
"text": "Verified."
|
||||
},
|
||||
{
|
||||
"time": "16:24:14",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Judging from macOS App Store not having actual Chrome."
|
||||
},
|
||||
{
|
||||
"time": "16:24:18",
|
||||
"speaker": "Dominik Kapusta",
|
||||
"text": "Yes!"
|
||||
},
|
||||
{
|
||||
"time": "16:24:18",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Probably not. Yeah. Good point."
|
||||
},
|
||||
{
|
||||
"time": "16:24:20",
|
||||
"speaker": "Dominik Kapusta",
|
||||
"text": "Yeah, yeah."
|
||||
},
|
||||
{
|
||||
"time": "16:24:22",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Yeah, that's all. Such a couple."
|
||||
},
|
||||
{
|
||||
"time": "16:24:26",
|
||||
"speaker": "Dominik Kapusta",
|
||||
"text": "Because it's not… it's definitely not related to Chrome… Chromium itself, because there are Electron apps in…"
|
||||
},
|
||||
{
|
||||
"time": "16:24:26",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Okay."
|
||||
},
|
||||
{
|
||||
"time": "16:24:35",
|
||||
"speaker": "Dominik Kapusta",
|
||||
"text": "App Store, so there are apps that… compile JavaScript, run JavaScript code, uh… In, uh, in App Store."
|
||||
},
|
||||
{
|
||||
"time": "16:24:46",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Yeah."
|
||||
},
|
||||
{
|
||||
"time": "16:24:47",
|
||||
"speaker": "Dominik Kapusta",
|
||||
"text": "Um, so you can ship an engine, yeah, yeah, but for some reason there are no chromium-based browsers there, yeah."
|
||||
},
|
||||
{
|
||||
"time": "16:24:48",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Just a browser."
|
||||
},
|
||||
{
|
||||
"time": "16:24:57",
|
||||
"speaker": "Dominik Kapusta",
|
||||
"text": "Mmhm."
|
||||
},
|
||||
{
|
||||
"time": "16:24:58",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Okay."
|
||||
},
|
||||
{
|
||||
"time": "16:25:06",
|
||||
"speaker": "Dominik Kapusta",
|
||||
"text": "Yeah, but we'll see. It's not for now, like, macOS for now is…"
|
||||
},
|
||||
{
|
||||
"time": "16:25:07",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Well…"
|
||||
},
|
||||
{
|
||||
"time": "16:25:12",
|
||||
"speaker": "Dominik Kapusta",
|
||||
"text": "focused on extensions. We are going to ship extensions by the end of the year. Technically, the due date is end of November, but I'm not sure if we'll meet it. But, yeah, November, December, anyway. And then we'll see. So we'll probably keep…"
|
||||
},
|
||||
{
|
||||
"time": "16:25:33",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Okay."
|
||||
},
|
||||
{
|
||||
"time": "16:25:33",
|
||||
"speaker": "Dominik Kapusta",
|
||||
"text": "doing some things until the Chromium… Fork is out. And then we'll… start thinking about macOS Chromium fork. So, still a few months to go. Yeah."
|
||||
},
|
||||
{
|
||||
"time": "16:25:50",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Okay. What the hell does that mean?"
|
||||
},
|
||||
{
|
||||
"time": "16:26:05",
|
||||
"speaker": "Dominik Kapusta",
|
||||
"text": "So, what's the status of your hack days, besides that one tooltip thingy? What about the fire animation?"
|
||||
},
|
||||
{
|
||||
"time": "16:26:13",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Uh… The fire animation is still there, yes. As I told, it touches the burning logics because it's related to windows opening and closing. There were some issues found."
|
||||
},
|
||||
{
|
||||
"time": "16:26:27",
|
||||
"speaker": "Dominik Kapusta",
|
||||
"text": "Yeah. Yeah, I commented… I commented about full screen."
|
||||
},
|
||||
{
|
||||
"time": "16:26:31",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "In the original code, so…"
|
||||
},
|
||||
{
|
||||
"time": "16:26:35",
|
||||
"speaker": "Dominik Kapusta",
|
||||
"text": "I remember that."
|
||||
},
|
||||
{
|
||||
"time": "16:26:35",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Uh, I guess full screen is, uh, the smallest of the problems, because I think it's not look it looks nice when this there is full screen during revealing the desktop under."
|
||||
},
|
||||
{
|
||||
"time": "16:26:40",
|
||||
"speaker": "Dominik Kapusta",
|
||||
"text": "Okay."
|
||||
},
|
||||
{
|
||||
"time": "16:26:49",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "But, uh… I'm more talking about the data clearing itself that's happening and tied to the window closing, window reopening process. So I I need to come come back to it. Basically, I didn't. Since they have this."
|
||||
},
|
||||
{
|
||||
"time": "16:27:09",
|
||||
"speaker": "Dominik Kapusta",
|
||||
"text": "Mm-hmm."
|
||||
},
|
||||
{
|
||||
"time": "16:27:11",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "So it's somewhere in my plan."
|
||||
},
|
||||
{
|
||||
"time": "16:27:15",
|
||||
"speaker": "Dominik Kapusta",
|
||||
"text": "Sure, sure, sure. All right. All right, that's fine. Yeah."
|
||||
},
|
||||
{
|
||||
"time": "16:27:20",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "It's a top priority."
|
||||
},
|
||||
{
|
||||
"time": "16:27:24",
|
||||
"speaker": "Dominik Kapusta",
|
||||
"text": "Yeah, if you could keep pushing it forward on the side, that would be great."
|
||||
},
|
||||
{
|
||||
"time": "16:27:26",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Hello? Yeah, there was also this app-wide theming support with the buttons backgrounds and title bar backgrounds. Like this Windows 95 thing."
|
||||
},
|
||||
{
|
||||
"time": "16:27:41",
|
||||
"speaker": "Dominik Kapusta",
|
||||
"text": "Mmhm."
|
||||
},
|
||||
{
|
||||
"time": "16:27:43",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Uh, thank you. I also keep it somewhere, maybe for the next five days to make it more production ready, so we can support a wider amount of themable."
|
||||
},
|
||||
{
|
||||
"time": "16:27:50",
|
||||
"speaker": "Dominik Kapusta",
|
||||
"text": "Yeah, yeah. Mm-hmm."
|
||||
},
|
||||
{
|
||||
"time": "16:27:56",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Areas like changing icons. For the buttons, for backgrounds and titles."
|
||||
},
|
||||
{
|
||||
"time": "16:28:07",
|
||||
"speaker": "Dominik Kapusta",
|
||||
"text": "Mmm. Hmm. Right. Hmm. So, uh… So, it looks like… Everything is clear, at least with regards to your top priority, it will become more clear after today's call, in a way. And the rest is… Just you following up on your… Like this work. And… Roughly, that's it."
|
||||
},
|
||||
{
|
||||
"time": "16:28:56",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Yeah, the good news, I'm… Cleaned up most of my backlog. There are still a lot of like feature flags to be removed and."
|
||||
},
|
||||
{
|
||||
"time": "16:29:07",
|
||||
"speaker": "Dominik Kapusta",
|
||||
"text": "Yeah, I also have some."
|
||||
},
|
||||
{
|
||||
"time": "16:29:08",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "It's supposed to be cleaned up. related to CPM mostly. But, yeah, otherwise, uh, the tests… work. So there's 5 tasks in my FTQ."
|
||||
},
|
||||
{
|
||||
"time": "16:29:24",
|
||||
"speaker": "Dominik Kapusta",
|
||||
"text": "No."
|
||||
},
|
||||
{
|
||||
"time": "16:29:24",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Otherwise, it's much better than before."
|
||||
},
|
||||
{
|
||||
"time": "16:29:28",
|
||||
"speaker": "Dominik Kapusta",
|
||||
"text": "That sounds great. Alright, if nothing more, then we can wrap it up here, because I also don't have much, because last week was… What it was."
|
||||
},
|
||||
{
|
||||
"time": "16:29:37",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Yeah, so waiting for the performance review and results."
|
||||
},
|
||||
{
|
||||
"time": "16:29:40",
|
||||
"speaker": "Dominik Kapusta",
|
||||
"text": "Yeah, the performance review will be back next Tuesday, so we'll talk about it. And that's it for now."
|
||||
},
|
||||
{
|
||||
"time": "16:29:52",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Okay, okay."
|
||||
},
|
||||
{
|
||||
"time": "16:29:52",
|
||||
"speaker": "Dominik Kapusta",
|
||||
"text": "All right, if you need anything, just ping me on Mattermost, happy to chat. And other than that, thank you very much, and see you at the Apple Weekly."
|
||||
},
|
||||
{
|
||||
"time": "16:30:04",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Yep. Okay. See you."
|
||||
}
|
||||
]
|
||||
}
|
||||
+182
@@ -0,0 +1,182 @@
|
||||
---
|
||||
title: "Dominik Kapusta's Personal Meeting Room"
|
||||
date: 2026-11-03
|
||||
date_source: meeting_start_time
|
||||
zoom_note_id: "kOfTt34CRsG3dquIpsIzYA"
|
||||
source: "https://us01mynotes.zoom.us/kOfTt34CRsG3dquIpsIzYA"
|
||||
---
|
||||
|
||||
# Dominik Kapusta's Personal Meeting Room
|
||||
|
||||
[Zoom My Notes](https://us01mynotes.zoom.us/kOfTt34CRsG3dquIpsIzYA)
|
||||
|
||||
## Transcript
|
||||
|
||||
- **16:04:06 · Dominik Kapusta:** How's. Going.
|
||||
- **16:04:09 · Alex Martemyanov:** Um, yeah, no worries. Forward. Uh, still there… Still there, I guess, and not much changed.
|
||||
- **16:04:21 · Dominik Kapusta:** on the CPM.
|
||||
- **16:04:24 · Alex Martemyanov:** Uh, yeah. So, where were we? I think we missed the last one, and there was the performance review, and there was… They have days. With the demo that I made. And the last week I spent on CPM, and they updated. The updated plan of it. Oh, yeah. So, currently, from the top priority, uh… That is kinda… I'd say we've reached the… We've exhausted all the hypotheses that we've got so far. There is still a couple of fixes we're expecting to get publicly released next week, but still the metrics we defined, we call it acceptable.
|
||||
- **16:05:12 · Dominik Kapusta:** Uh-huh.
|
||||
- **16:05:25 · Alex Martemyanov:** They are probably not going to be reached. And the breakage is somewhere, somewhere else, not reproduced. And the data we've got does not show it. So I just had a call with Michal on the further movements. So probably we'll gonna discuss it on today's weekly call. Oh. Whether to wrap it up in this stage or. Thanks. some other… some other things. But anyways, I think we should have some… we should introduce some permanent metrics, just to keep it, uh… To indicate any breakages in the future.
|
||||
- **16:06:12 · Dominik Kapusta:** No.
|
||||
- **16:06:13 · Alex Martemyanov:** And there is some cleanup to be done, like removing the temporary feature flags and hypotheses that were rejected. Um, so… So that's the plan for this week, I guess. I'm gonna update a bit later today. On the top priority. Bye.
|
||||
- **16:06:33 · Dominik Kapusta:** So the issue is still there.
|
||||
- **16:06:35 · Alex Martemyanov:** Yep.
|
||||
- **16:06:36 · Dominik Kapusta:** But you… You were able to… Lower the numbers, at least for iOS, right? For both platforms?
|
||||
- **16:06:43 · Alex Martemyanov:** Uh, yes, so there were some number pollution, uh, fixed last week, uh, so actually each. error pages… each error page, uh, like regular tab loading problem, was reported because CPM is not loading on this, uh…
|
||||
- **16:07:01 · Dominik Kapusta:** Oh, yeah, okay.
|
||||
- **16:07:02 · Alex Martemyanov:** HTML content replacement and uh but yeah it uh it gave some expected uh. drop Marques numbers, like, from 3% to 1.9.
|
||||
- **16:07:17 · Dominik Kapusta:** Mmhm.
|
||||
- **16:07:18 · Alex Martemyanov:** Of the affected users, but it's still above the threshold we defined, like, below 1%.
|
||||
- **16:07:25 · Dominik Kapusta:** Yeah, yeah.
|
||||
- **16:07:26 · Alex Martemyanov:** While iOS is below 1%, it's like 0.9. Not. Not not much, but still.
|
||||
- **16:07:36 · Dominik Kapusta:** All right, yeah.
|
||||
- **16:07:37 · Alex Martemyanov:** So there were actual fixes. There were actual bugs or corner cases discovered. Some of those corner cases are not the case and not giving the meaningful amount of breakage. So we won't proceed with them. But some of them, like pin tabs issues or… Some pre-loading, pre-warm-up are something to keep, because they…
|
||||
- **16:08:04 · Dominik Kapusta:** Mm-hmm.
|
||||
- **16:08:05 · Alex Martemyanov:** They affect something, but not the main portion of it, basically. There is 35% of the breakage reports. Or… or even 40%, that… Just actually show… just show the normal… Lodge. And, uh… The unit failure.
|
||||
- **16:08:30 · Dominik Kapusta:** You know.
|
||||
- **16:08:32 · Alex Martemyanov:** So… There is no obvious points in code pointing to anything. Like, it looks like everything is okay, but it just won't work. Oh. So, yeah, it's probably up to the… objective to decide whether to go further with it. So I'll try to give a plan for, first of all, for a cleanup, whether to keep it inside the project or do it as a follow-up outside of the project, although it won't change much.
|
||||
- **16:09:06 · Dominik Kapusta:** No.
|
||||
- **16:09:11 · Alex Martemyanov:** Because there is, uh…
|
||||
- **16:09:11 · Dominik Kapusta:** Twice.
|
||||
- **16:09:13 · Alex Martemyanov:** There is actually much a lot of things to to clean up because we've added a bunch of feature flags, pixels, metrics and.
|
||||
- **16:09:19 · Dominik Kapusta:** Yeah, I suppose so.
|
||||
- **16:09:21 · Alex Martemyanov:** Yeah, it's not just one feature flag to remove outside of the project.
|
||||
- **16:09:24 · Dominik Kapusta:** Cheers.
|
||||
- **16:09:26 · Alex Martemyanov:** And, uh, yeah, adding some permanent metrics is also a thing, too. to have. But otherwise, we're probably gonna at least put it on hold. Or post-mortem leads, and uh… Decide what to do with the data updated.
|
||||
- **16:09:47 · Dominik Kapusta:** So I saw, I saw, yeah, I saw Russell commenting on the…
|
||||
- **16:09:47 · Alex Martemyanov:** If we choose.
|
||||
- **16:09:52 · Dominik Kapusta:** DRI advisor task to… Make a decision.
|
||||
- **16:09:56 · Alex Martemyanov:** Yeah, basically, what would be the…
|
||||
- **16:10:00 · Dominik Kapusta:** No.
|
||||
- **16:10:01 · Alex Martemyanov:** the completion of the project. Yeah. So I'm at the moment I'm preparing this.
|
||||
- **16:10:03 · Dominik Kapusta:** Mmhm.
|
||||
- **16:10:08 · Alex Martemyanov:** Plan. We've discussed it with Michal. Go on with it, and uh… yeah. By the, by the meeting, I'm planning to update the data first, uh, to have the numbers, and uh…
|
||||
- **16:10:19 · Dominik Kapusta:** Okay, awesome.
|
||||
- **16:10:23 · Alex Martemyanov:** That's the plan for cleanup and extended metrics or changed metrics that they're saying.
|
||||
- **16:10:28 · Dominik Kapusta:** So, I think… Just a general advice. This is not very official, not a very official communication thread. If you have something in progress, I think it's… Better than you… I mean, it's better when you post a comment that, yes, we will be wrapping up and then working on the plan, rather than keeping them waiting until you have the plan in place.
|
||||
- **16:10:54 · Alex Martemyanov:** You know.
|
||||
- **16:10:55 · Dominik Kapusta:** So, I would just comment quickly there that, yeah…
|
||||
- **16:10:58 · Alex Martemyanov:** Yeah, makes sense.
|
||||
- **16:10:58 · Dominik Kapusta:** working on the plan, and then, yeah, post… and I will post an update later today, before the meeting.
|
||||
- **16:11:06 · Alex Martemyanov:** Okay, yeah. Um… For the AOR, there were a couple of things. So, first of all…
|
||||
- **16:11:11 · Dominik Kapusta:** Awesome. Uh-huh.
|
||||
- **16:11:17 · Alex Martemyanov:** the holidays stuff that's…
|
||||
- **16:11:20 · Dominik Kapusta:** Yes. Amazing.
|
||||
- **16:11:20 · Alex Martemyanov:** Uh, that waits for my input.
|
||||
- **16:11:24 · Dominik Kapusta:** Mm-hmm.
|
||||
- **16:11:24 · Alex Martemyanov:** Um… So yeah, I think it's some good changes, I hope. And so one is ready, the tooltip one, the link preview, ship preview.
|
||||
- **16:11:33 · Dominik Kapusta:** Julie, mm-hmm. Is the ship review already done or open?
|
||||
- **16:11:39 · Alex Martemyanov:** The ship review is up. It's on Stephen for today. I think it's mostly up to Stephen to decide whether the design fits. And if it works, I think we'll move on.
|
||||
- **16:11:40 · Dominik Kapusta:** Okay. Yeah. Sure.
|
||||
- **16:11:51 · Alex Martemyanov:** Another one with the fire window as there were some inconsistencies. And… It's generally an important thing. I should just. Go through it carefully and review it myself first. And, I just didn't have time yet.
|
||||
- **16:12:11 · Dominik Kapusta:** Mmhm.
|
||||
- **16:12:11 · Alex Martemyanov:** For it. Another one is the top preview getting stuck. I also got some. Kind of AI feeds for it, but looking at it more closely, it changed some. Responder chain events and it's probably causing some over reporting the state. Maybe it's not too bad. But still, yeah, I also want to check to go through it one more time and… Just make sure. Maybe change something.
|
||||
- **16:12:49 · Dominik Kapusta:** Mm-hmm.
|
||||
- **16:12:50 · Alex Martemyanov:** Okay, um… And there were some tests work, some —. And… Measurement that we are… That we keep communication with Bartek, and… Changing the pixel. That seems stabilized. Yeah, with the CPM breakage, uh, fix, you've got the, um…
|
||||
- **16:13:11 · Dominik Kapusta:** And… Thank you.
|
||||
- **16:13:21 · Alex Martemyanov:** the content blocking data polluted, the logging time, because now it happens after the CPM warm-up, and. It does not indicate the actual… Mm, time till interaction.
|
||||
- **16:13:39 · Dominik Kapusta:** Okay. Yes.
|
||||
- **16:13:41 · Alex Martemyanov:** And… So yeah, we are gonna merge the metrics together and have some buckets to indicate actual timings inside of it. And, uh, yeah, Patrick suggested to change the name, so it… so it's not, uh… misleading, because it's… currently, it's about the compile… compilation of the rule timing, and uh… if it's a common metric, it should be a different one, I guess.
|
||||
- **16:14:04 · Dominik Kapusta:** Uh-huh. You know.
|
||||
- **16:14:11 · Alex Martemyanov:** And… And the last thing… is the… Older runners, virtual machines, and all that stuff, but… No progress since last week on that. And, uh, yeah, I'm… Since one is AFK, I'm also nevertheless maintenance this week.
|
||||
- **16:14:45 · Dominik Kapusta:** Yeah, yeah, I saw that. Thanks for… stepping in. I couldn't do it because I was off yesterday, but thanks for your help. All right, I'm, uh… I'm behind things because of the performance review last week, and this is finally wrapping up. We've. Supposedly the last day, today. Uh, the last day of… Reviewing the reviews, and then the next 3 days will be the calibration, company-wide calibration, that… shouldn't affect. my reviews, at least, so I hope I'll be free. But, yeah. Last week was… tricky, and also… Jonathan was late to… to the reviews, so he was working on the weekend and was asking questions, so I was responding to him on the weekend. Yeah, it is what it is. Uh… Right, so that's that. What do you think about the CPMN? Sorry, I keep saying CPMN because of… the OL metric, but… well, the CPM project… next steps? I mean, you… you told me that we'll be wrapping up, but is it this week, or rather next week? I'm just thinking about when you will be freeing up for the next… project.
|
||||
- **16:16:28 · Alex Martemyanov:** I guess this week is for the cleanup and metrics.
|
||||
- **16:16:32 · Dominik Kapusta:** Yeah, yeah.
|
||||
- **16:16:34 · Alex Martemyanov:** And… But, yeah, I'm not sure whether it would be up to me to proceed with it, or we just wrap it up.
|
||||
- **16:16:47 · Dominik Kapusta:** Well, you'll have a meeting today, right?
|
||||
- **16:16:48 · Alex Martemyanov:** It's, uh… Yep.
|
||||
- **16:16:50 · Dominik Kapusta:** Yeah, so we'll probably discuss there.
|
||||
- **16:16:53 · Alex Martemyanov:** Yeah, because currently I am kind of stuck. There is no further plans except for wrapping up and cleaning up.
|
||||
- **16:17:01 · Dominik Kapusta:** Yeah, so it's a good thing to suggest that explicitly.
|
||||
- **16:17:02 · Alex Martemyanov:** Uh, it…
|
||||
- **16:17:09 · Dominik Kapusta:** And yeah, discuss it on the meeting, and… It's probably do it, so close the project.
|
||||
- **16:17:18 · Alex Martemyanov:** Because all the previous fixes were based on the data we've had.
|
||||
- **16:17:24 · Dominik Kapusta:** Uh-huh.
|
||||
- **16:17:24 · Alex Martemyanov:** or some… WebKit open issues, for example. But yeah, currently we will run out of data, and it just seems regular usage, and I… So it's not still produced locally and. There is no ideas on how to.
|
||||
- **16:17:42 · Dominik Kapusta:** Mm-hmm.
|
||||
- **16:17:43 · Alex Martemyanov:** How to approach to it, except for change something in the data itself. and how we measure things. It may give some… Some glimpse into what's actually happening. Maybe it's something obvious, for example, there is an issue with the… there is a possible issue with config loading from the web extension, so if it hangs, everything would hang. But, uh… Again, if it hangs, the water should reload it and it should be restored, but it's not getting restored. So maybe it's something inside of the extension, maybe not. And you've got no data and. It may turn in some endless cycle, getting some, measuring something, evaluating, fixing something.
|
||||
- **16:18:31 · Dominik Kapusta:** You know. No.
|
||||
- **16:18:36 · Alex Martemyanov:** Then re-measuring something and re-evaluating. Since we cannot, you know, strike actual user behavior and scenarios, it's mostly guessing here.
|
||||
- **16:18:46 · Dominik Kapusta:** Yeah, yeah, yeah.
|
||||
- **16:18:47 · Alex Martemyanov:** And…
|
||||
- **16:18:48 · Dominik Kapusta:** Absolutely.
|
||||
- **16:18:49 · Alex Martemyanov:** So why I'm totally not sure how it proceeds and. Like, I got no… defined steps of it, except for wrapping up.
|
||||
- **16:19:07 · Dominik Kapusta:** Yeah, sounds good. All right.
|
||||
- **16:19:26 · Alex Martemyanov:** But yeah, uh, on your point on, uh, when… Could we possibly finish it? So the next week we have the fixes released, and uh… We need to analyze the data outcomes from it. If it changes anything.
|
||||
- **16:19:42 · Dominik Kapusta:** Mm-hmm.
|
||||
- **16:19:44 · Alex Martemyanov:** And. And… probably these. The cleanup and metrics will proceed into that week. I guess, but… There is a chance that it would be done as, like, a follow-up task, just to have the data analyzed. So…
|
||||
- **16:20:07 · Dominik Kapusta:** Oh.
|
||||
- **16:20:08 · Alex Martemyanov:** There is a chance, uh, that in a week or two. I'll be available for another project and leave this. as a… general… backlog investigation, basically.
|
||||
- **16:20:27 · Dominik Kapusta:** Mm-hmm. Cool. Also, let's see what… What is the next step when it comes to your top priority? I mean, what's your next top priority? That's what I wanted to say, because I don't know now. I don't know what our objective needs. We are having an OL assessment. This week, but it sounds like… It sounds like they are not. Willing to request more people. Unless we, like, need them desperately? I suppose it's related to all being tier 2, essentially. So we… We just have what we have, and… And that's it. Um… We even have Jorge on a project right now. But he's not listed in the team for the next roadmap, so he will just wrap up his project and, I don't know, move somewhere else. Uh, that is weird to me.
|
||||
- **16:21:40 · Alex Martemyanov:** Okay, that's fine, and uh…
|
||||
- **16:21:41 · Dominik Kapusta:** But let's see.
|
||||
- **16:21:44 · Alex Martemyanov:** And how is the Chrome migration doing?
|
||||
- **16:21:50 · Dominik Kapusta:** The Chromium migration, uh…
|
||||
- **16:21:50 · Alex Martemyanov:** I heard it's.
|
||||
- **16:21:53 · Dominik Kapusta:** On the Windows side.
|
||||
- **16:21:55 · Alex Martemyanov:** Yeah.
|
||||
- **16:21:56 · Dominik Kapusta:** It's going forward, I'm not very close to it. It's actually, it has been moved from OL to OQ.
|
||||
- **16:22:03 · Alex Martemyanov:** Hmm.
|
||||
- **16:22:04 · Dominik Kapusta:** So, I'm not really following it very closely, but they are working on it, and they are just doing, you know, feature by feature. I don't also know the… The roadmap, as in when, uh, when will they be ready? Um…
|
||||
- **16:22:24 · Alex Martemyanov:** But it's not public yet, right?
|
||||
- **16:22:26 · Dominik Kapusta:** It is not public, not… no, it… It's not. Um… but they are working on keeping the feature parity between… I mean, the feature parity. Whatever… I think whatever is added to… Uh, to… The public release is. adapted to Chrome. It's being adopted, like, on whatever we're adding. We're essentially adding new features on both.
|
||||
- **16:22:51 · Alex Martemyanov:** Okay.
|
||||
- **16:22:58 · Dominik Kapusta:** Browsers.
|
||||
- **16:23:00 · Alex Martemyanov:** Well, I was just thinking if… If it lands, if it reaches the public state. Would the desktop… my browser also be replaced with Chrome? It's like…
|
||||
- **16:23:13 · Dominik Kapusta:** Yeah, it's…
|
||||
- **16:23:15 · Alex Martemyanov:** Seems logical.
|
||||
- **16:23:16 · Dominik Kapusta:** Seems logical. It's not a given yet, because it would have consequences in… macOS browser… for App Store. having to stay on WebKit, essentially.
|
||||
- **16:23:30 · Alex Martemyanov:** Mm-hmm.
|
||||
- **16:23:30 · Dominik Kapusta:** Because we could ship a browser with… I actually don't know. What I wanted to say is… On iOS App Store, you can't have a browser that's not WebKit-based. with an entitlement to be able to become the system default browser. So if you want your browser to be able to be a system default browser, it needs to be WebKit-based, essentially. So we couldn't… And there are no plans to migrate iOS to Chromium, but for macOS App Store, I don't know. I don't know if it would work. If it's possible. That's something to be…
|
||||
- **16:24:11 · Alex Martemyanov:** Whoa.
|
||||
- **16:24:12 · Dominik Kapusta:** Verified.
|
||||
- **16:24:14 · Alex Martemyanov:** Judging from macOS App Store not having actual Chrome.
|
||||
- **16:24:18 · Dominik Kapusta:** Yes!
|
||||
- **16:24:18 · Alex Martemyanov:** Probably not. Yeah. Good point.
|
||||
- **16:24:20 · Dominik Kapusta:** Yeah, yeah.
|
||||
- **16:24:22 · Alex Martemyanov:** Yeah, that's all. Such a couple.
|
||||
- **16:24:26 · Dominik Kapusta:** Because it's not… it's definitely not related to Chrome… Chromium itself, because there are Electron apps in…
|
||||
- **16:24:26 · Alex Martemyanov:** Okay.
|
||||
- **16:24:35 · Dominik Kapusta:** App Store, so there are apps that… compile JavaScript, run JavaScript code, uh… In, uh, in App Store.
|
||||
- **16:24:46 · Alex Martemyanov:** Yeah.
|
||||
- **16:24:47 · Dominik Kapusta:** Um, so you can ship an engine, yeah, yeah, but for some reason there are no chromium-based browsers there, yeah.
|
||||
- **16:24:48 · Alex Martemyanov:** Just a browser.
|
||||
- **16:24:57 · Dominik Kapusta:** Mmhm.
|
||||
- **16:24:58 · Alex Martemyanov:** Okay.
|
||||
- **16:25:06 · Dominik Kapusta:** Yeah, but we'll see. It's not for now, like, macOS for now is…
|
||||
- **16:25:07 · Alex Martemyanov:** Well…
|
||||
- **16:25:12 · Dominik Kapusta:** focused on extensions. We are going to ship extensions by the end of the year. Technically, the due date is end of November, but I'm not sure if we'll meet it. But, yeah, November, December, anyway. And then we'll see. So we'll probably keep…
|
||||
- **16:25:33 · Alex Martemyanov:** Okay.
|
||||
- **16:25:33 · Dominik Kapusta:** doing some things until the Chromium… Fork is out. And then we'll… start thinking about macOS Chromium fork. So, still a few months to go. Yeah.
|
||||
- **16:25:50 · Alex Martemyanov:** Okay. What the hell does that mean?
|
||||
- **16:26:05 · Dominik Kapusta:** So, what's the status of your hack days, besides that one tooltip thingy? What about the fire animation?
|
||||
- **16:26:13 · Alex Martemyanov:** Uh… The fire animation is still there, yes. As I told, it touches the burning logics because it's related to windows opening and closing. There were some issues found.
|
||||
- **16:26:27 · Dominik Kapusta:** Yeah. Yeah, I commented… I commented about full screen.
|
||||
- **16:26:31 · Alex Martemyanov:** In the original code, so…
|
||||
- **16:26:35 · Dominik Kapusta:** I remember that.
|
||||
- **16:26:35 · Alex Martemyanov:** Uh, I guess full screen is, uh, the smallest of the problems, because I think it's not look it looks nice when this there is full screen during revealing the desktop under.
|
||||
- **16:26:40 · Dominik Kapusta:** Okay.
|
||||
- **16:26:49 · Alex Martemyanov:** But, uh… I'm more talking about the data clearing itself that's happening and tied to the window closing, window reopening process. So I I need to come come back to it. Basically, I didn't. Since they have this.
|
||||
- **16:27:09 · Dominik Kapusta:** Mm-hmm.
|
||||
- **16:27:11 · Alex Martemyanov:** So it's somewhere in my plan.
|
||||
- **16:27:15 · Dominik Kapusta:** Sure, sure, sure. All right. All right, that's fine. Yeah.
|
||||
- **16:27:20 · Alex Martemyanov:** It's a top priority.
|
||||
- **16:27:24 · Dominik Kapusta:** Yeah, if you could keep pushing it forward on the side, that would be great.
|
||||
- **16:27:26 · Alex Martemyanov:** Hello? Yeah, there was also this app-wide theming support with the buttons backgrounds and title bar backgrounds. Like this Windows 95 thing.
|
||||
- **16:27:41 · Dominik Kapusta:** Mmhm.
|
||||
- **16:27:43 · Alex Martemyanov:** Uh, thank you. I also keep it somewhere, maybe for the next five days to make it more production ready, so we can support a wider amount of themable.
|
||||
- **16:27:50 · Dominik Kapusta:** Yeah, yeah. Mm-hmm.
|
||||
- **16:27:56 · Alex Martemyanov:** Areas like changing icons. For the buttons, for backgrounds and titles.
|
||||
- **16:28:07 · Dominik Kapusta:** Mmm. Hmm. Right. Hmm. So, uh… So, it looks like… Everything is clear, at least with regards to your top priority, it will become more clear after today's call, in a way. And the rest is… Just you following up on your… Like this work. And… Roughly, that's it.
|
||||
- **16:28:56 · Alex Martemyanov:** Yeah, the good news, I'm… Cleaned up most of my backlog. There are still a lot of like feature flags to be removed and.
|
||||
- **16:29:07 · Dominik Kapusta:** Yeah, I also have some.
|
||||
- **16:29:08 · Alex Martemyanov:** It's supposed to be cleaned up. related to CPM mostly. But, yeah, otherwise, uh, the tests… work. So there's 5 tasks in my FTQ.
|
||||
- **16:29:24 · Dominik Kapusta:** No.
|
||||
- **16:29:24 · Alex Martemyanov:** Otherwise, it's much better than before.
|
||||
- **16:29:28 · Dominik Kapusta:** That sounds great. Alright, if nothing more, then we can wrap it up here, because I also don't have much, because last week was… What it was.
|
||||
- **16:29:37 · Alex Martemyanov:** Yeah, so waiting for the performance review and results.
|
||||
- **16:29:40 · Dominik Kapusta:** Yeah, the performance review will be back next Tuesday, so we'll talk about it. And that's it for now.
|
||||
- **16:29:52 · Alex Martemyanov:** Okay, okay.
|
||||
- **16:29:52 · Dominik Kapusta:** All right, if you need anything, just ping me on Mattermost, happy to chat. And other than that, thank you very much, and see you at the Apple Weekly.
|
||||
- **16:30:04 · Alex Martemyanov:** Yep. Okay. See you.
|
||||
+308
@@ -0,0 +1,308 @@
|
||||
{
|
||||
"schema_version": 1,
|
||||
"note_id": "qQ2bzU5KTiCGluiBYA-ROA",
|
||||
"title": "Michal Smaga's Personal Meeting Room",
|
||||
"meeting_date": "2026-11-03",
|
||||
"meeting_date_source": "meeting_start_time",
|
||||
"meeting_start_at": "2026-11-03T09:25:17.000Z",
|
||||
"note_created_at": "2026-11-03T09:26:09.911Z",
|
||||
"note_modified_at": "2026-11-03T09:26:09.911Z",
|
||||
"source_url": "https://us01mynotes.zoom.us/qQ2bzU5KTiCGluiBYA-ROA",
|
||||
"transcript": [
|
||||
{
|
||||
"time": "15:26:12",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "So yeah, I wanted to have a sync up on the project. And regarding the Russell's questioning. In the Advisor Sync thread. So whether do we do we wrap up or. Continuing something. Um… So, yeah, basically, at the current state, it seems, from my perspective, that we are. exhausted all the…"
|
||||
},
|
||||
{
|
||||
"time": "15:26:44",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "hypothesis that we've got so far. And so there's been some fixes that are genuine and they are working. And, uh, according to the first day data I got today, there is a 30% drop of macOS over-reporting, so that was expected from the. Error page fix the data pollution. So. Currently, they are comparable with iOS and macOS. Uh, yes, locally, not yet in the… The data. So basically, I think we are matching iOS. Uh, roughly. And, uh… So the main numbers are… So for any failure, there is a drop in my voice from around thirty percent to around twenty percent. And, oh, sorry, from 20% to around 15%, so it's a 30% drop. And, uh, so otherwise it's pretty much steady. Uh, since there was no actual fixes, and uh… In permanent hang numbers, macOS had around. 2 to 3%. And now it's around steady. 1.9%."
|
||||
},
|
||||
{
|
||||
"time": "15:28:24",
|
||||
"speaker": "Michal Smaga",
|
||||
"text": "Оф, Ол, Юзерс, Райт?"
|
||||
},
|
||||
{
|
||||
"time": "15:28:26",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Uh, yes, from daily users. So it's still higher than the 1% threshold. And, uh… We've got two fixes more to be released next week. The RR6 reload. which can. Probably cover up to 30% of every 6 total reports. Uh, because it's not… It's not proof that… So usually LR6, when it's happening, it should be recovered normally by the kit. And we are handling some kind of case when it's not recovering. And, uh… The other one is, uh, braid, which may… affect… Yes. The upgrade failures, some hacks caused by it. So speculating on it another like 20 or 30%."
|
||||
},
|
||||
{
|
||||
"time": "15:29:25",
|
||||
"speaker": "Michal Smaga",
|
||||
"text": "So, those two errors are… On my like, in this week's internal. Yeah. So they will be public next week."
|
||||
},
|
||||
{
|
||||
"time": "15:29:33",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Yes, and those are not the main part of the failures we are getting. So they are expected to have some effect."
|
||||
},
|
||||
{
|
||||
"time": "15:29:45",
|
||||
"speaker": "Michal Smaga",
|
||||
"text": "But not that big, yeah."
|
||||
},
|
||||
{
|
||||
"time": "15:29:47",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "But it won't cross the one-person gap still, I think. Thank you."
|
||||
},
|
||||
{
|
||||
"time": "15:29:55",
|
||||
"speaker": "Michal Smaga",
|
||||
"text": "Yeah, I think, like, probably the main reason is that we have exhausted the options, as you mentioned, like that, like the… The the the idle like thing was not we are not able to reproduce that one. So basically, probably, like…"
|
||||
},
|
||||
{
|
||||
"time": "15:30:10",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Yeah, so…"
|
||||
},
|
||||
{
|
||||
"time": "15:30:12",
|
||||
"speaker": "Michal Smaga",
|
||||
"text": "Yeah. Okay. My gut feeling would be to just, like, probably provide a summary of the current state of the, like."
|
||||
},
|
||||
{
|
||||
"time": "15:30:19",
|
||||
"speaker": "Michal Smaga",
|
||||
"text": "the reporting have maybe some kind of, like, a dashboard and and probably, like, revisit it next week when we have the numbers for the the last part of the fixes."
|
||||
},
|
||||
{
|
||||
"time": "15:30:26",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Okay."
|
||||
},
|
||||
{
|
||||
"time": "15:30:32",
|
||||
"speaker": "Michal Smaga",
|
||||
"text": "But probably I wouldn't hold the project any longer, like, for the next week."
|
||||
},
|
||||
{
|
||||
"time": "15:30:39",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Um… So my suggestion, my thinking of the project for this week. So, first of all, we have this… A lot of feature flags introduced, and the pixels, metrics, and so on, and all of them are basically marked as temporary, and some of them are not, uh… Not even being reported. So there is some cleanup, I guess, to be done. For example, this graveyard fix, we are catching some… percent, lower than one percent, probably, of all the reported events that can match it, but I would not activate it, looking at it, looking at the numbers, so it's… Certainly not the main issue. And there is another one. Um, yeah, anyways, uh, so I was thinking to clean it up. To see… to check the… Safe fixes and remove the picture flags for them. To leave the more controversial, dangerous things behind the feature flags. that we are living. And, uh… Maybe should we remove the recorder thing and episode diagnostics? Maybe not this week, but the week after. Because we are generally… We've collected all the data that it could provide, I guess. And the main portion of it that remains, the neat quake. I think it's generally not covered by it in any sense. And that's…"
|
||||
},
|
||||
{
|
||||
"time": "15:32:36",
|
||||
"speaker": "Michal Smaga",
|
||||
"text": "Yeah…"
|
||||
},
|
||||
{
|
||||
"time": "15:32:37",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Certainly the main cause."
|
||||
},
|
||||
{
|
||||
"time": "15:32:38",
|
||||
"speaker": "Michal Smaga",
|
||||
"text": "And… And apart from the episodes, the diagnostics, we… We have other pixels to measure the hangs, right? Or they are, like…"
|
||||
},
|
||||
{
|
||||
"time": "15:32:55",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Currently, there is only this episode thing. We have, uh, the pixels for reports, for user reports, that is separating. And yeah, currently this episode metric only includes like background events, the state of things and. initiating, basically, event."
|
||||
},
|
||||
{
|
||||
"time": "15:33:17",
|
||||
"speaker": "Michal Smaga",
|
||||
"text": "So we would also, like, lose the visibility into the the the, like, the permanent hangs. Right?"
|
||||
},
|
||||
{
|
||||
"time": "15:33:25",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "I'm sorry."
|
||||
},
|
||||
{
|
||||
"time": "15:33:25",
|
||||
"speaker": "Michal Smaga",
|
||||
"text": "Like, the absolute…"
|
||||
},
|
||||
{
|
||||
"time": "15:33:27",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Actually, I was thinking, maybe not finished planning yet, but I was thinking about redoing the whole reporting thing. Centering it in the gray zone, like, uncovered. Places. So, we have… We have a sequence, like, the content script being injected. sending INIT, WebKit receiving the INIT. In the ground, receiving and handling the event. The config fetching. And… And the website fetching, that may also indicate some kind of… So there is a… Uh, corner case, when the config cannot be fetched. For whatever reason, if it hangs, it would give this kind of symptoms. But… Normally it should not hang. So I would… I'm hesitating to fix it. Um, before we have any data on this. And… Generally, they should not cause permanent headaches. We're done, right? But yeah, currently we are not, uh, tied to the… Extension lifecycle, but we are tied to the page loading lifecycle. And, uh… Also, we don't… we don't have a baseline for the navigations, so we can't tell of which percent of navigation actually have the extension radar, but we are… Diminishing it instead against, like, daily users or installs metrics. So, uh… Still maybe has not. the correct numbers. We don't understand, like, the… the whole picture of it, like how many navigations do actually succeed. And, uh, where exactly… You've got this, uh… Meaning, like, failure, for example. Maybe it is the init, maybe it's somewhere in the WebKit internals, or maybe it's on our side, like waiting for the config fetch or whatever. And that would include the extension modification itself already, the measurement points. And probably some… Thank you. Not episodes, but a summary of, uh… The hung state, so whenever we catch it, when any chain of this, any part of the chain fails, we could report where it has failed."
|
||||
},
|
||||
{
|
||||
"time": "15:36:18",
|
||||
"speaker": "Michal Smaga",
|
||||
"text": "Thanks."
|
||||
},
|
||||
{
|
||||
"time": "15:36:23",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "So I'm thinking, well, maybe we should just, uh… Check this week to implement this metrics. redoing… And uh… then put it on hold, basically, before we receive. I mean, data related."
|
||||
},
|
||||
{
|
||||
"time": "15:36:41",
|
||||
"speaker": "Michal Smaga",
|
||||
"text": "So you suggest, like, doing it for roughly a week, probably, more? Do the cleanup."
|
||||
},
|
||||
{
|
||||
"time": "15:36:46",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Yeah, so…"
|
||||
},
|
||||
{
|
||||
"time": "15:36:48",
|
||||
"speaker": "Michal Smaga",
|
||||
"text": "Do the cleanup and implement those, like, long term metrics to have some kind of observability in this gray zone."
|
||||
},
|
||||
{
|
||||
"time": "15:36:55",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Yeah. So, first of all, it should have… some permanent part, I guess, just so we keep it for… For catching the spikes or future breaks. And have some temporary metrics as well, but measuring the inside of the extension. because currently we have the okay. Everything seems fine. Background is loaded in less than 1 s. And then nothing. So and we don't have any idea and anything suspect that can be suspected for causing it."
|
||||
},
|
||||
{
|
||||
"time": "15:37:25",
|
||||
"speaker": "Michal Smaga",
|
||||
"text": "Yeah. Mmhm."
|
||||
},
|
||||
{
|
||||
"time": "15:37:36",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "So yeah, no hypothesis on that. What is actually breaking there? Except for a couple of issues inside the GS, but they are also… Kind of. Hmm. Do not seem so severe and causing this problems. So, that would be my point for today. Otherwise, I have no ideas for you."
|
||||
},
|
||||
{
|
||||
"time": "15:38:04",
|
||||
"speaker": "Michal Smaga",
|
||||
"text": "Yeah, so… Yeah, so I think, like, the point that Russell is having is probably he wants to, like… have a clear understanding where the project will end, yeah, because we can, like, just probably, like, move it, move it, like, chase the, chase the, the, the, the finish line, like, forever."
|
||||
},
|
||||
{
|
||||
"time": "15:38:20",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Okay."
|
||||
},
|
||||
{
|
||||
"time": "15:38:27",
|
||||
"speaker": "Michal Smaga",
|
||||
"text": "That's going away."
|
||||
},
|
||||
{
|
||||
"time": "15:38:29",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Well… I would highlight that we certainly have some improvement. We've found some actual bugs. Some of them are not even the case because they are really corner cases, but those are a real issue reproduced."
|
||||
},
|
||||
{
|
||||
"time": "15:38:44",
|
||||
"speaker": "Michal Smaga",
|
||||
"text": "Yeah, I understand, yeah, yeah, so probably no one is questioning that, yeah, but just, like, to have, like, a more… like, condensed or, like, focused, uh, wrap-up for the project, yeah, so I would suggest, like, yeah, I like the plan, and I think it makes sense, yeah, so I would… I would bring the… Uh, yeah, so I think… Two things need to be done, like, one is to do a project update and, like, recap the current data, and summarize, like, where we landed at. And probably, I would start with, uh… with the DRI task, and, like, respond to Russell, and, like… Present the plan that, like, we have those, like, we have those fixes, the updates, and link to the project update, that you have the, like. Two more fixes, like, that will come up in the next version, and you propose the plan to, uh. Uh, have the final week of the project to, like, clean up the, like, all… Unnecessary things and clean up the diagnostics that we set up in place for, like, nailing down the issues. And suggest like to to metrics to like keep track of like where we're at with the permanent hangs and maybe better visibility in what's happening."
|
||||
},
|
||||
{
|
||||
"time": "15:39:58",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Introduce some permanent. Yep."
|
||||
},
|
||||
{
|
||||
"time": "15:40:09",
|
||||
"speaker": "Michal Smaga",
|
||||
"text": "Yeah, and probably, like, we can see, like, what happens. Yeah, I… probably you want, like, if there's, like, a concrete plan that, like, this is the final week, and we just need to clean up the stuff, I don't think that there should be an issue. That's my feelings."
|
||||
},
|
||||
{
|
||||
"time": "15:40:27",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Okay, yeah, I'll do it today, then, before the… before the meeting, hopefully."
|
||||
},
|
||||
{
|
||||
"time": "15:40:36",
|
||||
"speaker": "Michal Smaga",
|
||||
"text": "Yeah, and the meetings today are, like, the regular time, yeah."
|
||||
},
|
||||
{
|
||||
"time": "15:40:40",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "I think it's one hour later shifted due to some times on things."
|
||||
},
|
||||
{
|
||||
"time": "15:40:46",
|
||||
"speaker": "Michal Smaga",
|
||||
"text": "Yeah, but I think that…"
|
||||
},
|
||||
{
|
||||
"time": "15:40:46",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "All the meetings, actually."
|
||||
},
|
||||
{
|
||||
"time": "15:40:52",
|
||||
"speaker": "Michal Smaga",
|
||||
"text": "Oh, didn't you have the time zone change for the winter time?"
|
||||
},
|
||||
{
|
||||
"time": "15:40:55",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "No, luckily I don't have time zone change, but unfortunately I do have the Easter."
|
||||
},
|
||||
{
|
||||
"time": "15:40:57",
|
||||
"speaker": "Michal Smaga",
|
||||
"text": "Okay."
|
||||
},
|
||||
{
|
||||
"time": "15:41:03",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "And the western time zones changing and shifting my schedules up to the late night."
|
||||
},
|
||||
{
|
||||
"time": "15:41:08",
|
||||
"speaker": "Michal Smaga",
|
||||
"text": "the… Okay. Uh, yeah, so sounds good. Uh, like, I would ask you to, to, like, do the project update, and, like, provide the, the, the data analysis in some, some task, and, like, respond to us also."
|
||||
},
|
||||
{
|
||||
"time": "15:41:19",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Mm-hmm."
|
||||
},
|
||||
{
|
||||
"time": "15:41:24",
|
||||
"speaker": "Michal Smaga",
|
||||
"text": "So we have the clear understanding, and we can discuss it on the meeting if he has any."
|
||||
},
|
||||
{
|
||||
"time": "15:41:28",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Okay, so…"
|
||||
},
|
||||
{
|
||||
"time": "15:41:29",
|
||||
"speaker": "Michal Smaga",
|
||||
"text": "Further questions, but it sounds good to me."
|
||||
},
|
||||
{
|
||||
"time": "15:41:30",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Probably. Probably the cleanup is, uh… I think, to be done anyways, whether it comes into the project or just as a follow-up, but it would be necessary to do it anyways, and it's not…"
|
||||
},
|
||||
{
|
||||
"time": "15:41:40",
|
||||
"speaker": "Michal Smaga",
|
||||
"text": "Yeah, yeah."
|
||||
},
|
||||
{
|
||||
"time": "15:41:47",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "And it's not small, because there's multiple things in it, and it should be…"
|
||||
},
|
||||
{
|
||||
"time": "15:41:49",
|
||||
"speaker": "Michal Smaga",
|
||||
"text": "Yeah. Yeah, okay."
|
||||
},
|
||||
{
|
||||
"time": "15:41:53",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Some considerations whether things should be kept or cleaned up or enabled for everybody. So it seems like a natural part for a natural completion part of the project. But yeah, for the metrics. It also seems pretty natural to have some permanent metrics just in case we could detect if anything becomes worse. at some point. Okay, that would be it then. Thanks."
|
||||
},
|
||||
{
|
||||
"time": "15:42:32",
|
||||
"speaker": "Michal Smaga",
|
||||
"text": "Cool. Yeah, that sounds good. Yeah, thank you for the chat."
|
||||
},
|
||||
{
|
||||
"time": "15:42:40",
|
||||
"speaker": "Alex Martemyanov",
|
||||
"text": "Okay, see you, see you later."
|
||||
}
|
||||
]
|
||||
}
|
||||
+73
@@ -0,0 +1,73 @@
|
||||
---
|
||||
title: "Michal Smaga's Personal Meeting Room"
|
||||
date: 2026-11-03
|
||||
date_source: meeting_start_time
|
||||
zoom_note_id: "qQ2bzU5KTiCGluiBYA-ROA"
|
||||
source: "https://us01mynotes.zoom.us/qQ2bzU5KTiCGluiBYA-ROA"
|
||||
---
|
||||
|
||||
# Michal Smaga's Personal Meeting Room
|
||||
|
||||
[Zoom My Notes](https://us01mynotes.zoom.us/qQ2bzU5KTiCGluiBYA-ROA)
|
||||
|
||||
## Transcript
|
||||
|
||||
- **15:26:12 · Alex Martemyanov:** So yeah, I wanted to have a sync up on the project. And regarding the Russell's questioning. In the Advisor Sync thread. So whether do we do we wrap up or. Continuing something. Um… So, yeah, basically, at the current state, it seems, from my perspective, that we are. exhausted all the…
|
||||
- **15:26:44 · Alex Martemyanov:** hypothesis that we've got so far. And so there's been some fixes that are genuine and they are working. And, uh, according to the first day data I got today, there is a 30% drop of macOS over-reporting, so that was expected from the. Error page fix the data pollution. So. Currently, they are comparable with iOS and macOS. Uh, yes, locally, not yet in the… The data. So basically, I think we are matching iOS. Uh, roughly. And, uh… So the main numbers are… So for any failure, there is a drop in my voice from around thirty percent to around twenty percent. And, oh, sorry, from 20% to around 15%, so it's a 30% drop. And, uh, so otherwise it's pretty much steady. Uh, since there was no actual fixes, and uh… In permanent hang numbers, macOS had around. 2 to 3%. And now it's around steady. 1.9%.
|
||||
- **15:28:24 · Michal Smaga:** Оф, Ол, Юзерс, Райт?
|
||||
- **15:28:26 · Alex Martemyanov:** Uh, yes, from daily users. So it's still higher than the 1% threshold. And, uh… We've got two fixes more to be released next week. The RR6 reload. which can. Probably cover up to 30% of every 6 total reports. Uh, because it's not… It's not proof that… So usually LR6, when it's happening, it should be recovered normally by the kit. And we are handling some kind of case when it's not recovering. And, uh… The other one is, uh, braid, which may… affect… Yes. The upgrade failures, some hacks caused by it. So speculating on it another like 20 or 30%.
|
||||
- **15:29:25 · Michal Smaga:** So, those two errors are… On my like, in this week's internal. Yeah. So they will be public next week.
|
||||
- **15:29:33 · Alex Martemyanov:** Yes, and those are not the main part of the failures we are getting. So they are expected to have some effect.
|
||||
- **15:29:45 · Michal Smaga:** But not that big, yeah.
|
||||
- **15:29:47 · Alex Martemyanov:** But it won't cross the one-person gap still, I think. Thank you.
|
||||
- **15:29:55 · Michal Smaga:** Yeah, I think, like, probably the main reason is that we have exhausted the options, as you mentioned, like that, like the… The the the idle like thing was not we are not able to reproduce that one. So basically, probably, like…
|
||||
- **15:30:10 · Alex Martemyanov:** Yeah, so…
|
||||
- **15:30:12 · Michal Smaga:** Yeah. Okay. My gut feeling would be to just, like, probably provide a summary of the current state of the, like.
|
||||
- **15:30:19 · Michal Smaga:** the reporting have maybe some kind of, like, a dashboard and and probably, like, revisit it next week when we have the numbers for the the last part of the fixes.
|
||||
- **15:30:26 · Alex Martemyanov:** Okay.
|
||||
- **15:30:32 · Michal Smaga:** But probably I wouldn't hold the project any longer, like, for the next week.
|
||||
- **15:30:39 · Alex Martemyanov:** Um… So my suggestion, my thinking of the project for this week. So, first of all, we have this… A lot of feature flags introduced, and the pixels, metrics, and so on, and all of them are basically marked as temporary, and some of them are not, uh… Not even being reported. So there is some cleanup, I guess, to be done. For example, this graveyard fix, we are catching some… percent, lower than one percent, probably, of all the reported events that can match it, but I would not activate it, looking at it, looking at the numbers, so it's… Certainly not the main issue. And there is another one. Um, yeah, anyways, uh, so I was thinking to clean it up. To see… to check the… Safe fixes and remove the picture flags for them. To leave the more controversial, dangerous things behind the feature flags. that we are living. And, uh… Maybe should we remove the recorder thing and episode diagnostics? Maybe not this week, but the week after. Because we are generally… We've collected all the data that it could provide, I guess. And the main portion of it that remains, the neat quake. I think it's generally not covered by it in any sense. And that's…
|
||||
- **15:32:36 · Michal Smaga:** Yeah…
|
||||
- **15:32:37 · Alex Martemyanov:** Certainly the main cause.
|
||||
- **15:32:38 · Michal Smaga:** And… And apart from the episodes, the diagnostics, we… We have other pixels to measure the hangs, right? Or they are, like…
|
||||
- **15:32:55 · Alex Martemyanov:** Currently, there is only this episode thing. We have, uh, the pixels for reports, for user reports, that is separating. And yeah, currently this episode metric only includes like background events, the state of things and. initiating, basically, event.
|
||||
- **15:33:17 · Michal Smaga:** So we would also, like, lose the visibility into the the the, like, the permanent hangs. Right?
|
||||
- **15:33:25 · Alex Martemyanov:** I'm sorry.
|
||||
- **15:33:25 · Michal Smaga:** Like, the absolute…
|
||||
- **15:33:27 · Alex Martemyanov:** Actually, I was thinking, maybe not finished planning yet, but I was thinking about redoing the whole reporting thing. Centering it in the gray zone, like, uncovered. Places. So, we have… We have a sequence, like, the content script being injected. sending INIT, WebKit receiving the INIT. In the ground, receiving and handling the event. The config fetching. And… And the website fetching, that may also indicate some kind of… So there is a… Uh, corner case, when the config cannot be fetched. For whatever reason, if it hangs, it would give this kind of symptoms. But… Normally it should not hang. So I would… I'm hesitating to fix it. Um, before we have any data on this. And… Generally, they should not cause permanent headaches. We're done, right? But yeah, currently we are not, uh, tied to the… Extension lifecycle, but we are tied to the page loading lifecycle. And, uh… Also, we don't… we don't have a baseline for the navigations, so we can't tell of which percent of navigation actually have the extension radar, but we are… Diminishing it instead against, like, daily users or installs metrics. So, uh… Still maybe has not. the correct numbers. We don't understand, like, the… the whole picture of it, like how many navigations do actually succeed. And, uh, where exactly… You've got this, uh… Meaning, like, failure, for example. Maybe it is the init, maybe it's somewhere in the WebKit internals, or maybe it's on our side, like waiting for the config fetch or whatever. And that would include the extension modification itself already, the measurement points. And probably some… Thank you. Not episodes, but a summary of, uh… The hung state, so whenever we catch it, when any chain of this, any part of the chain fails, we could report where it has failed.
|
||||
- **15:36:18 · Michal Smaga:** Thanks.
|
||||
- **15:36:23 · Alex Martemyanov:** So I'm thinking, well, maybe we should just, uh… Check this week to implement this metrics. redoing… And uh… then put it on hold, basically, before we receive. I mean, data related.
|
||||
- **15:36:41 · Michal Smaga:** So you suggest, like, doing it for roughly a week, probably, more? Do the cleanup.
|
||||
- **15:36:46 · Alex Martemyanov:** Yeah, so…
|
||||
- **15:36:48 · Michal Smaga:** Do the cleanup and implement those, like, long term metrics to have some kind of observability in this gray zone.
|
||||
- **15:36:55 · Alex Martemyanov:** Yeah. So, first of all, it should have… some permanent part, I guess, just so we keep it for… For catching the spikes or future breaks. And have some temporary metrics as well, but measuring the inside of the extension. because currently we have the okay. Everything seems fine. Background is loaded in less than 1 s. And then nothing. So and we don't have any idea and anything suspect that can be suspected for causing it.
|
||||
- **15:37:25 · Michal Smaga:** Yeah. Mmhm.
|
||||
- **15:37:36 · Alex Martemyanov:** So yeah, no hypothesis on that. What is actually breaking there? Except for a couple of issues inside the GS, but they are also… Kind of. Hmm. Do not seem so severe and causing this problems. So, that would be my point for today. Otherwise, I have no ideas for you.
|
||||
- **15:38:04 · Michal Smaga:** Yeah, so… Yeah, so I think, like, the point that Russell is having is probably he wants to, like… have a clear understanding where the project will end, yeah, because we can, like, just probably, like, move it, move it, like, chase the, chase the, the, the, the finish line, like, forever.
|
||||
- **15:38:20 · Alex Martemyanov:** Okay.
|
||||
- **15:38:27 · Michal Smaga:** That's going away.
|
||||
- **15:38:29 · Alex Martemyanov:** Well… I would highlight that we certainly have some improvement. We've found some actual bugs. Some of them are not even the case because they are really corner cases, but those are a real issue reproduced.
|
||||
- **15:38:44 · Michal Smaga:** Yeah, I understand, yeah, yeah, so probably no one is questioning that, yeah, but just, like, to have, like, a more… like, condensed or, like, focused, uh, wrap-up for the project, yeah, so I would suggest, like, yeah, I like the plan, and I think it makes sense, yeah, so I would… I would bring the… Uh, yeah, so I think… Two things need to be done, like, one is to do a project update and, like, recap the current data, and summarize, like, where we landed at. And probably, I would start with, uh… with the DRI task, and, like, respond to Russell, and, like… Present the plan that, like, we have those, like, we have those fixes, the updates, and link to the project update, that you have the, like. Two more fixes, like, that will come up in the next version, and you propose the plan to, uh. Uh, have the final week of the project to, like, clean up the, like, all… Unnecessary things and clean up the diagnostics that we set up in place for, like, nailing down the issues. And suggest like to to metrics to like keep track of like where we're at with the permanent hangs and maybe better visibility in what's happening.
|
||||
- **15:39:58 · Alex Martemyanov:** Introduce some permanent. Yep.
|
||||
- **15:40:09 · Michal Smaga:** Yeah, and probably, like, we can see, like, what happens. Yeah, I… probably you want, like, if there's, like, a concrete plan that, like, this is the final week, and we just need to clean up the stuff, I don't think that there should be an issue. That's my feelings.
|
||||
- **15:40:27 · Alex Martemyanov:** Okay, yeah, I'll do it today, then, before the… before the meeting, hopefully.
|
||||
- **15:40:36 · Michal Smaga:** Yeah, and the meetings today are, like, the regular time, yeah.
|
||||
- **15:40:40 · Alex Martemyanov:** I think it's one hour later shifted due to some times on things.
|
||||
- **15:40:46 · Michal Smaga:** Yeah, but I think that…
|
||||
- **15:40:46 · Alex Martemyanov:** All the meetings, actually.
|
||||
- **15:40:52 · Michal Smaga:** Oh, didn't you have the time zone change for the winter time?
|
||||
- **15:40:55 · Alex Martemyanov:** No, luckily I don't have time zone change, but unfortunately I do have the Easter.
|
||||
- **15:40:57 · Michal Smaga:** Okay.
|
||||
- **15:41:03 · Alex Martemyanov:** And the western time zones changing and shifting my schedules up to the late night.
|
||||
- **15:41:08 · Michal Smaga:** the… Okay. Uh, yeah, so sounds good. Uh, like, I would ask you to, to, like, do the project update, and, like, provide the, the, the data analysis in some, some task, and, like, respond to us also.
|
||||
- **15:41:19 · Alex Martemyanov:** Mm-hmm.
|
||||
- **15:41:24 · Michal Smaga:** So we have the clear understanding, and we can discuss it on the meeting if he has any.
|
||||
- **15:41:28 · Alex Martemyanov:** Okay, so…
|
||||
- **15:41:29 · Michal Smaga:** Further questions, but it sounds good to me.
|
||||
- **15:41:30 · Alex Martemyanov:** Probably. Probably the cleanup is, uh… I think, to be done anyways, whether it comes into the project or just as a follow-up, but it would be necessary to do it anyways, and it's not…
|
||||
- **15:41:40 · Michal Smaga:** Yeah, yeah.
|
||||
- **15:41:47 · Alex Martemyanov:** And it's not small, because there's multiple things in it, and it should be…
|
||||
- **15:41:49 · Michal Smaga:** Yeah. Yeah, okay.
|
||||
- **15:41:53 · Alex Martemyanov:** Some considerations whether things should be kept or cleaned up or enabled for everybody. So it seems like a natural part for a natural completion part of the project. But yeah, for the metrics. It also seems pretty natural to have some permanent metrics just in case we could detect if anything becomes worse. at some point. Okay, that would be it then. Thanks.
|
||||
- **15:42:32 · Michal Smaga:** Cool. Yeah, that sounds good. Yeah, thank you for the chat.
|
||||
- **15:42:40 · Alex Martemyanov:** Okay, see you, see you later.
|
||||
@@ -20,138 +20,350 @@
|
||||
"pEKfS6rcRlWzQyGKBbqqFw": {
|
||||
"title": "O-E 2026 2026-10-06 21:55(GMT+6:00)",
|
||||
"meeting_date": "2026-10-06",
|
||||
"meeting_date_source": "title_date",
|
||||
"meeting_start_at": "2026-10-06T15:01:28.000Z",
|
||||
"note_created_at": "2026-10-06T15:55:17.235Z",
|
||||
"note_modified_at": "2026-10-06T16:08:21.317Z",
|
||||
"source_url": "https://us01mynotes.zoom.us/pEKfS6rcRlWzQyGKBbqqFw",
|
||||
"folder": "2026-10-06 O-E 2026 2026-10-06 21 55(GMT+6 00) pEKfS6rcRlWzQyGKBbqqFw",
|
||||
"sha256": "a37c5149122de9e6cee1356e473ba243f8adc84c1c16b3f96348827fc47b66f1",
|
||||
"sha256": "596a89c17ffe014e9e51f8574a206cbd4bf847e5e04c75eadb39c2893cc94808",
|
||||
"cues": 68
|
||||
},
|
||||
"SrYbgHxMSlWioRrr4PGz2Q": {
|
||||
"title": "SRE Incidents 2026-10-06 21:21(GMT+6:00)",
|
||||
"meeting_date": "2026-10-06",
|
||||
"meeting_date_source": "title_date",
|
||||
"meeting_start_at": "2026-10-06T15:14:14.000Z",
|
||||
"note_created_at": "2026-10-06T15:21:52.415Z",
|
||||
"note_modified_at": "2026-10-06T15:56:27.185Z",
|
||||
"source_url": "https://us01mynotes.zoom.us/SrYbgHxMSlWioRrr4PGz2Q",
|
||||
"folder": "2026-10-06 SRE Incidents 2026-10-06 21 21(GMT+6 00) SrYbgHxMSlWioRrr4PGz2Q",
|
||||
"sha256": "822c6b2a21cffc53cd58f34ce4cabf0d211da91e55e665e92573ac804a410bd9",
|
||||
"sha256": "2b3966a78d4934a1075a4ad8b818cdbea733209ccdee09d5580db7c57e34c8f0",
|
||||
"cues": 177
|
||||
},
|
||||
"gUhtLoqRTfSsTbZsann73A": {
|
||||
"title": "Jacek Łyp's Zoom Meeting 2026-10-06 20:44(GMT+6:00)",
|
||||
"meeting_date": "2026-10-06",
|
||||
"meeting_date_source": "title_date",
|
||||
"meeting_start_at": "2026-10-06T14:28:10.000Z",
|
||||
"note_created_at": "2026-10-06T14:44:45.937Z",
|
||||
"note_modified_at": "2026-10-06T15:22:23.633Z",
|
||||
"source_url": "https://us01mynotes.zoom.us/gUhtLoqRTfSsTbZsann73A",
|
||||
"folder": "2026-10-06 Jacek Łyp's Zoom Meeting 2026-10-06 20 44(GMT+6 00) gUhtLoqRTfSsTbZsann73A",
|
||||
"sha256": "96fadc249f284cacee21a5737d0fd568ba47e5a77ac7b420396ebc2360f59970",
|
||||
"sha256": "2c6e9e71b22ba2bef88a916792118d81abbf20a08b790dc37e1735768bf102b4",
|
||||
"cues": 305
|
||||
},
|
||||
"280BehgySpW8LynSS473nQ": {
|
||||
"title": "Apple Weekly Team Meeting - Zoom ID 2026-10-06 20:01(GMT+6:00)",
|
||||
"meeting_date": "2026-10-06",
|
||||
"meeting_date_source": "title_date",
|
||||
"meeting_start_at": "2026-10-06T14:00:03.000Z",
|
||||
"note_created_at": "2026-10-06T14:01:49.266Z",
|
||||
"note_modified_at": "2026-10-06T14:46:04.588Z",
|
||||
"source_url": "https://us01mynotes.zoom.us/280BehgySpW8LynSS473nQ",
|
||||
"folder": "2026-10-06 Apple Weekly Team Meeting - Zoom ID 2026-10-06 20 01(GMT+6 00) 280BehgySpW8LynSS473nQ",
|
||||
"sha256": "d3e615c24875d0a11382f8eda9f0066ec8af06e1dc94633a3e5699f0c3d0849b",
|
||||
"sha256": "3aefc1fd6978242afe839a98b3993be94c2c71a022ad8048c2bdcc7496193dfb",
|
||||
"cues": 151
|
||||
},
|
||||
"NtgNJ-Y-Qxy5sMGMjngukw": {
|
||||
"title": "Dominik Kapusta's Personal Meeting Room 2026-10-06 15:12(GMT+6:00)",
|
||||
"meeting_date": "2026-10-06",
|
||||
"meeting_date_source": "title_date",
|
||||
"meeting_start_at": "2026-10-06T09:10:31.000Z",
|
||||
"note_created_at": "2026-10-06T09:12:23.858Z",
|
||||
"note_modified_at": "2026-10-06T10:13:40.063Z",
|
||||
"source_url": "https://us01mynotes.zoom.us/NtgNJ-Y-Qxy5sMGMjngukw",
|
||||
"folder": "2026-10-06 Dominik Kapusta's Personal Meeting Room 2026-10-06 15 12(GMT+6 00) NtgNJ-Y-Qxy5sMGMjngukw",
|
||||
"sha256": "212d398d41d23a40877f4336e383295e25293cc7d7e23341950e18eb42781265",
|
||||
"sha256": "e4260411a3de7783ff5ac6202620f0d507a0ed854538a2338ddf767f7d986374",
|
||||
"cues": 294
|
||||
},
|
||||
"klekRLtLSEuMv0PCCPCjtA": {
|
||||
"title": "All-Company Meeting 2026-10-16 21:31(GMT+6:00)",
|
||||
"meeting_date": "2026-10-16",
|
||||
"meeting_date_source": "title_date",
|
||||
"meeting_start_at": "2026-10-16T15:24:47.000Z",
|
||||
"note_created_at": "2026-10-16T15:31:05.755Z",
|
||||
"note_modified_at": "2026-10-16T15:51:25.415Z",
|
||||
"source_url": "https://us01mynotes.zoom.us/klekRLtLSEuMv0PCCPCjtA",
|
||||
"folder": "2026-10-16 All-Company Meeting 2026-10-16 21 31(GMT+6 00) klekRLtLSEuMv0PCCPCjtA",
|
||||
"sha256": "5c6b111a0bc4c48ec4b2e1379dd7b3754d33798bcbb1d6db0392fcc973bd2cc6",
|
||||
"sha256": "34ef73307fe86cc2d6f98caf57a719ae46937fb2d0efea3a18e03e21a42f1e00",
|
||||
"cues": 20
|
||||
},
|
||||
"AEmGnEdJQfCMmCjwLyGtGA": {
|
||||
"title": "Зал персональной конференции Alex Martemyanov 2026-10-09 18:51(GMT+6:00)",
|
||||
"meeting_date": "2026-10-09",
|
||||
"meeting_date_source": "title_date",
|
||||
"meeting_start_at": "2026-10-09T12:51:08.000Z",
|
||||
"note_created_at": "2026-10-09T12:51:15.026Z",
|
||||
"note_modified_at": "2026-10-09T13:03:27.53Z",
|
||||
"source_url": "https://us01mynotes.zoom.us/AEmGnEdJQfCMmCjwLyGtGA",
|
||||
"folder": "2026-10-09 Зал персональной конференции Alex Martemyanov 2026-10-09 18 51(GMT+6 00) AEmGnEdJQfCMmCjwLyGtGA",
|
||||
"sha256": "562d2af7fee22ee565cd6494dac717becd8bcd090b926b8fe9deea7099e8e2f2",
|
||||
"sha256": "dab7d6a2d77c18fd72d33720c6b0b3a26c41e0f98a0107874958ee89a0be6312",
|
||||
"cues": 86
|
||||
},
|
||||
"nzWOuhyzSdCjNqMRh6X13w": {
|
||||
"title": "Dominik Kapusta's Personal Meeting Room 2026-10-15 16:05(GMT+6:00)",
|
||||
"meeting_date": "2026-10-15",
|
||||
"meeting_date_source": "title_date",
|
||||
"meeting_start_at": "2026-10-15T10:04:08.000Z",
|
||||
"note_created_at": "2026-10-15T10:05:14.53Z",
|
||||
"note_modified_at": "2026-10-15T11:12:31.812Z",
|
||||
"source_url": "https://us01mynotes.zoom.us/nzWOuhyzSdCjNqMRh6X13w",
|
||||
"folder": "2026-10-15 Dominik Kapusta's Personal Meeting Room 2026-10-15 16 05(GMT+6 00) nzWOuhyzSdCjNqMRh6X13w",
|
||||
"sha256": "8e8e82f7d36e0910cb33039ff1c0ce633ae1b5d0680666379c69a5ce0d828533",
|
||||
"sha256": "34921cf2862c6a7286a849ee41af52d2f309fc087caf0dfcc940956843506e1d",
|
||||
"cues": 332
|
||||
},
|
||||
"rJFn9D3lRJmnlCMSomhPsw": {
|
||||
"title": "Michal Smaga's Personal Meeting Room",
|
||||
"meeting_date": "2026-11-12",
|
||||
"meeting_date_source": "meeting_start_time",
|
||||
"meeting_start_at": "2026-11-12T10:13:55.000Z",
|
||||
"note_created_at": "2026-11-12T10:14:13.001Z",
|
||||
"note_modified_at": "2026-11-12T10:14:13.001Z",
|
||||
"source_url": "https://us01mynotes.zoom.us/rJFn9D3lRJmnlCMSomhPsw",
|
||||
"folder": "undated Michal Smaga's Personal Meeting Room rJFn9D3lRJmnlCMSomhPsw",
|
||||
"sha256": "8d670ad0180d48a86a6eb3a06911066fa1993a4130a6c07ea65473e36fd2c66d",
|
||||
"sha256": "55727e14d28c8dfe03f20623c696d1e756da52b8e985ccafe454a70f04c58693",
|
||||
"cues": 60
|
||||
},
|
||||
"DLwAbUQ_RZ6X_D63xiX_Ww": {
|
||||
"title": "Max Tsoy's Personal Meeting Room",
|
||||
"meeting_date": "2026-11-12",
|
||||
"meeting_date_source": "meeting_start_time",
|
||||
"meeting_start_at": "2026-11-12T09:51:04.000Z",
|
||||
"note_created_at": "2026-11-12T09:53:25.042Z",
|
||||
"note_modified_at": "2026-11-12T09:53:25.042Z",
|
||||
"source_url": "https://us01mynotes.zoom.us/DLwAbUQ_RZ6X_D63xiX_Ww",
|
||||
"folder": "undated Max Tsoy's Personal Meeting Room DLwAbUQ_RZ6X_D63xiX_Ww",
|
||||
"sha256": "1a7c6ab5907efb13a97003c792153bfccbacd649686f3f8baa9bd953f116ffe6",
|
||||
"sha256": "a3436342699e9bdbbbf1071cd8c4e9189e3be8feb502df39b34ae20812cd2142",
|
||||
"cues": 115
|
||||
},
|
||||
"VSuzeqZCR5O2z5KtmaQt3g": {
|
||||
"title": "Apple Weekly Team Meeting - Zoom ID",
|
||||
"meeting_date": "2026-11-10",
|
||||
"meeting_date_source": "meeting_start_time",
|
||||
"meeting_start_at": "2026-11-10T14:58:38.000Z",
|
||||
"note_created_at": "2026-11-10T15:01:11.107Z",
|
||||
"note_modified_at": "2026-11-10T15:01:11.107Z",
|
||||
"source_url": "https://us01mynotes.zoom.us/VSuzeqZCR5O2z5KtmaQt3g",
|
||||
"folder": "undated Apple Weekly Team Meeting - Zoom ID VSuzeqZCR5O2z5KtmaQt3g",
|
||||
"sha256": "36b756fbb9dac88addc29ed48facbfb41f497593f14a95131e6d6a240537d4bb",
|
||||
"sha256": "89cbb44cc7924bd9624a000cbe485052b215901139b318b32edca2b1fb3ed7ae",
|
||||
"cues": 38
|
||||
},
|
||||
"p5FdcX9WT-afBpWjRgaW0w": {
|
||||
"title": "Dominik Kapusta's Personal Meeting Room",
|
||||
"meeting_date": "2026-11-10",
|
||||
"meeting_date_source": "meeting_start_time",
|
||||
"meeting_start_at": "2026-11-10T09:04:57.000Z",
|
||||
"note_created_at": "2026-11-10T10:01:44.278Z",
|
||||
"note_modified_at": "2026-11-10T10:01:44.278Z",
|
||||
"source_url": "https://us01mynotes.zoom.us/p5FdcX9WT-afBpWjRgaW0w",
|
||||
"folder": "undated Dominik Kapusta's Personal Meeting Room p5FdcX9WT-afBpWjRgaW0w",
|
||||
"sha256": "96f058e6c4711d2b5a006d990c5a9d11a1c2886e2cb4d725f02fca926822e763",
|
||||
"sha256": "21d3c3d8f4c7fea11976f5cb54b98a121c895c7aabcb1b541c6d3f6f1167460a",
|
||||
"cues": 130
|
||||
},
|
||||
"e5TYWRytRz2WwWSe68BSWQ": {
|
||||
"title": "O-E 2026",
|
||||
"meeting_date": "2026-11-03",
|
||||
"meeting_date_source": "meeting_start_time",
|
||||
"meeting_start_at": "2026-11-03T16:02:54.000Z",
|
||||
"note_created_at": "2026-11-03T16:03:13.297Z",
|
||||
"note_modified_at": "2026-11-03T16:03:13.297Z",
|
||||
"source_url": "https://us01mynotes.zoom.us/e5TYWRytRz2WwWSe68BSWQ",
|
||||
"folder": "undated O-E 2026 e5TYWRytRz2WwWSe68BSWQ",
|
||||
"sha256": "bcc392bd5d0040a34edd000ccebc9fd124943ea99e6bafb81551dc289acb026b",
|
||||
"sha256": "d84adb2acc1a8a258a69aa56146293ffd8b2f03613f6669679727a1d07165894",
|
||||
"cues": 107
|
||||
},
|
||||
"3sv2crbiShun--0lAywwvg": {
|
||||
"title": "Alex Martemyanov's Zoom Meeting",
|
||||
"meeting_date": "2026-10-28",
|
||||
"meeting_date_source": "meeting_start_time",
|
||||
"meeting_start_at": "2026-10-28T10:15:09.000Z",
|
||||
"note_created_at": "2026-10-28T10:15:22.829Z",
|
||||
"note_modified_at": "2026-10-28T10:15:22.829Z",
|
||||
"source_url": "https://us01mynotes.zoom.us/3sv2crbiShun--0lAywwvg",
|
||||
"folder": "undated Alex Martemyanov's Zoom Meeting 3sv2crbiShun--0lAywwvg",
|
||||
"sha256": "226cc5fa398df5df48b67613a72e7aaec5553abf40e6c783216b204cb481ce84",
|
||||
"sha256": "0ba210f513295a755d3b39c70305c3ecd1cec6fc8d307ab692fc9253a2bca8f1",
|
||||
"cues": 80
|
||||
},
|
||||
"gBBa-iiUQLycw55WRV1tnw": {
|
||||
"title": "Apple Weekly Team Meeting - Zoom ID 2026-10-20 20:01(GMT+6:00)",
|
||||
"meeting_date": "2026-10-20",
|
||||
"meeting_date_source": "title_date",
|
||||
"meeting_start_at": "2026-10-20T13:59:12.000Z",
|
||||
"note_created_at": "2026-10-20T14:01:14.778Z",
|
||||
"note_modified_at": "2026-10-20T15:08:30.724Z",
|
||||
"source_url": "https://us01mynotes.zoom.us/gBBa-iiUQLycw55WRV1tnw",
|
||||
"folder": "2026-10-20 Apple Weekly Team Meeting - Zoom ID 2026-10-20 20 01(GMT+6 00) gBBa-iiUQLycw55WRV1tnw",
|
||||
"sha256": "ca11ac2c5c991594f880644e97af7b6e66458623484464f46482e2e7578f7832",
|
||||
"sha256": "5757a175b493ba2bee769a1bcd33431e752ce73ed296d817ccf8946e60c6dbad",
|
||||
"cues": 137
|
||||
},
|
||||
"7JZgnceAT1aZ2H75ok4dmA": {
|
||||
"title": "Costas Brammer's Personal Meeting Room",
|
||||
"meeting_date": "2026-10-27",
|
||||
"meeting_date_source": "meeting_start_time",
|
||||
"meeting_start_at": "2026-10-27T15:00:28.000Z",
|
||||
"note_created_at": "2026-10-27T15:03:29.245Z",
|
||||
"note_modified_at": "2026-10-27T15:03:29.245Z",
|
||||
"source_url": "https://us01mynotes.zoom.us/7JZgnceAT1aZ2H75ok4dmA",
|
||||
"folder": "undated Costas Brammer's Personal Meeting Room 7JZgnceAT1aZ2H75ok4dmA",
|
||||
"sha256": "a159af784395835c702e16f6fd4a7369a158fef80d4db6809464bb00df0a6f00",
|
||||
"sha256": "3b791d41a29907a7b14e438adc6d9883afc04fa0dac5e7b18407bf2f233fb2f7",
|
||||
"cues": 23
|
||||
},
|
||||
"bPprGg5DTye9H-RQXkwMuw": {
|
||||
"title": "All-Company Meeting",
|
||||
"meeting_date": "2026-10-23",
|
||||
"meeting_date_source": "meeting_start_time",
|
||||
"meeting_start_at": "2026-10-23T15:25:38.000Z",
|
||||
"note_created_at": "2026-10-23T15:29:29.141Z",
|
||||
"note_modified_at": "2026-10-23T15:29:29.141Z",
|
||||
"source_url": "https://us01mynotes.zoom.us/bPprGg5DTye9H-RQXkwMuw",
|
||||
"folder": "undated All-Company Meeting bPprGg5DTye9H-RQXkwMuw",
|
||||
"sha256": "6b36105216ce8d0a99c02a164fd1fae58b5604ba19fb090ecfec9b4874e2524e",
|
||||
"sha256": "92c8cdc1104e86fdbead212d4f69caf87623d332e2ad67f7807cdc248acd9fb3",
|
||||
"cues": 50
|
||||
},
|
||||
"r6weCpT7SnasTUiybJW95w": {
|
||||
"title": "Apple Weekly Team Meeting - Zoom ID",
|
||||
"meeting_date": "2026-11-03",
|
||||
"meeting_date_source": "meeting_start_time",
|
||||
"meeting_start_at": "2026-11-03T15:00:51.000Z",
|
||||
"note_created_at": "2026-11-03T15:01:17.788Z",
|
||||
"note_modified_at": "2026-11-03T15:01:17.788Z",
|
||||
"source_url": "https://us01mynotes.zoom.us/r6weCpT7SnasTUiybJW95w",
|
||||
"folder": "2026-11-03 Apple Weekly Team Meeting - Zoom ID r6weCpT7SnasTUiybJW95w",
|
||||
"sha256": "4326819c3584abe2121cbf832634589d14af29e71f57f320f32573e4605ff8b0",
|
||||
"cues": 36
|
||||
},
|
||||
"kOfTt34CRsG3dquIpsIzYA": {
|
||||
"title": "Dominik Kapusta's Personal Meeting Room",
|
||||
"meeting_date": "2026-11-03",
|
||||
"meeting_date_source": "meeting_start_time",
|
||||
"meeting_start_at": "2026-11-03T10:03:01.000Z",
|
||||
"note_created_at": "2026-11-03T10:04:07.74Z",
|
||||
"note_modified_at": "2026-11-03T10:04:07.74Z",
|
||||
"source_url": "https://us01mynotes.zoom.us/kOfTt34CRsG3dquIpsIzYA",
|
||||
"folder": "2026-11-03 Dominik Kapusta's Personal Meeting Room kOfTt34CRsG3dquIpsIzYA",
|
||||
"sha256": "e44b551f39b5f1d02366d4be6518383190d6af1ee64986cc5a987caa3ed666d4",
|
||||
"cues": 168
|
||||
},
|
||||
"qQ2bzU5KTiCGluiBYA-ROA": {
|
||||
"title": "Michal Smaga's Personal Meeting Room",
|
||||
"meeting_date": "2026-11-03",
|
||||
"meeting_date_source": "meeting_start_time",
|
||||
"meeting_start_at": "2026-11-03T09:25:17.000Z",
|
||||
"note_created_at": "2026-11-03T09:26:09.911Z",
|
||||
"note_modified_at": "2026-11-03T09:26:09.911Z",
|
||||
"source_url": "https://us01mynotes.zoom.us/qQ2bzU5KTiCGluiBYA-ROA",
|
||||
"folder": "2026-11-03 Michal Smaga's Personal Meeting Room qQ2bzU5KTiCGluiBYA-ROA",
|
||||
"sha256": "dafb593da5838d0c82fa22918d30cd0e58dbe5d9a592b8a8c2c997d083a80638",
|
||||
"cues": 59
|
||||
},
|
||||
"FZA-Gp3ATxiQ7cQaU5u5tg": {
|
||||
"title": "O-E 2026",
|
||||
"meeting_date": "2026-10-27",
|
||||
"meeting_date_source": "meeting_start_time",
|
||||
"meeting_start_at": "2026-10-27T15:01:44.000Z",
|
||||
"note_created_at": "2026-10-27T15:13:06.783Z",
|
||||
"note_modified_at": "2026-10-27T15:13:06.783Z",
|
||||
"source_url": "https://us01mynotes.zoom.us/FZA-Gp3ATxiQ7cQaU5u5tg",
|
||||
"folder": "2026-10-27 O-E 2026 FZA-Gp3ATxiQ7cQaU5u5tg",
|
||||
"sha256": "31b79dd032c669d1799eaec2eb0ebf0523e7b12ecac1a5b795625a66805447c5",
|
||||
"cues": 321
|
||||
},
|
||||
"-I3aVYDWTkKZ_VTRLdjGnA": {
|
||||
"title": "Apple Weekly Team Meeting - Zoom ID",
|
||||
"meeting_date": "2026-10-27",
|
||||
"meeting_date_source": "meeting_start_time",
|
||||
"meeting_start_at": "2026-10-27T14:00:07.000Z",
|
||||
"note_created_at": "2026-10-27T14:02:34.482Z",
|
||||
"note_modified_at": "2026-10-27T14:02:34.482Z",
|
||||
"source_url": "https://us01mynotes.zoom.us/-I3aVYDWTkKZ_VTRLdjGnA",
|
||||
"folder": "2026-10-27 Apple Weekly Team Meeting - Zoom ID -I3aVYDWTkKZ_VTRLdjGnA",
|
||||
"sha256": "eca3ff1650275faccc26a7d030a207788f36bd194f860b5e232560613956f225",
|
||||
"cues": 49
|
||||
},
|
||||
"1T8djM8kQaOWNDk-yjDc9A": {
|
||||
"title": "Alex Martemyanov's Zoom Meeting",
|
||||
"meeting_date": "2026-10-23",
|
||||
"meeting_date_source": "meeting_start_time",
|
||||
"meeting_start_at": "2026-10-23T15:18:29.000Z",
|
||||
"note_created_at": "2026-10-23T15:18:35.223Z",
|
||||
"note_modified_at": "2026-10-23T15:18:35.223Z",
|
||||
"source_url": "https://us01mynotes.zoom.us/1T8djM8kQaOWNDk-yjDc9A",
|
||||
"folder": "2026-10-23 Alex Martemyanov's Zoom Meeting 1T8djM8kQaOWNDk-yjDc9A",
|
||||
"sha256": "a047e46974da221809d0ae88633ce620b51f3475ce5e9f1c62c984745b7105ae",
|
||||
"cues": 1
|
||||
},
|
||||
"FAeLGcOQTg2UnjWrENIMqg": {
|
||||
"title": "Alex Martemyanov's Zoom Meeting",
|
||||
"meeting_date": "2026-10-23",
|
||||
"meeting_date_source": "meeting_start_time",
|
||||
"meeting_start_at": "2026-10-23T14:47:44.000Z",
|
||||
"note_created_at": "2026-10-23T14:47:52.001Z",
|
||||
"note_modified_at": "2026-10-23T14:47:52.001Z",
|
||||
"source_url": "https://us01mynotes.zoom.us/FAeLGcOQTg2UnjWrENIMqg",
|
||||
"folder": "2026-10-23 Alex Martemyanov's Zoom Meeting FAeLGcOQTg2UnjWrENIMqg",
|
||||
"sha256": "934b3f8cc548b0c7aa6673aed60558d8d8aa235a2bcf8f5487563dd034800472",
|
||||
"cues": 6
|
||||
},
|
||||
"v-VFw0wZRraMyEreybwh0g": {
|
||||
"title": "Alex Martemyanov's Zoom Meeting",
|
||||
"meeting_date": "2026-10-22",
|
||||
"meeting_date_source": "meeting_start_time",
|
||||
"meeting_start_at": "2026-10-22T11:05:32.000Z",
|
||||
"note_created_at": "2026-10-22T11:05:38.449Z",
|
||||
"note_modified_at": "2026-10-22T11:05:38.449Z",
|
||||
"source_url": "https://us01mynotes.zoom.us/v-VFw0wZRraMyEreybwh0g",
|
||||
"folder": "2026-10-22 Alex Martemyanov's Zoom Meeting v-VFw0wZRraMyEreybwh0g",
|
||||
"sha256": "bbc24631d4fc65523c4f8797a983545f68bb95cb73aa7f6ab7ef76217ba28c52",
|
||||
"cues": 1
|
||||
},
|
||||
"pE9_3zXNSY6chGvpQemi3w": {
|
||||
"title": "Alex Martemyanov's Zoom Meeting",
|
||||
"meeting_date": "2026-10-22",
|
||||
"meeting_date_source": "meeting_start_time",
|
||||
"meeting_start_at": "2026-10-22T10:25:01.000Z",
|
||||
"note_created_at": "2026-10-22T10:25:07.409Z",
|
||||
"note_modified_at": "2026-10-22T10:25:07.409Z",
|
||||
"source_url": "https://us01mynotes.zoom.us/pE9_3zXNSY6chGvpQemi3w",
|
||||
"folder": "2026-10-22 Alex Martemyanov's Zoom Meeting pE9_3zXNSY6chGvpQemi3w",
|
||||
"sha256": "889b116c061c488aef26c853131bd6ab3ee929fc44a51aea0504b4ab04bfecb3",
|
||||
"cues": 1
|
||||
},
|
||||
"tyVrosD9TAyYEqJpp5YHRQ": {
|
||||
"title": "O-E 2026",
|
||||
"meeting_date": "2026-10-20",
|
||||
"meeting_date_source": "meeting_start_time",
|
||||
"meeting_start_at": "2026-10-20T15:01:55.000Z",
|
||||
"note_created_at": "2026-10-20T15:07:22.356Z",
|
||||
"note_modified_at": "2026-10-20T15:07:22.356Z",
|
||||
"source_url": "https://us01mynotes.zoom.us/tyVrosD9TAyYEqJpp5YHRQ",
|
||||
"folder": "2026-10-20 O-E 2026 tyVrosD9TAyYEqJpp5YHRQ",
|
||||
"sha256": "5fc731e50994e7ee0f1c4986649669f2182dadc4de3f1361d762bcd90f120ad5",
|
||||
"cues": 68
|
||||
},
|
||||
"Mg62hl1GSI2gw4XeGvHAsg": {
|
||||
"title": "Dominik Kapusta's Personal Meeting Room",
|
||||
"meeting_date": "2026-10-20",
|
||||
"meeting_date_source": "meeting_start_time",
|
||||
"meeting_start_at": "2026-10-20T09:00:54.000Z",
|
||||
"note_created_at": "2026-10-20T09:04:33.786Z",
|
||||
"note_modified_at": "2026-10-20T09:04:33.786Z",
|
||||
"source_url": "https://us01mynotes.zoom.us/Mg62hl1GSI2gw4XeGvHAsg",
|
||||
"folder": "2026-10-20 Dominik Kapusta's Personal Meeting Room Mg62hl1GSI2gw4XeGvHAsg",
|
||||
"sha256": "f5020ecd26269cc74c4c5e31200220dfd47607f197a79607112ecdd353785740",
|
||||
"cues": 322
|
||||
},
|
||||
"QvxllpCuTTSLGEZp-R6jQw": {
|
||||
"title": "Michal Smaga's Personal Meeting Room",
|
||||
"meeting_date": "2026-10-19",
|
||||
"meeting_date_source": "meeting_start_time",
|
||||
"meeting_start_at": "2026-10-19T12:09:00.000Z",
|
||||
"note_created_at": "2026-10-19T12:10:00.638Z",
|
||||
"note_modified_at": "2026-10-19T12:37:38.903Z",
|
||||
"source_url": "https://us01mynotes.zoom.us/QvxllpCuTTSLGEZp-R6jQw",
|
||||
"folder": "2026-10-19 Michal Smaga's Personal Meeting Room QvxllpCuTTSLGEZp-R6jQw",
|
||||
"sha256": "a4b3c5ce7fafb99496019591da19f9a103e35cf5f37ec42aa8f154021fdebcae",
|
||||
"cues": 133
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
{"observed_at":"2026-11-13T13:18:17.257Z","scanned":29,"imported":29,"skipped":0,"withoutTranscript":0,"coverage":"complete","sections":[{"name":"Owned by me","pages":5,"notes":84,"complete":true,"terminal_cursor":true},{"name":"Shared with me","pages":1,"notes":0,"complete":true,"terminal_cursor":true},{"name":"Starred","pages":1,"notes":0,"complete":true,"terminal_cursor":true}],"discovered":84,"gaps":[],"policy":"reread_all_owned_shared_and_starred_notes_since_cutoff","since":"2026-09-30"}
|
||||
+4
@@ -3,6 +3,10 @@
|
||||
"note_id": "3sv2crbiShun--0lAywwvg",
|
||||
"title": "Alex Martemyanov's Zoom Meeting",
|
||||
"meeting_date": "2026-10-28",
|
||||
"meeting_date_source": "meeting_start_time",
|
||||
"meeting_start_at": "2026-10-28T10:15:09.000Z",
|
||||
"note_created_at": "2026-10-28T10:15:22.829Z",
|
||||
"note_modified_at": "2026-10-28T10:15:22.829Z",
|
||||
"source_url": "https://us01mynotes.zoom.us/3sv2crbiShun--0lAywwvg",
|
||||
"transcript": [
|
||||
{
|
||||
|
||||
+1
@@ -1,6 +1,7 @@
|
||||
---
|
||||
title: "Alex Martemyanov's Zoom Meeting"
|
||||
date: 2026-10-28
|
||||
date_source: meeting_start_time
|
||||
zoom_note_id: "3sv2crbiShun--0lAywwvg"
|
||||
source: "https://us01mynotes.zoom.us/3sv2crbiShun--0lAywwvg"
|
||||
---
|
||||
|
||||
+4
@@ -3,6 +3,10 @@
|
||||
"note_id": "bPprGg5DTye9H-RQXkwMuw",
|
||||
"title": "All-Company Meeting",
|
||||
"meeting_date": "2026-10-23",
|
||||
"meeting_date_source": "meeting_start_time",
|
||||
"meeting_start_at": "2026-10-23T15:25:38.000Z",
|
||||
"note_created_at": "2026-10-23T15:29:29.141Z",
|
||||
"note_modified_at": "2026-10-23T15:29:29.141Z",
|
||||
"source_url": "https://us01mynotes.zoom.us/bPprGg5DTye9H-RQXkwMuw",
|
||||
"transcript": [
|
||||
{
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
---
|
||||
title: "All-Company Meeting"
|
||||
date: 2026-10-23
|
||||
date_source: meeting_start_time
|
||||
zoom_note_id: "bPprGg5DTye9H-RQXkwMuw"
|
||||
source: "https://us01mynotes.zoom.us/bPprGg5DTye9H-RQXkwMuw"
|
||||
---
|
||||
|
||||
+4
@@ -3,6 +3,10 @@
|
||||
"note_id": "VSuzeqZCR5O2z5KtmaQt3g",
|
||||
"title": "Apple Weekly Team Meeting - Zoom ID",
|
||||
"meeting_date": "2026-11-10",
|
||||
"meeting_date_source": "meeting_start_time",
|
||||
"meeting_start_at": "2026-11-10T14:58:38.000Z",
|
||||
"note_created_at": "2026-11-10T15:01:11.107Z",
|
||||
"note_modified_at": "2026-11-10T15:01:11.107Z",
|
||||
"source_url": "https://us01mynotes.zoom.us/VSuzeqZCR5O2z5KtmaQt3g",
|
||||
"transcript": [
|
||||
{
|
||||
|
||||
+1
@@ -1,6 +1,7 @@
|
||||
---
|
||||
title: "Apple Weekly Team Meeting - Zoom ID"
|
||||
date: 2026-11-10
|
||||
date_source: meeting_start_time
|
||||
zoom_note_id: "VSuzeqZCR5O2z5KtmaQt3g"
|
||||
source: "https://us01mynotes.zoom.us/VSuzeqZCR5O2z5KtmaQt3g"
|
||||
---
|
||||
|
||||
+4
@@ -3,6 +3,10 @@
|
||||
"note_id": "7JZgnceAT1aZ2H75ok4dmA",
|
||||
"title": "Costas Brammer's Personal Meeting Room",
|
||||
"meeting_date": "2026-10-27",
|
||||
"meeting_date_source": "meeting_start_time",
|
||||
"meeting_start_at": "2026-10-27T15:00:28.000Z",
|
||||
"note_created_at": "2026-10-27T15:03:29.245Z",
|
||||
"note_modified_at": "2026-10-27T15:03:29.245Z",
|
||||
"source_url": "https://us01mynotes.zoom.us/7JZgnceAT1aZ2H75ok4dmA",
|
||||
"transcript": [
|
||||
{
|
||||
|
||||
+1
@@ -1,6 +1,7 @@
|
||||
---
|
||||
title: "Costas Brammer's Personal Meeting Room"
|
||||
date: 2026-10-27
|
||||
date_source: meeting_start_time
|
||||
zoom_note_id: "7JZgnceAT1aZ2H75ok4dmA"
|
||||
source: "https://us01mynotes.zoom.us/7JZgnceAT1aZ2H75ok4dmA"
|
||||
---
|
||||
|
||||
+4
@@ -3,6 +3,10 @@
|
||||
"note_id": "p5FdcX9WT-afBpWjRgaW0w",
|
||||
"title": "Dominik Kapusta's Personal Meeting Room",
|
||||
"meeting_date": "2026-11-10",
|
||||
"meeting_date_source": "meeting_start_time",
|
||||
"meeting_start_at": "2026-11-10T09:04:57.000Z",
|
||||
"note_created_at": "2026-11-10T10:01:44.278Z",
|
||||
"note_modified_at": "2026-11-10T10:01:44.278Z",
|
||||
"source_url": "https://us01mynotes.zoom.us/p5FdcX9WT-afBpWjRgaW0w",
|
||||
"transcript": [
|
||||
{
|
||||
|
||||
+1
@@ -1,6 +1,7 @@
|
||||
---
|
||||
title: "Dominik Kapusta's Personal Meeting Room"
|
||||
date: 2026-11-10
|
||||
date_source: meeting_start_time
|
||||
zoom_note_id: "p5FdcX9WT-afBpWjRgaW0w"
|
||||
source: "https://us01mynotes.zoom.us/p5FdcX9WT-afBpWjRgaW0w"
|
||||
---
|
||||
|
||||
+4
@@ -3,6 +3,10 @@
|
||||
"note_id": "DLwAbUQ_RZ6X_D63xiX_Ww",
|
||||
"title": "Max Tsoy's Personal Meeting Room",
|
||||
"meeting_date": "2026-11-12",
|
||||
"meeting_date_source": "meeting_start_time",
|
||||
"meeting_start_at": "2026-11-12T09:51:04.000Z",
|
||||
"note_created_at": "2026-11-12T09:53:25.042Z",
|
||||
"note_modified_at": "2026-11-12T09:53:25.042Z",
|
||||
"source_url": "https://us01mynotes.zoom.us/DLwAbUQ_RZ6X_D63xiX_Ww",
|
||||
"transcript": [
|
||||
{
|
||||
|
||||
+1
@@ -1,6 +1,7 @@
|
||||
---
|
||||
title: "Max Tsoy's Personal Meeting Room"
|
||||
date: 2026-11-12
|
||||
date_source: meeting_start_time
|
||||
zoom_note_id: "DLwAbUQ_RZ6X_D63xiX_Ww"
|
||||
source: "https://us01mynotes.zoom.us/DLwAbUQ_RZ6X_D63xiX_Ww"
|
||||
---
|
||||
|
||||
+4
@@ -3,6 +3,10 @@
|
||||
"note_id": "rJFn9D3lRJmnlCMSomhPsw",
|
||||
"title": "Michal Smaga's Personal Meeting Room",
|
||||
"meeting_date": "2026-11-12",
|
||||
"meeting_date_source": "meeting_start_time",
|
||||
"meeting_start_at": "2026-11-12T10:13:55.000Z",
|
||||
"note_created_at": "2026-11-12T10:14:13.001Z",
|
||||
"note_modified_at": "2026-11-12T10:14:13.001Z",
|
||||
"source_url": "https://us01mynotes.zoom.us/rJFn9D3lRJmnlCMSomhPsw",
|
||||
"transcript": [
|
||||
{
|
||||
|
||||
+1
@@ -1,6 +1,7 @@
|
||||
---
|
||||
title: "Michal Smaga's Personal Meeting Room"
|
||||
date: 2026-11-12
|
||||
date_source: meeting_start_time
|
||||
zoom_note_id: "rJFn9D3lRJmnlCMSomhPsw"
|
||||
source: "https://us01mynotes.zoom.us/rJFn9D3lRJmnlCMSomhPsw"
|
||||
---
|
||||
|
||||
@@ -3,6 +3,10 @@
|
||||
"note_id": "e5TYWRytRz2WwWSe68BSWQ",
|
||||
"title": "O-E 2026",
|
||||
"meeting_date": "2026-11-03",
|
||||
"meeting_date_source": "meeting_start_time",
|
||||
"meeting_start_at": "2026-11-03T16:02:54.000Z",
|
||||
"note_created_at": "2026-11-03T16:03:13.297Z",
|
||||
"note_modified_at": "2026-11-03T16:03:13.297Z",
|
||||
"source_url": "https://us01mynotes.zoom.us/e5TYWRytRz2WwWSe68BSWQ",
|
||||
"transcript": [
|
||||
{
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
---
|
||||
title: "O-E 2026"
|
||||
date: 2026-11-03
|
||||
date_source: meeting_start_time
|
||||
zoom_note_id: "e5TYWRytRz2WwWSe68BSWQ"
|
||||
source: "https://us01mynotes.zoom.us/e5TYWRytRz2WwWSe68BSWQ"
|
||||
---
|
||||
|
||||
Reference in new issue
Block a user