goatcorp / DIPs

Dalamud Improvement Proposals
Other
9 stars 8 forks source link

Improve non-global client support #20

Open kalilistic opened 2 years ago

kalilistic commented 2 years ago

Per my understanding, other regions are managed through dalamud forks. Would it be possible (or rather worthwhile) to enable main dalamud to handle these? Would need to coordinate with bluefissure and others.

Bluefissure commented 2 years ago

Functionally it's not difficult to support different regions/clients, the major problem is the game patch difference. We're maintaining the same dalamud with additional zh-CHS fonts and some minor differences in signatures, but months earlier. Besides that, all good. Another concern is plugins compatibility:

I think it's not possible or appropriate to ask plugin developers to test their plugins at CN client, and as said above, the game update may break plugins and since the CN client is always ~one patch older than the intl client, it requires the plugins repo to maintain multiple revisions of the same plugin when there's a breaking change from version bump.

Regarding XIVLauncher, we have XIVLauncherCN ready for testing, the login logic is different since the API & endpoints & auth process are all different, it's open source at ottercorp/FFXIVQuickLauncher and it works well with the SDO login, differences are:

goaaats commented 2 years ago

I think as much as possible should be upstreamed, but I don't think we should have global support directly out of our repos. It's a lot of work to coordinate and I feel like the other teams are more flexible this way.

Upstreaming abstractions that make global versions easier if the maintenance cost on our side isn't too high, improvements, etc. is very welcome though.

Bluefissure commented 2 years ago

I think as much as possible should be upstreamed, but I don't think we should have global support directly out of our repos. It's a lot of work to coordinate and I feel like the other teams are more flexible this way.

Upstreaming abstractions that make global versions easier if the maintenance cost on our side isn't too high, improvements, etc. is very welcome though.

I agree with this, some abstractions like https://github.com/goatcorp/FFXIVQuickLauncher/pull/949 will make our CN support a lot easier.

marzent commented 2 years ago

Yeah https://github.com/goatcorp/FFXIVQuickLauncher/pull/949 makes implementing different login behavior really clean, have been using it for months without any issues