Commit Graph

44 Commits

Author SHA1 Message Date
Evan Goode
9430026192 Merge tag '8.0' into unmojang-8.0
Upstream changelog: https://github.com/PrismLauncher/PrismLauncher/releases/tag/8.0

(Imcomplete) list of changes in 8.0 relevant to PollyMC:
- Prism has dropped support for Mojang accounts
  - https://github.com/PrismLauncher/PrismLauncher/pull/1656
  - Added it back to PollyMC primarily since the Mojang authentication
    code is also used for authlib-injector accounts. Some users may also
    still want to be able to log in to Mojang accounts for some reason:
    https://github.com/fn2006/PollyMC/issues/115#issuecomment-1805384658,
    even if they do not provide authentication to multiplayer servers.
  - To my surprise, I could still log in to a Mojang account, get its
    skin, and launch the game. Authentication to servers, of course, did
    not work.
  - Tested: logging into authlib-injector, Mojang, and MSA accounts and
    launching the game.
- Prism has added a built-in updater for Windows and Linux that I assume
  provides similar functionality to Sparkle on macOS:
  https://github.com/PrismLauncher/PrismLauncher/pull/1268. There is a
  Launcher_UPDATER_GITHUB_REPO variable in CMakeLists.txt that specifies
  the repo checked by the updater. I have changed this to the PollyMC
  repository, and since PollyMC follows almost the same CI/release
  patterns as Prism Launcher, it might work with PollyMC, too, but I
  have not tested it yet.
- Add macOS support to Nix
  - https://github.com/PrismLauncher/PrismLauncher/pull/1485
  - Untested
- The "PollyMC-Linux-8.0.tar.gz" and similar build artifacts were
  renamed to "PollyMC-Linux-8.0-Qt5.tar.gz" to match their
  "PollyMC-Linux-8.0-Qt6.tar.gz" counterparts.
- Removed Windows MSVC Legacy builds
- Removed Quilt Beacon toggle, the beacon is now always disabled:
  https://github.com/PrismLauncher/PrismLauncher/pull/1547,
  https://github.com/PrismLauncher/meta/pull/23
- Prism removed FTB support in 7.0, but I tested creating an FTB
  instance to make sure it still works in 8.0

Signed-off-by: Evan Goode <mail@evangoo.de>
2023-11-15 14:37:14 -05:00
Trial97
7c636d4608
Removed mojang
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-09-25 17:44:04 +03:00
Evan Goode
a980b4d537 Clean up authlib-injector merge, mostly clang-format
Signed-off-by: Evan Goode <mail@evangoo.de>
2023-09-05 00:13:50 -04:00
Evan Goode
9d442a0348 authlib-injector
* 'Custom Yggdrasil' AccountType

Signed-off-by: Evan Goode <mail@evangoo.de>

* Allow multiple accounts with the same player UUID

Signed-off-by: Evan Goode <mail@evangoo.de>

* Use correct services server URL for SkinDelete

Signed-off-by: Evan Goode <mail@evangoo.de>

* Correctly use CustomYggdrasilRefresh, add warning message

Signed-off-by: Evan Goode <mail@evangoo.de>

* Custom Yggdrasil: Readability fixes

Also made the MinecraftEntitlement for Custom Yggdrasil accounts work
just like offline accounts---instead of checking the reply from the auth
server, Custom Yggdrasil accounts are granted canPlayMinecraft and
ownsMinecraft when they are created, in MinecraftAccount.cpp.

Signed-off-by: Evan Goode <mail@evangoo.de>

* Custom Yggdrasil: Add extra confirmation dialog

Signed-off-by: Evan Goode <mail@evangoo.de>

* Add install authlib-injector button

Signed-off-by: Evan Goode <mail@evangoo.de>

* authlib-injector accounts

Signed-off-by: Evan Goode <mail@evangoo.de>

* Suggest installing authlib-injector when needed

Signed-off-by: Evan Goode <mail@evangoo.de>

* Use Unmojang metadata

Signed-off-by: Evan Goode <mail@evangoo.de>

* Use std::string for MANAGED_AGENTS, not QString

---------

Signed-off-by: Evan Goode <mail@evangoo.de>

Resolve X-Authlib-Injector-API-Location

Signed-off-by: Evan Goode <mail@evangoo.de>

Prefetch authlib-injector metadata

Resolves https://github.com/unmojang/PrismLauncher/issues/4

See https://github-com.translate.goog/yushijinhun/authlib-injector/wiki/%E5%90%AF%E5%8A%A8%E5%99%A8%E6%8A%80%E6%9C%AF%E8%A7%84%E8%8C%83?_x_tr_sl=auto&_x_tr_tl=en&_x_tr_hl=en-US#%E9%85%8D%E7%BD%AE%E9%A2%84%E8%8E%B7%E5%8F%96

Signed-off-by: Evan Goode <mail@evangoo.de>

drag-and-drop authlib-injector URL, clang-format

Resolves https://github.com/unmojang/PrismLauncher/issues/2

Signed-off-by: Evan Goode <mail@evangoo.de>
2023-09-04 19:00:18 +01:00
fn2006
65821b54e6 Remove current Ely.by implementation 2023-09-04 01:35:37 +01:00
fn2006
b6904ba50a Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into develop 2023-09-04 00:39:20 +01:00
Sefa Eyeoglu
1d468ac35a
chore: reformat
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2023-08-02 18:35:35 +02:00
fn2006
1821081521 Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into develop 2023-02-05 22:11:58 +00:00
flow
29f7ea752f
refactor: make shared_qobject_ptr ctor explicit
This turns issues like creating two shared ptrs from a single raw ptr
from popping up at runtime, instead making them a compile error.

Signed-off-by: flow <flowlnlnln@gmail.com>
2023-01-25 16:57:51 -03:00
fn2006
0170e8b177 Add Ely.by accounts (#17)
* Initial Ely.by support

* Fix profile pictures for Ely.by

* Disable upload and delete skin buttons for Ely.by accounts

* Port UltimMC's authlib injector to PollyMC
2022-08-19 12:22:38 +01:00
TheCodex6824
8bcbe07c87
Fix Mojang auth failing due to Mojang rejecting requests to the profile endpoint 2022-04-22 23:39:38 -04:00
bexnoss
9d23ac562f Add offline mode support 2022-01-30 02:35:56 +01:00
Lenny McLennington
55597b458c
Revert "Merge pull request #50 from bexnoss/offline-mode"
This reverts commit b4f750e7db, reversing
changes made to b19e315615.
2022-01-17 03:45:47 +00:00
bexnoss
a1ff3b1ee3 Add offline mode support 2022-01-12 14:26:02 +01:00
Petr Mrázek
3c46d8a412 GH-4071 Heavily refactor and rearchitect account system
This makes the account system much more modular
and makes it treat errors as something recoverable,
unless they come directly from the MSA refresh token
becoming invalid.
2021-12-04 01:18:05 +01:00
Petr Mrázek
285188ea53 GH-4071 handle network errors when logging in with MSA as 'soft'
This makes the tokens not expire when such errors happen.

Only applies to MSA, not the XBox and Mojang steps afterwards.
Further testing and improvements are still needed.
2021-11-28 18:42:01 +01:00
Petr Mrázek
b49987e876 NOISSUE fix fix fix the accounts again 2021-11-23 01:25:24 +01:00
Petr Mrázek
69213b1206 NOISSUE continue refactoring things to make tests pass 2021-11-21 23:21:12 +01:00
Petr Mrázek
0c861db7a2 NOISSUE Some happy little refactors 2021-11-20 16:22:22 +01:00
Petr Mrázek
eafeb64dec NOISSUE qnam -> network 2021-11-17 13:20:50 +01:00
Petr Mrázek
6c82883206 NOISSUE fix account re-adding not updating current account 2021-11-16 02:21:59 +01:00
Petr Mrázek
25fbeb265a NOISSUE fix build some more 2021-11-10 03:16:04 +01:00
Petr Mrázek
30d5a7ab48 NOISSUE fix build 2021-11-10 03:12:01 +01:00
Petr Mrázek
475d949a1e GH-4217 Add support for GamePass accounts and MC profile setup
- We now use the new endpoint for loggiong in via XBox tokens (/launcher/login)
- We now check game entitlements instead of only relying on MC profile presence
- Accounts can now be added even when they do not have a profile
- The launcher will guide you through selecting a Minecraft name if you don't have one yet
2021-11-10 03:02:51 +01:00
Petr Mrázek
5b3dffce62 NOISSUE continue debranding... 2021-10-21 00:47:53 +02:00
Petr Mrázek
8c4fb86ba0
Merge pull request #4103 from tobfos2611/develop
Fix underaged account that isn't linked to a family help link.
2021-10-03 21:59:46 +02:00
Philip T
0b312956db NOISSUE Remove outdated SSL docs
the link is dead and the equivalent newer page is useless, https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2012-R2-and-2012/dn265983(v=ws.11)?redirectedfrom=MSDN#related-content
2021-10-03 13:43:43 +02:00
Petr Mrázek
a5956194df NOISSUE Remove Requestor, it is unused 2021-09-21 22:02:12 +02:00
tobfos
28d7c5d309
Removed unnecessary text in link.
Thanks @RDKRACZ.
2021-09-15 20:46:07 +10:00
Toby Foster
7229ebbb08 Fix underaged account that isn't linked to a family help link. 2021-09-15 18:10:00 +10:00
Petr Mrázek
878c4fb810 NOISSUE Provide dummy implementation for the secrets library 2021-09-05 18:23:49 +02:00
Petr Mrázek
938f896bfa GH-4014 change updater to recognize new Qt 5.15.2 builds 2021-09-04 21:27:09 +02:00
Petr Mrázek
23442442d8 GH-3392 fix a bunch of bugs and implement STS error states 2021-08-31 01:11:52 +02:00
Petr Mrázek
3171014301 GH-3392 checking for migration status and refresh button in accounts list 2021-08-29 22:55:33 +02:00
Petr Mrázek
7239502675 GH-3392 Add recognition of already migrated Mojang accounts 2021-08-29 19:59:18 +02:00
Petr Mrázek
b2c1100b1c NOISSUE introduce the concept of secrets static library 2021-08-27 22:35:17 +02:00
Petr Mrázek
34a5459dce NOISSUE cut down Requestor 2021-08-25 21:27:51 +02:00
Petr Mrázek
eae65da110 GH-3392 Switch MS account login to use device flow instead
Device flow involves the user manually opening a web page and putting in
a code. We no longer need to interact with the browser.
2021-08-22 20:01:18 +02:00
Petr Mrázek
1b68d51da6 NOISSUE add setting capes, tweak missing profile message, fix cape IDs 2021-08-20 01:34:32 +02:00
Petr Mrázek
94fd9a3535 NOISSUE fix linux builds 2021-08-19 10:27:30 +02:00
Petr Mrázek
345641f7d2 NOISSUE sanitize some MSA auth logging 2021-08-19 00:43:19 +02:00
Petr Mrázek
44d634f564 GH-3392 Fix strings in AuthContext and make them translateable 2021-08-15 23:40:37 +02:00
Petr Mrázek
3a53349e33 GH-3392 dirty initial MSA support that shares logic with Mojang flows
Both act as the first step of AuthContext.
2021-08-15 23:18:50 +02:00
Petr Mrázek
20b9f2b42a NOISSUE Flatten gui and logic libraries into MultiMC 2021-07-25 19:50:44 +02:00