on master help sign in
Simplify code and improve type safety: introduce AuthResult/PruneResult types, replace helper functions with cleaner patterns
06f6fcciko
client/ApiClient.fs+7−6
@@ -8,6 +8,8 @@ open System.Threading.Tasks
8
8
9module ApiClient =
9module ApiClient =
10
10
11+ type PollEvent = { Id: string; EventType: string; Payload: JsonElement }
12+
11 /// Awaits a Task without converting TaskCanceledException to F# async
13 /// Awaits a Task without converting TaskCanceledException to F# async
12 /// cancellation (which bypasses try...with). Re-raises it as a regular exception.
14 /// cancellation (which bypasses try...with). Re-raises it as a regular exception.
13 let private awaitTask (t: Task<'T>) : Async<'T> =
15 let private awaitTask (t: Task<'T>) : Async<'T> =
@@ -109,10 +111,10 @@ module ApiClient =
109 let events =
111 let events =
110 [ for e in events.EnumerateArray() do
112 [ for e in events.EnumerateArray() do
111 if e.ValueKind = JsonValueKind.Object then
113 if e.ValueKind = JsonValueKind.Object then
112− let id = e.GetProperty("id").GetString()
114+ yield
113− let evtType = e.GetProperty("eventType").GetString()
115+ { Id = e.GetProperty("id").GetString()
114− let payload = e.GetProperty("payload")
116+ EventType = e.GetProperty("eventType").GetString()
115− yield (id, evtType, payload) ]
117+ Payload = e.GetProperty("payload") } ]
116
118
117 return (events, cursor)
119 return (events, cursor)
118 }
120 }
@@ -123,6 +125,5 @@ module ApiClient =
123 messageIds |> List.map (fun id -> $"\"{id}\"") |> String.concat ", "
125 messageIds |> List.map (fun id -> $"\"{id}\"") |> String.concat ", "
124
126
125 let body = $"""{{ "messageIds": [{idsJson}] }}"""
127 let body = $"""{{ "messageIds": [{idsJson}] }}"""
126− let! _ = postJson $"{serverUrl}/messages/ack" body (Some token)
128+ do! postJson $"{serverUrl}/messages/ack" body (Some token) |> Async.Ignore
127− return ()
128 }
129 }
client/App.fs+13−18
@@ -34,7 +34,7 @@ module App =
34 | AddContact
34 | AddContact
35 | Settings
35 | Settings
36
36
37− type Identity = { PrivKey: byte[]; PubKeyHex: string }
37+ type Identity = Crypto.Identity
38
38
39 type Session = { Url: string; Token: string; Identity: Identity }
39 type Session = { Url: string; Token: string; Identity: Identity }
40
40
@@ -82,7 +82,7 @@ module App =
82 | DoPoll
82 | DoPoll
83 | CopyPubKey
83 | CopyPubKey
84 | DismissError
84 | DismissError
85− | StateLoaded of identity: (byte[] * string) option * data: Store.DataDto option
85+ | StateLoaded of Identity option * Store.DataDto option
86
86
87 // ── CmdMsg ──
87 // ── CmdMsg ──
88
88
@@ -93,7 +93,7 @@ module App =
93 | CmdPoll of session: Session * cursor: uint64
93 | CmdPoll of session: Session * cursor: uint64
94 | CmdCopyToClipboard of string
94 | CmdCopyToClipboard of string
95 | CmdLoadState
95 | CmdLoadState
96− | CmdSaveIdentity of privKey: byte[] * pubKeyHex: string
96+ | CmdSaveIdentity of Identity
97 | CmdSaveData of contacts: Contact list * messages: Map<string, ChatMessage list> * serverUrl: string * cursor: uint64
97 | CmdSaveData of contacts: Contact list * messages: Map<string, ChatMessage list> * serverUrl: string * cursor: uint64
98
98
99 // ── Helpers ──
99 // ── Helpers ──
@@ -159,7 +159,7 @@ module App =
159
159
160 | IdentityReady identity ->
160 | IdentityReady identity ->
161 { model with Identity = Some identity; Page = Settings },
161 { model with Identity = Some identity; Page = Settings },
162− [ CmdSaveIdentity(identity.PrivKey, identity.PubKeyHex) ]
162+ [ CmdSaveIdentity identity ]
163
163
164 | SetServerUrl url -> { model with ServerUrl = url }, []
164 | SetServerUrl url -> { model with ServerUrl = url }, []
165
165
@@ -276,9 +276,7 @@ module App =
276 | StateLoaded(identityOpt, dataOpt) ->
276 | StateLoaded(identityOpt, dataOpt) ->
277 match identityOpt with
277 match identityOpt with
278 | None -> model, []
278 | None -> model, []
279− | Some(privKey, pubKeyHex) ->
279+ | Some identity ->
280− let identity = { PrivKey = privKey; PubKeyHex = pubKeyHex }
281−
282 let model' =
280 let model' =
283 match dataOpt with
281 match dataOpt with
284 | Some data ->
282 | Some data ->
@@ -361,10 +359,7 @@ module App =
361 let mapCmd cmdMsg =
359 let mapCmd cmdMsg =
362 match cmdMsg with
360 match cmdMsg with
363 | CmdGenIdentity ->
361 | CmdGenIdentity ->
364− asyncCmd (async {
365− let priv, pub = Crypto.generateIdentity ()
366− return IdentityReady { PrivKey = priv; PubKeyHex = Crypto.toHex pub }
362+ asyncCmd (async { return IdentityReady(Crypto.generateIdentity ()) })
367− })
368
363
369 | CmdConnect(url, identity) ->
364 | CmdConnect(url, identity) ->
370 asyncCmd (async {
365 asyncCmd (async {
@@ -384,7 +379,7 @@ module App =
384 | CmdSend(session, recipientHex, text, messageId) ->
379 | CmdSend(session, recipientHex, text, messageId) ->
385 asyncCmd (async {
380 asyncCmd (async {
386 try
381 try
387− let pubKey = session.Identity.PrivKey.[32..63]
382+ let pubKey = Crypto.fromHex session.Identity.PubKeyHex
388 let recipPub = Crypto.fromHex recipientHex
383 let recipPub = Crypto.fromHex recipientHex
389 let ts = DateTimeOffset.UtcNow.ToUnixTimeSeconds()
384 let ts = DateTimeOffset.UtcNow.ToUnixTimeSeconds()
390
385
@@ -405,11 +400,11 @@ module App =
405 let! (events, newCursor) = ApiClient.poll session.Url session.Token cursor
400 let! (events, newCursor) = ApiClient.poll session.Url session.Token cursor
406 let messages, ackIds, errors =
401 let messages, ackIds, errors =
407 events
402 events
408− |> List.fold (fun (msgs, acks, errs) (evtId, evtType, payload) ->
403+ |> List.fold (fun (msgs, acks, errs) evt ->
409− if evtType <> "message" then (msgs, acks, errs)
404+ if evt.EventType <> "message" then (msgs, acks, errs)
410 else
405 else
411− match decryptEvent session.Identity.PrivKey payload with
406+ match decryptEvent session.Identity.PrivKey evt.Payload with
412− | Ok msg -> (msg :: msgs, evtId :: acks, errs)
407+ | Ok msg -> (msg :: msgs, evt.Id :: acks, errs)
413 | Error err -> (msgs, acks, err :: errs))
408 | Error err -> (msgs, acks, err :: errs))
414 ([], [], [])
409 ([], [], [])
415
410
@@ -444,8 +439,8 @@ module App =
444 return StateLoaded(identity, data)
439 return StateLoaded(identity, data)
445 })
440 })
446
441
447− | CmdSaveIdentity(privKey, pubKeyHex) ->
442+ | CmdSaveIdentity identity ->
448− Cmd.ofEffect (fun _ -> Store.saveIdentity privKey pubKeyHex |> ignore)
443+ Cmd.ofEffect (fun _ -> Store.saveIdentity identity |> ignore)
449
444
450 | CmdSaveData(contacts, messages, serverUrl, cursor) ->
445 | CmdSaveData(contacts, messages, serverUrl, cursor) ->
451 Cmd.ofEffect (fun _ ->
446 Cmd.ofEffect (fun _ ->
client/Crypto.fs+4−2
@@ -7,15 +7,17 @@ open Sodium
7
7
8module Crypto =
8module Crypto =
9
9
10+ type Identity = { PrivKey: byte[]; PubKeyHex: string }
11+
10 let toHex (bytes: byte[]) : string =
12 let toHex (bytes: byte[]) : string =
11 Convert.ToHexString(bytes).ToLowerInvariant()
13 Convert.ToHexString(bytes).ToLowerInvariant()
12
14
13 let fromHex (hex: string) : byte[] =
15 let fromHex (hex: string) : byte[] =
14 Convert.FromHexString(hex)
16 Convert.FromHexString(hex)
15
17
16− let generateIdentity () : byte[] * byte[] =
18+ let generateIdentity () : Identity =
17 let kp = PublicKeyAuth.GenerateKeyPair()
19 let kp = PublicKeyAuth.GenerateKeyPair()
18− (kp.PrivateKey, kp.PublicKey)
20+ { PrivKey = kp.PrivateKey; PubKeyHex = toHex kp.PublicKey }
19
21
20 let signChallenge (privKey: byte[]) (challenge: string) : string =
22 let signChallenge (privKey: byte[]) (challenge: string) : string =
21 let message = Encoding.UTF8.GetBytes(challenge)
23 let message = Encoding.UTF8.GetBytes(challenge)
client/Store.fs+10−19
@@ -46,13 +46,16 @@ module Store =
46 if isNull privKeyB64 || isNull pubKeyHex then
46 if isNull privKeyB64 || isNull pubKeyHex then
47 return None
47 return None
48 else
48 else
49+ return
50+ Some
49− return Some(Convert.FromBase64String privKeyB64, pubKeyHex)
51+ { Crypto.Identity.PrivKey = Convert.FromBase64String privKeyB64
52+ PubKeyHex = pubKeyHex }
50 }
53 }
51
54
52− let saveIdentity (privKey: byte[]) (pubKeyHex: string) =
55+ let saveIdentity (identity: Crypto.Identity) =
53 task {
56 task {
54− do! SecureStorage.Default.SetAsync("identity_privkey", Convert.ToBase64String privKey)
57+ do! SecureStorage.Default.SetAsync("identity_privkey", Convert.ToBase64String identity.PrivKey)
55− do! SecureStorage.Default.SetAsync("identity_pubkey", pubKeyHex)
58+ do! SecureStorage.Default.SetAsync("identity_pubkey", identity.PubKeyHex)
56 }
59 }
57
60
58 let loadData () =
61 let loadData () =
@@ -64,21 +67,9 @@ module Store =
64 let dto = JsonSerializer.Deserialize<DataDto>(json, jsonOpts)
67 let dto = JsonSerializer.Deserialize<DataDto>(json, jsonOpts)
65
68
66 Some
69 Some
67− { Contacts =
70+ { Contacts = if isNull dto.Contacts then [||] else dto.Contacts
68− if Object.ReferenceEquals(dto.Contacts, null) then
71+ Messages = if isNull dto.Messages then Dictionary() else dto.Messages
69− [||]
72+ ServerUrl = if isNull dto.ServerUrl then "" else dto.ServerUrl
70− else
71− dto.Contacts
72− Messages =
73− if Object.ReferenceEquals(dto.Messages, null) then
74− Dictionary()
75− else
76− dto.Messages
77− ServerUrl =
78− if Object.ReferenceEquals(dto.ServerUrl, null) then
79− ""
80− else
81− dto.ServerUrl
82 PollCursor = dto.PollCursor }
73 PollCursor = dto.PollCursor }
83 with _ ->
74 with _ ->
84 None
75 None
client/bin/Debug/net10.0-ios/iossimulator-arm64/Skrepka.app/Skrepka.dll

Binary file not shown.

client/bin/Debug/net10.0-ios/iossimulator-arm64/Skrepka.app/Skrepka.pdb

Binary file not shown.

client/bin/Debug/net10.0-ios/iossimulator-arm64/Skrepka.app/_CodeSignature/CodeResources+4−4
@@ -162,11 +162,11 @@
162 </data>
162 </data>
163 <key>Skrepka.dll</key>
163 <key>Skrepka.dll</key>
164 <data>
164 <data>
165− w0DNyNBaWuiqu3JZ6IK1CiXdyds=
165+ rK3Q2GMAAOH7mw6whUQMTQM2Dl0=
166 </data>
166 </data>
167 <key>Skrepka.pdb</key>
167 <key>Skrepka.pdb</key>
168 <data>
168 <data>
169− hNL2aGSgObSukvwWpEaqXFxLTBo=
169+ qSfttE+LsqZyzZqy4ce53JCfLw0=
170 </data>
170 </data>
171 <key>Sodium.Core.dll</key>
171 <key>Sodium.Core.dll</key>
172 <data>
172 <data>
@@ -1382,14 +1382,14 @@
1382 <dict>
1382 <dict>
1383 <key>hash2</key>
1383 <key>hash2</key>
1384 <data>
1384 <data>
1385− yNVPEWWcGVOLcPWRCJjH6KBfR5tg8HAAMmICMYmZsjw=
1385+ bmz/8C04/LrxBHwBSYggqDMl+SC4akk35Fz+PlhLyBQ=
1386 </data>
1386 </data>
1387 </dict>
1387 </dict>
1388 <key>Skrepka.pdb</key>
1388 <key>Skrepka.pdb</key>
1389 <dict>
1389 <dict>
1390 <key>hash2</key>
1390 <key>hash2</key>
1391 <data>
1391 <data>
1392− MgZLilBsY5Eg6Pq6+oq50VZhoEZaSvPWBs2XmbQDLbU=
1392+ 8Lkk+eXjqar1/r6qqdn1V+eKUjcsUgk3DaMRqXBaJv4=
1393 </data>
1393 </data>
1394 </dict>
1394 </dict>
1395 <key>Sodium.Core.dll</key>
1395 <key>Sodium.Core.dll</key>
client/bin/Debug/net10.0-ios/iossimulator-arm64/Skrepka.dll

Binary file not shown.

client/bin/Debug/net10.0-ios/iossimulator-arm64/Skrepka.pdb

Binary file not shown.

client/bin/Debug/net10.0-maccatalyst/maccatalyst-arm64/Skrepka.app/Contents/MonoBundle/Skrepka.dll

Binary file not shown.

client/bin/Debug/net10.0-maccatalyst/maccatalyst-arm64/Skrepka.app/Contents/MonoBundle/Skrepka.pdb

Binary file not shown.

client/bin/Debug/net10.0-maccatalyst/maccatalyst-arm64/Skrepka.app/Contents/_CodeSignature/CodeResources+2−2
@@ -240,14 +240,14 @@
240 <dict>
240 <dict>
241 <key>hash2</key>
241 <key>hash2</key>
242 <data>
242 <data>
243− /uLW7Tc9NVMGFfD1b32rCguDE4br7LeNsm+PES0pAks=
243+ LkDCh+ubGunFcjz8qWzXW1tjdiCj2lBbmxoT8W7C5NM=
244 </data>
244 </data>
245 </dict>
245 </dict>
246 <key>MonoBundle/Skrepka.pdb</key>
246 <key>MonoBundle/Skrepka.pdb</key>
247 <dict>
247 <dict>
248 <key>hash2</key>
248 <key>hash2</key>
249 <data>
249 <data>
250− qfBPe8FloTdTl+WOYlEwzh8tv0jPIazccIUsJqaDSNE=
250+ e7kwgHJk6BV6whbuyHSB3JGotK3DZoiv9GVZ8KeDhuY=
251 </data>
251 </data>
252 </dict>
252 </dict>
253 <key>MonoBundle/Sodium.Core.dll</key>
253 <key>MonoBundle/Sodium.Core.dll</key>
client/bin/Debug/net10.0-maccatalyst/maccatalyst-arm64/Skrepka.dll

Binary file not shown.

client/bin/Debug/net10.0-maccatalyst/maccatalyst-arm64/Skrepka.pdb

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/Skrepka.dll

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/Skrepka.fsproj.FileListAbsolute.txt−22
@@ -333,25 +333,3 @@
333/Users/iko/Developer/skrepka/client/obj/Debug/net10.0-ios/iossimulator-arm64/Skrepka.pdb
333/Users/iko/Developer/skrepka/client/obj/Debug/net10.0-ios/iossimulator-arm64/Skrepka.pdb
334/Users/iko/Developer/skrepka/client/obj/Debug/net10.0-ios/iossimulator-arm64/Skrepka.genruntimeconfig.cache
334/Users/iko/Developer/skrepka/client/obj/Debug/net10.0-ios/iossimulator-arm64/Skrepka.genruntimeconfig.cache
335/Users/iko/Developer/skrepka/client/obj/Debug/net10.0-ios/iossimulator-arm64/ref/Skrepka.dll
335/Users/iko/Developer/skrepka/client/obj/Debug/net10.0-ios/iossimulator-arm64/ref/Skrepka.dll
336−/Users/iko/Developer/skrepka/client/obj/Debug/net10.0-ios/iossimulator-arm64/resourcestamps/Fabulous.stamp
337−/Users/iko/Developer/skrepka/client/obj/Debug/net10.0-ios/iossimulator-arm64/resourcestamps/Fabulous.MauiControls.stamp
338−/Users/iko/Developer/skrepka/client/obj/Debug/net10.0-ios/iossimulator-arm64/resourcestamps/FSharp.Core.stamp
339−/Users/iko/Developer/skrepka/client/obj/Debug/net10.0-ios/iossimulator-arm64/resourcestamps/Microsoft.Extensions.Configuration.Abstractions.stamp
340−/Users/iko/Developer/skrepka/client/obj/Debug/net10.0-ios/iossimulator-arm64/resourcestamps/Microsoft.Extensions.Configuration.stamp
341−/Users/iko/Developer/skrepka/client/obj/Debug/net10.0-ios/iossimulator-arm64/resourcestamps/Microsoft.Extensions.DependencyInjection.Abstractions.stamp
342−/Users/iko/Developer/skrepka/client/obj/Debug/net10.0-ios/iossimulator-arm64/resourcestamps/Microsoft.Extensions.DependencyInjection.stamp
343−/Users/iko/Developer/skrepka/client/obj/Debug/net10.0-ios/iossimulator-arm64/resourcestamps/Microsoft.Extensions.Diagnostics.Abstractions.stamp
344−/Users/iko/Developer/skrepka/client/obj/Debug/net10.0-ios/iossimulator-arm64/resourcestamps/Microsoft.Extensions.FileProviders.Abstractions.stamp
345−/Users/iko/Developer/skrepka/client/obj/Debug/net10.0-ios/iossimulator-arm64/resourcestamps/Microsoft.Extensions.Hosting.Abstractions.stamp
346−/Users/iko/Developer/skrepka/client/obj/Debug/net10.0-ios/iossimulator-arm64/resourcestamps/Microsoft.Extensions.Logging.Abstractions.stamp
347−/Users/iko/Developer/skrepka/client/obj/Debug/net10.0-ios/iossimulator-arm64/resourcestamps/Microsoft.Extensions.Logging.stamp
348−/Users/iko/Developer/skrepka/client/obj/Debug/net10.0-ios/iossimulator-arm64/resourcestamps/Microsoft.Extensions.Options.stamp
349−/Users/iko/Developer/skrepka/client/obj/Debug/net10.0-ios/iossimulator-arm64/resourcestamps/Microsoft.Extensions.Primitives.stamp
350−/Users/iko/Developer/skrepka/client/obj/Debug/net10.0-ios/iossimulator-arm64/resourcestamps/Microsoft.Maui.Controls.Compatibility.stamp
351−/Users/iko/Developer/skrepka/client/obj/Debug/net10.0-ios/iossimulator-arm64/resourcestamps/Microsoft.Maui.Controls.stamp
352−/Users/iko/Developer/skrepka/client/obj/Debug/net10.0-ios/iossimulator-arm64/resourcestamps/Microsoft.Maui.Controls.Xaml.stamp
353−/Users/iko/Developer/skrepka/client/obj/Debug/net10.0-ios/iossimulator-arm64/resourcestamps/Microsoft.Maui.stamp
354−/Users/iko/Developer/skrepka/client/obj/Debug/net10.0-ios/iossimulator-arm64/resourcestamps/Microsoft.Maui.Essentials.stamp
355−/Users/iko/Developer/skrepka/client/obj/Debug/net10.0-ios/iossimulator-arm64/resourcestamps/Microsoft.Maui.Graphics.stamp
356−/Users/iko/Developer/skrepka/client/obj/Debug/net10.0-ios/iossimulator-arm64/resourcestamps/Sodium.Core.stamp
357−/Users/iko/Developer/skrepka/client/obj/Debug/net10.0-ios/iossimulator-arm64/unpack/Microsoft.Maui.Essentials/BundleResource/xml/microsoft_maui_essentials_fileprovider_file_paths.xml
client/obj/Debug/net10.0-ios/iossimulator-arm64/Skrepka.pdb

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/Fabulous.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/Microsoft.CSharp.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/Microsoft.Extensions.Configuration.Abstractions.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/Microsoft.Extensions.Configuration.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/Microsoft.Extensions.DependencyInjection.Abstractions.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/Microsoft.Extensions.DependencyInjection.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/Microsoft.Extensions.Diagnostics.Abstractions.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/Microsoft.Extensions.FileProviders.Abstractions.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/Microsoft.Extensions.Hosting.Abstractions.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/Microsoft.Extensions.Logging.Abstractions.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/Microsoft.Extensions.Logging.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/Microsoft.Extensions.Options.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/Microsoft.Extensions.Primitives.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/Microsoft.Maui.Controls.Compatibility.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/Microsoft.Maui.Controls.Xaml.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/Microsoft.Maui.Essentials.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/Microsoft.Maui.Graphics.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/Microsoft.Maui.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/Microsoft.VisualBasic.Core.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/Microsoft.VisualBasic.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/Microsoft.Win32.Primitives.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/Microsoft.Win32.Registry.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/Skrepka.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/Skrepka.pdbdeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/Sodium.Core.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.AppContext.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Buffers.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Collections.Concurrent.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Collections.Immutable.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Collections.NonGeneric.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Collections.Specialized.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Collections.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.ComponentModel.Annotations.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.ComponentModel.DataAnnotations.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.ComponentModel.EventBasedAsync.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.ComponentModel.Primitives.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.ComponentModel.TypeConverter.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.ComponentModel.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Configuration.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Console.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Core.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Data.Common.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Data.DataSetExtensions.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Data.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Diagnostics.Contracts.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Diagnostics.Debug.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Diagnostics.DiagnosticSource.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Diagnostics.FileVersionInfo.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Diagnostics.Process.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Diagnostics.StackTrace.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Diagnostics.TextWriterTraceListener.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Diagnostics.Tools.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Diagnostics.TraceSource.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Diagnostics.Tracing.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Drawing.Primitives.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Drawing.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Dynamic.Runtime.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Formats.Asn1.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Formats.Tar.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Globalization.Calendars.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Globalization.Extensions.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Globalization.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.IO.Compression.Brotli.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.IO.Compression.FileSystem.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.IO.Compression.ZipFile.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.IO.Compression.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.IO.FileSystem.AccessControl.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.IO.FileSystem.DriveInfo.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.IO.FileSystem.Primitives.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.IO.FileSystem.Watcher.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.IO.FileSystem.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.IO.IsolatedStorage.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.IO.MemoryMappedFiles.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.IO.Pipelines.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.IO.Pipes.AccessControl.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.IO.Pipes.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.IO.UnmanagedMemoryStream.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.IO.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Linq.AsyncEnumerable.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Linq.Expressions.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Linq.Parallel.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Linq.Queryable.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Linq.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Memory.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Net.Http.Json.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Net.Http.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Net.HttpListener.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Net.Mail.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Net.NameResolution.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Net.NetworkInformation.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Net.Ping.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Net.Primitives.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Net.Quic.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Net.Requests.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Net.Security.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Net.ServerSentEvents.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Net.ServicePoint.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Net.Sockets.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Net.WebClient.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Net.WebHeaderCollection.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Net.WebProxy.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Net.WebSockets.Client.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Net.WebSockets.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Net.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Numerics.Vectors.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Numerics.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.ObjectModel.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Private.DataContractSerialization.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Private.Uri.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Private.Xml.Linq.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Reflection.DispatchProxy.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Reflection.Emit.ILGeneration.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Reflection.Emit.Lightweight.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Reflection.Emit.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Reflection.Extensions.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Reflection.Metadata.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Reflection.Primitives.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Reflection.TypeExtensions.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Reflection.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Resources.Reader.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Resources.ResourceManager.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Resources.Writer.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Runtime.CompilerServices.Unsafe.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Runtime.CompilerServices.VisualC.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Runtime.Extensions.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Runtime.Handles.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Runtime.InteropServices.JavaScript.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Runtime.InteropServices.RuntimeInformation.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Runtime.InteropServices.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Runtime.Intrinsics.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Runtime.Loader.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Runtime.Numerics.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Runtime.Serialization.Formatters.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Runtime.Serialization.Json.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Runtime.Serialization.Primitives.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Runtime.Serialization.Xml.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Runtime.Serialization.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Runtime.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Security.AccessControl.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Security.Claims.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Security.Cryptography.Algorithms.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Security.Cryptography.Cng.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Security.Cryptography.Csp.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Security.Cryptography.Encoding.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Security.Cryptography.OpenSsl.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Security.Cryptography.Primitives.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Security.Cryptography.X509Certificates.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Security.Cryptography.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Security.Principal.Windows.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Security.Principal.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Security.SecureString.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Security.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.ServiceModel.Web.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.ServiceProcess.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Text.Encoding.CodePages.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Text.Encoding.Extensions.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Text.Encoding.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Text.Encodings.Web.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Text.Json.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Text.RegularExpressions.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Threading.AccessControl.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Threading.Channels.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Threading.Overlapped.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Threading.Tasks.Dataflow.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Threading.Tasks.Extensions.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Threading.Tasks.Parallel.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Threading.Tasks.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Threading.Thread.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Threading.ThreadPool.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Threading.Timer.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Threading.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Transactions.Local.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Transactions.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.ValueTuple.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Web.HttpUtility.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Web.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Windows.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Xml.Linq.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Xml.ReaderWriter.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Xml.Serialization.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Xml.XDocument.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Xml.XPath.XDocument.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Xml.XPath.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Xml.XmlDocument.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Xml.XmlSerializer.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.Xml.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/System.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/WindowsBase.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/mscorlib.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/netstandard.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/ref/Skrepka.dll

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/refint/Skrepka.dll

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/Skrepka.AssemblyInfo.fs+1−1
@@ -10,7 +10,7 @@ open System.Reflection
10[<assembly: System.Reflection.AssemblyCompanyAttribute("Skrepka")>]
10[<assembly: System.Reflection.AssemblyCompanyAttribute("Skrepka")>]
11[<assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")>]
11[<assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")>]
12[<assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")>]
12[<assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")>]
13−[<assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0+064c373a75a8e5a105124031d8e31ae203b8d89e")>]
13+[<assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0+82cb0cdcfaf50735d5a3e12b5af1927d4f49fc36")>]
14[<assembly: System.Reflection.AssemblyProductAttribute("Skrepka")>]
14[<assembly: System.Reflection.AssemblyProductAttribute("Skrepka")>]
15[<assembly: System.Reflection.AssemblyTitleAttribute("Skrepka")>]
15[<assembly: System.Reflection.AssemblyTitleAttribute("Skrepka")>]
16[<assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")>]
16[<assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")>]
client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/Skrepka.AssemblyInfoInputs.cache+1−1
@@ -1 +1 @@
1−6c134c0e309419636d3e51226a485ae9feaa2ce98c5cbcd888b8c9cc4e35dc78
1+0bbb41c3894493c03411870767791bedda64dcf1f142b06567da559d981710a3
client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/Skrepka.dll

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/Skrepka.pdb

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/Skrepka.sourcelink.json+1−1
@@ -1 +1 @@
1−{"documents":{"/Users/iko/Developer/skrepka/*":"https://raw.githubusercontent.com/ilyakooo0/skrepka/064c373a75a8e5a105124031d8e31ae203b8d89e/*"}}
1+{"documents":{"/Users/iko/Developer/skrepka/*":"https://raw.githubusercontent.com/ilyakooo0/skrepka/82cb0cdcfaf50735d5a3e12b5af1927d4f49fc36/*"}}
client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/Fabulous.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/Microsoft.CSharp.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/Microsoft.Extensions.Configuration.Abstractions.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/Microsoft.Extensions.Configuration.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/Microsoft.Extensions.DependencyInjection.Abstractions.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/Microsoft.Extensions.DependencyInjection.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/Microsoft.Extensions.Diagnostics.Abstractions.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/Microsoft.Extensions.FileProviders.Abstractions.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/Microsoft.Extensions.Hosting.Abstractions.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/Microsoft.Extensions.Logging.Abstractions.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/Microsoft.Extensions.Logging.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/Microsoft.Extensions.Options.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/Microsoft.Extensions.Primitives.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/Microsoft.Maui.Controls.Compatibility.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/Microsoft.Maui.Controls.Xaml.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/Microsoft.Maui.Essentials.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/Microsoft.Maui.Graphics.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/Microsoft.Maui.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/Microsoft.VisualBasic.Core.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/Microsoft.VisualBasic.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/Microsoft.Win32.Primitives.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/Microsoft.Win32.Registry.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/Skrepka.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/Skrepka.pdbdeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/Sodium.Core.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.AppContext.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Buffers.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Collections.Concurrent.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Collections.Immutable.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Collections.NonGeneric.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Collections.Specialized.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Collections.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.ComponentModel.Annotations.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.ComponentModel.DataAnnotations.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.ComponentModel.EventBasedAsync.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.ComponentModel.Primitives.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.ComponentModel.TypeConverter.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.ComponentModel.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Configuration.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Console.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Core.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Data.Common.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Data.DataSetExtensions.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Data.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Diagnostics.Contracts.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Diagnostics.Debug.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Diagnostics.DiagnosticSource.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Diagnostics.FileVersionInfo.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Diagnostics.Process.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Diagnostics.StackTrace.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Diagnostics.TextWriterTraceListener.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Diagnostics.Tools.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Diagnostics.TraceSource.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Diagnostics.Tracing.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Drawing.Primitives.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Drawing.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Dynamic.Runtime.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Formats.Asn1.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Formats.Tar.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Globalization.Calendars.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Globalization.Extensions.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Globalization.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.IO.Compression.Brotli.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.IO.Compression.FileSystem.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.IO.Compression.ZipFile.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.IO.Compression.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.IO.FileSystem.AccessControl.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.IO.FileSystem.DriveInfo.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.IO.FileSystem.Primitives.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.IO.FileSystem.Watcher.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.IO.FileSystem.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.IO.IsolatedStorage.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.IO.MemoryMappedFiles.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.IO.Pipelines.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.IO.Pipes.AccessControl.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.IO.Pipes.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.IO.UnmanagedMemoryStream.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.IO.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Linq.AsyncEnumerable.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Linq.Expressions.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Linq.Parallel.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Linq.Queryable.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Linq.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Memory.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Net.Http.Json.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Net.Http.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Net.HttpListener.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Net.Mail.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Net.NameResolution.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Net.NetworkInformation.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Net.Ping.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Net.Primitives.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Net.Quic.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Net.Requests.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Net.Security.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Net.ServerSentEvents.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Net.ServicePoint.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Net.Sockets.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Net.WebClient.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Net.WebHeaderCollection.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Net.WebProxy.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Net.WebSockets.Client.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Net.WebSockets.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Net.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Numerics.Vectors.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Numerics.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.ObjectModel.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Private.DataContractSerialization.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Private.Uri.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Private.Xml.Linq.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Reflection.DispatchProxy.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Reflection.Emit.ILGeneration.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Reflection.Emit.Lightweight.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Reflection.Emit.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Reflection.Extensions.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Reflection.Metadata.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Reflection.Primitives.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Reflection.TypeExtensions.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Reflection.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Resources.Reader.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Resources.ResourceManager.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Resources.Writer.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Runtime.CompilerServices.Unsafe.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Runtime.CompilerServices.VisualC.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Runtime.Extensions.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Runtime.Handles.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Runtime.InteropServices.JavaScript.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Runtime.InteropServices.RuntimeInformation.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Runtime.InteropServices.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Runtime.Intrinsics.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Runtime.Loader.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Runtime.Numerics.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Runtime.Serialization.Formatters.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Runtime.Serialization.Json.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Runtime.Serialization.Primitives.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Runtime.Serialization.Xml.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Runtime.Serialization.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Runtime.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Security.AccessControl.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Security.Claims.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Security.Cryptography.Algorithms.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Security.Cryptography.Cng.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Security.Cryptography.Csp.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Security.Cryptography.Encoding.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Security.Cryptography.OpenSsl.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Security.Cryptography.Primitives.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Security.Cryptography.X509Certificates.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Security.Cryptography.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Security.Principal.Windows.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Security.Principal.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Security.SecureString.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Security.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.ServiceModel.Web.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.ServiceProcess.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Text.Encoding.CodePages.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Text.Encoding.Extensions.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Text.Encoding.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Text.Encodings.Web.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Text.Json.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Text.RegularExpressions.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Threading.AccessControl.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Threading.Channels.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Threading.Overlapped.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Threading.Tasks.Dataflow.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Threading.Tasks.Extensions.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Threading.Tasks.Parallel.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Threading.Tasks.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Threading.Thread.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Threading.ThreadPool.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Threading.Timer.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Threading.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Transactions.Local.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Transactions.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.ValueTuple.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Web.HttpUtility.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Web.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Windows.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Xml.Linq.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Xml.ReaderWriter.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Xml.Serialization.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Xml.XDocument.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Xml.XPath.XDocument.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Xml.XPath.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Xml.XmlDocument.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Xml.XmlSerializer.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.Xml.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/System.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/WindowsBase.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/mscorlib.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/netstandard.dlldeleted

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/ref/Skrepka.dll

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/refint/Skrepka.dll

Binary file not shown.

server.knot+57−72
@@ -64,6 +64,8 @@ type Message = {messageId: MessageIdHex, toKey: PubkeyHex, fromKey: PubkeyHex, e
64type PresenceEntry = {pubkey: PubkeyHex, server: Text, expiresAt: Timestamp, timestamp: Timestamp}
64type PresenceEntry = {pubkey: PubkeyHex, server: Text, expiresAt: Timestamp, timestamp: Timestamp}
65type ForwardEntry = {messageId: MessageIdHex, toServer: ServerName, createdAt: Timestamp, toKey: PubkeyHex, fromKey: PubkeyHex, encryptedBlob: BlobHex, timestamp: Timestamp}
65type ForwardEntry = {messageId: MessageIdHex, toServer: ServerName, createdAt: Timestamp, toKey: PubkeyHex, fromKey: PubkeyHex, encryptedBlob: BlobHex, timestamp: Timestamp}
66type AckedEntry = {messageId: MessageIdHex, toKey: PubkeyHex, ackedAt: Timestamp, originServer: ServerName}
66type AckedEntry = {messageId: MessageIdHex, toKey: PubkeyHex, ackedAt: Timestamp, originServer: ServerName}
67+type AuthResult = {authorized: Bool, pubkey: Text}
68+type PruneResult = {expiredLocal: [PresenceEntry], peerServers: [Text]}
67
69
68-- ============================================
70-- ============================================
69-- Persisted State
71-- Persisted State
@@ -138,11 +140,9 @@ route Api = AuthApi | ClientApi | FederationApi | MaintenanceApi
138
140
139any = \xs pred -> count (do x <- xs; where pred x; yield x) > 0
141any = \xs pred -> count (do x <- xs; where pred x; yield x) > 0
140none = \xs pred -> not (any xs pred)
142none = \xs pred -> not (any xs pred)
141−isJust = \m -> case m of
143+headOf = \items -> fold (\acc x -> case acc of
142− Nothing {} -> False {}
144+ Nothing {} -> Just {value: x}
143− _ -> True {}
145+ _ -> acc) Nothing {} items
144−
145−firstOf = \items -> fold (\acc s -> if acc == "" then s else acc) "" items
146
146
147msToS : Int<Ms> -> Int<S>
147msToS : Int<Ms> -> Int<S>
148msToS = \x -> x / 1000
148msToS = \x -> x / 1000
@@ -355,18 +355,15 @@ isBadServerName = \s ->
355 || (isDigitChar (take 1 sn) && isAllDigitsOrDotsUntilColonOrEnd sn)
355 || (isDigitChar (take 1 sn) && isAllDigitsOrDotsUntilColonOrEnd sn)
356 || isHighOctetPrefix sn
356 || isHighOctetPrefix sn
357
357
358+authenticateSession : [Session] -> Text -> Timestamp -> AuthResult
358−lookupSession = \sessions token t ->
359+authenticateSession = \sessions token t ->
359 fold (\acc s ->
360 fold (\acc s ->
361+ if acc.authorized then acc
362+ else
360− let matches = safeCompare s.token token in
363+ let matches = safeCompare s.token token in
361− if matches && s.expiresAt > t
364+ if matches && s.expiresAt > t
362− then case acc of
365+ then {authorized: True {}, pubkey: s.pubkey}
363− Nothing {} -> Just {value: s}
364− _ -> acc
365− else acc) Nothing {} sessions
366+ else acc) {authorized: False {}, pubkey: ""} sessions
366−
367−sessionPubkey = \session -> case session of
368− Nothing {} -> ""
369− Just {value: s} -> s.pubkey
370
367
371extractToken = \authHeader ->
368extractToken = \authHeader ->
372 if toLower (take 7 authHeader) == "bearer "
369 if toLower (take 7 authHeader) == "bearer "
@@ -521,16 +518,12 @@ validGossipEvents = \events validRequest t eventType ->
521
518
522sendToEach : [Text] -> (Text -> (a {})) -> a {}
519sendToEach : [Text] -> (Text -> (a {})) -> a {}
523sendToEach = \servers action ->
520sendToEach = \servers action ->
524− if count servers == 0
521+ case headOf servers of
525− then yield {}
522+ Nothing {} -> yield {}
526− else do
523+ Just {value: server} -> do
527− let server = firstOf servers
528 let rest = do s <- servers; where not (s == server); yield s
524 let rest = do s <- servers; where not (s == server); yield s
529− if server == ""
530− then yield {}
531− else do
532− fork (action server)
525+ fork (action server)
533− sendToEach rest action
526+ sendToEach rest action
534
527
535pruneExpired = \t -> do
528pruneExpired = \t -> do
536 set *challenges = do
529 set *challenges = do
@@ -621,24 +614,22 @@ removeForward = \mid srv -> atomic do
621
614
622retryForwardsForServer : [{encryptedBlob: BlobHex, fromKey: PubkeyHex, messageId: MessageIdHex, timestamp: Timestamp, toKey: PubkeyHex, toServer: ServerName}] -> Int -> IO {network} {}
615retryForwardsForServer : [{encryptedBlob: BlobHex, fromKey: PubkeyHex, messageId: MessageIdHex, timestamp: Timestamp, toKey: PubkeyHex, toServer: ServerName}] -> Int -> IO {network} {}
623retryForwardsForServer = \entries remaining ->
616retryForwardsForServer = \entries remaining ->
624− if count entries == 0 || remaining <= 0
617+ if remaining <= 0
625 then yield {}
618 then yield {}
626− else do
619+ else case headOf entries of
627− let f = fold (\acc x -> if acc.messageId == "" then x else acc) {messageId: "", toServer: "", toKey: "", fromKey: "", encryptedBlob: "", timestamp: 0} entries
620+ Nothing {} -> yield {}
621+ Just {value: f} -> do
628− let rest = do x <- entries; where not (x.messageId == f.messageId); yield x
622+ let rest = do x <- entries; where not (x.messageId == f.messageId); yield x
629− if f.messageId == ""
630− then yield {}
631− else do
632− result <- fetch (federationScheme ++ f.toServer) (ForwardMessage {
623+ result <- fetch (federationScheme ++ f.toServer) (ForwardMessage {
633− toKey: f.toKey, fromKey: f.fromKey, encryptedBlob: f.encryptedBlob,
624+ toKey: f.toKey, fromKey: f.fromKey, encryptedBlob: f.encryptedBlob,
634− timestamp: f.timestamp, originServer: serverHostN, messageId: f.messageId,
625+ timestamp: f.timestamp, originServer: serverHostN, messageId: f.messageId,
635− authorization: "Bearer " ++ federationSecret})
626+ authorization: "Bearer " ++ federationSecret})
636− case result of
627+ case result of
637− Ok _ -> do
628+ Ok _ -> do
638− removeForward f.messageId f.toServer
629+ removeForward f.messageId f.toServer
639− yield {}
630+ yield {}
640− Err _ -> yield {}
631+ Err _ -> yield {}
641− retryForwardsForServer rest (remaining - 1)
632+ retryForwardsForServer rest (remaining - 1)
642
633
643retryPendingForwards : [{encryptedBlob: BlobHex, fromKey: PubkeyHex, messageId: MessageIdHex, timestamp: Timestamp, toKey: PubkeyHex, toServer: ServerName}] -> IO {network} {}
634retryPendingForwards : [{encryptedBlob: BlobHex, fromKey: PubkeyHex, messageId: MessageIdHex, timestamp: Timestamp, toKey: PubkeyHex, toServer: ServerName}] -> IO {network} {}
644retryPendingForwards = \pending -> do
635retryPendingForwards = \pending -> do
@@ -701,19 +692,17 @@ pollOnce = \token cursor -> do
701 sessions <- *sessions
692 sessions <- *sessions
702 messages <- *messages
693 messages <- *messages
703 seqCounter <- *seqCounter
694 seqCounter <- *seqCounter
704− let session = lookupSession sessions token t
695+ let auth = authenticateSession sessions token t
705 let cursorCeil = if seqCounter > t then seqCounter else t
696 let cursorCeil = if seqCounter > t then seqCounter else t
706 let clampedCursor = if cursor < 0 then 0 else if cursor > cursorCeil then cursorCeil else cursor
697 let clampedCursor = if cursor < 0 then 0 else if cursor > cursorCeil then cursorCeil else cursor
707− let matchingMsgs = case session of
698+ let matchingMsgs = if not auth.authorized then []
708− Nothing {} -> []
699+ else do
709− Just {value: s} -> do
710 m <- messages
700 m <- messages
711− where m.toKey == s.pubkey
701+ where m.toKey == auth.pubkey
712 where m.receivedAt >= t - messageMaxAge
702 where m.receivedAt >= t - messageMaxAge
713 where m.receivedAt > clampedCursor
703 where m.receivedAt > clampedCursor
714 yield m
704 yield m
715 let limitedMsgs = boundedSmallest matchingMsgs maxPollEvents (\m -> m.receivedAt)
705 let limitedMsgs = boundedSmallest matchingMsgs maxPollEvents (\m -> m.receivedAt)
716− let authorized = isJust session
717 let evts = do
706 let evts = do
718 m <- limitedMsgs
707 m <- limitedMsgs
719 yield {id: m.messageId, eventType: "message",
708 yield {id: m.messageId, eventType: "message",
@@ -721,10 +710,8 @@ pollOnce = \token cursor -> do
721 encryptedBlob: m.encryptedBlob,
710 encryptedBlob: m.encryptedBlob,
722 timestamp: m.timestamp}}
711 timestamp: m.timestamp}}
723 let lastReceivedAt = fold (\acc m -> if m.receivedAt > acc then m.receivedAt else acc) clampedCursor limitedMsgs
712 let lastReceivedAt = fold (\acc m -> if m.receivedAt > acc then m.receivedAt else acc) clampedCursor limitedMsgs
724− let newCursor = case session of
725− Nothing {} -> -1
726− _ -> lastReceivedAt
713+ let newCursor = if not auth.authorized then -1 else lastReceivedAt
727− yield {events: evts, cursor: newCursor, authorized: authorized}
714+ yield {events: evts, cursor: newCursor, authorized: auth.authorized}
728
715
729pollLoop : Text -> Int -> Int -> IO {clock} {authorized: Bool, cursor: Int, events: [PollEvent]}
716pollLoop : Text -> Int -> Int -> IO {clock} {authorized: Bool, cursor: Int, events: [PollEvent]}
730pollLoop = \token cursor deadline -> do
717pollLoop = \token cursor deadline -> do
@@ -849,9 +836,9 @@ serve = \req -> case req of
849 sessions <- *sessions
836 sessions <- *sessions
850 messages <- *messages
837 messages <- *messages
851 presence <- *presence
838 presence <- *presence
852− let session = lookupSession sessions (extractToken authorization) t
839+ let auth = authenticateSession sessions (extractToken authorization) t
853− let fromKey = sessionPubkey session
840+ let fromKey = auth.pubkey
854− let authorized = isJust session
841+ let authorized = auth.authorized
855 seqCounter <- *seqCounter
842 seqCounter <- *seqCounter
856 let seqTs = nextSeqTs t seqCounter
843 let seqTs = nextSeqTs t seqCounter
857 let recipientMsgCount = countMessagesFor messages to t
844 let recipientMsgCount = countMessagesFor messages to t
@@ -909,14 +896,13 @@ serve = \req -> case req of
909 pr <- maybePrune t
896 pr <- maybePrune t
910 sessions <- *sessions
897 sessions <- *sessions
911 messages <- *messages
898 messages <- *messages
912− let session = lookupSession sessions (extractToken authorization) t
899+ let auth = authenticateSession sessions (extractToken authorization) t
913− let ackedMessages = case session of
900+ let ackedMessages = if not auth.authorized then []
914− Nothing {} -> []
901+ else do
915− Just {value: s} -> do
916 m <- messages
902 m <- messages
917 mid <- dedupedIds
903 mid <- dedupedIds
918 where m.messageId == mid
904 where m.messageId == mid
919− where m.toKey == s.pubkey
905+ where m.toKey == auth.pubkey
920 yield m
906 yield m
921 set *messages = diff messages ackedMessages
907 set *messages = diff messages ackedMessages
922 let ackedFederated = do
908 let ackedFederated = do
@@ -931,7 +917,7 @@ serve = \req -> case req of
931 let evictedEntries = if excessCount <= 0 then []
917 let evictedEntries = if excessCount <= 0 then []
932 else diff combinedAckedIds afterEviction
918 else diff combinedAckedIds afterEviction
933 set *ackedIds = afterEviction
919 set *ackedIds = afterEviction
934− let ok = isJust session
920+ let ok = auth.authorized
935 yield {ok: ok, ackedMessages: ackedMessages, expiredLocal: pr.expiredLocal, peerServers: pr.peerServers, evictedEntries: evictedEntries}
921 yield {ok: ok, ackedMessages: ackedMessages, expiredLocal: pr.expiredLocal, peerServers: pr.peerServers, evictedEntries: evictedEntries}
936 let fedMessages = do
922 let fedMessages = do
937 m <- result.ackedMessages
923 m <- result.ackedMessages
@@ -988,21 +974,20 @@ serve = \req -> case req of
988 pr <- maybePrune t
974 pr <- maybePrune t
989 sessions <- *sessions
975 sessions <- *sessions
990 presence <- *presence
976 presence <- *presence
991− let session = lookupSession sessions (extractToken authorization) t
977+ let auth = authenticateSession sessions (extractToken authorization) t
992− let authorized = isJust session
978+ let authorized = auth.authorized
993 let valid = do
979 let valid = do
994 p <- presence
980 p <- presence
995 where p.pubkey == pubkey
981 where p.pubkey == pubkey
996 where p.expiresAt > t
982 where p.expiresAt > t
997 yield p
983 yield p
998− let foundServer = case session of
984+ let foundServer = if not authorized
999− Nothing {} -> ""
985+ then ""
1000− Just {value: _} ->
1001− if count valid == 0
986+ else if count valid == 0
1002− then ""
987+ then ""
1003− else if any valid (\p -> p.server == serverHostN)
988+ else if any valid (\p -> p.server == serverHostN)
1004− then serverHostN
989+ then serverHostN
1005− else (fold (\acc p -> if p.expiresAt > acc.best then {server: p.server, best: p.expiresAt} else acc) {server: "", best: 0} valid).server
990+ else (fold (\acc p -> if p.expiresAt > acc.best then {server: p.server, best: p.expiresAt} else acc) {server: "", best: 0} valid).server
1006 yield {foundServer: foundServer, authorized: authorized, expiredLocal: pr.expiredLocal, peerServers: pr.peerServers}
991 yield {foundServer: foundServer, authorized: authorized, expiredLocal: pr.expiredLocal, peerServers: pr.peerServers}
1007 forkBroadcastOffline t result
992 forkBroadcastOffline t result
1008 yield (respond {online: not (result.foundServer == ""), server: result.foundServer, authorized: result.authorized})
993 yield (respond {online: not (result.foundServer == ""), server: result.foundServer, authorized: result.authorized})
@@ -1018,7 +1003,7 @@ serve = \req -> case req of
1018 let filteredOnline = do
1003 let filteredOnline = do
1019 e <- onlineEntries
1004 e <- onlineEntries
1020 where none offlineEntries (\o -> o.server == fromServer && samePubkeyServer o e && o.timestamp > e.timestamp)
1005 where none offlineEntries (\o -> o.server == fromServer && samePubkeyServer o e && o.timestamp > e.timestamp)
1021− yield {pubkey: e.pubkey, server: e.server, expiresAt: e.expiresAt, timestamp: e.timestamp, ttl: e.ttl}
1006+ yield e
1022 let affectedKeys = union
1007 let affectedKeys = union
1023 (do
1008 (do
1024 e <- onlineEntries
1009 e <- onlineEntries