Repository navigation
Commit f6d0439
fix(snippets): drop an old file's job results after File > Open in thread-queue-timer
File > Open dropped the plain drain timer, but the worker threads kept
running. The next run_in_background() re-registered the drain, and it
applied the old file's queued result to the new file's objects. Reproduced
headless on 5.2.1: a job started before wm.read_homefile wrote "old-file"
onto the new file's Target.
Jobs now carry an epoch. A @Persistent load_post handler (registered in
register(), removed in unregister()) bumps the epoch and resets the pending
count, and the drain discards results from older epochs. With the same probe
on 5.2.1 and 4.5.14, the stale result is dropped and a job started after the
load still applies. The old snippet fails that probe. The skill explains the
trap, and why persistent=True on the drain does not fix it.
Closes #492
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: TMHSDigital <154358121+TMHSDigital@users.noreply.github.com>1 parent 98b5a40 commit f6d0439
2 files changed
Lines changed: 32 additions & 23 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
91 | 91 | | |
92 | 92 | | |
93 | 93 | | |
| 94 | + | |
| 95 | + | |
94 | 96 | | |
95 | 97 | | |
96 | 98 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3 | 3 | | |
4 | 4 | | |
5 | 5 | | |
6 | | - | |
7 | | - | |
8 | | - | |
9 | | - | |
10 | | - | |
11 | | - | |
12 | | - | |
13 | | - | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
14 | 11 | | |
15 | 12 | | |
16 | 13 | | |
| |||
20 | 17 | | |
21 | 18 | | |
22 | 19 | | |
| 20 | + | |
23 | 21 | | |
24 | 22 | | |
25 | | - | |
| 23 | + | |
| 24 | + | |
26 | 25 | | |
27 | 26 | | |
28 | | - | |
29 | | - | |
30 | | - | |
31 | | - | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
32 | 30 | | |
33 | | - | |
| 31 | + | |
34 | 32 | | |
35 | 33 | | |
36 | 34 | | |
37 | 35 | | |
38 | 36 | | |
39 | 37 | | |
40 | | - | |
| 38 | + | |
41 | 39 | | |
42 | 40 | | |
| 41 | + | |
| 42 | + | |
43 | 43 | | |
44 | | - | |
45 | | - | |
46 | | - | |
| 44 | + | |
| 45 | + | |
47 | 46 | | |
| 47 | + | |
| 48 | + | |
48 | 49 | | |
49 | 50 | | |
50 | 51 | | |
51 | | - | |
52 | | - | |
53 | | - | |
54 | | - | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
55 | 56 | | |
56 | 57 | | |
57 | 58 | | |
58 | 59 | | |
59 | 60 | | |
60 | 61 | | |
61 | | - | |
| 62 | + | |
62 | 63 | | |
63 | 64 | | |
64 | 65 | | |
65 | 66 | | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
66 | 71 | | |
| 72 | + | |
| 73 | + | |
67 | 74 | | |
68 | 75 | | |
0 commit comments