@welshman/app 0.1.2 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (226) hide show
  1. package/dist/app/src/blossom.d.ts +4 -0
  2. package/dist/app/src/blossom.d.ts.map +1 -0
  3. package/dist/app/src/blossom.js +16 -0
  4. package/dist/app/src/blossom.js.map +1 -0
  5. package/dist/app/src/commands.d.ts +13 -42
  6. package/dist/app/src/commands.d.ts.map +1 -1
  7. package/dist/app/src/commands.js +13 -3
  8. package/dist/app/src/commands.js.map +1 -1
  9. package/dist/app/src/core.d.ts +0 -3
  10. package/dist/app/src/core.d.ts.map +1 -1
  11. package/dist/app/src/core.js +13 -31
  12. package/dist/app/src/core.js.map +1 -1
  13. package/dist/app/src/feeds.d.ts +3 -5
  14. package/dist/app/src/feeds.d.ts.map +1 -1
  15. package/dist/app/src/feeds.js +4 -55
  16. package/dist/app/src/feeds.js.map +1 -1
  17. package/dist/app/src/follows.d.ts.map +1 -1
  18. package/dist/app/src/follows.js +3 -4
  19. package/dist/app/src/follows.js.map +1 -1
  20. package/dist/app/src/handles.d.ts.map +1 -1
  21. package/dist/app/src/handles.js +4 -2
  22. package/dist/app/src/handles.js.map +1 -1
  23. package/dist/app/src/index.d.ts +2 -5
  24. package/dist/app/src/index.d.ts.map +1 -1
  25. package/dist/app/src/index.js +40 -5
  26. package/dist/app/src/index.js.map +1 -1
  27. package/dist/app/src/mutes.d.ts.map +1 -1
  28. package/dist/app/src/mutes.js +3 -4
  29. package/dist/app/src/mutes.js.map +1 -1
  30. package/dist/app/src/pins.d.ts.map +1 -1
  31. package/dist/app/src/pins.js +3 -4
  32. package/dist/app/src/pins.js.map +1 -1
  33. package/dist/app/src/profiles.d.ts +1 -1
  34. package/dist/app/src/profiles.d.ts.map +1 -1
  35. package/dist/app/src/profiles.js +5 -6
  36. package/dist/app/src/profiles.js.map +1 -1
  37. package/dist/app/src/relaySelections.d.ts +10 -5
  38. package/dist/app/src/relaySelections.d.ts.map +1 -1
  39. package/dist/app/src/relaySelections.js +31 -41
  40. package/dist/app/src/relaySelections.js.map +1 -1
  41. package/dist/app/src/relays.d.ts +1 -0
  42. package/dist/app/src/relays.d.ts.map +1 -1
  43. package/dist/app/src/relays.js +31 -4
  44. package/dist/app/src/relays.js.map +1 -1
  45. package/dist/app/src/search.d.ts.map +1 -1
  46. package/dist/app/src/search.js +1 -1
  47. package/dist/app/src/search.js.map +1 -1
  48. package/dist/app/src/session.d.ts +25 -7
  49. package/dist/app/src/session.d.ts.map +1 -1
  50. package/dist/app/src/session.js +50 -3
  51. package/dist/app/src/session.js.map +1 -1
  52. package/dist/app/src/storage.d.ts +1 -0
  53. package/dist/app/src/storage.d.ts.map +1 -1
  54. package/dist/app/src/storage.js +6 -1
  55. package/dist/app/src/storage.js.map +1 -1
  56. package/dist/app/src/storageAdapters.d.ts +88 -0
  57. package/dist/app/src/storageAdapters.d.ts.map +1 -0
  58. package/dist/app/src/storageAdapters.js +181 -0
  59. package/dist/app/src/storageAdapters.js.map +1 -0
  60. package/dist/app/src/sync.d.ts.map +1 -1
  61. package/dist/app/src/sync.js +7 -9
  62. package/dist/app/src/sync.js.map +1 -1
  63. package/dist/app/src/tags.js +1 -1
  64. package/dist/app/src/tags.js.map +1 -1
  65. package/dist/app/src/thunk.d.ts +38 -53
  66. package/dist/app/src/thunk.d.ts.map +1 -1
  67. package/dist/app/src/thunk.js +182 -132
  68. package/dist/app/src/thunk.js.map +1 -1
  69. package/dist/app/src/user.d.ts +13 -7
  70. package/dist/app/src/user.d.ts.map +1 -1
  71. package/dist/app/src/user.js +28 -28
  72. package/dist/app/src/user.js.map +1 -1
  73. package/dist/app/src/zappers.js +1 -1
  74. package/dist/dvm/src/handler.d.ts.map +1 -1
  75. package/dist/dvm/src/handler.js +9 -7
  76. package/dist/dvm/src/handler.js.map +1 -1
  77. package/dist/dvm/src/request.d.ts +6 -15
  78. package/dist/dvm/src/request.d.ts.map +1 -1
  79. package/dist/dvm/src/request.js +23 -23
  80. package/dist/dvm/src/request.js.map +1 -1
  81. package/dist/feeds/src/compiler.d.ts +15 -4
  82. package/dist/feeds/src/compiler.d.ts.map +1 -1
  83. package/dist/feeds/src/compiler.js +11 -6
  84. package/dist/feeds/src/compiler.js.map +1 -1
  85. package/dist/feeds/src/controller.d.ts +16 -9
  86. package/dist/feeds/src/controller.d.ts.map +1 -1
  87. package/dist/feeds/src/controller.js +36 -36
  88. package/dist/feeds/src/controller.js.map +1 -1
  89. package/dist/feeds/src/core.d.ts +1 -23
  90. package/dist/feeds/src/core.d.ts.map +1 -1
  91. package/dist/feeds/src/display.d.ts +21 -0
  92. package/dist/feeds/src/display.d.ts.map +1 -0
  93. package/dist/feeds/src/display.js +144 -0
  94. package/dist/feeds/src/display.js.map +1 -0
  95. package/dist/feeds/src/index.d.ts +2 -0
  96. package/dist/feeds/src/index.d.ts.map +1 -1
  97. package/dist/feeds/src/index.js +2 -0
  98. package/dist/feeds/src/index.js.map +1 -1
  99. package/dist/feeds/src/request.d.ts +22 -0
  100. package/dist/feeds/src/request.d.ts.map +1 -0
  101. package/dist/feeds/src/request.js +61 -0
  102. package/dist/feeds/src/request.js.map +1 -0
  103. package/dist/feeds/src/utils.d.ts +2 -1
  104. package/dist/feeds/src/utils.d.ts.map +1 -1
  105. package/dist/feeds/src/utils.js +50 -1
  106. package/dist/feeds/src/utils.js.map +1 -1
  107. package/dist/feeds/src/validate.d.ts +24 -0
  108. package/dist/feeds/src/validate.d.ts.map +1 -0
  109. package/dist/feeds/src/validate.js +137 -0
  110. package/dist/feeds/src/validate.js.map +1 -0
  111. package/dist/lib/src/TaskQueue.d.ts +2 -0
  112. package/dist/lib/src/TaskQueue.d.ts.map +1 -1
  113. package/dist/lib/src/TaskQueue.js +10 -0
  114. package/dist/lib/src/TaskQueue.js.map +1 -1
  115. package/dist/lib/src/Tools.d.ts +100 -3
  116. package/dist/lib/src/Tools.d.ts.map +1 -1
  117. package/dist/lib/src/Tools.js +169 -3
  118. package/dist/lib/src/Tools.js.map +1 -1
  119. package/dist/net/src/auth.d.ts +2 -1
  120. package/dist/net/src/auth.d.ts.map +1 -1
  121. package/dist/net/src/auth.js +16 -2
  122. package/dist/net/src/auth.js.map +1 -1
  123. package/dist/net/src/context.d.ts.map +1 -1
  124. package/dist/net/src/context.js +3 -3
  125. package/dist/net/src/context.js.map +1 -1
  126. package/dist/net/src/diff.d.ts.map +1 -1
  127. package/dist/net/src/diff.js +11 -12
  128. package/dist/net/src/diff.js.map +1 -1
  129. package/dist/net/src/policy.js +3 -3
  130. package/dist/net/src/policy.js.map +1 -1
  131. package/dist/net/src/pool.d.ts +1 -1
  132. package/dist/net/src/pool.d.ts.map +1 -1
  133. package/dist/net/src/pool.js +1 -1
  134. package/dist/net/src/pool.js.map +1 -1
  135. package/dist/net/src/publish.d.ts +29 -30
  136. package/dist/net/src/publish.d.ts.map +1 -1
  137. package/dist/net/src/publish.js +79 -108
  138. package/dist/net/src/publish.js.map +1 -1
  139. package/dist/net/src/request.d.ts +26 -60
  140. package/dist/net/src/request.d.ts.map +1 -1
  141. package/dist/net/src/request.js +170 -158
  142. package/dist/net/src/request.js.map +1 -1
  143. package/dist/net/src/tracker.d.ts.map +1 -1
  144. package/dist/net/src/tracker.js +4 -4
  145. package/dist/net/src/tracker.js.map +1 -1
  146. package/dist/relay/src/repository.d.ts +1 -1
  147. package/dist/relay/src/repository.d.ts.map +1 -1
  148. package/dist/relay/src/repository.js +1 -1
  149. package/dist/relay/src/repository.js.map +1 -1
  150. package/dist/signer/src/signers/nip46.d.ts +3 -3
  151. package/dist/signer/src/signers/nip46.d.ts.map +1 -1
  152. package/dist/signer/src/signers/nip46.js +26 -20
  153. package/dist/signer/src/signers/nip46.js.map +1 -1
  154. package/dist/store/src/collection.d.ts +32 -0
  155. package/dist/store/src/collection.d.ts.map +1 -0
  156. package/dist/{app → store}/src/collection.js +20 -8
  157. package/dist/store/src/collection.js.map +1 -0
  158. package/dist/store/src/custom.d.ts +10 -0
  159. package/dist/store/src/custom.d.ts.map +1 -0
  160. package/dist/store/src/custom.js +41 -0
  161. package/dist/store/src/custom.js.map +1 -0
  162. package/dist/store/src/getter.d.ts +11 -0
  163. package/dist/store/src/getter.d.ts.map +1 -0
  164. package/dist/store/src/getter.js +11 -0
  165. package/dist/store/src/getter.js.map +1 -0
  166. package/dist/store/src/index.d.ts +6 -34
  167. package/dist/store/src/index.d.ts.map +1 -1
  168. package/dist/store/src/index.js +6 -163
  169. package/dist/store/src/index.js.map +1 -1
  170. package/dist/store/src/repository.d.ts +16 -0
  171. package/dist/store/src/repository.d.ts.map +1 -0
  172. package/dist/store/src/repository.js +100 -0
  173. package/dist/store/src/repository.js.map +1 -0
  174. package/dist/store/src/synced.d.ts +2 -0
  175. package/dist/store/src/synced.d.ts.map +1 -0
  176. package/dist/store/src/synced.js +9 -0
  177. package/dist/store/src/synced.js.map +1 -0
  178. package/dist/store/src/throttle.d.ts +3 -0
  179. package/dist/store/src/throttle.d.ts.map +1 -0
  180. package/dist/store/src/throttle.js +9 -0
  181. package/dist/store/src/throttle.js.map +1 -0
  182. package/dist/tsconfig.build.tsbuildinfo +1 -1
  183. package/dist/util/src/Events.d.ts +1 -1
  184. package/dist/util/src/Events.d.ts.map +1 -1
  185. package/dist/util/src/Events.js +6 -5
  186. package/dist/util/src/Events.js.map +1 -1
  187. package/dist/util/src/Kinds.d.ts +3 -0
  188. package/dist/util/src/Kinds.d.ts.map +1 -1
  189. package/dist/util/src/Kinds.js +3 -0
  190. package/dist/util/src/Kinds.js.map +1 -1
  191. package/dist/util/src/List.d.ts +2 -0
  192. package/dist/util/src/List.d.ts.map +1 -1
  193. package/dist/util/src/List.js +10 -3
  194. package/dist/util/src/List.js.map +1 -1
  195. package/dist/util/src/Profile.d.ts +3 -10
  196. package/dist/util/src/Profile.d.ts.map +1 -1
  197. package/dist/util/src/Profile.js +1 -0
  198. package/dist/util/src/Profile.js.map +1 -1
  199. package/dist/util/src/Relay.d.ts +6 -0
  200. package/dist/util/src/Relay.d.ts.map +1 -1
  201. package/dist/util/src/Relay.js +9 -2
  202. package/dist/util/src/Relay.js.map +1 -1
  203. package/dist/util/src/Tags.d.ts +1 -0
  204. package/dist/util/src/Tags.d.ts.map +1 -1
  205. package/dist/util/src/Tags.js +2 -1
  206. package/dist/util/src/Tags.js.map +1 -1
  207. package/package.json +10 -9
  208. package/dist/app/src/adapters.d.ts +0 -33
  209. package/dist/app/src/adapters.d.ts.map +0 -1
  210. package/dist/app/src/adapters.js +0 -84
  211. package/dist/app/src/adapters.js.map +0 -1
  212. package/dist/app/src/collection.d.ts +0 -13
  213. package/dist/app/src/collection.d.ts.map +0 -1
  214. package/dist/app/src/collection.js.map +0 -1
  215. package/dist/app/src/freshness.d.ts +0 -11
  216. package/dist/app/src/freshness.d.ts.map +0 -1
  217. package/dist/app/src/freshness.js +0 -14
  218. package/dist/app/src/freshness.js.map +0 -1
  219. package/dist/app/src/router.d.ts +0 -199
  220. package/dist/app/src/router.d.ts.map +0 -1
  221. package/dist/app/src/router.js +0 -273
  222. package/dist/app/src/router.js.map +0 -1
  223. package/dist/app/src/util.d.ts +0 -13
  224. package/dist/app/src/util.d.ts.map +0 -1
  225. package/dist/app/src/util.js +0 -46
  226. package/dist/app/src/util.js.map +0 -1
@@ -1,11 +1,10 @@
1
- import { writable, derived, get } from "svelte/store";
2
- import { fromPairs, TaskQueue, dissoc, identity, uniq, defer, sleep, assoc, } from "@welshman/lib";
1
+ import { writable, get } from "svelte/store";
2
+ import { TaskQueue, ifLet, dissoc, remove, defer, sleep, assoc, spec, nthEq, nth, } from "@welshman/lib";
3
3
  import { stamp, own, hash } from "@welshman/signer";
4
4
  import { isStampedEvent, isOwnedEvent, isHashedEvent, isUnwrappedEvent, isSignedEvent, } from "@welshman/util";
5
- import { MultiPublish, PublishStatus, PublishEvent } from "@welshman/net";
5
+ import { publish, PublishStatus } from "@welshman/net";
6
6
  import { repository, tracker } from "./core.js";
7
7
  import { pubkey, getSession, getSigner } from "./session.js";
8
- const { Pending, Success, Failure, Timeout, Aborted } = PublishStatus;
9
8
  export const prepEvent = (event) => {
10
9
  if (!isStampedEvent(event)) {
11
10
  event = stamp(event);
@@ -18,43 +17,182 @@ export const prepEvent = (event) => {
18
17
  }
19
18
  return event;
20
19
  };
21
- export const makeThunk = (request) => {
22
- const event = prepEvent(request.event);
23
- const controller = new AbortController();
24
- const result = defer();
25
- const status = writable({});
26
- return { event, request, controller, result, status };
27
- };
28
- export const isMergedThunk = (thunk) => Boolean(thunk.thunks);
29
- export const mergeThunks = (thunks) => {
30
- const controller = new AbortController();
31
- controller.signal.addEventListener("abort", () => {
32
- for (const thunk of thunks) {
33
- thunk.controller.abort();
20
+ export class Thunk {
21
+ options;
22
+ _subs = [];
23
+ event;
24
+ result = defer();
25
+ status = {};
26
+ details = {};
27
+ controller = new AbortController();
28
+ constructor(options) {
29
+ this.options = options;
30
+ this.event = prepEvent(options.event);
31
+ for (const relay of options.relays) {
32
+ this.status[relay] = PublishStatus.Sending;
34
33
  }
35
- });
36
- return {
37
- thunks,
38
- controller,
39
- result: Promise.all(thunks.map(thunk => thunk.result)),
40
- status: derived(thunks.map(thunk => thunk.status), statuses => {
41
- const mergedStatus = {};
42
- for (const url of uniq(statuses.flatMap(s => Object.keys(s)))) {
43
- const urlStatuses = statuses.map(s => s[url]);
44
- const thunkStatus = [Aborted, Failure, Timeout, Pending, Success]
45
- .map(status => urlStatuses.find(s => s?.status === status))
46
- .find(identity);
47
- if (thunkStatus) {
48
- mergedStatus[url] = thunkStatus;
49
- }
34
+ }
35
+ _notify() {
36
+ for (const subscriber of this._subs) {
37
+ subscriber(this);
38
+ }
39
+ }
40
+ _fail(message) {
41
+ for (const relay of this.options.relays) {
42
+ this.status[relay] = PublishStatus.Failure;
43
+ this.details[relay] = message;
44
+ }
45
+ this._notify();
46
+ }
47
+ async publish() {
48
+ let event = this.event;
49
+ // Handle abort immediately if possible
50
+ if (this.controller.signal.aborted)
51
+ return;
52
+ // If we were given a wrapped event, make sure to publish the wrapper, not the rumor
53
+ if (isUnwrappedEvent(event)) {
54
+ event = event.wrap;
55
+ }
56
+ // If the event was already signed, leave it alone. Otherwise, sign it now. This is to
57
+ // decrease apparent latency in the UI that results from waiting for remote signers
58
+ if (!isSignedEvent(event)) {
59
+ const signer = getSigner(getSession(event.pubkey));
60
+ if (!signer) {
61
+ return this._fail(`No signer found for ${event.pubkey}`);
62
+ }
63
+ try {
64
+ event = await signer.sign(event);
50
65
  }
51
- return mergedStatus;
52
- }),
53
- };
66
+ catch (e) {
67
+ return this._fail(String(e.error || e));
68
+ }
69
+ }
70
+ // We're guaranteed to have a signed event at this point
71
+ const signedEvent = event;
72
+ // Copy the signature over since we had deferred signing
73
+ ifLet(repository.getEvent(signedEvent.id), savedEvent => {
74
+ savedEvent.sig = signedEvent.sig;
75
+ });
76
+ // Wait if the thunk is to be delayed
77
+ if (this.options.delay) {
78
+ await sleep(this.options.delay);
79
+ }
80
+ // Skip publishing if aborted
81
+ if (this.controller.signal.aborted) {
82
+ return;
83
+ }
84
+ // Send it off
85
+ this.result.resolve(await publish({
86
+ ...this.options,
87
+ event: signedEvent,
88
+ onSuccess: (message, relay) => {
89
+ tracker.track(signedEvent.id, relay);
90
+ this.options.onSuccess?.(message, relay);
91
+ this.status[relay] = PublishStatus.Success;
92
+ this.details[relay] = message;
93
+ this._notify();
94
+ },
95
+ onFailure: (message, relay) => {
96
+ this.options.onFailure?.(message, relay);
97
+ this.status[relay] = PublishStatus.Failure;
98
+ this.details[relay] = message;
99
+ this._notify();
100
+ },
101
+ onPending: (relay) => {
102
+ this.options.onPending?.(relay);
103
+ this.status[relay] = PublishStatus.Pending;
104
+ this._notify();
105
+ },
106
+ onTimeout: (relay) => {
107
+ this.options.onTimeout?.(relay);
108
+ this.status[relay] = PublishStatus.Timeout;
109
+ this.details[relay] = "Publish timed out";
110
+ this._notify();
111
+ },
112
+ onAborted: (relay) => {
113
+ this.options.onAborted?.(relay);
114
+ this.status[relay] = PublishStatus.Aborted;
115
+ this.details[relay] = "Publish was aborted";
116
+ this._notify();
117
+ },
118
+ onComplete: () => {
119
+ this.options.onComplete?.();
120
+ this._subs = [];
121
+ },
122
+ }));
123
+ }
124
+ subscribe(subscriber) {
125
+ this._subs.push(subscriber);
126
+ subscriber(this);
127
+ return () => {
128
+ this._subs = remove(subscriber, this._subs);
129
+ };
130
+ }
131
+ }
132
+ export class MergedThunk {
133
+ thunks;
134
+ _subs = [];
135
+ controller = new AbortController();
136
+ status = {};
137
+ details = {};
138
+ constructor(thunks) {
139
+ this.thunks = thunks;
140
+ const { Aborted, Failure, Timeout, Pending, Success } = PublishStatus;
141
+ const relays = new Set(thunks.flatMap(thunk => Object.keys(thunk.options.relays)));
142
+ for (const thunk of thunks) {
143
+ this.controller.signal.addEventListener("abort", () => thunk.controller.abort());
144
+ thunk.subscribe($thunk => {
145
+ this.status = {};
146
+ this.details = {};
147
+ for (const relay of relays) {
148
+ for (const status of [Aborted, Failure, Timeout, Pending, Success]) {
149
+ const thunk = thunks.find(spec({ [relay]: status }));
150
+ if (thunk) {
151
+ this.status[relay] = thunk.status[relay];
152
+ this.details[relay] = thunk.details[relay];
153
+ }
154
+ }
155
+ }
156
+ this._notify();
157
+ if (thunks.filter(thunkIsComplete).length === thunks.length) {
158
+ this._subs = [];
159
+ }
160
+ });
161
+ }
162
+ }
163
+ _notify() {
164
+ for (const subscriber of this._subs) {
165
+ subscriber(this);
166
+ }
167
+ }
168
+ subscribe(subscriber) {
169
+ this._subs.push(subscriber);
170
+ subscriber(this);
171
+ return () => {
172
+ this._subs = remove(subscriber, this._subs);
173
+ };
174
+ }
175
+ }
176
+ export const isThunk = (thunk) => thunk instanceof Thunk;
177
+ export const isMergedThunk = (thunk) => thunk instanceof MergedThunk;
178
+ export const thunkHasStatus = (thunk, status) => Object.entries(thunk.status).some(nthEq(1, status));
179
+ export const thunkUrlsWithStatus = (thunk, status) => Object.entries(thunk.status).filter(nthEq(1, status)).map(nth(0));
180
+ export const thunkCompleteUrls = (thunk) => {
181
+ const incompleteStatuses = [PublishStatus.Sending, PublishStatus.Pending];
182
+ return Object.entries(thunk.status)
183
+ .filter(([_, s]) => !incompleteStatuses.includes(s))
184
+ .map(nth(1));
54
185
  };
186
+ export const thunkIncompleteUrls = (thunk) => {
187
+ const incompleteStatuses = [PublishStatus.Sending, PublishStatus.Pending];
188
+ return Object.entries(thunk.status)
189
+ .filter(([_, s]) => incompleteStatuses.includes(s))
190
+ .map(nth(1));
191
+ };
192
+ export const thunkIsComplete = (thunk) => thunkCompleteUrls(thunk).length > 0;
55
193
  export function* walkThunks(thunks) {
56
194
  for (const thunk of thunks) {
57
- if (isMergedThunk(thunk)) {
195
+ if (thunk instanceof MergedThunk) {
58
196
  yield* walkThunks(thunk.thunks);
59
197
  }
60
198
  else {
@@ -63,8 +201,14 @@ export function* walkThunks(thunks) {
63
201
  }
64
202
  }
65
203
  export const thunks = writable({});
66
- export const publishThunk = (request) => {
67
- const thunk = makeThunk(request);
204
+ export const thunkQueue = new TaskQueue({
205
+ batchSize: 50,
206
+ processItem: (thunk) => {
207
+ thunk.publish();
208
+ },
209
+ });
210
+ export const publishThunk = (options) => {
211
+ const thunk = new Thunk(options);
68
212
  thunkQueue.push(thunk);
69
213
  repository.publish(thunk.event);
70
214
  thunks.update(assoc(thunk.event.id, thunk));
@@ -73,103 +217,9 @@ export const publishThunk = (request) => {
73
217
  });
74
218
  return thunk;
75
219
  };
76
- export const publishThunks = (requests) => {
77
- const newThunks = requests.map(makeThunk);
78
- const mergedThunk = mergeThunks(newThunks);
79
- for (const thunk of newThunks) {
80
- thunkQueue.push(thunk);
81
- repository.publish(thunk.event);
82
- thunks.update(assoc(thunk.event.id, mergedThunk));
83
- thunk.controller.signal.addEventListener("abort", () => {
84
- repository.removeEvent(thunk.event.id);
85
- });
86
- }
87
- return mergedThunk;
88
- };
89
220
  export const abortThunk = (thunk) => {
90
221
  thunk.controller.abort();
91
222
  thunks.update(dissoc(thunk.event.id));
92
223
  repository.removeEvent(thunk.event.id);
93
224
  };
94
- export const thunkQueue = new TaskQueue({
95
- batchSize: 50,
96
- processItem: (thunk) => {
97
- let event = thunk.event;
98
- // Handle abort immediately if possible
99
- if (thunk.controller.signal.aborted)
100
- return;
101
- // If we were given a wrapped event, make sure to publish the wrapper, not the rumor
102
- if (isUnwrappedEvent(event)) {
103
- event = event.wrap;
104
- }
105
- // Avoid making this function async so multiple publishes can run concurrently
106
- Promise.resolve().then(async () => {
107
- const fail = (message) => {
108
- const status = {};
109
- for (const url of thunk.request.relays) {
110
- status[url] = { status: PublishStatus.Failure, message };
111
- }
112
- thunk.status.set(status);
113
- };
114
- // If the event was already signed, leave it alone. Otherwise, sign it now. This is to
115
- // decrease apparent latency in the UI that results from waiting for remote signers
116
- if (!isSignedEvent(event)) {
117
- const signer = getSigner(getSession(event.pubkey));
118
- if (!signer) {
119
- return fail(`No signer found for ${event.pubkey}`);
120
- }
121
- try {
122
- event = await signer.sign(event);
123
- }
124
- catch (e) {
125
- return fail(String(e.error || e));
126
- }
127
- }
128
- // We're guaranteed to have a signed event at this point
129
- const signedEvent = event;
130
- // Wait if the thunk is to be delayed
131
- if (thunk.request.delay) {
132
- await sleep(thunk.request.delay);
133
- }
134
- // Skip publishing if aborted
135
- if (thunk.controller.signal.aborted) {
136
- return;
137
- }
138
- // Update status to pending
139
- thunk.status.set(fromPairs(thunk.request.relays.map(url => [
140
- url,
141
- { status: PublishStatus.Pending, message: "Sending your message..." },
142
- ])));
143
- // Send it off
144
- const pub = new MultiPublish({
145
- event: signedEvent,
146
- relays: thunk.request.relays,
147
- context: thunk.request.context,
148
- timeout: thunk.request.timeout,
149
- });
150
- // Copy the signature over since we had deferred it
151
- const savedEvent = repository.getEvent(signedEvent.id);
152
- // The event may already be replaced or deleted
153
- if (savedEvent) {
154
- savedEvent.sig = signedEvent.sig;
155
- }
156
- pub.on(PublishEvent.Success, (id, message, url) => {
157
- tracker.track(id, url);
158
- thunk.status.update(assoc(url, { status: PublishStatus.Success, message }));
159
- });
160
- pub.on(PublishEvent.Failure, (id, message, url) => {
161
- thunk.status.update(assoc(url, { status: PublishStatus.Failure, message }));
162
- });
163
- pub.on(PublishEvent.Timeout, (url) => {
164
- thunk.status.update(assoc(url, { status: PublishStatus.Timeout, message: "Publish timed out" }));
165
- });
166
- pub.on(PublishEvent.Aborted, (url) => {
167
- thunk.status.update(assoc(url, { status: PublishStatus.Aborted, message: "Publish was aborted" }));
168
- });
169
- pub.on(PublishEvent.Complete, () => {
170
- thunk.result.resolve(get(thunk.status));
171
- });
172
- });
173
- },
174
- });
175
225
  //# sourceMappingURL=thunk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"thunk.js","sourceRoot":"","sources":["../../../src/thunk.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"thunk.js","sourceRoot":"","sources":["../../../src/thunk.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,15 @@
1
- export declare const userProfile: import("svelte/store").Readable<import("@welshman/util").PublishedProfile | undefined>;
2
- export declare const userFollows: import("svelte/store").Readable<import("@welshman/util").PublishedList | undefined>;
3
- export declare const userMutes: import("svelte/store").Readable<import("@welshman/util").PublishedList | undefined>;
4
- export declare const userPins: import("svelte/store").Readable<import("@welshman/util").PublishedList | undefined>;
5
- export declare const userRelaySelections: import("svelte/store").Readable<import("@welshman/util").PublishedList | undefined>;
6
- export declare const userInboxRelaySelections: import("svelte/store").Readable<import("@welshman/util").PublishedList | undefined>;
1
+ import { Readable } from "svelte/store";
2
+ export type MakeUserDataOptions<T> = {
3
+ mapStore: Readable<Map<string, T>>;
4
+ loadItem: (pubkey: string) => unknown;
5
+ };
6
+ export declare const userProfile: import("@welshman/store").ReadableWithGetter<import("@welshman/util").PublishedProfile | undefined>;
7
+ export declare const userFollows: import("@welshman/store").ReadableWithGetter<import("@welshman/util").PublishedList | undefined>;
8
+ export declare const userMutes: import("@welshman/store").ReadableWithGetter<import("@welshman/util").PublishedList | undefined>;
9
+ export declare const userPins: import("@welshman/store").ReadableWithGetter<import("@welshman/util").PublishedList | undefined>;
10
+ export declare const userRelaySelections: import("@welshman/store").ReadableWithGetter<import("@welshman/util").PublishedList | undefined>;
11
+ export declare const userInboxRelaySelections: import("@welshman/store").ReadableWithGetter<import("@welshman/util").PublishedList | undefined>;
12
+ export declare const userBlossomServers: import("@welshman/store").ReadableWithGetter<import("@welshman/util").PublishedList | undefined>;
7
13
  export declare const getUserWotScore: (tpk: string) => number;
8
- export declare const deriveUserWotScore: (tpk: string) => import("svelte/store").Readable<number>;
14
+ export declare const deriveUserWotScore: (tpk: string) => Readable<number>;
9
15
  //# sourceMappingURL=user.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../../src/user.ts"],"names":[],"mappings":"AAcA,eAAO,MAAM,WAAW,wFAMtB,CAAA;AAEF,eAAO,MAAM,WAAW,qFAMtB,CAAA;AAEF,eAAO,MAAM,SAAS,qFAMpB,CAAA;AAEF,eAAO,MAAM,QAAQ,qFAKnB,CAAA;AAEF,eAAO,MAAM,mBAAmB,qFAS/B,CAAA;AAED,eAAO,MAAM,wBAAwB,qFASpC,CAAA;AAED,eAAO,MAAM,eAAe,GAAI,KAAK,MAAM,WAAiC,CAAA;AAE5E,eAAO,MAAM,kBAAkB,GAAI,KAAK,MAAM,4CAA8C,CAAA"}
1
+ {"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../../src/user.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,QAAQ,EAAC,MAAM,cAAc,CAAA;AAgB9C,MAAM,MAAM,mBAAmB,CAAC,CAAC,IAAI;IACnC,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAA;IAClC,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAA;CACtC,CAAA;AAaD,eAAO,MAAM,WAAW,qGAGtB,CAAA;AAEF,eAAO,MAAM,WAAW,kGAGtB,CAAA;AAEF,eAAO,MAAM,SAAS,kGAGpB,CAAA;AAEF,eAAO,MAAM,QAAQ,kGAGnB,CAAA;AAEF,eAAO,MAAM,mBAAmB,kGAG9B,CAAA;AAEF,eAAO,MAAM,wBAAwB,kGAGnC,CAAA;AAEF,eAAO,MAAM,kBAAkB,kGAG7B,CAAA;AAEF,eAAO,MAAM,eAAe,GAAI,KAAK,MAAM,WAAiC,CAAA;AAE5E,eAAO,MAAM,kBAAkB,GAAI,KAAK,MAAM,qBAA8C,CAAA"}
@@ -1,46 +1,46 @@
1
1
  import { derived } from "svelte/store";
2
+ import { withGetter } from "@welshman/store";
2
3
  import { pubkey } from "./session.js";
3
4
  import { profilesByPubkey, loadProfile } from "./profiles.js";
4
5
  import { followsByPubkey, loadFollows } from "./follows.js";
5
6
  import { loadPins, pinsByPubkey } from "./pins.js";
6
7
  import { mutesByPubkey, loadMutes } from "./mutes.js";
8
+ import { blossomServersByPubkey, loadBlossomServers } from "./blossom.js";
7
9
  import { relaySelectionsByPubkey, inboxRelaySelectionsByPubkey, loadRelaySelections, loadInboxRelaySelections, } from "./relaySelections.js";
8
10
  import { wotGraph } from "./wot.js";
9
- export const userProfile = derived([profilesByPubkey, pubkey], ([$profilesByPubkey, $pubkey]) => {
11
+ const makeUserData = ({ mapStore, loadItem }) => withGetter(derived([mapStore, pubkey], ([$mapStore, $pubkey]) => {
10
12
  if (!$pubkey)
11
13
  return undefined;
12
- loadProfile($pubkey);
13
- return $profilesByPubkey.get($pubkey);
14
+ loadItem($pubkey);
15
+ return $mapStore.get($pubkey);
16
+ }));
17
+ export const userProfile = makeUserData({
18
+ mapStore: profilesByPubkey,
19
+ loadItem: loadProfile,
14
20
  });
15
- export const userFollows = derived([followsByPubkey, pubkey], ([$followsByPubkey, $pubkey]) => {
16
- if (!$pubkey)
17
- return undefined;
18
- loadFollows($pubkey);
19
- return $followsByPubkey.get($pubkey);
21
+ export const userFollows = makeUserData({
22
+ mapStore: followsByPubkey,
23
+ loadItem: loadFollows,
20
24
  });
21
- export const userMutes = derived([mutesByPubkey, pubkey], ([$mutesByPubkey, $pubkey]) => {
22
- if (!$pubkey)
23
- return undefined;
24
- loadMutes($pubkey);
25
- return $mutesByPubkey.get($pubkey);
25
+ export const userMutes = makeUserData({
26
+ mapStore: mutesByPubkey,
27
+ loadItem: loadMutes,
26
28
  });
27
- export const userPins = derived([pinsByPubkey, pubkey], ([$pinsByPubkey, $pubkey]) => {
28
- if (!$pubkey)
29
- return undefined;
30
- loadPins($pubkey);
31
- return $pinsByPubkey.get($pubkey);
29
+ export const userPins = makeUserData({
30
+ mapStore: pinsByPubkey,
31
+ loadItem: loadPins,
32
32
  });
33
- export const userRelaySelections = derived([relaySelectionsByPubkey, pubkey], ([$relaySelectionsByPubkey, $pubkey]) => {
34
- if (!$pubkey)
35
- return undefined;
36
- loadRelaySelections($pubkey);
37
- return $relaySelectionsByPubkey.get($pubkey);
33
+ export const userRelaySelections = makeUserData({
34
+ mapStore: relaySelectionsByPubkey,
35
+ loadItem: loadRelaySelections,
38
36
  });
39
- export const userInboxRelaySelections = derived([inboxRelaySelectionsByPubkey, pubkey], ([$inboxRelaySelectionsByPubkey, $pubkey]) => {
40
- if (!$pubkey)
41
- return undefined;
42
- loadInboxRelaySelections($pubkey);
43
- return $inboxRelaySelectionsByPubkey.get($pubkey);
37
+ export const userInboxRelaySelections = makeUserData({
38
+ mapStore: inboxRelaySelectionsByPubkey,
39
+ loadItem: loadInboxRelaySelections,
40
+ });
41
+ export const userBlossomServers = makeUserData({
42
+ mapStore: blossomServersByPubkey,
43
+ loadItem: loadBlossomServers,
44
44
  });
45
45
  export const getUserWotScore = (tpk) => wotGraph.get().get(tpk) || 0;
46
46
  export const deriveUserWotScore = (tpk) => derived(wotGraph, $g => $g.get(tpk) || 0);
@@ -1 +1 @@
1
- {"version":3,"file":"user.js","sourceRoot":"","sources":["../../../src/user.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"user.js","sourceRoot":"","sources":["../../../src/user.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAW,MAAM,cAAc,CAAA;AAC9C,OAAO,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAA;AAC1C,OAAO,EAAC,MAAM,EAAC,MAAM,cAAc,CAAA;AACnC,OAAO,EAAC,gBAAgB,EAAE,WAAW,EAAC,MAAM,eAAe,CAAA;AAC3D,OAAO,EAAC,eAAe,EAAE,WAAW,EAAC,MAAM,cAAc,CAAA;AACzD,OAAO,EAAC,QAAQ,EAAE,YAAY,EAAC,MAAM,WAAW,CAAA;AAChD,OAAO,EAAC,aAAa,EAAE,SAAS,EAAC,MAAM,YAAY,CAAA;AACnD,OAAO,EAAC,sBAAsB,EAAE,kBAAkB,EAAC,MAAM,cAAc,CAAA;AACvE,OAAO,EACL,uBAAuB,EACvB,4BAA4B,EAC5B,mBAAmB,EACnB,wBAAwB,GACzB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAC,QAAQ,EAAC,MAAM,UAAU,CAAA;AAOjC,MAAM,YAAY,GAAG,CAAI,EAAC,QAAQ,EAAE,QAAQ,EAAyB,EAAE,EAAE,CACvE,UAAU,CACR,OAAO,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE;IACnD,IAAI,CAAC,OAAO;QAAE,OAAO,SAAS,CAAA;IAE9B,QAAQ,CAAC,OAAO,CAAC,CAAA;IAEjB,OAAO,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;AAC/B,CAAC,CAAC,CACH,CAAA;AAEH,MAAM,CAAC,MAAM,WAAW,GAAG,YAAY,CAAC;IACtC,QAAQ,EAAE,gBAAgB;IAC1B,QAAQ,EAAE,WAAW;CACtB,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,YAAY,CAAC;IACtC,QAAQ,EAAE,eAAe;IACzB,QAAQ,EAAE,WAAW;CACtB,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC;IACpC,QAAQ,EAAE,aAAa;IACvB,QAAQ,EAAE,SAAS;CACpB,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAG,YAAY,CAAC;IACnC,QAAQ,EAAE,YAAY;IACtB,QAAQ,EAAE,QAAQ;CACnB,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,YAAY,CAAC;IAC9C,QAAQ,EAAE,uBAAuB;IACjC,QAAQ,EAAE,mBAAmB;CAC9B,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAG,YAAY,CAAC;IACnD,QAAQ,EAAE,4BAA4B;IACtC,QAAQ,EAAE,wBAAwB;CACnC,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,YAAY,CAAC;IAC7C,QAAQ,EAAE,sBAAsB;IAChC,QAAQ,EAAE,kBAAkB;CAC7B,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;AAE5E,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAA"}
@@ -1,6 +1,6 @@
1
1
  import { writable, derived } from "svelte/store";
2
2
  import { identity, fetchJson, uniq, bech32ToHex, hexToBech32, tryCatch, batcher, postJson, } from "@welshman/lib";
3
- import { collection } from "./collection.js";
3
+ import { collection } from "@welshman/store";
4
4
  import { deriveProfile } from "./profiles.js";
5
5
  import { appContext } from "./context.js";
6
6
  export const zappers = writable([]);
@@ -1 +1 @@
1
- {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../../dvm/src/handler.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,WAAW,EAAC,MAAM,kBAAkB,CAAA;AAC5C,OAAO,EAAC,YAAY,EAAE,YAAY,EAAS,MAAM,gBAAgB,CAAA;AACjE,OAAO,EAAyD,cAAc,EAAC,MAAM,eAAe,CAAA;AAEpG,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,CAAC,EAAE,MAAM,IAAI,CAAA;IACjB,WAAW,EAAE,CAAC,CAAC,EAAE,YAAY,KAAK,cAAc,CAAC,YAAY,CAAC,CAAA;CAC/D,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG,CAAC,GAAG,EAAE,GAAG,KAAK,UAAU,CAAA;AAEvD,MAAM,MAAM,OAAO,GAAG;IACpB,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAA;IAC1C,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,OAAO,CAAC,EAAE,cAAc,CAAA;CACzB,CAAA;AAED,qBAAa,GAAG;IAOF,QAAQ,CAAC,IAAI,EAAE,OAAO;IANlC,MAAM,UAAQ;IACd,SAAS,UAAQ;IACjB,IAAI,eAAY;IAChB,QAAQ,gBAAY;IACpB,MAAM,EAAE,WAAW,CAAA;gBAEE,IAAI,EAAE,OAAO;IAQ5B,KAAK;IAwBX,IAAI;IAQE,OAAO,CAAC,OAAO,EAAE,YAAY;IA6C7B,OAAO,CAAC,QAAQ,EAAE,YAAY;CAQrC"}
1
+ {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../../dvm/src/handler.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,WAAW,EAAC,MAAM,kBAAkB,CAAA;AAC5C,OAAO,EAAC,YAAY,EAAE,YAAY,EAAS,MAAM,gBAAgB,CAAA;AACjE,OAAO,EAAmB,cAAc,EAAC,MAAM,eAAe,CAAA;AAE9D,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,CAAC,EAAE,MAAM,IAAI,CAAA;IACjB,WAAW,EAAE,CAAC,CAAC,EAAE,YAAY,KAAK,cAAc,CAAC,YAAY,CAAC,CAAA;CAC/D,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG,CAAC,GAAG,EAAE,GAAG,KAAK,UAAU,CAAA;AAEvD,MAAM,MAAM,OAAO,GAAG;IACpB,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAA;IAC1C,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,OAAO,CAAC,EAAE,cAAc,CAAA;CACzB,CAAA;AAED,qBAAa,GAAG;IAOF,QAAQ,CAAC,IAAI,EAAE,OAAO;IANlC,MAAM,UAAQ;IACd,SAAS,UAAQ;IACjB,IAAI,eAAY;IAChB,QAAQ,gBAAY;IACpB,MAAM,EAAE,WAAW,CAAA;gBAEE,IAAI,EAAE,OAAO;IAQ5B,KAAK;IA2BX,IAAI;IAQE,OAAO,CAAC,OAAO,EAAE,YAAY;IA6C7B,OAAO,CAAC,QAAQ,EAAE,YAAY;CAMrC"}
@@ -1,6 +1,6 @@
1
1
  import { now } from "@welshman/lib";
2
2
  import { Nip01Signer } from "@welshman/signer";
3
- import { MultiRequest, MultiPublish, PublishEvent, RequestEvent } from "@welshman/net";
3
+ import { request, publish } from "@welshman/net";
4
4
  export class DVM {
5
5
  opts;
6
6
  active = false;
@@ -27,9 +27,13 @@ export class DVM {
27
27
  if (requireMention) {
28
28
  filter["#p"] = [pubkey];
29
29
  }
30
- const req = new MultiRequest({ relays, filters: [filter], context });
31
- req.on(RequestEvent.Event, this.onEvent);
32
- req.on(RequestEvent.Close, resolve);
30
+ request({
31
+ relays,
32
+ filters: [filter],
33
+ context,
34
+ onClose: resolve,
35
+ onEvent: this.onEvent,
36
+ });
33
37
  });
34
38
  }
35
39
  }
@@ -74,9 +78,7 @@ export class DVM {
74
78
  async publish(template) {
75
79
  const { relays, context } = this.opts;
76
80
  const event = await this.signer.sign(template);
77
- await new Promise(resolve => {
78
- new MultiPublish({ event, relays, context }).on(PublishEvent.Complete, resolve);
79
- });
81
+ await publish({ event, relays, context });
80
82
  }
81
83
  }
82
84
  //# sourceMappingURL=handler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../../dvm/src/handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../../dvm/src/handler.ts"],"names":[],"mappings":"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"}