Skip to content

Conversation

@bagusnl
Copy link
Member

@bagusnl bagusnl commented Jan 4, 2026

What's changed? - 1.83.14

Templates

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

Cryotechnic and others added 30 commits December 19, 2025 16:47
100% reviewed source file: 'en_US.json'
on 'zh_CN'.
# Main Goal
This PR updates the RPC submodule which contains CPU cycles fix on idle.
This switches the loop-based routine on reading RPC frames to
timer-based routine. Both previous loop-based and new timer-based
routine uses the same Poll rate for 1000ms each. We also switched the
buffer allocation to rent-based buffer.

The difference between these two methods are, loop-based uses
WaitHandleEvent to Sleep on background threads with endless loop
routine, thus continuously wasting thread time on each poll rate (every
1000ms) while performing RPC update. Timer-based routine instead, uses
Timer to trigger the RPC update on each poll rate (every 1000ms) and
will end the thread once it's done.

The behavior shouldn't be affected as it only switching the loop routine
with timer and the poll rate for frame reading is still the same.

<img width="1348" height="606" alt="image"
src="https://github.com/user-attachments/assets/cd71183f-db11-4c69-b162-52925e99c37f"
/>


## PR Status :
- Overall Status : Done
- Commits : Done
- Synced to base (Collapse:main) : Yes
- Build status : OK
- Crashing : No
- Bug found caused by PR : 2 (per commented)

### Templates

<details>
  <summary>Changelog Prefixes</summary>
  
  ```
    **[New]**
    **[Imp]**
    **[Fix]**
    **[Loc]**
    **[Doc]**
  ```

</details>
Signed-off-by: Bagus Nur Listiyono <dzakibagus@gmail.com>
Signed-off-by: Bagus Nur Listiyono <dzakibagus@gmail.com>
Should use this format 
`CollapseLauncher@<semver>+<sha>`
This will generate InstallVersion.bin, DownloadedFullAssets.txt and AppIdentity.txt file inside persistent folder
+ Also fix Hi3 Repair won't pop repair table entry
Also should fix support for urls in base64
Touch function broken in game-level where movement joystick is non-functionable unless you tap outside of the window while moving the stick.

Option is still disabled forcefully in the UI.

Signed-off-by: Bagus Nur Listiyono <dzakibagus@gmail.com>
…#846)

This is interim commit before @neon-nyan take precedence over at  fecc199

1. Move CTSW creator outside while loop to prevent self recreation
2. Always pause carousel when window is not in foreground
3. Properly break  the for loop when CTS is called
4. Delay stop scroller to wait for scroller to initialize
5. Pause/resume carousel on tray activity
neon-nyan and others added 22 commits January 3, 2026 04:54
The settings is back on 2.5, the option were made by neon before but hidden because it was removed at 2.4.

Co-authored-by: neon-nyan <dev.kemalsetyaa@gmail.com>
Signed-off-by: neon-nyan <dev.kemalsetyaa@gmail.com>
Signed-off-by: Bagus Nur Listiyono <dzakibagus@gmail.com>
Previously, the launcher will try to redownload the entire patch files if say, the user tried to cancel the patch-update process, even though some target files have already been patched/updated.

Now, the launcher will try to check for target file hash/existence before downloading the patch file. If the hash (of the target file) matches, then skip the patch process.
Use direct assignment to field and use implicit cast instead of ToBoolNullable() as the boolean will return false as default value afterwards.
# Main Goal
Fix global RPC toggle not actually disabling RPC.
Also disable RPC regional setting when global toggle is set to disabled.

Closes #806 

## PR Status :
- Overall Status : Done
- Commits : Done
- Synced to base (Collapse:main) : Yes
- Build status : OK
- Crashing : No
- Bug found caused by PR : 0

### Templates

<details>
  <summary>Changelog Prefixes</summary>
  
  ```
    **[New]**
    **[Imp]**
    **[Fix]**
    **[Loc]**
    **[Doc]**
  ```

</details>
# Main Goal
Due to some major changes on how the game manage the persistent data and
outdated codes, we approach to refactor the entire game repair and cache
update code to match the game behavior.

This refactor also fixes where for sometimes, after running the game
repair or cache updates, the game will soft lock due to invalid states
on the persistent files.

~~Most of the game repair logic are done (changes will be pushed this
late night) and cache update code will be merged into game repair for
making it easier to maintain.~~ Most of the game repair and cache update
codes are done. We can continue to review these changes.

# What To Do
- [x] Fix tracking issue on Discord: **English audio instead of
Japanese**

## PR Status :
- Overall Status : Done
- Commits : Done
- Synced to base (Collapse:main) : Done
- Build status : OK
- Crashing : No
- Bug found caused by PR : -

### Templates

<details>
  <summary>Changelog Prefixes</summary>
  
  ```
    **[New]**
    **[Imp]**
    **[Fix]**
    **[Loc]**
    **[Doc]**
  ```

</details>
# Main Goal
The settings is back on 2.5, the option were made by neon before but
hidden because it was removed at 2.4.

I still can't find the correlation with some of the new values under
SystemsSettingDataMap as the value did not changed accordingly to the
game settings. But the current implementation should be enough for what
it is, as no new game settings were introduced.

<img width="1282" height="721" alt="image"
src="https://github.com/user-attachments/assets/2a351b76-b417-4009-a7f7-a8a14a6a0fb2"
/>
<img width="2559" height="1438" alt="image"
src="https://github.com/user-attachments/assets/0fa778bf-c506-406f-895f-603b3894cffb"
/>
<img width="2559" height="1438" alt="image"
src="https://github.com/user-attachments/assets/af97ece9-9b51-403b-b70e-d698067d4031"
/>


## PR Status :
- Overall Status : Done
- Commits : Done
- Synced to base (Collapse:main) : Yes
- Build status : OK
- Crashing : Yes
- Bug found caused by PR : 0

### Templates

<details>
  <summary>Changelog Prefixes</summary>
  
  ```
    **[New]**
    **[Imp]**
    **[Fix]**
    **[Loc]**
    **[Doc]**
  ```

</details>
DirectoryInfo.Create() already contains a check for directory existence on PInvoke level.
…854)

# Main Goal
This change contains a bug fix where the deleted assets inside the game
get redownloaded during a game update. Previously, the filtering for the
deleted assets were done by comparing the URL which contains the
``MatchingField`` string. However, the URL structure has changed and the
``MatchingField`` string got removed, therefore the launcher is unable
to identify which assets can be ignored.

We are adding a new class inside our Sophon submodule called
``SophonIdentifiableProperty``, which contains some necessary fields
needed to compare the asset's category and where the asset came from.

See related Issue: #850 

## PR Status :
- Overall Status : Done
- Commits : Done
- Synced to base (Collapse:main) : Yes
- Build status : OK
- Crashing : No
- Bug found caused by PR : N/A

### Templates

<details>
  <summary>Changelog Prefixes</summary>
  
  ```
    **[New]**
    **[Imp]**
    **[Fix]**
    **[Loc]**
    **[Doc]**
  ```

</details>

// -- Get game server's dictionary asset
StarRailAssetSignaturelessMetadata.Metadata? gameServStockLuaPath = Metadata.CacheLua?.DataList.FirstOrDefault();
string gameServLuaDictUrl = BaseUrls.CacheLua.CombineUrlFromString(gameServStockLuaPath?.Filename);

This comment was marked as outdated.

Copy link
Member

@neon-nyan neon-nyan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@bagusnl bagusnl merged commit 96eb838 into preview Jan 4, 2026
3 of 4 checks passed
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.

6 participants