16 Commits
Author SHA1 Message Date
khanhduytran0 dfe563dfc0 Workaround[auth]: don't match accessible attribute
Trying to workaround weird issue with SEP-less palera1n environment
(iOS 16.7+ on A11)
2024-07-13 20:17:02 +07:00
khanhduytran0 c7e4d47061 Fix[auth]: display error when either token is null 2024-07-05 06:15:10 +07:00
khanhduytran0 f7163ceb31 Fix[init]: unexpectedly preload LWJGL
Migrating token storage to keychain accidentally causes LWJGL to be
preloaded, making Fabric fails to init.
Add JNI library PojavAccountJNI to do the task of sending access token
from keychain to JVM space.
2024-04-09 13:37:55 +07:00
khanhduytran0 41a0c8df2e Fix[auth]: unexpected http requests 2024-04-07 07:04:22 +07:00
khanhduytran0 28df9fcc68 Feat[auth]: move tokens to keychain
Previously, tokens were saved in json under plain text, making it
insecure. Now, they are stored in iOS's keychian with the hope of
making it more secure.
2024-04-04 19:12:32 +07:00
Duy Tran Khanh 477d49d6b9 Fix(MSA): better URL parsing
This commit fixes #568: unexpected parameter "&state=" in "code"
parameter
M.C103_BAY.2.XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX&state=XXXXXXXXXXX

Another change includes a fix for not explicitly showing MSA error
message (also see #568)
2023-06-02 05:48:26 +07:00
khanhduytran0 9e03e36be7 Refactor: deduplicate code, use cleaner syntax 2023-01-20 08:36:26 +07:00
Eilionoir Tunnicliff 89b4650491 More anti-piracy demo mode stuff pt. 2 2023-01-19 14:23:10 -05:00
Eilionoir Tunnicliff 289b47abfc Move demo mode stuffs to secure location
This way, local mode users cannot use it to download game files without a license.
2023-01-19 11:44:04 -05:00
Eilionoir Tunnicliff 224c86d689 Dormant environment variable 2023-01-19 11:34:12 -05:00
Duy Tran Khanh 2a40ccaae1 Fix: demo account warning was not shown
Removed demo_warn preference as the warning is only displayed after
logging in with demo account.
2022-12-05 19:07:21 +07:00
khanhduytran0 78b788262c Move LoginViewController to parts
- The account selector now has Add Account item
- Last selected account is kept
- Account token refreshment is done on startup and on select if need
- Moved JIT status to LauncherMenuViewController's toolbar
- Primary View Controller is now LauncherSplitViewController
- More unmentioned(?), see diff.
2022-12-04 11:41:54 +07:00
Duy Tran Khanh 5cfa1c33eb Add xuid to MinecraftAccount 2022-11-20 15:56:46 +07:00
Duy Tran Khanh 1af09ca02d Tweak NSLocalizedString; Keep split display mode
Tweak NSLocalizedString to return English if not yet localized.
Keep Split display mode between rotations.
New debug option: skip JIT wait, for #423
2022-11-17 21:46:38 +07:00
Duy Tran Khanh 292fb8166f Custom controls: safe area is now customizable
Other changes:
- Cleanup unused functions
- Internal changes to access ViewController globally
- Moved ControlLayout to a separate file
2022-08-03 12:23:27 +07:00
khanhduytran0 2a9d3909f8 Internal, renderer and UI changes + 1.19-pre1 support
Minecraft 1.19 support:
- Since 1.19-pre1, LWJGL 3.3.1 is used. However, LWJGL 3.2.3 still works with it, at least for this Minecraft release.
- Added a hack to skip calling to ObjC codes (skipped an asset file to skip setting the icon)
- JNA version replacing: now only change to 5.8.0 if version < 5.8.0

Internal changes:
- Cleanup: moved global functions to a new place
- Handle demo user correctly: actually authenticate the game with demo's access token and use the Xbox gamertag as the username
- Start moving strings to Localizable.strings (WIP)
- Re-wrote the Microsoft authentication and account management to Objective-C
- Assets downloading: added a tiny sleep call so that the UI won’t be frozen when too many tasks are executed at the same time

Renderers changes
- gl4es: `init_constructor` is now enabled, therefore moved the preload part to before `eglInitialize` (or EGL will be de-init after gl4es's hardware test).
- gl4es-extra (aka holy gl4es 1.1.4) is now used to replace the regular gl4es. This fixes VBO issue on version < 1.13 and some extra stuff. https://github.com/PojavLauncherTeam/gl4es-114-extra/commit/d6cf5c4
- Removed gl4es 1.1.5 and `Disable gl4es shaderconv` as it's unnecessary for now
- Removed vgpu, as it requires some missing extensions when come to shaders

User interface:
- The account selection list now displays the skin head (or the Xbox gamerpic if demo) and the account type
2022-05-22 11:31:14 +07:00