Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

1.82.0 Stable #596

Draft
wants to merge 803 commits into
base: stable
Choose a base branch
from
Draft

1.82.0 Stable #596

wants to merge 803 commits into from

Conversation

Cryotechnic
Copy link
Collaborator

Main Goal

  **[New]**
  **[Imp]**
  **[Fix]**
  **[Loc]**
  **[Doc]**

bagusnl and others added 30 commits October 20, 2024 14:16
# Main Goal
Synchronize user game playtime to a database that the user can sync with
other systems with privacy in mind.

Every user needs to have their own SQLite server (eg. Turso
https://turso.tech/ free account should be sufficient) then supply all
the necessary informations to Collapse (Database URL in https and the
token). Collapse will generate the GUIDv7 as a user identifier table
inside the database.

> [!CAUTION]
> Changing User ID without taking notes of your current ID will cause
the data to be dangling in the database and not being used anymore.
> While you can edit the database yourself, it's a bit tedious, so
please do NOT lose your user ID.

Playtime synced to the database in a few mechanism:
1. At first region load
> When region is loaded, playtime stats is first loaded from your local
machine, then the system fetch and compare when the last time that
region play time is updated, if the local is out of date then database
value will be used and saved locally. If the database is out of date,
then local value will be used and saved to the database.

2. At game first launch (force push)
3. Every 5 minutes when the game is running
4. At game close (force push)

## PR Status :
- Overall Status : In Progress
- Commits : In Progress
- Synced to base (Collapse:main) : Yes
- Build status : OK
- Crashing : Yes
- Bug found caused by PR : 0
This reduces the executable size for couples of MB.
+ Removing some unused constants
100% reviewed source file: 'en_US.json'
on 'es_419'.
This requires the static .lib instead of .dll file.
- Swtiching to source-generated LibraryImport for PInvokes
- Use source-generated marshalling for GetPackagesByPackageFamily() string[] conversion.
- Implement CPU-Mode failback
- Use AggressiveInlining for some methods
- Use &MemoryMarshal.GetReference<T>(ReadOnlySpan<T> param) for fixed pointer assignment. This results a shorter native-code rather than directly dereference the array.
Demo:
https://sharplab.io/#v2:EYLgxg9gTgpgtADwGwBYA0AXEBDAzgWwB8ABAJgEYBYAKGIAYACY8gOgCUBXAOwwEt8YLAJI8YUCAAcAymIBuvMDFwBuGjWIBmJqQYBhBgG8aDEw265sAMxhMUDAKq4YABQxQAIr1hgMACmAAnhgwANoAugzAHJbWUACUxqZG1KapDJa8CDAAJgz+QTAAVAwSbgwAvJHRsQkpaSbJ9SYAvoktbQwd5lY2xHaOLm4AsjD40AFD2FC4ABbYADa+bDDY2QDyXPMBUhLYXAA8gcEAfFUxYrWpjU0ZWbn5wcWlUBUMAGQjY1ATU7MLLABxGAYZaxGBcRT+aoXS5Na71Vp1drUZpAA
100% reviewed source file: 'en_US.json'
on 'ja_JP'.
Thanks Rust! It's been a wonderful day taking my 5 hours to just cross-compile this thing :)
100% reviewed source file: 'en_US.json'
on 'zh_CN'.
.NET 9's built-in Hex converter is now much faster (thanks to vectorization + SIMD implementation)
neon-nyan and others added 30 commits November 22, 2024 22:34
Try to unassign read only flag from RunDownloadTask if it gets IODenied error
DO NOT ASK
This reverts commit 7e504b2.
- Use built-in ToHexStringLower for BytesToHex
- Fix SharedViolation exception by unassigning ReadOnly attribute
- Simplify and remove unnecessary Stream bridge
- Add and use alt. SophonChunksInfo if the default url returns 404
  This to fix an issue where sometimes the chunk files would return 404 due to identical chunks but was not existence in the new ChunksInfo
- Always check for file availability on enumerating updates
- Fix non-exist files not getting renamed on update
- More UnassignReadOnlyFromFileInfo() checks
- Fix wrong URL path for manifestToProtoTaskCallback
- Reuse Proto Parser Code
…ileNotFoundException

Try to delete and reassign them as missing file
Following infos will be sent:
1. Build info (Commit, Repo, Branch)
2. Currently loaded game info (Category, Region, Installed, Updated, Has Preload/Delta)
# Main Goal
Use poster as temporary background when requested background is not yet
downloaded.
New background retrieval mechanism:
1. Check if background is downloaded
2. If it's downloaded, then load the downloaded background
3. If not yet downloaded, load either last available regional background
or use poster as background instead

Due to the poster having slight transparency, the switching looks a wee
bit janky

This PR also contains IOException fixes especially for background
loading and image cache processing (really noticeable when user uses
Waifu2X)

## PR Status :
- Overall Status : Done
- Commits : Done
- Synced to base (Collapse:main) : Yes
- Build status : OK
- Crashing : No
- Bug found caused by PR : 0
Add CPU and GPU data, also use latest user code method for the MechanismKey
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants