mirror of
https://github.com/Kilo-Org/kilocode.git
synced 2026-08-28 19:11:03 +08:00
fix(vscode): keep sync filter window moving
This commit is contained in:
@@ -24,7 +24,8 @@ export function createDuplicateEventFilter() {
|
||||
}
|
||||
|
||||
if (duplicateLiveEvents.has(event.type)) {
|
||||
if (seen.size < DUPLICATE_EVENT_LIMIT) seen.add(event.id)
|
||||
if (seen.size >= DUPLICATE_EVENT_LIMIT) seen.delete(seen.values().next().value!)
|
||||
seen.add(event.id)
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
@@ -234,7 +234,7 @@ describe("createDuplicateEventFilter", () => {
|
||||
).toBe(false)
|
||||
})
|
||||
|
||||
it("does not evict pending live events when the cap is reached", () => {
|
||||
it("continues tracking new live events after the cap is reached", () => {
|
||||
const filter = createDuplicateEventFilter()
|
||||
for (let index = 0; index < 1024; index++) {
|
||||
expect(
|
||||
@@ -246,18 +246,6 @@ describe("createDuplicateEventFilter", () => {
|
||||
).toBe(false)
|
||||
}
|
||||
|
||||
expect(
|
||||
filter(
|
||||
sync({
|
||||
type: "sync",
|
||||
name: "message.part.updated.1",
|
||||
id: "live-0",
|
||||
seq: 8,
|
||||
aggregateID: "s6",
|
||||
data: { sessionID: "s6", part, time: 0 },
|
||||
}),
|
||||
),
|
||||
).toBe(true)
|
||||
expect(
|
||||
filter({
|
||||
id: "live-1024",
|
||||
@@ -277,9 +265,33 @@ describe("createDuplicateEventFilter", () => {
|
||||
}),
|
||||
),
|
||||
).toBe(true)
|
||||
expect(
|
||||
filter(
|
||||
sync({
|
||||
type: "sync",
|
||||
name: "message.part.updated.1",
|
||||
id: "live-0",
|
||||
seq: 8,
|
||||
aggregateID: "s6",
|
||||
data: { sessionID: "s6", part, time: 0 },
|
||||
}),
|
||||
),
|
||||
).toBe(false)
|
||||
expect(
|
||||
filter(
|
||||
sync({
|
||||
type: "sync",
|
||||
name: "message.part.updated.1",
|
||||
id: "live-1024",
|
||||
seq: 9,
|
||||
aggregateID: "s6",
|
||||
data: { sessionID: "s6", part, time: 0 },
|
||||
}),
|
||||
),
|
||||
).toBe(false)
|
||||
})
|
||||
|
||||
it("passes overflow events through without evicting pending IDs", () => {
|
||||
it("forwards delayed envelopes for evicted IDs", () => {
|
||||
const filter = createDuplicateEventFilter()
|
||||
for (let index = 0; index < 1024; index++) {
|
||||
expect(
|
||||
@@ -303,7 +315,7 @@ describe("createDuplicateEventFilter", () => {
|
||||
sync({
|
||||
type: "sync",
|
||||
name: "message.part.updated.1",
|
||||
id: "overflow",
|
||||
id: "pending-0",
|
||||
seq: 8,
|
||||
aggregateID: "s6",
|
||||
data: { sessionID: "s6", part, time: 0 },
|
||||
@@ -315,32 +327,13 @@ describe("createDuplicateEventFilter", () => {
|
||||
sync({
|
||||
type: "sync",
|
||||
name: "message.part.updated.1",
|
||||
id: "pending-0",
|
||||
id: "pending-1023",
|
||||
seq: 9,
|
||||
aggregateID: "s6",
|
||||
data: { sessionID: "s6", part, time: 0 },
|
||||
}),
|
||||
),
|
||||
).toBe(true)
|
||||
expect(
|
||||
filter({
|
||||
id: "after-free",
|
||||
type: "message.part.updated",
|
||||
properties: { sessionID: "s6", part, delta: "x" },
|
||||
}),
|
||||
).toBe(false)
|
||||
expect(
|
||||
filter(
|
||||
sync({
|
||||
type: "sync",
|
||||
name: "message.part.updated.1",
|
||||
id: "after-free",
|
||||
seq: 10,
|
||||
aggregateID: "s6",
|
||||
data: { sessionID: "s6", part, time: 0 },
|
||||
}),
|
||||
),
|
||||
).toBe(true)
|
||||
})
|
||||
|
||||
it("does not carry duplicate IDs between connections", () => {
|
||||
|
||||
Reference in New Issue
Block a user