on master help sign in
Simplify client: eliminate DecryptedEvent and PollReceived types, inline error handling
13fba34iko
client/ApiClient.fs+5−7
@@ -51,12 +51,6 @@ module ApiClient =
51 | Unauthorized -> "unauthorized"
51 | Unauthorized -> "unauthorized"
52 | UnknownStatus s -> s)
52 | UnknownStatus s -> s)
53
53
54− let messageStatusToError = function
55− | Delivered | Federated | Queued -> None
56− | Rejected -> Some "Message rejected by server"
57− | Unauthorized -> Some "Not authorized to deliver message"
58− | UnknownStatus s -> Some $"Unexpected status: {s}"
59−
60 [<CLIMutable>]
54 [<CLIMutable>]
61 type private SendResult = { Status: MessageStatus }
55 type private SendResult = { Status: MessageStatus }
62
56
@@ -126,7 +120,11 @@ module ApiClient =
126 let body = JsonSerializer.Serialize({| ``to`` = toHex; encryptedBlob = blobHex; timestamp = timestamp |})
120 let body = JsonSerializer.Serialize({| ``to`` = toHex; encryptedBlob = blobHex; timestamp = timestamp |})
127 async {
121 async {
128 let! result = postJson<SendResult> client $"{serverUrl}/messages" body (Some token)
122 let! result = postJson<SendResult> client $"{serverUrl}/messages" body (Some token)
129− return result.Status
123+ match result.Status with
124+ | Delivered | Federated | Queued -> ()
125+ | Rejected -> failwith "Message rejected by server"
126+ | Unauthorized -> failwith "Not authorized to deliver message"
127+ | UnknownStatus s -> failwith $"Unexpected status: {s}"
130 }
128 }
131
129
132 let poll (serverUrl: string) (token: string) (cursor: int64) =
130 let poll (serverUrl: string) (token: string) (cursor: int64) =
client/App.fs+27−43
@@ -36,19 +36,18 @@ module App =
36 | NoIdentity
36 | NoIdentity
37 | Identified of identity: Identity * conn: ConnStatus
37 | Identified of identity: Identity * conn: ConnStatus
38
38
39− type DecryptedEvent =
39+ [<RequireQualifiedAccess>]
40− | ChatMsg of ChatMessage
40+ type Envelope =
41+ | TextMessage of id: string * body: string
41 | DeliveryAck of ackIds: string list
42 | DeliveryAck of ackIds: string list
42− | ProfileUpdate of Profile
43+ | ProfileMessage of profile: Profile
43−
44− type IncomingEvent = { Sender: string; Event: DecryptedEvent }
45
44
46− type PollReceived = { Events: int; Messages: int; Errors: int; FirstError: string option }
45+ type IncomingEvent = { Sender: string; Timestamp: int64; Envelope: Envelope }
47
46
48 type PollStatus =
47 type PollStatus =
49 | Idle
48 | Idle
50 | Polling
49 | Polling
51− | Received of PollReceived
50+ | Received of string
52 | PollError of string
51 | PollError of string
53
52
54 // ── Model ──
53 // ── Model ──
@@ -152,16 +151,19 @@ module App =
152 { c with DisplayName = p.DisplayName; Bio = p.Bio; PhotoBase64 = p.PhotoBase64 }
151 { c with DisplayName = p.DisplayName; Bio = p.Bio; PhotoBase64 = p.PhotoBase64 }
153
152
154 let private applyEvent (m: Model) (evt: IncomingEvent) =
153 let private applyEvent (m: Model) (evt: IncomingEvent) =
155− match evt.Event with
154+ match evt.Envelope with
155+ | Envelope.TextMessage(id, body) ->
156− | ChatMsg message ->
156+ let message =
157+ { Id = id; Body = body; Timestamp = DateTimeOffset.FromUnixTimeSeconds(evt.Timestamp)
158+ IsOutgoing = false; Status = DeliveryStatus.Delivered }
157 { m with
159 { m with
158 Contacts =
160 Contacts =
159 if Map.containsKey evt.Sender m.Contacts then m.Contacts
161 if Map.containsKey evt.Sender m.Contacts then m.Contacts
160 else Map.add evt.Sender (newContact evt.Sender (truncKey evt.Sender)) m.Contacts
162 else Map.add evt.Sender (newContact evt.Sender (truncKey evt.Sender)) m.Contacts
161 Messages = m.Messages |> appendMessage evt.Sender message }
163 Messages = m.Messages |> appendMessage evt.Sender message }
162− | DeliveryAck ackIds ->
164+ | Envelope.DeliveryAck ackIds ->
163 { m with Messages = m.Messages |> markDelivered evt.Sender ackIds }
165 { m with Messages = m.Messages |> markDelivered evt.Sender ackIds }
164− | ProfileUpdate profile ->
166+ | Envelope.ProfileMessage profile ->
165 { m with Contacts = m.Contacts |> Map.change evt.Sender (Option.map (withProfile profile)) }
167 { m with Contacts = m.Contacts |> Map.change evt.Sender (Option.map (withProfile profile)) }
166
168
167 let private trySession model =
169 let private trySession model =
@@ -335,12 +337,6 @@ module App =
335 }
337 }
336 |> Async.Start)
338 |> Async.Start)
337
339
338− [<RequireQualifiedAccess>]
339− type private Envelope =
340− | TextMessage of id: string * body: string
341− | DeliveryAck of ackIds: string list
342− | ProfileMessage of profile: Profile
343−
344 let private serializeEnvelope = function
340 let private serializeEnvelope = function
345 | Envelope.TextMessage(id, body) ->
341 | Envelope.TextMessage(id, body) ->
346 JsonSerializer.Serialize({| ``type`` = "text"; id = id; body = body |})
342 JsonSerializer.Serialize({| ``type`` = "text"; id = id; body = body |})
@@ -354,7 +350,7 @@ module App =
354 let payload = serializeEnvelope envelope
350 let payload = serializeEnvelope envelope
355 let blob = Crypto.encrypt session.Identity.PrivKey (Crypto.fromHex recipientHex) payload
351 let blob = Crypto.encrypt session.Identity.PrivKey (Crypto.fromHex recipientHex) payload
356 let ts = DateTimeOffset.UtcNow.ToUnixTimeSeconds()
352 let ts = DateTimeOffset.UtcNow.ToUnixTimeSeconds()
357− return! sendMessage session.Url session.Token recipientHex (Crypto.toHex blob) ts
353+ do! sendMessage session.Url session.Token recipientHex (Crypto.toHex blob) ts
358 }
354 }
359
355
360 let private tryGetJsonString (el: JsonElement) (name: string) =
356 let private tryGetJsonString (el: JsonElement) (name: string) =
@@ -378,23 +374,13 @@ module App =
378 Some(Envelope.ProfileMessage { DisplayName = displayName; Bio = bio; PhotoBase64 = photo })
374 Some(Envelope.ProfileMessage { DisplayName = displayName; Bio = bio; PhotoBase64 = photo })
379 | _ -> None
375 | _ -> None
380
376
381− let private toDecryptedEvent timestamp = function
382− | Envelope.TextMessage(id, body) ->
383− ChatMsg
384− { Id = id; Body = body
385− Timestamp = DateTimeOffset.FromUnixTimeSeconds(timestamp)
386− IsOutgoing = false
387− Status = DeliveryStatus.Delivered }
388− | Envelope.DeliveryAck ackIds -> DeliveryAck ackIds
389− | Envelope.ProfileMessage profile -> ProfileUpdate profile
390−
391 let private decryptEvent (privKey: byte[]) (payload: EventPayload) =
377 let private decryptEvent (privKey: byte[]) (payload: EventPayload) =
392 try
378 try
393 let blob = Crypto.fromHex payload.EncryptedBlob
379 let blob = Crypto.fromHex payload.EncryptedBlob
394 match Crypto.decrypt privKey blob with
380 match Crypto.decrypt privKey blob with
395 | Some(plaintext, senderHex) ->
381 | Some(plaintext, senderHex) ->
396 match parseEnvelope plaintext with
382 match parseEnvelope plaintext with
397− | Some envelope -> Ok { Sender = senderHex; Event = toDecryptedEvent payload.Timestamp envelope }
383+ | Some envelope -> Ok { Sender = senderHex; Timestamp = payload.Timestamp; Envelope = envelope }
398 | None -> Error "unknown envelope type"
384 | None -> Error "unknown envelope type"
399 | None -> Error "decrypt failed"
385 | None -> Error "decrypt failed"
400 with ex ->
386 with ex ->
@@ -404,12 +390,12 @@ module App =
404 async {
390 async {
405 let chatsBySender =
391 let chatsBySender =
406 events
392 events
407− |> List.choose (fun evt -> match evt.Event with ChatMsg msg -> Some(evt.Sender, msg.Id) | _ -> None)
393+ |> List.choose (fun evt -> match evt.Envelope with Envelope.TextMessage(id, _) -> Some(evt.Sender, id) | _ -> None)
408 |> List.groupBy fst
394 |> List.groupBy fst
409 |> List.map (fun (sender, pairs) -> sender, List.map snd pairs)
395 |> List.map (fun (sender, pairs) -> sender, List.map snd pairs)
410
396
411 for sender, msgIds in chatsBySender do
397 for sender, msgIds in chatsBySender do
412− try do! sendEnvelope session sender (Envelope.DeliveryAck msgIds) |> Async.Ignore
398+ try do! sendEnvelope session sender (Envelope.DeliveryAck msgIds)
413 with _ -> ()
399 with _ -> ()
414 }
400 }
415
401
@@ -427,12 +413,10 @@ module App =
427 | CmdSend(session, recipientHex, text, messageId) ->
413 | CmdSend(session, recipientHex, text, messageId) ->
428 asyncCmd (async {
414 asyncCmd (async {
429 try
415 try
430− let! status = sendEnvelope session recipientHex (Envelope.TextMessage(messageId, text))
416+ do! sendEnvelope session recipientHex (Envelope.TextMessage(messageId, text))
431− match messageStatusToError status with
432− | Some err -> return SendFailed err
433− | None -> return SendOk
417+ return SendOk
434 with ex ->
418 with ex ->
435− return SendFailed $"Send failed: {ex.Message}"
419+ return SendFailed ex.Message
436 })
420 })
437
421
438 | CmdPoll(session, cursor) ->
422 | CmdPoll(session, cursor) ->
@@ -457,9 +441,11 @@ module App =
457
441
458 do! sendDeliveryAcks session events
442 do! sendDeliveryAcks session events
459
443
460− let chatCount = events |> List.sumBy (fun e -> match e.Event with ChatMsg _ -> 1 | _ -> 0)
444+ let chatCount = events |> List.sumBy (fun e -> match e.Envelope with Envelope.TextMessage _ -> 1 | _ -> 0)
445+ let status =
461− let status = Received { Events = response.Events.Length; Messages = chatCount; Errors = errors.Length; FirstError = List.tryHead errors }
446+ $"evts:{response.Events.Length} msgs:{chatCount} errs:{errors.Length}"
447+ + (match List.tryHead errors with Some e -> $" [{e}]" | None -> "")
462− return PollResult(events, status, response.Cursor)
448+ return PollResult(events, Received status, response.Cursor)
463 with
449 with
464 | :? TimeoutException ->
450 | :? TimeoutException ->
465 return PollResult([], Polling, cursor)
451 return PollResult([], Polling, cursor)
@@ -509,7 +495,7 @@ module App =
509 Cmd.ofEffect (fun _ ->
495 Cmd.ofEffect (fun _ ->
510 async {
496 async {
511 for recipientHex in recipientHexes do
497 for recipientHex in recipientHexes do
512− try do! sendEnvelope session recipientHex (Envelope.ProfileMessage profile) |> Async.Ignore
498+ try do! sendEnvelope session recipientHex (Envelope.ProfileMessage profile)
513 with _ -> ()
499 with _ -> ()
514 } |> Async.Start)
500 } |> Async.Start)
515
501
@@ -518,9 +504,7 @@ module App =
518 let private formatPollStatus = function
504 let private formatPollStatus = function
519 | Idle -> ""
505 | Idle -> ""
520 | Polling -> "polling..."
506 | Polling -> "polling..."
521− | Received r ->
507+ | Received s -> s
522− $"evts:{r.Events} msgs:{r.Messages} errs:{r.Errors}"
523− + (match r.FirstError with Some e -> $" [{e}]" | None -> "")
524 | PollError msg -> $"poll error: {msg}"
508 | PollError msg -> $"poll error: {msg}"
525
509
526 let private viewErrorBanner (error: string option) =
510 let private viewErrorBanner (error: string option) =
client/Store.fs+1−1
@@ -120,11 +120,11 @@ module Store =
120 let contacts =
120 let contacts =
121 db.GetCollection<Contact>("contacts").FindAll()
121 db.GetCollection<Contact>("contacts").FindAll()
122 |> Seq.map (fun c ->
122 |> Seq.map (fun c ->
123+ c.Pubkey,
123 { c with
124 { c with
124 DisplayName = orEmpty c.DisplayName
125 DisplayName = orEmpty c.DisplayName
125 Bio = orEmpty c.Bio
126 Bio = orEmpty c.Bio
126 PhotoBase64 = orEmpty c.PhotoBase64 })
127 PhotoBase64 = orEmpty c.PhotoBase64 })
127− |> Seq.map (fun c -> c.Pubkey, c)
128 |> Map.ofSeq
128 |> Map.ofSeq
129
129
130 let messages =
130 let messages =
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
@@ -166,11 +166,11 @@
166 </data>
166 </data>
167 <key>Skrepka.dll</key>
167 <key>Skrepka.dll</key>
168 <data>
168 <data>
169− c9k898gnYMQdWHhdAHoE6Fz59nI=
169+ CVxF8wyk0z3J28KIFnEY6UjWNJI=
170 </data>
170 </data>
171 <key>Skrepka.pdb</key>
171 <key>Skrepka.pdb</key>
172 <data>
172 <data>
173− LhHFBGciNjCwn3byqpt0UM3stjc=
173+ G7nf25PmZnCBg5i1vZYRnqmejdc=
174 </data>
174 </data>
175 <key>Sodium.Core.dll</key>
175 <key>Sodium.Core.dll</key>
176 <data>
176 <data>
@@ -1393,14 +1393,14 @@
1393 <dict>
1393 <dict>
1394 <key>hash2</key>
1394 <key>hash2</key>
1395 <data>
1395 <data>
1396− bWxl+IGnsw/NXLyjxBqYhs+LU+FYTOCHPAoXsPEfR6w=
1396+ 8HBXEBvFZVoHcetj8atOdmzoBkDu0SNC+Vkh/V/BwPg=
1397 </data>
1397 </data>
1398 </dict>
1398 </dict>
1399 <key>Skrepka.pdb</key>
1399 <key>Skrepka.pdb</key>
1400 <dict>
1400 <dict>
1401 <key>hash2</key>
1401 <key>hash2</key>
1402 <data>
1402 <data>
1403− TsmGxaRiClJJVFjrmZPl9EK0DTxasYWDClFY+GEdgCw=
1403+ FssxM3lPIPLJE+kwOrOMkmtxBhrZd/URY71MZtiAT9Q=
1404 </data>
1404 </data>
1405 </dict>
1405 </dict>
1406 <key>Sodium.Core.dll</key>
1406 <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
@@ -251,14 +251,14 @@
251 <dict>
251 <dict>
252 <key>hash2</key>
252 <key>hash2</key>
253 <data>
253 <data>
254− 65gZOa6bguKqFrbqG66bXLi5mKgH6P58g1W2RBihBN8=
254+ uu2JUNh2BV4Cx+DaGDT6+qwp5+CZ+rHHPcnDibLYIM4=
255 </data>
255 </data>
256 </dict>
256 </dict>
257 <key>MonoBundle/Skrepka.pdb</key>
257 <key>MonoBundle/Skrepka.pdb</key>
258 <dict>
258 <dict>
259 <key>hash2</key>
259 <key>hash2</key>
260 <data>
260 <data>
261− Zqn8PM92ySvTibkdxVFqryCishi0DoTg0qz8e/xc+AY=
261+ BgzRedMZeH7jNYuTzL20RHyUSWyA5RU9R0efsBMush8=
262 </data>
262 </data>
263 </dict>
263 </dict>
264 <key>MonoBundle/Sodium.Core.dll</key>
264 <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.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+f4d37c22efe1c611f1e26330703855536736e15a")>]
13+[<assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0+a348d96d7bb6d2123f0741a7188de45ed302a2b5")>]
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-ios/iossimulator-arm64/Skrepka.AssemblyInfoInputs.cache+1−1
@@ -1 +1 @@
1−5c7a8aee9ac955a94dfa896b7bc128b149d464c9238bf5df93509d4192198883
1+c92865f901e6343a5442debcd3534cfae1be9b5fb5c9e182cd1bad60a00a4f3b
client/obj/Debug/net10.0-ios/iossimulator-arm64/Skrepka.dll

Binary file not shown.

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

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/Skrepka.sourcelink.json+1−1
@@ -1 +1 @@
1−{"documents":{"/Users/iko/Developer/skrepka/*":"https://raw.githubusercontent.com/ilyakooo0/skrepka/f4d37c22efe1c611f1e26330703855536736e15a/*"}}
1+{"documents":{"/Users/iko/Developer/skrepka/*":"https://raw.githubusercontent.com/ilyakooo0/skrepka/a348d96d7bb6d2123f0741a7188de45ed302a2b5/*"}}
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+f4d37c22efe1c611f1e26330703855536736e15a")>]
13+[<assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0+a348d96d7bb6d2123f0741a7188de45ed302a2b5")>]
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−12a7098dd6f75a7def1e52aafae4a8374e44122db6ad234a65ee12077bf114e2
1+9858fc240e530aa6ce9a9ad38155bf1d2ac5ae1aab3edf0a2875dde7ceae7f88
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/f4d37c22efe1c611f1e26330703855536736e15a/*"}}
1+{"documents":{"/Users/iko/Developer/skrepka/*":"https://raw.githubusercontent.com/ilyakooo0/skrepka/a348d96d7bb6d2123f0741a7188de45ed302a2b5/*"}}
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.

client/obj/Skrepka.fsproj.nuget.dgspec.json−3
@@ -717,9 +717,6 @@
717 "runtimes": {
717 "runtimes": {
718 "iossimulator-arm64": {
718 "iossimulator-arm64": {
719 "#import": []
719 "#import": []
720− },
721− "maccatalyst-arm64": {
722− "#import": []
723 }
720 }
724 }
721 }
725 }
722 }
client/obj/project.assets.json+64−1239
@@ -1232,1238 +1232,7 @@
1232 }
1232 }
1233 }
1233 }
1234 },
1234 },
1235− "net10.0-ios26.2/maccatalyst-arm64": {
1235+ "net10.0-maccatalyst26.2": {
1236− "Fabulous/3.0.0-pre23": {
1237− "type": "package",
1238− "dependencies": {
1239− "FSharp.Core": "8.0.300"
1240− },
1241− "compile": {
1242− "lib/net8.0/Fabulous.dll": {
1243− "related": ".xml"
1244− }
1245− },
1246− "runtime": {
1247− "lib/net8.0/Fabulous.dll": {
1248− "related": ".xml"
1249− }
1250− }
1251− },
1252− "Fabulous.MauiControls/9.0.0-pre9": {
1253− "type": "package",
1254− "dependencies": {
1255− "Fabulous": "3.0.0-pre23",
1256− "Microsoft.Maui.Controls": "9.0.0",
1257− "Microsoft.Maui.Controls.Compatibility": "9.0.0"
1258− },
1259− "compile": {
1260− "lib/net9.0/Fabulous.MauiControls.dll": {
1261− "related": ".xml"
1262− }
1263− },
1264− "runtime": {
1265− "lib/net9.0/Fabulous.MauiControls.dll": {
1266− "related": ".xml"
1267− }
1268− }
1269− },
1270− "FSharp.Core/9.0.100": {
1271− "type": "package",
1272− "compile": {
1273− "lib/netstandard2.1/FSharp.Core.dll": {
1274− "related": ".xml"
1275− }
1276− },
1277− "runtime": {
1278− "lib/netstandard2.1/FSharp.Core.dll": {
1279− "related": ".xml"
1280− }
1281− },
1282− "resource": {
1283− "lib/netstandard2.1/cs/FSharp.Core.resources.dll": {
1284− "locale": "cs"
1285− },
1286− "lib/netstandard2.1/de/FSharp.Core.resources.dll": {
1287− "locale": "de"
1288− },
1289− "lib/netstandard2.1/es/FSharp.Core.resources.dll": {
1290− "locale": "es"
1291− },
1292− "lib/netstandard2.1/fr/FSharp.Core.resources.dll": {
1293− "locale": "fr"
1294− },
1295− "lib/netstandard2.1/it/FSharp.Core.resources.dll": {
1296− "locale": "it"
1297− },
1298− "lib/netstandard2.1/ja/FSharp.Core.resources.dll": {
1299− "locale": "ja"
1300− },
1301− "lib/netstandard2.1/ko/FSharp.Core.resources.dll": {
1302− "locale": "ko"
1303− },
1304− "lib/netstandard2.1/pl/FSharp.Core.resources.dll": {
1305− "locale": "pl"
1306− },
1307− "lib/netstandard2.1/pt-BR/FSharp.Core.resources.dll": {
1308− "locale": "pt-BR"
1309− },
1310− "lib/netstandard2.1/ru/FSharp.Core.resources.dll": {
1311− "locale": "ru"
1312− },
1313− "lib/netstandard2.1/tr/FSharp.Core.resources.dll": {
1314− "locale": "tr"
1315− },
1316− "lib/netstandard2.1/zh-Hans/FSharp.Core.resources.dll": {
1317− "locale": "zh-Hans"
1318− },
1319− "lib/netstandard2.1/zh-Hant/FSharp.Core.resources.dll": {
1320− "locale": "zh-Hant"
1321− }
1322− }
1323− },
1324− "libsodium/1.0.20.1": {
1325− "type": "package",
1326− "native": {
1327− "runtimes/maccatalyst-arm64/native/libsodium.a": {}
1328− }
1329− },
1330− "LiteDB/5.0.21": {
1331− "type": "package",
1332− "compile": {
1333− "lib/netstandard2.0/LiteDB.dll": {
1334− "related": ".xml"
1335− }
1336− },
1337− "runtime": {
1338− "lib/netstandard2.0/LiteDB.dll": {
1339− "related": ".xml"
1340− }
1341− }
1342− },
1343− "Microsoft.Extensions.Configuration/10.0.0": {
1344− "type": "package",
1345− "dependencies": {
1346− "Microsoft.Extensions.Configuration.Abstractions": "10.0.0",
1347− "Microsoft.Extensions.Primitives": "10.0.0"
1348− },
1349− "compile": {
1350− "lib/net10.0/Microsoft.Extensions.Configuration.dll": {
1351− "related": ".xml"
1352− }
1353− },
1354− "runtime": {
1355− "lib/net10.0/Microsoft.Extensions.Configuration.dll": {
1356− "related": ".xml"
1357− }
1358− },
1359− "build": {
1360− "buildTransitive/net8.0/_._": {}
1361− }
1362− },
1363− "Microsoft.Extensions.Configuration.Abstractions/10.0.0": {
1364− "type": "package",
1365− "dependencies": {
1366− "Microsoft.Extensions.Primitives": "10.0.0"
1367− },
1368− "compile": {
1369− "lib/net10.0/Microsoft.Extensions.Configuration.Abstractions.dll": {
1370− "related": ".xml"
1371− }
1372− },
1373− "runtime": {
1374− "lib/net10.0/Microsoft.Extensions.Configuration.Abstractions.dll": {
1375− "related": ".xml"
1376− }
1377− },
1378− "build": {
1379− "buildTransitive/net8.0/_._": {}
1380− }
1381− },
1382− "Microsoft.Extensions.DependencyInjection/10.0.0": {
1383− "type": "package",
1384− "dependencies": {
1385− "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0"
1386− },
1387− "compile": {
1388− "lib/net10.0/Microsoft.Extensions.DependencyInjection.dll": {
1389− "related": ".xml"
1390− }
1391− },
1392− "runtime": {
1393− "lib/net10.0/Microsoft.Extensions.DependencyInjection.dll": {
1394− "related": ".xml"
1395− }
1396− },
1397− "build": {
1398− "buildTransitive/net8.0/_._": {}
1399− }
1400− },
1401− "Microsoft.Extensions.DependencyInjection.Abstractions/10.0.0": {
1402− "type": "package",
1403− "compile": {
1404− "lib/net10.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": {
1405− "related": ".xml"
1406− }
1407− },
1408− "runtime": {
1409− "lib/net10.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": {
1410− "related": ".xml"
1411− }
1412− },
1413− "build": {
1414− "buildTransitive/net8.0/_._": {}
1415− }
1416− },
1417− "Microsoft.Extensions.Diagnostics.Abstractions/10.0.0": {
1418− "type": "package",
1419− "dependencies": {
1420− "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0",
1421− "Microsoft.Extensions.Options": "10.0.0"
1422− },
1423− "compile": {
1424− "lib/net10.0/Microsoft.Extensions.Diagnostics.Abstractions.dll": {
1425− "related": ".xml"
1426− }
1427− },
1428− "runtime": {
1429− "lib/net10.0/Microsoft.Extensions.Diagnostics.Abstractions.dll": {
1430− "related": ".xml"
1431− }
1432− },
1433− "build": {
1434− "buildTransitive/net8.0/_._": {}
1435− }
1436− },
1437− "Microsoft.Extensions.FileProviders.Abstractions/10.0.0": {
1438− "type": "package",
1439− "dependencies": {
1440− "Microsoft.Extensions.Primitives": "10.0.0"
1441− },
1442− "compile": {
1443− "lib/net10.0/Microsoft.Extensions.FileProviders.Abstractions.dll": {
1444− "related": ".xml"
1445− }
1446− },
1447− "runtime": {
1448− "lib/net10.0/Microsoft.Extensions.FileProviders.Abstractions.dll": {
1449− "related": ".xml"
1450− }
1451− },
1452− "build": {
1453− "buildTransitive/net8.0/_._": {}
1454− }
1455− },
1456− "Microsoft.Extensions.Hosting.Abstractions/10.0.0": {
1457− "type": "package",
1458− "dependencies": {
1459− "Microsoft.Extensions.Configuration.Abstractions": "10.0.0",
1460− "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0",
1461− "Microsoft.Extensions.Diagnostics.Abstractions": "10.0.0",
1462− "Microsoft.Extensions.FileProviders.Abstractions": "10.0.0",
1463− "Microsoft.Extensions.Logging.Abstractions": "10.0.0"
1464− },
1465− "compile": {
1466− "lib/net10.0/Microsoft.Extensions.Hosting.Abstractions.dll": {
1467− "related": ".xml"
1468− }
1469− },
1470− "runtime": {
1471− "lib/net10.0/Microsoft.Extensions.Hosting.Abstractions.dll": {
1472− "related": ".xml"
1473− }
1474− },
1475− "build": {
1476− "buildTransitive/net8.0/_._": {}
1477− }
1478− },
1479− "Microsoft.Extensions.Logging/10.0.0": {
1480− "type": "package",
1481− "dependencies": {
1482− "Microsoft.Extensions.DependencyInjection": "10.0.0",
1483− "Microsoft.Extensions.Logging.Abstractions": "10.0.0",
1484− "Microsoft.Extensions.Options": "10.0.0"
1485− },
1486− "compile": {
1487− "lib/net10.0/Microsoft.Extensions.Logging.dll": {
1488− "related": ".xml"
1489− }
1490− },
1491− "runtime": {
1492− "lib/net10.0/Microsoft.Extensions.Logging.dll": {
1493− "related": ".xml"
1494− }
1495− },
1496− "build": {
1497− "buildTransitive/net8.0/_._": {}
1498− }
1499− },
1500− "Microsoft.Extensions.Logging.Abstractions/10.0.0": {
1501− "type": "package",
1502− "dependencies": {
1503− "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0"
1504− },
1505− "compile": {
1506− "lib/net10.0/Microsoft.Extensions.Logging.Abstractions.dll": {
1507− "related": ".xml"
1508− }
1509− },
1510− "runtime": {
1511− "lib/net10.0/Microsoft.Extensions.Logging.Abstractions.dll": {
1512− "related": ".xml"
1513− }
1514− },
1515− "build": {
1516− "buildTransitive/net8.0/Microsoft.Extensions.Logging.Abstractions.targets": {}
1517− }
1518− },
1519− "Microsoft.Extensions.Options/10.0.0": {
1520− "type": "package",
1521− "dependencies": {
1522− "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0",
1523− "Microsoft.Extensions.Primitives": "10.0.0"
1524− },
1525− "compile": {
1526− "lib/net10.0/Microsoft.Extensions.Options.dll": {
1527− "related": ".xml"
1528− }
1529− },
1530− "runtime": {
1531− "lib/net10.0/Microsoft.Extensions.Options.dll": {
1532− "related": ".xml"
1533− }
1534− },
1535− "build": {
1536− "buildTransitive/net8.0/Microsoft.Extensions.Options.targets": {}
1537− }
1538− },
1539− "Microsoft.Extensions.Primitives/10.0.0": {
1540− "type": "package",
1541− "compile": {
1542− "lib/net10.0/Microsoft.Extensions.Primitives.dll": {
1543− "related": ".xml"
1544− }
1545− },
1546− "runtime": {
1547− "lib/net10.0/Microsoft.Extensions.Primitives.dll": {
1548− "related": ".xml"
1549− }
1550− },
1551− "build": {
1552− "buildTransitive/net8.0/_._": {}
1553− }
1554− },
1555− "Microsoft.Maui.Controls/10.0.0": {
1556− "type": "package",
1557− "dependencies": {
1558− "Microsoft.Maui.Controls.Build.Tasks": "10.0.0",
1559− "Microsoft.Maui.Controls.Core": "10.0.0",
1560− "Microsoft.Maui.Controls.Xaml": "10.0.0",
1561− "Microsoft.Maui.Resizetizer": "10.0.0"
1562− }
1563− },
1564− "Microsoft.Maui.Controls.Build.Tasks/10.0.0": {
1565− "type": "package",
1566− "dependencies": {
1567− "Microsoft.Maui.Controls.Core": "10.0.0",
1568− "Microsoft.Maui.Controls.Xaml": "10.0.0"
1569− },
1570− "build": {
1571− "buildTransitive/net6.0-ios10.0/Microsoft.Maui.Controls.Build.Tasks.props": {},
1572− "buildTransitive/net6.0-ios10.0/Microsoft.Maui.Controls.Build.Tasks.targets": {}
1573− }
1574− },
1575− "Microsoft.Maui.Controls.Compatibility/9.0.0": {
1576− "type": "package",
1577− "dependencies": {
1578− "Microsoft.Extensions.Configuration": "9.0.0",
1579− "Microsoft.Extensions.Logging.Abstractions": "9.0.0",
1580− "Microsoft.Maui.Controls.Core": "9.0.0",
1581− "Microsoft.Maui.Controls.Xaml": "9.0.0"
1582− },
1583− "compile": {
1584− "lib/net9.0-ios18.0/Microsoft.Maui.Controls.Compatibility.dll": {
1585− "related": ".pdb;.xml"
1586− }
1587− },
1588− "runtime": {
1589− "lib/net9.0-ios18.0/Microsoft.Maui.Controls.Compatibility.dll": {
1590− "related": ".pdb;.xml"
1591− }
1592− }
1593− },
1594− "Microsoft.Maui.Controls.Core/10.0.0": {
1595− "type": "package",
1596− "dependencies": {
1597− "Microsoft.Extensions.Configuration": "10.0.0",
1598− "Microsoft.Extensions.DependencyInjection": "10.0.0",
1599− "Microsoft.Extensions.Logging": "10.0.0",
1600− "Microsoft.Extensions.Logging.Abstractions": "10.0.0",
1601− "Microsoft.Maui.Core": "10.0.0"
1602− },
1603− "compile": {
1604− "lib/net10.0-ios26.0/Microsoft.Maui.Controls.dll": {
1605− "related": ".pdb;.xml"
1606− }
1607− },
1608− "runtime": {
1609− "lib/net10.0-ios26.0/Microsoft.Maui.Controls.dll": {
1610− "related": ".pdb;.xml"
1611− }
1612− },
1613− "resource": {
1614− "lib/net10.0-ios26.0/ar/Microsoft.Maui.Controls.resources.dll": {
1615− "locale": "ar"
1616− },
1617− "lib/net10.0-ios26.0/ca/Microsoft.Maui.Controls.resources.dll": {
1618− "locale": "ca"
1619− },
1620− "lib/net10.0-ios26.0/cs/Microsoft.Maui.Controls.resources.dll": {
1621− "locale": "cs"
1622− },
1623− "lib/net10.0-ios26.0/da/Microsoft.Maui.Controls.resources.dll": {
1624− "locale": "da"
1625− },
1626− "lib/net10.0-ios26.0/de/Microsoft.Maui.Controls.resources.dll": {
1627− "locale": "de"
1628− },
1629− "lib/net10.0-ios26.0/el/Microsoft.Maui.Controls.resources.dll": {
1630− "locale": "el"
1631− },
1632− "lib/net10.0-ios26.0/es/Microsoft.Maui.Controls.resources.dll": {
1633− "locale": "es"
1634− },
1635− "lib/net10.0-ios26.0/fi/Microsoft.Maui.Controls.resources.dll": {
1636− "locale": "fi"
1637− },
1638− "lib/net10.0-ios26.0/fr/Microsoft.Maui.Controls.resources.dll": {
1639− "locale": "fr"
1640− },
1641− "lib/net10.0-ios26.0/he/Microsoft.Maui.Controls.resources.dll": {
1642− "locale": "he"
1643− },
1644− "lib/net10.0-ios26.0/hi/Microsoft.Maui.Controls.resources.dll": {
1645− "locale": "hi"
1646− },
1647− "lib/net10.0-ios26.0/hr/Microsoft.Maui.Controls.resources.dll": {
1648− "locale": "hr"
1649− },
1650− "lib/net10.0-ios26.0/hu/Microsoft.Maui.Controls.resources.dll": {
1651− "locale": "hu"
1652− },
1653− "lib/net10.0-ios26.0/id/Microsoft.Maui.Controls.resources.dll": {
1654− "locale": "id"
1655− },
1656− "lib/net10.0-ios26.0/it/Microsoft.Maui.Controls.resources.dll": {
1657− "locale": "it"
1658− },
1659− "lib/net10.0-ios26.0/ja/Microsoft.Maui.Controls.resources.dll": {
1660− "locale": "ja"
1661− },
1662− "lib/net10.0-ios26.0/ko/Microsoft.Maui.Controls.resources.dll": {
1663− "locale": "ko"
1664− },
1665− "lib/net10.0-ios26.0/ms/Microsoft.Maui.Controls.resources.dll": {
1666− "locale": "ms"
1667− },
1668− "lib/net10.0-ios26.0/nb/Microsoft.Maui.Controls.resources.dll": {
1669− "locale": "nb"
1670− },
1671− "lib/net10.0-ios26.0/nl/Microsoft.Maui.Controls.resources.dll": {
1672− "locale": "nl"
1673− },
1674− "lib/net10.0-ios26.0/pl/Microsoft.Maui.Controls.resources.dll": {
1675− "locale": "pl"
1676− },
1677− "lib/net10.0-ios26.0/pt-BR/Microsoft.Maui.Controls.resources.dll": {
1678− "locale": "pt-BR"
1679− },
1680− "lib/net10.0-ios26.0/pt/Microsoft.Maui.Controls.resources.dll": {
1681− "locale": "pt"
1682− },
1683− "lib/net10.0-ios26.0/ro/Microsoft.Maui.Controls.resources.dll": {
1684− "locale": "ro"
1685− },
1686− "lib/net10.0-ios26.0/ru/Microsoft.Maui.Controls.resources.dll": {
1687− "locale": "ru"
1688− },
1689− "lib/net10.0-ios26.0/sk/Microsoft.Maui.Controls.resources.dll": {
1690− "locale": "sk"
1691− },
1692− "lib/net10.0-ios26.0/sv/Microsoft.Maui.Controls.resources.dll": {
1693− "locale": "sv"
1694− },
1695− "lib/net10.0-ios26.0/th/Microsoft.Maui.Controls.resources.dll": {
1696− "locale": "th"
1697− },
1698− "lib/net10.0-ios26.0/tr/Microsoft.Maui.Controls.resources.dll": {
1699− "locale": "tr"
1700− },
1701− "lib/net10.0-ios26.0/uk/Microsoft.Maui.Controls.resources.dll": {
1702− "locale": "uk"
1703− },
1704− "lib/net10.0-ios26.0/vi/Microsoft.Maui.Controls.resources.dll": {
1705− "locale": "vi"
1706− },
1707− "lib/net10.0-ios26.0/zh-HK/Microsoft.Maui.Controls.resources.dll": {
1708− "locale": "zh-HK"
1709− },
1710− "lib/net10.0-ios26.0/zh-Hans/Microsoft.Maui.Controls.resources.dll": {
1711− "locale": "zh-Hans"
1712− },
1713− "lib/net10.0-ios26.0/zh-Hant/Microsoft.Maui.Controls.resources.dll": {
1714− "locale": "zh-Hant"
1715− }
1716− }
1717− },
1718− "Microsoft.Maui.Controls.Xaml/10.0.0": {
1719− "type": "package",
1720− "dependencies": {
1721− "Microsoft.Extensions.Configuration": "10.0.0",
1722− "Microsoft.Maui.Controls.Core": "10.0.0",
1723− "Microsoft.Maui.Core": "10.0.0"
1724− },
1725− "compile": {
1726− "lib/net10.0-ios26.0/Microsoft.Maui.Controls.Xaml.dll": {
1727− "related": ".pdb;.xml"
1728− }
1729− },
1730− "runtime": {
1731− "lib/net10.0-ios26.0/Microsoft.Maui.Controls.Xaml.dll": {
1732− "related": ".pdb;.xml"
1733− }
1734− }
1735− },
1736− "Microsoft.Maui.Core/10.0.0": {
1737− "type": "package",
1738− "dependencies": {
1739− "Microsoft.Extensions.Configuration": "10.0.0",
1740− "Microsoft.Extensions.DependencyInjection": "10.0.0",
1741− "Microsoft.Extensions.Hosting.Abstractions": "10.0.0",
1742− "Microsoft.Extensions.Logging": "10.0.0",
1743− "Microsoft.Extensions.Logging.Abstractions": "10.0.0",
1744− "Microsoft.Maui.Essentials": "10.0.0",
1745− "Microsoft.Maui.Graphics": "10.0.0"
1746− },
1747− "compile": {
1748− "lib/net10.0-ios26.0/Microsoft.Maui.dll": {
1749− "related": ".pdb;.xml"
1750− }
1751− },
1752− "runtime": {
1753− "lib/net10.0-ios26.0/Microsoft.Maui.dll": {
1754− "related": ".pdb;.xml"
1755− }
1756− },
1757− "build": {
1758− "buildTransitive/Microsoft.Maui.Core.props": {},
1759− "buildTransitive/Microsoft.Maui.Core.targets": {}
1760− }
1761− },
1762− "Microsoft.Maui.Essentials/10.0.0": {
1763− "type": "package",
1764− "dependencies": {
1765− "Microsoft.Maui.Graphics": "10.0.0"
1766− },
1767− "compile": {
1768− "lib/net10.0-ios26.0/Microsoft.Maui.Essentials.dll": {
1769− "related": ".pdb;.xml"
1770− }
1771− },
1772− "runtime": {
1773− "lib/net10.0-ios26.0/Microsoft.Maui.Essentials.dll": {
1774− "related": ".pdb;.xml"
1775− }
1776− }
1777− },
1778− "Microsoft.Maui.Graphics/10.0.0": {
1779− "type": "package",
1780− "compile": {
1781− "lib/net10.0-ios26.0/Microsoft.Maui.Graphics.dll": {
1782− "related": ".pdb;.xml"
1783− }
1784− },
1785− "runtime": {
1786− "lib/net10.0-ios26.0/Microsoft.Maui.Graphics.dll": {
1787− "related": ".pdb;.xml"
1788− }
1789− }
1790− },
1791− "Microsoft.Maui.Resizetizer/10.0.0": {
1792− "type": "package",
1793− "build": {
1794− "buildTransitive/Microsoft.Maui.Resizetizer.props": {},
1795− "buildTransitive/Microsoft.Maui.Resizetizer.targets": {}
1796− }
1797− },
1798− "Microsoft.NET.ILLink.Tasks/10.0.5": {
1799− "type": "package",
1800− "build": {
1801− "build/Microsoft.NET.ILLink.Tasks.props": {}
1802− }
1803− },
1804− "Sodium.Core/1.4.0": {
1805− "type": "package",
1806− "dependencies": {
1807− "libsodium": "[1.0.20.1, 1.0.21)"
1808− },
1809− "compile": {
1810− "lib/net8.0-ios18.0/Sodium.Core.dll": {
1811− "related": ".xml"
1812− }
1813− },
1814− "runtime": {
1815− "lib/net8.0-ios18.0/Sodium.Core.dll": {
1816− "related": ".xml"
1817− }
1818− }
1819− }
1820− },
1821− "net10.0-maccatalyst26.2": {
1822− "Fabulous/3.0.0-pre23": {
1823− "type": "package",
1824− "dependencies": {
1825− "FSharp.Core": "8.0.300"
1826− },
1827− "compile": {
1828− "lib/net8.0/Fabulous.dll": {
1829− "related": ".xml"
1830− }
1831− },
1832− "runtime": {
1833− "lib/net8.0/Fabulous.dll": {
1834− "related": ".xml"
1835− }
1836− }
1837− },
1838− "Fabulous.MauiControls/9.0.0-pre9": {
1839− "type": "package",
1840− "dependencies": {
1841− "Fabulous": "3.0.0-pre23",
1842− "Microsoft.Maui.Controls": "9.0.0",
1843− "Microsoft.Maui.Controls.Compatibility": "9.0.0"
1844− },
1845− "compile": {
1846− "lib/net9.0/Fabulous.MauiControls.dll": {
1847− "related": ".xml"
1848− }
1849− },
1850− "runtime": {
1851− "lib/net9.0/Fabulous.MauiControls.dll": {
1852− "related": ".xml"
1853− }
1854− }
1855− },
1856− "FSharp.Core/9.0.100": {
1857− "type": "package",
1858− "compile": {
1859− "lib/netstandard2.1/FSharp.Core.dll": {
1860− "related": ".xml"
1861− }
1862− },
1863− "runtime": {
1864− "lib/netstandard2.1/FSharp.Core.dll": {
1865− "related": ".xml"
1866− }
1867− },
1868− "resource": {
1869− "lib/netstandard2.1/cs/FSharp.Core.resources.dll": {
1870− "locale": "cs"
1871− },
1872− "lib/netstandard2.1/de/FSharp.Core.resources.dll": {
1873− "locale": "de"
1874− },
1875− "lib/netstandard2.1/es/FSharp.Core.resources.dll": {
1876− "locale": "es"
1877− },
1878− "lib/netstandard2.1/fr/FSharp.Core.resources.dll": {
1879− "locale": "fr"
1880− },
1881− "lib/netstandard2.1/it/FSharp.Core.resources.dll": {
1882− "locale": "it"
1883− },
1884− "lib/netstandard2.1/ja/FSharp.Core.resources.dll": {
1885− "locale": "ja"
1886− },
1887− "lib/netstandard2.1/ko/FSharp.Core.resources.dll": {
1888− "locale": "ko"
1889− },
1890− "lib/netstandard2.1/pl/FSharp.Core.resources.dll": {
1891− "locale": "pl"
1892− },
1893− "lib/netstandard2.1/pt-BR/FSharp.Core.resources.dll": {
1894− "locale": "pt-BR"
1895− },
1896− "lib/netstandard2.1/ru/FSharp.Core.resources.dll": {
1897− "locale": "ru"
1898− },
1899− "lib/netstandard2.1/tr/FSharp.Core.resources.dll": {
1900− "locale": "tr"
1901− },
1902− "lib/netstandard2.1/zh-Hans/FSharp.Core.resources.dll": {
1903− "locale": "zh-Hans"
1904− },
1905− "lib/netstandard2.1/zh-Hant/FSharp.Core.resources.dll": {
1906− "locale": "zh-Hant"
1907− }
1908− }
1909− },
1910− "libsodium/1.0.20.1": {
1911− "type": "package",
1912− "runtimeTargets": {
1913− "runtimes/ios-arm64/native/libsodium.a": {
1914− "assetType": "native",
1915− "rid": "ios-arm64"
1916− },
1917− "runtimes/linux-arm/native/libsodium.so": {
1918− "assetType": "native",
1919− "rid": "linux-arm"
1920− },
1921− "runtimes/linux-arm64/native/libsodium.so": {
1922− "assetType": "native",
1923− "rid": "linux-arm64"
1924− },
1925− "runtimes/linux-musl-arm/native/libsodium.so": {
1926− "assetType": "native",
1927− "rid": "linux-musl-arm"
1928− },
1929− "runtimes/linux-musl-arm64/native/libsodium.so": {
1930− "assetType": "native",
1931− "rid": "linux-musl-arm64"
1932− },
1933− "runtimes/linux-musl-x64/native/libsodium.so": {
1934− "assetType": "native",
1935− "rid": "linux-musl-x64"
1936− },
1937− "runtimes/linux-x64/native/libsodium.so": {
1938− "assetType": "native",
1939− "rid": "linux-x64"
1940− },
1941− "runtimes/maccatalyst-arm64/native/libsodium.a": {
1942− "assetType": "native",
1943− "rid": "maccatalyst-arm64"
1944− },
1945− "runtimes/maccatalyst-x64/native/libsodium.a": {
1946− "assetType": "native",
1947− "rid": "maccatalyst-x64"
1948− },
1949− "runtimes/osx-arm64/native/libsodium.dylib": {
1950− "assetType": "native",
1951− "rid": "osx-arm64"
1952− },
1953− "runtimes/osx-x64/native/libsodium.dylib": {
1954− "assetType": "native",
1955− "rid": "osx-x64"
1956− },
1957− "runtimes/tvos-arm64/native/libsodium.a": {
1958− "assetType": "native",
1959− "rid": "tvos-arm64"
1960− },
1961− "runtimes/win-arm64/native/libsodium.dll": {
1962− "assetType": "native",
1963− "rid": "win-arm64"
1964− },
1965− "runtimes/win-x64/native/libsodium.dll": {
1966− "assetType": "native",
1967− "rid": "win-x64"
1968− },
1969− "runtimes/win-x86/native/libsodium.dll": {
1970− "assetType": "native",
1971− "rid": "win-x86"
1972− }
1973− }
1974− },
1975− "LiteDB/5.0.21": {
1976− "type": "package",
1977− "compile": {
1978− "lib/netstandard2.0/LiteDB.dll": {
1979− "related": ".xml"
1980− }
1981− },
1982− "runtime": {
1983− "lib/netstandard2.0/LiteDB.dll": {
1984− "related": ".xml"
1985− }
1986− }
1987− },
1988− "Microsoft.Extensions.Configuration/10.0.0": {
1989− "type": "package",
1990− "dependencies": {
1991− "Microsoft.Extensions.Configuration.Abstractions": "10.0.0",
1992− "Microsoft.Extensions.Primitives": "10.0.0"
1993− },
1994− "compile": {
1995− "lib/net10.0/Microsoft.Extensions.Configuration.dll": {
1996− "related": ".xml"
1997− }
1998− },
1999− "runtime": {
2000− "lib/net10.0/Microsoft.Extensions.Configuration.dll": {
2001− "related": ".xml"
2002− }
2003− },
2004− "build": {
2005− "buildTransitive/net8.0/_._": {}
2006− }
2007− },
2008− "Microsoft.Extensions.Configuration.Abstractions/10.0.0": {
2009− "type": "package",
2010− "dependencies": {
2011− "Microsoft.Extensions.Primitives": "10.0.0"
2012− },
2013− "compile": {
2014− "lib/net10.0/Microsoft.Extensions.Configuration.Abstractions.dll": {
2015− "related": ".xml"
2016− }
2017− },
2018− "runtime": {
2019− "lib/net10.0/Microsoft.Extensions.Configuration.Abstractions.dll": {
2020− "related": ".xml"
2021− }
2022− },
2023− "build": {
2024− "buildTransitive/net8.0/_._": {}
2025− }
2026− },
2027− "Microsoft.Extensions.DependencyInjection/10.0.0": {
2028− "type": "package",
2029− "dependencies": {
2030− "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0"
2031− },
2032− "compile": {
2033− "lib/net10.0/Microsoft.Extensions.DependencyInjection.dll": {
2034− "related": ".xml"
2035− }
2036− },
2037− "runtime": {
2038− "lib/net10.0/Microsoft.Extensions.DependencyInjection.dll": {
2039− "related": ".xml"
2040− }
2041− },
2042− "build": {
2043− "buildTransitive/net8.0/_._": {}
2044− }
2045− },
2046− "Microsoft.Extensions.DependencyInjection.Abstractions/10.0.0": {
2047− "type": "package",
2048− "compile": {
2049− "lib/net10.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": {
2050− "related": ".xml"
2051− }
2052− },
2053− "runtime": {
2054− "lib/net10.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": {
2055− "related": ".xml"
2056− }
2057− },
2058− "build": {
2059− "buildTransitive/net8.0/_._": {}
2060− }
2061− },
2062− "Microsoft.Extensions.Diagnostics.Abstractions/10.0.0": {
2063− "type": "package",
2064− "dependencies": {
2065− "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0",
2066− "Microsoft.Extensions.Options": "10.0.0"
2067− },
2068− "compile": {
2069− "lib/net10.0/Microsoft.Extensions.Diagnostics.Abstractions.dll": {
2070− "related": ".xml"
2071− }
2072− },
2073− "runtime": {
2074− "lib/net10.0/Microsoft.Extensions.Diagnostics.Abstractions.dll": {
2075− "related": ".xml"
2076− }
2077− },
2078− "build": {
2079− "buildTransitive/net8.0/_._": {}
2080− }
2081− },
2082− "Microsoft.Extensions.FileProviders.Abstractions/10.0.0": {
2083− "type": "package",
2084− "dependencies": {
2085− "Microsoft.Extensions.Primitives": "10.0.0"
2086− },
2087− "compile": {
2088− "lib/net10.0/Microsoft.Extensions.FileProviders.Abstractions.dll": {
2089− "related": ".xml"
2090− }
2091− },
2092− "runtime": {
2093− "lib/net10.0/Microsoft.Extensions.FileProviders.Abstractions.dll": {
2094− "related": ".xml"
2095− }
2096− },
2097− "build": {
2098− "buildTransitive/net8.0/_._": {}
2099− }
2100− },
2101− "Microsoft.Extensions.Hosting.Abstractions/10.0.0": {
2102− "type": "package",
2103− "dependencies": {
2104− "Microsoft.Extensions.Configuration.Abstractions": "10.0.0",
2105− "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0",
2106− "Microsoft.Extensions.Diagnostics.Abstractions": "10.0.0",
2107− "Microsoft.Extensions.FileProviders.Abstractions": "10.0.0",
2108− "Microsoft.Extensions.Logging.Abstractions": "10.0.0"
2109− },
2110− "compile": {
2111− "lib/net10.0/Microsoft.Extensions.Hosting.Abstractions.dll": {
2112− "related": ".xml"
2113− }
2114− },
2115− "runtime": {
2116− "lib/net10.0/Microsoft.Extensions.Hosting.Abstractions.dll": {
2117− "related": ".xml"
2118− }
2119− },
2120− "build": {
2121− "buildTransitive/net8.0/_._": {}
2122− }
2123− },
2124− "Microsoft.Extensions.Logging/10.0.0": {
2125− "type": "package",
2126− "dependencies": {
2127− "Microsoft.Extensions.DependencyInjection": "10.0.0",
2128− "Microsoft.Extensions.Logging.Abstractions": "10.0.0",
2129− "Microsoft.Extensions.Options": "10.0.0"
2130− },
2131− "compile": {
2132− "lib/net10.0/Microsoft.Extensions.Logging.dll": {
2133− "related": ".xml"
2134− }
2135− },
2136− "runtime": {
2137− "lib/net10.0/Microsoft.Extensions.Logging.dll": {
2138− "related": ".xml"
2139− }
2140− },
2141− "build": {
2142− "buildTransitive/net8.0/_._": {}
2143− }
2144− },
2145− "Microsoft.Extensions.Logging.Abstractions/10.0.0": {
2146− "type": "package",
2147− "dependencies": {
2148− "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0"
2149− },
2150− "compile": {
2151− "lib/net10.0/Microsoft.Extensions.Logging.Abstractions.dll": {
2152− "related": ".xml"
2153− }
2154− },
2155− "runtime": {
2156− "lib/net10.0/Microsoft.Extensions.Logging.Abstractions.dll": {
2157− "related": ".xml"
2158− }
2159− },
2160− "build": {
2161− "buildTransitive/net8.0/Microsoft.Extensions.Logging.Abstractions.targets": {}
2162− }
2163− },
2164− "Microsoft.Extensions.Options/10.0.0": {
2165− "type": "package",
2166− "dependencies": {
2167− "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0",
2168− "Microsoft.Extensions.Primitives": "10.0.0"
2169− },
2170− "compile": {
2171− "lib/net10.0/Microsoft.Extensions.Options.dll": {
2172− "related": ".xml"
2173− }
2174− },
2175− "runtime": {
2176− "lib/net10.0/Microsoft.Extensions.Options.dll": {
2177− "related": ".xml"
2178− }
2179− },
2180− "build": {
2181− "buildTransitive/net8.0/Microsoft.Extensions.Options.targets": {}
2182− }
2183− },
2184− "Microsoft.Extensions.Primitives/10.0.0": {
2185− "type": "package",
2186− "compile": {
2187− "lib/net10.0/Microsoft.Extensions.Primitives.dll": {
2188− "related": ".xml"
2189− }
2190− },
2191− "runtime": {
2192− "lib/net10.0/Microsoft.Extensions.Primitives.dll": {
2193− "related": ".xml"
2194− }
2195− },
2196− "build": {
2197− "buildTransitive/net8.0/_._": {}
2198− }
2199− },
2200− "Microsoft.Maui.Controls/10.0.0": {
2201− "type": "package",
2202− "dependencies": {
2203− "Microsoft.Maui.Controls.Build.Tasks": "10.0.0",
2204− "Microsoft.Maui.Controls.Core": "10.0.0",
2205− "Microsoft.Maui.Controls.Xaml": "10.0.0",
2206− "Microsoft.Maui.Resizetizer": "10.0.0"
2207− }
2208− },
2209− "Microsoft.Maui.Controls.Build.Tasks/10.0.0": {
2210− "type": "package",
2211− "dependencies": {
2212− "Microsoft.Maui.Controls.Core": "10.0.0",
2213− "Microsoft.Maui.Controls.Xaml": "10.0.0"
2214− },
2215− "build": {
2216− "buildTransitive/net6.0-maccatalyst13.1/Microsoft.Maui.Controls.Build.Tasks.props": {},
2217− "buildTransitive/net6.0-maccatalyst13.1/Microsoft.Maui.Controls.Build.Tasks.targets": {}
2218− }
2219− },
2220− "Microsoft.Maui.Controls.Compatibility/9.0.0": {
2221− "type": "package",
2222− "dependencies": {
2223− "Microsoft.Extensions.Configuration": "9.0.0",
2224− "Microsoft.Extensions.Logging.Abstractions": "9.0.0",
2225− "Microsoft.Maui.Controls.Core": "9.0.0",
2226− "Microsoft.Maui.Controls.Xaml": "9.0.0"
2227− },
2228− "compile": {
2229− "lib/net9.0-maccatalyst18.0/Microsoft.Maui.Controls.Compatibility.dll": {
2230− "related": ".pdb;.xml"
2231− }
2232− },
2233− "runtime": {
2234− "lib/net9.0-maccatalyst18.0/Microsoft.Maui.Controls.Compatibility.dll": {
2235− "related": ".pdb;.xml"
2236− }
2237− }
2238− },
2239− "Microsoft.Maui.Controls.Core/10.0.0": {
2240− "type": "package",
2241− "dependencies": {
2242− "Microsoft.Extensions.Configuration": "10.0.0",
2243− "Microsoft.Extensions.DependencyInjection": "10.0.0",
2244− "Microsoft.Extensions.Logging": "10.0.0",
2245− "Microsoft.Extensions.Logging.Abstractions": "10.0.0",
2246− "Microsoft.Maui.Core": "10.0.0"
2247− },
2248− "compile": {
2249− "lib/net10.0-maccatalyst26.0/Microsoft.Maui.Controls.dll": {
2250− "related": ".pdb;.xml"
2251− }
2252− },
2253− "runtime": {
2254− "lib/net10.0-maccatalyst26.0/Microsoft.Maui.Controls.dll": {
2255− "related": ".pdb;.xml"
2256− }
2257− },
2258− "resource": {
2259− "lib/net10.0-maccatalyst26.0/ar/Microsoft.Maui.Controls.resources.dll": {
2260− "locale": "ar"
2261− },
2262− "lib/net10.0-maccatalyst26.0/ca/Microsoft.Maui.Controls.resources.dll": {
2263− "locale": "ca"
2264− },
2265− "lib/net10.0-maccatalyst26.0/cs/Microsoft.Maui.Controls.resources.dll": {
2266− "locale": "cs"
2267− },
2268− "lib/net10.0-maccatalyst26.0/da/Microsoft.Maui.Controls.resources.dll": {
2269− "locale": "da"
2270− },
2271− "lib/net10.0-maccatalyst26.0/de/Microsoft.Maui.Controls.resources.dll": {
2272− "locale": "de"
2273− },
2274− "lib/net10.0-maccatalyst26.0/el/Microsoft.Maui.Controls.resources.dll": {
2275− "locale": "el"
2276− },
2277− "lib/net10.0-maccatalyst26.0/es/Microsoft.Maui.Controls.resources.dll": {
2278− "locale": "es"
2279− },
2280− "lib/net10.0-maccatalyst26.0/fi/Microsoft.Maui.Controls.resources.dll": {
2281− "locale": "fi"
2282− },
2283− "lib/net10.0-maccatalyst26.0/fr/Microsoft.Maui.Controls.resources.dll": {
2284− "locale": "fr"
2285− },
2286− "lib/net10.0-maccatalyst26.0/he/Microsoft.Maui.Controls.resources.dll": {
2287− "locale": "he"
2288− },
2289− "lib/net10.0-maccatalyst26.0/hi/Microsoft.Maui.Controls.resources.dll": {
2290− "locale": "hi"
2291− },
2292− "lib/net10.0-maccatalyst26.0/hr/Microsoft.Maui.Controls.resources.dll": {
2293− "locale": "hr"
2294− },
2295− "lib/net10.0-maccatalyst26.0/hu/Microsoft.Maui.Controls.resources.dll": {
2296− "locale": "hu"
2297− },
2298− "lib/net10.0-maccatalyst26.0/id/Microsoft.Maui.Controls.resources.dll": {
2299− "locale": "id"
2300− },
2301− "lib/net10.0-maccatalyst26.0/it/Microsoft.Maui.Controls.resources.dll": {
2302− "locale": "it"
2303− },
2304− "lib/net10.0-maccatalyst26.0/ja/Microsoft.Maui.Controls.resources.dll": {
2305− "locale": "ja"
2306− },
2307− "lib/net10.0-maccatalyst26.0/ko/Microsoft.Maui.Controls.resources.dll": {
2308− "locale": "ko"
2309− },
2310− "lib/net10.0-maccatalyst26.0/ms/Microsoft.Maui.Controls.resources.dll": {
2311− "locale": "ms"
2312− },
2313− "lib/net10.0-maccatalyst26.0/nb/Microsoft.Maui.Controls.resources.dll": {
2314− "locale": "nb"
2315− },
2316− "lib/net10.0-maccatalyst26.0/nl/Microsoft.Maui.Controls.resources.dll": {
2317− "locale": "nl"
2318− },
2319− "lib/net10.0-maccatalyst26.0/pl/Microsoft.Maui.Controls.resources.dll": {
2320− "locale": "pl"
2321− },
2322− "lib/net10.0-maccatalyst26.0/pt-BR/Microsoft.Maui.Controls.resources.dll": {
2323− "locale": "pt-BR"
2324− },
2325− "lib/net10.0-maccatalyst26.0/pt/Microsoft.Maui.Controls.resources.dll": {
2326− "locale": "pt"
2327− },
2328− "lib/net10.0-maccatalyst26.0/ro/Microsoft.Maui.Controls.resources.dll": {
2329− "locale": "ro"
2330− },
2331− "lib/net10.0-maccatalyst26.0/ru/Microsoft.Maui.Controls.resources.dll": {
2332− "locale": "ru"
2333− },
2334− "lib/net10.0-maccatalyst26.0/sk/Microsoft.Maui.Controls.resources.dll": {
2335− "locale": "sk"
2336− },
2337− "lib/net10.0-maccatalyst26.0/sv/Microsoft.Maui.Controls.resources.dll": {
2338− "locale": "sv"
2339− },
2340− "lib/net10.0-maccatalyst26.0/th/Microsoft.Maui.Controls.resources.dll": {
2341− "locale": "th"
2342− },
2343− "lib/net10.0-maccatalyst26.0/tr/Microsoft.Maui.Controls.resources.dll": {
2344− "locale": "tr"
2345− },
2346− "lib/net10.0-maccatalyst26.0/uk/Microsoft.Maui.Controls.resources.dll": {
2347− "locale": "uk"
2348− },
2349− "lib/net10.0-maccatalyst26.0/vi/Microsoft.Maui.Controls.resources.dll": {
2350− "locale": "vi"
2351− },
2352− "lib/net10.0-maccatalyst26.0/zh-HK/Microsoft.Maui.Controls.resources.dll": {
2353− "locale": "zh-HK"
2354− },
2355− "lib/net10.0-maccatalyst26.0/zh-Hans/Microsoft.Maui.Controls.resources.dll": {
2356− "locale": "zh-Hans"
2357− },
2358− "lib/net10.0-maccatalyst26.0/zh-Hant/Microsoft.Maui.Controls.resources.dll": {
2359− "locale": "zh-Hant"
2360− }
2361− }
2362− },
2363− "Microsoft.Maui.Controls.Xaml/10.0.0": {
2364− "type": "package",
2365− "dependencies": {
2366− "Microsoft.Extensions.Configuration": "10.0.0",
2367− "Microsoft.Maui.Controls.Core": "10.0.0",
2368− "Microsoft.Maui.Core": "10.0.0"
2369− },
2370− "compile": {
2371− "lib/net10.0-maccatalyst26.0/Microsoft.Maui.Controls.Xaml.dll": {
2372− "related": ".pdb;.xml"
2373− }
2374− },
2375− "runtime": {
2376− "lib/net10.0-maccatalyst26.0/Microsoft.Maui.Controls.Xaml.dll": {
2377− "related": ".pdb;.xml"
2378− }
2379− }
2380− },
2381− "Microsoft.Maui.Core/10.0.0": {
2382− "type": "package",
2383− "dependencies": {
2384− "Microsoft.Extensions.Configuration": "10.0.0",
2385− "Microsoft.Extensions.DependencyInjection": "10.0.0",
2386− "Microsoft.Extensions.Hosting.Abstractions": "10.0.0",
2387− "Microsoft.Extensions.Logging": "10.0.0",
2388− "Microsoft.Extensions.Logging.Abstractions": "10.0.0",
2389− "Microsoft.Maui.Essentials": "10.0.0",
2390− "Microsoft.Maui.Graphics": "10.0.0"
2391− },
2392− "compile": {
2393− "lib/net10.0-maccatalyst26.0/Microsoft.Maui.dll": {
2394− "related": ".pdb;.xml"
2395− }
2396− },
2397− "runtime": {
2398− "lib/net10.0-maccatalyst26.0/Microsoft.Maui.dll": {
2399− "related": ".pdb;.xml"
2400− }
2401− },
2402− "build": {
2403− "buildTransitive/Microsoft.Maui.Core.props": {},
2404− "buildTransitive/Microsoft.Maui.Core.targets": {}
2405− }
2406− },
2407− "Microsoft.Maui.Essentials/10.0.0": {
2408− "type": "package",
2409− "dependencies": {
2410− "Microsoft.Maui.Graphics": "10.0.0"
2411− },
2412− "compile": {
2413− "lib/net10.0-maccatalyst26.0/Microsoft.Maui.Essentials.dll": {
2414− "related": ".pdb;.xml"
2415− }
2416− },
2417− "runtime": {
2418− "lib/net10.0-maccatalyst26.0/Microsoft.Maui.Essentials.dll": {
2419− "related": ".pdb;.xml"
2420− }
2421− }
2422− },
2423− "Microsoft.Maui.Graphics/10.0.0": {
2424− "type": "package",
2425− "compile": {
2426− "lib/net10.0-maccatalyst26.0/Microsoft.Maui.Graphics.dll": {
2427− "related": ".pdb;.xml"
2428− }
2429− },
2430− "runtime": {
2431− "lib/net10.0-maccatalyst26.0/Microsoft.Maui.Graphics.dll": {
2432− "related": ".pdb;.xml"
2433− }
2434− }
2435− },
2436− "Microsoft.Maui.Resizetizer/10.0.0": {
2437− "type": "package",
2438− "build": {
2439− "buildTransitive/Microsoft.Maui.Resizetizer.props": {},
2440− "buildTransitive/Microsoft.Maui.Resizetizer.targets": {}
2441− }
2442− },
2443− "Microsoft.NET.ILLink.Tasks/10.0.5": {
2444− "type": "package",
2445− "build": {
2446− "build/Microsoft.NET.ILLink.Tasks.props": {}
2447− }
2448− },
2449− "Sodium.Core/1.4.0": {
2450− "type": "package",
2451− "dependencies": {
2452− "libsodium": "[1.0.20.1, 1.0.21)"
2453− },
2454− "compile": {
2455− "lib/net8.0-maccatalyst18.0/Sodium.Core.dll": {
2456− "related": ".xml"
2457− }
2458− },
2459− "runtime": {
2460− "lib/net8.0-maccatalyst18.0/Sodium.Core.dll": {
2461− "related": ".xml"
2462− }
2463− }
2464− }
2465− },
2466− "net10.0-maccatalyst26.2/iossimulator-arm64": {
2467 "Fabulous/3.0.0-pre23": {
1236 "Fabulous/3.0.0-pre23": {
2468 "type": "package",
1237 "type": "package",
2469 "dependencies": {
1238 "dependencies": {
@@ -2554,8 +1323,67 @@
2554 },
1323 },
2555 "libsodium/1.0.20.1": {
1324 "libsodium/1.0.20.1": {
2556 "type": "package",
1325 "type": "package",
2557− "native": {
1326+ "runtimeTargets": {
2558− "runtimes/ios-arm64/native/libsodium.a": {}
1327+ "runtimes/ios-arm64/native/libsodium.a": {
1328+ "assetType": "native",
1329+ "rid": "ios-arm64"
1330+ },
1331+ "runtimes/linux-arm/native/libsodium.so": {
1332+ "assetType": "native",
1333+ "rid": "linux-arm"
1334+ },
1335+ "runtimes/linux-arm64/native/libsodium.so": {
1336+ "assetType": "native",
1337+ "rid": "linux-arm64"
1338+ },
1339+ "runtimes/linux-musl-arm/native/libsodium.so": {
1340+ "assetType": "native",
1341+ "rid": "linux-musl-arm"
1342+ },
1343+ "runtimes/linux-musl-arm64/native/libsodium.so": {
1344+ "assetType": "native",
1345+ "rid": "linux-musl-arm64"
1346+ },
1347+ "runtimes/linux-musl-x64/native/libsodium.so": {
1348+ "assetType": "native",
1349+ "rid": "linux-musl-x64"
1350+ },
1351+ "runtimes/linux-x64/native/libsodium.so": {
1352+ "assetType": "native",
1353+ "rid": "linux-x64"
1354+ },
1355+ "runtimes/maccatalyst-arm64/native/libsodium.a": {
1356+ "assetType": "native",
1357+ "rid": "maccatalyst-arm64"
1358+ },
1359+ "runtimes/maccatalyst-x64/native/libsodium.a": {
1360+ "assetType": "native",
1361+ "rid": "maccatalyst-x64"
1362+ },
1363+ "runtimes/osx-arm64/native/libsodium.dylib": {
1364+ "assetType": "native",
1365+ "rid": "osx-arm64"
1366+ },
1367+ "runtimes/osx-x64/native/libsodium.dylib": {
1368+ "assetType": "native",
1369+ "rid": "osx-x64"
1370+ },
1371+ "runtimes/tvos-arm64/native/libsodium.a": {
1372+ "assetType": "native",
1373+ "rid": "tvos-arm64"
1374+ },
1375+ "runtimes/win-arm64/native/libsodium.dll": {
1376+ "assetType": "native",
1377+ "rid": "win-arm64"
1378+ },
1379+ "runtimes/win-x64/native/libsodium.dll": {
1380+ "assetType": "native",
1381+ "rid": "win-x64"
1382+ },
1383+ "runtimes/win-x86/native/libsodium.dll": {
1384+ "assetType": "native",
1385+ "rid": "win-x86"
1386+ }
2559 }
1387 }
2560 },
1388 },
2561 "LiteDB/5.0.21": {
1389 "LiteDB/5.0.21": {
@@ -3049,7 +1877,7 @@
3049 }
1877 }
3050 }
1878 }
3051 },
1879 },
3052− "net10.0-maccatalyst26.2/maccatalyst-arm64": {
1880+ "net10.0-maccatalyst26.2/iossimulator-arm64": {
3053 "Fabulous/3.0.0-pre23": {
1881 "Fabulous/3.0.0-pre23": {
3054 "type": "package",
1882 "type": "package",
3055 "dependencies": {
1883 "dependencies": {
@@ -3141,7 +1969,7 @@
3141 "libsodium/1.0.20.1": {
1969 "libsodium/1.0.20.1": {
3142 "type": "package",
1970 "type": "package",
3143 "native": {
1971 "native": {
3144− "runtimes/maccatalyst-arm64/native/libsodium.a": {}
1972+ "runtimes/ios-arm64/native/libsodium.a": {}
3145 }
1973 }
3146 },
1974 },
3147 "LiteDB/5.0.21": {
1975 "LiteDB/5.0.21": {
@@ -5662,9 +4490,6 @@
5662 "runtimes": {
4490 "runtimes": {
5663 "iossimulator-arm64": {
4491 "iossimulator-arm64": {
5664 "#import": []
4492 "#import": []
5665− },
5666− "maccatalyst-arm64": {
5667− "#import": []
5668 }
4493 }
5669 }
4494 }
5670 }
4495 }
client/obj/project.nuget.cache+1−1
@@ -1,6 +1,6 @@
1{
1{
2 "version": 2,
2 "version": 2,
3− "dgSpecHash": "VeBMJNb5HXc=",
3+ "dgSpecHash": "mGD1igy7dck=",
4 "success": true,
4 "success": true,
5 "projectFilePath": "/Users/iko/Developer/skrepka/client/Skrepka.fsproj",
5 "projectFilePath": "/Users/iko/Developer/skrepka/client/Skrepka.fsproj",
6 "expectedPackageFiles": [
6 "expectedPackageFiles": [