Mayo commited on
Commit
78b6795
·
unverified ·
1 Parent(s): ee2189a

feat: sentry integration

Browse files
Cargo.lock CHANGED
@@ -18,6 +18,163 @@ version = "0.1.10"
18
  source = "registry+https://github.com/rust-lang/crates.io-index"
19
  checksum = "366ffbaa4442f4684d91e2cd7c5ea7c4ed8add41959a31447066e279e432b618"
20
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
21
  [[package]]
22
  name = "adler2"
23
  version = "2.0.1"
@@ -338,7 +495,7 @@ dependencies = [
338
  "bytes",
339
  "form_urlencoded",
340
  "futures-util",
341
- "http",
342
  "http-body",
343
  "http-body-util",
344
  "hyper",
@@ -372,7 +529,7 @@ checksum = "08c78f31d7b1291f7ee735c1c6780ccde7785daae9a9206026862dab7d8792d1"
372
  dependencies = [
373
  "bytes",
374
  "futures-core",
375
- "http",
376
  "http-body",
377
  "http-body-util",
378
  "mime",
@@ -383,6 +540,21 @@ dependencies = [
383
  "tracing",
384
  ]
385
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
386
  [[package]]
387
  name = "base64"
388
  version = "0.13.1"
@@ -595,6 +767,15 @@ dependencies = [
595
  "serde",
596
  ]
597
 
 
 
 
 
 
 
 
 
 
598
  [[package]]
599
  name = "cairo-rs"
600
  version = "0.18.5"
@@ -1016,6 +1197,15 @@ version = "0.4.0"
1016
  source = "registry+https://github.com/rust-lang/crates.io-index"
1017
  checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e"
1018
 
 
 
 
 
 
 
 
 
 
1019
  [[package]]
1020
  name = "cookie"
1021
  version = "0.18.1"
@@ -1412,6 +1602,16 @@ dependencies = [
1412
  "zeroize",
1413
  ]
1414
 
 
 
 
 
 
 
 
 
 
 
1415
  [[package]]
1416
  name = "der"
1417
  version = "0.8.0"
@@ -1480,7 +1680,7 @@ version = "0.99.20"
1480
  source = "registry+https://github.com/rust-lang/crates.io-index"
1481
  checksum = "6edb4b64a43d977b8e99788fe3a04d483834fba1215a7e02caa415b626497f7f"
1482
  dependencies = [
1483
- "convert_case",
1484
  "proc-macro2",
1485
  "quote",
1486
  "rustc_version",
@@ -1502,10 +1702,12 @@ version = "2.1.1"
1502
  source = "registry+https://github.com/rust-lang/crates.io-index"
1503
  checksum = "799a97264921d8623a957f6c3b9011f3b5492f557bbb7a5a19b7fa6d06ba8dcb"
1504
  dependencies = [
 
1505
  "proc-macro2",
1506
  "quote",
1507
  "rustc_version",
1508
  "syn 2.0.117",
 
1509
  ]
1510
 
1511
  [[package]]
@@ -1890,6 +2092,18 @@ version = "0.1.9"
1890
  source = "registry+https://github.com/rust-lang/crates.io-index"
1891
  checksum = "5baebc0774151f905a1a2cc41989300b1e6fbb29aff0ceffa1064fdd3088d582"
1892
 
 
 
 
 
 
 
 
 
 
 
 
 
1893
  [[package]]
1894
  name = "fixed_decimal"
1895
  version = "0.7.2"
@@ -2564,6 +2778,12 @@ dependencies = [
2564
  "weezl",
2565
  ]
2566
 
 
 
 
 
 
 
2567
  [[package]]
2568
  name = "gio"
2569
  version = "0.18.4"
@@ -2851,7 +3071,7 @@ dependencies = [
2851
  "fnv",
2852
  "futures-core",
2853
  "futures-sink",
2854
- "http",
2855
  "indexmap 2.13.1",
2856
  "slab",
2857
  "tokio",
@@ -2949,7 +3169,7 @@ checksum = "aef3982638978efa195ff11b305f51f1f22f4f0a6cabee7af79b383ebee6a213"
2949
  dependencies = [
2950
  "dirs",
2951
  "futures",
2952
- "http",
2953
  "indicatif",
2954
  "libc",
2955
  "log",
@@ -2965,6 +3185,17 @@ dependencies = [
2965
  "windows-sys 0.61.2",
2966
  ]
2967
 
 
 
 
 
 
 
 
 
 
 
 
2968
  [[package]]
2969
  name = "html5ever"
2970
  version = "0.29.1"
@@ -2987,6 +3218,17 @@ dependencies = [
2987
  "markup5ever 0.38.0",
2988
  ]
2989
 
 
 
 
 
 
 
 
 
 
 
 
2990
  [[package]]
2991
  name = "http"
2992
  version = "1.4.0"
@@ -3004,7 +3246,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
3004
  checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184"
3005
  dependencies = [
3006
  "bytes",
3007
- "http",
3008
  ]
3009
 
3010
  [[package]]
@@ -3015,7 +3257,7 @@ checksum = "b021d93e26becf5dc7e1b75b1bed1fd93124b374ceb73f43d4d4eafec896a64a"
3015
  dependencies = [
3016
  "bytes",
3017
  "futures-core",
3018
- "http",
3019
  "http-body",
3020
  "pin-project-lite",
3021
  ]
@@ -3043,7 +3285,7 @@ dependencies = [
3043
  "futures-channel",
3044
  "futures-core",
3045
  "h2",
3046
- "http",
3047
  "http-body",
3048
  "httparse",
3049
  "httpdate",
@@ -3060,7 +3302,7 @@ version = "0.27.7"
3060
  source = "registry+https://github.com/rust-lang/crates.io-index"
3061
  checksum = "e3c93eb611681b207e1fe55d5a71ecf91572ec8a6705cdb6857f7d8d5242cf58"
3062
  dependencies = [
3063
- "http",
3064
  "hyper",
3065
  "hyper-util",
3066
  "rustls",
@@ -3096,14 +3338,14 @@ dependencies = [
3096
  "bytes",
3097
  "futures-channel",
3098
  "futures-util",
3099
- "http",
3100
  "http-body",
3101
  "hyper",
3102
  "ipnet",
3103
  "libc",
3104
  "percent-encoding",
3105
  "pin-project-lite",
3106
- "socket2",
3107
  "system-configuration",
3108
  "tokio",
3109
  "tower-service",
@@ -3636,6 +3878,12 @@ version = "1.12.0"
3636
  source = "registry+https://github.com/rust-lang/crates.io-index"
3637
  checksum = "e7c5cedc30da3a610cac6b4ba17597bdf7152cf974e8aab3afb3d54455e371c8"
3638
 
 
 
 
 
 
 
3639
  [[package]]
3640
  name = "indexmap"
3641
  version = "1.9.3"
@@ -3928,6 +4176,7 @@ dependencies = [
3928
  "koharu-runtime",
3929
  "once_cell",
3930
  "rfd",
 
3931
  "serde_json",
3932
  "tauri",
3933
  "tauri-build",
@@ -4171,6 +4420,12 @@ dependencies = [
4171
  "selectors 0.24.0",
4172
  ]
4173
 
 
 
 
 
 
 
4174
  [[package]]
4175
  name = "lazy_static"
4176
  version = "1.5.0"
@@ -4317,6 +4572,12 @@ version = "1.0.0"
4317
  source = "registry+https://github.com/rust-lang/crates.io-index"
4318
  checksum = "11d3d7f243d5c5a8b9bb5d6dd2b1602c0cb0b9db1621bafc7ed66e35ff9fe092"
4319
 
 
 
 
 
 
 
4320
  [[package]]
4321
  name = "lock_api"
4322
  version = "0.4.14"
@@ -4565,6 +4826,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
4565
  checksum = "50b7e5b27aa02a74bac8c3f23f448f8d87ff11f92d3aac1a6ed369ee08cc56c1"
4566
  dependencies = [
4567
  "libc",
 
4568
  "wasi 0.11.1+wasi-snapshot-preview1",
4569
  "windows-sys 0.61.2",
4570
  ]
@@ -4631,7 +4893,7 @@ dependencies = [
4631
  "bytes",
4632
  "encoding_rs",
4633
  "futures-util",
4634
- "http",
4635
  "httparse",
4636
  "memchr",
4637
  "mime",
@@ -4725,6 +4987,18 @@ version = "1.0.6"
4725
  source = "registry+https://github.com/rust-lang/crates.io-index"
4726
  checksum = "650eef8c711430f1a879fdd01d4745a7deea475becfb90269c06775983bbf086"
4727
 
 
 
 
 
 
 
 
 
 
 
 
 
4728
  [[package]]
4729
  name = "nodrop"
4730
  version = "0.1.14"
@@ -4921,6 +5195,27 @@ dependencies = [
4921
  "objc2-foundation",
4922
  ]
4923
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4924
  [[package]]
4925
  name = "objc2-core-foundation"
4926
  version = "0.3.2"
@@ -4945,6 +5240,38 @@ dependencies = [
4945
  "objc2-io-surface",
4946
  ]
4947
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4948
  [[package]]
4949
  name = "objc2-encode"
4950
  version = "4.1.0"
@@ -5059,8 +5386,27 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
5059
  checksum = "d87d638e33c06f577498cbcc50491496a3ed4246998a7fbba7ccb98b1e7eab22"
5060
  dependencies = [
5061
  "bitflags 2.11.0",
 
5062
  "objc2",
 
 
5063
  "objc2-core-foundation",
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5064
  "objc2-foundation",
5065
  ]
5066
 
@@ -5078,6 +5424,15 @@ dependencies = [
5078
  "objc2-foundation",
5079
  ]
5080
 
 
 
 
 
 
 
 
 
 
5081
  [[package]]
5082
  name = "once_cell"
5083
  version = "1.21.4"
@@ -5179,6 +5534,22 @@ version = "0.2.0"
5179
  source = "registry+https://github.com/rust-lang/crates.io-index"
5180
  checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d"
5181
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5182
  [[package]]
5183
  name = "osakit"
5184
  version = "0.3.1"
@@ -5842,7 +6213,7 @@ dependencies = [
5842
  "quinn-udp",
5843
  "rustc-hash",
5844
  "rustls",
5845
- "socket2",
5846
  "thiserror 2.0.18",
5847
  "tokio",
5848
  "tracing",
@@ -5880,7 +6251,7 @@ dependencies = [
5880
  "cfg_aliases",
5881
  "libc",
5882
  "once_cell",
5883
- "socket2",
5884
  "tracing",
5885
  "windows-sys 0.60.2",
5886
  ]
@@ -6244,6 +6615,12 @@ dependencies = [
6244
  "regex-syntax",
6245
  ]
6246
 
 
 
 
 
 
 
6247
  [[package]]
6248
  name = "regex-syntax"
6249
  version = "0.8.10"
@@ -6262,7 +6639,7 @@ dependencies = [
6262
  "futures-core",
6263
  "futures-util",
6264
  "h2",
6265
- "http",
6266
  "http-body",
6267
  "http-body-util",
6268
  "hyper",
@@ -6306,15 +6683,17 @@ dependencies = [
6306
  "futures-core",
6307
  "futures-util",
6308
  "h2",
6309
- "http",
6310
  "http-body",
6311
  "http-body-util",
6312
  "hyper",
6313
  "hyper-rustls",
 
6314
  "hyper-util",
6315
  "js-sys",
6316
  "log",
6317
  "mime",
 
6318
  "percent-encoding",
6319
  "pin-project-lite",
6320
  "quinn",
@@ -6326,6 +6705,7 @@ dependencies = [
6326
  "serde_urlencoded",
6327
  "sync_wrapper",
6328
  "tokio",
 
6329
  "tokio-rustls",
6330
  "tokio-util",
6331
  "tower",
@@ -6346,7 +6726,7 @@ checksum = "199dda04a536b532d0cc04d7979e39b1c763ea749bf91507017069c00b96056f"
6346
  dependencies = [
6347
  "anyhow",
6348
  "async-trait",
6349
- "http",
6350
  "reqwest 0.13.2",
6351
  "thiserror 2.0.18",
6352
  "tower-service",
@@ -6362,7 +6742,7 @@ dependencies = [
6362
  "async-trait",
6363
  "futures",
6364
  "getrandom 0.2.17",
6365
- "http",
6366
  "hyper",
6367
  "reqwest 0.13.2",
6368
  "reqwest-middleware",
@@ -6440,7 +6820,7 @@ dependencies = [
6440
  "bytes",
6441
  "chrono",
6442
  "futures",
6443
- "http",
6444
  "http-body",
6445
  "http-body-util",
6446
  "pastey 0.2.1",
@@ -6509,6 +6889,12 @@ version = "0.20.0"
6509
  source = "registry+https://github.com/rust-lang/crates.io-index"
6510
  checksum = "6c20b6793b5c2fa6553b250154b78d6d0db37e72700ae35fad9387a46f487c97"
6511
 
 
 
 
 
 
 
6512
  [[package]]
6513
  name = "rustc-hash"
6514
  version = "2.1.2"
@@ -6867,6 +7253,128 @@ dependencies = [
6867
  "serde_core",
6868
  ]
6869
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6870
  [[package]]
6871
  name = "seq-macro"
6872
  version = "0.3.6"
@@ -7200,6 +7708,16 @@ version = "1.15.1"
7200
  source = "registry+https://github.com/rust-lang/crates.io-index"
7201
  checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03"
7202
 
 
 
 
 
 
 
 
 
 
 
7203
  [[package]]
7204
  name = "socket2"
7205
  version = "0.6.3"
@@ -7589,7 +8107,7 @@ dependencies = [
7589
  "glob",
7590
  "gtk",
7591
  "heck 0.5.0",
7592
- "http",
7593
  "jni",
7594
  "libc",
7595
  "log",
@@ -7724,7 +8242,7 @@ dependencies = [
7724
  "dirs",
7725
  "flate2",
7726
  "futures-util",
7727
- "http",
7728
  "infer",
7729
  "log",
7730
  "minisign-verify",
@@ -7756,7 +8274,7 @@ dependencies = [
7756
  "cookie",
7757
  "dpi",
7758
  "gtk",
7759
- "http",
7760
  "jni",
7761
  "objc2",
7762
  "objc2-ui-kit",
@@ -7779,7 +8297,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
7779
  checksum = "e11ea2e6f801d275fdd890d6c9603736012742a1c33b96d0db788c9cdebf7f9e"
7780
  dependencies = [
7781
  "gtk",
7782
- "http",
7783
  "jni",
7784
  "log",
7785
  "objc2",
@@ -7811,7 +8329,7 @@ dependencies = [
7811
  "dunce",
7812
  "glob",
7813
  "html5ever 0.29.1",
7814
- "http",
7815
  "infer",
7816
  "json-patch",
7817
  "kuchikiki",
@@ -8082,7 +8600,7 @@ dependencies = [
8082
  "parking_lot",
8083
  "pin-project-lite",
8084
  "signal-hook-registry",
8085
- "socket2",
8086
  "tokio-macros",
8087
  "windows-sys 0.61.2",
8088
  ]
@@ -8299,7 +8817,7 @@ dependencies = [
8299
  "bitflags 2.11.0",
8300
  "bytes",
8301
  "futures-util",
8302
- "http",
8303
  "http-body",
8304
  "iri-string",
8305
  "pin-project-lite",
@@ -8443,7 +8961,7 @@ checksum = "8628dcc84e5a09eb3d8423d6cb682965dea9133204e8fb3efee74c2a0c259442"
8443
  dependencies = [
8444
  "bytes",
8445
  "data-encoding",
8446
- "http",
8447
  "httparse",
8448
  "log",
8449
  "rand 0.9.2",
@@ -8516,6 +9034,15 @@ dependencies = [
8516
  "ug",
8517
  ]
8518
 
 
 
 
 
 
 
 
 
 
8519
  [[package]]
8520
  name = "unic-char-property"
8521
  version = "0.9.0"
@@ -8639,7 +9166,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
8639
  checksum = "e994ba84b0bd1b1b0cf92878b7ef898a5c1760108fe7b6010327e274917a808c"
8640
  dependencies = [
8641
  "base64 0.22.1",
8642
- "http",
8643
  "httparse",
8644
  "log",
8645
  ]
@@ -9846,7 +10373,7 @@ dependencies = [
9846
  "dunce",
9847
  "gdkx11",
9848
  "gtk",
9849
- "http",
9850
  "javascriptcore-rs",
9851
  "jni",
9852
  "libc",
 
18
  source = "registry+https://github.com/rust-lang/crates.io-index"
19
  checksum = "366ffbaa4442f4684d91e2cd7c5ea7c4ed8add41959a31447066e279e432b618"
20
 
21
+ [[package]]
22
+ name = "actix-codec"
23
+ version = "0.5.2"
24
+ source = "registry+https://github.com/rust-lang/crates.io-index"
25
+ checksum = "5f7b0a21988c1bf877cf4759ef5ddaac04c1c9fe808c9142ecb78ba97d97a28a"
26
+ dependencies = [
27
+ "bitflags 2.11.0",
28
+ "bytes",
29
+ "futures-core",
30
+ "futures-sink",
31
+ "memchr",
32
+ "pin-project-lite",
33
+ "tokio",
34
+ "tokio-util",
35
+ "tracing",
36
+ ]
37
+
38
+ [[package]]
39
+ name = "actix-http"
40
+ version = "3.12.0"
41
+ source = "registry+https://github.com/rust-lang/crates.io-index"
42
+ checksum = "f860ee6746d0c5b682147b2f7f8ef036d4f92fe518251a3a35ffa3650eafdf0e"
43
+ dependencies = [
44
+ "actix-codec",
45
+ "actix-rt",
46
+ "actix-service",
47
+ "actix-utils",
48
+ "bitflags 2.11.0",
49
+ "bytes",
50
+ "bytestring",
51
+ "derive_more 2.1.1",
52
+ "encoding_rs",
53
+ "foldhash 0.1.5",
54
+ "futures-core",
55
+ "http 0.2.12",
56
+ "httparse",
57
+ "httpdate",
58
+ "itoa",
59
+ "language-tags",
60
+ "mime",
61
+ "percent-encoding",
62
+ "pin-project-lite",
63
+ "smallvec",
64
+ "tokio",
65
+ "tokio-util",
66
+ "tracing",
67
+ ]
68
+
69
+ [[package]]
70
+ name = "actix-router"
71
+ version = "0.5.4"
72
+ source = "registry+https://github.com/rust-lang/crates.io-index"
73
+ checksum = "14f8c75c51892f18d9c46150c5ac7beb81c95f78c8b83a634d49f4ca32551fe7"
74
+ dependencies = [
75
+ "bytestring",
76
+ "cfg-if",
77
+ "http 0.2.12",
78
+ "regex-lite",
79
+ "serde",
80
+ "tracing",
81
+ ]
82
+
83
+ [[package]]
84
+ name = "actix-rt"
85
+ version = "2.11.0"
86
+ source = "registry+https://github.com/rust-lang/crates.io-index"
87
+ checksum = "92589714878ca59a7626ea19734f0e07a6a875197eec751bb5d3f99e64998c63"
88
+ dependencies = [
89
+ "futures-core",
90
+ "tokio",
91
+ ]
92
+
93
+ [[package]]
94
+ name = "actix-server"
95
+ version = "2.6.0"
96
+ source = "registry+https://github.com/rust-lang/crates.io-index"
97
+ checksum = "a65064ea4a457eaf07f2fba30b4c695bf43b721790e9530d26cb6f9019ff7502"
98
+ dependencies = [
99
+ "actix-rt",
100
+ "actix-service",
101
+ "actix-utils",
102
+ "futures-core",
103
+ "futures-util",
104
+ "mio",
105
+ "socket2 0.5.10",
106
+ "tokio",
107
+ "tracing",
108
+ ]
109
+
110
+ [[package]]
111
+ name = "actix-service"
112
+ version = "2.0.3"
113
+ source = "registry+https://github.com/rust-lang/crates.io-index"
114
+ checksum = "9e46f36bf0e5af44bdc4bdb36fbbd421aa98c79a9bce724e1edeb3894e10dc7f"
115
+ dependencies = [
116
+ "futures-core",
117
+ "pin-project-lite",
118
+ ]
119
+
120
+ [[package]]
121
+ name = "actix-utils"
122
+ version = "3.0.1"
123
+ source = "registry+https://github.com/rust-lang/crates.io-index"
124
+ checksum = "88a1dcdff1466e3c2488e1cb5c36a71822750ad43839937f85d2f4d9f8b705d8"
125
+ dependencies = [
126
+ "local-waker",
127
+ "pin-project-lite",
128
+ ]
129
+
130
+ [[package]]
131
+ name = "actix-web"
132
+ version = "4.13.0"
133
+ source = "registry+https://github.com/rust-lang/crates.io-index"
134
+ checksum = "ff87453bc3b56e9b2b23c1cc0b1be8797184accf51d2abe0f8a33ec275d316bf"
135
+ dependencies = [
136
+ "actix-codec",
137
+ "actix-http",
138
+ "actix-router",
139
+ "actix-rt",
140
+ "actix-server",
141
+ "actix-service",
142
+ "actix-utils",
143
+ "bytes",
144
+ "bytestring",
145
+ "cfg-if",
146
+ "derive_more 2.1.1",
147
+ "encoding_rs",
148
+ "foldhash 0.1.5",
149
+ "futures-core",
150
+ "futures-util",
151
+ "impl-more",
152
+ "itoa",
153
+ "language-tags",
154
+ "log",
155
+ "mime",
156
+ "once_cell",
157
+ "pin-project-lite",
158
+ "regex-lite",
159
+ "serde",
160
+ "serde_json",
161
+ "serde_urlencoded",
162
+ "smallvec",
163
+ "socket2 0.6.3",
164
+ "time",
165
+ "tracing",
166
+ "url",
167
+ ]
168
+
169
+ [[package]]
170
+ name = "addr2line"
171
+ version = "0.25.1"
172
+ source = "registry+https://github.com/rust-lang/crates.io-index"
173
+ checksum = "1b5d307320b3181d6d7954e663bd7c774a838b8220fe0593c86d9fb09f498b4b"
174
+ dependencies = [
175
+ "gimli",
176
+ ]
177
+
178
  [[package]]
179
  name = "adler2"
180
  version = "2.0.1"
 
495
  "bytes",
496
  "form_urlencoded",
497
  "futures-util",
498
+ "http 1.4.0",
499
  "http-body",
500
  "http-body-util",
501
  "hyper",
 
529
  dependencies = [
530
  "bytes",
531
  "futures-core",
532
+ "http 1.4.0",
533
  "http-body",
534
  "http-body-util",
535
  "mime",
 
540
  "tracing",
541
  ]
542
 
543
+ [[package]]
544
+ name = "backtrace"
545
+ version = "0.3.76"
546
+ source = "registry+https://github.com/rust-lang/crates.io-index"
547
+ checksum = "bb531853791a215d7c62a30daf0dde835f381ab5de4589cfe7c649d2cbe92bd6"
548
+ dependencies = [
549
+ "addr2line",
550
+ "cfg-if",
551
+ "libc",
552
+ "miniz_oxide",
553
+ "object",
554
+ "rustc-demangle",
555
+ "windows-link 0.2.1",
556
+ ]
557
+
558
  [[package]]
559
  name = "base64"
560
  version = "0.13.1"
 
767
  "serde",
768
  ]
769
 
770
+ [[package]]
771
+ name = "bytestring"
772
+ version = "1.5.0"
773
+ source = "registry+https://github.com/rust-lang/crates.io-index"
774
+ checksum = "113b4343b5f6617e7ad401ced8de3cc8b012e73a594347c307b90db3e9271289"
775
+ dependencies = [
776
+ "bytes",
777
+ ]
778
+
779
  [[package]]
780
  name = "cairo-rs"
781
  version = "0.18.5"
 
1197
  source = "registry+https://github.com/rust-lang/crates.io-index"
1198
  checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e"
1199
 
1200
+ [[package]]
1201
+ name = "convert_case"
1202
+ version = "0.10.0"
1203
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1204
+ checksum = "633458d4ef8c78b72454de2d54fd6ab2e60f9e02be22f3c6104cdc8a4e0fceb9"
1205
+ dependencies = [
1206
+ "unicode-segmentation",
1207
+ ]
1208
+
1209
  [[package]]
1210
  name = "cookie"
1211
  version = "0.18.1"
 
1602
  "zeroize",
1603
  ]
1604
 
1605
+ [[package]]
1606
+ name = "debugid"
1607
+ version = "0.8.0"
1608
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1609
+ checksum = "bef552e6f588e446098f6ba40d89ac146c8c7b64aade83c051ee00bb5d2bc18d"
1610
+ dependencies = [
1611
+ "serde",
1612
+ "uuid",
1613
+ ]
1614
+
1615
  [[package]]
1616
  name = "der"
1617
  version = "0.8.0"
 
1680
  source = "registry+https://github.com/rust-lang/crates.io-index"
1681
  checksum = "6edb4b64a43d977b8e99788fe3a04d483834fba1215a7e02caa415b626497f7f"
1682
  dependencies = [
1683
+ "convert_case 0.4.0",
1684
  "proc-macro2",
1685
  "quote",
1686
  "rustc_version",
 
1702
  source = "registry+https://github.com/rust-lang/crates.io-index"
1703
  checksum = "799a97264921d8623a957f6c3b9011f3b5492f557bbb7a5a19b7fa6d06ba8dcb"
1704
  dependencies = [
1705
+ "convert_case 0.10.0",
1706
  "proc-macro2",
1707
  "quote",
1708
  "rustc_version",
1709
  "syn 2.0.117",
1710
+ "unicode-xid",
1711
  ]
1712
 
1713
  [[package]]
 
2092
  source = "registry+https://github.com/rust-lang/crates.io-index"
2093
  checksum = "5baebc0774151f905a1a2cc41989300b1e6fbb29aff0ceffa1064fdd3088d582"
2094
 
2095
+ [[package]]
2096
+ name = "findshlibs"
2097
+ version = "0.10.2"
2098
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2099
+ checksum = "40b9e59cd0f7e0806cca4be089683ecb6434e602038df21fe6bf6711b2f07f64"
2100
+ dependencies = [
2101
+ "cc",
2102
+ "lazy_static",
2103
+ "libc",
2104
+ "winapi",
2105
+ ]
2106
+
2107
  [[package]]
2108
  name = "fixed_decimal"
2109
  version = "0.7.2"
 
2778
  "weezl",
2779
  ]
2780
 
2781
+ [[package]]
2782
+ name = "gimli"
2783
+ version = "0.32.3"
2784
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2785
+ checksum = "e629b9b98ef3dd8afe6ca2bd0f89306cec16d43d907889945bc5d6687f2f13c7"
2786
+
2787
  [[package]]
2788
  name = "gio"
2789
  version = "0.18.4"
 
3071
  "fnv",
3072
  "futures-core",
3073
  "futures-sink",
3074
+ "http 1.4.0",
3075
  "indexmap 2.13.1",
3076
  "slab",
3077
  "tokio",
 
3169
  dependencies = [
3170
  "dirs",
3171
  "futures",
3172
+ "http 1.4.0",
3173
  "indicatif",
3174
  "libc",
3175
  "log",
 
3185
  "windows-sys 0.61.2",
3186
  ]
3187
 
3188
+ [[package]]
3189
+ name = "hostname"
3190
+ version = "0.4.2"
3191
+ source = "registry+https://github.com/rust-lang/crates.io-index"
3192
+ checksum = "617aaa3557aef3810a6369d0a99fac8a080891b68bd9f9812a1eeda0c0730cbd"
3193
+ dependencies = [
3194
+ "cfg-if",
3195
+ "libc",
3196
+ "windows-link 0.2.1",
3197
+ ]
3198
+
3199
  [[package]]
3200
  name = "html5ever"
3201
  version = "0.29.1"
 
3218
  "markup5ever 0.38.0",
3219
  ]
3220
 
3221
+ [[package]]
3222
+ name = "http"
3223
+ version = "0.2.12"
3224
+ source = "registry+https://github.com/rust-lang/crates.io-index"
3225
+ checksum = "601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1"
3226
+ dependencies = [
3227
+ "bytes",
3228
+ "fnv",
3229
+ "itoa",
3230
+ ]
3231
+
3232
  [[package]]
3233
  name = "http"
3234
  version = "1.4.0"
 
3246
  checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184"
3247
  dependencies = [
3248
  "bytes",
3249
+ "http 1.4.0",
3250
  ]
3251
 
3252
  [[package]]
 
3257
  dependencies = [
3258
  "bytes",
3259
  "futures-core",
3260
+ "http 1.4.0",
3261
  "http-body",
3262
  "pin-project-lite",
3263
  ]
 
3285
  "futures-channel",
3286
  "futures-core",
3287
  "h2",
3288
+ "http 1.4.0",
3289
  "http-body",
3290
  "httparse",
3291
  "httpdate",
 
3302
  source = "registry+https://github.com/rust-lang/crates.io-index"
3303
  checksum = "e3c93eb611681b207e1fe55d5a71ecf91572ec8a6705cdb6857f7d8d5242cf58"
3304
  dependencies = [
3305
+ "http 1.4.0",
3306
  "hyper",
3307
  "hyper-util",
3308
  "rustls",
 
3338
  "bytes",
3339
  "futures-channel",
3340
  "futures-util",
3341
+ "http 1.4.0",
3342
  "http-body",
3343
  "hyper",
3344
  "ipnet",
3345
  "libc",
3346
  "percent-encoding",
3347
  "pin-project-lite",
3348
+ "socket2 0.6.3",
3349
  "system-configuration",
3350
  "tokio",
3351
  "tower-service",
 
3878
  source = "registry+https://github.com/rust-lang/crates.io-index"
3879
  checksum = "e7c5cedc30da3a610cac6b4ba17597bdf7152cf974e8aab3afb3d54455e371c8"
3880
 
3881
+ [[package]]
3882
+ name = "impl-more"
3883
+ version = "0.1.9"
3884
+ source = "registry+https://github.com/rust-lang/crates.io-index"
3885
+ checksum = "e8a5a9a0ff0086c7a148acb942baaabeadf9504d10400b5a05645853729b9cd2"
3886
+
3887
  [[package]]
3888
  name = "indexmap"
3889
  version = "1.9.3"
 
4176
  "koharu-runtime",
4177
  "once_cell",
4178
  "rfd",
4179
+ "sentry",
4180
  "serde_json",
4181
  "tauri",
4182
  "tauri-build",
 
4420
  "selectors 0.24.0",
4421
  ]
4422
 
4423
+ [[package]]
4424
+ name = "language-tags"
4425
+ version = "0.3.2"
4426
+ source = "registry+https://github.com/rust-lang/crates.io-index"
4427
+ checksum = "d4345964bb142484797b161f473a503a434de77149dd8c7427788c6e13379388"
4428
+
4429
  [[package]]
4430
  name = "lazy_static"
4431
  version = "1.5.0"
 
4572
  source = "registry+https://github.com/rust-lang/crates.io-index"
4573
  checksum = "11d3d7f243d5c5a8b9bb5d6dd2b1602c0cb0b9db1621bafc7ed66e35ff9fe092"
4574
 
4575
+ [[package]]
4576
+ name = "local-waker"
4577
+ version = "0.1.4"
4578
+ source = "registry+https://github.com/rust-lang/crates.io-index"
4579
+ checksum = "4d873d7c67ce09b42110d801813efbc9364414e356be9935700d368351657487"
4580
+
4581
  [[package]]
4582
  name = "lock_api"
4583
  version = "0.4.14"
 
4826
  checksum = "50b7e5b27aa02a74bac8c3f23f448f8d87ff11f92d3aac1a6ed369ee08cc56c1"
4827
  dependencies = [
4828
  "libc",
4829
+ "log",
4830
  "wasi 0.11.1+wasi-snapshot-preview1",
4831
  "windows-sys 0.61.2",
4832
  ]
 
4893
  "bytes",
4894
  "encoding_rs",
4895
  "futures-util",
4896
+ "http 1.4.0",
4897
  "httparse",
4898
  "memchr",
4899
  "mime",
 
4987
  source = "registry+https://github.com/rust-lang/crates.io-index"
4988
  checksum = "650eef8c711430f1a879fdd01d4745a7deea475becfb90269c06775983bbf086"
4989
 
4990
+ [[package]]
4991
+ name = "nix"
4992
+ version = "0.30.1"
4993
+ source = "registry+https://github.com/rust-lang/crates.io-index"
4994
+ checksum = "74523f3a35e05aba87a1d978330aef40f67b0304ac79c1c00b294c9830543db6"
4995
+ dependencies = [
4996
+ "bitflags 2.11.0",
4997
+ "cfg-if",
4998
+ "cfg_aliases",
4999
+ "libc",
5000
+ ]
5001
+
5002
  [[package]]
5003
  name = "nodrop"
5004
  version = "0.1.14"
 
5195
  "objc2-foundation",
5196
  ]
5197
 
5198
+ [[package]]
5199
+ name = "objc2-cloud-kit"
5200
+ version = "0.3.2"
5201
+ source = "registry+https://github.com/rust-lang/crates.io-index"
5202
+ checksum = "73ad74d880bb43877038da939b7427bba67e9dd42004a18b809ba7d87cee241c"
5203
+ dependencies = [
5204
+ "bitflags 2.11.0",
5205
+ "objc2",
5206
+ "objc2-foundation",
5207
+ ]
5208
+
5209
+ [[package]]
5210
+ name = "objc2-core-data"
5211
+ version = "0.3.2"
5212
+ source = "registry+https://github.com/rust-lang/crates.io-index"
5213
+ checksum = "0b402a653efbb5e82ce4df10683b6b28027616a2715e90009947d50b8dd298fa"
5214
+ dependencies = [
5215
+ "objc2",
5216
+ "objc2-foundation",
5217
+ ]
5218
+
5219
  [[package]]
5220
  name = "objc2-core-foundation"
5221
  version = "0.3.2"
 
5240
  "objc2-io-surface",
5241
  ]
5242
 
5243
+ [[package]]
5244
+ name = "objc2-core-image"
5245
+ version = "0.3.2"
5246
+ source = "registry+https://github.com/rust-lang/crates.io-index"
5247
+ checksum = "e5d563b38d2b97209f8e861173de434bd0214cf020e3423a52624cd1d989f006"
5248
+ dependencies = [
5249
+ "objc2",
5250
+ "objc2-foundation",
5251
+ ]
5252
+
5253
+ [[package]]
5254
+ name = "objc2-core-location"
5255
+ version = "0.3.2"
5256
+ source = "registry+https://github.com/rust-lang/crates.io-index"
5257
+ checksum = "ca347214e24bc973fc025fd0d36ebb179ff30536ed1f80252706db19ee452009"
5258
+ dependencies = [
5259
+ "objc2",
5260
+ "objc2-foundation",
5261
+ ]
5262
+
5263
+ [[package]]
5264
+ name = "objc2-core-text"
5265
+ version = "0.3.2"
5266
+ source = "registry+https://github.com/rust-lang/crates.io-index"
5267
+ checksum = "0cde0dfb48d25d2b4862161a4d5fcc0e3c24367869ad306b0c9ec0073bfed92d"
5268
+ dependencies = [
5269
+ "bitflags 2.11.0",
5270
+ "objc2",
5271
+ "objc2-core-foundation",
5272
+ "objc2-core-graphics",
5273
+ ]
5274
+
5275
  [[package]]
5276
  name = "objc2-encode"
5277
  version = "4.1.0"
 
5386
  checksum = "d87d638e33c06f577498cbcc50491496a3ed4246998a7fbba7ccb98b1e7eab22"
5387
  dependencies = [
5388
  "bitflags 2.11.0",
5389
+ "block2",
5390
  "objc2",
5391
+ "objc2-cloud-kit",
5392
+ "objc2-core-data",
5393
  "objc2-core-foundation",
5394
+ "objc2-core-graphics",
5395
+ "objc2-core-image",
5396
+ "objc2-core-location",
5397
+ "objc2-core-text",
5398
+ "objc2-foundation",
5399
+ "objc2-quartz-core",
5400
+ "objc2-user-notifications",
5401
+ ]
5402
+
5403
+ [[package]]
5404
+ name = "objc2-user-notifications"
5405
+ version = "0.3.2"
5406
+ source = "registry+https://github.com/rust-lang/crates.io-index"
5407
+ checksum = "9df9128cbbfef73cda168416ccf7f837b62737d748333bfe9ab71c245d76613e"
5408
+ dependencies = [
5409
+ "objc2",
5410
  "objc2-foundation",
5411
  ]
5412
 
 
5424
  "objc2-foundation",
5425
  ]
5426
 
5427
+ [[package]]
5428
+ name = "object"
5429
+ version = "0.37.3"
5430
+ source = "registry+https://github.com/rust-lang/crates.io-index"
5431
+ checksum = "ff76201f031d8863c38aa7f905eca4f53abbfa15f609db4277d44cd8938f33fe"
5432
+ dependencies = [
5433
+ "memchr",
5434
+ ]
5435
+
5436
  [[package]]
5437
  name = "once_cell"
5438
  version = "1.21.4"
 
5534
  source = "registry+https://github.com/rust-lang/crates.io-index"
5535
  checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d"
5536
 
5537
+ [[package]]
5538
+ name = "os_info"
5539
+ version = "3.14.0"
5540
+ source = "registry+https://github.com/rust-lang/crates.io-index"
5541
+ checksum = "e4022a17595a00d6a369236fdae483f0de7f0a339960a53118b818238e132224"
5542
+ dependencies = [
5543
+ "android_system_properties",
5544
+ "log",
5545
+ "nix",
5546
+ "objc2",
5547
+ "objc2-foundation",
5548
+ "objc2-ui-kit",
5549
+ "serde",
5550
+ "windows-sys 0.61.2",
5551
+ ]
5552
+
5553
  [[package]]
5554
  name = "osakit"
5555
  version = "0.3.1"
 
6213
  "quinn-udp",
6214
  "rustc-hash",
6215
  "rustls",
6216
+ "socket2 0.6.3",
6217
  "thiserror 2.0.18",
6218
  "tokio",
6219
  "tracing",
 
6251
  "cfg_aliases",
6252
  "libc",
6253
  "once_cell",
6254
+ "socket2 0.6.3",
6255
  "tracing",
6256
  "windows-sys 0.60.2",
6257
  ]
 
6615
  "regex-syntax",
6616
  ]
6617
 
6618
+ [[package]]
6619
+ name = "regex-lite"
6620
+ version = "0.1.9"
6621
+ source = "registry+https://github.com/rust-lang/crates.io-index"
6622
+ checksum = "cab834c73d247e67f4fae452806d17d3c7501756d98c8808d7c9c7aa7d18f973"
6623
+
6624
  [[package]]
6625
  name = "regex-syntax"
6626
  version = "0.8.10"
 
6639
  "futures-core",
6640
  "futures-util",
6641
  "h2",
6642
+ "http 1.4.0",
6643
  "http-body",
6644
  "http-body-util",
6645
  "hyper",
 
6683
  "futures-core",
6684
  "futures-util",
6685
  "h2",
6686
+ "http 1.4.0",
6687
  "http-body",
6688
  "http-body-util",
6689
  "hyper",
6690
  "hyper-rustls",
6691
+ "hyper-tls",
6692
  "hyper-util",
6693
  "js-sys",
6694
  "log",
6695
  "mime",
6696
+ "native-tls",
6697
  "percent-encoding",
6698
  "pin-project-lite",
6699
  "quinn",
 
6705
  "serde_urlencoded",
6706
  "sync_wrapper",
6707
  "tokio",
6708
+ "tokio-native-tls",
6709
  "tokio-rustls",
6710
  "tokio-util",
6711
  "tower",
 
6726
  dependencies = [
6727
  "anyhow",
6728
  "async-trait",
6729
+ "http 1.4.0",
6730
  "reqwest 0.13.2",
6731
  "thiserror 2.0.18",
6732
  "tower-service",
 
6742
  "async-trait",
6743
  "futures",
6744
  "getrandom 0.2.17",
6745
+ "http 1.4.0",
6746
  "hyper",
6747
  "reqwest 0.13.2",
6748
  "reqwest-middleware",
 
6820
  "bytes",
6821
  "chrono",
6822
  "futures",
6823
+ "http 1.4.0",
6824
  "http-body",
6825
  "http-body-util",
6826
  "pastey 0.2.1",
 
6889
  source = "registry+https://github.com/rust-lang/crates.io-index"
6890
  checksum = "6c20b6793b5c2fa6553b250154b78d6d0db37e72700ae35fad9387a46f487c97"
6891
 
6892
+ [[package]]
6893
+ name = "rustc-demangle"
6894
+ version = "0.1.27"
6895
+ source = "registry+https://github.com/rust-lang/crates.io-index"
6896
+ checksum = "b50b8869d9fc858ce7266cce0194bd74df58b9d0e3f6df3a9fc8eb470d95c09d"
6897
+
6898
  [[package]]
6899
  name = "rustc-hash"
6900
  version = "2.1.2"
 
7253
  "serde_core",
7254
  ]
7255
 
7256
+ [[package]]
7257
+ name = "sentry"
7258
+ version = "0.47.0"
7259
+ source = "registry+https://github.com/rust-lang/crates.io-index"
7260
+ checksum = "eb25f439f97d26fea01d717fa626167ceffcd981addaa670001e70505b72acbb"
7261
+ dependencies = [
7262
+ "cfg_aliases",
7263
+ "httpdate",
7264
+ "native-tls",
7265
+ "reqwest 0.13.2",
7266
+ "sentry-actix",
7267
+ "sentry-backtrace",
7268
+ "sentry-contexts",
7269
+ "sentry-core",
7270
+ "sentry-debug-images",
7271
+ "sentry-panic",
7272
+ "sentry-tracing",
7273
+ "tokio",
7274
+ "ureq",
7275
+ ]
7276
+
7277
+ [[package]]
7278
+ name = "sentry-actix"
7279
+ version = "0.47.0"
7280
+ source = "registry+https://github.com/rust-lang/crates.io-index"
7281
+ checksum = "9453d18fc9a45d841636004aad50288d80cc07c34a9e88cd4397cb66e6356f67"
7282
+ dependencies = [
7283
+ "actix-http",
7284
+ "actix-web",
7285
+ "bytes",
7286
+ "futures-util",
7287
+ "sentry-core",
7288
+ ]
7289
+
7290
+ [[package]]
7291
+ name = "sentry-backtrace"
7292
+ version = "0.47.0"
7293
+ source = "registry+https://github.com/rust-lang/crates.io-index"
7294
+ checksum = "46a8c2c1bd5c1f735e84f28b48e7d72efcaafc362b7541bc8253e60e8fcdffc6"
7295
+ dependencies = [
7296
+ "backtrace",
7297
+ "regex",
7298
+ "sentry-core",
7299
+ ]
7300
+
7301
+ [[package]]
7302
+ name = "sentry-contexts"
7303
+ version = "0.47.0"
7304
+ source = "registry+https://github.com/rust-lang/crates.io-index"
7305
+ checksum = "9b88a90baa654d7f0e1f4b667f6b434293d9f72c71bef16b197c76af5b7d5803"
7306
+ dependencies = [
7307
+ "hostname",
7308
+ "libc",
7309
+ "os_info",
7310
+ "rustc_version",
7311
+ "sentry-core",
7312
+ "uname",
7313
+ ]
7314
+
7315
+ [[package]]
7316
+ name = "sentry-core"
7317
+ version = "0.47.0"
7318
+ source = "registry+https://github.com/rust-lang/crates.io-index"
7319
+ checksum = "0ac170a5bba8bec6e3339c90432569d89641fa7a3d3e4f44987d24f0762e6adf"
7320
+ dependencies = [
7321
+ "rand 0.9.2",
7322
+ "sentry-types",
7323
+ "serde",
7324
+ "serde_json",
7325
+ "url",
7326
+ ]
7327
+
7328
+ [[package]]
7329
+ name = "sentry-debug-images"
7330
+ version = "0.47.0"
7331
+ source = "registry+https://github.com/rust-lang/crates.io-index"
7332
+ checksum = "dd9646a972b57896d4a92ed200cf76139f8e30b3cfd03b6662ae59926d26633c"
7333
+ dependencies = [
7334
+ "findshlibs",
7335
+ "sentry-core",
7336
+ ]
7337
+
7338
+ [[package]]
7339
+ name = "sentry-panic"
7340
+ version = "0.47.0"
7341
+ source = "registry+https://github.com/rust-lang/crates.io-index"
7342
+ checksum = "6127d3d304ba5ce0409401e85aae538e303a569f8dbb031bf64f9ba0f7174346"
7343
+ dependencies = [
7344
+ "sentry-backtrace",
7345
+ "sentry-core",
7346
+ ]
7347
+
7348
+ [[package]]
7349
+ name = "sentry-tracing"
7350
+ version = "0.47.0"
7351
+ source = "registry+https://github.com/rust-lang/crates.io-index"
7352
+ checksum = "27701acc51e68db5281802b709010395bfcbcb128b1d0a4e5873680d3b47ff0c"
7353
+ dependencies = [
7354
+ "bitflags 2.11.0",
7355
+ "sentry-backtrace",
7356
+ "sentry-core",
7357
+ "tracing-core",
7358
+ "tracing-subscriber",
7359
+ ]
7360
+
7361
+ [[package]]
7362
+ name = "sentry-types"
7363
+ version = "0.47.0"
7364
+ source = "registry+https://github.com/rust-lang/crates.io-index"
7365
+ checksum = "56780cb5597d676bf22e6c11d1f062eb4def46390ea3bfb047bcbcf7dfd19bdb"
7366
+ dependencies = [
7367
+ "debugid",
7368
+ "hex",
7369
+ "rand 0.9.2",
7370
+ "serde",
7371
+ "serde_json",
7372
+ "thiserror 2.0.18",
7373
+ "time",
7374
+ "url",
7375
+ "uuid",
7376
+ ]
7377
+
7378
  [[package]]
7379
  name = "seq-macro"
7380
  version = "0.3.6"
 
7708
  source = "registry+https://github.com/rust-lang/crates.io-index"
7709
  checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03"
7710
 
7711
+ [[package]]
7712
+ name = "socket2"
7713
+ version = "0.5.10"
7714
+ source = "registry+https://github.com/rust-lang/crates.io-index"
7715
+ checksum = "e22376abed350d73dd1cd119b57ffccad95b4e585a7cda43e286245ce23c0678"
7716
+ dependencies = [
7717
+ "libc",
7718
+ "windows-sys 0.52.0",
7719
+ ]
7720
+
7721
  [[package]]
7722
  name = "socket2"
7723
  version = "0.6.3"
 
8107
  "glob",
8108
  "gtk",
8109
  "heck 0.5.0",
8110
+ "http 1.4.0",
8111
  "jni",
8112
  "libc",
8113
  "log",
 
8242
  "dirs",
8243
  "flate2",
8244
  "futures-util",
8245
+ "http 1.4.0",
8246
  "infer",
8247
  "log",
8248
  "minisign-verify",
 
8274
  "cookie",
8275
  "dpi",
8276
  "gtk",
8277
+ "http 1.4.0",
8278
  "jni",
8279
  "objc2",
8280
  "objc2-ui-kit",
 
8297
  checksum = "e11ea2e6f801d275fdd890d6c9603736012742a1c33b96d0db788c9cdebf7f9e"
8298
  dependencies = [
8299
  "gtk",
8300
+ "http 1.4.0",
8301
  "jni",
8302
  "log",
8303
  "objc2",
 
8329
  "dunce",
8330
  "glob",
8331
  "html5ever 0.29.1",
8332
+ "http 1.4.0",
8333
  "infer",
8334
  "json-patch",
8335
  "kuchikiki",
 
8600
  "parking_lot",
8601
  "pin-project-lite",
8602
  "signal-hook-registry",
8603
+ "socket2 0.6.3",
8604
  "tokio-macros",
8605
  "windows-sys 0.61.2",
8606
  ]
 
8817
  "bitflags 2.11.0",
8818
  "bytes",
8819
  "futures-util",
8820
+ "http 1.4.0",
8821
  "http-body",
8822
  "iri-string",
8823
  "pin-project-lite",
 
8961
  dependencies = [
8962
  "bytes",
8963
  "data-encoding",
8964
+ "http 1.4.0",
8965
  "httparse",
8966
  "log",
8967
  "rand 0.9.2",
 
9034
  "ug",
9035
  ]
9036
 
9037
+ [[package]]
9038
+ name = "uname"
9039
+ version = "0.1.1"
9040
+ source = "registry+https://github.com/rust-lang/crates.io-index"
9041
+ checksum = "b72f89f0ca32e4db1c04e2a72f5345d59796d4866a1ee0609084569f73683dc8"
9042
+ dependencies = [
9043
+ "libc",
9044
+ ]
9045
+
9046
  [[package]]
9047
  name = "unic-char-property"
9048
  version = "0.9.0"
 
9166
  checksum = "e994ba84b0bd1b1b0cf92878b7ef898a5c1760108fe7b6010327e274917a808c"
9167
  dependencies = [
9168
  "base64 0.22.1",
9169
+ "http 1.4.0",
9170
  "httparse",
9171
  "log",
9172
  ]
 
10373
  "dunce",
10374
  "gdkx11",
10375
  "gtk",
10376
+ "http 1.4.0",
10377
  "javascriptcore-rs",
10378
  "jni",
10379
  "libc",
Cargo.toml CHANGED
@@ -142,6 +142,7 @@ lru = "0.16"
142
  petgraph = "0.8"
143
  petname = "2"
144
  tauri-plugin-process = "2.3"
 
145
 
146
  [patch.crates-io]
147
  candle-transformers = { git = "https://github.com/mayocream/candle", branch = "cuda-dynamic-loading" }
 
142
  petgraph = "0.8"
143
  petname = "2"
144
  tauri-plugin-process = "2.3"
145
+ sentry = { version = "0.47", features = ["tracing"] }
146
 
147
  [patch.crates-io]
148
  candle-transformers = { git = "https://github.com/mayocream/candle", branch = "cuda-dynamic-loading" }
bun.lock CHANGED
The diff for this file is too large to render. See raw diff
 
koharu/Cargo.toml CHANGED
@@ -28,6 +28,7 @@ koharu-ml = { workspace = true }
28
  koharu-renderer = { workspace = true }
29
  koharu-rpc = { workspace = true }
30
  koharu-runtime = { workspace = true }
 
31
  anyhow = { workspace = true }
32
  camino = { workspace = true }
33
  clap = { workspace = true }
@@ -43,19 +44,13 @@ tokio = { workspace = true }
43
  tracing = { workspace = true }
44
  console = { workspace = true }
45
  tracing-subscriber = { workspace = true }
 
46
 
47
  [target.'cfg(target_os = "windows")'.dependencies]
48
- koharu-llm = { workspace = true }
49
  windows = { workspace = true }
50
  windows-sys = { workspace = true }
51
  winreg = { workspace = true }
52
 
53
- [target.'cfg(target_os = "macos")'.dependencies]
54
- koharu-llm = { workspace = true }
55
-
56
- [target.'cfg(target_os = "linux")'.dependencies]
57
- koharu-llm = { workspace = true }
58
-
59
  [features]
60
  cuda = ["koharu-ml/cuda"]
61
  metal = ["koharu-ml/metal"]
 
28
  koharu-renderer = { workspace = true }
29
  koharu-rpc = { workspace = true }
30
  koharu-runtime = { workspace = true }
31
+ koharu-llm = { workspace = true }
32
  anyhow = { workspace = true }
33
  camino = { workspace = true }
34
  clap = { workspace = true }
 
44
  tracing = { workspace = true }
45
  console = { workspace = true }
46
  tracing-subscriber = { workspace = true }
47
+ sentry = { workspace = true }
48
 
49
  [target.'cfg(target_os = "windows")'.dependencies]
 
50
  windows = { workspace = true }
51
  windows-sys = { workspace = true }
52
  winreg = { workspace = true }
53
 
 
 
 
 
 
 
54
  [features]
55
  cuda = ["koharu-ml/cuda"]
56
  metal = ["koharu-ml/metal"]
koharu/src/app.rs CHANGED
@@ -6,34 +6,13 @@ use tokio::{net::TcpListener, sync::RwLock};
6
  use tracing_subscriber::layer::SubscriberExt;
7
  use tracing_subscriber::util::SubscriberInitExt;
8
 
 
9
  use koharu_app::{AppResources, config as app_config, engine, llm, storage::Storage};
10
  use koharu_llm::safe::llama_backend::LlamaBackend;
11
  use koharu_ml::{Device, device};
12
  use koharu_rpc::{SharedState, server};
13
  use koharu_runtime::{ComputePolicy, RuntimeHttpConfig, RuntimeManager};
14
 
15
- #[derive(Parser)]
16
- #[command(version = crate::version::APP_VERSION, about)]
17
- struct Cli {
18
- #[arg(short, long, help = "Download dynamic libraries and exit")]
19
- download: bool,
20
- #[arg(long, help = "Force CPU even if GPU is available")]
21
- cpu: bool,
22
- #[arg(short, long, value_name = "PORT", help = "Bind to a specific port")]
23
- port: Option<u16>,
24
- #[arg(
25
- long,
26
- help = "Bind the HTTP service to a specific host instead of 127.0.0.1"
27
- )]
28
- host: Option<String>,
29
- #[arg(long, help = "Run without GUI")]
30
- headless: bool,
31
- #[arg(long, help = "Use env vars for API keys instead of keyring")]
32
- no_keyring: bool,
33
- #[arg(long, help = "Enable debug console output")]
34
- debug: bool,
35
- }
36
-
37
  async fn build_resources(
38
  runtime: RuntimeManager,
39
  data_root: camino::Utf8PathBuf,
@@ -91,22 +70,10 @@ pub async fn run() -> Result<()> {
91
  .with_default_directive(tracing::Level::INFO.into())
92
  .from_env_lossy(),
93
  )
94
- .with(crate::tracing_fmt::TimingLayer::new())
 
95
  .init();
96
 
97
- if cli.headless {
98
- std::panic::set_hook(Box::new(|info| eprintln!("panic: {info}")));
99
- } else {
100
- std::panic::set_hook(Box::new(|info| {
101
- rfd::MessageDialog::new()
102
- .set_level(rfd::MessageLevel::Error)
103
- .set_title("Panic")
104
- .set_description(info.to_string())
105
- .show();
106
- std::process::exit(1);
107
- }));
108
- }
109
-
110
  if cli.no_keyring {
111
  koharu_llm::providers::disable_keyring();
112
  }
@@ -137,7 +104,7 @@ pub async fn run() -> Result<()> {
137
  let default_port = if cfg!(debug_assertions) { 9999 } else { 0 };
138
  let bind_host = cli.host.as_deref().unwrap_or("127.0.0.1");
139
  let bind_port = cli.port.unwrap_or(default_port);
140
- let listener = TcpListener::bind((bind_host, bind_port)).await?;
141
  let port = listener.local_addr()?.port();
142
  let resources: Arc<tokio::sync::OnceCell<AppResources>> = Default::default();
143
  let shared = SharedState::new(Arc::clone(&resources), runtime.clone());
 
6
  use tracing_subscriber::layer::SubscriberExt;
7
  use tracing_subscriber::util::SubscriberInitExt;
8
 
9
+ use crate::cli::Cli;
10
  use koharu_app::{AppResources, config as app_config, engine, llm, storage::Storage};
11
  use koharu_llm::safe::llama_backend::LlamaBackend;
12
  use koharu_ml::{Device, device};
13
  use koharu_rpc::{SharedState, server};
14
  use koharu_runtime::{ComputePolicy, RuntimeHttpConfig, RuntimeManager};
15
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
16
  async fn build_resources(
17
  runtime: RuntimeManager,
18
  data_root: camino::Utf8PathBuf,
 
70
  .with_default_directive(tracing::Level::INFO.into())
71
  .from_env_lossy(),
72
  )
73
+ .with(crate::sentry::tracing_layer())
74
+ .with(crate::tracing::TimingLayer::new())
75
  .init();
76
 
 
 
 
 
 
 
 
 
 
 
 
 
 
77
  if cli.no_keyring {
78
  koharu_llm::providers::disable_keyring();
79
  }
 
104
  let default_port = if cfg!(debug_assertions) { 9999 } else { 0 };
105
  let bind_host = cli.host.as_deref().unwrap_or("127.0.0.1");
106
  let bind_port = cli.port.unwrap_or(default_port);
107
+ let listener: TcpListener = TcpListener::bind((bind_host, bind_port)).await?;
108
  let port = listener.local_addr()?.port();
109
  let resources: Arc<tokio::sync::OnceCell<AppResources>> = Default::default();
110
  let shared = SharedState::new(Arc::clone(&resources), runtime.clone());
koharu/src/cli.rs ADDED
@@ -0,0 +1,23 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ use clap::Parser;
2
+
3
+ #[derive(Parser)]
4
+ #[command(version = crate::version::APP_VERSION, about)]
5
+ pub(crate) struct Cli {
6
+ #[arg(short, long, help = "Download dynamic libraries and exit")]
7
+ pub(crate) download: bool,
8
+ #[arg(long, help = "Force CPU even if GPU is available")]
9
+ pub(crate) cpu: bool,
10
+ #[arg(short, long, value_name = "PORT", help = "Bind to a specific port")]
11
+ pub(crate) port: Option<u16>,
12
+ #[arg(
13
+ long,
14
+ help = "Bind the HTTP service to a specific host instead of 127.0.0.1"
15
+ )]
16
+ pub(crate) host: Option<String>,
17
+ #[arg(long, help = "Run without GUI")]
18
+ pub(crate) headless: bool,
19
+ #[arg(long, help = "Use env vars for API keys instead of keyring")]
20
+ pub(crate) no_keyring: bool,
21
+ #[arg(long, help = "Enable debug console output")]
22
+ pub(crate) debug: bool,
23
+ }
koharu/src/lib.rs CHANGED
@@ -1,6 +1,8 @@
1
  pub mod app;
2
  pub mod assets;
3
- pub mod tracing_fmt;
 
 
4
  pub mod version;
5
  #[cfg(target_os = "windows")]
6
  pub mod windows;
 
1
  pub mod app;
2
  pub mod assets;
3
+ pub mod cli;
4
+ pub mod sentry;
5
+ pub mod tracing;
6
  pub mod version;
7
  #[cfg(target_os = "windows")]
8
  pub mod windows;
koharu/src/main.rs CHANGED
@@ -1,8 +1,10 @@
1
  #![cfg_attr(not(debug_assertions), windows_subsystem = "windows")]
2
 
3
  use koharu::app;
 
4
 
5
  #[tokio::main]
6
  async fn main() -> anyhow::Result<()> {
 
7
  app::run().await
8
  }
 
1
  #![cfg_attr(not(debug_assertions), windows_subsystem = "windows")]
2
 
3
  use koharu::app;
4
+ use koharu::sentry;
5
 
6
  #[tokio::main]
7
  async fn main() -> anyhow::Result<()> {
8
+ let _guard = sentry::initialize();
9
  app::run().await
10
  }
koharu/src/sentry.rs ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ use tracing_subscriber::registry::LookupSpan;
2
+
3
+ pub fn initialize() -> sentry::ClientInitGuard {
4
+ sentry::init(
5
+ "https://6817fd5af2a8b0d470faeaa0afabc59e@o4511181517815808.ingest.us.sentry.io/4511181521092608",
6
+ )
7
+ }
8
+
9
+ pub fn tracing_layer<S>() -> impl tracing_subscriber::Layer<S>
10
+ where
11
+ S: tracing::Subscriber + for<'span> LookupSpan<'span>,
12
+ {
13
+ sentry::integrations::tracing::layer()
14
+ }
koharu/src/{tracing_fmt.rs → tracing.rs} RENAMED
File without changes
ui/.gitignore CHANGED
@@ -41,3 +41,6 @@ yarn-error.log*
41
  # typescript
42
  *.tsbuildinfo
43
  next-env.d.ts
 
 
 
 
41
  # typescript
42
  *.tsbuildinfo
43
  next-env.d.ts
44
+
45
+ # Sentry Config File
46
+ .env.sentry-build-plugin
ui/app/global-error.tsx ADDED
@@ -0,0 +1,27 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ 'use client'
2
+
3
+ import * as Sentry from '@sentry/nextjs'
4
+ import NextError from 'next/error'
5
+ import { useEffect } from 'react'
6
+
7
+ export default function GlobalError({
8
+ error,
9
+ }: {
10
+ error: Error & { digest?: string }
11
+ }) {
12
+ useEffect(() => {
13
+ Sentry.captureException(error)
14
+ }, [error])
15
+
16
+ return (
17
+ <html lang='en'>
18
+ <body>
19
+ {/* `NextError` is the default Next.js error page component. Its type
20
+ definition requires a `statusCode` prop. However, since the App Router
21
+ does not expose status codes for errors, we simply pass 0 to render a
22
+ generic error message. */}
23
+ <NextError statusCode={0} />
24
+ </body>
25
+ </html>
26
+ )
27
+ }
ui/components/AppErrorBoundary.tsx CHANGED
@@ -1,8 +1,9 @@
1
  'use client'
2
 
3
- import { type ReactNode } from 'react'
4
  import { useQueryClient } from '@tanstack/react-query'
5
  import { ErrorBoundary, type FallbackProps } from 'react-error-boundary'
 
6
  import { Button } from '@/components/ui/button'
7
  import { useEditorUiStore } from '@/lib/stores/editorUiStore'
8
 
@@ -48,6 +49,11 @@ function ErrorFallback({ error, resetErrorBoundary }: FallbackProps) {
48
 
49
  export function AppErrorBoundary({ children }: { children: ReactNode }) {
50
  return (
51
- <ErrorBoundary FallbackComponent={ErrorFallback}>{children}</ErrorBoundary>
 
 
 
 
 
52
  )
53
  }
 
1
  'use client'
2
 
3
+ import * as Sentry from '@sentry/nextjs'
4
  import { useQueryClient } from '@tanstack/react-query'
5
  import { ErrorBoundary, type FallbackProps } from 'react-error-boundary'
6
+ import { type ReactNode } from 'react'
7
  import { Button } from '@/components/ui/button'
8
  import { useEditorUiStore } from '@/lib/stores/editorUiStore'
9
 
 
49
 
50
  export function AppErrorBoundary({ children }: { children: ReactNode }) {
51
  return (
52
+ <ErrorBoundary
53
+ FallbackComponent={ErrorFallback}
54
+ onError={(error) => Sentry.captureException(error)}
55
+ >
56
+ {children}
57
+ </ErrorBoundary>
58
  )
59
  }
ui/instrumentation-client.ts ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
 
1
+ import * as Sentry from '@sentry/nextjs'
2
+
3
+ Sentry.init({
4
+ dsn: 'https://8bdbe0ecdeeccd201da90456692824a3@o4511181517815808.ingest.us.sentry.io/4511181706821632',
5
+ tracesSampleRate: process.env.NODE_ENV === 'development' ? 1 : 0.1,
6
+ })
7
+
8
+ export const onRouterTransitionStart = Sentry.captureRouterTransitionStart
ui/next.config.ts CHANGED
@@ -1,3 +1,4 @@
 
1
  import type { NextConfig } from 'next'
2
 
3
  const nextConfig: NextConfig = {
@@ -21,4 +22,8 @@ const nextConfig: NextConfig = {
21
  },
22
  }
23
 
24
- export default nextConfig
 
 
 
 
 
1
+ import { withSentryConfig } from '@sentry/nextjs'
2
  import type { NextConfig } from 'next'
3
 
4
  const nextConfig: NextConfig = {
 
22
  },
23
  }
24
 
25
+ export default withSentryConfig(nextConfig, {
26
+ org: 'koharu-d0',
27
+ project: 'nextjs',
28
+ silent: !process.env.CI,
29
+ })
ui/package.json CHANGED
@@ -26,6 +26,7 @@
26
  "@radix-ui/react-switch": "^1.2.6",
27
  "@radix-ui/react-tabs": "^1.1.13",
28
  "@radix-ui/react-tooltip": "^1.2.8",
 
29
  "@tanstack/react-query": "^5.96.2",
30
  "@tanstack/react-virtual": "^3.13.23",
31
  "@tauri-apps/api": "^2.10.1",
 
26
  "@radix-ui/react-switch": "^1.2.6",
27
  "@radix-ui/react-tabs": "^1.1.13",
28
  "@radix-ui/react-tooltip": "^1.2.8",
29
+ "@sentry/nextjs": "10",
30
  "@tanstack/react-query": "^5.96.2",
31
  "@tanstack/react-virtual": "^3.13.23",
32
  "@tauri-apps/api": "^2.10.1",