Compare commits

...

1680 Commits

Author SHA1 Message Date
Lightczx
425b3789bf bump version 2024-02-07 15:08:53 +08:00
DismissedLight
a6986bc201 Merge pull request #1370 from DGP-Studio/develop
Co-authored-by: t0piy <t.tony.br01@gmail.com>
Co-authored-by: Tony <66571593+t0piy@users.noreply.github.com>
Co-authored-by: Masterain <i@irain.in>
Co-authored-by: qhy040404 <qhy040404@163.com>
Co-authored-by: qhy040404 <45379733+qhy040404@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Scighost <scighost@outlook.com>
2024-02-07 14:09:49 +08:00
Masterain
301a14611a New Crowdin updates (#1339) 2024-02-07 14:05:17 +08:00
Lightczx
59db7d968a clear multiple user selection & ignore same background 2024-02-07 13:34:55 +08:00
Lightczx
45f4b46e9e add default background 2024-02-07 12:02:38 +08:00
Lightczx
82b5d9b12a revert client convertion permission check for special folder 2024-02-07 10:33:08 +08:00
DismissedLight
6fb5cfe25d Merge branch 'main' into develop 2024-02-07 09:58:21 +08:00
Lightczx
1df78345c5 fix AdvancedCollectionView compare 2024-02-07 09:12:02 +08:00
DismissedLight
fd817af9c3 refine ui 2024-02-06 23:31:24 +08:00
Lightczx
3f6efe2e24 custom background image 2024-02-06 17:31:19 +08:00
DismissedLight
ef6d88ba2e Merge pull request #1366 from DGP-Studio/refine/1334 2024-02-06 11:16:58 +08:00
Lightczx
26748e5885 generic AdvancedCollectionView 2024-02-06 11:16:59 +08:00
DismissedLight
5f180846f6 refactor 2024-02-05 23:08:00 +08:00
DismissedLight
57ea6bb34e minor style 2024-02-05 22:03:08 +08:00
qhy040404
95024e4107 refine #1334 2024-02-05 21:47:52 +08:00
DismissedLight
678ec191a6 Merge pull request #1364 from DGP-Studio/feat/notification_permission_disabled 2024-02-05 17:26:11 +08:00
Lightczx
40b26d9d3c code style 2024-02-05 17:25:59 +08:00
qhy040404
e5677e7de4 detect notification permission
And prevent the crash caused by lack of permission when sending toast
2024-02-05 16:53:50 +08:00
Lightczx
9ae8b182e7 fix empty ui alignment 2024-02-05 16:43:29 +08:00
DismissedLight
02fe498cce Merge pull request #1363 from DGP-Studio/dependabot/nuget/src/Snap.Hutao/develop/packages-dd9cc865bd 2024-02-05 15:52:16 +08:00
Lightczx
f924f78ee2 code style 2024-02-05 15:52:00 +08:00
Lightczx
977e749939 rename style 2024-02-05 15:35:02 +08:00
dependabot[bot]
f8ad3b98fc Bump the packages group in /src/Snap.Hutao with 1 update
Bumps the packages group in /src/Snap.Hutao with 1 update: [MSTest.TestAdapter](https://github.com/microsoft/testfx).


Updates `MSTest.TestAdapter` from 3.1.1 to 3.2.0
- [Release notes](https://github.com/microsoft/testfx/releases)
- [Changelog](https://github.com/microsoft/testfx/blob/main/docs/Changelog.md)
- [Commits](https://github.com/microsoft/testfx/compare/v3.1.1...v.3.2.0)

---
updated-dependencies:
- dependency-name: MSTest.TestAdapter
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: packages
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-05 07:13:34 +00:00
Lightczx
ee39f7fec5 refine all page ui 2024-02-05 13:55:16 +08:00
DismissedLight
c8c1d21c9b refine wiki avatar page 2024-02-04 23:29:01 +08:00
Lightczx
f06825f246 refine cultivation page 2024-02-04 11:23:52 +08:00
qhy040404
72395fdb89 say goodbye to azp 2024-02-04 11:20:36 +08:00
Lightczx
8954f7e325 support Asia length 10 uid 2024-02-04 09:30:07 +08:00
DismissedLight
976441de18 refine spiralabyss page 2024-02-03 23:13:25 +08:00
DismissedLight
60a49971f6 Merge pull request #1356 from DGP-Studio/feat/reorder 2024-02-03 21:50:20 +08:00
DismissedLight
fb5de92283 code style 2024-02-03 21:49:51 +08:00
qhy040404
046f3ace94 reorderable user 2024-02-03 17:28:50 +08:00
qhy040404
4c369ad0ad impl #1334 2024-02-03 17:28:50 +08:00
DismissedLight
7efaaae3e1 fix syntax tree parsing 2024-02-03 17:26:17 +08:00
Lightczx
446bdb2b49 syntax tree incompleted 2024-02-02 17:12:41 +08:00
Lightczx
20277b8b79 Add callconv on win32 apis 2024-02-02 10:38:40 +08:00
Lightczx
7baf125f88 Impl IReorderable 2024-02-02 10:03:46 +08:00
Lightczx
a4e782da78 refine #1316 2024-02-01 16:17:49 +08:00
Lightczx
d5551e5cdf fix #1316 2024-02-01 14:30:50 +08:00
Lightczx
f016a4a27f refine #1347 2024-02-01 09:42:55 +08:00
DismissedLight
8b931b6d89 Merge pull request #1349 from DGP-Studio/fix/1347
fix #1347
2024-02-01 09:23:40 +08:00
Lightczx
b942ceb914 codestyle 2024-02-01 09:22:52 +08:00
qhy040404
f7a49e52e0 fix #1347 2024-02-01 00:10:23 +08:00
qhy040404
d4bd610fe2 temporary fix qr login
let's play zzz :(
2024-01-31 23:00:07 +08:00
Lightczx
a3dcfd3804 metadata special name handling 2024-01-31 17:25:43 +08:00
Lightczx
592525d149 typo fix for #1344 2024-01-31 14:20:57 +08:00
Lightczx
83c4598df5 fix #1333 again 2024-01-31 11:37:48 +08:00
Masterain
31670953b0 Update issue_similarity.yml 2024-01-30 19:00:42 -08:00
DismissedLight
aa680388ad refine ui 2024-01-30 21:59:42 +08:00
Lightczx
ba4f59de30 update dynamic proxy injection 2024-01-30 17:31:23 +08:00
Lightczx
8780cf385e move class 2024-01-30 15:58:18 +08:00
Lightczx
431cdd1253 refine achievement page 2024-01-30 14:11:54 +08:00
Lightczx
9a8827fb40 fix typo 2024-01-30 11:54:09 +08:00
DismissedLight
d88a6ca301 Merge pull request #1327 from DGP-Studio/l10n_develop 2024-01-30 11:29:56 +08:00
DismissedLight
5d401794e5 Merge branch 'develop' into l10n_develop 2024-01-30 11:29:48 +08:00
Lightczx
26396443dc add 4.4 tower wave description 2024-01-30 11:18:37 +08:00
Masterain
ae2415dbca Create issue_similarity.yml 2024-01-29 18:17:37 -08:00
Lightczx
6b755d934d setting width trigger performance 2024-01-30 09:26:43 +08:00
DismissedLight
7d5b057269 Merge pull request #1337 from Scighost/develop 2024-01-30 09:21:17 +08:00
Lightczx
917c173eb2 code style 2024-01-30 09:18:11 +08:00
Scighost
28d702422e Responsive setting page 2024-01-29 20:21:30 +08:00
Lightczx
7612ab5da3 fix #1331 2024-01-29 16:37:49 +08:00
Lightczx
ab436ecb2f add package convert directory permission override 2024-01-29 16:26:50 +08:00
Lightczx
457e3ff4d5 fix #1333 2024-01-29 16:05:53 +08:00
Lightczx
224c4e52ea Activation using NamedPipe 2024-01-29 15:51:09 +08:00
DismissedLight
2a5c7b21fd Merge pull request #1335 from DGP-Studio/dependabot/nuget/src/Snap.Hutao/develop/packages-5aeabc7cca 2024-01-29 15:50:29 +08:00
dependabot[bot]
53f8291a66 Bump the packages group in /src/Snap.Hutao with 2 updates
Bumps the packages group in /src/Snap.Hutao with 2 updates: [MSTest.TestAdapter](https://github.com/microsoft/testfx) and [MSTest.TestFramework](https://github.com/microsoft/testfx).


Updates `MSTest.TestAdapter` from 3.1.1 to 3.2.0
- [Release notes](https://github.com/microsoft/testfx/releases)
- [Changelog](https://github.com/microsoft/testfx/blob/main/docs/Changelog.md)
- [Commits](https://github.com/microsoft/testfx/compare/v3.1.1...v.3.2.0)

Updates `MSTest.TestFramework` from 3.1.1 to 3.2.0
- [Release notes](https://github.com/microsoft/testfx/releases)
- [Changelog](https://github.com/microsoft/testfx/blob/main/docs/Changelog.md)
- [Commits](https://github.com/microsoft/testfx/compare/v3.1.1...v.3.2.0)

---
updated-dependencies:
- dependency-name: MSTest.TestAdapter
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: packages
- dependency-name: MSTest.TestFramework
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: packages
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-29 07:25:34 +00:00
DismissedLight
b621d5406a ui update 2024-01-28 21:13:50 +08:00
Masterain
12f4847aea New translations sh.resx (Portuguese) 2024-01-28 02:29:48 -08:00
Masterain
39a3d31f38 New translations sh.resx (Indonesian) 2024-01-28 02:29:47 -08:00
Masterain
70ac0b13a5 New translations sh.resx (English) 2024-01-28 02:29:46 -08:00
Masterain
a3520a4991 New translations sh.resx (Chinese Traditional) 2024-01-28 02:29:45 -08:00
Masterain
aed0284e4b New translations sh.resx (Russian) 2024-01-28 02:29:44 -08:00
Masterain
96ef07cbe5 New translations sh.resx (Korean) 2024-01-28 02:29:43 -08:00
Masterain
d1f37f37ac New translations sh.resx (Japanese) 2024-01-28 02:29:42 -08:00
DismissedLight
1fe09f3069 impl #1279 2024-01-28 17:44:15 +08:00
Masterain
5b109013a0 add workflows for stale issues (#1330) 2024-01-28 01:40:54 -08:00
DismissedLight
32d9355c3a refine http related code 2024-01-27 23:11:41 +08:00
Masterain
71f170d51e New translations sh.resx (Portuguese) 2024-01-27 01:57:10 -08:00
Masterain
60015b6354 New translations sh.resx (Indonesian) 2024-01-27 01:57:08 -08:00
Masterain
eecae3ea4f New translations sh.resx (English) 2024-01-27 01:57:07 -08:00
Masterain
1831166f1e New translations sh.resx (Chinese Traditional) 2024-01-27 01:57:06 -08:00
Masterain
a98915ea24 New translations sh.resx (Russian) 2024-01-27 01:57:05 -08:00
Masterain
0d46656f57 New translations sh.resx (Korean) 2024-01-27 01:57:04 -08:00
Masterain
c814a5c28f New translations sh.resx (Japanese) 2024-01-27 01:57:03 -08:00
DismissedLight
9c3d59cc6f fix loopback 2024-01-27 13:52:48 +08:00
DismissedLight
890cf3f3ea Merge pull request #1286 from DGP-Studio/feat/feedback_network 2024-01-27 13:02:28 +08:00
DismissedLight
196bbb54c3 code style 2024-01-27 13:01:56 +08:00
DismissedLight
0481b9e474 pt resx as analyzer files 2024-01-27 09:56:35 +08:00
qhy040404
c4f3eb68e8 code style 2024-01-27 09:19:18 +08:00
qhy040404
c2e9f3a926 verify set 2024-01-27 00:47:09 +08:00
qhy040404
fb1fe3e40f add loopback status 2024-01-27 00:38:41 +08:00
qhy040404
75ed512e4a add current proxy to feedback page 2024-01-26 22:08:38 +08:00
Masterain
dd4dd33d93 New translations sh.resx (Japanese) 2024-01-26 01:47:29 -08:00
Lightczx
1e216e9823 refine com import 2024-01-26 17:18:57 +08:00
Lightczx
f823cb5f1a ui rework 2024-01-26 15:38:00 +08:00
Lightczx
2c6d25f0a3 limit update thread count 2024-01-25 17:22:32 +08:00
Masterain
817f768263 New translations sh.resx (Portuguese) 2024-01-25 00:36:14 -08:00
Masterain
2998fbb167 New translations sh.resx (English) 2024-01-25 00:36:12 -08:00
Masterain
8f0f94054d New translations sh.resx (Russian) 2024-01-25 00:36:10 -08:00
Lightczx
17a5d4d3a2 impl #1320 2024-01-25 15:59:52 +08:00
Lightczx
a1c604e68a add required win32 apis 2024-01-25 15:50:46 +08:00
Lightczx
948ec9a822 code style 2024-01-25 12:55:26 +08:00
Lightczx
f83174d690 com interface impl IUnknown 2024-01-25 11:24:17 +08:00
Lightczx
d686debbfb manually pinvoke from win32metadata 2024-01-25 11:01:45 +08:00
qhy040404
279e107919 Update bug report template (#1317)
* 更新 CHS-bug-report.yml

* 更新 ENG-bug-report.yml
2024-01-19 01:38:17 -08:00
Lightczx
45248d75e1 pt-BR -> pt 2024-01-19 16:52:04 +08:00
Lightczx
22646cfab2 windows app sdk self contained 2024-01-19 16:25:57 +08:00
Lightczx
d0237a3c89 Add pt-BR locale 2024-01-19 15:41:11 +08:00
Tony
73c80fad10 Finish PT-BR translation (#1314) 2024-01-19 08:17:53 +08:00
Masterain
320bed9fcb New Crowdin updates (#1312)
* New translations sh.resx (Japanese)

* New translations sh.resx (Korean)

* New translations sh.resx (Russian)

* New translations sh.resx (Chinese Traditional)

* New translations sh.resx (English)

* New translations sh.resx (Indonesian)

* New translations sh.resx (Portuguese)
2024-01-17 15:10:26 -08:00
qhy040404
bb12aca3b4 Add PT translation (unfinished) (#1311)
Co-authored-by: t0piy <t.tony.br01@gmail.com>
Co-authored-by: Tony <66571593+t0piy@users.noreply.github.com>
2024-01-17 15:06:53 -08:00
DismissedLight
c7b5d98fb1 Merge pull request #1295 from DGP-Studio/fix/daily_note_task 2024-01-15 14:24:31 +08:00
qhy040404
7cc96f94f2 code style 2024-01-12 09:30:11 +08:00
qhy040404
b35355f9a3 improve daily note information 2024-01-11 20:39:02 +08:00
DismissedLight
94a5e71130 Update translations (#1294)
Co-authored-by: Masterain <i@irain.in>
2024-01-11 19:20:34 +08:00
Masterain
745815657d New Crowdin updates (#1293) 2024-01-11 19:19:43 +08:00
DismissedLight
07cdfcea28 Merge pull request #1291 from DGP-Studio/develop 2024-01-11 19:16:57 +08:00
DismissedLight
d93a9f41f3 bump version 2024-01-11 19:07:12 +08:00
qhy040404
910f099c6d reset debug console state (#1290)
Co-authored-by: DismissedLight <1686188646@qq.com>
2024-01-11 19:04:23 +08:00
Lightczx
e68449ec0c Update NativeMethods.txt 2024-01-10 17:06:23 +08:00
Lightczx
e484fbed21 update dependency 2024-01-10 10:42:35 +08:00
Masterain
88af6d28a9 New Crowdin updates (#1282)
* New translations sh.resx (Japanese)

* New translations sh.resx (Korean)

* New translations sh.resx (Russian)

* New translations sh.resx (Chinese Traditional)

* New translations sh.resx (English)

* New translations sh.resx (Indonesian)
2024-01-09 00:23:28 -08:00
Lightczx
3ab34f0992 Update HtmlDescriptionTextBlock.cs 2024-01-09 10:53:07 +08:00
Lightczx
5e875a7f18 add strings to resources 2 2024-01-09 10:38:33 +08:00
Lightczx
89d98748e8 add strings to resources 2024-01-09 10:10:31 +08:00
Masterain
d33cd894b9 New Crowdin updates (#1256)
* New translations sh.resx (Japanese)

* New translations sh.resx (Korean)

* New translations sh.resx (Russian)

* New translations sh.resx (Chinese Traditional)

* New translations sh.resx (English)

* New translations sh.resx (Indonesian)

* New translations sh.resx (Indonesian)

* New translations sh.resx (Russian)

* New translations sh.resx (Chinese Traditional)

* New translations sh.resx (Japanese)

* New translations sh.resx (Korean)

* New translations sh.resx (Russian)

* New translations sh.resx (Chinese Traditional)

* New translations sh.resx (English)

* New translations sh.resx (Indonesian)

* New translations sh.resx (Japanese)

* New translations sh.resx (Korean)

* New translations sh.resx (Russian)

* New translations sh.resx (Chinese Traditional)

* New translations sh.resx (English)

* New translations sh.resx (Indonesian)

* New translations sh.resx (Japanese)

* New translations sh.resx (Korean)

* New translations sh.resx (Russian)

* New translations sh.resx (Chinese Traditional)

* New translations sh.resx (English)

* New translations sh.resx (Indonesian)
2024-01-08 14:26:30 -08:00
DismissedLight
f0c19b419e Merge pull request #1276 from DGP-Studio/feat/dynamic_proxy 2024-01-08 22:20:30 +08:00
DismissedLight
f1d9787e45 fix method call 2024-01-08 22:18:07 +08:00
DismissedLight
5f9b4a7cb2 refactor RegistryWatcher 2024-01-08 21:55:59 +08:00
qhy040404
8710150897 use reflect to reduce code size 2024-01-08 20:19:05 +08:00
qhy040404
92c1b12764 dynamic proxy 2024-01-08 18:24:02 +08:00
Lightczx
d73bd557f3 remove settings appearance backdrop transparent 2024-01-08 16:52:37 +08:00
Lightczx
777d7d1056 remove winrt marshaller 2024-01-08 16:30:53 +08:00
Lightczx
1a944dae9c add transparent backdrop 2024-01-08 15:16:41 +08:00
Lightczx
a26c52ba97 typo 2024-01-08 11:43:45 +08:00
Lightczx
5fab03d57e Update FeedbackPage.xaml 2024-01-08 11:41:23 +08:00
Lightczx
e8a459cb41 refine #1039 2024-01-08 11:36:16 +08:00
DismissedLight
04df5a7bf1 impl #1039 2024-01-07 23:23:59 +08:00
Masterain
a93eb505d6 Update issue template 2024-01-06 22:56:17 -08:00
DismissedLight
1ebcc2fc89 add documentation client 2024-01-07 14:49:02 +08:00
DismissedLight
e9917e788d Merge pull request #1273 from DGP-Studio/feat/identify_monitor 2024-01-06 23:39:41 +08:00
DismissedLight
9665876d52 code style 2 2024-01-06 23:38:26 +08:00
DismissedLight
8921816873 code style 2024-01-06 22:57:25 +08:00
DismissedLight
2698761594 fix convert game path 2024-01-06 20:03:14 +08:00
qhy040404
3ae4210ca0 add i18n 2024-01-06 18:32:39 +08:00
qhy040404
2f5e0cbe39 impl #1261 2024-01-06 18:25:10 +08:00
DismissedLight
d3444a9435 typo 2024-01-06 15:22:40 +08:00
DismissedLight
8b6f95c3d9 add package convert check 2024-01-06 15:21:51 +08:00
DismissedLight
88b8335e5b Merge pull request #1271 from DGP-Studio/feat/refresh_data_size 2024-01-05 23:52:55 +08:00
qhy040404
061aba715b refresh data folder size after deleting server cache 2024-01-05 23:50:28 +08:00
DismissedLight
da80631b72 code style 2024-01-05 23:28:35 +08:00
DismissedLight
97acf872bc remove status when game exited 2024-01-05 23:28:05 +08:00
DismissedLight
addaf1a9e3 Merge pull request #1270 from DGP-Studio/feat/launch-pipeline 2024-01-05 22:46:00 +08:00
DismissedLight
76183901da clean up 2024-01-05 22:33:10 +08:00
Lightczx
87ee81e7fa add handlers 2024-01-05 17:29:30 +08:00
DismissedLight
f2f858de15 create infrastructure 2024-01-04 22:51:58 +08:00
DismissedLight
c434521004 Merge pull request #1265 from DGP-Studio/fix/schedule 2024-01-04 16:03:54 +08:00
Lightczx
27ed2cefc1 fix #1242 2024-01-04 16:01:52 +08:00
qhy040404
6dc1e664b0 add task register check and delete script if register is failed 2024-01-04 13:32:43 +08:00
DismissedLight
aa46b6531b Merge pull request #1264 from DGP-Studio/Masterain98-patch-1 2024-01-04 09:37:08 +08:00
Masterain
b36399f572 Update .gitlab-ci.yml 2024-01-03 17:36:45 -08:00
DismissedLight
51c3dde24b Merge pull request #1263 from DSakura207/main 2024-01-04 09:18:23 +08:00
DSakura207
2d497faaa5 Update Contributing.md 2024-01-03 18:35:47 -06:00
DSakura207
4783934b92 Add .vsconfig for installing workloads and extensions 2024-01-03 18:17:09 -06:00
DismissedLight
03d235876a Merge pull request #1260 from DGP-Studio/develop 2024-01-03 22:18:36 +08:00
DismissedLight
f49e9669af update version 2024-01-03 22:18:08 +08:00
DismissedLight
533c70caaa allow null package convert state 2024-01-03 21:53:13 +08:00
DismissedLight
dd59302bb3 fix bilibili server crash 2024-01-03 20:40:37 +08:00
DismissedLight
96e42f51f0 Merge pull request #1254 from DGP-Studio/develop 2024-01-03 20:02:54 +08:00
DismissedLight
5a19c19759 update version 2024-01-03 20:01:47 +08:00
DismissedLight
8fb831ef7c fix startup launch game card crash 2024-01-03 19:58:54 +08:00
Masterain
a30c8d8678 Update automation 2024-01-03 03:56:53 -08:00
DismissedLight
2655e835f8 1.9.2 package 2024-01-03 19:34:56 +08:00
qhy040404
ffd74703cd Update MGMT-publish.yml 2024-01-03 19:26:23 +08:00
DismissedLight
584465dc45 Merge pull request #1253 from DGP-Studio/develop 2024-01-03 19:14:57 +08:00
DismissedLight
a1e751160d Merge pull request #1235 from DGP-Studio/l10n_develop 2024-01-03 19:04:09 +08:00
DismissedLight
d78d2cf51a typo 2024-01-03 18:21:11 +08:00
Masterain
24709bfbf9 Update .gitlab-ci.yml 2024-01-03 01:48:36 -08:00
Lightczx
9be396b175 impl #1228 2024-01-03 17:09:51 +08:00
Lightczx
bb83e76d33 impl #1241 2024-01-03 16:17:27 +08:00
Lightczx
1ca24c8a78 remove unused using 2024-01-03 14:37:17 +08:00
DismissedLight
3d56aef221 Merge pull request #1250 from DGP-Studio/feat/1244 2024-01-03 14:26:35 +08:00
Lightczx
d43f2e76c4 code style 2024-01-03 14:26:21 +08:00
qhy040404
104fb9a3b0 finish up 2024-01-03 10:43:36 +08:00
qhy040404
d6b79584b6 streams need rework and resx 2024-01-02 23:21:11 +08:00
qhy040404
fcd0b65257 impl #1244 2024-01-02 21:15:24 +08:00
DismissedLight
802951edd7 impl #1055 2024-01-02 21:12:29 +08:00
DismissedLight
79fc42aa3b fix spinwait 2024-01-02 18:45:35 +08:00
Lightczx
fb0491dc57 get object form registry 2024-01-02 17:10:45 +08:00
Lightczx
b81d088379 rename script 2024-01-02 16:36:52 +08:00
qhy040404
553d267625 impl #1239 (#1246)
Co-authored-by: DismissedLight <1686188646@qq.com>
2024-01-02 14:26:21 +08:00
Lightczx
199e753103 use discord game sdk raw abi 2024-01-02 14:08:38 +08:00
qhy040404
48774960a7 Update GameRegistryContentTest.cs 2024-01-02 10:20:57 +08:00
DismissedLight
7bfea0e090 Create GameRegistryContentTest.cs 2024-01-01 23:21:38 +08:00
qhy040404
f0f9e387a8 direct to right doc 2024-01-01 19:35:01 +08:00
DismissedLight
f71a34a6be Merge pull request #1243 from DGP-Studio/fix/1208
fix #1208
2024-01-01 00:13:59 +08:00
DismissedLight
e6fd0b833b fix 1203 status deserialize 2023-12-31 23:59:55 +08:00
DismissedLight
d2c33cf19c optimize cache image placeholder presentation 2023-12-31 23:50:01 +08:00
qhy040404
59a7d6746f fix #1208 2023-12-31 23:36:29 +08:00
Masterain
1d074f5313 New translations sh.resx (Chinese Traditional) 2023-12-31 03:24:56 -08:00
Masterain
769a1c3812 New translations sh.resx (Russian) 2023-12-31 03:24:55 -08:00
Masterain
b54717fa9b New translations sh.resx (Japanese) 2023-12-31 03:24:54 -08:00
Masterain
ffa0b05a12 New translations sh.resx (Indonesian) 2023-12-30 02:47:33 -08:00
Masterain
d07a33f3e4 New translations sh.resx (English) 2023-12-29 02:30:33 -08:00
Lightczx
b49cd924d0 add source link 2023-12-29 13:51:27 +08:00
Lightczx
49db3003c9 fix launch game window 2023-12-29 11:56:44 +08:00
Lightczx
314c771020 clear selected game account after scheme changed 2023-12-29 11:39:01 +08:00
Lightczx
967f6f76f0 refuse convert for game in Program Files folder 2023-12-29 11:11:53 +08:00
Lightczx
5d05c31af5 fix startup crash 2023-12-29 10:05:03 +08:00
Masterain
bbd274c391 Update README.md (#1234)
* Update README.md

* Update README.md
2023-12-28 01:34:20 -08:00
Masterain
f8a8a929ac New translations sh.resx (Indonesian) 2023-12-28 01:21:13 -08:00
Masterain
cf3298dbd0 New translations sh.resx (English) 2023-12-28 01:21:12 -08:00
Masterain
a8b887def2 New translations sh.resx (Chinese Traditional) 2023-12-28 01:21:11 -08:00
Masterain
5a937b0838 New translations sh.resx (Russian) 2023-12-28 01:21:10 -08:00
Masterain
c016ae1cb8 New translations sh.resx (Korean) 2023-12-28 01:21:08 -08:00
Masterain
c7fdf8001d New translations sh.resx (Japanese) 2023-12-28 01:21:07 -08:00
Lightczx
64998453a1 Update LaunchGameViewModel.cs 2023-12-28 17:07:15 +08:00
Lightczx
9fdedd78d0 refactor Launch Game Pipeline 2023-12-28 17:06:45 +08:00
Lightczx
58e4d1b90e fix ci 2023-12-28 10:30:10 +08:00
Lightczx
e0d11bf9a0 impl #1199 2023-12-28 10:13:41 +08:00
Lightczx
51be2c76aa remove unused strings 2023-12-27 13:44:20 +08:00
DismissedLight
686d2378de Merge pull request #1232 from DGP-Studio/feat/elevate_restart 2023-12-27 13:34:48 +08:00
Lightczx
e2d5baffe0 remove INotifyPropertyChanged on TitleView 2023-12-27 13:33:01 +08:00
Lightczx
4001cc7051 code style 2023-12-27 13:31:21 +08:00
qhy040404
b106fe4729 add restart as admin 2023-12-27 10:44:10 +08:00
DismissedLight
d138d856e4 prepare 1203 types 2023-12-26 22:46:50 +08:00
DismissedLight
91f16c1701 impl #1230 2023-12-26 22:10:57 +08:00
DismissedLight
54d21b24f7 use package manager to update 2023-12-26 21:34:42 +08:00
Lightczx
268c2d0543 Update Snap.Hutao.csproj 2023-12-26 11:47:02 +08:00
Lightczx
acdcee7558 fix ci 2023-12-26 10:42:30 +08:00
Lightczx
371e469db7 optimize progress invocation 2023-12-26 10:36:59 +08:00
DismissedLight
22a974408d Merge pull request #1227 from DGP-Studio/feat/hotkey_flyout 2023-12-25 19:43:23 +08:00
DismissedLight
055b343571 fixup 2023-12-25 19:40:43 +08:00
qhy040404
84e56792b0 use flyout to show special keyboard keys 2023-12-25 19:26:59 +08:00
DismissedLight
da95b7837a Merge pull request #1218 from DGP-Studio/feat/goodbye_pwsh 2023-12-24 21:51:11 +08:00
DismissedLight
48ddb4c091 code style 2023-12-24 21:50:47 +08:00
qhy040404
ea95f2e2b1 say goodbye to powershell 2023-12-24 17:09:49 +08:00
DismissedLight
93077104b8 direct set registry value 2023-12-24 13:52:06 +08:00
DismissedLight
3ffdc901c7 fix server convert set game path null 2023-12-24 12:52:06 +08:00
DismissedLight
0d66c85744 remove redundant element 2023-12-23 20:42:35 +08:00
DismissedLight
b11526761e Merge pull request #1214 from DGP-Studio/develop 2023-12-23 19:19:45 +08:00
DismissedLight
d293149672 1.9.1 package 2023-12-23 19:18:29 +08:00
DismissedLight
3784df67a3 adjust launch page ui 2023-12-23 19:15:04 +08:00
DismissedLight
4aaca4d19f fix reentrant issue 2023-12-23 18:51:41 +08:00
DismissedLight
e6cf39831d fix daily note fetch uid crash 2023-12-23 18:22:12 +08:00
DismissedLight
24a2a18760 fix #1212 2023-12-23 17:34:44 +08:00
DismissedLight
d8dce5c062 empty sha256 tolerance 2023-12-23 14:48:24 +08:00
DismissedLight
6ee823094a Merge pull request #1207 from DGP-Studio/develop 2023-12-23 11:51:15 +08:00
Masterain
ccbb7f76d4 New Crowdin updates (#1205) 2023-12-23 11:48:39 +08:00
DismissedLight
857eea61f9 remove store buttons in setting page 2023-12-23 11:47:15 +08:00
DismissedLight
d82f416c10 code style 2023-12-22 22:03:37 +08:00
DismissedLight
b8bcad2107 1.9.0 package 2023-12-22 22:02:10 +08:00
Masterain
ad240a543d New Crowdin updates (#1189)
* New translations sh.resx (Indonesian)

* New translations sh.resx (Indonesian)

* New translations sh.resx (Indonesian)

* New translations sh.resx (Indonesian)

* New translations sh.resx (Japanese)

* New translations sh.resx (Korean)

* New translations sh.resx (Russian)

* New translations sh.resx (Chinese Traditional)

* New translations sh.resx (English)

* New translations sh.resx (English)

* New translations sh.resx (English)

* New translations sh.resx (Indonesian)

* New translations sh.resx (Japanese)

* New translations sh.resx (Korean)

* New translations sh.resx (Russian)

* New translations sh.resx (Chinese Traditional)

* New translations sh.resx (English)
2023-12-22 02:21:02 -08:00
Masterain
e7775b611f Update TestViewModel.cs 2023-12-22 01:12:45 -08:00
qhy040404
14894b0b47 Update issue templates 2023-12-22 16:59:22 +08:00
Masterain
53d920621c Update TestViewModel.cs 2023-12-22 00:50:00 -08:00
Lightczx
55cb346fb4 update service 2023-12-22 16:29:36 +08:00
Masterain
c0f63187cc Update TestViewModel.cs 2023-12-21 23:28:46 -08:00
Masterain
6834073603 Merge pull request #1204 from DGP-Studio/issue_template_publish
Update MGMT-publish.yml
2023-12-21 17:41:22 -08:00
qhy040404
911fe57fb2 check jihulab 2023-12-22 09:29:47 +08:00
qhy040404
7320cf7dd0 owner 2023-12-22 09:21:52 +08:00
qhy040404
bc6d03e442 Update MGMT-publish.yml 2023-12-22 09:20:30 +08:00
DismissedLight
884ec87edf disable quick edit for debug console 2023-12-21 20:16:00 +08:00
Lightczx
18d3180bc2 more announcement time fix 2023-12-21 15:57:09 +08:00
Lightczx
4908364e45 announcement time as local 2023-12-21 15:27:38 +08:00
DismissedLight
b7fe16c52c Merge pull request #1200 from DGP-Studio/1198 2023-12-21 15:22:30 +08:00
Lightczx
0c8646b499 fix announcement time 2023-12-21 15:20:22 +08:00
qhy040404
f5b0d07d32 impl #1198 2023-12-21 10:06:30 +08:00
qhy040404
231635ac89 fix wrong publisher 2023-12-21 09:42:18 +08:00
qhy040404
e0a28d0f90 Update CI Certificate 2023-12-21 09:34:38 +08:00
Lightczx
22e7942899 doc 2023-12-20 17:01:45 +08:00
Lightczx
d81e7f6624 fix announcement time incorrect for oversea 2023-12-20 16:57:07 +08:00
DismissedLight
92240a27a0 Merge pull request #1192 from DGP-Studio/feat/ann 2023-12-20 16:30:37 +08:00
Lightczx
c5313c078d code style 2023-12-20 16:29:00 +08:00
qhy040404
2c320fe7e6 revert some region 2023-12-20 15:49:18 +08:00
qhy040404
05a8ab990c replace all region 2023-12-20 15:27:59 +08:00
qhy040404
3661822852 use NameValue 2023-12-20 15:27:59 +08:00
qhy040404
7519d7b263 typo 2023-12-20 15:27:59 +08:00
qhy040404
47d0cbcf31 override ToString 2023-12-20 15:27:59 +08:00
qhy040404
449a5393a9 fix typo 2023-12-20 15:27:59 +08:00
qhy040404
3b636ecd27 Update SettingPage.xaml 2023-12-20 15:27:59 +08:00
qhy040404
95531db559 use struct 2023-12-20 15:27:59 +08:00
qhy040404
eeed58ed71 maybe code style 2023-12-20 15:27:58 +08:00
qhy040404
493af0fd4c impl #1112 (part 3)
ann client
2023-12-20 15:27:58 +08:00
qhy040404
3df70a5feb impl #1112 (part 2)
setting
2023-12-20 15:27:58 +08:00
qhy040404
879b930ea6 impl #1112 (part 1) 2023-12-20 15:27:58 +08:00
Lightczx
c5e0221a0b fix jsbridge 2023-12-20 15:26:08 +08:00
Lightczx
44fbb56d83 minor code style 2023-12-20 13:07:06 +08:00
Lightczx
1a1bdb7f85 #1190 cast data type nuint attempt 2023-12-20 12:43:08 +08:00
Lightczx
52cd505ed0 #1190 cast data type 2023-12-20 11:01:01 +08:00
Lightczx
cd16bebee2 fix #1190 2023-12-20 10:39:56 +08:00
Masterain
307a49b346 Merge pull request #1191 from DGP-Studio/Masterain98-patch-2
Update .gitlab-ci.yml
2023-12-19 18:08:36 -08:00
Masterain
9f8d80ff43 Update .gitlab-ci.yml 2023-12-19 13:48:49 -08:00
DismissedLight
2be2d6313b wiki avatar skill 2023-12-19 20:37:27 +08:00
Lightczx
bee7e48cb9 fix gamePath set null when closing page 2 2023-12-19 11:49:19 +08:00
DismissedLight
83cbc9bbe1 fix gamePath set null when closing page 2023-12-18 22:44:31 +08:00
DismissedLight
655d8a74af remove box 2023-12-17 19:30:49 +08:00
Masterain
d34130b6c0 Update .gitlab-ci.yml 2023-12-17 02:44:15 -08:00
DismissedLight
4cf76ebbc4 fix type issue 2023-12-17 16:50:53 +08:00
DismissedLight
10b282a88a unify response behavior 2023-12-17 16:48:16 +08:00
Masterain
2161f12069 Merge pull request #1187 from DGP-Studio/Masterain98-patch-1
Create .gitlab-ci.yml
2023-12-16 22:34:56 -08:00
Masterain
0bedd1894c Create .gitlab-ci.yml 2023-12-16 22:33:43 -08:00
DismissedLight
e60956c5c8 temp fix #1160 2023-12-16 19:17:09 +08:00
DismissedLight
442db0bae4 Merge pull request #1184 from DGP-Studio/develop 2023-12-16 15:07:24 +08:00
DismissedLight
aa4b544500 1.8.5 package 2023-12-16 15:06:25 +08:00
DismissedLight
3fc35cc3a5 Merge pull request #1183 from DGP-Studio/develop 2023-12-16 15:02:03 +08:00
Masterain
3233be6f25 New Crowdin updates (#1157) 2023-12-16 15:01:13 +08:00
DismissedLight
03f6778ec3 Merge pull request #1182 from DGP-Studio/develop 2023-12-16 15:00:09 +08:00
DismissedLight
0310afd77d correct game record requests 2023-12-15 21:34:04 +08:00
DismissedLight
e94f68d87b add console banner 2023-12-15 20:58:30 +08:00
DismissedLight
73dc103d11 Merge pull request #1179 from qhy040404/fix/pwsh 2023-12-15 19:27:59 +08:00
qhy040404
c947c759b8 fix pwsh argument 2023-12-15 19:26:17 +08:00
DismissedLight
4581bd79f9 fix gamepath reselect issue 2023-12-15 18:58:41 +08:00
Masterain
1b4fd995ce Merge pull request #1178 from DGP-Studio/Masterain98-patch-2
Update README.md
2023-12-15 01:54:21 -08:00
DismissedLight
72ebd1067b attempt to fix code 5001 2023-12-15 17:33:06 +08:00
Lightczx
e66819de55 fix #1060 2023-12-15 11:59:40 +08:00
Masterain
4d3bd6f438 Update README.md 2023-12-14 15:35:12 -08:00
DismissedLight
9f793670fe failed attempt: fight with device_fp 2023-12-14 22:47:17 +08:00
DismissedLight
414e0715a5 Merge pull request #1175 from DGP-Studio/feature/multi-gamepath 2023-12-14 15:25:03 +08:00
Lightczx
c8bea36540 code style 2023-12-14 15:22:20 +08:00
Lightczx
9e5b5e24d9 impl #1173 2023-12-14 15:15:29 +08:00
qhy040404
2968017663 Merge pull request #1176 from DGP-Studio/main
Sync action to develop
2023-12-14 15:06:55 +08:00
Lightczx
ac78df369c impl #526 2023-12-14 14:48:56 +08:00
qhy040404
2d7b3732e7 Update alpha.yml 2023-12-13 22:29:39 +08:00
DismissedLight
176baeb5c6 shadow improvement 2023-12-13 22:06:43 +08:00
DismissedLight
8fe1b48fd4 fix qrcode dialog 2023-12-13 20:22:29 +08:00
Lightczx
de46d5f9bf Update KnownReturnCode.cs 2023-12-13 17:24:44 +08:00
Lightczx
289b3219c9 fix some image blank 2023-12-13 13:32:42 +08:00
Masterain
af6a1208c6 Merge pull request #1172 from qhy040404/ci/action
Use GitHub Actions to generate Alpha
2023-12-12 19:47:02 -08:00
qhy040404
be6ad70ad6 misc 2023-12-12 22:02:54 +08:00
DismissedLight
d740632c27 code style 2023-12-12 21:40:18 +08:00
qhy040404
fd2e9980c7 fix 2023-12-12 19:24:52 +08:00
qhy040404
0b7b259d2f migrate to GitHub actions 2023-12-12 18:14:23 +08:00
Lightczx
c67dfea819 Update README.md 2023-12-12 17:13:47 +08:00
DismissedLight
b84cd98484 Merge pull request #1170 from DGP-Studio/develop 2023-12-12 17:08:56 +08:00
Lightczx
1c991aa120 user service refactor 2023-12-12 17:07:28 +08:00
Masterain
d92da924ff Update README.md 2023-12-11 23:58:02 -08:00
qhy040404
57f7ac944c fix signing 2023-12-12 15:31:37 +08:00
qhy040404
5ad4c0a5be Update appveyor signing 2023-12-12 15:23:59 +08:00
DismissedLight
6768d7b8f4 Merge pull request #1169 from qhy040404/feat/qr 2023-12-12 14:25:32 +08:00
Lightczx
ad20b83b4e minor fix 2023-12-12 14:25:05 +08:00
Lightczx
f4547b60de completing 2023-12-12 14:22:15 +08:00
qhy040404
dcf1b01566 Update azure-pipelines.yml 2023-12-12 10:42:08 +08:00
DismissedLight
217586fece Device needs rework 2023-12-11 22:55:47 +08:00
qhy040404
2fb6cd3441 code style (?) 2023-12-11 18:47:41 +08:00
qhy040404
a8d4dc84a1 impl #870 2023-12-11 14:31:34 +08:00
Masterain
c39a198c57 Update azure-pipelines.yml for Azure Pipelines 2023-12-10 21:07:17 -08:00
Masterain
9c106b24fb Update azure-pipelines.yml for Azure Pipelines 2023-12-10 21:02:19 -08:00
Masterain
73c62a63ea Update azure-pipelines.yml for Azure Pipelines 2023-12-10 20:44:05 -08:00
Lightczx
e8762d658f add console window 2023-12-11 11:44:03 +08:00
DismissedLight
824fba89a8 minor code style 2023-12-10 21:37:27 +08:00
DismissedLight
ecd17de279 text hint improvement 2023-12-09 18:26:02 +08:00
DismissedLight
46c683c570 Merge pull request #1164 from qhy040404/ci/cake 2023-12-09 15:04:50 +08:00
qhy040404
364d0ed0be Update azure-pipelines.yml 2023-12-09 14:28:43 +08:00
qhy040404
46a90be95c prepare release 2023-12-09 12:06:21 +08:00
qhy040404
d7863ab5e0 code style 2023-12-09 11:12:25 +08:00
qhy040404
e7e6467ea8 release version 2023-12-09 11:09:19 +08:00
qhy040404
5fa6bc03c8 更新 appveyor.yml 2023-12-09 10:17:03 +08:00
qhy040404
4d5115e11b add appveyor 2023-12-09 09:51:30 +08:00
DismissedLight
bc9b167c5b disable image lazy loading 2023-12-08 22:39:51 +08:00
qhy040404
f5c3e55b3e sign outside 2023-12-08 17:44:26 +08:00
qhy040404
abb559d35f prepare for veyor 2023-12-08 17:02:40 +08:00
qhy040404
f4d23d6174 better abstract 2023-12-08 16:39:36 +08:00
Lightczx
3cc17375f0 Settings folder size display 2023-12-08 16:19:38 +08:00
qhy040404
50c0fa2061 abstract 2023-12-08 11:41:13 +08:00
Lightczx
859492e580 infobarservice refactor 2023-12-08 11:16:55 +08:00
qhy040404
1ab1d182af Update PublishDistribution.yml 2023-12-08 10:30:07 +08:00
qhy040404
bde5122060 change target repo and avoid abs path 2023-12-08 10:01:34 +08:00
qhy040404
e090d7e04b wrong repo 2023-12-08 09:50:56 +08:00
qhy040404
7ef2834b42 Hello cake 2023-12-08 09:50:56 +08:00
qhy040404
c68fbe9d96 Auto sync appxmanifest 2023-12-08 09:50:48 +08:00
DismissedLight
f16769969e fix #1163 2023-12-07 23:00:40 +08:00
DismissedLight
24b66de082 code style 2023-12-07 22:55:32 +08:00
DismissedLight
a5bfdbaa4b impl #1016 2023-12-07 22:38:21 +08:00
Lightczx
559ae250bd cultivation wip [skip ci] 2023-12-07 17:25:48 +08:00
Lightczx
bd344e50ab minor game process optimization 2023-12-07 10:57:16 +08:00
Lightczx
e5d67a80dd move files 2023-12-07 10:37:15 +08:00
Lightczx
8d8ec8b05d code style 2023-12-07 09:34:05 +08:00
Lightczx
82ccd59451 sign in website url 2023-12-07 09:16:00 +08:00
Lightczx
3ba3ba55cb adjust propertynames 2023-12-06 17:16:23 +08:00
Lightczx
e6e6e22b9c apply hutao api changes 2023-12-06 16:39:48 +08:00
Lightczx
97842559d7 apply api changes 2023-12-06 15:45:30 +08:00
Lightczx
a97aa26d79 refactor options 2023-12-06 15:41:13 +08:00
DismissedLight
8d7373c6cb Merge pull request #1161 from qhy040404/feat/ip 2023-12-06 13:53:34 +08:00
Lightczx
045c127fb2 code style 2023-12-06 13:53:16 +08:00
qhy040404
4dd6765e35 show ip 2023-12-06 12:47:30 +08:00
Masterain
d374519685 Update issue templates 2023-12-05 01:56:35 -08:00
Lightczx
9993082b86 1.8.4 package 2023-12-05 14:30:04 +08:00
Lightczx
f835178b10 always extract sdk for bili 2023-12-05 14:09:41 +08:00
DismissedLight
0b8b10e2f7 Merge pull request #1156 from DGP-Studio/develop 2023-12-05 13:52:10 +08:00
Masterain
97130156f0 New Crowdin updates (#1142) 2023-12-05 13:38:33 +08:00
Lightczx
06def00e2c ignore non exist files 2023-12-05 13:33:25 +08:00
Lightczx
2679a68785 pre-check filesystem permission before convert 2023-12-05 10:58:41 +08:00
DismissedLight
57e8bc8bdf resource file sharding for client converting 2023-12-04 23:14:41 +08:00
DismissedLight
b6ad96c0cb fix stream copy work totalbytes 2023-12-04 21:35:43 +08:00
Lightczx
b6769b63e3 Add progress report for HttpShardCopyWorker 2023-12-04 17:10:42 +08:00
Lightczx
1c67da607c Add http sharding 2023-12-04 16:09:28 +08:00
DismissedLight
70cb4b8285 Merge pull request #1153 from qhy040404/fix/pwsh
fix #1145 (Part 2)
2023-12-03 23:34:21 +08:00
DismissedLight
56fc4dcbcd code style 2023-12-03 23:34:00 +08:00
DismissedLight
626418680a Merge pull request #1154 from qhy040404/fix/link
fix #1151
2023-12-03 23:16:26 +08:00
qhy040404
8f3e166773 fix #1151 2023-12-03 22:26:55 +08:00
qhy040404
013639f57e fix #1145 (Part 2) 2023-12-03 22:02:48 +08:00
DismissedLight
21ad6be9da metadata service refactor 2023-12-03 21:20:49 +08:00
DismissedLight
ed556c8539 remove wiki avatar page resize blinking 2023-12-03 17:37:03 +08:00
DismissedLight
42e11ec94a add tests 2023-12-02 21:22:26 +08:00
qhy040404
6cdfac6e09 fix #1147 2023-12-02 15:51:15 +08:00
Masterain
b0c23e329b Update README.md 2023-12-02 15:51:15 +08:00
DismissedLight
3ca46d3836 Merge pull request #1149 from qhy040404/fix/culture 2023-12-02 15:39:34 +08:00
qhy040404
5df2d7210b fix #1147 2023-12-02 15:26:52 +08:00
Lightczx
7dece546a5 game running tracker async scope 2023-12-01 16:25:21 +08:00
Lightczx
2b851a5459 activation optimization 2023-12-01 14:58:10 +08:00
Lightczx
98a711da70 fix #1145 2023-12-01 10:50:07 +08:00
Lightczx
176c26df51 sign-in endpoints 2023-12-01 10:43:06 +08:00
Lightczx
af87891a5f add server strings 2023-11-29 17:13:06 +08:00
DismissedLight
b523a2bb2a 1.8.3 package 2023-11-28 22:05:02 +08:00
Masterain
b3f8093c09 Update README.md 2023-11-28 02:39:41 -08:00
Lightczx
b4eb97a6ea fix incorrect resource name 2023-11-28 17:00:26 +08:00
Lightczx
77217d2fc3 fix #1138 2023-11-28 15:44:37 +08:00
Lightczx
8e386c1457 1.8.2 hotfix package 2023-11-28 13:32:09 +08:00
DismissedLight
330154c9ec Merge pull request #1136 from DGP-Studio/develop 2023-11-28 13:18:42 +08:00
Lightczx
f97385089a fix #1134 2023-11-28 13:16:16 +08:00
DismissedLight
8982fcd427 1.8.1 package 2023-11-27 19:57:27 +08:00
DismissedLight
aaa2e09dde Merge pull request #1131 from DGP-Studio/develop 2023-11-27 19:34:55 +08:00
Masterain
58fdcc7804 Update MGMT-publish.yml 2023-11-27 03:23:39 -08:00
DismissedLight
ca352a5262 revoke some static resources version 2023-11-27 19:22:57 +08:00
DismissedLight
0f9e34ffb8 Merge pull request #1118 from DGP-Studio/l10n_develop 2023-11-27 19:17:34 +08:00
DismissedLight
76a60e30fc #1123 repeat notification regression 2023-11-27 19:15:55 +08:00
Lightczx
693566812b add new server localization keys 2023-11-27 17:30:14 +08:00
DismissedLight
8fbe2ee831 Merge pull request #1129 from DGP-Studio/dependabot/nuget/src/Snap.Hutao/develop/packages-0fa0185f23 2023-11-27 17:28:50 +08:00
dependabot[bot]
639a86d11b Bump the packages group in /src/Snap.Hutao with 1 update
Bumps the packages group in /src/Snap.Hutao with 1 update: [Microsoft.CodeAnalysis.CSharp](https://github.com/dotnet/roslyn).

- [Release notes](https://github.com/dotnet/roslyn/releases)
- [Changelog](https://github.com/dotnet/roslyn/blob/main/docs/Breaking%20API%20Changes.md)
- [Commits](https://github.com/dotnet/roslyn/commits)

---
updated-dependencies:
- dependency-name: Microsoft.CodeAnalysis.CSharp
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: packages
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-27 07:12:58 +00:00
Masterain
3f21a5d8fc New translations sh.resx (English) 2023-11-26 08:34:00 -08:00
Masterain
8a62327e30 New translations sh.resx (Chinese Traditional) 2023-11-26 08:33:58 -08:00
Masterain
69b9a0c9dc New translations sh.resx (Korean) 2023-11-26 08:33:57 -08:00
Masterain
af56f3ac30 New translations sh.resx (Japanese) 2023-11-26 08:33:56 -08:00
DismissedLight
ffc899efe5 fix #1123 2023-11-26 20:15:22 +08:00
DismissedLight
80b958d9d3 impl #1121 2023-11-26 19:59:02 +08:00
DismissedLight
b60f7c215e minor ui fix 2023-11-26 19:14:49 +08:00
DismissedLight
7128dddb57 remove skill bottom padding 2023-11-26 16:42:00 +08:00
DismissedLight
9960b6f6b1 fix #1126 2023-11-26 15:55:37 +08:00
DismissedLight
7099ca43b6 impl #1127 2023-11-26 15:04:41 +08:00
DismissedLight
c9627e19e7 fix #1124 2023-11-26 14:41:53 +08:00
DismissedLight
6999103aaa refine wiki avatar page ui 2023-11-26 14:35:33 +08:00
Masterain
e54eef3aa7 New translations sh.resx (English) 2023-11-25 08:02:24 -08:00
DismissedLight
f2ef6ff8ec fix #1099 again 2023-11-25 10:10:16 +08:00
Masterain
35ddaaeb35 New translations sh.resx (English) 2023-11-24 07:47:53 -08:00
Masterain
c833655231 New translations sh.resx (Chinese Traditional) 2023-11-24 07:47:52 -08:00
Masterain
8724784803 New translations sh.resx (Korean) 2023-11-24 07:47:51 -08:00
Masterain
d1ceac0fe9 New translations sh.resx (Japanese) 2023-11-24 07:47:49 -08:00
Lightczx
43415ebd0d IPinnable 2023-11-24 17:31:10 +08:00
Lightczx
a8b697e782 fix #1119 2023-11-24 13:41:58 +08:00
Lightczx
602b31c52d restrict combobox size 2023-11-24 11:51:46 +08:00
Masterain
3b43389049 New translations sh.resx (Chinese Traditional) 2023-11-23 07:49:51 -08:00
Masterain
3a1fc839eb New translations sh.resx (Japanese) 2023-11-23 07:49:50 -08:00
DismissedLight
e0f967341e TCG decrypt [skip ci] 2023-11-23 23:34:31 +08:00
Lightczx
74ac738236 bump static resource version 2023-11-23 13:08:32 +08:00
Masterain
0189c4824b New translations sh.resx (English) 2023-11-22 07:43:58 -08:00
Masterain
1a43841833 New translations sh.resx (Chinese Traditional) 2023-11-22 07:43:56 -08:00
Masterain
29ad939498 New translations sh.resx (Korean) 2023-11-22 07:43:55 -08:00
Masterain
60c8e948e8 New translations sh.resx (Japanese) 2023-11-22 07:43:54 -08:00
DismissedLight
a17f9ca543 optimize discord activity 2023-11-22 22:28:06 +08:00
Lightczx
ee86f12168 impl #1082 2023-11-22 16:59:01 +08:00
DismissedLight
9fb79a9fbd Merge pull request #1117 from qhy040404/develop 2023-11-22 13:51:56 +08:00
Lightczx
467eb13c87 file nesting 2023-11-22 13:48:05 +08:00
Lightczx
40b055d310 lock on get winrt obj disposed 2023-11-22 13:43:35 +08:00
qhy040404
126d19e96a Apply suggestions 2023-11-22 13:39:07 +08:00
Lightczx
485ac1e682 trim unused xml 2023-11-22 13:28:40 +08:00
qhy040404
1117e322a6 Support the coexistence of Snap Hutao and Snap Hutao Dev 2023-11-22 13:10:05 +08:00
Masterain
85b40b71e5 Update PublishDistribution.yml 2023-11-21 17:33:53 -08:00
Masterain
66bbf4335a Update PublishDistribution.yml 2023-11-21 17:30:52 -08:00
DismissedLight
cb20bd0df4 Merge pull request #1116 from qhy040404/develop 2023-11-22 09:05:47 +08:00
qhy040404
cb9c9a0af2 Sync tab when navigate from GachaLog's HutaoCloudView to SpiralAbyssRecordPage 2023-11-21 22:14:27 +08:00
Lightczx
28ea71cf77 Add CollectionsMarshal Test 2023-11-21 16:17:53 +08:00
Lightczx
94744c4bc1 1.8.0 package 2023-11-21 15:03:43 +08:00
DismissedLight
58af255485 Merge pull request #1114 from DGP-Studio/develop 2023-11-21 14:10:59 +08:00
Masterain
c45e6560b8 New Crowdin updates (#1091)
Co-authored-by: DismissedLight <1686188646@qq.com>
2023-11-21 13:58:15 +08:00
Lightczx
29d7d36b66 Frozen Collections 2023-11-21 13:53:32 +08:00
Lightczx
2bbf6f192e fix conditional ci 2023-11-21 10:57:23 +08:00
Lightczx
cc8565428b replace hutao endpoints 2023-11-21 10:47:33 +08:00
DismissedLight
d84e0bf199 fix typo 2023-11-20 21:56:53 +08:00
DismissedLight
9d8c981f5a add profile picture basic support 2023-11-20 21:34:37 +08:00
Lightczx
1f412b289a move localization annotations 2023-11-20 17:25:03 +08:00
Lightczx
07b3e98ac0 add more specifically http message 2023-11-20 16:58:48 +08:00
DismissedLight
8a9f4ced34 Merge pull request #1111 from DGP-Studio/dependabot/nuget/src/Snap.Hutao/develop/packages-dfb7e59321 2023-11-20 15:23:19 +08:00
dependabot[bot]
0a0aa3e404 Bump the packages group in /src/Snap.Hutao with 1 update
Bumps the packages group in /src/Snap.Hutao with 1 update: [Microsoft.Extensions.DependencyInjection](https://github.com/dotnet/runtime).

- [Release notes](https://github.com/dotnet/runtime/releases)
- [Commits](https://github.com/dotnet/runtime/compare/v7.0.0...v8.0.0)

---
updated-dependencies:
- dependency-name: Microsoft.Extensions.DependencyInjection
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: packages
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-20 07:19:21 +00:00
Lightczx
84861c5e6b update nuget package version 2023-11-20 14:44:57 +08:00
DismissedLight
a23e6f55d4 add basic discord support 2023-11-19 20:51:58 +08:00
DismissedLight
c1cf5aa499 prevent binding failure when achievement page disposed 2023-11-19 16:59:26 +08:00
DismissedLight
91b6e6793c simplify the startup statement 2023-11-19 16:48:43 +08:00
DismissedLight
ac1ef44801 fix startup user role change caused dead lock 2023-11-19 16:16:10 +08:00
DismissedLight
e7b23c8a5a minor bug fixes 2023-11-19 13:16:22 +08:00
DismissedLight
68a3851595 refine #1096 2023-11-18 22:47:09 +08:00
DismissedLight
7861ebf998 #impl 1096 2023-11-18 22:41:25 +08:00
DismissedLight
0cc75ab245 fix #1106 2023-11-17 22:29:17 +08:00
Lightczx
ef09c87835 fix service register type for geetest 2023-11-17 13:06:49 +08:00
Lightczx
b13ec8c12a win32 dialog 2023-11-16 16:58:41 +08:00
Lightczx
29e14111f0 fix azure pipeline 2023-11-16 14:40:52 +08:00
Lightczx
0dd66288cd fix azure pipeline 2023-11-16 14:30:59 +08:00
DismissedLight
bb835ee20e Merge pull request #1103 from DGP-Studio/dotnet8 2023-11-16 14:24:57 +08:00
Lightczx
a1037e1827 fix #1099 2023-11-16 14:13:32 +08:00
Lightczx
ba6ee9bb85 replace format extension 2023-11-16 13:15:37 +08:00
Lightczx
f1c50dc6c3 UnsafeAccessor 2023-11-16 10:47:07 +08:00
Lightczx
8e841b1295 remove using 2023-11-16 09:24:35 +08:00
DismissedLight
ea2000b03d Update DataSignAlgorithm.cs 2023-11-16 00:08:43 +08:00
DismissedLight
d186dd6f98 DynamicSecret -> DataSign 2023-11-16 00:08:01 +08:00
DismissedLight
5c46c92a1a rename constants 2023-11-15 22:36:57 +08:00
DismissedLight
98f2dd13d1 bulk refactor 2023-11-15 22:31:56 +08:00
Lightczx
3e0493be31 collection experssion 2 2023-11-15 17:26:18 +08:00
Lightczx
7025074170 fix collection style 2023-11-15 16:36:15 +08:00
Lightczx
0eade5e81a collection experssion 2023-11-15 16:19:43 +08:00
Lightczx
163d076ed5 Revert "fix shadow crash on announcement page"
This reverts commit cf5b377532.
2023-11-15 16:08:10 +08:00
Lightczx
fa5aac3366 Revert "remove AttachedCardShadow to fix startup crash"
This reverts commit afbc91abe8.
2023-11-15 16:07:57 +08:00
Lightczx
f98a40d080 fix NRE in DbCurrent and change UnsafeDateTimeOffset ns 2023-11-15 13:16:38 +08:00
Lightczx
cf5b377532 fix shadow crash on announcement page 2023-11-15 12:59:32 +08:00
Lightczx
afbc91abe8 remove AttachedCardShadow to fix startup crash 2023-11-15 12:53:20 +08:00
Lightczx
be572fa327 change csproj to net8 2023-11-15 12:52:52 +08:00
Lightczx
fe594864f2 use CoCreateInstance to activate ShellLinkW 2023-11-14 09:24:37 +08:00
DismissedLight
d8b6315e7e capture dispatched exceptions 2023-11-13 23:13:25 +08:00
Lightczx
d4e9c2aa9c localenames 2023-11-13 15:37:06 +08:00
DismissedLight
800c948c38 Merge pull request #1094 from DGP-Studio/dependabot/nuget/src/Snap.Hutao/develop/packages-c2c108d172 2023-11-13 15:35:59 +08:00
dependabot[bot]
32589bc994 Bump the packages group in /src/Snap.Hutao with 1 update
Bumps the packages group in /src/Snap.Hutao with 1 update: [Microsoft.NET.Test.Sdk](https://github.com/microsoft/vstest).

- [Release notes](https://github.com/microsoft/vstest/releases)
- [Changelog](https://github.com/microsoft/vstest/blob/main/docs/releases.md)
- [Commits](https://github.com/microsoft/vstest/compare/v17.7.2...v17.8.0)

---
updated-dependencies:
- dependency-name: Microsoft.NET.Test.Sdk
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: packages
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-13 07:08:36 +00:00
DismissedLight
afc91b1a29 remove unused using 2023-11-12 13:06:41 +08:00
DismissedLight
40db69825f Merge pull request #1090 from Tangweirui2021/main 2023-11-12 12:49:41 +08:00
DismissedLight
407dd7bac8 code style 2023-11-12 12:48:46 +08:00
Daniel
4708cd5629 fix user log in/register/unregister/reset password info bar localization 2023-11-11 18:42:14 +08:00
DismissedLight
2b93d31788 fix #1087 and improve some null checks 2023-11-11 12:55:47 +08:00
Lightczx
39831b0ae1 Merge branch 'main' of https://github.com/DGP-Studio/Snap.Hutao 2023-11-10 16:08:54 +08:00
Lightczx
51c9936018 1.7.17 package 2023-11-10 16:08:35 +08:00
Masterain
3466a98ffb Create MGMT-publish.yml 2023-11-09 23:48:29 -08:00
DismissedLight
a064cc10ee Merge pull request #1085 from DGP-Studio/develop 2023-11-10 15:41:33 +08:00
Masterain
3479a19164 New Crowdin updates (#1078)
Co-authored-by: DismissedLight <1686188646@qq.com>
2023-11-10 15:39:00 +08:00
Lightczx
d4549581c1 fix exception capture 2023-11-10 15:33:11 +08:00
Lightczx
f97bc344d0 fix announcement time incorrectness 2023-11-10 14:20:44 +08:00
Lightczx
26d23fec7f impl #830 in previous commit 2023-11-10 11:39:53 +08:00
Lightczx
7442f7f1ec support UIGF v2.4-preview 2023-11-10 11:37:45 +08:00
DismissedLight
3eb2556393 update gacha info endpoints 2023-11-09 23:39:51 +08:00
DismissedLight
cfff6f39fc adjust server timezone 2023-11-09 23:15:08 +08:00
Lightczx
3005031b39 add basic timezone support for gachaitem 2023-11-09 17:18:56 +08:00
Lightczx
71363f4d8d fix #1081 2023-11-09 15:23:51 +08:00
Lightczx
e833578334 rename jsbridge 2023-11-09 11:51:56 +08:00
Lightczx
d529b3cea6 fix #1079 2023-11-09 11:38:30 +08:00
Lightczx
1c0ce62885 fix gacha item corner radius 2023-11-08 13:34:55 +08:00
DismissedLight
acdf2baa9a improve webviewer & hotkey 2023-11-07 21:02:25 +08:00
DismissedLight
ec007d5d81 add fp to jsbridge 2023-11-07 19:08:48 +08:00
Lightczx
5e734ac689 impl #961 2023-11-07 15:37:53 +08:00
DismissedLight
b0ecd048b6 1.7.16 package 2023-11-06 21:41:04 +08:00
DismissedLight
91010d0d8b Merge pull request #1076 from DGP-Studio/develop 2023-11-06 20:57:23 +08:00
Masterain
fc771eb90a New Crowdin updates (#1063) 2023-11-06 20:56:40 +08:00
DismissedLight
80f2fed722 Merge pull request #1075 from DGP-Studio/develop 2023-11-06 20:56:15 +08:00
DismissedLight
bdb406c451 add copy hint for #1074 2023-11-06 20:53:29 +08:00
DismissedLight
5bc957c6a5 fix spiral abyss crash when using 4.2 metadata 2023-11-06 20:32:29 +08:00
Lightczx
416c6f15a6 partial #1074 2023-11-06 17:07:35 +08:00
Lightczx
9eed633e05 DefaultItemCollectionTransitionProvider 2023-11-06 15:52:50 +08:00
Lightczx
7e30173990 update to 4.2 metadata 2023-11-06 14:57:57 +08:00
Lightczx
2200e2e58e fonticon resources 2023-11-06 14:36:36 +08:00
Lightczx
b8886c5cd3 fix #1072 2023-11-06 13:46:59 +08:00
DismissedLight
43007d8fb4 Merge pull request #1073 from qhy040404/develop 2023-11-06 12:40:53 +08:00
Lightczx
88684bff00 code style 2023-11-06 12:40:19 +08:00
qhy040404
0c7ce7a72f Add files 2023-11-06 12:32:22 +08:00
qhy040404
075d92f754 Set IsEnabled by a new property instead of setting it separately for each SettingsCard 2023-11-06 12:18:05 +08:00
Lightczx
a0cba171cc update feat template 2023-11-06 11:43:57 +08:00
Lightczx
f41185310b adjust wish typename 2023-11-06 11:41:33 +08:00
Lightczx
2a4c93d241 impl #778 all 2023-11-06 11:17:16 +08:00
DismissedLight
c0980fabe8 impl #1071 2023-11-05 16:03:10 +08:00
DismissedLight
f2ba316059 recycle fingerprint 2023-11-04 17:47:45 +08:00
DismissedLight
e4e9dd91f1 impl #1062 2023-11-04 17:21:31 +08:00
DismissedLight
749ef0e138 introducing game service facade 2023-11-04 16:53:08 +08:00
DismissedLight
24086ee4d0 optimize UniformStaggeredColumnLayout 2023-11-03 23:32:52 +08:00
DismissedLight
aeb6962ae4 impl #1015 2023-11-03 22:06:51 +08:00
Lightczx
87e5ede91f impl #1068 2023-11-03 16:20:11 +08:00
Lightczx
91de6d170e add fingerprint fetch & fix #1060 2023-11-03 11:52:52 +08:00
Lightczx
3057673cdb fix #1069 2023-11-03 10:11:47 +08:00
Lightczx
c3ace405ac fix pushpage 2023-11-03 09:26:44 +08:00
DismissedLight
0b48581e65 Merge pull request #1065 from qhy040404/main 2023-11-02 21:16:40 +08:00
DismissedLight
4ab129e4a2 code style 2023-11-02 21:14:39 +08:00
qhy040404
13ad36f5b4 Added a master switch for launchOptions 2023-11-02 18:43:07 +08:00
Lightczx
f026321aa8 1.7.15 package 2023-11-02 15:27:40 +08:00
DismissedLight
d1dfdf107b Merge pull request #1064 from DGP-Studio/develop 2023-11-02 15:10:51 +08:00
Lightczx
59f8895675 MarqueeText 2023-11-02 15:05:06 +08:00
Lightczx
4cb3d5f03f launch scheme renewed 2023-11-02 14:23:34 +08:00
Lightczx
067c7d7c4d fix ci 2023-11-02 12:45:11 +08:00
Lightczx
1cc072ba28 EmailSmtpAddress 2023-11-02 11:35:31 +08:00
Lightczx
0e7afa8efb clear username & password after cancel registration 2023-11-02 11:30:00 +08:00
Lightczx
b753728b7e verify code request set token 2023-11-02 11:12:26 +08:00
Lightczx
df019da891 complete cancel registration 2023-11-02 10:42:55 +08:00
Lightczx
c6435f30eb add verify for cancel registration 2023-11-02 10:26:27 +08:00
Lightczx
3ac0be4220 fix unregister passport 2023-11-02 10:07:20 +08:00
Lightczx
24f6a33256 clear username & password after logout 2023-11-02 09:48:22 +08:00
Lightczx
dc9278eb4f fix verifycode crash 2023-11-02 09:42:08 +08:00
Lightczx
4b2c82db62 fix xaml parsing failed 2023-11-02 09:06:56 +08:00
Lightczx
70f30edd7c xaml style rework 2023-11-01 17:03:00 +08:00
Lightczx
c8e8213df6 code style 2023-11-01 15:56:22 +08:00
Lightczx
7cad996902 process cmdline #1061 2023-11-01 15:28:44 +08:00
Lightczx
eec47b72c7 fix #1061 2023-11-01 15:26:36 +08:00
Lightczx
5943b1a1fb impl #886 2023-11-01 13:46:50 +08:00
Lightczx
9f9a5670bc fix dailynote webhook error 2023-11-01 10:45:47 +08:00
Lightczx
10ba927136 fix #1059 2023-10-31 16:45:24 +08:00
Lightczx
07d42cedd1 page style 2023-10-31 15:19:25 +08:00
Lightczx
07c52019f4 1.7.14 hotfix package 2023-10-31 11:38:51 +08:00
DismissedLight
77cb2fc603 Merge pull request #1056 from DGP-Studio/develop 2023-10-31 11:11:03 +08:00
Masterain
b5c16e2dae New Crowdin updates (#1053) 2023-10-31 11:10:06 +08:00
DismissedLight
29c954b032 fingerprint 2023-10-30 22:03:33 +08:00
DismissedLight
8df5d5d6eb fix #1052 & user account add crash 2023-10-30 19:42:36 +08:00
Lightczx
827d944987 1.7.13 package 2023-10-30 15:38:00 +08:00
DismissedLight
4c47f3c08b Merge pull request #1050 from DGP-Studio/develop 2023-10-30 15:16:10 +08:00
DismissedLight
6540cc4577 Merge pull request #1045 from DGP-Studio/l10n_develop 2023-10-30 15:14:10 +08:00
Lightczx
df22d30a96 ui/ux 2023-10-30 15:12:30 +08:00
Lightczx
5ea9dd533f remove hutao user changed message 2023-10-30 09:14:21 +08:00
DismissedLight
744c1079e1 fix #903 2023-10-29 22:56:10 +08:00
Masterain
1539863415 New translations sh.resx (English) 2023-10-29 07:32:38 -07:00
Masterain
3527e43118 New translations sh.resx (Chinese Traditional) 2023-10-29 07:32:37 -07:00
Masterain
8388def548 New translations sh.resx (Korean) 2023-10-29 07:32:36 -07:00
Masterain
d0bfbfa505 New translations sh.resx (Japanese) 2023-10-29 07:32:35 -07:00
DismissedLight
fa640d27f0 implement #911 2023-10-29 22:08:51 +08:00
DismissedLight
389c1417f7 built in resx generator 2023-10-28 15:00:43 +08:00
Masterain
6dcacb1bf4 New translations sh.resx (Japanese) 2023-10-27 10:45:51 -07:00
Lightczx
4ffd09cce8 roslyn generated resx 2023-10-27 15:50:32 +08:00
Lightczx
0dcbac3ee1 fix #431 input crash 2023-10-27 09:23:05 +08:00
Masterain
b1ea5332fc Merge pull request #1037 from DGP-Studio/l10n_develop
New Crowdin updates
2023-10-26 10:29:22 -07:00
Masterain
b34dab0f99 New translations sh.resx (English) 2023-10-26 10:28:57 -07:00
Masterain
791e517e39 New translations sh.resx (Chinese Traditional) 2023-10-26 10:28:55 -07:00
Masterain
4408e3994e New translations sh.resx (Korean) 2023-10-26 10:28:54 -07:00
Masterain
32cbbefe1a New translations sh.resx (Japanese) 2023-10-26 10:28:52 -07:00
DismissedLight
d754c0d117 ignore designer file 2 2023-10-26 23:04:21 +08:00
DismissedLight
4c75295f2c ignore designer file 1 2023-10-26 23:04:01 +08:00
DismissedLight
34e5312d75 impl #1021 2023-10-26 22:58:40 +08:00
Masterain
465d6b631e Update issue templates 2023-10-26 03:37:04 -07:00
Masterain
0d2d1b8115 New translations sh.resx (English) 2023-10-26 02:34:48 -07:00
Masterain
981949651e New translations sh.resx (English) 2023-10-26 02:28:47 -07:00
Masterain
874dac1119 New translations sh.resx (Chinese Traditional) 2023-10-26 02:28:46 -07:00
Masterain
3f0694b28e New translations sh.resx (Korean) 2023-10-26 02:28:44 -07:00
Masterain
6b166b6aed New translations sh.resx (Japanese) 2023-10-26 02:28:43 -07:00
Lightczx
b351231c84 typo fix 2023-10-26 17:27:55 +08:00
Lightczx
0603b24466 implement #431 2023-10-26 15:31:55 +08:00
Lightczx
f97ad4eac0 fix IsGameRunning 2023-10-26 14:12:45 +08:00
DismissedLight
28fc4558be support server l10n 2023-10-25 23:26:46 +08:00
Masterain
ea3391b112 New translations sh.resx (English) 2023-10-25 02:28:14 -07:00
DismissedLight
ec95e42d7d fix #1041 2023-10-23 19:04:00 +08:00
Masterain
e9f12aeb09 Update .github configurations 2023-10-21 19:52:34 -07:00
Masterain
04850dd136 New translations sh.resx (Japanese) 2023-10-21 11:07:53 -07:00
Masterain
4782d61ed0 New translations sh.resx (English) 2023-10-20 06:16:12 -07:00
Masterain
28ade90926 New translations sh.resx (Chinese Traditional) 2023-10-20 06:16:11 -07:00
Masterain
dde97b6489 New translations sh.resx (Korean) 2023-10-20 06:16:10 -07:00
Masterain
44fe729e1a New translations sh.resx (Japanese) 2023-10-20 06:16:09 -07:00
Lightczx
2a1d814cc5 fix #899 2023-10-20 11:44:42 +08:00
Lightczx
c1ee37bd8f fix #1023 2023-10-20 10:59:30 +08:00
Lightczx
65b81f0ad8 fix #1035 2023-10-20 09:07:40 +08:00
DismissedLight
91fea88623 launch page redo 2023-10-19 22:32:01 +08:00
DismissedLight
026c68229a fix #925 2023-10-19 20:46:29 +08:00
DismissedLight
91b2db886f 1.7.11 hotfix package 2023-10-18 19:53:00 +08:00
DismissedLight
101d316525 Merge pull request #1032 from DGP-Studio/develop 2023-10-18 19:38:01 +08:00
DismissedLight
59d62f931d fix launch args 2023-10-18 19:35:59 +08:00
Lightczx
f0bb19bc07 fix #1028 2023-10-18 17:21:45 +08:00
Masterain
c0b05e2c2f Update FUNDING.yml 2023-10-17 17:15:55 -07:00
Masterain
fc02f833a0 Update FUNDING.yml 2023-10-17 15:36:04 -07:00
DismissedLight
7b8ebd86b1 1.7.10 package 2023-10-17 22:12:58 +08:00
DismissedLight
47b24286b1 Merge pull request #1024 from DGP-Studio/develop 2023-10-17 20:31:47 +08:00
Masterain
0e3e3b9e4a New Crowdin updates (#1019) 2023-10-17 20:31:15 +08:00
DismissedLight
85d7b22e11 auto select existed account when detecting 2023-10-17 20:29:14 +08:00
Lightczx
7caeb17788 use reference in picker factory 2023-10-17 14:51:41 +08:00
Lightczx
b11b90e9f1 re-impl #1020 2023-10-16 11:03:41 +08:00
DismissedLight
58643a60b5 fix bugs 2023-10-15 16:14:22 +08:00
DismissedLight
a29b487c26 impl #1020 2023-10-15 16:14:13 +08:00
DismissedLight
1bd6023e0a fix issues 2023-10-15 12:30:44 +08:00
DismissedLight
579173d464 webview lifetime 2023-10-14 19:29:28 +08:00
DismissedLight
9ed53e8c34 fix spiralabyss damage rank empty crash 2023-10-14 17:26:06 +08:00
DismissedLight
830556a043 fix ICoreWebView2_13 not supported 2023-10-14 00:12:14 +08:00
DismissedLight
7ba27e184f ignore invalid launch schemes 2023-10-13 23:17:08 +08:00
DismissedLight
9aa6a2b57b fix invalid geetest url crash 2023-10-13 22:53:32 +08:00
DismissedLight
5773902f4a fix #1001 2023-10-13 22:36:51 +08:00
DismissedLight
06c5bcad3e fix #1013 #1012 #1011 2023-10-13 21:42:36 +08:00
Lightczx
c0165c57fd support Send on sync context 2023-10-13 15:27:46 +08:00
DismissedLight
4e57520115 Update AvatarIds.cs 2023-10-12 22:55:35 +08:00
Masterain
17c3480dae New Crowdin updates (#1006) 2023-10-12 22:10:54 +08:00
DismissedLight
7d5faadbb5 1.7.9 hotfix package 2023-10-12 22:03:24 +08:00
DismissedLight
b7df968ea7 fix #1008 2023-10-12 21:33:35 +08:00
DismissedLight
5f6cc46774 Merge pull request #1009 from DGP-Studio/develop 2023-10-12 21:04:39 +08:00
Lightczx
a34b5a5101 style 2023-10-12 16:58:29 +08:00
Lightczx
457e3c4af2 LoadImageSurfaceAsync fix 2023-10-12 16:45:59 +08:00
Lightczx
26143079b3 app resource moved 2023-10-12 15:59:42 +08:00
DismissedLight
20ad9aec60 fix 1.7.7 log upload issue 2023-10-11 22:28:10 +08:00
DismissedLight
61dd098d95 fix #1003 2023-10-11 22:12:07 +08:00
DismissedLight
e7233fbf2a fix #1007 2023-10-11 20:50:21 +08:00
DismissedLight
8de526274a fix #1005 2023-10-10 22:28:53 +08:00
DismissedLight
5b1fb6e1dd move resources 2023-10-10 22:27:53 +08:00
DismissedLight
1584fd1428 fix mutiple display window init size incorrectness 2023-10-10 20:23:39 +08:00
Masterain
65179a340f Update README.md 2023-10-09 04:02:38 -07:00
DismissedLight
9f984b4a9b 1.7.7 package 2023-10-08 22:59:36 +08:00
DismissedLight
8a36bfb62c Merge pull request #978 from DGP-Studio/l10n_develop 2023-10-08 22:34:22 +08:00
DismissedLight
c9c8f6a5cf Merge pull request #998 from DGP-Studio/develop 2023-10-08 22:28:58 +08:00
DismissedLight
f9e1ef7ab5 fix #990 2023-10-08 22:26:40 +08:00
DismissedLight
be06a91e0f code style 2023-10-08 22:08:17 +08:00
DismissedLight
174757f94d adjust nullability annotation 2023-10-08 21:51:24 +08:00
Lightczx
1cd3ec0cdb experiment 2023-10-08 17:30:35 +08:00
Lightczx
7b17bb5a01 reset window size 2023-10-08 14:15:27 +08:00
Masterain
c3bab3c677 New translations sh.resx (Japanese) 2023-10-07 15:35:50 -07:00
DismissedLight
17f1c873ae shadow complete 2023-10-07 23:49:23 +08:00
Lightczx
313a17b7eb code style 2023-10-07 11:25:06 +08:00
Lightczx
9ad321e10d fix ci build 2023-10-07 11:15:49 +08:00
Masterain
f18dfc0baf New translations sh.resx (Japanese) 2023-10-06 15:28:34 -07:00
DismissedLight
16946c58fe fix minor request bug 2023-10-06 21:48:10 +08:00
DismissedLight
c7b931956c import reqrest 2023-10-06 21:33:09 +08:00
Masterain
6c0c5b4669 New translations sh.resx (English) 2023-10-05 15:28:01 -07:00
Masterain
0342805293 New translations sh.resx (Chinese Traditional) 2023-10-05 15:28:00 -07:00
Masterain
e0b1896336 New translations sh.resx (Korean) 2023-10-05 15:27:59 -07:00
Masterain
6d1958af4c New translations sh.resx (Japanese) 2023-10-05 15:27:58 -07:00
DismissedLight
42ab2c3000 Merge pull request #989 from Xhichn/develop 2023-10-05 12:29:01 +08:00
Xhichn
d0fb00dccd Impl GetInfoAsync 2023-10-05 10:39:00 +08:00
DismissedLight
5bc484db78 signIn improvement 2023-10-05 10:02:25 +08:00
DismissedLight
c665834f77 Merge pull request #988 from DGP-Studio/main 2023-10-05 09:41:00 +08:00
DismissedLight
81d73568a7 Merge pull request #965 from Xhichn/DailyReward 2023-10-05 09:37:54 +08:00
DismissedLight
c940ec7006 dailynote & spiralabyss adjust 2023-10-05 09:32:17 +08:00
Masterain
71e5e6f190 New translations sh.resx (English) 2023-10-04 15:21:20 -07:00
Masterain
3983eaec0f New translations sh.resx (Chinese Traditional) 2023-10-04 15:21:19 -07:00
Masterain
9392911547 New translations sh.resx (Korean) 2023-10-04 15:21:18 -07:00
Masterain
f3d1fda053 New translations sh.resx (Japanese) 2023-10-04 15:21:16 -07:00
DismissedLight
14c3a14c2d impl #902 2023-10-04 23:15:32 +08:00
DismissedLight
31568ffba9 correct naming 2023-10-04 22:20:44 +08:00
DismissedLight
3d3d004441 rename signin interface 2023-10-04 22:20:06 +08:00
Masterain
a40e5f2a80 Update Qodana configuration 2023-10-03 14:47:34 -07:00
Masterain
186da74704 Merge pull request #985 from Masterain98/main
Create CONTRIBUTING.md
2023-10-03 03:53:59 -07:00
Masterain
c532799eb1 Update Qodana configuration 2023-10-03 03:34:54 -07:00
Masterain
595e19a1df Update CONTRIBUTING.md 2023-10-03 03:24:59 -07:00
Masterain
c376c4e0e8 Create CONTRIBUTING.md
resolve #909
2023-10-03 02:46:18 -07:00
DismissedLight
07f0c37b2c attempt to fix desktop icon creation 2023-10-03 17:39:30 +08:00
DismissedLight
ecdaeccc42 view style 2023-10-03 15:14:44 +08:00
Masterain
64bbcdfc80 New translations sh.resx (English) 2023-10-02 20:29:13 -07:00
Masterain
59fccf0cba New translations sh.resx (Chinese Traditional) 2023-10-02 20:29:12 -07:00
Masterain
f860211632 New translations sh.resx (Korean) 2023-10-02 20:29:11 -07:00
Masterain
a15a8cfe2d New translations sh.resx (Japanese) 2023-10-02 20:29:10 -07:00
DismissedLight
38bed7318f fix #982 2023-10-02 15:42:56 +08:00
DismissedLight
e513b8b00b add string 2023-10-02 13:24:51 +08:00
DismissedLight
1e711172af fix #980 2023-10-02 13:23:45 +08:00
Masterain
8beb47fd2c New translations sh.resx (English) 2023-10-01 20:29:31 -07:00
DismissedLight
41ab80511e separate win32 to increate analyzer response speed 2023-10-01 16:25:39 +08:00
DismissedLight
318b6190d2 fix game convert config not save 2023-10-01 11:29:23 +08:00
Masterain
6e3dbd41c7 New translations sh.resx (English) 2023-09-30 20:10:41 -07:00
Masterain
911f667e98 New translations sh.resx (Chinese Traditional) 2023-09-30 20:10:40 -07:00
Masterain
db6537bbe4 New translations sh.resx (Korean) 2023-09-30 20:10:39 -07:00
Masterain
6b640b5e15 New translations sh.resx (Japanese) 2023-09-30 20:10:38 -07:00
DismissedLight
bfe9837b36 fix several issues 2023-10-01 11:08:24 +08:00
Xhichn
b8255e77a3 Typo fix 2023-09-28 11:42:48 +08:00
DismissedLight
500888c2d1 launch scheme fix 2023-09-27 23:54:05 +08:00
Xhichn
5141d4a567 HoYolab Daily Reward Support 2023-09-27 18:51:41 +08:00
Lightczx
a86f5e1b59 add more compatonly scheme 2023-09-27 17:20:27 +08:00
Lightczx
390b89fc82 fix multiple channel/subchannel crash & setting clear invalid cache path crash 2023-09-27 17:12:32 +08:00
DismissedLight
6d6d97c59a fix mihoyo login no login_ticket crash 2023-09-26 23:40:30 +08:00
DismissedLight
df23fe54d6 fix manual input gacha url no auth_appid crash 2023-09-26 23:31:55 +08:00
DismissedLight
8caef9af0c MultiChannel: [ChannelType:Bili] [SubChannel:Official] [IsOversea: False] 2023-09-26 23:28:58 +08:00
DismissedLight
aac0e268b0 fix hoyoverse login crash 2023-09-26 23:23:02 +08:00
DismissedLight
bafee4ba18 fix detect game account crash 2023-09-26 22:26:01 +08:00
DismissedLight
4a1dccd7ac update intrinsics 2023-09-26 21:49:18 +08:00
Lightczx
1f8e73f255 disable concurrent launch game 2023-09-26 14:16:03 +08:00
DismissedLight
53c1a0156d 1.7.6 package 2023-09-25 22:46:14 +08:00
DismissedLight
165b77aa80 Merge pull request #959 from DGP-Studio/develop 2023-09-25 22:32:54 +08:00
DismissedLight
47cd9807b2 Merge pull request #949 from DGP-Studio/l10n_develop 2023-09-25 22:31:29 +08:00
DismissedLight
cbaf1ef5ae Merge pull request #958 from DGP-Studio/develop 2023-09-25 22:30:36 +08:00
DismissedLight
c2d3bd1798 fix GI 4.1 metadata ccrash on spiralabyss & improve wiki avatar ui 2023-09-25 22:20:14 +08:00
Masterain
bfa5325a09 Create Qodana profile 2023-09-24 17:27:23 -07:00
DismissedLight
43aebf7d0c fix #956 2023-09-24 17:54:08 +08:00
DismissedLight
ffcfb8cd65 fix #948 2023-09-23 21:17:15 +08:00
DismissedLight
7d9612cf13 fix #865 2023-09-23 21:02:11 +08:00
DismissedLight
4fb997c8d0 fix non-elevated auto click 2023-09-23 15:11:08 +08:00
DismissedLight
6029acc7f1 mouse simulator 2023-09-23 14:55:47 +08:00
Lightczx
ef352303e7 remove statichutao 2023-09-22 17:31:00 +08:00
Lightczx
b5579aef6e static resouce download refactor and ui/ux improvement 2023-09-22 16:47:08 +08:00
Masterain
9c20e06387 New translations sh.resx (English) 2023-09-21 17:19:17 -07:00
Masterain
323e9fbcff New translations sh.resx (Chinese Traditional) 2023-09-21 17:19:16 -07:00
Masterain
10d947aa61 New translations sh.resx (Korean) 2023-09-21 17:19:15 -07:00
Masterain
c18581fc34 New translations sh.resx (Japanese) 2023-09-21 17:19:13 -07:00
DismissedLight
b72b5ddf91 refactor window controller 2023-09-21 22:45:40 +08:00
DismissedLight
2821f7f2af refine announcement color matching 2023-09-21 20:57:44 +08:00
Lightczx
427275d122 ui/ux 2023-09-21 17:30:42 +08:00
Lightczx
22393b612c fix #947 2023-09-21 15:03:11 +08:00
Masterain
ffc380f96d Update issue templates 2023-09-20 22:15:18 -07:00
DismissedLight
2a757dce51 UI/UX fine tuning 2023-09-20 23:50:24 +08:00
Masterain
0921671de4 Merge pull request #945 from DGP-Studio/develop
Update README.md
2023-09-19 23:31:47 -07:00
Masterain
5a99488582 Update README.md
Test purpose
2023-09-19 23:31:01 -07:00
Lightczx
a14c41d10f 1.7.5 package 2023-09-20 13:51:24 +08:00
DismissedLight
ce8aee2cb1 Merge pull request #944 from DGP-Studio/develop 2023-09-20 13:36:31 +08:00
DismissedLight
f9ffd84429 Merge pull request #943 from DGP-Studio/l10n_develop 2023-09-20 13:34:41 +08:00
Masterain
6e69064140 New translations sh.resx (English) 2023-09-19 22:34:22 -07:00
Masterain
ff315a3b58 New translations sh.resx (English) 2023-09-19 21:33:56 -07:00
Masterain
aaf28132a4 New translations sh.resx (Chinese Traditional) 2023-09-19 21:33:55 -07:00
Masterain
5730c82f84 New translations sh.resx (Korean) 2023-09-19 21:33:54 -07:00
Masterain
a71fd42d6a New translations sh.resx (Japanese) 2023-09-19 21:33:53 -07:00
Lightczx
3f818fce50 typo fix 2023-09-20 12:26:03 +08:00
Lightczx
301ead44a2 fix CI build 2023-09-20 11:38:54 +08:00
Masterain
ff79e81ff4 New translations sh.resx (English) 2023-09-19 20:33:18 -07:00
Masterain
d9e942319c New translations sh.resx (Chinese Traditional) 2023-09-19 20:33:17 -07:00
Masterain
4787798825 New translations sh.resx (Korean) 2023-09-19 20:33:16 -07:00
Masterain
fb398dbf21 New translations sh.resx (Japanese) 2023-09-19 20:33:15 -07:00
Lightczx
68a6834d39 fix #930 2023-09-20 11:28:34 +08:00
Lightczx
4285abd531 fix avatar template 2023-09-20 09:29:47 +08:00
Masterain
8b5f017bea Merge pull request #935 from DGP-Studio/l10n_develop
New Crowdin updates
2023-09-19 14:28:54 -07:00
Masterain
add9318a8e New translations sh.resx (English) 2023-09-19 13:53:06 -07:00
Masterain
997fcb0e51 New translations sh.resx (English) 2023-09-19 08:49:52 -07:00
Masterain
bd0832ca98 New translations sh.resx (Chinese Traditional) 2023-09-19 08:49:51 -07:00
Masterain
4545017a3b New translations sh.resx (Korean) 2023-09-19 08:49:50 -07:00
Masterain
d28cd36162 New translations sh.resx (Japanese) 2023-09-19 08:49:48 -07:00
DismissedLight
cf8a9581d6 spiral abyss rework done 2023-09-19 23:43:25 +08:00
Masterain
b5d12f5f5f New translations sh.resx (English) 2023-09-19 03:17:39 -07:00
Masterain
7ddf51ef91 New translations sh.resx (Chinese Traditional) 2023-09-19 03:17:38 -07:00
Masterain
c2c529f399 New translations sh.resx (Korean) 2023-09-19 03:17:35 -07:00
Masterain
63028170b8 New translations sh.resx (Japanese) 2023-09-19 03:17:34 -07:00
Lightczx
156740de14 spiral abyss rework 4 2023-09-19 17:14:17 +08:00
Masterain
db82cd70ee New translations sh.resx (Japanese) 2023-09-19 00:59:17 -07:00
Masterain
d04f6a9218 New translations sh.resx (Japanese) 2023-09-18 23:22:05 -07:00
DismissedLight
f2365604dc spiral abyss rework 3 2023-09-18 23:48:33 +08:00
Lightczx
f569f24213 ui/ux adjust 2023-09-18 16:25:58 +08:00
DismissedLight
ca468365ab Merge pull request #938 from DGP-Studio/dependabot/nuget/src/Snap.Hutao/develop/packages-8af96ff2ab 2023-09-18 15:40:37 +08:00
Lightczx
5fa8cc37e8 fix #880 2023-09-18 15:38:23 +08:00
dependabot[bot]
ab78f68df1 Bump the packages group in /src/Snap.Hutao with 2 updates
Bumps the packages group in /src/Snap.Hutao with 2 updates: [Microsoft.EntityFrameworkCore.Sqlite](https://github.com/dotnet/efcore) and [Microsoft.EntityFrameworkCore.Tools](https://github.com/dotnet/efcore).


Updates `Microsoft.EntityFrameworkCore.Sqlite` from 7.0.10 to 7.0.11
- [Release notes](https://github.com/dotnet/efcore/releases)
- [Commits](https://github.com/dotnet/efcore/compare/v7.0.10...v7.0.11)

Updates `Microsoft.EntityFrameworkCore.Tools` from 7.0.10 to 7.0.11
- [Release notes](https://github.com/dotnet/efcore/releases)
- [Commits](https://github.com/dotnet/efcore/compare/v7.0.10...v7.0.11)

---
updated-dependencies:
- dependency-name: Microsoft.EntityFrameworkCore.Sqlite
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: packages
- dependency-name: Microsoft.EntityFrameworkCore.Tools
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: packages
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-18 07:31:14 +00:00
Masterain
62fdd89943 New translations SH.resx (Chinese Traditional) 2023-09-18 00:05:37 -07:00
Masterain
7fa19dd830 New translations SH.resx (Chinese Traditional) 2023-09-17 22:48:26 -07:00
Masterain
f4100f1c20 New translations SH.resx (English) 2023-09-17 21:26:43 -07:00
Lightczx
7f595a6981 fix spiral abyss record refresh 2023-09-18 11:44:36 +08:00
Masterain
60f2020b6c New translations SH.resx (English) 2023-09-17 20:21:13 -07:00
Masterain
d21d59efe1 New translations SH.resx (Chinese Traditional) 2023-09-17 20:21:12 -07:00
Masterain
c14847b330 New translations SH.resx (Korean) 2023-09-17 20:21:10 -07:00
Masterain
86481b747d New translations SH.resx (Japanese) 2023-09-17 20:21:09 -07:00
Lightczx
2765a2e744 impl #875 2023-09-18 11:19:25 +08:00
Lightczx
261794927c impl #929 2023-09-18 10:02:58 +08:00
DismissedLight
68d8baa70c spiral abyss rework 2 2023-09-17 23:33:40 +08:00
Masterain
5e44dade7f New translations SH.resx (English) 2023-09-17 04:14:15 -07:00
Masterain
529eafc4e7 New translations SH.resx (Chinese Traditional) 2023-09-17 04:14:14 -07:00
Masterain
be3fa7054c New translations SH.resx (Korean) 2023-09-17 04:14:13 -07:00
Masterain
01cf457386 New translations SH.resx (Japanese) 2023-09-17 04:14:12 -07:00
DismissedLight
fb496497bf fix date format 2023-09-17 17:54:02 +08:00
Masterain
68a6af9341 Merge pull request #923 from DGP-Studio/l10n_develop
New Crowdin updates
2023-09-17 02:15:02 -07:00
Masterain
1ec5b2fa5e New translations SH.resx (English) 2023-09-17 02:08:04 -07:00
Masterain
aad57b67a6 New translations SH.resx (Chinese Traditional) 2023-09-17 01:06:47 -07:00
Masterain
9262217271 New translations SH.resx (Korean) 2023-09-17 01:06:46 -07:00
Masterain
b09e8b6bdc New translations SH.resx (Japanese) 2023-09-17 01:06:45 -07:00
Masterain
7c51a8ea6b New translations SH.resx (English) 2023-09-17 01:06:44 -07:00
DismissedLight
3db52e8184 spiral abyss rework 2023-09-17 16:05:10 +08:00
Masterain
9e660a7ae7 New translations SH.resx (Chinese Traditional) 2023-09-16 07:08:03 -07:00
Masterain
4127a1daa3 New translations SH.resx (Korean) 2023-09-16 07:08:02 -07:00
Masterain
4e07af8395 New translations SH.resx (Japanese) 2023-09-16 07:08:01 -07:00
Masterain
02707c3075 New translations SH.resx (English) 2023-09-16 07:08:00 -07:00
DismissedLight
98ca533706 add tower wave spec 2023-09-16 21:56:28 +08:00
DismissedLight
808b643b9f drop CommunityToolkit.WinUI.UI.Core 2023-09-16 19:28:34 +08:00
Masterain
d9705b94d4 New translations SH.resx (English) 2023-09-15 20:46:17 -07:00
Masterain
511471d06c New translations SH.resx (Japanese) 2023-09-15 03:10:43 -07:00
Lightczx
3b79d89f59 attempt to fix dailynote view verify 2023-09-15 17:27:28 +08:00
Masterain
fc1546e17f New translations SH.resx (Chinese Traditional) 2023-09-15 00:52:35 -07:00
Masterain
b816b0103d New translations SH.resx (Korean) 2023-09-15 00:52:34 -07:00
Masterain
51570038bc New translations SH.resx (Japanese) 2023-09-15 00:52:33 -07:00
Masterain
0b5b911709 New translations SH.resx (English) 2023-09-15 00:52:32 -07:00
Lightczx
1a22303dec impl #876 2023-09-15 15:47:07 +08:00
Masterain
51a2fe7d88 New translations SH.resx (Japanese) 2023-09-14 23:36:21 -07:00
Masterain
90c6c8ebc7 New translations SH.resx (Japanese) 2023-09-14 19:51:16 -07:00
Masterain
ed1d6240bf New translations SH.resx (Japanese) 2023-09-14 18:45:48 -07:00
Masterain
adf01172e0 New translations SH.resx (Japanese) 2023-09-14 01:09:32 -07:00
Masterain
2caf1145c9 New translations SH.resx (Japanese) 2023-09-14 00:10:43 -07:00
Masterain
33b2725a95 New translations SH.resx (Japanese) 2023-09-13 22:48:15 -07:00
Masterain
0103834e82 New translations SH.resx (Japanese) 2023-09-13 21:41:03 -07:00
Masterain
8273cd973d New translations SH.resx (Japanese) 2023-09-13 19:47:49 -07:00
DismissedLight
53c484c577 fix achievement check status save 2023-09-13 21:26:58 +08:00
DismissedLight
706f894ea5 fix #924 2023-09-13 20:56:07 +08:00
Masterain
7f31010041 New translations SH.resx (Japanese) 2023-09-13 02:17:10 -07:00
Masterain
70a17f325e New translations SH.resx (Chinese Traditional) 2023-09-13 00:30:06 -07:00
Masterain
a4d450a98e New translations SH.resx (Japanese) 2023-09-13 00:30:04 -07:00
Masterain
cce08ff728 New translations SH.resx (Chinese Traditional) 2023-09-12 07:27:55 -07:00
Masterain
669713389a New translations SH.resx (Korean) 2023-09-12 07:27:54 -07:00
Masterain
be82bc5d82 New translations SH.resx (Japanese) 2023-09-12 07:27:53 -07:00
Masterain
aa01154301 New translations SH.resx (English) 2023-09-12 07:27:51 -07:00
DismissedLight
2ff8d6d7f4 achievement versioning 2023-09-12 22:14:40 +08:00
Masterain
79f62bdbd2 New translations SH.resx (Japanese) 2023-09-12 01:30:52 -07:00
Lightczx
92c010f660 auto generate key annotations 2023-09-12 16:29:53 +08:00
Lightczx
18433814e8 salts auto generated 2023-09-12 16:11:31 +08:00
Lightczx
79c8cc78c6 Merge branch 'main' into develop 2023-09-12 15:05:23 +08:00
Lightczx
f6ec0f5d7e 1.7.4 package 2023-09-12 15:03:14 +08:00
Masterain
6e20c15c97 New translations SH.resx (Japanese) 2023-09-12 00:00:28 -07:00
Masterain
7e73710103 New translations SH.resx (English) 2023-09-12 14:50:41 +08:00
Masterain
4ba9f32ac3 New translations SH.resx (English) 2023-09-12 14:50:41 +08:00
Masterain
6cb2818161 New translations SH.resx (Chinese Traditional) 2023-09-12 14:50:41 +08:00
Masterain
34d291001b New translations SH.resx (Korean) 2023-09-12 14:50:40 +08:00
Masterain
157f64fb47 New translations SH.resx (Japanese) 2023-09-12 14:50:40 +08:00
Masterain
6b9479d27e New translations SH.resx (English) 2023-09-12 14:50:40 +08:00
Masterain
ea6cbb8d6b New translations SH.resx (English) 2023-09-12 14:50:40 +08:00
Masterain
9f94f36cf8 New translations SH.resx (English) 2023-09-12 14:50:40 +08:00
Masterain
c50dd0737c New translations SH.resx (Chinese Traditional) 2023-09-12 14:50:40 +08:00
Masterain
6f63ed55d7 New translations SH.resx (Korean) 2023-09-12 14:50:40 +08:00
Masterain
4cc16153c2 New translations SH.resx (Japanese) 2023-09-12 14:50:40 +08:00
Masterain
a214dd331a New translations SH.resx (English) 2023-09-12 14:50:40 +08:00
Masterain
e6c83390eb New translations SH.resx (Japanese) 2023-09-12 14:50:40 +08:00
Masterain
aa21e3e5e9 New translations SH.resx (Japanese) 2023-09-12 14:50:40 +08:00
Masterain
58c992e278 New translations SH.resx (Japanese) 2023-09-12 14:50:40 +08:00
Masterain
bd19bfdd52 New translations SH.resx (Japanese) 2023-09-12 14:50:40 +08:00
Masterain
7a9c1a7b3c New translations SH.resx (Japanese) 2023-09-12 14:50:40 +08:00
Masterain
c5a24ae0d7 New translations SH.resx (Chinese Traditional) 2023-09-12 14:50:40 +08:00
Masterain
6ee2899692 New translations SH.resx (English) 2023-09-12 14:50:40 +08:00
Masterain
9b3ea4496a New translations SH.resx (Chinese Traditional) 2023-09-12 14:50:40 +08:00
Masterain
96ac468a24 New translations SH.resx (Korean) 2023-09-12 14:50:40 +08:00
Masterain
0a26297446 New translations SH.resx (Japanese) 2023-09-12 14:50:40 +08:00
Masterain
de2cafd9e5 New translations SH.resx (English) 2023-09-12 14:50:40 +08:00
Masterain
3f8674ad9a New translations SH.resx (Chinese Traditional) 2023-09-12 14:50:40 +08:00
Masterain
8e1ea87993 New translations SH.resx (Korean) 2023-09-12 14:50:40 +08:00
Masterain
cdbe013310 New translations SH.resx (Japanese) 2023-09-12 14:50:40 +08:00
Masterain
a972ba0035 New translations SH.resx (English) 2023-09-12 14:50:40 +08:00
Masterain
a285dbb9b9 New translations SH.resx (Japanese) 2023-09-12 14:50:40 +08:00
Masterain
39182ce44c New translations SH.resx (English) 2023-09-12 14:50:40 +08:00
Masterain
95ad0ca574 New translations SH.resx (Chinese Traditional) 2023-09-12 14:50:40 +08:00
Masterain
3ec905f5ca New translations SH.resx (Korean) 2023-09-12 14:50:40 +08:00
Masterain
4306461ba9 New translations SH.resx (Japanese) 2023-09-12 14:50:40 +08:00
Masterain
133e767be3 New translations SH.resx (English) 2023-09-12 14:50:40 +08:00
Masterain
949cf59177 New translations SH.resx (Chinese Traditional) 2023-09-12 14:50:40 +08:00
Masterain
42e693ba8a New translations SH.resx (Korean) 2023-09-12 14:50:40 +08:00
Masterain
09d00f25f6 New translations SH.resx (Japanese) 2023-09-12 14:50:39 +08:00
Masterain
4f9828f358 New translations SH.resx (English) 2023-09-12 14:50:39 +08:00
Masterain
4f7cf08285 New translations SH.resx (Chinese Traditional) 2023-09-12 14:50:39 +08:00
Masterain
46a36a4d17 New translations SH.resx (Chinese Traditional) 2023-09-12 14:50:39 +08:00
Masterain
ef1c31732c New translations SH.resx (Korean) 2023-09-12 14:50:39 +08:00
Masterain
26a392e376 New translations SH.resx (Japanese) 2023-09-12 14:50:39 +08:00
Masterain
2731abc815 New translations SH.resx (English) 2023-09-12 14:50:39 +08:00
Masterain
c8fb7fe82a New translations SH.resx (English) 2023-09-12 14:50:39 +08:00
Masterain
d4f6cf8e02 New translations SH.resx (Chinese Traditional) 2023-09-12 14:50:39 +08:00
Masterain
a3c4965932 New translations SH.resx (Korean) 2023-09-12 14:50:39 +08:00
Masterain
e30a010931 New translations SH.resx (Japanese) 2023-09-12 14:50:39 +08:00
Masterain
8af117ea11 New translations SH.resx (English) 2023-09-12 14:50:39 +08:00
Lightczx
5f6d279dba Update SignInClient.cs 2023-09-12 14:50:39 +08:00
Lightczx
aed1171933 fix signin challenge source 2023-09-12 14:50:39 +08:00
DismissedLight
dbc81f0a93 UIIF definition 2023-09-12 14:50:39 +08:00
DismissedLight
1c7b926d76 drop AdaptiveGridView 2023-09-12 14:50:39 +08:00
Lightczx
ab2d38b142 overwrite icon when creating shortcut 2023-09-12 14:50:39 +08:00
DismissedLight
87f7e22022 fix cultivate project selection on other page 2023-09-12 14:50:39 +08:00
DismissedLight
7af57118bc improve db layer & homecard experience 2023-09-12 14:50:39 +08:00
DismissedLight
5d03f5d0b5 fix #917 2023-09-12 14:50:39 +08:00
DismissedLight
84f629c113 batch add for avatarinfo cultivation 2023-09-12 14:50:39 +08:00
DismissedLight
ecd535f9a0 boost up gacha statistics view speed 2x 2023-09-12 14:50:39 +08:00
Lightczx
d3ea7cf8ac fix bilibili server convert 2023-09-12 14:50:39 +08:00
DismissedLight
12afac8d1a fix #907 2023-09-12 14:50:39 +08:00
DismissedLight
5763f56ab2 fix #887 2023-09-12 14:50:39 +08:00
DismissedLight
a8b679acbf fix #904 2023-09-12 14:50:39 +08:00
Lightczx
25987ba5b3 add ability to create desktop shortcut 2023-09-12 14:50:39 +08:00
Lightczx
b0626a0d60 Add ability to switch powershell instance 2023-09-12 14:50:39 +08:00
Lightczx
fd16521c94 update metadata models 2023-09-12 14:50:38 +08:00
DismissedLight
eb077cc8d6 fix banner typo 2023-09-12 14:50:38 +08:00
DismissedLight
8b3a311fc2 Merge pull request #885 from DGP-Studio/l10n_develop 2023-09-12 14:49:31 +08:00
Lightczx
01e2e21979 Update SignInClient.cs 2023-09-12 14:46:34 +08:00
Lightczx
38b5e4f244 fix signin challenge source 2023-09-12 09:21:28 +08:00
DismissedLight
5fae9f6291 UIIF definition 2023-09-11 23:09:49 +08:00
DismissedLight
f23b1c012f drop AdaptiveGridView 2023-09-11 22:33:44 +08:00
DismissedLight
28813444bf Merge pull request #921 from Masterain98/main 2023-09-11 11:16:44 +08:00
Masterain
c24cca58bf Update issue templates 2023-09-10 20:11:53 -07:00
Masterain
16fb1772ab New translations SH.resx (English) 2023-09-10 18:15:23 -07:00
Lightczx
52353b7a5a overwrite icon when creating shortcut 2023-09-11 09:05:03 +08:00
Masterain
8c63a38249 New translations SH.resx (English) 2023-09-10 03:48:09 -07:00
DismissedLight
91d90cb3fa fix cultivate project selection on other page 2023-09-10 18:23:59 +08:00
Masterain
583717d601 New translations SH.resx (Chinese Traditional) 2023-09-10 02:45:01 -07:00
Masterain
dd34815b13 New translations SH.resx (Korean) 2023-09-10 02:45:00 -07:00
Masterain
8f18a89727 New translations SH.resx (Japanese) 2023-09-10 02:44:59 -07:00
Masterain
759689e2c9 New translations SH.resx (English) 2023-09-10 02:44:58 -07:00
DismissedLight
396da901a1 improve db layer & homecard experience 2023-09-10 17:38:18 +08:00
DismissedLight
f2c38bc72a fix #917 2023-09-10 12:51:14 +08:00
Masterain
b5ddc20d5f New translations SH.resx (English) 2023-09-09 15:49:58 -07:00
Masterain
f5af6e7b1a New translations SH.resx (English) 2023-09-09 14:50:21 -07:00
Masterain
772668a266 New translations SH.resx (Chinese Traditional) 2023-09-09 02:26:46 -07:00
Masterain
c342efe4be New translations SH.resx (Korean) 2023-09-09 02:26:45 -07:00
Masterain
9ff322cceb New translations SH.resx (Japanese) 2023-09-09 02:26:44 -07:00
Masterain
d2e8e6dac3 New translations SH.resx (English) 2023-09-09 02:26:43 -07:00
DismissedLight
1cbf3b548f batch add for avatarinfo cultivation 2023-09-09 17:22:38 +08:00
DismissedLight
ffd7468913 boost up gacha statistics view speed 2x 2023-09-08 20:53:06 +08:00
Masterain
1029175071 New translations SH.resx (Japanese) 2023-09-08 03:47:11 -07:00
Lightczx
b5f3cb92b2 fix bilibili server convert 2023-09-08 17:14:50 +08:00
Masterain
8d8a2af063 New translations SH.resx (Japanese) 2023-09-08 01:36:03 -07:00
Masterain
43bee2bd3e New translations SH.resx (Japanese) 2023-09-08 00:17:39 -07:00
Masterain
abce4571ea New translations SH.resx (Japanese) 2023-09-07 20:17:05 -07:00
Masterain
904335cfc9 New translations SH.resx (Japanese) 2023-09-07 19:13:07 -07:00
Masterain
e9a821e4af New translations SH.resx (Chinese Traditional) 2023-09-07 10:16:45 -07:00
Masterain
8f2d2773e1 New translations SH.resx (English) 2023-09-07 10:16:44 -07:00
Masterain
4352ba64f8 New translations SH.resx (Chinese Traditional) 2023-09-07 08:27:58 -07:00
Masterain
670c4366c4 New translations SH.resx (Korean) 2023-09-07 08:27:57 -07:00
Masterain
46c6a973c6 New translations SH.resx (Japanese) 2023-09-07 08:27:55 -07:00
Masterain
455505f0cb New translations SH.resx (English) 2023-09-07 08:27:54 -07:00
DismissedLight
8e625e19ee fix #907 2023-09-07 23:06:09 +08:00
DismissedLight
1fefcacd9a fix #887 2023-09-07 22:21:22 +08:00
Masterain
2b585964f7 New translations SH.resx (Chinese Traditional) 2023-09-07 06:58:43 -07:00
Masterain
6e541dfeb5 New translations SH.resx (Korean) 2023-09-07 06:58:42 -07:00
Masterain
2c9af48cb2 New translations SH.resx (Japanese) 2023-09-07 06:58:41 -07:00
Masterain
d384915c9d New translations SH.resx (English) 2023-09-07 06:58:40 -07:00
DismissedLight
1d923f4b24 fix #904 2023-09-07 21:51:18 +08:00
Masterain
0997532564 New translations SH.resx (Japanese) 2023-09-07 03:15:05 -07:00
Masterain
dd9053a11c New translations SH.resx (English) 2023-09-07 03:15:04 -07:00
Masterain
a8bf268fce New translations SH.resx (Chinese Traditional) 2023-09-07 02:19:29 -07:00
Masterain
44d1dd50e6 New translations SH.resx (Korean) 2023-09-07 02:19:27 -07:00
Masterain
14e98a43f6 New translations SH.resx (Japanese) 2023-09-07 02:19:26 -07:00
Masterain
69239674e6 New translations SH.resx (English) 2023-09-07 02:19:25 -07:00
Lightczx
4e972f35dd add ability to create desktop shortcut 2023-09-07 17:01:41 +08:00
Masterain
7187b913b0 New translations SH.resx (Chinese Traditional) 2023-09-07 00:04:11 -07:00
Masterain
4904ab1335 New translations SH.resx (Korean) 2023-09-07 00:04:09 -07:00
Masterain
d572bc5753 New translations SH.resx (Japanese) 2023-09-07 00:04:08 -07:00
Masterain
950c4568ee New translations SH.resx (English) 2023-09-07 00:04:07 -07:00
Lightczx
a7bf82d7e7 Add ability to switch powershell instance 2023-09-07 14:41:16 +08:00
Lightczx
42035803c1 update metadata models 2023-09-07 13:33:52 +08:00
DismissedLight
3161964bcf fix banner typo 2023-09-05 21:39:07 +08:00
DismissedLight
4da0258f7b update banner image 2023-09-05 21:24:20 +08:00
DismissedLight
0c98d4c2a1 Merge branch 'develop' 2023-09-04 23:39:37 +08:00
DismissedLight
85e718947c 1.7.3 hotfix package 2023-09-04 23:38:49 +08:00
DismissedLight
328bca597f 1.7.3 hotfix package 2023-09-04 23:38:17 +08:00
DismissedLight
94b957ed20 fix a issue where taskbaricon launchgame will open mainwindow 2023-09-04 23:38:17 +08:00
DismissedLight
490df104f0 elevation override 2023-09-04 23:38:17 +08:00
Lightczx
b8a7ecdd40 add reorderable collection 2023-09-04 23:38:17 +08:00
Lightczx
14f1b43e08 fix #891 2023-09-04 23:38:17 +08:00
dependabot[bot]
c93215320c Bump the packages group in /src/Snap.Hutao with 1 update
Bumps the packages group in /src/Snap.Hutao with 1 update: [Microsoft.NET.Test.Sdk](https://github.com/microsoft/vstest).

- [Release notes](https://github.com/microsoft/vstest/releases)
- [Changelog](https://github.com/microsoft/vstest/blob/main/docs/releases.md)
- [Commits](https://github.com/microsoft/vstest/compare/v17.7.1...v17.7.2)

---
updated-dependencies:
- dependency-name: Microsoft.NET.Test.Sdk
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: packages
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-04 23:38:17 +08:00
Lightczx
da6534d36c fix #881 v2.2 UIGF always throw on first item 2023-09-04 23:38:16 +08:00
DismissedLight
b9306bc213 add id for uigf import in-compat 2023-09-04 23:38:16 +08:00
DismissedLight
4ad031015b migrate to was 1.4 2023-09-04 23:38:16 +08:00
DismissedLight
2080df1dc0 fix passport client oversea creation 2023-09-04 23:38:16 +08:00
DismissedLight
cc41037a2b fix a issue where taskbaricon launchgame will open mainwindow 2023-09-04 23:27:01 +08:00
DismissedLight
2316a5beaf elevation override 2023-09-04 22:34:09 +08:00
Masterain
4b2d6cc27c New translations SH.resx (Chinese Traditional) 2023-09-04 05:55:59 -07:00
Masterain
44068c4446 New translations SH.resx (Chinese Traditional) 2023-09-04 02:18:58 -07:00
Masterain
21399b3781 New translations SH.resx (Korean) 2023-09-04 02:18:57 -07:00
Masterain
dcea46edf4 New translations SH.resx (Japanese) 2023-09-04 02:18:56 -07:00
Masterain
825cc58955 New translations SH.resx (English) 2023-09-04 02:18:54 -07:00
Lightczx
73d173613a add reorderable collection 2023-09-04 17:15:34 +08:00
Lightczx
ad10a758bd fix #891 2023-09-04 15:46:58 +08:00
DismissedLight
bf66cf96d8 Merge pull request #894 from DGP-Studio/dependabot/nuget/src/Snap.Hutao/develop/packages-390ba13de5
Bump the packages group in /src/Snap.Hutao with 1 update
2023-09-04 15:21:50 +08:00
dependabot[bot]
2a439664c4 Bump the packages group in /src/Snap.Hutao with 1 update
Bumps the packages group in /src/Snap.Hutao with 1 update: [Microsoft.NET.Test.Sdk](https://github.com/microsoft/vstest).

- [Release notes](https://github.com/microsoft/vstest/releases)
- [Changelog](https://github.com/microsoft/vstest/blob/main/docs/releases.md)
- [Commits](https://github.com/microsoft/vstest/compare/v17.7.1...v17.7.2)

---
updated-dependencies:
- dependency-name: Microsoft.NET.Test.Sdk
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: packages
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-04 07:17:44 +00:00
Lightczx
04e6f36111 fix #881 v2.2 UIGF always throw on first item 2023-09-04 11:07:30 +08:00
DismissedLight
f254f2d437 add id for uigf import in-compat 2023-09-03 23:33:15 +08:00
DismissedLight
1c9cbc2082 migrate to was 1.4 2023-09-03 13:26:33 +08:00
DismissedLight
2cc8435115 1.7.2 hotfix package 2023-09-03 13:24:48 +08:00
DismissedLight
167dc906d4 fix passport client oversea creation 2023-09-03 10:00:51 +08:00
DismissedLight
945a53a737 1.7.2 hotfix package 2023-09-02 22:27:11 +08:00
DismissedLight
38747298b5 fix hutao cloud fetch merge and remove archive crash 2023-09-02 22:12:37 +08:00
Masterain
743cb9683b New translations SH.resx (English) 2023-09-02 07:04:24 -07:00
DismissedLight
1594edc16c 1.7.1 hotfix pacakge 2023-09-02 20:42:25 +08:00
Masterain
2420916509 New translations SH.resx (Chinese Traditional) 2023-09-02 05:33:33 -07:00
Masterain
479b4086c2 New translations SH.resx (Korean) 2023-09-02 05:33:31 -07:00
Masterain
0626cc0a49 New translations SH.resx (Japanese) 2023-09-02 05:33:30 -07:00
Masterain
93040e6ff8 New translations SH.resx (English) 2023-09-02 05:33:29 -07:00
DismissedLight
7a5dec4291 fix #882 gachalog import & aggressive merge refresh 2023-09-02 20:24:33 +08:00
DismissedLight
300e99a9ae add options to disable metadata initialization 2023-09-02 15:22:14 +08:00
DismissedLight
97bd2b5af9 list item alternating 2023-09-02 13:24:14 +08:00
DismissedLight
a464cc1f33 1.7.0 package 2023-09-01 20:07:05 +08:00
DismissedLight
8a447813d7 Merge pull request #877 from DGP-Studio/develop
1.7.0 Stable
2023-09-01 19:52:57 +08:00
Masterain
ec0cbc614d Merge pull request #874 from DGP-Studio/l10n_develop
New Crowdin updates
2023-09-01 02:54:34 -07:00
Masterain
4c5e6984d7 New translations SH.resx (Japanese) 2023-09-01 02:53:41 -07:00
Masterain
c5bbbbdfe3 New translations SH.resx (English) 2023-09-01 02:15:39 -07:00
Lightczx
9f9f2a9d14 Update GachaLog.png 2023-09-01 13:50:27 +08:00
Masterain
a7640fdcb3 New translations SH.resx (English) 2023-08-31 16:46:17 -07:00
DismissedLight
2bec008381 fix announcement padding 2023-08-31 23:50:36 +08:00
DismissedLight
3ada42c927 announcement 2023-08-31 23:47:10 +08:00
Lightczx
bbed07b2ea add announcement 2023-08-31 17:29:50 +08:00
Lightczx
d90ce0afe0 improve achievement & gachalog large dataset load speed 2023-08-31 10:23:25 +08:00
Lightczx
4e0d83726e segment abstraction 2023-08-30 15:51:59 +08:00
Masterain
2b53ffd4d2 Merge pull request #867 from DGP-Studio/l10n_develop
New Crowdin updates
2023-08-30 00:47:50 -07:00
Masterain
84c1fbd13c New translations SH.resx (English) 2023-08-30 00:06:31 -07:00
Masterain
4077c85be4 New translations SH.resx (Chinese Traditional) 2023-08-30 00:06:30 -07:00
Lightczx
948987e31a fix gachalog and cultivation view dispose pipeline 2023-08-30 15:05:51 +08:00
Lightczx
686d2bd3b8 attempt to fix cultivation selection 2023-08-30 14:34:44 +08:00
Masterain
552fb131ed New translations SH.resx (Japanese) 2023-08-29 21:46:19 -07:00
Masterain
cb1fb96cf8 New translations SH.resx (English) 2023-08-29 21:46:18 -07:00
Masterain
7e37d0a008 New translations SH.resx (Chinese Traditional) 2023-08-29 21:46:17 -07:00
Masterain
3abe1d25cd New translations SH.resx (Korean) 2023-08-29 21:46:16 -07:00
Lightczx
00c13ec333 fix gacha statistic pull prediction view 2023-08-30 12:37:46 +08:00
Masterain
c3246da5dd New translations SH.resx (English) 2023-08-29 10:36:54 -07:00
Masterain
79ade22f94 New translations SH.resx (Chinese Traditional) 2023-08-29 08:15:48 -07:00
DismissedLight
9d196c7c14 dailynote text no wrap 2023-08-29 22:47:09 +08:00
Masterain
3949e32324 New translations SH.resx (Japanese) 2023-08-29 07:13:32 -07:00
Masterain
c04b473494 New translations SH.resx (English) 2023-08-29 07:13:31 -07:00
Masterain
a8437b90fc New translations SH.resx (Chinese Traditional) 2023-08-29 07:13:29 -07:00
Masterain
c667623c06 New translations SH.resx (Korean) 2023-08-29 07:13:28 -07:00
DismissedLight
e62a386ac8 fix minor bugs 2023-08-29 21:23:26 +08:00
Masterain
7407bd44ce New translations SH.resx (English) 2023-08-29 04:05:20 -07:00
Masterain
aaea81022f New translations SH.resx (Chinese Traditional) 2023-08-29 04:05:19 -07:00
Masterain
d99b7b46c7 New translations SH.resx (Korean) 2023-08-29 04:05:17 -07:00
Lightczx
a000b3a10e fix guide language text 2023-08-29 17:07:58 +08:00
Lightczx
d06cd53ac4 correct reward time 2023-08-29 17:06:09 +08:00
Masterain
0b8c3fd225 Merge pull request #862 from DGP-Studio/l10n_develop
New Crowdin updates
2023-08-29 02:05:29 -07:00
Masterain
6c267b51d3 New translations SH.resx (English) 2023-08-29 02:02:10 -07:00
Masterain
0140c85d07 New translations SH.resx (Chinese Traditional) 2023-08-29 02:02:09 -07:00
Masterain
9129ff88fd New translations SH.resx (English) 2023-08-29 01:33:17 -07:00
Masterain
a123325c71 New translations SH.resx (Chinese Traditional) 2023-08-29 01:33:16 -07:00
Masterain
cb9e4c5c04 New translations SH.resx (Korean) 2023-08-29 01:33:14 -07:00
Masterain
24a186e254 New translations SH.resx (Japanese) 2023-08-29 01:33:13 -07:00
Lightczx
604c51e064 fix wiki avatar & weapon select item in view 2023-08-29 15:31:20 +08:00
Lightczx
088f915a54 1.7.0 RC 3 2023-08-29 15:12:14 +08:00
Lightczx
5fdbcfc2e8 update dependencies 2023-08-29 11:06:03 +08:00
Lightczx
bcaeb86fe7 Merge branch 'feature/guide' into develop 2023-08-29 10:46:53 +08:00
Lightczx
c83db8695f guide complete 2023-08-29 10:45:53 +08:00
DismissedLight
c2319cac68 add missing localizible string 2023-08-29 09:10:17 +08:00
DismissedLight
cd3ce6d338 fix #815 2023-08-29 09:10:17 +08:00
Masterain
0bdc5d6c54 New translations SH.resx (English) 2023-08-29 09:10:17 +08:00
Masterain
f007f9b193 New translations SH.resx (English) 2023-08-29 09:10:17 +08:00
Masterain
90ea0f7276 New translations SH.resx (English) 2023-08-29 09:10:17 +08:00
Masterain
af5c4c258d New translations SH.resx (English) 2023-08-29 09:10:17 +08:00
Masterain
eaa50df837 New translations SH.resx (Chinese Traditional) 2023-08-29 09:10:17 +08:00
Masterain
04ea760fba New translations SH.resx (Korean) 2023-08-29 09:10:17 +08:00
Masterain
57c0016839 New translations SH.resx (Japanese) 2023-08-29 09:10:17 +08:00
Masterain
3f019e0d23 New translations SH.resx (English) 2023-08-29 09:10:17 +08:00
Masterain
09e94f5ccc New translations SH.resx (English) 2023-08-29 09:10:17 +08:00
Masterain
e5f295fae1 New translations SH.resx (English) 2023-08-29 09:10:17 +08:00
Masterain
ae8da285ab New translations SH.resx (Chinese Traditional) 2023-08-29 09:10:17 +08:00
Masterain
50b244f76c New translations SH.resx (Korean) 2023-08-29 09:10:17 +08:00
Masterain
171add072c New translations SH.resx (Japanese) 2023-08-29 09:10:17 +08:00
Masterain
16ea8ea5fb New translations SH.resx (English) 2023-08-29 09:10:17 +08:00
Masterain
18bce39e2a New translations SH.resx (English) 2023-08-29 09:10:17 +08:00
Masterain
d8712c45b4 New translations SH.resx (Chinese Traditional) 2023-08-29 09:10:17 +08:00
Masterain
325800602c New translations SH.resx (Korean) 2023-08-29 09:10:17 +08:00
Masterain
71bbf20c12 New translations SH.resx (Japanese) 2023-08-29 09:10:16 +08:00
Masterain
a55ef96a79 New translations SH.resx (Korean) 2023-08-29 09:10:16 +08:00
Masterain
f27308c12d New translations SH.resx (Japanese) 2023-08-29 09:10:16 +08:00
Masterain
a8877d93b8 New translations SH.resx (English) 2023-08-29 09:10:16 +08:00
Masterain
4605df8f03 New translations SH.resx (Chinese Traditional) 2023-08-29 09:10:16 +08:00
Masterain
3a26c7a3ed New translations SH.resx (Korean) 2023-08-29 09:10:16 +08:00
Masterain
e648080d8b New translations SH.resx (Japanese) 2023-08-29 09:10:16 +08:00
Masterain
60585f90ed New translations SH.resx (English) 2023-08-29 09:10:16 +08:00
Masterain
f104823d04 New translations SH.resx (English) 2023-08-29 09:10:16 +08:00
Masterain
29c6e20738 New translations SH.resx (English) 2023-08-29 09:10:16 +08:00
Masterain
f922bd6c2f New translations SH.resx (Chinese Traditional) 2023-08-29 09:10:16 +08:00
Masterain
76b2921847 New translations SH.resx (Korean) 2023-08-29 09:10:16 +08:00
Masterain
6a41ace38d New translations SH.resx (Japanese) 2023-08-29 09:10:16 +08:00
Masterain
40cd084304 New translations SH.resx (English) 2023-08-29 09:10:16 +08:00
Masterain
f84e5f2f1b New translations SH.resx (Chinese Traditional) 2023-08-29 09:10:16 +08:00
Masterain
b9d7987605 New translations SH.resx (Korean) 2023-08-29 09:10:16 +08:00
Masterain
ddf272d8f4 New translations SH.resx (Japanese) 2023-08-29 09:10:16 +08:00
Masterain
7c7b959916 New translations SH.resx (English) 2023-08-29 09:10:16 +08:00
Masterain
260aa8797f New translations SH.resx (Chinese Traditional) 2023-08-29 09:10:16 +08:00
Masterain
e551072e52 New translations SH.resx (Korean) 2023-08-29 09:10:16 +08:00
Masterain
f3a271dd48 New translations SH.resx (Japanese) 2023-08-29 09:10:16 +08:00
Masterain
f8d804eb4e New translations SH.resx (English) 2023-08-29 09:10:16 +08:00
Masterain
4271bdb23b New translations SH.resx (Chinese Traditional) 2023-08-29 09:10:16 +08:00
Masterain
0f96a6d8da New translations SH.resx (Korean) 2023-08-29 09:10:16 +08:00
Masterain
f9185b519e New translations SH.resx (Japanese) 2023-08-29 09:10:16 +08:00
Masterain
59f5095432 New translations SH.resx (English) 2023-08-29 09:10:16 +08:00
Masterain
19d4b8f25d New translations SH.resx (English) 2023-08-29 09:10:16 +08:00
Masterain
0026add54b New translations SH.resx (Chinese Traditional) 2023-08-29 09:10:16 +08:00
Masterain
0c6789c71d New translations SH.resx (Korean) 2023-08-29 09:10:16 +08:00
Masterain
1d45c75584 New translations SH.resx (Japanese) 2023-08-29 09:10:15 +08:00
Masterain
b4d58405e0 New translations SH.resx (Japanese) 2023-08-29 09:10:15 +08:00
Masterain
85ee37926e New translations SH.resx (English) 2023-08-29 09:10:15 +08:00
Masterain
3b411c6949 New translations SH.resx (Chinese Traditional) 2023-08-29 09:10:15 +08:00
Masterain
361cd850da New translations SH.resx (English) 2023-08-29 09:10:15 +08:00
Masterain
3ea59a0352 New translations SH.resx (Chinese Traditional) 2023-08-29 09:10:15 +08:00
Masterain
9abe39e806 New translations SH.resx (Korean) 2023-08-29 09:10:15 +08:00
Masterain
47fcd6f851 New translations SH.resx (Japanese) 2023-08-29 09:10:15 +08:00
Masterain
8f83853a8f New translations SH.resx (English) 2023-08-29 09:10:15 +08:00
Masterain
f5300745b0 New translations SH.resx (Chinese Traditional) 2023-08-29 09:10:15 +08:00
Masterain
43f65db1b6 New translations SH.resx (Korean) 2023-08-29 09:10:15 +08:00
Masterain
d2d1e73891 New translations SH.resx (Japanese) 2023-08-29 09:10:15 +08:00
Masterain
4bf1d8513d New translations SH.resx (English) 2023-08-29 09:10:15 +08:00
Masterain
6006e79923 New translations SH.resx (Chinese Traditional) 2023-08-29 09:10:15 +08:00
Masterain
2cd5d0c622 New translations SH.resx (Korean) 2023-08-29 09:10:15 +08:00
Masterain
f2d6a2627c New translations SH.resx (Japanese) 2023-08-29 09:10:15 +08:00
Masterain
7b6c340348 New translations SH.resx (Japanese) 2023-08-29 09:10:15 +08:00
Masterain
5e5f5398fb New translations SH.resx (English) 2023-08-29 09:10:15 +08:00
Masterain
bb042a1498 New translations SH.resx (English) 2023-08-29 09:10:15 +08:00
Masterain
9db1fc360b New translations SH.resx (Chinese Traditional) 2023-08-29 09:10:15 +08:00
Masterain
4a3676d549 New translations SH.resx (Korean) 2023-08-29 09:10:15 +08:00
Masterain
fdbf7ecf90 New translations SH.resx (Japanese) 2023-08-29 09:10:15 +08:00
Masterain
a9712fa6df New translations SH.resx (English) 2023-08-28 09:34:09 -07:00
Masterain
a3e105db7b New translations SH.resx (English) 2023-08-28 07:58:06 -07:00
Masterain
94fe2016f8 New translations SH.resx (Chinese Traditional) 2023-08-28 07:58:05 -07:00
Masterain
baab021a42 New translations SH.resx (Korean) 2023-08-28 07:58:04 -07:00
Masterain
5c3365a7c6 New translations SH.resx (Japanese) 2023-08-28 07:58:03 -07:00
DismissedLight
a5a85ac0fc add missing localizible string 2023-08-28 22:40:46 +08:00
DismissedLight
967f01108c fix #815 2023-08-28 22:30:09 +08:00
Lightczx
605a48f8f2 guide view 2023-08-28 17:25:25 +08:00
Masterain
058484459b Merge pull request #845 from DGP-Studio/l10n_develop
New Crowdin updates
2023-08-28 01:06:11 -07:00
Lightczx
32a780f460 remove redundant icons 2023-08-28 11:17:25 +08:00
Lightczx
d50117af3d fix cultivation icons 2023-08-28 09:32:55 +08:00
Masterain
a8406cf5a4 New translations SH.resx (English) 2023-08-27 13:44:13 -07:00
Masterain
67052b5f24 New translations SH.resx (English) 2023-08-27 12:39:33 -07:00
Masterain
beff98c8c5 New translations SH.resx (English) 2023-08-27 09:23:50 -07:00
DismissedLight
7756e348a8 add new buff & time info for spiral abyss 2023-08-27 23:26:47 +08:00
Masterain
b3fabf92e8 New translations SH.resx (English) 2023-08-27 08:14:34 -07:00
Masterain
3ced5ee962 New translations SH.resx (Chinese Traditional) 2023-08-27 08:14:33 -07:00
Masterain
fc3424e59e New translations SH.resx (Korean) 2023-08-27 08:14:32 -07:00
Masterain
5e7e310bf5 New translations SH.resx (Japanese) 2023-08-27 08:14:31 -07:00
DismissedLight
92afa4b23c add ability to customize geetest url 2023-08-27 22:20:28 +08:00
DismissedLight
82b00ba458 Merge pull request #858 from DGP-Studio/dependabot/nuget/src/Snap.Hutao/develop/packages-b2d8e37c27
Bump the packages group in /src/Snap.Hutao with 2 updates
2023-08-27 20:15:35 +08:00
dependabot[bot]
3f798b86a4 Bump the packages group in /src/Snap.Hutao with 2 updates
Bumps the packages group in /src/Snap.Hutao with 2 updates: [Microsoft.CodeAnalysis.CSharp](https://github.com/dotnet/roslyn) and [Microsoft.NET.Test.Sdk](https://github.com/microsoft/vstest).


Updates `Microsoft.CodeAnalysis.CSharp` from 4.6.0 to 4.7.0
- [Release notes](https://github.com/dotnet/roslyn/releases)
- [Changelog](https://github.com/dotnet/roslyn/blob/main/docs/Breaking%20API%20Changes.md)
- [Commits](https://github.com/dotnet/roslyn/commits)

Updates `Microsoft.NET.Test.Sdk` from 17.7.0 to 17.7.1
- [Release notes](https://github.com/microsoft/vstest/releases)
- [Changelog](https://github.com/microsoft/vstest/blob/main/docs/releases.md)
- [Commits](https://github.com/microsoft/vstest/compare/v17.7.0...v17.7.1)

---
updated-dependencies:
- dependency-name: Microsoft.CodeAnalysis.CSharp
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: packages
- dependency-name: Microsoft.NET.Test.Sdk
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: packages
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-27 12:14:34 +00:00
DismissedLight
49fa5846f8 Merge pull request #857 from DGP-Studio/develop
1.7.0 RC 2
2023-08-27 20:14:10 +08:00
DismissedLight
1e73c1ba96 fix #855 2023-08-27 20:10:31 +08:00
DismissedLight
f37ed74238 fix response message on -100 2023-08-27 19:38:08 +08:00
Masterain
b57faac904 New translations SH.resx (English) 2023-08-27 04:21:41 -07:00
Masterain
4f7be56376 New translations SH.resx (English) 2023-08-27 03:10:55 -07:00
Masterain
81574f678c New translations SH.resx (English) 2023-08-27 02:10:59 -07:00
Masterain
188fd831e4 New translations SH.resx (Chinese Traditional) 2023-08-27 02:10:58 -07:00
Masterain
8ff369bd11 New translations SH.resx (Korean) 2023-08-27 02:10:57 -07:00
Masterain
51871f9795 New translations SH.resx (Japanese) 2023-08-27 02:10:56 -07:00
DismissedLight
8ca6251d33 add refresh time for avatar property 2023-08-27 17:02:23 +08:00
DismissedLight
00f083608e refine navigation icons 2023-08-27 15:57:39 +08:00
DismissedLight
14c75d7c04 fix dailynote activation exiting 2023-08-26 21:50:50 +08:00
DismissedLight
eb557afd18 add color for enhanced count 2023-08-26 19:55:02 +08:00
Masterain
2ac428d848 New translations SH.resx (English) 2023-08-26 02:32:02 -07:00
DismissedLight
1d8ee4cee5 remove redundant attribute 2023-08-26 17:08:18 +08:00
Masterain
335dbc9dc7 New translations SH.resx (English) 2023-08-26 01:28:59 -07:00
Masterain
c87555e86f New translations SH.resx (Chinese Traditional) 2023-08-26 01:28:58 -07:00
Masterain
809ea5768c New translations SH.resx (Korean) 2023-08-26 01:28:57 -07:00
Masterain
7b035053a1 New translations SH.resx (Japanese) 2023-08-26 01:28:56 -07:00
DismissedLight
d872639c19 Merge branch 'main' into develop 2023-08-26 16:16:34 +08:00
DismissedLight
e969267c1e port back signin reward feature 2023-08-26 16:13:49 +08:00
Masterain
a874ddc078 Update azure-pipelines.yml 2023-08-25 22:37:52 -07:00
DismissedLight
853473ebf7 fix avatar property page issue 2023-08-26 11:05:03 +08:00
Masterain
08a1363a13 New translations SH.resx (Korean) 2023-08-25 19:47:31 -07:00
Masterain
d8fdcbcf2f New translations SH.resx (Japanese) 2023-08-25 19:47:30 -07:00
DismissedLight
0cdcb1c444 refine user panel UI 2023-08-26 10:36:05 +08:00
Masterain
548ecea28b New translations SH.resx (English) 2023-08-25 09:58:38 -07:00
Masterain
f14933a797 New translations SH.resx (Chinese Traditional) 2023-08-25 09:58:37 -07:00
Masterain
8b53bb6a89 New translations SH.resx (Korean) 2023-08-25 09:58:36 -07:00
Masterain
99a91166ee New translations SH.resx (Japanese) 2023-08-25 09:58:35 -07:00
DismissedLight
0de4aff03a fix dailynote refresh time notify 2023-08-26 00:14:18 +08:00
Masterain
7ef88d390c New translations SH.resx (English) 2023-08-25 08:50:03 -07:00
Masterain
fe8648e241 New translations SH.resx (English) 2023-08-25 03:28:44 -07:00
Masterain
5f000629e8 New translations SH.resx (English) 2023-08-25 02:31:35 -07:00
Masterain
604708298a New translations SH.resx (Chinese Traditional) 2023-08-25 02:31:34 -07:00
Masterain
cc529df60c New translations SH.resx (Korean) 2023-08-25 02:31:32 -07:00
Masterain
195ddb20a0 New translations SH.resx (Japanese) 2023-08-25 02:31:31 -07:00
Lightczx
020c8c38a8 add signin client back 2023-08-25 17:27:57 +08:00
Lightczx
800ecb07d7 change how we format reliquary sub property 2023-08-25 15:15:21 +08:00
Lightczx
486e7fffd2 add enhanced count for composed reliquary sub affix 2023-08-25 14:35:09 +08:00
Masterain
119bacea7d New translations SH.resx (English) 2023-08-24 20:49:48 -07:00
Masterain
900730935e New translations SH.resx (Chinese Traditional) 2023-08-24 20:49:47 -07:00
Masterain
cd37fc761f New translations SH.resx (Korean) 2023-08-24 20:49:46 -07:00
Masterain
79d8a63016 New translations SH.resx (Japanese) 2023-08-24 20:49:44 -07:00
Lightczx
0fd018f42e UIGF import denial on invalid itemid 2023-08-25 11:47:53 +08:00
Lightczx
c1cc4961a0 try fix dailynote notification user sync 2023-08-25 11:36:07 +08:00
Masterain
243217d1fa New translations SH.resx (English) 2023-08-24 08:04:53 -07:00
Masterain
c4e3e993fd New translations SH.resx (Chinese Traditional) 2023-08-24 08:04:52 -07:00
Masterain
4e4770dc23 New translations SH.resx (Korean) 2023-08-24 08:04:51 -07:00
Masterain
a74d9e5c4c New translations SH.resx (Japanese) 2023-08-24 08:04:49 -07:00
DismissedLight
b7642847cd fix refresh time update 2023-08-24 22:55:28 +08:00
DismissedLight
5f37b6bd6d add setting for dailynote auto refresh 2023-08-24 22:46:36 +08:00
Masterain
9158aca48d New translations SH.resx (English) 2023-08-24 06:52:10 -07:00
Masterain
591be8473c New translations SH.resx (Chinese Traditional) 2023-08-24 06:52:09 -07:00
Masterain
409ac022ea New translations SH.resx (Korean) 2023-08-24 06:52:07 -07:00
Masterain
ff6f3c50c4 New translations SH.resx (Japanese) 2023-08-24 06:52:06 -07:00
DismissedLight
b3de8b11a1 add dailynote refresh time hint 2023-08-24 21:22:52 +08:00
Lightczx
5a952d8b41 refreshtime for dailynote 2023-08-24 17:30:38 +08:00
Lightczx
39db32a48b fix #656 listviewbase selected item sync 2023-08-24 16:19:17 +08:00
Lightczx
67d17cf23f fix #596 incorrect announcement time 2023-08-24 15:16:57 +08:00
Lightczx
2df292f1b8 style tag zero width negative look ahead 2023-08-24 14:06:47 +08:00
Lightczx
b09a16079c source generation code style 2023-08-24 11:13:07 +08:00
Lightczx
8bd831a16d code style 2023-08-24 10:56:36 +08:00
Masterain
097d5ab9ef New translations SH.resx (English) 2023-08-23 13:28:33 -07:00
Masterain
73071e6e81 New translations SH.resx (English) 2023-08-23 08:10:59 -07:00
Masterain
7da2b21db7 New translations SH.resx (Chinese Traditional) 2023-08-23 08:10:57 -07:00
Masterain
7b78b501a7 New translations SH.resx (Korean) 2023-08-23 08:10:56 -07:00
Masterain
55d5847980 New translations SH.resx (Japanese) 2023-08-23 08:10:55 -07:00
DismissedLight
9259f173b5 refine dailynote UI & fix transformer not obtained desc 2023-08-23 22:54:54 +08:00
DismissedLight
b6080c45c2 fix #823 2023-08-23 20:21:32 +08:00
DismissedLight
704113cacd geetest verify 2023-08-22 23:32:03 +08:00
DismissedLight
f4f3242546 fix game resouce latest package no path 2023-08-21 23:16:23 +08:00
DismissedLight
23feb78f05 fix user collection initialization race condition 2023-08-21 22:51:33 +08:00
Lightczx
e347694a0b Update dependabot.yml 2023-08-21 15:52:20 +08:00
Masterain
3748f721bf New translations SH.resx (Japanese) 2023-08-21 00:36:52 -07:00
Masterain
96f458b42e New translations SH.resx (English) 2023-08-20 09:41:01 -07:00
Masterain
2b313e6c0a New translations SH.resx (Chinese Traditional) 2023-08-20 08:07:44 -07:00
Masterain
ed90664170 New translations SH.resx (English) 2023-08-20 07:06:38 -07:00
Masterain
eb75ce75ce New translations SH.resx (Chinese Traditional) 2023-08-20 07:06:37 -07:00
Masterain
4188dd1f9e New translations SH.resx (Korean) 2023-08-20 07:06:36 -07:00
Masterain
08b82dda07 New translations SH.resx (Japanese) 2023-08-20 07:06:35 -07:00
DismissedLight
f2fea5a0e6 fix game package convert 2023-08-20 21:50:39 +08:00
DismissedLight
368d0bfbd7 fix avatarproperty ordering 2023-08-19 20:56:27 +08:00
DismissedLight
baee72a2fa fix gachastatistics pullprediction infobar spam 2023-08-19 20:33:32 +08:00
DismissedLight
6f1c7b250e fix achievement archive creation 2023-08-19 20:23:30 +08:00
DismissedLight
75938c3ede fix gachalog initialization & improve loading speed 2023-08-19 20:07:02 +08:00
DismissedLight
79cf2839e6 fix gachalog import crash 2023-08-19 18:21:24 +08:00
DismissedLight
cb06949e60 fix gachalog refresh crash 2023-08-19 18:16:42 +08:00
DismissedLight
282eb228d9 improve cachedimage performance 2023-08-19 17:15:46 +08:00
DismissedLight
674002ee8d fix #841 2023-08-19 16:40:22 +08:00
Masterain
faa00d7c5f New translations SH.resx (English) 2023-08-18 02:47:04 -07:00
Masterain
638c9ff732 New translations SH.resx (Chinese Traditional) 2023-08-18 02:47:03 -07:00
Masterain
dabe80900d New translations SH.resx (Korean) 2023-08-18 02:47:01 -07:00
Masterain
a8b7a7f850 New translations SH.resx (Japanese) 2023-08-18 02:47:00 -07:00
Lightczx
7e5a536119 remove incorrect i18n resource 2023-08-18 16:43:41 +08:00
Lightczx
0ea85ae26b Prepare Announcement Regex 2023-08-18 16:41:11 +08:00
Masterain
d3beccc304 New translations SH.resx (English) 2023-08-18 01:41:10 -07:00
Masterain
facfec4831 New translations SH.resx (Chinese Traditional) 2023-08-18 01:41:09 -07:00
Masterain
d6eea91f2c New translations SH.resx (Korean) 2023-08-18 01:41:08 -07:00
Masterain
a5f3821d43 New translations SH.resx (Japanese) 2023-08-18 01:41:07 -07:00
Masterain
6d5485d4ca New translations SH.resx (Japanese) 2023-08-17 22:19:21 -07:00
Lightczx
1e92edca63 Improve AnnouncementContentViewer DarkMode speed 2023-08-18 11:48:06 +08:00
Masterain
055e040238 Update azure-pipelines.yml 2023-08-17 00:42:49 -07:00
Masterain
96f6921120 Update azure-pipelines.yml 2023-08-17 00:25:16 -07:00
Masterain
ddbb2611d7 New translations SH.resx (English) 2023-08-16 23:45:40 -07:00
Masterain
617961d0d2 New translations SH.resx (English) 2023-08-16 21:27:16 -07:00
Masterain
cf1c3eb056 New translations SH.resx (Chinese Traditional) 2023-08-16 21:27:15 -07:00
Masterain
882d9fc655 New translations SH.resx (Korean) 2023-08-16 21:27:14 -07:00
Masterain
6bfad4571a New translations SH.resx (Japanese) 2023-08-16 21:27:13 -07:00
DismissedLight
bc3aea5515 Merge pull request #836 from DGP-Studio/develop
Update readme.md
2023-08-17 00:35:15 +08:00
DismissedLight
c1c7cda390 update readme.md 2023-08-17 00:33:50 +08:00
DismissedLight
0bd8c01fdd refactor done 2023-08-17 00:05:04 +08:00
Lightczx
c4e4ffebd6 refactor viewmodel 2023-08-16 17:19:43 +08:00
Lightczx
d08d2b406f refactor welcome view model 2023-08-15 17:26:38 +08:00
Lightczx
4c50479e96 refactor SettingViewModel 2023-08-14 17:30:08 +08:00
Lightczx
f1cea8e5da Update azure-pipelines.yml 2023-08-14 17:09:03 +08:00
DismissedLight
3225f8105a Merge pull request #831 from DGP-Studio/dependabot/nuget/src/Snap.Hutao/main-dependencies-ddb7c159a1
Bump the main-dependencies group in /src/Snap.Hutao with 3 updates
2023-08-14 16:07:37 +08:00
dependabot[bot]
565817c14a Bump the main-dependencies group in /src/Snap.Hutao with 3 updates
Bumps the main-dependencies group in /src/Snap.Hutao with 3 updates: [Microsoft.EntityFrameworkCore.Sqlite](https://github.com/dotnet/efcore), [Microsoft.EntityFrameworkCore.Tools](https://github.com/dotnet/efcore) and [Microsoft.VisualStudio.Threading.Analyzers](https://github.com/microsoft/vs-threading).


Updates `Microsoft.EntityFrameworkCore.Sqlite` from 7.0.9 to 7.0.10
- [Release notes](https://github.com/dotnet/efcore/releases)
- [Commits](https://github.com/dotnet/efcore/compare/v7.0.9...v7.0.10)

Updates `Microsoft.EntityFrameworkCore.Tools` from 7.0.9 to 7.0.10
- [Release notes](https://github.com/dotnet/efcore/releases)
- [Commits](https://github.com/dotnet/efcore/compare/v7.0.9...v7.0.10)

Updates `Microsoft.VisualStudio.Threading.Analyzers` from 17.6.40 to 17.7.30
- [Release notes](https://github.com/microsoft/vs-threading/releases)
- [Commits](https://github.com/microsoft/vs-threading/commits)

---
updated-dependencies:
- dependency-name: Microsoft.EntityFrameworkCore.Sqlite
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: main-dependencies
- dependency-name: Microsoft.EntityFrameworkCore.Tools
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: main-dependencies
- dependency-name: Microsoft.VisualStudio.Threading.Analyzers
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: main-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-14 07:35:33 +00:00
DismissedLight
ade6613fe1 refactor dialogs 2023-08-12 16:24:12 +08:00
Lightczx
71fcbc367c refactor string cultureinfo 2023-08-11 16:12:11 +08:00
DismissedLight
a23043fb6d update controls style 2023-08-10 23:38:35 +08:00
Lightczx
d9169df3b8 refactor wiki viewmodel 2023-08-10 17:25:37 +08:00
DismissedLight
420bf6ff41 update community toolkit dependencies 2023-08-09 23:37:38 +08:00
Lightczx
5b269c7b3d refactor viewmodel 2023-08-09 17:06:19 +08:00
DismissedLight
9387b955ee card refine 2023-08-08 23:50:53 +08:00
DismissedLight
f8173208f4 Merge pull request #828 from DGP-Studio/dependabot/nuget/src/Snap.Hutao/main-dependencies-5bd43afe2e
Bump the main-dependencies group in /src/Snap.Hutao with 1 update
2023-08-08 23:03:10 +08:00
Lightczx
3368ae1b25 refresh view 2023-08-08 20:40:48 +08:00
Lightczx
5706e877e7 fix dependency property 2023-08-07 23:45:34 +08:00
Lightczx
3cf0cd1c9a refactor viewmodels 2023-08-07 17:28:39 +08:00
dependabot[bot]
312aa5f71a Bump the main-dependencies group in /src/Snap.Hutao with 1 update
Bumps the main-dependencies group in /src/Snap.Hutao with 1 update: [Microsoft.NET.Test.Sdk](https://github.com/microsoft/vstest).

- [Release notes](https://github.com/microsoft/vstest/releases)
- [Changelog](https://github.com/microsoft/vstest/blob/main/docs/releases.md)
- [Commits](https://github.com/microsoft/vstest/compare/v17.6.3...v17.7.0)

---
updated-dependencies:
- dependency-name: Microsoft.NET.Test.Sdk
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: main-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-07 07:44:18 +00:00
Lightczx
4dca174019 update announcement regex 2023-08-07 08:18:38 +08:00
Lightczx
fd52334c13 Really fast 2023-08-03 23:39:35 +08:00
Lightczx
0ee875d28d user service left 2023-08-02 21:58:46 +08:00
DismissedLight
1c46412324 Merge pull request #821 from DGP-Studio/dependabot/nuget/src/Snap.Hutao/main-dependencies-b6424fe871
Bump the main-dependencies group in /src/Snap.Hutao with 1 update
2023-08-02 20:21:36 +08:00
Lightczx
a69ae12e4f fix #825 2023-08-01 22:20:50 +08:00
dependabot[bot]
d738c60d3c Bump the main-dependencies group in /src/Snap.Hutao with 1 update
Bumps the main-dependencies group in /src/Snap.Hutao with 1 update: [Microsoft.WindowsAppSDK](https://github.com/microsoft/windowsappsdk).

- [Release notes](https://github.com/microsoft/windowsappsdk/releases)
- [Commits](https://github.com/microsoft/windowsappsdk/commits)

---
updated-dependencies:
- dependency-name: Microsoft.WindowsAppSDK
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: main-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-31 08:02:16 +00:00
Lightczx
4f6c2905d2 Update GameService.cs 2023-07-30 22:37:40 +08:00
Lightczx
4c337a79b9 package convert fixed 2023-07-30 21:54:10 +08:00
Lightczx
a661530025 fix package converter missing directory 2023-07-30 21:51:16 +08:00
Lightczx
d3b72ecb98 fix CI 2023-07-30 21:33:35 +08:00
Lightczx
69dc8355ad fix #811 2023-07-30 21:32:15 +08:00
Lightczx
2c45274cd3 fix #819 2023-07-30 16:30:56 +08:00
Lightczx
93ee1a3386 fix CI 2023-07-30 12:47:22 +08:00
Lightczx
c5ab707b66 remove manual dependency property 2023-07-30 00:35:41 +08:00
Lightczx
4226598442 refactor gacha service 3 2023-07-28 14:57:51 +08:00
Lightczx
5f38c370c1 delay task 2023-07-27 22:59:31 +08:00
Lightczx
de9abcfad4 refactor gacha service 2 2023-07-27 22:26:19 +08:00
Lightczx
53044b0dda refactor gacha service 2023-07-27 17:23:28 +08:00
Lightczx
e843c84374 refactor dailynote service and partial gacha service 2023-07-26 23:46:11 +08:00
Lightczx
8525aeafac refactor 2023-07-26 08:13:27 +08:00
DismissedLight
d665ba22e5 refactor cultivation service 2023-07-20 16:49:36 +08:00
DismissedLight
d03f8185b8 refactor services 2023-07-20 15:43:51 +08:00
Lightczx
2ad87d25df refactor achievementservice 2023-07-20 08:08:29 +08:00
DismissedLight
01fdcda729 refactor model 2023-07-19 16:44:38 +08:00
Lightczx
f531684e6a refactor naming 2023-07-18 23:20:02 +08:00
DismissedLight
cd066e1462 mapping abstraction 2023-07-18 16:54:42 +08:00
DismissedLight
e9ee31a604 refactor controls 2023-07-17 17:14:15 +08:00
DismissedLight
f2fc5e443c Merge pull request #810 from DGP-Studio/dependabot/nuget/src/Snap.Hutao/MSTest.TestFramework-3.1.1
Bump MSTest.TestFramework from 3.0.4 to 3.1.1 in /src/Snap.Hutao
2023-07-17 15:50:05 +08:00
DismissedLight
4d2b54d49d Merge pull request #809 from DGP-Studio/dependabot/nuget/src/Snap.Hutao/Microsoft.EntityFrameworkCore.Tools-7.0.9
Bump Microsoft.EntityFrameworkCore.Tools from 7.0.8 to 7.0.9 in /src/Snap.Hutao
2023-07-17 15:49:47 +08:00
dependabot[bot]
bea9d5caf2 Bump Microsoft.EntityFrameworkCore.Tools in /src/Snap.Hutao
Bumps [Microsoft.EntityFrameworkCore.Tools](https://github.com/dotnet/efcore) from 7.0.8 to 7.0.9.
- [Release notes](https://github.com/dotnet/efcore/releases)
- [Commits](https://github.com/dotnet/efcore/compare/v7.0.8...v7.0.9)

---
updated-dependencies:
- dependency-name: Microsoft.EntityFrameworkCore.Tools
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-17 07:49:04 +00:00
dependabot[bot]
2fbf904987 Bump MSTest.TestFramework from 3.0.4 to 3.1.1 in /src/Snap.Hutao
Bumps [MSTest.TestFramework](https://github.com/microsoft/testfx) from 3.0.4 to 3.1.1.
- [Release notes](https://github.com/microsoft/testfx/releases)
- [Changelog](https://github.com/microsoft/testfx/blob/main/docs/Changelog.md)
- [Commits](https://github.com/microsoft/testfx/compare/v3.0.4...v3.1.1)

---
updated-dependencies:
- dependency-name: MSTest.TestFramework
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-17 07:48:57 +00:00
DismissedLight
6cd7e14ac9 Merge pull request #808 from DGP-Studio/dependabot/nuget/src/Snap.Hutao/Microsoft.EntityFrameworkCore.Sqlite-7.0.9
Bump Microsoft.EntityFrameworkCore.Sqlite from 7.0.8 to 7.0.9 in /src/Snap.Hutao
2023-07-17 15:48:30 +08:00
DismissedLight
7826e019d7 Merge pull request #807 from DGP-Studio/dependabot/nuget/src/Snap.Hutao/MSTest.TestAdapter-3.1.1
Bump MSTest.TestAdapter from 3.0.4 to 3.1.1 in /src/Snap.Hutao
2023-07-17 15:48:03 +08:00
dependabot[bot]
e3e8400978 Bump Microsoft.EntityFrameworkCore.Sqlite in /src/Snap.Hutao
Bumps [Microsoft.EntityFrameworkCore.Sqlite](https://github.com/dotnet/efcore) from 7.0.8 to 7.0.9.
- [Release notes](https://github.com/dotnet/efcore/releases)
- [Commits](https://github.com/dotnet/efcore/compare/v7.0.8...v7.0.9)

---
updated-dependencies:
- dependency-name: Microsoft.EntityFrameworkCore.Sqlite
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-17 07:39:37 +00:00
dependabot[bot]
500003f9c2 Bump MSTest.TestAdapter from 3.0.4 to 3.1.1 in /src/Snap.Hutao
Bumps [MSTest.TestAdapter](https://github.com/microsoft/testfx) from 3.0.4 to 3.1.1.
- [Release notes](https://github.com/microsoft/testfx/releases)
- [Changelog](https://github.com/microsoft/testfx/blob/main/docs/Changelog.md)
- [Commits](https://github.com/microsoft/testfx/compare/v3.0.4...v3.1.1)

---
updated-dependencies:
- dependency-name: MSTest.TestAdapter
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-17 07:39:33 +00:00
Lightczx
147312c289 Update ObjectExtension.cs 2023-07-16 21:56:07 +08:00
Lightczx
e90f76ead8 delete unused resources 2023-07-16 18:13:35 +08:00
Lightczx
8631933ef4 fix #804 2023-07-16 16:37:29 +08:00
Lightczx
c5dada3f72 guide window 2023-07-15 22:54:50 +08:00
DismissedLight
9aaeb327b6 Merge pull request #799 from DGP-Studio/l10n_main
New Crowdin updates
2023-07-13 19:22:44 +08:00
Masterain
75e771c75e New translations SH.resx (English) 2023-07-13 04:11:51 -07:00
Masterain
d4515936bd New translations SH.resx (Chinese Traditional) 2023-07-13 04:11:49 -07:00
Masterain
d9f2261129 New translations SH.resx (Korean) 2023-07-13 04:11:48 -07:00
Masterain
f0d4ea9a10 New translations SH.resx (Japanese) 2023-07-13 04:11:47 -07:00
Lightczx
bdcbba3237 update text 2023-07-13 19:09:58 +08:00
Masterain
a931a661cd New translations SH.resx (English) 2023-07-13 04:09:52 -07:00
Masterain
0fb2991085 New translations SH.resx (Chinese Traditional) 2023-07-13 04:09:50 -07:00
Masterain
cda04c6aa7 New translations SH.resx (Korean) 2023-07-13 04:09:49 -07:00
Masterain
b23659bf80 New translations SH.resx (Japanese) 2023-07-13 04:09:48 -07:00
DismissedLight
2a3f119fb0 update translation tips 2023-07-13 16:48:09 +08:00
DismissedLight
30e888ffb2 Add Gacha pull prediction 2023-07-13 15:39:10 +08:00
Lightczx
27b79659a4 Add animation to hutao cloud gacha statistics view 2023-07-12 22:18:37 +08:00
DismissedLight
4cef096cb5 refine code 2023-07-12 17:27:17 +08:00
DismissedLight
e065ba0964 Add GI 4.0 materials for Cultivation 2023-07-12 16:41:21 +08:00
DismissedLight
4c0d86fd13 Add InventoryItems localization support 2023-07-12 16:20:17 +08:00
DismissedLight
70ab81bb0f fix #796 2023-07-12 13:21:48 +08:00
DismissedLight
72be37834d Add compatibility with GI 4.0 2023-07-12 10:33:29 +08:00
DismissedLight
f1a2a828c8 Update HutaoStatisticsCard.xaml 2023-07-10 16:36:56 +08:00
DismissedLight
3eaaf0e4e2 Add Hutao GachaEvent Statistics 2023-07-10 15:13:41 +08:00
Lightczx
41d7441eb3 Merge branch 'main' of https://github.com/DGP-Studio/Snap.Hutao 2023-07-10 09:31:53 +08:00
Lightczx
173a1343c1 Hutao GachaEvent Statistics 1 2023-07-10 09:31:16 +08:00
DismissedLight
0fc0413612 remove unnecessary DS handler in UserClient 2023-07-10 09:30:32 +08:00
DismissedLight
1fc1f9b08d Update .gitignore 2023-07-10 09:25:23 +08:00
Lightczx
133a1a532e code style 2023-07-07 22:50:07 +08:00
Lightczx
f4fa08a939 fix developer hint visibility 2023-07-07 22:22:43 +08:00
Lightczx
5020621c46 add gachalogserviceexpiredat in hutaocloudservice 2023-07-07 11:13:47 +08:00
Lightczx
4d526bb363 DependencyProperty generation 2023-07-07 10:11:54 +08:00
DismissedLight
b37d5331a2 Merge pull request #784 from DGP-Studio/dependabot/nuget/src/Snap.Hutao/Microsoft.NET.Test.Sdk-17.6.3
Bump Microsoft.NET.Test.Sdk from 17.6.2 to 17.6.3 in /src/Snap.Hutao
2023-07-03 15:41:55 +08:00
dependabot[bot]
451486e3fc Bump Microsoft.NET.Test.Sdk from 17.6.2 to 17.6.3 in /src/Snap.Hutao
Bumps [Microsoft.NET.Test.Sdk](https://github.com/microsoft/vstest) from 17.6.2 to 17.6.3.
- [Release notes](https://github.com/microsoft/vstest/releases)
- [Changelog](https://github.com/microsoft/vstest/blob/main/docs/releases.md)
- [Commits](https://github.com/microsoft/vstest/compare/v17.6.2...v17.6.3)

---
updated-dependencies:
- dependency-name: Microsoft.NET.Test.Sdk
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-03 07:18:55 +00:00
Lightczx
bbacb038cb fix CHS cannot load correct metadata 2023-06-27 20:43:22 +08:00
DismissedLight
7aba05d9c8 Merge pull request #781 from DGP-Studio/dependabot/nuget/src/Snap.Hutao/Microsoft.EntityFrameworkCore.Tools-7.0.8
Bump Microsoft.EntityFrameworkCore.Tools from 7.0.7 to 7.0.8 in /src/Snap.Hutao
2023-06-26 17:12:58 +08:00
dependabot[bot]
fbcd43c0af Bump Microsoft.EntityFrameworkCore.Tools in /src/Snap.Hutao
Bumps [Microsoft.EntityFrameworkCore.Tools](https://github.com/dotnet/efcore) from 7.0.7 to 7.0.8.
- [Release notes](https://github.com/dotnet/efcore/releases)
- [Commits](https://github.com/dotnet/efcore/compare/v7.0.7...v7.0.8)

---
updated-dependencies:
- dependency-name: Microsoft.EntityFrameworkCore.Tools
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-26 09:12:40 +00:00
DismissedLight
51314da123 Merge pull request #782 from DGP-Studio/dependabot/nuget/src/Snap.Hutao/Microsoft.EntityFrameworkCore.Sqlite-7.0.8
Bump Microsoft.EntityFrameworkCore.Sqlite from 7.0.7 to 7.0.8 in /src/Snap.Hutao
2023-06-26 17:12:20 +08:00
DismissedLight
8ed2e8cc72 Merge pull request #783 from DGP-Studio/dependabot/nuget/src/Snap.Hutao/StyleCop.Analyzers.Unstable-1.2.0.507
Bump StyleCop.Analyzers.Unstable from 1.2.0.435 to 1.2.0.507 in /src/Snap.Hutao
2023-06-26 17:12:03 +08:00
dependabot[bot]
7ab10d7824 Bump StyleCop.Analyzers.Unstable in /src/Snap.Hutao
Bumps [StyleCop.Analyzers.Unstable](https://github.com/DotNetAnalyzers/StyleCopAnalyzers) from 1.2.0.435 to 1.2.0.507.
- [Release notes](https://github.com/DotNetAnalyzers/StyleCopAnalyzers/releases)
- [Changelog](https://github.com/DotNetAnalyzers/StyleCopAnalyzers/blob/master/documentation/KnownChanges.md)
- [Commits](https://github.com/DotNetAnalyzers/StyleCopAnalyzers/commits)

---
updated-dependencies:
- dependency-name: StyleCop.Analyzers.Unstable
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-26 08:05:16 +00:00
dependabot[bot]
ca5f84911b Bump Microsoft.EntityFrameworkCore.Sqlite in /src/Snap.Hutao
Bumps [Microsoft.EntityFrameworkCore.Sqlite](https://github.com/dotnet/efcore) from 7.0.7 to 7.0.8.
- [Release notes](https://github.com/dotnet/efcore/releases)
- [Commits](https://github.com/dotnet/efcore/compare/v7.0.7...v7.0.8)

---
updated-dependencies:
- dependency-name: Microsoft.EntityFrameworkCore.Sqlite
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-26 08:04:49 +00:00
DismissedLight
500efa60ed Merge pull request #779 from DGP-Studio/l10n_main
New Crowdin updates
2023-06-21 22:01:21 +08:00
Masterain
650e5d8a6e New translations SH.resx (Japanese) 2023-06-21 07:00:22 -07:00
Masterain
79a9128434 New translations SH.resx (English) 2023-06-21 07:00:21 -07:00
Masterain
c7c883bb11 New translations SH.resx (Chinese Traditional) 2023-06-21 07:00:20 -07:00
Masterain
3ee98810f1 New translations SH.resx (Korean) 2023-06-21 07:00:18 -07:00
Lightczx
f09c924a61 reduce NoModuleFound chance 2023-06-18 20:02:09 +08:00
DismissedLight
86d9a381c4 Merge pull request #772 from DGP-Studio/dependabot/nuget/src/Snap.Hutao/Microsoft.NET.Test.Sdk-17.6.2
Bump Microsoft.NET.Test.Sdk from 17.5.0 to 17.6.2 in /src/Snap.Hutao
2023-06-16 16:30:38 +08:00
dependabot[bot]
b2d141af11 Bump Microsoft.NET.Test.Sdk from 17.5.0 to 17.6.2 in /src/Snap.Hutao
Bumps [Microsoft.NET.Test.Sdk](https://github.com/microsoft/vstest) from 17.5.0 to 17.6.2.
- [Release notes](https://github.com/microsoft/vstest/releases)
- [Changelog](https://github.com/microsoft/vstest/blob/main/docs/releases.md)
- [Commits](https://github.com/microsoft/vstest/compare/v17.5.0...v17.6.2)

---
updated-dependencies:
- dependency-name: Microsoft.NET.Test.Sdk
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-16 08:30:07 +00:00
DismissedLight
15865eb746 Merge pull request #771 from DGP-Studio/dependabot/nuget/src/Snap.Hutao/MSTest.TestFramework-3.0.4
Bump MSTest.TestFramework from 3.0.2 to 3.0.4 in /src/Snap.Hutao
2023-06-16 16:29:58 +08:00
dependabot[bot]
242b9aa036 Bump MSTest.TestFramework from 3.0.2 to 3.0.4 in /src/Snap.Hutao
Bumps [MSTest.TestFramework](https://github.com/microsoft/testfx) from 3.0.2 to 3.0.4.
- [Release notes](https://github.com/microsoft/testfx/releases)
- [Changelog](https://github.com/microsoft/testfx/blob/main/docs/Changelog.md)
- [Commits](https://github.com/microsoft/testfx/compare/v3.0.2...v3.0.4)

---
updated-dependencies:
- dependency-name: MSTest.TestFramework
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-16 08:29:51 +00:00
DismissedLight
7b81cc7a9c Merge pull request #770 from DGP-Studio/dependabot/nuget/src/Snap.Hutao/Microsoft.CodeAnalysis.CSharp-4.6.0
Bump Microsoft.CodeAnalysis.CSharp from 4.5.0 to 4.6.0 in /src/Snap.Hutao
2023-06-16 16:29:41 +08:00
DismissedLight
2060f20707 Merge pull request #769 from DGP-Studio/dependabot/nuget/src/Snap.Hutao/coverlet.collector-6.0.0
Bump coverlet.collector from 3.2.0 to 6.0.0 in /src/Snap.Hutao
2023-06-16 16:29:27 +08:00
DismissedLight
27a6c4f1fb Merge pull request #768 from DGP-Studio/dependabot/nuget/src/Snap.Hutao/MSTest.TestAdapter-3.0.4
Bump MSTest.TestAdapter from 3.0.2 to 3.0.4 in /src/Snap.Hutao
2023-06-16 16:29:14 +08:00
dependabot[bot]
6427fe23ef Bump Microsoft.CodeAnalysis.CSharp in /src/Snap.Hutao
Bumps [Microsoft.CodeAnalysis.CSharp](https://github.com/dotnet/roslyn) from 4.5.0 to 4.6.0.
- [Release notes](https://github.com/dotnet/roslyn/releases)
- [Changelog](https://github.com/dotnet/roslyn/blob/main/docs/Breaking%20API%20Changes.md)
- [Commits](https://github.com/dotnet/roslyn/commits)

---
updated-dependencies:
- dependency-name: Microsoft.CodeAnalysis.CSharp
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-16 08:22:18 +00:00
dependabot[bot]
6cf516f883 Bump coverlet.collector from 3.2.0 to 6.0.0 in /src/Snap.Hutao
Bumps [coverlet.collector](https://github.com/coverlet-coverage/coverlet) from 3.2.0 to 6.0.0.
- [Release notes](https://github.com/coverlet-coverage/coverlet/releases)
- [Commits](https://github.com/coverlet-coverage/coverlet/compare/v3.2.0...v6.0.0)

---
updated-dependencies:
- dependency-name: coverlet.collector
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-16 08:22:06 +00:00
dependabot[bot]
080674f648 Bump MSTest.TestAdapter from 3.0.2 to 3.0.4 in /src/Snap.Hutao
Bumps [MSTest.TestAdapter](https://github.com/microsoft/testfx) from 3.0.2 to 3.0.4.
- [Release notes](https://github.com/microsoft/testfx/releases)
- [Changelog](https://github.com/microsoft/testfx/blob/main/docs/Changelog.md)
- [Commits](https://github.com/microsoft/testfx/compare/v3.0.2...v3.0.4)

---
updated-dependencies:
- dependency-name: MSTest.TestAdapter
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-16 08:22:01 +00:00
Lightczx
09834ada6b fix dependabot 2023-06-16 16:20:43 +08:00
Lightczx
efbc282a14 separate tests 2023-06-11 14:17:41 +08:00
Lightczx
e59a1c5444 1.6.5 rc1 2023-06-10 19:01:15 +08:00
Lightczx
356c157ab2 Support new language: Japanese 2023-06-08 22:14:37 +08:00
DismissedLight
be83ebfae1 Merge pull request #757 from DGP-Studio/l10n_main
New Crowdin updates
2023-06-08 21:56:03 +08:00
Lightczx
f94cbed525 improve #749 2023-06-08 21:53:04 +08:00
Lightczx
1199d2c737 fix #745 2023-06-08 21:44:55 +08:00
Lightczx
126e866a02 use metadata reliquary affix weight 2023-06-08 20:37:01 +08:00
Masterain
fbc0c02af0 New translations SH.resx (Japanese) 2023-06-08 02:28:01 -07:00
Masterain
e646e26908 New translations SH.resx (Japanese) 2023-06-08 01:46:30 -07:00
Masterain
4a8bf8182c New translations SH.resx (Chinese Traditional) 2023-06-08 01:46:28 -07:00
Masterain
86423a86c5 New translations SH.resx (Japanese) 2023-06-07 11:07:24 -07:00
Masterain
0766361441 New translations SH.resx (English) 2023-06-07 11:07:23 -07:00
Masterain
ded93dda75 New translations SH.resx (Chinese Traditional) 2023-06-07 11:07:22 -07:00
Masterain
f437c6615c New translations SH.resx (Korean) 2023-06-07 11:07:21 -07:00
Lightczx
e663c2f353 refine UI 2023-06-07 22:21:55 +08:00
Lightczx
90b396703a Update GameFpsUnlocker.cs 2023-06-07 15:54:08 +08:00
Lightczx
be4fa571cd fix unlock fps 2023-06-07 15:52:51 +08:00
DismissedLight
13e43a1c23 Merge pull request #751 from DGP-Studio/feat/metadata2
Migrating to metadata2
2023-06-05 11:19:58 +08:00
Lightczx
2d9165599b migrate to metadata2 2023-06-05 11:17:47 +08:00
Lightczx
5b35167908 optimize Win32 calls 2023-05-29 20:47:57 +08:00
Masterain
099c5d3f6d Update SECURITY.md 2023-05-29 00:28:50 -07:00
DismissedLight
5f15c05e3d Merge pull request #736 from DGP-Studio/l10n_main
New Crowdin updates
2023-05-27 14:33:54 +08:00
Masterain
de95fd6419 New translations SH.resx (English) 2023-05-26 23:17:16 -07:00
Masterain
bd0901a8ab New translations SH.resx (Chinese Traditional) 2023-05-26 23:17:15 -07:00
Masterain
84fa2dadcc New translations SH.resx (Korean) 2023-05-26 23:17:14 -07:00
DismissedLight
e204b65afc Merge pull request #738 from Masterain98/main
fix #737 Localization Update
2023-05-27 09:47:55 +08:00
Masterain98
9c71c4ffcc Automatic Config File Push 2023-05-27 00:13:32 +00:00
Masterain
62694be22b Localization update 2023-05-26 14:20:00 -07:00
Masterain
20f16ceb3e New translations SH.resx (English) 2023-05-26 06:04:04 -07:00
Masterain
a1e8f90710 New translations SH.resx (Chinese Traditional) 2023-05-26 06:04:03 -07:00
Masterain
0d9baa2cac New translations SH.resx (Korean) 2023-05-26 06:04:02 -07:00
DismissedLight
96b3e6d092 Merge pull request #734 from DGP-Studio/fix-unlock-fps
Fix unlock fps
2023-05-26 16:22:14 +08:00
Lightczx
4178f1b89b fix unlock fps 2023-05-26 16:20:12 +08:00
Lightczx
e44a20f202 Try to fix unlock fps 2023-05-25 20:50:37 +08:00
Masterain98
a12874d114 Automatic Config File Push 2023-05-25 00:12:55 +00:00
Lightczx
c7e3b18d62 fix 3.7 metadata crash 2023-05-23 13:13:41 +08:00
Lightczx
b607bbf819 Update .gitignore 2023-05-21 21:59:49 +08:00
Lightczx
5b16313b65 Delete desktop.ini 2023-05-21 21:58:40 +08:00
Lightczx
577aed0f80 Typo 2023-05-21 21:27:10 +08:00
Masterain98
39a3e6eb37 Automatic Config File Push 2023-05-20 04:14:35 +00:00
Lightczx
96f503d30c Introducing Elevation Badge 2023-05-17 20:58:40 +08:00
Lightczx
f104554661 remove installer 2023-05-16 22:45:09 +08:00
DismissedLight
451823ebf9 Merge pull request #723 from Xhichn/Dev
Improve HoYoLAB API request
2023-05-16 16:21:39 +08:00
Lightczx
7346c5eb4e typo 2023-05-16 16:20:41 +08:00
Lightczx
73f0e356c4 move InitializeCulture 2023-05-16 16:14:49 +08:00
Lightczx
168bed4b2c shell interop 2023-05-16 15:32:44 +08:00
Lightczx
d634eb6818 Unify Encoding to UIT-8 with BOM 2023-05-15 15:43:03 +08:00
DismissedLight
0cb9e59b8a Merge pull request #725 from DGP-Studio/feat/uigf_v2.3
fully support UIGF v2.3
2023-05-15 12:38:57 +08:00
Lightczx
ca10afa25a fully support UIGF v2.3 2023-05-15 12:37:46 +08:00
Lightczx
5fe38f305b refine game service 2023-05-14 22:43:50 +08:00
Lightczx
46f58730dc fix # 722 2023-05-14 22:20:45 +08:00
Xhichn
d144859d94 Merge branch 'main' of https://github.com/DGP-Studio/Snap.Hutao 2023-05-14 21:55:18 +08:00
Xhichn
40439aea8a Removed some unused endpoints 2023-05-14 21:52:46 +08:00
Lightczx
d54828ff55 fix #720 2023-05-14 21:15:22 +08:00
Xhichn
7e0c0fa5bf Change hoyolab api host 2023-05-14 17:49:03 +08:00
Xhichn
8312c7c88b Update hoyolab requests 2023-05-14 12:24:27 +08:00
Lightczx
456d87003f fix #709 2023-05-13 22:37:11 +08:00
Lightczx
7a63013dfd fix #719 2023-05-13 20:47:49 +08:00
Lightczx
15c3019576 fix jumplist launch 2023-05-11 22:13:06 +08:00
Lightczx
c15e948659 增加米奇妙妙工具 2023-05-11 18:17:10 +08:00
Lightczx
c5a4226662 fix scheme displayname 2023-05-10 22:12:02 +08:00
DismissedLight
0f9b906b7b Merge pull request #712 from DGP-Studio/l10n_main
New Crowdin updates
2023-05-10 21:26:39 +08:00
Masterain
f55dc038e2 New translations SH.resx (English) 2023-05-10 06:26:16 -07:00
Masterain
8540c1eebc New translations SH.resx (English) 2023-05-10 06:24:15 -07:00
Masterain
8f71994574 New translations SH.resx (Chinese Traditional) 2023-05-10 06:24:14 -07:00
Masterain
fe3e835211 New translations SH.resx (Korean) 2023-05-10 06:24:13 -07:00
Lightczx
6b5477ba44 1.16.3 release candidate 1 2023-05-10 21:19:26 +08:00
Lightczx
e147b8773f support dynamically change game fps 2023-05-10 19:52:22 +08:00
Masterain98
b386a35f07 Automatic Config File Push 2023-05-10 05:47:11 +00:00
Lightczx
42a19239e6 fix launch scheme detection 2023-05-10 13:44:09 +08:00
Masterain98
404cd9d705 Automatic Config File Push 2023-05-10 00:17:39 +00:00
Lightczx
33935dabc2 code style 2023-05-06 22:43:09 +08:00
Lightczx
5e04c51456 Address several db sync issues 2023-05-06 15:34:40 +08:00
Lightczx
50c5bb44ff auto dependency injection 2023-05-06 13:05:19 +08:00
Lightczx
60641c3f57 fix GetCharacterAsync 2023-05-01 15:47:58 +08:00
Lightczx
40753177cb Merge branch 'main' of https://github.com/DGP-Studio/Snap.Hutao 2023-05-01 10:29:14 +08:00
Lightczx
ba2f2d5708 fix gacha fetch 2023-05-01 10:29:11 +08:00
Masterain
6f5a65c0e3 Update azure-pipelines.yml 2023-04-30 13:05:13 -07:00
Lightczx
20f353d9eb fix avatar property 2023-04-30 21:05:07 +08:00
DismissedLight
1a1a865b8d Merge pull request #700 from DGP-Studio/refactor/application-model
Refactor Application Model
2023-04-30 20:28:10 +08:00
Lightczx
7b3b1f1317 remove all ThreadHelper usage 2023-04-30 20:26:07 +08:00
Lightczx
0891c3f521 fixup all services 2023-04-29 20:54:17 +08:00
Lightczx
9657df36c2 Generate Enum Localization 2023-04-26 21:43:21 +08:00
Lightczx
9a54df4163 remove CoreEnvironment 2023-04-24 19:34:58 +08:00
Lightczx
8ac410fb4d miyoushe 2.49.1 2023-04-23 13:44:09 +08:00
Lightczx
538a076b69 increase boot speed 2023-04-20 19:11:40 +08:00
Lightczx
7db14a9c2a config utf-8 bom 2023-04-20 17:32:33 +08:00
Masterain
0e710f92d2 fix pipelines env 2023-04-20 02:24:08 -07:00
Masterain
fec2dc6c99 Use dedicated build sever 2023-04-20 02:19:24 -07:00
Lightczx
bdb40aca6a daily note card 2023-04-20 15:54:57 +08:00
Masterain
c90f147564 i10n refinement 2023-04-19 20:04:43 -07:00
DismissedLight
2b36b01145 Merge pull request #690 from Xhichn/SignIn
Feat: Daily check-in support for hoyolab user
2023-04-19 21:28:07 +08:00
Lightczx
d876f269fd typo 2023-04-19 21:27:35 +08:00
Lightczx
729f6717e1 Update GachaStatisticsCard.xaml 2023-04-19 19:06:27 +08:00
Xhichn
b5371a9656 Use seperated js interface for hoyolab check-in 2023-04-19 18:23:45 +08:00
Lightczx
04dae7ccd8 achievement card 2023-04-19 18:22:30 +08:00
Xhichn
a5fcfca609 Feat: Daily check-in support for hoyolab user 2023-04-19 13:18:01 +08:00
Lightczx
aee5271a2d more ref-like parameters 2023-04-18 21:57:13 +08:00
Lightczx
89fe93b3eb use ref-like keyword to accelerate runtime speed 2023-04-18 18:54:43 +08:00
Lightczx
dc38def97c fixup cookie creation key collision 2023-04-18 11:24:56 +08:00
Lightczx
2432b1ec5d fix #675 2023-04-17 12:41:06 +08:00
Lightczx
97c7671595 use hoyoverse instead of hoyolab to login 2023-04-17 12:00:48 +08:00
Lightczx
b8895d8250 update to was 1.3 and fix upload spiralabyss 2023-04-14 15:48:00 +08:00
Lightczx
cb882ab062 Update GachaLogViewModelSlim.cs 2023-04-12 22:36:01 +08:00
Lightczx
27c7875c26 refactor gachalog service 2023-04-12 22:34:49 +08:00
Lightczx
3cf505d9b2 Merge branch 'main' of https://github.com/DGP-Studio/Snap.Hutao 2023-04-11 18:42:47 +08:00
Lightczx
4407166005 temp state 2023-04-11 18:42:44 +08:00
DismissedLight
7b6e63a932 Merge pull request #671 from DGP-Studio/l10n_main
New Crowdin updates
2023-04-11 18:41:48 +08:00
Masterain
4a452c205e New translations SH.resx (English) 2023-04-11 01:37:14 -07:00
Masterain
4dd2ba3c6d New translations SH.resx (English) 2023-04-11 01:28:25 -07:00
Masterain
1e7155a902 New translations SH.resx (Chinese Traditional) 2023-04-11 01:28:24 -07:00
Masterain
129a1a7fa8 New translations SH.resx (Korean) 2023-04-11 01:28:24 -07:00
Masterain
f37f4fe37d Update SH.resx 2023-04-11 01:27:38 -07:00
DismissedLight
0df746e4c6 Merge pull request #670 from Masterain98/main
WIKI Pages Localization
2023-04-11 15:39:26 +08:00
Masterain
285f788015 fix typo 2023-04-11 00:37:54 -07:00
Masterain
d0525dd814 WIKI pages localization 2023-04-11 00:25:38 -07:00
Masterain
4372eb0ded =w= 2023-04-10 18:09:04 -07:00
Masterain98
15e6964340 Automatic Config File Push 2023-04-11 00:58:30 +00:00
Lightczx
e5c5c1c95c improve cloud service experience 2023-04-08 22:09:07 +08:00
DismissedLight
a4f555ea40 Merge pull request #663 from DGP-Studio/l10n_main
New Crowdin updates
2023-04-08 16:19:14 +08:00
Masterain
1ea0a14926 New translations SH.resx (English) 2023-04-08 01:17:53 -07:00
Masterain
a26b6fc528 New translations SH.resx (Chinese Traditional) 2023-04-08 01:17:52 -07:00
Masterain
e4523d540c New translations SH.resx (Korean) 2023-04-08 01:17:51 -07:00
Lightczx
6a309321f6 source generate reliquary score weight 2023-04-08 16:17:16 +08:00
Lightczx
512b1257a8 fix DbCurrent 2023-04-07 18:44:08 +08:00
Lightczx
d5b668cb8d fix cloud gacha download crash 2023-04-07 16:41:57 +08:00
Lightczx
32177491da gacha log upload 2023-04-07 15:08:20 +08:00
Lightczx
e5012d9051 improve welcome download experience 2023-04-06 15:12:51 +08:00
Chen Hill
cad1182ade Remove BITS 2023-04-05 13:03:33 +08:00
DismissedLight
e58d982e72 Merge pull request #652 from Xhichn/main
Fix hoyolab userinfo request
2023-04-05 11:12:01 +08:00
xhichn
9749c6c342 Fix hoyolab userinfo request 2023-04-05 10:02:08 +08:00
DismissedLight
179b78ca83 Launch Game QoL 2023-04-04 18:44:19 +08:00
DismissedLight
79118cdb4d fix #649 2023-04-04 16:53:01 +08:00
DismissedLight
35e7aaef4e fix HTTPS usage 2023-04-03 21:17:52 +08:00
DismissedLight
97f5904efa fix cn login 2023-03-31 13:09:03 +08:00
DismissedLight
50112cb3f6 Merge pull request #634 from Masterain98/main
Update PWA assets
2023-03-30 13:12:19 +08:00
DismissedLight
3dd7a8c85f fix HoYoLAB webview login 2023-03-30 13:07:15 +08:00
Masterain
ca06fe7b02 Remove badge logo assets 2023-03-29 17:43:57 -07:00
DismissedLight
04e9f7db72 Merge pull request #637 from DGP-Studio/l10n_main
New Crowdin updates
2023-03-29 18:41:33 +08:00
Masterain
7facf43332 New translations SH.resx (English) 2023-03-29 03:40:37 -07:00
Masterain
bc7cf93137 New translations SH.resx (Chinese Traditional) 2023-03-29 03:40:36 -07:00
Masterain
877dd93bad New translations SH.resx (Korean) 2023-03-29 03:40:35 -07:00
DismissedLight
98b3f2d202 add hutao passport 2023-03-29 17:35:43 +08:00
DismissedLight
0a7bd55dab remove using statements 2023-03-28 21:26:18 +08:00
DismissedLight
e9a8e906da Merge pull request #635 from DGP-Studio/l10n_main
New Crowdin updates
2023-03-28 18:06:03 +08:00
Masterain
93523c8832 New translations SH.resx (English) 2023-03-28 02:50:46 -07:00
Masterain
541455e51d New translations SH.resx (Chinese Traditional) 2023-03-28 02:50:45 -07:00
Masterain
cdc48a1a4f New translations SH.resx (Korean) 2023-03-28 02:50:43 -07:00
DismissedLight
ab65a62c11 fix hoyolab user creation 2023-03-28 16:43:37 +08:00
Masterain
9e90cfb1c8 Update PWA assets 2023-03-27 23:09:01 -07:00
DismissedLight
b1ace71648 fixup dependency injection 2023-03-27 20:08:00 +08:00
DismissedLight
015c731df0 Merge pull request #608 from Xhichn/main
Add basic support for hoyoverse account
2023-03-27 19:03:53 +08:00
DismissedLight
8ea4411e2a phase final 2023-03-27 19:02:09 +08:00
DismissedLight
f90b828bb4 phase 3 2023-03-27 18:39:02 +08:00
DismissedLight
97cbe7cf55 phase 2 2023-03-27 16:17:36 +08:00
DismissedLight
09abb46159 fixup some code style phase 1 2023-03-25 21:26:17 +08:00
Xhichn
523374ed3d Upload spiral abyss record for hoyolab user & clean 2023-03-24 21:44:05 +08:00
Xhichn
9decb67cff Merge branch 'DGP-Studio:main' into main 2023-03-24 20:24:37 +08:00
DismissedLight
af26c06cfc Merge pull request #623 from Masterain98/main
Update Project Information
2023-03-23 22:42:49 +08:00
DismissedLight
b550b91cc9 update banner 2023-03-23 22:24:19 +08:00
DismissedLight
2ba6377088 update bug report template 2023-03-23 12:47:01 +08:00
DismissedLight
18f8137f41 fix cookie token 2023-03-22 18:24:48 +08:00
Xhichn
32ae92e49d Login from hoyolab account page to get stoken 2023-03-22 18:13:55 +08:00
Xhichn
805fd31bf8 Login from hoyolab account website to get stoken 2023-03-22 17:44:56 +08:00
Masterain
b65e0c94f0 Update Project Information 2023-03-22 02:07:06 -07:00
DismissedLight
7e3d7e9076 remove MemoryExtension [skip ci] 2023-03-21 13:16:09 +08:00
DismissedLight
2c162d1fef fix #616 [skip ci] 2023-03-20 12:36:49 +08:00
DismissedLight
bfacf42d71 refactor user initialization 2023-03-19 21:57:49 +08:00
DismissedLight
eeee171b78 fix #611 2023-03-19 20:45:36 +08:00
DismissedLight
9861a3df37 improve fps unlocker 2023-03-19 12:27:17 +08:00
Masterain
84b9a9de23 Update azure-pipelines.yml for Azure Pipelines 2023-03-18 02:52:38 -07:00
DismissedLight
11828bd280 Merge branch 'main' of https://github.com/DGP-Studio/Snap.Hutao 2023-03-18 16:42:46 +08:00
DismissedLight
b29d66d6b6 fix ci build 2023-03-18 16:42:35 +08:00
Masterain
a25d1ba4ce Update azure-pipelines.yml for Azure Pipelines 2023-03-18 01:30:31 -07:00
DismissedLight
5505927ca1 fix nuget sources 2023-03-18 16:00:58 +08:00
DismissedLight
d3a60451a4 Merge branch 'main' of https://github.com/DGP-Studio/Snap.Hutao 2023-03-18 14:45:40 +08:00
DismissedLight
915635a843 fix material 2023-03-18 14:44:24 +08:00
Masterain
918e84be61 Update azure-pipelines.yml for Azure Pipelines 2023-03-17 19:56:09 -07:00
DismissedLight
a8a3354217 Add IsOverSea on User Entity 2023-03-17 23:20:47 +08:00
Xhichn
b6f6c5d54b Merge branch 'DGP-Studio:main' into main 2023-03-16 20:15:43 +08:00
DismissedLight
a9e0e3db39 Update README.md [skip ci] 2023-03-16 18:52:49 +08:00
DismissedLight
ece3f2cd08 migrate to CommunityToolkit.Labs.WinUI.SettingsControls 2023-03-16 18:22:30 +08:00
Xhichn
7612a2e7c0 Merge branch 'DGP-Studio:main' into main 2023-03-15 23:40:21 +08:00
Xhichn
eee34ec4c7 Merge branch 'main' of https://github.com/Xhichn/Snap.Hutao 2023-03-15 23:38:58 +08:00
Xhichn
e24a7436b4 Add daily reward claim support for hoyolab user & fix typo 2023-03-15 23:38:42 +08:00
Xhichn
a543bf3091 Fix dailynote notification for hoyoverse account, block some unsupported operations 2023-03-15 22:39:42 +08:00
DismissedLight
1d88360528 fix app options 2023-03-15 20:13:24 +08:00
DismissedLight
f21d04fadc Merge pull request #604 from GashByte/main
add 'Enabled Advanced' option to setting page
2023-03-15 19:15:02 +08:00
x3zF Love U
0cd6bf95a9 change the field name of 'EnabledAdvanced' 2023-03-15 19:12:41 +08:00
x3zF Love U
4de01d2f62 add 'Enabled Advanced' option to setting page 2023-03-15 19:04:55 +08:00
DismissedLight
05d226ad15 move viewmodels 2023-03-15 18:28:14 +08:00
Xhichn
eabf2a9ea8 Merge branch 'DGP-Studio:main' into main 2023-03-15 14:56:38 +08:00
DismissedLight
e796afbbb0 Merge pull request #603 from HolographicHat/main
Use exclusive access instead of renaming
2023-03-15 14:27:36 +08:00
Xhichn
d6099f10ad Merge branch 'DGP-Studio:main' into main 2023-03-15 13:49:00 +08:00
Xhichn
f837b39ecf Refresh gacha log by stoken is unsupported for oversea players currently 2023-03-15 13:43:03 +08:00
HolographicHat
770cabce81 Update ProcessInterop.cs 2023-03-15 00:23:14 +08:00
HolographicHat
cec4b2a23a Use exclusive access instead of renaming 2023-03-14 15:53:28 +00:00
DismissedLight
c60748626a Create .github/dependabot.yml 2023-03-14 16:33:03 +08:00
Xhichn
51d8ee5d6e Add some auth endpoints 2023-03-14 16:29:51 +08:00
Xhichn
64c020a5fb Support get avatars info from hoyolab dev calc & add some apis 2023-03-14 16:02:10 +08:00
Xhichn
934fb75fa5 Merge branch 'Globalization' 2023-03-13 21:26:18 +08:00
DismissedLight
85b9fc1a08 fix setting restart 2023-03-13 21:01:55 +08:00
Xhichn
314f86966a Remove unnecessary cookie method 2023-03-13 19:36:28 +08:00
DismissedLight
5aba2eab97 support multi-clienting 2023-03-13 19:13:35 +08:00
Xhichn
fdf2311f0c Support website login for adding hoyoverse account 2023-03-13 12:36:38 +08:00
Xhichn
b0b3553d0c Support daily notes for global server player 2023-03-13 12:16:38 +08:00
Xhichn
388cdf1848 Support sync from hoyolab my characters 2023-03-13 11:41:18 +08:00
xhichn
22f4f411ea Support spiral abyss info request for global server players 2023-03-12 23:26:00 +08:00
xhichn
b89c66fd6b Support adding hoyoverse accounts by cookie input 2023-03-12 23:25:25 +08:00
xhichn
0295d4fc22 Add client config and DS salt for oversea server request 2023-03-12 23:21:52 +08:00
xhichn
d85811ee99 Add some hoyolab endpoints 2023-03-12 23:20:09 +08:00
DismissedLight
dc8d7ac913 Merge pull request #598 from GashByte/main
Add 'Mult-Start' & fix a start game bug
2023-03-12 22:32:23 +08:00
x3zF Love U
a832ea96ea repair 'LaunchMultipleInstancesGameAsync' 2023-03-12 22:24:29 +08:00
x3zF Love U
29582efaee reduce the Task waiting time of mult-start 2023-03-12 18:15:40 +08:00
x3zF Love U
6caeb1d238 Add 'Mult-Start' & fix a start game bug 2023-03-12 16:32:59 +08:00
DismissedLight
439a8dd475 Merge pull request #594 from GashByte/main
add 'Copy' Button to 'SettingPage - Device Id'
2023-03-11 16:04:56 +08:00
x3zF Love U
60c7e65abb add 'Copy' Button to 'SettingPage - Device Id' 2023-03-11 15:42:21 +08:00
DismissedLight
5c0984b064 rescale assets [skip ci] 2023-03-11 13:19:45 +08:00
DismissedLight
9b8cce30a7 fix package logo 2023-03-11 13:02:26 +08:00
DismissedLight
463a842cb1 update assets 2023-03-10 21:48:14 +08:00
DismissedLight
8ee2908633 launch screenshot folder 2023-03-10 20:32:49 +08:00
DismissedLight
c71ecd89e3 support game resource download switch 2023-03-07 16:28:00 +08:00
DismissedLight
128b985609 fix game resource convert 2023-03-06 11:29:53 +08:00
DismissedLight
b1a03662d9 launch game impl switch monitor 2023-03-05 18:47:36 +08:00
DismissedLight
706fb3404b refactor localization 2023-03-03 16:49:27 +08:00
DismissedLight
63e1273d6a Merge pull request #582 from DGP-Studio/l10n_main
New Crowdin updates
2023-03-03 15:33:45 +08:00
Masterain
400a3b99ae New translations SH.resx (English) 2023-03-02 23:31:00 -08:00
Masterain
c0c1774db8 New translations SH.resx (Chinese Traditional) 2023-03-02 23:30:59 -08:00
Masterain
099fbf4052 New translations SH.resx (Korean) 2023-03-02 23:30:58 -08:00
Masterain
5c4405e545 Update Crowdin configuration file 2023-03-02 23:30:30 -08:00
DismissedLight
ac68579d6a fix #567 2023-02-28 12:35:49 +08:00
DismissedLight
f3387bb8c8 fix #566 2023-02-28 11:52:43 +08:00
DismissedLight
e50c1b9184 monster wiki fullfilled 2023-02-25 19:12:38 +08:00
DismissedLight
54535cd822 Merge branch 'main' of https://github.com/DGP-Studio/Snap.Hutao 2023-02-24 13:54:47 +08:00
DismissedLight
ece2737633 avatar & weapon level slider 2023-02-24 13:54:43 +08:00
Masterain
4b012424b9 Update bug-report.yml 2023-02-23 11:22:24 -08:00
DismissedLight
6d66af6c84 Merge branch 'main' of https://github.com/DGP-Studio/Snap.Hutao 2023-02-20 19:39:21 +08:00
DismissedLight
027874d4cf adjust avatar reliquary score weight 2023-02-20 19:38:48 +08:00
Masterain
3001936ab3 Update README.md
- optimze image size
- update i18n URL
2023-02-20 01:03:29 -08:00
DismissedLight
400e097fa7 support language switch 2023-02-20 16:04:23 +08:00
DismissedLight
ffce055d75 Merge pull request #539 from DGP-Studio/l10n_main
New Crowdin updates
2023-02-20 14:40:11 +08:00
Masterain
a820c41ad7 New translations SH.resx (Korean) 2023-02-19 22:34:43 -08:00
Masterain
485010c895 New translations SH.resx (English) 2023-02-19 22:34:42 -08:00
Masterain
5feddf566e New translations SH.resx (Chinese Traditional) 2023-02-19 22:34:41 -08:00
Masterain
cdfe306b16 New translations SH.resx (Russian) 2023-02-19 22:34:40 -08:00
Masterain
189c61ddea New translations SH.resx (Japanese) 2023-02-19 22:34:39 -08:00
Masterain
0ac7d6e94d Update PublishDistribution.yml 2023-02-18 02:18:40 -08:00
DismissedLight
042e3b5747 fix #527 2023-02-18 12:51:42 +08:00
DismissedLight
0372f1a8e3 fix #525 2023-02-18 12:50:10 +08:00
DismissedLight
08a630fd43 Merge branch 'main' of https://github.com/DGP-Studio/Snap.Hutao 2023-02-17 13:50:07 +08:00
DismissedLight
3781cad896 make all type internal 2023-02-17 13:49:37 +08:00
Masterain
78bc2f09d5 Create SECURITY.md 2023-02-15 02:17:43 -08:00
DismissedLight
8c52921b3e refactor codebase 2023-02-14 14:30:59 +08:00
DismissedLight
605aecb216 remove strings 2023-02-13 14:51:18 +08:00
DismissedLight
e3e124d52f Merge pull request #500 from DGP-Studio/l10n_main
New Crowdin updates
2023-02-13 14:48:40 +08:00
Masterain
0866e1947b New translations SH.resx (English) 2023-02-12 22:47:53 -08:00
Masterain
dbcb7dd879 New translations SH.resx (Chinese Traditional) 2023-02-12 22:47:52 -08:00
Masterain
44687dd87b New translations SH.resx (English) 2023-02-12 21:59:02 -08:00
Masterain
1a209f6c8d New translations SH.resx (Chinese Traditional) 2023-02-12 21:59:01 -08:00
Masterain
8633b78725 New translations SH.resx (Russian) 2023-02-12 21:59:00 -08:00
Masterain
2e20701c6c New translations SH.resx (Japanese) 2023-02-12 21:58:59 -08:00
DismissedLight
9c4d4cda1e fix localization 2023-02-13 13:51:15 +08:00
DismissedLight
a32481980b code style [skip ci] 2023-02-12 16:18:17 +08:00
DismissedLight
b5577e76a5 add hint for #493 2023-02-12 16:15:30 +08:00
DismissedLight
6c2ff9b3c9 fix process name detection 2023-02-11 18:32:00 +08:00
DismissedLight
818365b816 fix #486 2023-02-11 12:32:00 +08:00
DismissedLight
d7dd8c6f0d code style 2023-02-10 16:07:01 +08:00
DismissedLight
faad104e0e fix import thread issue 2023-02-10 11:57:55 +08:00
DismissedLight
2f6ee75f80 Merge pull request #479 from DGP-Studio/l10n_main
New Crowdin updates
2023-02-09 20:32:35 +08:00
Masterain
34f319bdac New translations SH.resx (English) 2023-02-09 04:32:02 -08:00
Masterain
f242808768 New translations SH.resx (Chinese Traditional) 2023-02-09 04:32:01 -08:00
DismissedLight
98f18f91d8 use WScript.Shell to run scheduled tasks 2023-02-09 19:23:24 +08:00
Masterain
0fd1f6959a New translations SH.resx (English) 2023-02-08 20:27:42 -08:00
Masterain
ba46ed64db New translations SH.resx (Chinese Traditional) 2023-02-08 20:27:41 -08:00
Masterain
0fb8312605 New translations SH.resx (Russian) 2023-02-08 20:27:40 -08:00
Masterain
b722554950 New translations SH.resx (Japanese) 2023-02-08 20:27:39 -08:00
DismissedLight
165c33ef2c fix translation 2023-02-09 12:26:42 +08:00
Masterain
54bb3d634b New translations SH.resx (English) 2023-02-08 20:26:02 -08:00
Masterain
629975480a New translations SH.resx (Chinese Traditional) 2023-02-08 20:26:01 -08:00
Masterain
5a36448c23 New translations SH.resx (Russian) 2023-02-08 20:26:00 -08:00
Masterain
80a6aaab46 New translations SH.resx (Japanese) 2023-02-08 20:25:58 -08:00
1710 changed files with 93936 additions and 38545 deletions

12
.config/dotnet-tools.json Normal file
View File

@@ -0,0 +1,12 @@
{
"version": 1,
"isRoot": true,
"tools": {
"cake.tool": {
"version": "4.0.0",
"commands": [
"dotnet-cake"
]
}
}
}

4
.github/FUNDING.yml vendored
View File

@@ -1,8 +1,8 @@
# These are supported funding model platforms
github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
github: [DGP-Studio]
patreon: # Replace with a single Patreon username
open_collective: # Replace with a single Open Collective username
open_collective: snaphutao
ko_fi: # Replace with a single Ko-fi username
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry

View File

@@ -0,0 +1,110 @@
name: 问题反馈
description: 通过这个议题向开发团队反馈你发现的程序中的问题
title: "[Bug]: 在这里填写一个合适的标题"
labels: ["BUG", "priority:none"]
body:
- type: markdown
attributes:
value: |
> **请在上方以一句话简短地概括你的问题作为标题**
> 请按下方的要求填写完整的问题表单,以便我们更快的定位问题。
- type: checkboxes
id: checklist
attributes:
label: 检查清单
description: |-
请确保你已完整执行检查清单,否则你的议题可能会被忽略
options:
- label: 我已阅读 Snap Hutao 文档中的[常见问题](https://hut.ao/advanced/FAQ.html)和[常见程序异常](https://hut.ao/advanced/exceptions.html),我的问题没有在文档中得到解答
required: true
- label: 我知道文档站的导航栏中有**搜索功能**,且已经搜索过相关关键词
required: true
- label: 我的问题不是[已完成](https://github.com/DGP-Studio/Snap.Hutao/issues?q=is%3Aopen+is%3Aissue+label%3A%E5%B7%B2%E5%AE%8C%E6%88%90)的问题也不是一个别人已发布的**重复的**问题
required: true
- type: input
id: winver
attributes:
label: Windows 版本
description: |
`Win+R` 输入 `winver` 回车后在打开的窗口第二行可以找到
placeholder: 22000.556
validations:
required: true
- type: input
id: shver
attributes:
label: Snap Hutao 版本
description: 在应用标题,应用程序的反馈中心界面中可以找到
placeholder: 1.4.15.0
validations:
required: true
- type: input
id: deviceid
attributes:
label: 设备 ID
description: |
在胡桃工具箱的反馈中心界面,你可以找到并复制你的设备 ID
如果你的问题涉及程序崩溃,请填写该项,这将有助于我们定位问题
如果你的程序已经无法启动,请下载并运行[诊断工具](https://github.com/DGP-Automation/ISSUE_TEMPLATES/releases/download/diagnosis_tools/Snap.Hutao.DiagTools.exe),它将显示你的设备 ID
validations:
required: false
- type: dropdown
id: user-set-category
attributes:
label: 问题分类
description: 请设置一个你认为合适的分类,这将帮助我们快速定位问题
options:
- 安装和环境
- 成就管理
- 角色信息面板
- 游戏启动器
- 实时便笺
- 养成计算
- 文件缓存
- 祈愿记录
- 玩家查询
- 胡桃数据库
- 用户界面
- 胡桃云
- 胡桃帐号
- 签到
- Wiki
- 公告
- 其它
validations:
required: true
- type: textarea
id: what-happened
attributes:
label: 发生了什么?
description: |
详细的描述问题发生前后的行为,以便我们解决问题。**如果你的问题涉及程序崩溃,你应当检查 Windows 事件查看器,并将相关的 `.Net 错误`详情附上**
如果你无法找到该日志,请下载并运行[诊断工具](https://github.com/DGP-Automation/ISSUE_TEMPLATES/releases/download/diagnosis_tools/Snap.Hutao.DiagTools.exe),它将转储问题日志至工具运行目录中的 `Snap.Hutao Error Log.txt`
validations:
required: true
- type: textarea
id: what-expected
attributes:
label: 你期望发生的行为?
description: 详细的描述你期望发生的行为,突出与目前(可能不正确的)行为的不同
validations:
required: false
- type: checkboxes
id: checklist-final
attributes:
label: 最后一步
description: 回顾你的回答
options:
- label: 我认为上述的描述已经足以详细,以允许开发人员能复现该问题
required: true

View File

@@ -1,7 +1,7 @@
name: 功能请求
description: 告诉我们你的想法
name: 功能请求
description: 通过这个议题来向开发团队分享你的想法
title: "[Feat]: 在这里填写一个合适的标题"
labels: ["功能"]
labels: ["功能", "needs-triage", "priority:none"]
assignees:
- Lightczx
body:
@@ -14,7 +14,7 @@ body:
id: back
attributes:
label: 背景与动机
description: 添加此功能的理由
description: 添加此功能的理由,如果你想要实现多个功能,请分别发起多个单独的议题
validations:
required: true

View File

@@ -1,5 +1,5 @@
name: 网络问题
description: 当网络问题影响到你的程序使用时
description: 通过这个议题来反馈网络问题
title: "[Network]: 在这里填写一个合适的标题"
labels: ["area-Network"]
assignees:
@@ -19,10 +19,10 @@ body:
description: |
停下!
**在填写下面的问题之前请先使用我们的网络诊断工具**
**这个工具将会生成一份报告,请将这份报告拖入下面的框中,让其与你的工单一起被上传提交**
**这个工具将会生成一份报告并加密压缩,请将这份报告拖入下面的框中,让其与你的工单一起被上传提交**
- 你可以点击下面的链接以下载网络诊断工具:
- [胡桃资源站](https://d.hut.ao/d/tools/network-diagnosis-hutao.exe)
- [GitHub](https://github.com/Masterain98/network-diagnosis-tool/releases/latest/download/network-diagnosis-hutao.exe)
- [GitHub](https://github.com/Masterain98/network-diagnosis-tool/releases/latest/download/SH-Network-Diagnosis.exe)
- [极狐 GitLab](https://jihulab.com/DGP-Studio/network-diagnosis-tool/-/jobs/11144011/artifacts/raw/SH-Network-Diagnosis.exe?inline=false)
validations:
required: true
@@ -60,7 +60,6 @@ body:
- 完全无法连接服务器
- 连接速度慢
- 获取到了不正确的页面或数据
- 客户端提示 429 Error
- 客户端图片下载错误
- 客户端图片预下载错误
- 其它
@@ -74,5 +73,12 @@ body:
description: 如果你在上一项中选择了`其它`或者你有更多信息需要提供,请在这里写下来
validations:
required: false
- type: checkboxes
id: checklist-final
attributes:
label: 最后一步
description: 检查你提交的议题
options:
- label: 我已经在该议题中上传了包含网络诊断报告的加密压缩包
required: true

View File

@@ -0,0 +1,110 @@
name: BUG Report [English Form]
description: Tell us what issue you get
title: "[ENG][Bug]: Place your Issue Title Here"
labels: ["BUG", "priority:none"]
body:
- type: markdown
attributes:
value: |
> **Please use one sentence to briefly describe your issue as title above**
> Please follow the instruction below to fill the form, so we can locate the issue quickly
- type: checkboxes
id: checklist
attributes:
label: Checklist
description: |-
Please complete the checklist, otherwise your issue may be ignored
options:
- label: I have read [FAQ page](https://hut.ao/advanced/FAQ.html) and [Exception page](https://hut.ao/advanced/exceptions.html) in Snap Hutao document, and my issue is not answered
required: true
- label: I and tried **search feature** in Snap Hutao document site, and no associated article
required: true
- label: My issue is not a [finished issue](https://github.com/DGP-Studio/Snap.Hutao/issues?q=is%3Aopen+is%3Aissue+label%3A%E5%B7%B2%E5%AE%8C%E6%88%90), and it's not a duplicated issue
required: true
- type: input
id: winver
attributes:
label: Windows Version
description: |
Use `Win+R` and input `winver`, Windows build version is usually at the second line
placeholder: e.g. 22000.556
validations:
required: true
- type: input
id: shver
attributes:
label: Snap Hutao Version
description: You can find the version in application's title bar
placeholder: e.g. 1.4.15.0
validations:
required: true
- type: input
id: deviceid
attributes:
label: Device ID
description: |
In Snap Hutao's Feedback Center, you can find and copy your device ID
If your issue is about program crash, please fill this so we can dump the log and locate the source easier
If your program cannot startup, please download and run [Diagnosis Tool](https://github.com/DGP-Automation/ISSUE_TEMPLATES/releases/download/diagnosis_tools/Snap.Hutao.DiagTools.exe), it will shows your device ID.
validations:
required: false
- type: dropdown
id: user-set-category
attributes:
label: Issue Category
description: Please select the most associated category of your issue
options:
- Installation and Environment
- Achievement
- My Character
- Game Launcher
- Realtime Note
- Develop Plan
- File Cache
- Wish Export
- Game Record
- Hutao Database
- User Interface
- Snap Hutao Cloud
- Snap Hutao Account
- Checkin
- Wiki
- Announcement
- Other
validations:
required: true
- type: textarea
id: what-happened
attributes:
label: What Happened?
description: |
Describe your issue in detail to help us identify the issue. **If your issue is about program crash, you should check Windows Event Viewer, and attach associated `.Net Error` details here**If your program cannot startup, please download and run [this PowerShell script](https://github.com/DGP-Studio/ISSUE_TEMPLATES/releases/download/get_device_id/GetHutaoDeviceId.ps1), it will shows your device ID.
If you cannot find it, please download and run [Diagnosis Tool](https://github.com/DGP-Automation/ISSUE_TEMPLATES/releases/download/diagnosis_tools/Snap.Hutao.DiagTools.exe), it will dump the error log to `Snap.Hutao Error Log.txt` in the working directory of the tool.
validations:
required: true
- type: textarea
id: what-expected
attributes:
label: What is expected?
description: Describe expected outcome, highlight the difference with current outcome
validations:
required: false
- type: checkboxes
id: checklist-final
attributes:
label: Last Step
description: Review your Form
options:
- label: I believe the description above is detail enough to allow developers to reproduce the issue
required: true

View File

@@ -0,0 +1,27 @@
name: Feature Request [English Form]
description: Tell us about your thought
title: "[Feat]: Place your title here"
labels: ["功能", "needs-triage", "priority:none"]
assignees:
- Lightczx
body:
- type: markdown
attributes:
value: |
Please fill the form below
- type: textarea
id: back
attributes:
label: Background & Motivation
description: Reason why this feature is needed. If multiple features is requested, please open multiple issues for each of them.
validations:
required: true
- type: textarea
id: req
attributes:
label: Detail of the Feature
description: Descripbe the feaure in detail. The more detailed and convincing the desciprtion the more likyly feature will be accepted.
validations:
required: true

View File

@@ -0,0 +1,79 @@
name: Network Issue [English Form]
description: Submit this issue form when network issue affect your client experience
title: "[Network]: Place your title here"
labels: ["area-Network"]
assignees:
- Lightczx
- Masterain98
body:
- type: markdown
attributes:
value: |
**Please use one sentence to briefly describe your issue as title above**
**Please follow the instruction below to fill the form, so we can locate the issue quickly**
- type: textarea
id: network-diagnosis-report
attributes:
label: Submit Your Network Diagnosis Report
description: |
STOP HERE!
**Please run our network diagnosis tool before filling this form**
**The diagnosis tool will generate a report and add it into a password-protected archive. Drag the `.zip` archive to the box below so it can be uploaded.**
- Use the following link to download the Network Diagnosis Tool:
- [GitHub](https://github.com/Masterain98/network-diagnosis-tool/releases/latest/download/SH-Network-Diagnosis.exe)
- [JIHu GitLab](https://jihulab.com/DGP-Studio/network-diagnosis-tool/-/jobs/11144011/artifacts/raw/SH-Network-Diagnosis.exe?inline=false)
validations:
required: true
- type: input
id: user-geo-location
attributes:
label: Your Geographical Location
description: |
Description accurate to country
placeholder: USA
validations:
required: true
- type: input
id: user-isp
attributes:
label: Your ISP Name
description: |
Name of your Internet service provider
placeholder: AT&T
validations:
required: true
- type: dropdown
id: user-issue-category
attributes:
label: Issue Category
description: Select an issue category
options:
- Cannot connect to server completely
- Slow spped
- Fetched wrong page or data
- Image download error in the client
- Image set pre-download error (client welcome wizard process)
- Other
validations:
required: true
- type: textarea
id: what-happened
attributes:
label: Your Issue (cont.)
description: If you selected `Other` in previous dropdown, please explain your issue in detail here.
validations:
required: false
- type: checkboxes
id: checklist-final
attributes:
label: One Last Step
description: Check your issue form
options:
- label: I confirm I have attached the network diagnosis report archive in the issue
required: true

37
.github/ISSUE_TEMPLATE/MGMT-publish.yml vendored Normal file
View File

@@ -0,0 +1,37 @@
name: Publish Process
description: FOR ADMIN USE ONLY. WILL CAUSE A BAN IF NO PERMISSION.
title: "[Publish]: Version 1.9.98"
labels: ["Publish"]
assignees:
- Lightczx
body:
- type: textarea
id: main-body
attributes:
label: Publish Process
value: |
## 创建版本
- [ ] 同步一次 [Crowdin](https://crowdin.com/project/snap-hutao) 翻译
- [ ] 发布 RC 版本Optional
- [ ] 合并入主分支
- [ ] 整理更新内容,等待翻译
- [ ] 在 [Snap.Hutao.Docs@next-patch](https://github.com/DGP-Studio/Snap.Hutao.Docs/tree/next-patch) 分支更新文档并直接开 PR
- [ ] 更新日志
- [ ] 功能文档更新
***
- [ ] 主分支合并入 release 分支
- [ ] 等待 Release 自动发布
- [ ] 检查极狐是否同步完成 Release
- [ ] 通知用户
- type: checkboxes
id: checklist-final
attributes:
label: Final Check
description: Understand what you are doing
options:
- label: I understand that I will get banned from repository if I don't have permission to use this template
required: true

View File

@@ -1,65 +0,0 @@
name: 圣遗物评分细则建议
description: 为圣遗物评分规则提供你的想法
title: "[Artifact Rating] 请在这里填写角色名称"
labels: area-AvatarInfo
assignees: Lightczx
body:
- type: markdown
attributes:
value: |
请按下方的要求填写完整的问题表单
- type: textarea
id: your-suggested-rule
attributes:
label: 评分细则
description: |
请修改下方表格中的**角色名称**和**各属性权重**,并在表格后添加合适的说明
你可以点击预览按钮preview来查看表格最终会显示出的内容
value: |
|项目|评分权重(0-100)|
|-----|-----|
|角色名称| 旅行者 |
|生命值| 10 |
|攻击力| 10 |
|防御力| 10 |
|暴击率| 10 |
|暴击伤害| 10 |
|元素精通| 10 |
|充能效率| 10 |
|治疗加成| 10 |
|元素伤害| 10 |
validations:
required: true
- type: dropdown
id: no-duplicated-dropdown
attributes:
label: 我确认当前没有其它的该角色的圣遗物评分细则建议
description: 如果有,你应该在已有的工单内回复以提出你的建议
options:
-
-
validations:
required: true
- type: dropdown
id: title-filled-dropdown
attributes:
label: 我确认已设置合适的标题
options:
-
-
validations:
required: true
- type: dropdown
id: all-filled-dropdown
attributes:
label: 我确认已完整填写表格
options:
-
-
validations:
required: true

View File

@@ -1,109 +0,0 @@
name: 问题反馈
description: 告诉我们你的问题
title: "[Bug]: 在这里填写一个合适的标题"
body:
- type: markdown
attributes:
value: |
> **请在上方设置一个合适的工单标题**
> 请按下方的要求填写完整的问题表单,以便我们更快的定位问题。
- type: checkboxes
id: checklist
attributes:
label: 检查清单
description: |-
请确保你已完整执行检查清单,否则你的 Issue 可能会被忽略
options:
- label: 我已完整阅读[胡桃工具箱文档](https://hut.ao/FAQ/),并认为我的问题没有在文档中得到解答
required: true
- label: 我使用的操作系统是[受支持的版本](https://hut.ao/quick-start.html#%E6%9C%80%E4%BD%8E%E7%B3%BB%E7%BB%9F%E8%A6%81%E6%B1%82)
required: true
- label: 我确认没有其他人已经提出了相同或类似的问题
required: true
- label: 我会在下方的表单中附上充足的信息以帮助开发人员确定问题
required: true
- type: input
id: winver
attributes:
label: Windows 版本
description: |
`Win+R` 输入 `winver` 回车后在打开的窗口第二行可以找到
placeholder: 22621.1105
validations:
required: true
- type: input
id: shver
attributes:
label: Snap Hutao 版本
description: 在应用标题,应用程序的设置界面中靠下的位置可以找到
placeholder: 1.3.13.0
validations:
required: true
- type: input
id: deviceid
attributes:
label: 设备 ID
description: |
在胡桃工具箱的设置界面,你可以找到并复制你的设备 ID
如果你的问题涉及程序崩溃,请填写该项,这将有助于我们定位问题
validations:
required: false
- type: dropdown
id: user-set-category
attributes:
label: 问题分类
description: 请设置一个你认为合适的分类,这将帮助我们快速定位问题
options:
- 安装和环境
- 成就管理
- 角色信息面板
- 游戏启动器
- 实时便笺
- 养成计算器
- 用户面板
- 文件缓存
- 祈愿记录
- 玩家查询
- 胡桃数据库
- 用户界面
- 签到
- Wiki
- 公告
- 其它
validations:
required: true
- type: textarea
id: what-happened
attributes:
label: 发生了什么?
description: 详细的描述问题发生前后的行为,以便我们解决问题
validations:
required: true
- type: textarea
id: what-expected
attributes:
label: 你期望发生的行为?
description: 详细的描述你期望发生的行为,突出与目前(可能不正确的)行为的不同
validations:
required: false
- type: textarea
id: logs
attributes:
label: 相关的崩溃日志
description: |
在资源管理器中直接输入`%userprofile%/Documents/Hutao`即可进入文件夹
如果应用程序崩溃了,请将`log.db` 文件上传,文件包含了敏感信息,谨慎上传
如果这个表单是关于导入祈愿记录的问题,请包含你导入的`Json`文件
> **务必不要上传`user.db`文件,该文件包含你的帐号敏感信息**

View File

@@ -1,5 +1,14 @@
blank_issues_enabled: false
contact_links:
- name: 胡桃工具箱 - 官方文档
- name: Snap Hutao 官方文档 / Snap Hutao Document
url: https://hut.ao
about: 请在提出问题前阅读文档
about: 请在提出问题前阅读文档 / Read the document before submit the issue
- name: 常见问题 / FAQ
url: https://hut.ao/advanced/FAQ.html
about: 常见的用户提出的问题 / Common questions asked by users
- name: 常见程序异常 / Common Program Exceptions
url: https://hut.ao/advanced/exceptions.html
about: 用户通常能自行解决这些问题 / Users may solve these problems by themselves

16
.github/dependabot.yml vendored Normal file
View File

@@ -0,0 +1,16 @@
# To get started with Dependabot version updates, you'll need to specify which
# package ecosystems to update and where the package manifests are located.
# Please see the documentation for all configuration options:
# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
version: 2
updates:
- package-ecosystem: "nuget"
directory: "/src/Snap.Hutao" # Snap.Hutao.csproj
target-branch: "develop"
schedule:
interval: "weekly"
groups:
packages:
patterns:
- "*"

View File

@@ -12,40 +12,9 @@ jobs:
runs-on: ubuntu-latest
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- name: Checkout Repo
uses: actions/checkout@v3
# Download Assets
- name: Download Release
timeout-minutes: 5
uses: robinraju/release-downloader@v1.7
with:
repository: "DGP-Studio/Snap.Hutao"
latest: true
fileName: "*.zip"
out-file-path: ./release-download
# Upload to Drive
- name: Upload Drive
timeout-minutes: 15
env:
RCCONF: ${{ secrets.RCCONF }}
run: |
curl https://rclone.org/install.sh | sudo bash
mkdir -p ~/.config/rclone/
cat << EOF > ~/.config/rclone/rclone.conf
$RCCONF
EOF
rclone copy ./release-download/* dgpODCN:/releases/
# Purge Patch System Cache
- name: Purge Patch
env:
PATCH_HOSTS: ${{ secrets.PATCH_HOSTS }}
PURGE_TOKEN: ${{ secrets.PURGE_TOKEN }}
PURGE_URL: ${{ secrets.PURGE_URL }}
run: |
sudo echo "$PATCH_HOSTS" | sudo tee -a /etc/hosts
curl --header "Authorization: token $PURGE_TOKEN" $PURGE_URL
curl -X PATCH $PURGE_URL

66
.github/workflows/alpha.yml vendored Normal file
View File

@@ -0,0 +1,66 @@
name: Snap Hutao Alpha
on:
workflow_dispatch:
push:
branches:
- main
- develop
paths-ignore:
- '.gitattributes'
- '.github/**'
- '.gitignore'
- '.gitmodules'
- '**.md'
- 'LICENSE'
- '**.yml'
jobs:
build:
runs-on: self-hosted
steps:
- name: Checkout
uses: actions/checkout@v4.1.1
- name: Setup .NET
uses: actions/setup-dotnet@v4.0.0
with:
dotnet-version: 8.0
- name: Cake
id: cake
shell: pwsh
run: dotnet tool restore && dotnet cake
env:
VERSION_API_TOKEN: ${{ secrets.VERSION_API_TOKEN }}
- name: Sign Msix
shell: pwsh
run: |
[System.Convert]::FromBase64String("${{ secrets.CERTIFICATE }}") | Set-Content -AsByteStream temp.pfx
signtool.exe sign /debug /v /a /fd SHA256 /f temp.pfx /p ${{ secrets.PW }} ${{ github.workspace }}\src\output\Snap.Hutao.Alpha-${{ steps.cake.outputs.version }}.msix
- name: Upload signed msix
if: success()
uses: actions/upload-artifact@v3
with:
name: Snap.Hutao.Alpha-${{ steps.cake.outputs.version }}
path: ${{ github.workspace }}/src/output/Snap.Hutao.Alpha-${{ steps.cake.outputs.version }}.msix
- name: Add summary
if: success()
shell: pwsh
run: |
$summary = "
> [!WARNING]
> 该版本是由 CI 程序自动打包生成的 `Alpha` 测试版本,**仅供开发者测试使用**
> [!TIP]
> 普通用户请[点击这里](https://github.com/DGP-Studio/Snap.Hutao/releases/latest/)下载最新的稳定版本
> [!IMPORTANT]
> 请注意,从 Snap Hutao Alpha 2023.12.21.3 开始,我们将使用全新的 CI 证书,原有的 Snap.Hutao.CI.cer 将在几天后过期停止使用。
>
> 请安装 [DGP_Studio_CA.crt](https://github.com/DGP-Automation/Hutao-Auto-Release/releases/download/certificate-ca/DGP_Studio_CA.crt) 以安装测试版安装包
"
echo $summary >> $Env:GITHUB_STEP_SUMMARY

16
.github/workflows/close_stale.yml vendored Normal file
View File

@@ -0,0 +1,16 @@
name: 'Close stale issues and PRs'
on:
schedule:
- cron: '30 1 * * *'
jobs:
stale:
runs-on: ubuntu-latest
steps:
- uses: actions/stale@v9
with:
any-of-labels: 'needs-more-info,需要更多信息'
stale-issue-message: 'This issue is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 3 days.'
days-before-stale: 7
days-before-close: 3
close-issue-reason: not_planned

20
.github/workflows/issue_similarity.yml vendored Normal file
View File

@@ -0,0 +1,20 @@
name: Issues Similarity Analysis
on:
issues:
types: [opened, edited]
jobs:
similarity-analysis:
runs-on: ubuntu-latest
steps:
- name: analysis
uses: actions-cool/issues-similarity-analysis@v1
with:
filter-threshold: 0.5
comment-title: '### Probable Similar Topics'
title-excludes: '[Publish]:,[Bug]:,[Feat]:,[Network]:,[ENG]'
comment-body: '${index}. ${similarity} #${number}'
show-footer: false
show-mentioned: true
since-days: 365

View File

@@ -0,0 +1,26 @@
name: 'Lock Threads'
on:
schedule:
- cron: '0 0 * * *'
workflow_dispatch:
permissions:
issues: write
pull-requests: write
discussions: write
concurrency:
group: lock-threads
jobs:
action:
runs-on: ubuntu-latest
steps:
- uses: dessant/lock-threads@v5
with:
issue-inactive-days: '30'
issue-comment: 'This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related topic.'
issue-lock-reason: 'resolved'
process-only: 'issues'
log-output: false

20
.gitignore vendored
View File

@@ -1,19 +1,21 @@
desktop.ini
*.csproj.user
*.pubxml
*.DotSettings.user
.vs/
.idea/
src/Snap.Hutao/_ReSharper.Caches
src/Snap.Hutao/Snap.Hutao/bin/
src/Snap.Hutao/Snap.Hutao/obj/
src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.Designer.cs
src/Snap.Hutao/Snap.Hutao/Snap.Hutao_TemporaryKey.pfx
src/Snap.Hutao/Snap.Hutao.Installer/bin/
src/Snap.Hutao/Snap.Hutao.Installer/obj/
src/Snap.Hutao/Snap.Hutao.Installer/Properties/PublishProfiles/FolderProfile.pubxml.user
src/Snap.Hutao/Snap.Hutao.SourceGeneration/bin/
src/Snap.Hutao/Snap.Hutao.SourceGeneration/obj/
src/Snap.Hutao/Snap.Hutao.Win32/bin/
src/Snap.Hutao/Snap.Hutao.Win32/obj/
src/Snap.Hutao/Snap.Hutao.Win32/obj/
src/Snap.Hutao/Snap.Hutao.Test/bin/
src/Snap.Hutao/Snap.Hutao.Test/obj/
src/Snap.Hutao/Snap.Hutao/Properties/PublishProfiles/FolderProfile.pubxml.user

76
.gitlab-ci.yml Normal file
View File

@@ -0,0 +1,76 @@
stages:
- fetch
- release
- refresh
Fetch:
stage: fetch
rules:
- if: $CI_COMMIT_TAG
tags:
- us3
script:
- apt-get update -qy
- apt-get install -y curl jq
- RELEASE_INFO=$(curl -sSL "https://api.github.com/repos/$CI_PROJECT_PATH/releases/latest")
- ASSET_URL=$(echo "$RELEASE_INFO" | jq -r '.assets[] | select(.name | endswith(".msix")) | .browser_download_url')
- SHA256SUMS_URL=$(echo "$RELEASE_INFO" | jq -r '.assets[] | select(.name == "SHA256SUMS") | .browser_download_url')
- curl -LJO "$ASSET_URL"
- curl -LJO "$SHA256SUMS_URL"
- FILE_NAME=$(basename "$ASSET_URL")
- SHA256SUMS_NAME=$(basename "$SHA256SUMS_URL")
- echo "File name at script stage is $FILE_NAME"
- echo "SHA256SUMS name at script stage is $SHA256SUMS_NAME"
- echo "THIS_FILE_NAME=$FILE_NAME" >> next.env
- echo "THIS_SHA256SUMS_NAME=$SHA256SUMS_NAME" >> next.env
after_script:
- echo "Current Job ID is $CI_JOB_ID"
- echo "THIS_JOB_ID=$CI_JOB_ID" >> next.env
artifacts:
paths:
- "*.msix"
- "SHA256SUMS"
expire_in: 180 days
reports:
dotenv: next.env
release:
stage: release
image: registry.gitlab.com/gitlab-org/release-cli:latest
rules:
- if: $CI_COMMIT_TAG
needs:
- job: Fetch
artifacts: true
variables:
TAG: '$CI_COMMIT_TAG'
script:
- echo "Create Release $TAG"
- echo "$THIS_JOB_ID"
- echo "$THIS_FILE_NAME"
release:
name: '$TAG'
tag_name: '$TAG'
ref: '$TAG'
description: 'Release $TAG by CI'
assets:
links:
- name: "$THIS_FILE_NAME"
url: "https://$CI_SERVER_SHELL_SSH_HOST/$CI_PROJECT_PATH/-/jobs/$THIS_JOB_ID/artifacts/raw/$THIS_FILE_NAME?inline=false"
link_type: package
- name: "$THIS_SHA256SUMS_NAME"
url: "https://$CI_SERVER_SHELL_SSH_HOST/$CI_PROJECT_PATH/-/jobs/$THIS_JOB_ID/artifacts/raw/$THIS_SHA256SUMS_NAME?inline=false"
link_type: other
- name: "artifact_archive"
url: "https://$CI_SERVER_SHELL_SSH_HOST/$CI_PROJECT_PATH/-/jobs/$THIS_JOB_ID/artifacts/download?file_type=archive"
link_type: other
Refresh:
stage: refresh
rules:
- if: $CI_COMMIT_TAG
needs:
- job: release
script:
- apt-get install -y curl
- curl -X PATCH "$PURGE_URL"

13
CODE_OF_CONDUCT.md Normal file
View File

@@ -0,0 +1,13 @@
# Code of Conduct
> Snap Hutao is adapting the following rules to keep the community safety.
When participating in our open source community, we want all members to respect and support each other. To ensure the comfort and safety of our community members, we have established the following code of conduct:
1. Respect diversity and inclusivity. We welcome people from different countries, regions, genders, sexual orientations, abilities, religions, and cultural backgrounds to participate in our community, and we encourage respect for all differences.
2. Prohibit discrimination and harassment. We do not tolerate any form of discrimination, harassment, personal attacks, or insults. This includes but is not limited to race, gender, sexual orientation, age, religion, nationality, cultural background, physical and mental health status.
3. Respect privacy and personal information. We protect the privacy and personal information of community members and prohibit the public disclosure of any private information. If you need to disclose certain information, please make sure you have obtained the relevant person's permission.
4. Keep honesty and transparency. We expect community members to maintain honesty and transparency and not intentionally mislead or deceive others.
5. Respect community rules and other members. We encourage community members to follow community rules and guidelines and maintain a polite and respectful attitude towards other members. If you find that other members are violating community rules, please report it to community administrators or organizers in a timely manner.
The above is our community's code of conduct, and we expect all community members to abide by these rules. We will actively address behaviors that violate these rules. We believe that through mutual respect and support, we can build a friendly, inclusive, and beneficial open source community.

74
CONTRIBUTING.md Normal file
View File

@@ -0,0 +1,74 @@
# Contribution Guide
## Contribute Your Code
### Setup Snap.Hutao Project
1. Download and install [Visual Studio 2022 Community](https://visualstudio.microsoft.com/downloads/).
- No need to select workloads; Visual Studio will handle it automatically.
- Close Visual Studio Installer to ensure a smooth installation experience for workloads.
- If using Visual Studio 2022 17.9 preview, skip step 5, as automatic extension installation is supported in this version.
2. Use git to clone the project `https://github.com/DGP-Studio/Snap.Hutao.git` to your local device.
3. Switch to the`develop` branch using git.
4. Open the project solution with your Visual Studio. Visual Studio will prompt you to install the necessary workloads, closing and reopening automatically.
5. (For Visual Studio 2022 17.8) Install the [Single-project MSIX Packaging Tools for VS 2022](https://marketplace.visualstudio.com/items?itemName=ProjectReunion.MicrosoftSingleProjectMSIXPackagingToolsDev17) provided by Microsoft in Visual Studio marketplace.
6. Open the project solution with your Visual Studio, and you are ready to go.
### Start Pull Request
- All code-related changes from authors' own branches are only allowed be merged to `develop` branch
- Please use [keywords](https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/using-keywords-in-issues-and-pull-requests) to link your PR or commits with issues, so issues can be automatically closed once commits are merged into `main` branch.
### Test Binary Package
Once the code in updated in `develop` and `main` branches, an Azure Pipeline CI script will build the latest code to `Snap Hutao Alpha` package. Once the package is built, it will be released on [GitHub Release page](https://github.com/DGP-Studio/Snap.Hutao/releases) as a pre-released package.
You need to install [Snap.Hutao.CI.cer](https://github.com/DGP-Studio/Snap.Hutao/releases/download/2023.10.3.1/Snap.Hutao.CI.cer) certificate to your local machine, and then install the msix package in the release.
*If the latest release does not contains attached file, that means package is still in uploading process.
## Start New Issue
To help users solve problems faster and increase developers' efficiency in solving problems, Snap Hutao provides detailed documentation to explain common problems and issue templates to guide users to report program problems by submitting issues.
Before submitting a new issue, you should check the following pages:
- [FAQ](https://hut.ao/advanced/FAQ.html) Document
- [Common Program Exceptions ](https://hut.ao/en/advanced/exceptions.html)Document
- [Current Opened BUG Report Issues](https://github.com/DGP-Studio/Snap.Hutao/issues?q=is%3Aissue+is%3Aopen+label%3ABUG)
When starting a new issue, please use the issue templates:
- Describe your issue in details to help developers to reproduce the issue
- Your description of reproduction should be a step-by-step story
- If your issue is about program crash
- Remember to provide your Device ID
- Check Windows Event Viewer, and attach associated `.NET Error` details in the issue body
## Document Modification
Snap Hutao Document site is stored in repository [DGP-Studio/Snap.Hutao.Docs](https://github.com/DGP-Studio/Snap.Hutao.Docs), you can process the following steps to test the site in your local device:
1. Download and install [NodeJS 18](https://nodejs.org/en/download/)
2. Clone the repository
3. Run `npm install` in the root directory of the document project
4. Run `npm run docs:dev` to start test on 8080 port
### Localization
Snap.Hutao.Docs project structure is designed as multiple languages site. Each language has its independent folder under `docs` directory.
**If you wish to add another language document, you can [start an issue in document repository](https://github.com/DGP-Studio/Snap.Hutao.Docs/issues) to ask developer to setup an environment for you, or you can process the following steps by yourself:**
1. make a copy of `zh` folder, rename the new folder as the new language's code
2. Start your translation work in the new language folder
3. In `docs/.vuepress/sidebar` folder, duplicate `zh.ts` file
1. Rename the file to `{language_code}.ts`
2. In the line 4, change `/zh/` to `/{language_code}/`
3. Translate all `text` field
4. In `docs/.vuepress/navbar` folder, duplicate `zh.ts` file
1. Rename the file to `{language_code}.ts`
2. Replace all `/zh/` to `/{language_code}/`
3. Translate all `text` field
5. In `docs/.vuepress/config.ts`file, add your language information in `locales` and `plugins/docsearchPlugin/locales` dictionary
6. In `docs/.vuepress/theme.ts`file, add your language information in `locales` dictionary

20
NuGet.Config Normal file
View File

@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" />
<add key="Microsoft CsWin32" value="https://pkgs.dev.azure.com/azure-public/winsdk/_packaging/CI/nuget/v3/index.json" />
<add key="CommunityToolkit-MainLatest" value="https://pkgs.dev.azure.com/dotnet/CommunityToolkit/_packaging/CommunityToolkit-MainLatest/nuget/v3/index.json" />
<add key="CommunityToolkit-Labs" value="https://pkgs.dev.azure.com/dotnet/CommunityToolkit/_packaging/CommunityToolkit-Labs/nuget/v3/index.json" />
</packageSources>
<packageRestore>
<add key="enabled" value="True" />
<add key="automatic" value="True" />
</packageRestore>
<bindingRedirects>
<add key="skip" value="False" />
</bindingRedirects>
<packageManagement>
<add key="format" value="1" />
<add key="disabled" value="False" />
</packageManagement>
</configuration>

View File

@@ -1,45 +1,92 @@
![](https://repository-images.githubusercontent.com/482734649/5f8cf574-2ef0-43e9-aa8d-6cf094b54dd9)
![HutaoRepoBanner2-20231222](https://github.com/DGP-Studio/Snap.Hutao/assets/10614984/2d178de1-95bc-44a1-a95e-20c5f11a8628)
## 下载使用
[![](https://get.microsoft.com/images/zh-cn%20light.svg)](https://apps.microsoft.com/store/detail/snap-hutao/9PH4NXJ2JN52)
胡桃工具箱是一款以 MIT 协议开源的原神工具箱,专为现代化 Windows 平台设计,旨在改善桌面端玩家的游戏体验。通过将既有的官方资源与开发团队设计的全新 功能相结合,它提供了一套完整且实用的工具集,且无需依赖任何移动设备。它不对游戏客户端进行任何破坏性修改以确保工具箱的安全性
## 贡献
Snap Hutao is an open-source Genshin Impact toolkit under MIT license, designed for modern Windows platform to improve the gaming experience for desktop players. By combining existing official resources with new features designed by the development team, it provides a complete and useful set of tools without the need to rely on mobile devices. Snap Hutao does not take any destructive modification to the game client to ensure the security of the toolkit.
* [向我们提交 PR](https://github.com/DGP-Studio/Snap.Hutao/pulls)
* [在 Crowdin 上进行本地化](https://crowdin.com/project/snap-hutao)
## 下载使用 / Download
## 特别感谢
![](https://ci.appveyor.com/api/projects/status/n4s40t9llru4si9y?svg=true) [![GitHub Release](https://img.shields.io/github/release/DGP-Studio/Snap.Hutao?style=flat)](https://github.com/DGP-Studio/Snap.Hutao/releases/latest) [![Github All Releases](https://img.shields.io/github/downloads/DGP-Studio/Snap.Hutao/total.svg?style=flat)]()
---
#### 使用安装器安装 / Install with Snap.Hutao.Depolyment Installer
Snap.Hutao.Depolyment 是一个由 DGP-Studio 重新包装的 Windows 应用安装器,适用于缺少专业计算机知识的一般用户,可以在安装时同时解决缺少必要系统环境的问题。
Snap.Hutao.Depolyment is a Windows application installer repackaged by DGP-Studio for the users who lacks computer knowledge and can solve the problem of missing necessary system environment at the same time as the installation.
[从 GitHub 发布页获取 / Download from GitHub release](https://github.com/DGP-Studio/Snap.Hutao.Deployment/releases/latest)
[从极狐Lab 发布页获取 / Download from Jihu Gitlab release](https://jihulab.com/DGP-Studio/Snap.Hutao.Deployment/-/releases)
#### 使用 MSIX 包安装 / Install with MSIX Package
直接使用 Snap Hutao MSIX 安装包,使用 Windows 内置的 App Installer 即可安装。如在安装中出现问题,请查阅我们的[常见问题](https://hut.ao/zh/advanced/FAQ.html)文档
Install with Snap Hutao MSIX package, can be installed with Windows built-in App Installer. If you faced any issue, please check our [FAQ](https://hut.ao/en/advanced/FAQ.html) document.
[从 GitHub 发布页获取 / Download from GitHub release](https://github.com/DGP-Studio/Snap.Hutao/releases/latest)
[从极狐Lab 发布页获取 / Download from Jihu Gitlab release](https://jihulab.com/DGP-Studio/Snap.Hutao/-/releases)
## 贡献 / Contribute
* [向我们提交 PR / Make Pull Requests](https://github.com/DGP-Studio/Snap.Hutao/pulls)
* [在 Crowdin 上进行本地化 / Translate Project on Crowdin](https://translate.hut.ao/)
* [为我们更新文档 / Enhance our Document ](https://github.com/DGP-Studio/Snap.Hutao.Docs)
## 特别感谢 / Special Thanks
* [HolographicHat](https://github.com/HolographicHat)
* [UIGF organization](https://uigf.org)
### 特定的原神项目
### 特定的原神项目 / Specific Genshin-related Projects
* [biuuu/genshin-wish-export](https://github.com/biuuu/genshin-wish-export)
* [xunkong/xunkong](https://github.com/xunkong/xunkong)
* [YuehaiTeam/cocogoat](https://github.com/YuehaiTeam/cocogoat)
* [Scighost/Starward](https://github.com/Scighost/Starward)
### 使用的技术栈
### 使用的技术栈 / Tech Stack
* [CommunityToolkit/dotnet](https://github.com/CommunityToolkit/dotnet)
* [CommunityToolkit/WindowsCommunityToolkit](https://github.com/CommunityToolkit/WindowsCommunityToolkit)
* [CommunityToolkit/Labs-Windows](https://github.com/CommunityToolkit/Labs-Windows)
* [CommunityToolkit/Windows](https://github.com/CommunityToolkit/Windows)
* [dahall/taskscheduler](https://github.com/dahall/taskscheduler)
* [dotnet/efcore](https://github.com/dotnet/efcore)
* [dotnet/runtime](https://github.com/dotnet/runtime)
* [DotNetAnalyzers/StyleCopAnalyzers](https://github.com/DotNetAnalyzers/StyleCopAnalyzers)
* [microsoft/CsWin32](https://github.com/microsoft/CsWin32)
* [microsoft/vs-threading](https://github.com/microsoft/vs-threading)
* [microsoft/vs-validation](https://github.com/microsoft/vs-validation)
* [microsoft/WindowsAppSDK](https://github.com/microsoft/WindowsAppSDK)
* [microsoft/microsoft-ui-xaml](https://github.com/microsoft/microsoft-ui-xaml)
* [WinUICommunity/SettingsUI](https://github.com/WinUICommunity/SettingsUI)
### 支撑项目
### 支撑项目 / Supporter Project
* [Snap.Hutao.Server](https://github.com/DGP-Studio/Snap.Hutao.Server)
* [Snap.Metadata](https://github.com/DGP-Studio/Snap.Metadata)
* [Snap.Data.Mapper](https://github.com/DGP-Studio/Snap.Data.Mapper)
## 近期活跃数据
![Snap.Hutao](https://repobeats.axiom.co/api/embed/f029553fbe0c60689b1710476ec8512452163fc9.svg)
## 赞助商 / Sponsorship
Snap Hutao is currently using sponsored software from the following service providers.
| [![](https://www.netlify.com/v3/img/components/netlify-light.svg)](https://www.netlify.com/) | [![](https://support.crowdin.com/assets/logos/core-logo/svg/crowdin-core-logo-cDark.svg)](https://crowdin.com/) | [![](https://gitlab.cn/images/icons/logos/logo-121-75.svg)](https://gitlab.cn/) |
|:----------------------------------------------------------------------------------------------------:|:-----------------------------------------------------------------------------------------------------------------------:|:---------------------------------------------------------------------------------------:|
| [![](https://github.com/DGP-Studio/Snap.Hutao/assets/10614984/73ae8b90-f3c7-4033-b2b7-f4126331ce66)](https://about.signpath.io) | [![](https://github.com/DGP-Studio/Snap.Hutao/assets/10614984/49aed8ee-9f19-4a8a-998c-7b93ee286d65)](https://1password.com/) | [![](https://github.com/DGP-Studio/Snap.Hutao/assets/10614984/ad121220-d2d3-4f49-b215-b6d063dc229d)](https://about.signpath.io) |
- Netlify provides document and home page hosting service for Snap Hutao
- Crowdin provides its SaaS platform to help Snap Hutao's localization
- Jihu GitLab (极狐) provides Git repository and CI/CD SaaS service for Snap Hutao in China
- Free code signing provided by [SignPath.io](https://signpath.io/), certificate by [SignPath Foundation](https://signpath.org/)
- 1Password provides Snap Hutao development team with their amazing password management software
- DigitalOcean provides reliable cloud database for Snap Hutao database backup
## 开发 / Development
![Snap.Hutao](https://repobeats.axiom.co/api/embed/f029553fbe0c60689b1710476ec8512452163fc9.svg)
[![Star History Chart](https://api.star-history.com/svg?repos=DGP-Studio/Snap.Hutao&type=Date)](https://star-history.com/#DGP-Studio/Snap.Hutao&Date)

12
SECURITY.md Normal file
View File

@@ -0,0 +1,12 @@
# Security Policy
## Supported Versions
| Version | Supported |
| ------- | ------------------ |
| >=1.6.0 | :white_check_mark: |
| <1.6.0 | :x: |
## Reporting a Vulnerability
Please [open an issue](https://github.com/DGP-Studio/Snap.Hutao/issues/new/choose)

20
appveyor.yml Normal file
View File

@@ -0,0 +1,20 @@
version: 1.0.{build}
branches:
only:
- "release"
build_cloud: HUTAO-SERVER
image: Visual Studio 2022
clone_depth: 3
clone_folder: D:\appveyor\project\Snap.Hutao.Project
install:
- pwsh: dotnet tool restore
build_script:
- pwsh: dotnet cake
artifacts:
- path: src/output/*.msix
type: file
deploy:
- provider: Webhook
url: https://app.signpath.io/API/v1/7a941fa3-64d8-4c45-bd03-92a02bcd4964/Integrations/AppVeyor?ProjectSlug=Snap.Hutao&SigningPolicySlug=release-signing&ArtifactConfigurationSlug=msix
authorization:
secure: j8srQ5/UYWhI+jlm3Vo3D3QfXoRyQ9hOn3ynJGtwusKui4+uDi4gykdUFYCITZxK+C/fOCAZNJ+YaKSm/OaiXw==

View File

@@ -1,185 +0,0 @@
# CI process script for Snap.Hutao
# Usage:
# 1. Append the script in Pipelines
# 2. Upload the pfx and cer certificates to Pipelines Library secrets
# 3. Permit the pfx usage
# 4. Add a `pw` variable in the script variables, which is pfx password
# 5. Connect the GitHub in project settings
# 6. Run
trigger:
branches:
include:
- main
paths:
exclude:
- README.md
- azure-pipelines.yml
- .github/ISSUE_TEMPLATE/*.yml
- .github/workflows/*.yml
- src/Snap.Hutao/Snap.Hutao/Resource/Localization/*.resx
pr:
branches:
include:
- main
paths:
exclude:
- README.md
- azure-pipelines.yml
- .github/ISSUE_TEMPLATE/*.yml
- .github/workflows/*.yml
- src/Snap.Hutao/Snap.Hutao/Resource/Localization/*.resx
pool:
vmImage: 'windows-2022'
variables:
DOTNET_SKIP_FIRST_TIME_EXPERIENCE: true
solution: '$(Build.SourcesDirectory)/src/Snap.Hutao/Snap.Hutao.sln'
project: $(Build.SourcesDirectory)/src/Snap.Hutao/Snap.Hutao/Snap.Hutao.csproj'
buildPlatform: 'x64'
buildConfiguration: 'Release'
build_date: $[ format('{0:yyyy}.{0:M}.{0:d}', pipeline.startTime) ]
steps:
- task: GetRevision@1
displayName: get Pipelines revision number
inputs:
VariableName: 'rev_number'
- task: UseDotNet@2
displayName: Install dotNet
inputs:
packageType: 'sdk'
version: '7.x'
includePreviewVersions: true
- task: NuGetToolInstaller@1
name: 'NuGetToolInstaller'
displayName: 'NuGet Installer'
- task: NuGetCommand@2
displayName: NuGet restore
inputs:
command: 'restore'
restoreSolution: '$(solution)'
feedsToUse: 'select'
- task: MsixPackaging@1
displayName: Build binary package
inputs:
outputPath: '$(Build.ArtifactStagingDirectory)/'
solution: '$(solution)'
clean: false
generateBundle: false
buildConfiguration: 'Release'
buildPlatform: 'x64'
updateAppVersion: false
appPackageDistributionMode: 'SideloadOnly'
msbuildLocationMethod: 'location'
msbuildLocation: 'C:\Program Files\Microsoft Visual Studio\2022\Enterprise\Msbuild\Current\Bin\MSBuild.exe'
- task: MagicChunks@2
inputs:
sourcePath: '$(Build.SourcesDirectory)\src\Snap.Hutao\Snap.Hutao\bin\x64\Release\net7.0-windows10.0.18362.0\win10-x64\AppxManifest.xml'
fileType: 'Xml'
targetPathType: 'source'
transformationType: 'json'
transformations: |
{
"Package/Identity/@Name": "7f0db578-026f-4e0b-a75b-d5d06bb0a74c",
"Package/Identity/@Publisher": "CN=DGP Studio CI",
"Package/Identity/@Version": "$(build_date).$(rev_number)",
"Package/Properties/DisplayName": "胡桃 Alpha",
"Package/Properties/PublisherDisplayName":"DGP Studio CI",
"Package/Applications/Application/uap:VisualElements/@DisplayName": "胡桃 Alpha"
}
- task: CmdLine@2
displayName: Create resources folder
inputs:
script: |
mkdir Assets
mkdir Resource
workingDirectory: '$(Build.SourcesDirectory)\src\Snap.Hutao\Snap.Hutao\bin\x64\Release\net7.0-windows10.0.18362.0\win10-x64'
- task: CopyFiles@2
displayName: Copy Assets Folder
inputs:
SourceFolder: '$(Build.SourcesDirectory)\src\Snap.Hutao\Snap.Hutao\Assets'
Contents: '**'
TargetFolder: '$(Build.SourcesDirectory)\src\Snap.Hutao\Snap.Hutao\bin\x64\Release\net7.0-windows10.0.18362.0\win10-x64\Assets'
- task: CopyFiles@2
displayName: Copy Resource Folder
inputs:
SourceFolder: '$(Build.SourcesDirectory)\src\Snap.Hutao\Snap.Hutao\Resource'
Contents: '**'
TargetFolder: '$(Build.SourcesDirectory)\src\Snap.Hutao\Snap.Hutao\bin\x64\Release\net7.0-windows10.0.18362.0\win10-x64\Resource'
- task: CmdLine@2
displayName: Build MSIX
inputs:
script: '"C:\Program Files (x86)\Windows Kits\10\bin\10.0.22000.0\x64\makeappx.exe" pack /d $(Build.SourcesDirectory)\src\Snap.Hutao\Snap.Hutao\bin\x64\Release\net7.0-windows10.0.18362.0\win10-x64 /p $(Build.ArtifactStagingDirectory)/Snap.Hutao.Alpha-$(build_date).$(rev_number).msix'
- task: MsixSigning@1
name: signMsix
displayName: Sign MSIX package
inputs:
package: '$(Build.ArtifactStagingDirectory)/Snap.Hutao.Alpha-$(build_date).$(rev_number).msix'
certificate: 'DGP_Studio_CI.pfx'
passwordVariable: 'pw'
condition: succeeded()
#- task: PublishPipelineArtifact@1
# displayName: 'Upload Output'
# inputs:
# targetPath: '$(Build.ArtifactStagingDirectory)/'
# artifact: 'Output'
# publishLocation: 'pipeline'
- task: DownloadSecureFile@1
name: cerFile
displayName: Download Root CA
inputs:
secureFile: 'Snap.Hutao.CI.cer'
- task: GitHubRelease@1
inputs:
gitHubConnection: 'github.com_Masterain'
repositoryName: 'DGP-Studio/Snap.Hutao'
action: 'create'
target: '$(Build.SourceVersion)'
tagSource: 'userSpecifiedTag'
tag: '$(build_date).$(rev_number)'
title: '$(build_date).$(rev_number)'
releaseNotesSource: 'inline'
releaseNotesInline: |
## 普通用户请勿下载
该版本是由 CI 程序自动打包生成的 `Alpha` 测试版本,**仅供开发者测试使用**
普通用户请[点击这里](https://github.com/DGP-Studio/Snap.Hutao/releases/latest/)下载最新的稳定版本
assets: |
$(Build.ArtifactStagingDirectory)/*
$(cerFile.secureFilePath)
isPreRelease: true
changeLogCompareToRelease: 'lastFullRelease'
changeLogType: 'commitBased'
- task: DownloadSecureFile@1
name: RcloneConfigFile
displayName: Download Rclone Config
inputs:
secureFile: 'rclone.conf'
- task: rclone@1
displayName: Upload CI via Rclone
inputs:
arguments: 'copy $(Build.ArtifactStagingDirectory)/Snap.Hutao.Alpha-$(build_date).$(rev_number).msix downloadDGPCN:/releases/Alpha/'
configPath: '$(RcloneConfigFile.secureFilePath)'

179
build.cake Normal file
View File

@@ -0,0 +1,179 @@
#tool "nuget:?package=nuget.commandline&version=6.5.0"
#addin nuget:?package=Cake.Http&version=3.0.2
var target = Argument("target", "Build");
var configuration = Argument("configuration", "Release");
// Pre-define
var version = "version";
var repoDir = "repoDir";
var outputPath = "outputPath";
string solution
{
get => System.IO.Path.Combine(repoDir, "src", "Snap.Hutao", "Snap.Hutao.sln");
}
string project
{
get => System.IO.Path.Combine(repoDir, "src", "Snap.Hutao", "Snap.Hutao", "Snap.Hutao.csproj");
}
string binPath
{
get => System.IO.Path.Combine(repoDir, "src", "Snap.Hutao", "Snap.Hutao", "bin", "x64", "Release", "net8.0-windows10.0.22621.0", "win-x64");
}
string manifest
{
get => System.IO.Path.Combine(repoDir, "src", "Snap.Hutao", "Snap.Hutao", "Package.appxmanifest");
}
if (GitHubActions.IsRunningOnGitHubActions)
{
repoDir = GitHubActions.Environment.Workflow.Workspace.FullPath;
outputPath = System.IO.Path.Combine(repoDir, "src", "output");
var versionAuth = HasEnvironmentVariable("VERSION_API_TOKEN") ? EnvironmentVariable("VERSION_API_TOKEN") : throw new Exception("Cannot find VERSION_API_TOKEN");
version = HttpGet(
"https://internal.snapgenshin.cn/BuildIntergration/RequestNewVersion",
new HttpSettings
{
Headers = new Dictionary<string, string>
{
{ "Authorization", versionAuth }
}
}
);
Information($"Version: {version}");
GitHubActions.Commands.SetOutputParameter("version", version);
}
else if (AppVeyor.IsRunningOnAppVeyor)
{
repoDir = AppVeyor.Environment.Build.Folder;
outputPath = System.IO.Path.Combine(repoDir, "src", "output");
version = XmlPeek(manifest, "appx:Package/appx:Identity/@Version", new XmlPeekSettings
{
Namespaces = new Dictionary<string, string> { { "appx", "http://schemas.microsoft.com/appx/manifest/foundation/windows10" } }
})[..^2];
Information($"Version: {version}");
}
Task("Build")
.IsDependentOn("Build binary package")
.IsDependentOn("Copy files")
.IsDependentOn("Build MSIX");
Task("NuGet Restore")
.Does(() =>
{
Information("Restoring packages...");
var nugetConfig = System.IO.Path.Combine(repoDir, "NuGet.Config");
DotNetRestore(project, new DotNetRestoreSettings
{
Verbosity = DotNetVerbosity.Detailed,
Interactive = false,
ConfigFile = nugetConfig
});
});
Task("Generate AppxManifest")
.Does(() =>
{
Information("Generating AppxManifest...");
var content = System.IO.File.ReadAllText(manifest);
if (GitHubActions.IsRunningOnGitHubActions)
{
Information("Using CI configuraion");
content = content
.Replace("Snap Hutao", "Snap Hutao Alpha")
.Replace("胡桃", "胡桃 Alpha")
.Replace("DGP Studio", "DGP Studio CI");
content = System.Text.RegularExpressions.Regex.Replace(content, " Name=\"([^\"]*)\"", " Name=\"7f0db578-026f-4e0b-a75b-d5d06bb0a74c\"");
content = System.Text.RegularExpressions.Regex.Replace(content, " Publisher=\"([^\"]*)\"", " Publisher=\"E=admin@dgp-studio.cn, CN=DGP Studio CI, OU=CI, O=DGP-Studio, L=San Jose, S=CA, C=US\"");
content = System.Text.RegularExpressions.Regex.Replace(content, " Version=\"([0-9\\.]+)\"", $" Version=\"{version}\"");
}
else if (AppVeyor.IsRunningOnAppVeyor)
{
Information("Using Release configuration");
content = System.Text.RegularExpressions.Regex.Replace(content, " Publisher=\"([^\"]*)\"", " Publisher=\"CN=SignPath Foundation, O=SignPath Foundation, L=Lewes, S=Delaware, C=US\"");
}
System.IO.File.WriteAllText(manifest, content);
Information("Generated.");
});
Task("Build binary package")
.IsDependentOn("NuGet Restore")
.IsDependentOn("Generate AppxManifest")
.Does(() =>
{
Information("Building binary package...");
var settings = new DotNetBuildSettings
{
Configuration = configuration
};
settings.MSBuildSettings = new DotNetMSBuildSettings
{
ArgumentCustomization = args => args.Append("/p:Platform=x64")
.Append("/p:UapAppxPackageBuildMode=SideloadOnly")
.Append("/p:AppxPackageSigningEnabled=false")
.Append("/p:AppxBundle=Never")
.Append("/p:AppxPackageOutput=" + outputPath)
};
DotNetBuild(project, settings);
});
Task("Copy files")
.IsDependentOn("Build binary package")
.Does(() =>
{
Information("Copying assets...");
CopyDirectory(
System.IO.Path.Combine(repoDir, "src", "Snap.Hutao", "Snap.Hutao", "Assets"),
System.IO.Path.Combine(binPath, "Assets")
);
Information("Copying resource...");
CopyDirectory(
System.IO.Path.Combine(repoDir, "src", "Snap.Hutao", "Snap.Hutao", "Resource"),
System.IO.Path.Combine(binPath, "Resource")
);
});
Task("Build MSIX")
.IsDependentOn("Build binary package")
.IsDependentOn("Copy files")
.Does(() =>
{
var arguments = "arguments";
if (GitHubActions.IsRunningOnGitHubActions)
{
arguments = "pack /d " + binPath + " /p " + System.IO.Path.Combine(outputPath, $"Snap.Hutao.Alpha-{version}.msix");
}
else if (AppVeyor.IsRunningOnAppVeyor)
{
arguments = "pack /d " + binPath + " /p " + System.IO.Path.Combine(outputPath, $"Snap.Hutao-{version}.msix");
}
var p = StartProcess(
"makeappx.exe",
new ProcessSettings
{
Arguments = arguments
}
);
if (p != 0)
{
throw new InvalidOperationException("Build failed with exit code " + p);
}
});
RunTarget(target);

View File

@@ -1,3 +1,3 @@
files:
- source: /src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.resx
translation: /src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.%locale%.resx
translation: /src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.%osx_locale%.resx

View File

@@ -1,6 +0,0 @@
[.ShellClassInfo]
IconResource=D:\Develop\Projects\Snap.Hutao\src\Snap.Hutao\Snap.Hutao\Assets\Logo.ico,0
[ViewState]
Mode=
Vid=
FolderType=Generic

Binary file not shown.

BIN
res/HutaoIcon2.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 785 KiB

BIN
res/HutaoIcon2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 MiB

BIN
res/HutaoIconSource.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 733 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 MiB

BIN
res/HutaoRepoBanner.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 699 KiB

BIN
res/HutaoRepoBanner.psd Normal file

Binary file not shown.

BIN
res/HutaoRepoBanner2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 661 KiB

BIN
res/HutaoRepoBanner2.psd Normal file

Binary file not shown.

3
res/README.md Normal file
View File

@@ -0,0 +1,3 @@
本文件夹中的所有图片,均由 [DGP Studio](https://github.com/DGP-Studio) 委托 [Bilibili 画画的芦苇](https://space.bilibili.com/274422134) 绘制
Copyright © 2023 DGP Studio, All Rights Reserved.

File diff suppressed because one or more lines are too long

View File

@@ -10,7 +10,7 @@ csharp_style_expression_bodied_constructors = false:silent
csharp_style_expression_bodied_operators = false:silent
csharp_style_expression_bodied_properties = false:silent
csharp_style_expression_bodied_indexers = false:silent
csharp_style_expression_bodied_accessors = when_on_single_line:silent
csharp_style_expression_bodied_accessors = when_on_single_line:suggestion
csharp_style_expression_bodied_lambdas = when_on_single_line:silent
csharp_style_expression_bodied_local_functions = false:silent
csharp_style_conditional_delegate_call = true:suggestion
@@ -57,6 +57,7 @@ dotnet_style_prefer_simplified_interpolation = true:suggestion
dotnet_style_namespace_match_folder = true:suggestion
dotnet_style_predefined_type_for_locals_parameters_members = true:silent
dotnet_style_predefined_type_for_member_access = true:silent
dotnet_diagnostic.CA1000.severity = suggestion
[*.cs]
#### 命名样式 ####
@@ -107,7 +108,9 @@ dotnet_naming_style.pascal_case.capitalization = pascal_case
dotnet_diagnostic.SA1629.severity = none
dotnet_diagnostic.SA1642.severity = none
dotnet_diagnostic.IDE0005.severity = warning
dotnet_diagnostic.IDE0060.severity = none
dotnet_diagnostic.IDE0290.severity = none
# SA1208: System using directives should be placed before other using directives
dotnet_diagnostic.SA1208.severity = none
@@ -121,9 +124,6 @@ dotnet_diagnostic.SA1623.severity = none
# SA1636: File header copyright text should match
dotnet_diagnostic.SA1636.severity = none
# SA1414: Tuple types in signatures should have element names
dotnet_diagnostic.SA1414.severity = none
# SA0001: XML comment analysis disabled
dotnet_diagnostic.SA0001.severity = none
csharp_style_prefer_parameter_null_checking = true:suggestion
@@ -162,11 +162,167 @@ dotnet_diagnostic.CA1309.severity = suggestion
dotnet_diagnostic.CA1805.severity = suggestion
# VSTHRD111: Use ConfigureAwait(bool)
dotnet_diagnostic.VSTHRD111.severity = suggestion
dotnet_diagnostic.VSTHRD111.severity = silent
csharp_style_prefer_top_level_statements = true:silent
csharp_style_prefer_readonly_struct = true:suggestion
csharp_style_prefer_utf8_string_literals = true:suggestion
# SA1600: Elements should be documented
dotnet_diagnostic.SA1600.severity = none
dotnet_diagnostic.SA1601.severity = silent
dotnet_diagnostic.SA1602.severity = silent
# CA1008: 枚举应具有零值
dotnet_diagnostic.CA1008.severity = suggestion
# CA1010: 还应实现泛型接口
dotnet_diagnostic.CA1010.severity = suggestion
# CA1012: 抽象类型不应具有公共构造函数
dotnet_diagnostic.CA1012.severity = suggestion
# CA1024: 在适用处使用属性
dotnet_diagnostic.CA1024.severity = suggestion
# CA1034: 嵌套类型应不可见
dotnet_diagnostic.CA1034.severity = suggestion
# CA1036: 重写可比较类型中的方法
dotnet_diagnostic.CA1036.severity = suggestion
# CA1040: 避免使用空接口
dotnet_diagnostic.CA1040.severity = suggestion
# CA1044: 属性不应是只写的
dotnet_diagnostic.CA1044.severity = suggestion
# CA1043: 将整型或字符串参数用于索引器
dotnet_diagnostic.CA1043.severity = suggestion
# CA1046: 不要对引用类型重载相等运算符
dotnet_diagnostic.CA1046.severity = suggestion
# CA1051: 不要声明可见实例字段
dotnet_diagnostic.CA1051.severity = suggestion
# CA1052: 静态容器类型应为 Static 或 NotInheritable
dotnet_diagnostic.CA1052.severity = suggestion
# CA1058: 类型不应扩展某些基类型
dotnet_diagnostic.CA1058.severity = suggestion
# CA1063: 正确实现 IDisposable
dotnet_diagnostic.CA1063.severity = suggestion
# CA1065: 不要在意外的位置引发异常
dotnet_diagnostic.CA1065.severity = suggestion
# CA1066: 重写 Object.Equals 时实现 IEquatable
dotnet_diagnostic.CA1066.severity = suggestion
# CA1304: 指定 CultureInfo
dotnet_diagnostic.CA1304.severity = suggestion
# CA1305: 指定 IFormatProvider
dotnet_diagnostic.CA1305.severity = suggestion
# CA1307: 为了清晰起见,请指定 StringComparison
dotnet_diagnostic.CA1307.severity = suggestion
# CA1310: 为了确保正确,请指定 StringComparison
dotnet_diagnostic.CA1310.severity = suggestion
# CA1308: 将字符串规范化为大写
dotnet_diagnostic.CA1308.severity = suggestion
# CA1501: 避免过度继承
dotnet_diagnostic.CA1501.severity = suggestion
# CA1502: 避免过度复杂性
dotnet_diagnostic.CA1502.severity = suggestion
# CA1505: 避免使用无法维护的代码
dotnet_diagnostic.CA1505.severity = suggestion
# CA1506: 避免过度的类耦合
dotnet_diagnostic.CA1506.severity = suggestion
# CA1508: 避免死条件代码
dotnet_diagnostic.CA1508.severity = suggestion
# CA1810: 以内联方式初始化引用类型的静态字段
dotnet_diagnostic.CA1810.severity = suggestion
# CA1813: 避免使用非密封特性
dotnet_diagnostic.CA1813.severity = suggestion
# CA1814: 与多维数组相比,首选使用交错数组
dotnet_diagnostic.CA1814.severity = suggestion
# CA1819: 属性不应返回数组
dotnet_diagnostic.CA1819.severity = suggestion
# CA1820: 使用字符串长度测试是否有空字符串
dotnet_diagnostic.CA1820.severity = suggestion
# CA1823: 避免未使用的私有字段
dotnet_diagnostic.CA1823.severity = suggestion
# CA1849: 当在异步方法中时,调用异步方法
dotnet_diagnostic.CA1849.severity = suggestion
# CA1852: 密封内部类型
dotnet_diagnostic.CA1852.severity = suggestion
# CA2000: 丢失范围之前释放对象
dotnet_diagnostic.CA2000.severity = suggestion
# CA2002: 不要锁定具有弱标识的对象
dotnet_diagnostic.CA2002.severity = suggestion
# CA2007: 考虑对等待的任务调用 ConfigureAwait
dotnet_diagnostic.CA2007.severity = suggestion
# CA2008: 不要在未传递 TaskScheduler 的情况下创建任务
dotnet_diagnostic.CA2008.severity = suggestion
# CA2100: 检查 SQL 查询是否存在安全漏洞
dotnet_diagnostic.CA2100.severity = suggestion
# CA2109: 检查可见的事件处理程序
dotnet_diagnostic.CA2109.severity = suggestion
# CA2119: 密封满足私有接口的方法
dotnet_diagnostic.CA2119.severity = suggestion
# CA2153: 不要捕获损坏状态异常
dotnet_diagnostic.CA2153.severity = suggestion
# CA2201: 不要引发保留的异常类型
dotnet_diagnostic.CA2201.severity = suggestion
# CA2207: 以内联方式初始化值类型的静态字段
dotnet_diagnostic.CA2207.severity = suggestion
# CA2213: 应释放可释放的字段
dotnet_diagnostic.CA2213.severity = suggestion
# CA2214: 不要在构造函数中调用可重写的方法
dotnet_diagnostic.CA2214.severity = suggestion
# CA2215: Dispose 方法应调用基类释放
dotnet_diagnostic.CA2215.severity = suggestion
# CA2216: 可释放类型应声明终结器
dotnet_diagnostic.CA2216.severity = suggestion
# CA2227: 集合属性应为只读
dotnet_diagnostic.CA2227.severity = suggestion
# CA2251: 使用 “string.Equals”
dotnet_diagnostic.CA2251.severity = suggestion
csharp_style_prefer_primary_constructors = true:suggestion
[*.vb]
#### 命名样式 ####

11
src/Snap.Hutao/.vsconfig Normal file
View File

@@ -0,0 +1,11 @@
{
"version": "1.0",
"components": [
"Microsoft.VisualStudio.Workload.ManagedDesktop",
"Microsoft.VisualStudio.Workload.NativeDesktop",
"Microsoft.VisualStudio.Workload.Universal"
],
"extensions": [
"https://marketplace.visualstudio.com/items?itemName=ProjectReunion.MicrosoftSingleProjectMSIXPackagingToolsDev17"
]
}

View File

@@ -1,73 +0,0 @@
using Microsoft.Win32;
using System;
using System.Diagnostics;
using System.IO;
using System.Threading.Tasks;
namespace Snap.Hutao.Installer;
internal class Program
{
private const string AppxKey = @"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\AppModelUnlock";
private const string ValueName = "AllowDevelopmentWithoutDevLicense";
public static async Task Main(string[] args)
{
_ = args;
string ps1File = Path.Combine(AppContext.BaseDirectory, "Install.ps1");
if (!File.Exists(ps1File))
{
Console.WriteLine("未检测到 Install.ps1 文件");
Console.WriteLine("请勿移动该安装程序,按下任意键退出...");
Console.ReadKey();
return;
}
try
{
//以管理策略打开开发者模式
Registry.SetValue(AppxKey, ValueName, 1, RegistryValueKind.DWord);
}
catch (Exception)
{
Console.WriteLine("开发者模式未开启,请手动开启,参阅下方链接");
Console.WriteLine("https://learn.microsoft.com/zh-CN/windows/apps/get-started/developer-mode-features-and-debugging");
}
await InstallAsync(ps1File).ConfigureAwait(false);
Console.WriteLine();
Console.WriteLine("官方文档与使用教程");
Console.WriteLine("https://hut.ao");
Console.WriteLine();
Console.WriteLine("在开始菜单中启动 Snap.Hutao ,按下任意键退出...");
Console.ReadKey();
}
private static async Task InstallAsync(string ps1File)
{
Console.WriteLine("请注意 PowerShell 中的提示");
Process ps = new()
{
StartInfo = new ProcessStartInfo()
{
FileName = "powershell.exe",
Arguments = $"-ExecutionPolicy Unrestricted \"{ps1File}\"",
UseShellExecute = true,
}
};
try
{
ps.Start();
await ps.WaitForExitAsync();
Console.WriteLine("安装脚本运行完成");
}
catch (Exception ex)
{
Console.WriteLine(ex);
}
}
}

View File

@@ -1,14 +0,0 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net7.0-windows</TargetFramework>
<ImplicitUsings>disable</ImplicitUsings>
<Nullable>enable</Nullable>
<PublishTrimmed>true</PublishTrimmed>
<ApplicationManifest>app.manifest</ApplicationManifest>
<DebugType>embedded</DebugType>
<Platforms>AnyCPU;x64</Platforms>
</PropertyGroup>
</Project>

View File

@@ -1,79 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1">
<assemblyIdentity version="1.0.0.0" name="MyApplication.app"/>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
<!-- UAC 清单选项
如果想要更改 Windows 用户帐户控制级别,请使用
以下节点之一替换 requestedExecutionLevel 节点。
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
<requestedExecutionLevel level="highestAvailable" uiAccess="false" />
指定 requestedExecutionLevel 元素将禁用文件和注册表虚拟化。
如果你的应用程序需要此虚拟化来实现向后兼容性,则移除此
元素。
-->
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
</requestedPrivileges>
</security>
</trustInfo>
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
<application>
<!-- 设计此应用程序与其一起工作且已针对此应用程序进行测试的
Windows 版本的列表。取消评论适当的元素,
Windows 将自动选择最兼容的环境。 -->
<!-- Windows Vista -->
<!--<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}" />-->
<!-- Windows 7 -->
<!--<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}" />-->
<!-- Windows 8 -->
<!--<supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}" />-->
<!-- Windows 8.1 -->
<!--<supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}" />-->
<!-- Windows 10 -->
<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}" />
</application>
</compatibility>
<!-- 指示该应用程序可感知 DPI 且 Windows 在 DPI 较高时将不会对其进行
自动缩放。Windows Presentation Foundation (WPF)应用程序自动感知 DPI无需
选择加入。选择加入此设置的 Windows 窗体应用程序(面向 .NET Framework 4.6)还应
在其 app.config 中将 "EnableWindowsFormsHighDpiAutoResizing" 设置设置为 "true"。
将应用程序设为感知长路径。请参阅 https://docs.microsoft.com/windows/win32/fileio/maximum-file-path-limitation -->
<!--
<application xmlns="urn:schemas-microsoft-com:asm.v3">
<windowsSettings>
<dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true</dpiAware>
<longPathAware xmlns="http://schemas.microsoft.com/SMI/2016/WindowsSettings">true</longPathAware>
</windowsSettings>
</application>
-->
<!-- 启用 Windows 公共控件和对话框的主题(Windows XP 和更高版本) -->
<!--
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
processorArchitecture="*"
publicKeyToken="6595b64144ccf1df"
language="*"
/>
</dependentAssembly>
</dependency>
-->
</assembly>

View File

@@ -1,178 +0,0 @@
// Copyright (c) DGP Studio. All rights reserved.
// Licensed under the MIT license.
using Microsoft.CodeAnalysis;
using Microsoft.CodeAnalysis.CSharp;
using Microsoft.CodeAnalysis.CSharp.Syntax;
using Microsoft.CodeAnalysis.Text;
using System;
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Linq;
using System.Text;
namespace Snap.Hutao.SourceGeneration.DedendencyInjection;
/// <summary>
/// 注入HttpClient代码生成器
/// 旨在使用源生成器提高注入效率
/// 防止在运行时动态查找注入类型
/// </summary>
[Generator]
public class HttpClientGenerator : ISourceGenerator
{
private const string DefaultName = "Snap.Hutao.Core.DependencyInjection.Annotation.HttpClient.HttpClientConfigration.Default";
private const string XRpcName = "Snap.Hutao.Core.DependencyInjection.Annotation.HttpClient.HttpClientConfigration.XRpc";
private const string XRpc2Name = "Snap.Hutao.Core.DependencyInjection.Annotation.HttpClient.HttpClientConfigration.XRpc2";
private const string PrimaryHttpMessageHandlerAttributeName = "Snap.Hutao.Core.DependencyInjection.Annotation.HttpClient.PrimaryHttpMessageHandlerAttribute";
private const string DynamicSecretAttributeName = "Snap.Hutao.Web.Hoyolab.DynamicSecret.UseDynamicSecretAttribute";
/// <inheritdoc/>
public void Initialize(GeneratorInitializationContext context)
{
// Register a syntax receiver that will be created for each generation pass
context.RegisterForSyntaxNotifications(() => new HttpClientSyntaxContextReceiver());
}
/// <inheritdoc/>
public void Execute(GeneratorExecutionContext context)
{
// retrieve the populated receiver
if (context.SyntaxContextReceiver is not HttpClientSyntaxContextReceiver receiver)
{
return;
}
string toolName = this.GetGeneratorType().FullName;
StringBuilder sourceCodeBuilder = new();
sourceCodeBuilder.Append($@"// Copyright (c) DGP Studio. All rights reserved.
// Licensed under the MIT license.
// This class is generated by Snap.Hutao.SourceGeneration
using Microsoft.Extensions.DependencyInjection;
using Snap.Hutao.Web.Hoyolab.DynamicSecret;
using System.Net.Http;
namespace Snap.Hutao.Core.DependencyInjection;
internal static partial class IocHttpClientConfiguration
{{
[global::System.CodeDom.Compiler.GeneratedCodeAttribute(""{toolName}"",""1.0.0.0"")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
public static partial IServiceCollection AddHttpClients(this IServiceCollection services)
{{");
FillWithInjectionServices(receiver, sourceCodeBuilder);
sourceCodeBuilder.Append(@"
return services;
}
}");
context.AddSource("IocHttpClientConfiguration.g.cs", SourceText.From(sourceCodeBuilder.ToString(), Encoding.UTF8));
}
private static void FillWithInjectionServices(HttpClientSyntaxContextReceiver receiver, StringBuilder sourceCodeBuilder)
{
List<string> lines = new();
StringBuilder lineBuilder = new();
foreach (INamedTypeSymbol classSymbol in receiver.Classes)
{
lineBuilder.Clear().Append("\r\n");
lineBuilder.Append(@" services.AddHttpClient<");
lineBuilder.Append($"{classSymbol.ToDisplayString()}>(");
AttributeData httpClientInfo = classSymbol
.GetAttributes()
.Single(attr => attr.AttributeClass!.ToDisplayString() == HttpClientSyntaxContextReceiver.AttributeName);
ImmutableArray<TypedConstant> arguments = httpClientInfo.ConstructorArguments;
TypedConstant injectAs = arguments[0];
string injectAsName = injectAs.ToCSharpString();
switch (injectAsName)
{
case DefaultName:
lineBuilder.Append(@"DefaultConfiguration)");
break;
case XRpcName:
lineBuilder.Append(@"XRpcConfiguration)");
break;
case XRpc2Name:
lineBuilder.Append(@"XRpc2Configuration)");
break;
default:
throw new InvalidOperationException($"非法的HttpClientConfigration值: [{injectAsName}]");
}
AttributeData? handlerInfo = classSymbol
.GetAttributes()
.SingleOrDefault(attr => attr.AttributeClass!.ToDisplayString() == PrimaryHttpMessageHandlerAttributeName);
if (handlerInfo != null)
{
ImmutableArray<KeyValuePair<string, TypedConstant>> properties = handlerInfo.NamedArguments;
lineBuilder.Append(@".ConfigurePrimaryHttpMessageHandler(() => new HttpClientHandler() {");
foreach (KeyValuePair<string, TypedConstant> property in properties)
{
lineBuilder.Append(" ");
lineBuilder.Append(property.Key);
lineBuilder.Append(" = ");
lineBuilder.Append(property.Value.ToCSharpString());
lineBuilder.Append(",");
}
lineBuilder.Append(" })");
}
if (classSymbol.GetAttributes().Any(attr => attr.AttributeClass!.ToDisplayString() == DynamicSecretAttributeName))
{
lineBuilder.Append(".AddHttpMessageHandler<DynamicSecretHandler>()");
}
lineBuilder.Append(";");
lines.Add(lineBuilder.ToString());
}
foreach (string line in lines.OrderBy(x => x))
{
sourceCodeBuilder.Append(line);
}
}
private class HttpClientSyntaxContextReceiver : ISyntaxContextReceiver
{
/// <summary>
/// 注入特性的名称
/// </summary>
public const string AttributeName = "Snap.Hutao.Core.DependencyInjection.Annotation.HttpClient.HttpClientAttribute";
/// <summary>
/// 所有需要注入的类型符号
/// </summary>
public List<INamedTypeSymbol> Classes { get; } = new();
/// <inheritdoc/>
public void OnVisitSyntaxNode(GeneratorSyntaxContext context)
{
// any class with at least one attribute is a candidate for injection generation
if (context.Node is ClassDeclarationSyntax classDeclarationSyntax && classDeclarationSyntax.AttributeLists.Count > 0)
{
// get as named type symbol
if (context.SemanticModel.GetDeclaredSymbol(classDeclarationSyntax) is INamedTypeSymbol classSymbol)
{
if (classSymbol.GetAttributes().Any(ad => ad.AttributeClass!.ToDisplayString() == AttributeName))
{
Classes.Add(classSymbol);
}
}
}
}
}
}

View File

@@ -1,156 +0,0 @@
// Copyright (c) DGP Studio. All rights reserved.
// Licensed under the MIT license.
using Microsoft.CodeAnalysis;
using Microsoft.CodeAnalysis.CSharp;
using Microsoft.CodeAnalysis.CSharp.Syntax;
using Microsoft.CodeAnalysis.Text;
using System;
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Linq;
using System.Text;
namespace Snap.Hutao.SourceGeneration.DedendencyInjection;
/// <summary>
/// 注入代码生成器
/// 旨在使用源生成器提高注入效率
/// 防止在运行时动态查找注入类型
/// </summary>
[Generator]
public class InjectionGenerator : ISourceGenerator
{
private const string InjectAsSingletonName = "Snap.Hutao.Core.DependencyInjection.Annotation.InjectAs.Singleton";
private const string InjectAsTransientName = "Snap.Hutao.Core.DependencyInjection.Annotation.InjectAs.Transient";
private const string InjectAsScopedName = "Snap.Hutao.Core.DependencyInjection.Annotation.InjectAs.Scoped";
/// <inheritdoc/>
public void Initialize(GeneratorInitializationContext context)
{
// Register a syntax receiver that will be created for each generation pass
context.RegisterForSyntaxNotifications(() => new InjectionSyntaxContextReceiver());
}
/// <inheritdoc/>
public void Execute(GeneratorExecutionContext context)
{
// retrieve the populated receiver
if (context.SyntaxContextReceiver is not InjectionSyntaxContextReceiver receiver)
{
return;
}
string toolName = this.GetGeneratorType().FullName;
StringBuilder sourceCodeBuilder = new();
sourceCodeBuilder.Append($@"// Copyright (c) DGP Studio. All rights reserved.
// Licensed under the MIT license.
// This class is generated by Snap.Hutao.SourceGeneration
using Microsoft.Extensions.DependencyInjection;
namespace Snap.Hutao.Core.DependencyInjection;
internal static partial class ServiceCollectionExtension
{{
[global::System.CodeDom.Compiler.GeneratedCodeAttribute(""{toolName}"",""1.0.0.0"")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
public static partial IServiceCollection AddInjections(this IServiceCollection services)
{{");
FillWithInjectionServices(receiver, sourceCodeBuilder);
sourceCodeBuilder.Append(@"
return services;
}
}");
context.AddSource("ServiceCollectionExtension.g.cs", SourceText.From(sourceCodeBuilder.ToString(), Encoding.UTF8));
}
private static void FillWithInjectionServices(InjectionSyntaxContextReceiver receiver, StringBuilder sourceCodeBuilder)
{
List<string> lines = new();
StringBuilder lineBuilder = new();
foreach (INamedTypeSymbol classSymbol in receiver.Classes)
{
IEnumerable<AttributeData> datas = classSymbol
.GetAttributes()
.Where(attr => attr.AttributeClass!.ToDisplayString() == InjectionSyntaxContextReceiver.AttributeName);
foreach (AttributeData injectionInfo in datas)
{
lineBuilder
.Clear()
.Append("\r\n");
ImmutableArray<TypedConstant> arguments = injectionInfo.ConstructorArguments;
TypedConstant injectAs = arguments[0];
string injectAsName = injectAs.ToCSharpString();
switch (injectAsName)
{
case InjectAsSingletonName:
lineBuilder.Append(@" services.AddSingleton(");
break;
case InjectAsTransientName:
lineBuilder.Append(@" services.AddTransient(");
break;
case InjectAsScopedName:
lineBuilder.Append(@" services.AddScoped(");
break;
default:
throw new InvalidOperationException($"非法的 InjectAs 值: [{injectAsName}]");
}
if (arguments.Length == 2)
{
TypedConstant interfaceType = arguments[1];
lineBuilder.Append($"{interfaceType.ToCSharpString()}, ");
}
lineBuilder.Append($"typeof({classSymbol.ToDisplayString()}));");
lines.Add(lineBuilder.ToString());
}
}
foreach (string line in lines.OrderBy(x => x))
{
sourceCodeBuilder.Append(line);
}
}
private class InjectionSyntaxContextReceiver : ISyntaxContextReceiver
{
/// <summary>
/// 注入特性的名称
/// </summary>
public const string AttributeName = "Snap.Hutao.Core.DependencyInjection.Annotation.InjectionAttribute";
/// <summary>
/// 所有需要注入的类型符号
/// </summary>
public List<INamedTypeSymbol> Classes { get; } = new();
/// <inheritdoc/>
public void OnVisitSyntaxNode(GeneratorSyntaxContext context)
{
// any class with at least one attribute is a candidate for injection generation
if (context.Node is ClassDeclarationSyntax classDeclarationSyntax && classDeclarationSyntax.AttributeLists.Count > 0)
{
// get as named type symbol
if (context.SemanticModel.GetDeclaredSymbol(classDeclarationSyntax) is INamedTypeSymbol classSymbol)
{
if (classSymbol.GetAttributes().Any(ad => ad.AttributeClass!.ToDisplayString() == AttributeName))
{
Classes.Add(classSymbol);
}
}
}
}
}
}

View File

@@ -1,28 +0,0 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
<IsPackable>false</IsPackable>
<LangVersion>latest</LangVersion>
<Nullable>enable</Nullable>
<Platforms>x64</Platforms>
<EnforceExtendedAnalyzerRules>true</EnforceExtendedAnalyzerRules>
</PropertyGroup>
<ItemGroup>
<None Remove="stylecop.json" />
</ItemGroup>
<ItemGroup>
<AdditionalFiles Include="stylecop.json" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.CodeAnalysis.Analyzers" Version="3.3.4-beta1.22518.1">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
<PackageReference Include="Microsoft.CodeAnalysis.CSharp" Version="4.4.0" />
</ItemGroup>
</Project>

View File

@@ -1,23 +0,0 @@
{
"$schema": "https://raw.githubusercontent.com/DotNetAnalyzers/StyleCopAnalyzers/master/StyleCop.Analyzers/StyleCop.Analyzers/Settings/stylecop.schema.json",
"settings": {
"documentationRules": {
"companyName": "DGP Studio",
"copyrightText": "Copyright (c) {companyName}. All rights reserved.\nLicensed under the {licenseName} license.",
"xmlHeader": false,
"variables": {
"licenseName": "MIT"
}
},
"orderingRules": {
"elementOrder": [
"kind",
"accessibility",
"constant",
"static",
"readonly"
],
"usingDirectivesPlacement": "outsideNamespace"
}
}
}

View File

@@ -0,0 +1,37 @@
using System.Collections.Generic;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
namespace Snap.Hutao.Test.BaseClassLibrary;
[TestClass]
public class CollectionsMarshalTest
{
[TestMethod]
public void DictionaryMarshalGetValueRefOrNullRefIsNullRef()
{
Dictionary<uint, string> dictionaryValueKeyRefValue = [];
Dictionary<uint, uint> dictionaryValueKeyValueValue = [];
Dictionary<string, uint> dictionaryRefKeyValueValue = [];
Dictionary<string, string> dictionaryRefKeyRefValue = [];
Assert.IsTrue(Unsafe.IsNullRef(ref CollectionsMarshal.GetValueRefOrNullRef(dictionaryValueKeyRefValue, 1U)));
Assert.IsTrue(Unsafe.IsNullRef(ref CollectionsMarshal.GetValueRefOrNullRef(dictionaryValueKeyValueValue, 1U)));
Assert.IsTrue(Unsafe.IsNullRef(ref CollectionsMarshal.GetValueRefOrNullRef(dictionaryRefKeyValueValue, "no such key")));
Assert.IsTrue(Unsafe.IsNullRef(ref CollectionsMarshal.GetValueRefOrNullRef(dictionaryRefKeyRefValue, "no such key")));
}
[TestMethod]
public void DictionaryMarshalGetValueRefOrAddDefaultIsDefault()
{
Dictionary<uint, string> dictionaryValueKeyRefValue = [];
Dictionary<uint, uint> dictionaryValueKeyValueValue = [];
Dictionary<string, uint> dictionaryRefKeyValueValue = [];
Dictionary<string, string> dictionaryRefKeyRefValue = [];
Assert.IsTrue(CollectionsMarshal.GetValueRefOrAddDefault(dictionaryValueKeyRefValue, 1U, out _) == default);
Assert.IsTrue(CollectionsMarshal.GetValueRefOrAddDefault(dictionaryValueKeyValueValue, 1U, out _) == default);
Assert.IsTrue(CollectionsMarshal.GetValueRefOrAddDefault(dictionaryRefKeyValueValue, "no such key", out _) == default);
Assert.IsTrue(CollectionsMarshal.GetValueRefOrAddDefault(dictionaryRefKeyRefValue, "no such key", out _) == default);
}
}

View File

@@ -0,0 +1,117 @@
using System;
using System.Collections.Generic;
using System.Text.Json;
using System.Text.Json.Serialization;
namespace Snap.Hutao.Test.BaseClassLibrary;
[TestClass]
public sealed class JsonSerializeTest
{
private readonly JsonSerializerOptions AlowStringNumberOptions = new()
{
NumberHandling = JsonNumberHandling.AllowReadingFromString,
};
private const string SmapleObjectJson = """
{
"A" :1
}
""";
private const string SmapleEmptyStringObjectJson = """
{
"A" : ""
}
""";
private const string SmapleNumberKeyDictionaryJson = """
{
"111" : "12",
"222" : "34"
}
""";
[TestMethod]
public void DelegatePropertyCanSerialize()
{
SampleDelegatePropertyClass sample = JsonSerializer.Deserialize<SampleDelegatePropertyClass>(SmapleObjectJson)!;
Assert.AreEqual(sample.B, 1);
}
[TestMethod]
[ExpectedException(typeof(JsonException))]
public void EmptyStringCannotSerializeAsNumber()
{
SampleStringReadWriteNumberPropertyClass sample = JsonSerializer.Deserialize<SampleStringReadWriteNumberPropertyClass>(SmapleEmptyStringObjectJson)!;
Assert.AreEqual(sample.A, 0);
}
[TestMethod]
public void NumberStringKeyCanSerializeAsKey()
{
Dictionary<int, string> sample = JsonSerializer.Deserialize<Dictionary<int, string>>(SmapleNumberKeyDictionaryJson, AlowStringNumberOptions)!;
Assert.AreEqual(sample[111], "12");
}
[TestMethod]
public void ByteArraySerializeAsBase64()
{
SampleByteArrayPropertyClass sample = new()
{
Array = [1, 2, 3, 4, 5],
};
string result = JsonSerializer.Serialize(sample);
Assert.AreEqual(result, """{"Array":"AQIDBAU="}""");
}
[TestMethod]
public void InterfaceDefaultMethodCanSerializeActualInstanceMember()
{
ISampleInterface sample = new SampleClassImplementedInterface()
{
A = 1,
B = 2,
};
string result = sample.ToJson();
Console.WriteLine(result);
Assert.AreEqual(result, """{"A":1,"B":2}""");
}
private sealed class SampleDelegatePropertyClass
{
public int A { get => B; set => B = value; }
public int B { get; set; }
}
private sealed class SampleStringReadWriteNumberPropertyClass
{
[JsonNumberHandling(JsonNumberHandling.AllowReadingFromString | JsonNumberHandling.WriteAsString)]
public int A { get; set; }
}
private sealed class SampleByteArrayPropertyClass
{
public byte[]? Array { get; set; }
}
private sealed class SampleClassImplementedInterface : ISampleInterface
{
public int A { get; set; }
public int B { get; set; }
}
[JsonDerivedType(typeof(SampleClassImplementedInterface))]
private interface ISampleInterface
{
int A { get; set; }
string ToJson()
{
return JsonSerializer.Serialize(this);
}
}
}

View File

@@ -0,0 +1,33 @@
using System;
using System.Collections.Generic;
using System.Linq;
namespace Snap.Hutao.Test.BaseClassLibrary;
[TestClass]
public sealed class LinqTest
{
[TestMethod]
[ExpectedException(typeof(InvalidOperationException))]
public void LinqOrderByWithWrapperStructThrow()
{
List<MyUInt32> list = [1, 5, 2, 6, 3, 7, 4, 8];
string result = string.Join(", ", list.OrderBy(i => i).Select(i => i.Value));
Console.WriteLine(result);
}
private readonly struct MyUInt32
{
public readonly uint Value;
public MyUInt32(uint value)
{
Value = value;
}
public static implicit operator MyUInt32(uint value)
{
return new(value);
}
}
}

View File

@@ -0,0 +1,19 @@
using System;
namespace Snap.Hutao.Test.BaseClassLibrary;
[TestClass]
public sealed class TypeReflectionTest
{
[TestMethod]
public void TypeCodeOfEnumIsUserlyingTypeTypeCode()
{
Assert.AreEqual(Type.GetTypeCode(typeof(TestEnum)), TypeCode.Int32);
}
private enum TestEnum
{
A,
B,
}
}

View File

@@ -0,0 +1 @@
global using Microsoft.VisualStudio.TestTools.UnitTesting;

View File

@@ -0,0 +1,67 @@
using Microsoft.Win32;
using System;
using System.Collections.Generic;
using System.Runtime.InteropServices;
using System.Runtime.Versioning;
using System.Text;
using System.Text.Json;
namespace Snap.Hutao.Test.IncomingFeature;
[TestClass]
public class GameRegistryContentTest
{
private static readonly JsonSerializerOptions RegistryContentSerializerOptions = new()
{
WriteIndented = true,
Encoder = System.Text.Encodings.Web.JavaScriptEncoder.UnsafeRelaxedJsonEscaping,
};
[TestMethod]
[SupportedOSPlatform("windows")]
public void GetRegistryContent()
{
GetRegistryContentCore(@"Software\miHoYo\原神");
GetRegistryContentCore(@"Software\miHoYo\Genshin Impact");
}
[SupportedOSPlatform("windows")]
private static void GetRegistryContentCore(string subkey)
{
using (RegistryKey key = RegistryKey.OpenBaseKey(RegistryHive.CurrentUser, RegistryView.Registry64))
{
RegistryKey? gameKey = key.OpenSubKey(subkey);
Assert.IsNotNull(gameKey);
Dictionary<string, object> data = [];
foreach (string valueName in gameKey.GetValueNames())
{
data[valueName] = gameKey.GetValueKind(valueName) switch
{
RegistryValueKind.DWord => (int)gameKey.GetValue(valueName)!,
RegistryValueKind.Binary => GetStringOrObject((byte[])gameKey.GetValue(valueName)!),
_ => throw new NotImplementedException()
};
}
Console.WriteLine($"Subkey: {subkey}");
Console.WriteLine(JsonSerializer.Serialize(data, RegistryContentSerializerOptions));
}
}
private static unsafe object GetStringOrObject(byte[] bytes)
{
fixed (byte* pByte = bytes)
{
ReadOnlySpan<byte> span = MemoryMarshal.CreateReadOnlySpanFromNullTerminated(pByte);
string temp = Encoding.UTF8.GetString(span);
if (temp.AsSpan()[0] is '{' or '[')
{
return JsonSerializer.Deserialize<JsonElement>(temp);
}
return temp;
}
}
}

View File

@@ -0,0 +1,239 @@
using System;
using System.Buffers.Binary;
using System.Globalization;
using System.Text;
namespace Snap.Hutao.Test.IncomingFeature;
[TestClass]
public sealed class GeniusInvokationDecoding
{
public TestContext? TestContext { get; set; }
/// <summary>
/// https://www.bilibili.com/video/av278125720
/// </summary>
[TestMethod]
public unsafe void GeniusInvokationShareCodeDecoding()
{
// 51 bytes obfuscated data
byte[] bytes = Convert.FromBase64String("BCHBwxQNAYERyVANCJGBynkOCZER2pgOCrFx8poQChGR9bYQDEGB9rkQDFKRD7oRDeEB");
// ---------------------------------------------
// | Data | Caesar Cipher Key |
// |----------|-------------------|
// | 50 Bytes | 1 Byte |
// ---------------------------------------------
// Data:
// 00000100 00100001 11000001 11000011 00010100
// 00001101 00000001 10000001 00010001 11001001
// 01010000 00001101 00001000 10010001 10000001
// 11001010 01111001 00001110 00001001 10010001
// 00010001 11011010 10011000 00001110 00001010
// 10110001 01110001 11110010 10011010 00010000
// 00001010 00010001 10010001 11110101 10110110
// 00010000 00001100 01000001 10000001 11110110
// 10111001 00010000 00001100 01010010 10010001
// 00001111 10111010 00010001 00001101 11100001
// ---------------------------------------------
// Caesar Cipher Key:
// 00000001
// ---------------------------------------------
fixed (byte* ptr = bytes)
{
// Reinterpret as 50 byte actual data and 1 deobfuscate key byte
EncryptedDataAndKey* data = (EncryptedDataAndKey*)ptr;
byte* dataPtr = data->Data;
// ----------------------------------------------------------
// | First | Second | Padding |
// |-----------|----------|---------|
// | 25 Bytes | 25 Bytes | 1 Byte |
// ----------------------------------------------------------
// We are doing two things here:
// 1. Retrieve actual data by subtracting key
// 2. Store data into two halves by alternating between them
// ----------------------------------------------------------
// What we will get after this step:
// ----------------------------------------------------------
// First:
// 00000011 11000000 00010011 00000000 00010000
// 01001111 00000111 10000000 01111000 00001000
// 00010000 10010111 00001001 01110000 10011001
// 00001001 10010000 10110101 00001011 10000000
// 10111000 00001011 10010000 10111001 00001100
// ----------------------------------------------------------
// Second:
// 00100000 11000010 00001100 10000000 11001000
// 00001100 10010000 11001001 00001101 10010000
// 11011001 00001101 10110000 11110001 00001111
// 00010000 11110100 00001111 01000000 11110101
// 00001111 01010001 00001110 00010000 11100000
// ----------------------------------------------------------
RearrangeBuffer rearranged = default;
byte* pFirst = rearranged.First;
byte* pSecond = rearranged.Second;
for (int i = 0; i < 50; i++)
{
// Determine which half are we going to insert
byte** ppTarget = i % 2 == 0 ? &pFirst : &pSecond;
// (actual data = data - key) and store it directly to the target half
**ppTarget = unchecked((byte)(dataPtr[i] - data->Key));
(*ppTarget)++;
}
// Prepare decoded data result storage
DecryptedData decoded = default;
ushort* pDecoded = decoded.Data;
// ----------------------------------------------------------
// | Data |
// |----------| x 17 = 51 Bytes
// | 3 Bytes |
// ----------------------------------------------------------
// Grouping each 3 bytes and read out as 2 ushort with
// 12 bits each (Big Endian)
// ----------------------------------------------------------
// 00000011 1100·0000 00010011|
// 00000000 0001·0000 01001111|
// 00000111 1000·0000 01111000|
// 00001000 0001·0000 10010111|
// 00001001 0111·0000 10011001|
// 00001001 1001·0000 10110101|
// 00001011 1000·0000 10111000|
// 00001011 1001·0000 10111001|
// 00001100 0010·0000 11000010|
// 00001100 1000·0000 11001000|
// 00001100 1001·0000 11001001|
// 00001101 1001·0000 11011001|
// 00001101 1011·0000 11110001|
// 00001111 0001·0000 11110100|
// 00001111 0100·0000 11110101|
// 00001111 0101·0001 00001110|
// 00010000 1110·0000 -padding|[padding32]
// ----------------------------------------------------------
// reinterpret as DecodeGroupingHelper for each 3 bytes
DecodeGroupingHelper* pGroup = (DecodeGroupingHelper*)&rearranged;
for (int i = 0; i < 17; i++)
{
(ushort first, ushort second) = pGroup->GetData();
*pDecoded = first;
*(pDecoded + 1) = second;
pDecoded += 2;
pGroup++;
}
// Now we get
// 60, 19, 1,
// 79,120,120,
// 129,151,151,
// 153,153,181,
// 184,184,185,
// 185,194,194,
// 200,200,201,
// 201,217,217,
// 219,241,241,
// 244,244,245,
// 245,270,270,
StringBuilder stringBuilder = new();
for (int i = 0; i < 33; i++)
{
stringBuilder
.AppendFormat(CultureInfo.InvariantCulture, "{0,3}", decoded.Data[i])
.Append(',');
if (i % 11 == 10)
{
stringBuilder.Append('\n');
}
}
TestContext?.WriteLine(stringBuilder.ToString(0, stringBuilder.Length - 1));
ushort[] resultArray = new ushort[33];
Span<ushort> result = new((ushort*)&decoded, 33);
result.CopyTo(resultArray);
ushort[] testKnownResult =
[
060,
019,
001,
079,
120,
120,
129,
151,
151,
153,
153,
181,
184,
184,
185,
185,
194,
194,
200,
200,
201,
201,
217,
217,
219,
241,
241,
244,
244,
245,
245,
270,
270,
];
CollectionAssert.AreEqual(resultArray, testKnownResult);
}
}
private struct EncryptedDataAndKey
{
public unsafe fixed byte Data[50];
public byte Key;
}
private struct RearrangeBuffer
{
public unsafe fixed byte First[25];
public unsafe fixed byte Second[25];
// Make it 51 bytes
// allow to be group as 17 DecodeGroupingHelper later
public byte padding;
// prevent accidently int32 cast access violation
public byte paddingTo32;
}
private struct DecodeGroupingHelper
{
public unsafe fixed byte Data[3];
public unsafe (ushort First, ushort Second) GetData()
{
fixed (byte* ptr = Data)
{
uint value = BinaryPrimitives.ReverseEndianness((*(uint*)ptr) & 0x00FFFFFF) >> 8; // keep low 24 bits only
return ((ushort)((value >> 12) & 0x0FFF), (ushort)(value & 0x0FFF));
}
}
}
private struct DecryptedData
{
public unsafe fixed ushort Data[33];
}
}

View File

@@ -0,0 +1,43 @@
using System;
namespace Snap.Hutao.Test.IncomingFeature;
[TestClass]
public class SpiralAbyssScheduleIdTest
{
private static readonly TimeSpan Utc8 = new(8, 0, 0);
[TestMethod]
public void Test()
{
Console.WriteLine($"当前第 {GetForDateTimeOffset(DateTimeOffset.Now)} 期");
DateTimeOffset dateTimeOffset = new(2020, 7, 1, 4, 0, 0, Utc8);
Console.WriteLine($"2020-07-01 04:00:00 为第 {GetForDateTimeOffset(dateTimeOffset)} 期");
}
public static int GetForDateTimeOffset(DateTimeOffset dateTimeOffset)
{
// Force time in UTC+08
dateTimeOffset = dateTimeOffset.ToOffset(Utc8);
((int year, int mouth, int day), (int hour, _), _) = dateTimeOffset;
// 2020-07-01 04:00:00 为第 1 期
int periodNum = (((year - 2020) * 12) + (mouth - 6)) * 2;
// 上半月1-15 日, 以及 16 日 00:00-04:00
if (day < 16 || (day == 16 && hour < 4))
{
periodNum--;
}
// 上个月1 日 00:00-04:00
if (day is 1 && hour < 4)
{
periodNum--;
}
return periodNum;
}
}

View File

@@ -0,0 +1,89 @@
using Microsoft.Extensions.DependencyInjection;
using System;
namespace Snap.Hutao.Test.PlatformExtensions;
[TestClass]
public sealed class DependencyInjectionTest
{
private readonly IServiceProvider services = new ServiceCollection()
.AddSingleton<IService, ServiceA>()
.AddSingleton<IService, ServiceB>()
.AddScoped<IScopedService, ServiceA>()
.AddTransient(typeof(IGenericService<>), typeof(GenericService<>))
.BuildServiceProvider();
[TestMethod]
public void OriginalTypeCannotResolved()
{
Assert.IsNull(services.GetService<ServiceA>());
Assert.IsNull(services.GetService<ServiceB>());
}
[TestMethod]
public void GenericServicesCanBeResolved()
{
IServiceProvider services = new ServiceCollection()
.AddTransient(typeof(IGenericService<>), typeof(GenericService<>))
.BuildServiceProvider();
Assert.IsNotNull(services.GetService<IGenericService<int>>());
}
[TestMethod]
public void ScopedServiceInitializeMultipleTimesInScope()
{
using (IServiceScope scope = services.CreateScope())
{
IScopedService service1 = scope.ServiceProvider.GetRequiredService<IScopedService>();
IScopedService service2 = scope.ServiceProvider.GetRequiredService<IScopedService>();
Assert.AreNotEqual(service1.Id, service2.Id);
}
}
private interface IService
{
Guid Id { get; }
}
private interface IScopedService
{
Guid Id { get; }
}
private sealed class ServiceA : IService, IScopedService
{
public Guid Id
{
get => Guid.NewGuid();
}
}
private sealed class ServiceB : IService
{
public Guid Id
{
get => throw new NotImplementedException();
}
}
private interface IGenericService<T>
{
}
private sealed class GenericService<T> : IGenericService<T>
{
}
private sealed class NonInjectedServiceA
{
}
private sealed class NonInjectedServiceB
{
[ActivatorUtilitiesConstructor]
public NonInjectedServiceB(NonInjectedServiceA? serviceA)
{
}
}
}

View File

@@ -0,0 +1,35 @@
using System;
namespace Snap.Hutao.Test.RuntimeBehavior;
[TestClass]
public sealed class EnumRuntimeBehaviorTest
{
[TestMethod]
[ExpectedException(typeof(ArgumentException))]
public void EnumParseCanNotHandleEmptyString()
{
Enum.Parse<EnumA>(string.Empty);
}
[TestMethod]
public void EnumParseCanHandleNumberString()
{
EnumA a = Enum.Parse<EnumA>("2");
Assert.AreEqual(a, EnumA.ValueB);
}
[TestMethod]
public void EnumToStringDecimal()
{
Assert.AreEqual("2", EnumA.ValueB.ToString("D"));
}
private enum EnumA
{
None = 0,
ValueA = 1,
ValueB = 2,
ValueC = 3,
}
}

View File

@@ -0,0 +1,27 @@
using System;
using System.Collections.Generic;
namespace Snap.Hutao.Test.RuntimeBehavior;
[TestClass]
public sealed class ForEachRuntimeBehaviorTest
{
[TestMethod]
public void ListOfStringCanEnumerateAsReadOnlySpanOfChar()
{
List<string> strings =
#if NET8_0_OR_GREATER
["a", "b", "c"];
#else
new() { "a", "b", "c" };
#endif
int count = 0;
foreach (ReadOnlySpan<char> chars in strings)
{
Assert.IsTrue(chars.Length == 1);
++count;
}
Assert.AreEqual(3, count);
}
}

View File

@@ -0,0 +1,15 @@
using System;
namespace Snap.Hutao.Test.RuntimeBehavior;
[TestClass]
public sealed class PropertyRuntimeBehaviorTest
{
[TestMethod]
public void GetTwiceOnPropertyResultsNotSame()
{
Assert.AreNotEqual(UUID, UUID);
}
public static Guid UUID { get => Guid.NewGuid(); }
}

View File

@@ -0,0 +1,22 @@
using System;
namespace Snap.Hutao.Test.RuntimeBehavior;
[TestClass]
public sealed class RangeRuntimeBehaviorTest
{
[TestMethod]
public void RangeTrimLastOne()
{
#if NET8_0_OR_GREATER
int[] array = [1, 2, 3, 4];
int[] test = [1, 2, 3];
#else
int[] array = { 1, 2, 3, 4 };
int[] test = { 1, 2, 3 };
#endif
int[] result = array[..^1];
Assert.AreEqual(3, result.Length);
Assert.IsTrue(MemoryExtensions.SequenceEqual<int>(test, result));
}
}

View File

@@ -0,0 +1,35 @@
using System;
namespace Snap.Hutao.Test.RuntimeBehavior;
[TestClass]
public sealed class StringRuntimeBehaviorTest
{
[TestMethod]
public unsafe void NullStringFixedIsNullPointer()
{
string testStr = null!;
fixed (char* pStr = testStr)
{
Assert.IsTrue(pStr == null);
}
}
[TestMethod]
public unsafe void EmptyStringFixedIsNullTerminator()
{
string testStr = string.Empty;
fixed (char* pStr = testStr)
{
Assert.IsTrue(*pStr == '\0');
}
}
[TestMethod]
public unsafe void EmptyStringAsSpanIsZeroLength()
{
string testStr = string.Empty;
ReadOnlySpan<char> testSpan = testStr;
Assert.IsTrue(testSpan.Length == 0);
}
}

View File

@@ -0,0 +1,71 @@
using System.Collections.Generic;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
namespace Snap.Hutao.Test.RuntimeBehavior;
[TestClass]
public sealed class UnsafeRuntimeBehaviorTest
{
[TestMethod]
public unsafe void UInt32AllSetIsUInt32MaxValue()
{
byte[] bytes =
#if NET8_0_OR_GREATER
[0xFF, 0xFF, 0xFF, 0xFF];
#else
{ 0xFF, 0xFF, 0xFF, 0xFF, };
#endif
fixed (byte* pBytes = bytes)
{
Assert.AreEqual(uint.MaxValue, *(uint*)pBytes);
}
}
[TestMethod]
public unsafe void UInt32LayoutIsLittleEndian()
{
ulong testValue = 0x1234567887654321;
ref BuildVersion version = ref Unsafe.As<ulong, BuildVersion>(ref testValue);
Assert.AreEqual(0x1234, version.Major);
Assert.AreEqual(0x5678, version.Minor);
Assert.AreEqual(0x8765, version.Patch);
Assert.AreEqual(0x4321, version.Build);
}
[TestMethod]
public unsafe void ReadOnlyStructCanBeModifiedInCtor()
{
TestStruct testStruct = new([4444, 7878, 5656, 1212]);
Assert.AreEqual(4444, testStruct.Value1);
Assert.AreEqual(7878, testStruct.Value2);
Assert.AreEqual(5656, testStruct.Value3);
Assert.AreEqual(1212, testStruct.Value4);
}
private readonly struct TestStruct
{
public readonly int Value1;
public readonly int Value2;
public readonly int Value3;
public readonly int Value4;
public TestStruct(List<int> list)
{
CollectionsMarshal.AsSpan(list).CopyTo(MemoryMarshal.CreateSpan(ref Unsafe.As<TestStruct, int>(ref this), 4));
}
}
private readonly struct BuildVersion
{
public readonly ushort Build;
public readonly ushort Patch;
public readonly ushort Minor;
public readonly ushort Major;
}
}

View File

@@ -0,0 +1,24 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFrameworks>net8.0</TargetFrameworks>
<ImplicitUsings>disable</ImplicitUsings>
<Nullable>enable</Nullable>
<IsPackable>false</IsPackable>
<IsTestProject>true</IsTestProject>
<AllowUnsafeBlocks>True</AllowUnsafeBlocks>
<Configurations>Debug;Release</Configurations>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="8.0.0" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.8.0" />
<PackageReference Include="MSTest.TestAdapter" Version="3.2.0" />
<PackageReference Include="MSTest.TestFramework" Version="3.2.0" />
<PackageReference Include="coverlet.collector" Version="6.0.0">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
</ItemGroup>
</Project>

View File

@@ -8,11 +8,10 @@ EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{9A95A964-04B1-477A-BDE7-505525B3CAD8}"
ProjectSection(SolutionItems) = preProject
.editorconfig = .editorconfig
.vsconfig = .vsconfig
EndProjectSection
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Snap.Hutao.SourceGeneration", "Snap.Hutao.SourceGeneration\Snap.Hutao.SourceGeneration.csproj", "{8B96721E-5604-47D2-9B72-06FEBAD0CE00}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Snap.Hutao.Installer", "Snap.Hutao.Installer\Snap.Hutao.Installer.csproj", "{CEC01691-F65E-4874-9AE2-F571369A7631}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Snap.Hutao.Test", "Snap.Hutao.Test\Snap.Hutao.Test.csproj", "{D691BA9F-904C-4229-87A5-E14F2EFF2F64}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -50,43 +49,32 @@ Global
{AAAB7CF0-F299-49B8-BDB4-4C320B3EC2C7}.Release|x86.ActiveCfg = Release|x86
{AAAB7CF0-F299-49B8-BDB4-4C320B3EC2C7}.Release|x86.Build.0 = Release|x86
{AAAB7CF0-F299-49B8-BDB4-4C320B3EC2C7}.Release|x86.Deploy.0 = Release|x86
{8B96721E-5604-47D2-9B72-06FEBAD0CE00}.Debug|Any CPU.ActiveCfg = Debug|x64
{8B96721E-5604-47D2-9B72-06FEBAD0CE00}.Debug|Any CPU.Build.0 = Debug|x64
{8B96721E-5604-47D2-9B72-06FEBAD0CE00}.Debug|arm64.ActiveCfg = Debug|Any CPU
{8B96721E-5604-47D2-9B72-06FEBAD0CE00}.Debug|arm64.Build.0 = Debug|Any CPU
{8B96721E-5604-47D2-9B72-06FEBAD0CE00}.Debug|x64.ActiveCfg = Debug|x64
{8B96721E-5604-47D2-9B72-06FEBAD0CE00}.Debug|x64.Build.0 = Debug|x64
{8B96721E-5604-47D2-9B72-06FEBAD0CE00}.Debug|x86.ActiveCfg = Debug|Any CPU
{8B96721E-5604-47D2-9B72-06FEBAD0CE00}.Debug|x86.Build.0 = Debug|Any CPU
{8B96721E-5604-47D2-9B72-06FEBAD0CE00}.Release|Any CPU.ActiveCfg = Release|Any CPU
{8B96721E-5604-47D2-9B72-06FEBAD0CE00}.Release|Any CPU.Build.0 = Release|Any CPU
{8B96721E-5604-47D2-9B72-06FEBAD0CE00}.Release|arm64.ActiveCfg = Release|Any CPU
{8B96721E-5604-47D2-9B72-06FEBAD0CE00}.Release|arm64.Build.0 = Release|Any CPU
{8B96721E-5604-47D2-9B72-06FEBAD0CE00}.Release|x64.ActiveCfg = Release|x64
{8B96721E-5604-47D2-9B72-06FEBAD0CE00}.Release|x64.Build.0 = Release|x64
{8B96721E-5604-47D2-9B72-06FEBAD0CE00}.Release|x86.ActiveCfg = Release|Any CPU
{8B96721E-5604-47D2-9B72-06FEBAD0CE00}.Release|x86.Build.0 = Release|Any CPU
{CEC01691-F65E-4874-9AE2-F571369A7631}.Debug|Any CPU.ActiveCfg = Debug|x64
{CEC01691-F65E-4874-9AE2-F571369A7631}.Debug|Any CPU.Build.0 = Debug|x64
{CEC01691-F65E-4874-9AE2-F571369A7631}.Debug|arm64.ActiveCfg = Debug|Any CPU
{CEC01691-F65E-4874-9AE2-F571369A7631}.Debug|arm64.Build.0 = Debug|Any CPU
{CEC01691-F65E-4874-9AE2-F571369A7631}.Debug|x64.ActiveCfg = Debug|x64
{CEC01691-F65E-4874-9AE2-F571369A7631}.Debug|x64.Build.0 = Debug|x64
{CEC01691-F65E-4874-9AE2-F571369A7631}.Debug|x86.ActiveCfg = Debug|Any CPU
{CEC01691-F65E-4874-9AE2-F571369A7631}.Debug|x86.Build.0 = Debug|Any CPU
{CEC01691-F65E-4874-9AE2-F571369A7631}.Release|Any CPU.ActiveCfg = Release|Any CPU
{CEC01691-F65E-4874-9AE2-F571369A7631}.Release|Any CPU.Build.0 = Release|Any CPU
{CEC01691-F65E-4874-9AE2-F571369A7631}.Release|arm64.ActiveCfg = Release|Any CPU
{CEC01691-F65E-4874-9AE2-F571369A7631}.Release|arm64.Build.0 = Release|Any CPU
{CEC01691-F65E-4874-9AE2-F571369A7631}.Release|x64.ActiveCfg = Release|x64
{CEC01691-F65E-4874-9AE2-F571369A7631}.Release|x64.Build.0 = Release|x64
{CEC01691-F65E-4874-9AE2-F571369A7631}.Release|x86.ActiveCfg = Release|Any CPU
{CEC01691-F65E-4874-9AE2-F571369A7631}.Release|x86.Build.0 = Release|Any CPU
{D691BA9F-904C-4229-87A5-E14F2EFF2F64}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{D691BA9F-904C-4229-87A5-E14F2EFF2F64}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D691BA9F-904C-4229-87A5-E14F2EFF2F64}.Debug|arm64.ActiveCfg = Debug|Any CPU
{D691BA9F-904C-4229-87A5-E14F2EFF2F64}.Debug|arm64.Build.0 = Debug|Any CPU
{D691BA9F-904C-4229-87A5-E14F2EFF2F64}.Debug|x64.ActiveCfg = Debug|Any CPU
{D691BA9F-904C-4229-87A5-E14F2EFF2F64}.Debug|x64.Build.0 = Debug|Any CPU
{D691BA9F-904C-4229-87A5-E14F2EFF2F64}.Debug|x86.ActiveCfg = Debug|Any CPU
{D691BA9F-904C-4229-87A5-E14F2EFF2F64}.Debug|x86.Build.0 = Debug|Any CPU
{D691BA9F-904C-4229-87A5-E14F2EFF2F64}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D691BA9F-904C-4229-87A5-E14F2EFF2F64}.Release|Any CPU.Build.0 = Release|Any CPU
{D691BA9F-904C-4229-87A5-E14F2EFF2F64}.Release|arm64.ActiveCfg = Release|Any CPU
{D691BA9F-904C-4229-87A5-E14F2EFF2F64}.Release|arm64.Build.0 = Release|Any CPU
{D691BA9F-904C-4229-87A5-E14F2EFF2F64}.Release|x64.ActiveCfg = Release|Any CPU
{D691BA9F-904C-4229-87A5-E14F2EFF2F64}.Release|x64.Build.0 = Release|Any CPU
{D691BA9F-904C-4229-87A5-E14F2EFF2F64}.Release|x86.ActiveCfg = Release|Any CPU
{D691BA9F-904C-4229-87A5-E14F2EFF2F64}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
RESX_AutoApplyExistingTranslations = False
RESX_NeutralResourcesLanguage = zh-CN
SolutionGuid = {E4449B1C-0E6A-4D19-955E-1CA491656ABA}
RESX_SortFileContentOnSave = True
RESX_ShowErrorsInErrorList = False
RESX_Rules = {"EnabledRules":["StringFormat","WhiteSpaceLead","WhiteSpaceTail","PunctuationLead"]}
EndGlobalSection
EndGlobal

View File

@@ -4,12 +4,18 @@
"add": {
"extensionToExtension": {
"add": {
".json": [ ".txt" ]
".json": [
".txt"
]
}
},
"pathSegment": {
"add": {
".*": [ ".cs", ".resx" ]
".*": [
".cs",
".resx",
".appxmanifest"
]
}
},
"fileSuffixToExtension": {
@@ -19,12 +25,24 @@
},
"fileToFile": {
"add": {
".filenesting.json": [ "App.xaml.cs" ],
"app.manifest": [ "App.xaml.cs" ],
"Package.appxmanifest": [ "App.xaml" ],
"Package.StoreAssociation.xml": [ "App.xaml" ],
".editorconfig": [ "Program.cs" ],
"GlobalUsing.cs": [ "Program.cs" ]
".filenesting.json": [
"App.xaml.cs"
],
"app.manifest": [
"App.xaml.cs"
],
"Package.appxmanifest": [
"App.xaml"
],
"Package.StoreAssociation.xml": [
"App.xaml"
],
".editorconfig": [
"Program.cs"
],
"GlobalUsing.cs": [
"Program.cs"
]
}
}
}

View File

@@ -1,445 +1,55 @@
<Application
x:Class="Snap.Hutao.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:cwuc="using:CommunityToolkit.WinUI.UI.Converters"
xmlns:muxc="using:Microsoft.UI.Xaml.Controls"
xmlns:shmmc="using:Snap.Hutao.Model.Metadata.Converter"
xmlns:shvc="using:Snap.Hutao.View.Converter">
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<muxc:XamlControlsResources/>
<ResourceDictionary Source="ms-appx:///SettingsUI/Themes/Generic.xaml"/>
<ResourceDictionary Source="Control/Theme/FontStyle.xaml"/>
<XamlControlsResources/>
<ResourceDictionary Source="ms-appx:///Control/Loading.xaml"/>
<ResourceDictionary Source="ms-appx:///Control/Image/CachedImage.xaml"/>
<ResourceDictionary Source="ms-appx:///Control/Theme/Card.xaml"/>
<ResourceDictionary Source="ms-appx:///Control/Theme/Color.xaml"/>
<ResourceDictionary Source="ms-appx:///Control/Theme/ComboBox.xaml"/>
<ResourceDictionary Source="ms-appx:///Control/Theme/Converter.xaml"/>
<ResourceDictionary Source="ms-appx:///Control/Theme/CornerRadius.xaml"/>
<ResourceDictionary Source="ms-appx:///Control/Theme/FlyoutStyle.xaml"/>
<ResourceDictionary Source="ms-appx:///Control/Theme/FontStyle.xaml"/>
<ResourceDictionary Source="ms-appx:///Control/Theme/Glyph.xaml"/>
<ResourceDictionary Source="ms-appx:///Control/Theme/InfoBarOverride.xaml"/>
<ResourceDictionary Source="ms-appx:///Control/Theme/ItemsPanelTemplate.xaml"/>
<ResourceDictionary Source="ms-appx:///Control/Theme/NumericValue.xaml"/>
<ResourceDictionary Source="ms-appx:///Control/Theme/PageOverride.xaml"/>
<ResourceDictionary Source="ms-appx:///Control/Theme/PivotOverride.xaml"/>
<ResourceDictionary Source="ms-appx:///Control/Theme/ScrollViewer.xaml"/>
<ResourceDictionary Source="ms-appx:///Control/Theme/SettingsStyle.xaml"/>
<ResourceDictionary Source="ms-appx:///Control/Theme/Thickness.xaml"/>
<ResourceDictionary Source="ms-appx:///Control/Theme/TransitionCollection.xaml"/>
<ResourceDictionary Source="ms-appx:///Control/Theme/Uri.xaml"/>
<ResourceDictionary Source="ms-appx:///Control/Theme/WindowOverride.xaml"/>
</ResourceDictionary.MergedDictionaries>
<ResourceDictionary.ThemeDictionaries>
<ResourceDictionary x:Key="Light">
<Color x:Key="AvatarPropertyAddValueColor">#FF74BF00</Color>
<Color x:Key="CompatBackgroundColor">#FFF4F4F4</Color>
</ResourceDictionary>
<ResourceDictionary x:Key="Dark">
<Color x:Key="AvatarPropertyAddValueColor">#FF90E800</Color>
<Color x:Key="CompatBackgroundColor">#FF242424</Color>
</ResourceDictionary>
</ResourceDictionary.ThemeDictionaries>
<!-- Modify Window title bar color -->
<StaticResource x:Key="WindowCaptionBackground" ResourceKey="ControlFillColorTransparentBrush"/>
<StaticResource x:Key="WindowCaptionBackgroundDisabled" ResourceKey="ControlFillColorTransparentBrush"/>
<!-- Page Transparent Background -->
<StaticResource x:Key="ApplicationPageBackgroundThemeBrush" ResourceKey="ControlFillColorTransparentBrush"/>
<!-- InfoBar Resource -->
<Thickness x:Key="InfoBarIconMargin">6,16,16,16</Thickness>
<Thickness x:Key="InfoBarContentRootPadding">16,0,0,0</Thickness>
<!-- Pivot Resource -->
<x:Double x:Key="PivotHeaderItemFontSize">16</x:Double>
<Thickness x:Key="PivotHeaderItemMargin">16,0,0,0</Thickness>
<Thickness x:Key="PivotItemMargin">0</Thickness>
<!-- CornerRadius -->
<CornerRadius x:Key="CompatCornerRadius">6</CornerRadius>
<CornerRadius x:Key="CompatCornerRadiusTop">6,6,0,0</CornerRadius>
<CornerRadius x:Key="CompatCornerRadiusRight">0,6,6,0</CornerRadius>
<CornerRadius x:Key="CompatCornerRadiusBottom">0,0,6,6</CornerRadius>
<CornerRadius x:Key="CompatCornerRadiusSmall">2</CornerRadius>
<!-- OpenPaneLength -->
<x:Double x:Key="CompatSplitViewOpenPaneLength">212</x:Double>
<x:Double x:Key="CompatSplitViewOpenPaneLength2">268</x:Double>
<GridLength x:Key="CompatGridLength2">268</GridLength>
<!-- Brushes -->
<SolidColorBrush x:Key="AvatarPropertyAddValueBrush" Color="{ThemeResource AvatarPropertyAddValueColor}"/>
<!-- Uris -->
<x:String x:Key="DocumentLink_MhyAccountSwitch">https://hut.ao/features/mhy-account-switch.html#%E5%A6%82%E4%BD%95%E8%8E%B7%E5%8F%96-cookie</x:String>
<x:String x:Key="DocumentLink_BugReport">https://hut.ao/statements/bug-report.html</x:String>
<x:String x:Key="HolographicHat_GetToken_Release">https://github.com/HolographicHat/GetToken/releases/latest</x:String>
<x:String x:Key="UI_ItemIcon_None">https://static.snapgenshin.com/Bg/UI_ItemIcon_None.png</x:String>
<x:String x:Key="UI_ImgSign_ItemIcon">https://static.snapgenshin.com/Bg/UI_ImgSign_ItemIcon.png</x:String>
<x:String x:Key="UI_AvatarIcon_Costume_Card">https://static.snapgenshin.com/AvatarCard/UI_AvatarIcon_Costume_Card.png</x:String>
<x:String x:Key="UI_EmotionIcon25">https://static.snapgenshin.com/EmotionIcon/UI_EmotionIcon25.png</x:String>
<x:String x:Key="UI_EmotionIcon71">https://static.snapgenshin.com/EmotionIcon/UI_EmotionIcon71.png</x:String>
<x:String x:Key="UI_EmotionIcon250">https://static.snapgenshin.com/EmotionIcon/UI_EmotionIcon250.png</x:String>
<x:String x:Key="UI_EmotionIcon272">https://static.snapgenshin.com/EmotionIcon/UI_EmotionIcon272.png</x:String>
<x:String x:Key="UI_EmotionIcon293">https://static.snapgenshin.com/EmotionIcon/UI_EmotionIcon293.png</x:String>
<!-- Converters -->
<cwuc:BoolNegationConverter x:Key="BoolNegationConverter"/>
<cwuc:BoolToVisibilityConverter x:Key="BoolToVisibilityConverter"/>
<shmmc:AchievementIconConverter x:Key="AchievementIconConverter"/>
<shmmc:AvatarCardConverter x:Key="AvatarCardConverter"/>
<shmmc:AvatarIconConverter x:Key="AvatarIconConverter"/>
<shmmc:AvatarNameCardPicConverter x:Key="AvatarNameCardPicConverter"/>
<shmmc:AvatarSideIconConverter x:Key="AvatarSideIconConverter"/>
<shmmc:DescParamDescriptor x:Key="DescParamDescriptor"/>
<shmmc:ElementNameIconConverter x:Key="ElementNameIconConverter"/>
<shmmc:EmotionIconConverter x:Key="EmotionIconConverter"/>
<shmmc:EquipIconConverter x:Key="EquipIconConverter"/>
<shmmc:GachaAvatarImgConverter x:Key="GachaAvatarImgConverter"/>
<shmmc:GachaAvatarIconConverter x:Key="GachaAvatarIconConverter"/>
<shmmc:GachaEquipIconConverter x:Key="GachaEquipIconConverter"/>
<shmmc:ItemIconConverter x:Key="ItemIconConverter"/>
<shmmc:PropertyInfoDescriptor x:Key="PropertyDescriptor"/>
<shmmc:QualityColorConverter x:Key="QualityColorConverter"/>
<shmmc:WeaponTypeIconConverter x:Key="WeaponTypeIconConverter"/>
<shvc:BoolToVisibilityRevertConverter x:Key="BoolToVisibilityRevertConverter"/>
<shvc:EmptyObjectToBoolConverter x:Key="EmptyObjectToBoolConverter"/>
<shvc:EmptyObjectToBoolRevertConverter x:Key="EmptyObjectToBoolRevertConverter"/>
<shvc:EmptyObjectToVisibilityConverter x:Key="EmptyObjectToVisibilityConverter"/>
<shvc:EmptyObjectToVisibilityRevertConverter x:Key="EmptyObjectToVisibilityRevertConverter"/>
<shvc:Int32ToVisibilityConverter x:Key="Int32ToVisibilityConverter"/>
<shvc:Int32ToVisibilityRevertConverter x:Key="Int32ToVisibilityRevertConverter"/>
<!-- Styles -->
<Style
x:Key="LargeGridViewItemStyle"
BasedOn="{StaticResource DefaultGridViewItemStyle}"
TargetType="GridViewItem">
<Setter Property="HorizontalContentAlignment" Value="Stretch"/>
<Setter Property="Margin" Value="0,0,12,12"/>
</Style>
<Style
x:Key="SettingButtonStyle"
BasedOn="{StaticResource DefaultButtonStyle}"
TargetType="Button">
<Setter Property="BorderBrush" Value="{ThemeResource CardBorderBrush}"/>
<Setter Property="CornerRadius" Value="{ThemeResource ControlCornerRadius}"/>
<Setter Property="Padding" Value="16,6,16,6"/>
<Setter Property="HorizontalAlignment" Value="Stretch"/>
<Setter Property="HorizontalContentAlignment" Value="Center"/>
x:Name="NoneSelectionListViewItemStyle"
BasedOn="{StaticResource DefaultListViewItemStyle}"
TargetType="ListViewItem">
<Setter Property="Padding" Value="0"/>
<Setter Property="Margin" Value="0,4,0,0"/>
</Style>
<Style x:Key="BorderCardStyle" TargetType="Border">
<Setter Property="Background" Value="{ThemeResource CardBackgroundFillColorDefaultBrush}"/>
<Setter Property="BorderBrush" Value="{ThemeResource CardStrokeColorDefaultBrush}"/>
<Setter Property="BorderThickness" Value="1"/>
<Setter Property="CornerRadius" Value="{StaticResource CompatCornerRadius}"/>
<Style
x:Name="NoneSelectionGridViewItemStyle"
BasedOn="{StaticResource DefaultGridViewItemStyle}"
TargetType="GridViewItem">
<Setter Property="Padding" Value="0"/>
<Setter Property="Margin" Value="0,0,2,4"/>
</Style>
<Style x:Key="WebView2ContentDialogStyle" TargetType="ContentDialog">
<Setter Property="Foreground" Value="{ThemeResource ContentDialogForeground}"/>
<Setter Property="Background" Value="{ThemeResource ContentDialogBackground}"/>
<Setter Property="BorderThickness" Value="{ThemeResource ContentDialogBorderWidth}"/>
<Setter Property="BorderBrush" Value="{ThemeResource ContentDialogBorderBrush}"/>
<Setter Property="IsTabStop" Value="False"/>
<Setter Property="CornerRadius" Value="0"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ContentDialog">
<Border x:Name="Container">
<Grid x:Name="LayoutRoot" Visibility="Collapsed">
<Rectangle x:Name="SmokeLayerBackground" Fill="{ThemeResource ContentDialogSmokeFill}"/>
<Border
x:Name="BackgroundElement"
MinWidth="{ThemeResource ContentDialogMinWidth}"
MinHeight="{ThemeResource ContentDialogMinHeight}"
MaxWidth="{ThemeResource ContentDialogMaxWidth}"
MaxHeight="{ThemeResource ContentDialogMaxHeight}"
HorizontalAlignment="Center"
VerticalAlignment="Center"
Background="{TemplateBinding Background}"
BackgroundSizing="InnerBorderEdge"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}"
CornerRadius="{TemplateBinding CornerRadius}"
FlowDirection="{TemplateBinding FlowDirection}"
RenderTransformOrigin="0.5,0.5">
<Border.RenderTransform>
<ScaleTransform x:Name="ScaleTransform"/>
</Border.RenderTransform>
<Grid x:Name="DialogSpace" CornerRadius="0">
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<ScrollViewer
x:Name="ContentScrollViewer"
HorizontalScrollBarVisibility="Disabled"
IsTabStop="False"
VerticalScrollBarVisibility="Disabled"
ZoomMode="Disabled">
<Grid
Padding="0"
BorderBrush="{ThemeResource ContentDialogSeparatorBorderBrush}"
BorderThickness="{ThemeResource ContentDialogSeparatorThickness}">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<ContentControl
x:Name="Title"
Margin="{ThemeResource ContentDialogTitleMargin}"
HorizontalAlignment="Left"
VerticalAlignment="Top"
Content="{TemplateBinding Title}"
ContentTemplate="{TemplateBinding TitleTemplate}"
FontFamily="{StaticResource ContentControlThemeFontFamily}"
FontSize="20"
FontWeight="SemiBold"
Foreground="{TemplateBinding Foreground}"
IsTabStop="False">
<ContentControl.Template>
<ControlTemplate TargetType="ContentControl">
<ContentPresenter
Margin="{TemplateBinding Padding}"
HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
Content="{TemplateBinding Content}"
ContentTemplate="{TemplateBinding ContentTemplate}"
ContentTransitions="{TemplateBinding ContentTransitions}"
MaxLines="2"
TextWrapping="Wrap"/>
</ControlTemplate>
</ContentControl.Template>
</ContentControl>
<ContentPresenter
x:Name="Content"
Grid.Row="1"
Margin="0,0,0,8"
Content="{TemplateBinding Content}"
ContentTemplate="{TemplateBinding ContentTemplate}"
FontFamily="{StaticResource ContentControlThemeFontFamily}"
FontSize="{StaticResource ControlContentThemeFontSize}"
Foreground="{TemplateBinding Foreground}"
TextWrapping="Wrap"/>
</Grid>
</ScrollViewer>
<Grid
x:Name="CommandSpace"
Grid.Row="1"
Padding="8,0,8,8"
HorizontalAlignment="Stretch"
VerticalAlignment="Bottom"
XYFocusKeyboardNavigation="Enabled">
<Grid.ColumnDefinitions>
<ColumnDefinition x:Name="PrimaryColumn" Width="*"/>
<ColumnDefinition x:Name="FirstSpacer" Width="0"/>
<ColumnDefinition x:Name="SecondaryColumn" Width="0"/>
<ColumnDefinition x:Name="SecondSpacer" Width="{ThemeResource ContentDialogButtonSpacing}"/>
<ColumnDefinition x:Name="CloseColumn" Width="*"/>
</Grid.ColumnDefinitions>
<Button
x:Name="PrimaryButton"
HorizontalAlignment="Stretch"
Content="{TemplateBinding PrimaryButtonText}"
ElementSoundMode="FocusOnly"
IsEnabled="{TemplateBinding IsPrimaryButtonEnabled}"
IsTabStop="False"
Style="{TemplateBinding PrimaryButtonStyle}"/>
<Button
x:Name="SecondaryButton"
HorizontalAlignment="Stretch"
Content="{TemplateBinding SecondaryButtonText}"
ElementSoundMode="FocusOnly"
IsEnabled="{TemplateBinding IsSecondaryButtonEnabled}"
IsTabStop="False"
Style="{TemplateBinding SecondaryButtonStyle}"/>
<Button
x:Name="CloseButton"
Grid.Column="4"
HorizontalAlignment="Stretch"
Content="{TemplateBinding CloseButtonText}"
ElementSoundMode="FocusOnly"
IsTabStop="False"
Style="{TemplateBinding CloseButtonStyle}"/>
</Grid>
</Grid>
</Border>
</Grid>
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="DialogShowingStates">
<VisualStateGroup.Transitions>
<VisualTransition To="DialogHidden">
<Storyboard>
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="LayoutRoot" Storyboard.TargetProperty="Visibility">
<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Visible"/>
</ObjectAnimationUsingKeyFrames>
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="LayoutRoot" Storyboard.TargetProperty="IsHitTestVisible">
<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="False"/>
</ObjectAnimationUsingKeyFrames>
<DoubleAnimationUsingKeyFrames Storyboard.TargetName="ScaleTransform" Storyboard.TargetProperty="ScaleX">
<DiscreteDoubleKeyFrame KeyTime="0:0:0" Value="1.0"/>
<SplineDoubleKeyFrame
KeySpline="{StaticResource ControlFastOutSlowInKeySpline}"
KeyTime="{StaticResource ControlFastAnimationDuration}"
Value="1.05"/>
</DoubleAnimationUsingKeyFrames>
<DoubleAnimationUsingKeyFrames Storyboard.TargetName="ScaleTransform" Storyboard.TargetProperty="ScaleY">
<DiscreteDoubleKeyFrame KeyTime="0:0:0" Value="1.0"/>
<SplineDoubleKeyFrame
KeySpline="{StaticResource ControlFastOutSlowInKeySpline}"
KeyTime="{StaticResource ControlFastAnimationDuration}"
Value="1.05"/>
</DoubleAnimationUsingKeyFrames>
<DoubleAnimationUsingKeyFrames Storyboard.TargetName="LayoutRoot" Storyboard.TargetProperty="Opacity">
<DiscreteDoubleKeyFrame KeyTime="0:0:0" Value="1.0"/>
<LinearDoubleKeyFrame KeyTime="{StaticResource ControlFasterAnimationDuration}" Value="0.0"/>
</DoubleAnimationUsingKeyFrames>
</Storyboard>
</VisualTransition>
<VisualTransition To="DialogShowing">
<Storyboard>
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="LayoutRoot" Storyboard.TargetProperty="Visibility">
<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Visible"/>
</ObjectAnimationUsingKeyFrames>
<DoubleAnimationUsingKeyFrames Storyboard.TargetName="ScaleTransform" Storyboard.TargetProperty="ScaleX">
<DiscreteDoubleKeyFrame KeyTime="0:0:0" Value="1.05"/>
<SplineDoubleKeyFrame
KeySpline="{StaticResource ControlFastOutSlowInKeySpline}"
KeyTime="{StaticResource ControlNormalAnimationDuration}"
Value="1.0"/>
</DoubleAnimationUsingKeyFrames>
<DoubleAnimationUsingKeyFrames Storyboard.TargetName="ScaleTransform" Storyboard.TargetProperty="ScaleY">
<DiscreteDoubleKeyFrame KeyTime="0:0:0" Value="1.05"/>
<SplineDoubleKeyFrame
KeySpline="{StaticResource ControlFastOutSlowInKeySpline}"
KeyTime="{StaticResource ControlNormalAnimationDuration}"
Value="1.0"/>
</DoubleAnimationUsingKeyFrames>
<DoubleAnimationUsingKeyFrames Storyboard.TargetName="LayoutRoot" Storyboard.TargetProperty="Opacity">
<DiscreteDoubleKeyFrame KeyTime="0:0:0" Value="0.0"/>
<LinearDoubleKeyFrame KeyTime="{StaticResource ControlFasterAnimationDuration}" Value="1.0"/>
</DoubleAnimationUsingKeyFrames>
</Storyboard>
</VisualTransition>
</VisualStateGroup.Transitions>
<VisualState x:Name="DialogHidden"/>
<VisualState x:Name="DialogShowing">
<VisualState.Setters>
<Setter Target="PrimaryButton.IsTabStop" Value="True"/>
<Setter Target="SecondaryButton.IsTabStop" Value="True"/>
<Setter Target="CloseButton.IsTabStop" Value="True"/>
<Setter Target="LayoutRoot.Visibility" Value="Visible"/>
<Setter Target="BackgroundElement.TabFocusNavigation" Value="Cycle"/>
</VisualState.Setters>
</VisualState>
<VisualState x:Name="DialogShowingWithoutSmokeLayer">
<VisualState.Setters>
<Setter Target="PrimaryButton.IsTabStop" Value="True"/>
<Setter Target="SecondaryButton.IsTabStop" Value="True"/>
<Setter Target="CloseButton.IsTabStop" Value="True"/>
<Setter Target="LayoutRoot.Visibility" Value="Visible"/>
<Setter Target="LayoutRoot.Background" Value="{x:Null}"/>
</VisualState.Setters>
</VisualState>
</VisualStateGroup>
<VisualStateGroup x:Name="DialogSizingStates">
<VisualState x:Name="DefaultDialogSizing"/>
<VisualState x:Name="FullDialogSizing">
<VisualState.Setters>
<Setter Target="BackgroundElement.VerticalAlignment" Value="Stretch"/>
</VisualState.Setters>
</VisualState>
</VisualStateGroup>
<VisualStateGroup x:Name="ButtonsVisibilityStates">
<VisualState x:Name="AllVisible">
<VisualState.Setters>
<Setter Target="FirstSpacer.Width" Value="{ThemeResource ContentDialogButtonSpacing}"/>
<Setter Target="SecondaryColumn.Width" Value="*"/>
<Setter Target="SecondaryButton.(Grid.Column)" Value="2"/>
</VisualState.Setters>
</VisualState>
<VisualState x:Name="NoneVisible">
<VisualState.Setters>
<Setter Target="CommandSpace.Visibility" Value="Collapsed"/>
</VisualState.Setters>
</VisualState>
<VisualState x:Name="PrimaryVisible">
<VisualState.Setters>
<Setter Target="PrimaryButton.(Grid.Column)" Value="4"/>
<Setter Target="SecondaryButton.Visibility" Value="Collapsed"/>
<Setter Target="CloseButton.Visibility" Value="Collapsed"/>
</VisualState.Setters>
</VisualState>
<VisualState x:Name="SecondaryVisible">
<VisualState.Setters>
<Setter Target="SecondaryButton.(Grid.Column)" Value="4"/>
<Setter Target="PrimaryButton.Visibility" Value="Collapsed"/>
<Setter Target="CloseButton.Visibility" Value="Collapsed"/>
</VisualState.Setters>
</VisualState>
<VisualState x:Name="CloseVisible">
<VisualState.Setters>
<Setter Target="PrimaryButton.Visibility" Value="Collapsed"/>
<Setter Target="SecondaryButton.Visibility" Value="Collapsed"/>
</VisualState.Setters>
</VisualState>
<VisualState x:Name="PrimaryAndSecondaryVisible">
<VisualState.Setters>
<Setter Target="SecondaryButton.(Grid.Column)" Value="4"/>
<Setter Target="CloseButton.Visibility" Value="Collapsed"/>
</VisualState.Setters>
</VisualState>
<VisualState x:Name="PrimaryAndCloseVisible">
<VisualState.Setters>
<Setter Target="SecondaryButton.Visibility" Value="Collapsed"/>
</VisualState.Setters>
</VisualState>
<VisualState x:Name="SecondaryAndCloseVisible">
<VisualState.Setters>
<Setter Target="PrimaryButton.Visibility" Value="Collapsed"/>
</VisualState.Setters>
</VisualState>
</VisualStateGroup>
<VisualStateGroup x:Name="DefaultButtonStates">
<VisualState x:Name="NoDefaultButton"/>
<VisualState x:Name="PrimaryAsDefaultButton">
<VisualState.Setters>
<Setter Target="PrimaryButton.Style" Value="{StaticResource AccentButtonStyle}"/>
</VisualState.Setters>
</VisualState>
<VisualState x:Name="SecondaryAsDefaultButton">
<VisualState.Setters>
<Setter Target="SecondaryButton.Style" Value="{StaticResource AccentButtonStyle}"/>
</VisualState.Setters>
</VisualState>
<VisualState x:Name="CloseAsDefaultButton">
<VisualState.Setters>
<Setter Target="CloseButton.Style" Value="{StaticResource AccentButtonStyle}"/>
</VisualState.Setters>
</VisualState>
</VisualStateGroup>
<VisualStateGroup x:Name="DialogBorderStates">
<VisualState x:Name="NoBorder"/>
<VisualState x:Name="AccentColorBorder">
<VisualState.Setters>
<Setter Target="BackgroundElement.BorderBrush" Value="{ThemeResource SystemControlForegroundAccentBrush}"/>
</VisualState.Setters>
</VisualState>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<!-- ItemsPanelTemplate -->
<ItemsPanelTemplate x:Key="ItemsStackPanelTemplate">
<ItemsStackPanel/>
</ItemsPanelTemplate>
<ItemsPanelTemplate x:Key="HorizontalStackPanelTemplate">
<StackPanel Orientation="Horizontal"/>
</ItemsPanelTemplate>
</ResourceDictionary>
</Application.Resources>
</Application>

View File

@@ -1,37 +1,59 @@
// Copyright (c) DGP Studio. All rights reserved.
// Licensed under the MIT license.
using CommunityToolkit.WinUI.Notifications;
using Microsoft.UI.Xaml;
using Microsoft.Windows.AppLifecycle;
using Snap.Hutao.Core;
using Snap.Hutao.Core.ExceptionService;
using Snap.Hutao.Core.LifeCycle;
using Snap.Hutao.Core.Logging;
using Snap.Hutao.Core.LifeCycle.InterProcess;
using Snap.Hutao.Core.Shell;
using System.Diagnostics;
using Windows.Storage;
namespace Snap.Hutao;
/// <summary>
/// Provides application-specific behavior to supplement the default Application class.
/// This class must be public
/// </summary>
[HighQuality]
[Injection(InjectAs.Singleton)]
public partial class App : Application
[SuppressMessage("", "SH001")]
public sealed partial class App : Application
{
private const string ConsoleBanner = """
----------------------------------------------------------------
_____ _ _ _
/ ____| | | | | | |
| (___ _ __ __ _ _ __ | |__| | _ _ | |_ __ _ ___
\___ \ | '_ \ / _` || '_ \ | __ || | | || __|/ _` | / _ \
____) || | | || (_| || |_) |_ | | | || |_| || |_| (_| || (_) |
|_____/ |_| |_| \__,_|| .__/(_)|_| |_| \__,_| \__|\__,_| \___/
| |
|_|
Snap.Hutao is a open source software developed by DGP Studio.
Copyright (C) 2022 - 2024 DGP Studio, All Rights Reserved.
----------------------------------------------------------------
""";
private readonly IServiceProvider serviceProvider;
private readonly IActivation activation;
private readonly ILogger<App> logger;
/// <summary>
/// Initializes the singleton application object.
/// </summary>
/// <param name="logger">日志器</param>
public App(ILogger<App> logger)
/// <param name="serviceProvider">服务提供器</param>
public App(IServiceProvider serviceProvider)
{
// load app resource
// Load app resource
InitializeComponent();
this.logger = logger;
activation = serviceProvider.GetRequiredService<IActivation>();
logger = serviceProvider.GetRequiredService<ILogger<App>>();
serviceProvider.GetRequiredService<ExceptionRecorder>().Record(this);
_ = new ExceptionRecorder(this, logger);
this.serviceProvider = serviceProvider;
}
/// <inheritdoc/>
@@ -40,31 +62,35 @@ public partial class App : Application
try
{
AppActivationArguments activatedEventArgs = AppInstance.GetCurrent().GetActivatedEventArgs();
AppInstance firstInstance = AppInstance.FindOrRegisterForKey("main");
if (firstInstance.IsCurrent)
if (serviceProvider.GetRequiredService<PrivateNamedPipeClient>().TryRedirectActivationTo(activatedEventArgs))
{
// manually invoke
Activation.NonRedirectToActivate(firstInstance, activatedEventArgs);
firstInstance.Activated += Activation.Activate;
ToastNotificationManagerCompat.OnActivated += Activation.NotificationActivate;
logger.LogInformation("Snap Hutao | {name} : {version}", CoreEnvironment.FamilyName, CoreEnvironment.Version);
logger.LogInformation("Cache folder : {folder}", ApplicationData.Current.LocalCacheFolder.Path);
JumpListHelper.ConfigureAsync().SafeForget(logger);
}
else
{
// Redirect the activation (and args) to the "main" instance, and exit.
firstInstance.RedirectActivationTo(activatedEventArgs);
Process.GetCurrentProcess().Kill();
Exit();
return;
}
logger.LogInformation(ConsoleBanner);
LogDiagnosticInformation();
// manually invoke
activation.Activate(HutaoActivationArguments.FromAppActivationArguments(activatedEventArgs));
activation.Initialize();
serviceProvider.GetRequiredService<IJumpListInterop>().ConfigureAsync().SafeForget();
}
catch (Exception)
catch
{
// AppInstance.GetCurrent() calls failed
Process.GetCurrentProcess().Kill();
}
}
private void LogDiagnosticInformation()
{
RuntimeOptions runtimeOptions = serviceProvider.GetRequiredService<RuntimeOptions>();
logger.LogInformation("FamilyName: {name}", runtimeOptions.FamilyName);
logger.LogInformation("Version: {version}", runtimeOptions.Version);
logger.LogInformation("LocalCache: {folder}", runtimeOptions.LocalCache);
}
}

View File

@@ -0,0 +1,28 @@
// Copyright (c) DGP Studio. All rights reserved.
// Licensed under the MIT license.
namespace Snap.Hutao;
/// <summary>
/// 应用程序资源提供器
/// </summary>
[Injection(InjectAs.Transient, typeof(IAppResourceProvider))]
internal sealed class AppResourceProvider : IAppResourceProvider
{
private readonly App app;
/// <summary>
/// 构造一个新的应用程序资源提供器
/// </summary>
/// <param name="app">应用</param>
public AppResourceProvider(App app)
{
this.app = app;
}
/// <inheritdoc/>
public T GetResource<T>(string name)
{
return (T)app.Resources[name];
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 158 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 232 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 314 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 506 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 66 KiB

After

Width:  |  Height:  |  Size: 1.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 137 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 156 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 228 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 310 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 209 KiB

After

Width:  |  Height:  |  Size: 500 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 92 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 125 KiB

After

Width:  |  Height:  |  Size: 150 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 480 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 969 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 115 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 969 B

Some files were not shown because too many files have changed in this diff Show More