Files
UnrealEngineUWP/Engine/Source/Programs/IncludeTool
Sam Zamani 841026250e Copying //UE4/GamePlugins-Staging to //UE4/Dev-Main (Source: //GamePlugins/Main @ 3440529)
#lockdown Nick.Penwarden

==========================
MAJOR FEATURES + CHANGES
==========================

Change 3439153 on 2017/05/15 by robomerge

	#ROBOMERGE-AUTHOR: ian.fox
	#OnlineSubsystemLive - Fix xbox build in non-unity
	- Also add a IsValid check to MatchmakingInterfaceLive

	#ROBOMERGE-SOURCE: CL 3438293

Change 3439152 on 2017/05/15 by robomerge

	#ROBOMERGE-AUTHOR: rob.cannaday
	Merge Twitch login changes from Dev-FortniteTwitch

	3423163 Add Twitch login widget

	3424581 Move GetUrlDomain from HttpManager to GenericPlatformHttp

	3425614 Expose the default cookies location

	3425645 Add a delegate OnLoginFlowLogout to IOnlineIdentity to be executed when logout occurs so Login Flow Manager can perform any cleanup tasks.

	3426310 Add a Reset function to login flow to clear registered OSSs and bound delegates
	Bind to OnLoginFlowLogout and reset cookies for given domains on logout
	CodeReview josh.markiewicz

	3426320 On logout, forward login domains to login flow to clear cookies.
	CodeReview josh.markiewicz
	#twitch

	3426373 Delete commented out block, intent fulfilled elsewhere in CL 3426320

	3427994 Twitch OSS improvements after code review
	codereview ian.fox, josh.markiewicz

	3428911 Enable Twitch OSS plugin in Fortnite

	3429303 Fix compile error from missing include

	3435609 Add option to revoke a Twitch access token on Logout.
	#jira OGS-694

	3435669 Use web browser for Twitch login on consoles
	#jira FORT-43425
	#jira FORT-43428

	3435685 Use Twitch's force_verify parameter to allow players to switch Twitch users instead of automatically completing the authorization flow

	#ROBOMERGE-SOURCE: CL 3436301

Change 3439151 on 2017/05/15 by robomerge

	#ROBOMERGE-AUTHOR: josh.markiewicz
	#UE4 - missing checkin

	#ROBOMERGE-SOURCE: CL 3435911


Change 3439150 on 2017/05/15 by robomerge

	#ROBOMERGE-AUTHOR: josh.markiewicz
	#UE4 - moved GetInputInterface to common location to fixed unity compiler error
	[FYI] bob.tellez

	#ROBOMERGE-SOURCE: CL 3435894


Change 3439145 on 2017/05/15 by josh.markiewicz

	#UE4 - made common GetInputInterface funciton in ExternaUILive similar to IdentityLive for code sharing
	#ryi ryan.gerleve

	#ROBOMERGE-SOURCE: CL 3435378

Change 3437802 on 2017/05/12 by robomerge

	#ROBOMERGE-AUTHOR: bart.hawthorne
	Fix issue where session visibility and party size would not get updated on PS4 if the player changed their party visibility from public to private.

	[CODEREVIEW] ian.fox, sam.zamani

	#ROBOMERGE-SOURCE: CL 3435079


Change 3437801 on 2017/05/12 by robomerge

	#ROBOMERGE-AUTHOR: josh.markiewicz
	#UE4 - only do "platform environment check" when on PS4
	- all other platforms don't need this feature
	- prevents premature calls to Login() on platforms that need to pick a user

	#ROBOMERGE-SOURCE: CL 3435076


Change 3437800 on 2017/05/12 by robomerge

	#ROBOMERGE-AUTHOR: ian.fox
	#OnlineSubsystemPS4 - Ignore entitlements with no name
	- These may be deleted entilements?
	[CODEREVIEW] Bart.Hawthorne
	[FYI] Sam.Zamani

	#ROBOMERGE-SOURCE: CL 3433650


Change 3437797 on 2017/05/12 by robomerge

	#ROBOMERGE-AUTHOR: bob.tellez
	[AUTOMERGE]

	#UE4 IWYU fix

	#JIRA FORT-43436

	#ROBOMERGE-SOURCE: CL 3429743


Change 3437796 on 2017/05/12 by robomerge

	#ROBOMERGE-AUTHOR: bob.tellez
	[AUTOMERGE]

	#UE4 Added a -NoAchievements command line option to disable achievement tracking on PS4 to override what is configured in ini

	#JIRA FORT-43436

	#ROBOMERGE-SOURCE: CL 3429601


Change 3437791 on 2017/05/12 by todd.eckert

	Fixed Bug# FORT-43116 - FQA (Must Fix): Incorrect Brand Guideline displayed within the application when a network error occurs.
	Fixed Bug# FORT-43109 - FQA (Must Fix): Incorrect reference to a Sony Entertainment Network account displayed within the application.

	- Added ??? to Playstation???Network

	#fortnite
	#jira FORT-43116, FORT-43109

	#ROBOMERGE-SOURCE: CL 3428764


	#ROBOMERGE-SAYS: Unresolved conflicts. todd.eckert, please merge this change by hand.
	//ROBOMERGE_OGS_Main/PluginTestGame/Plugins/Online/PS4/OnlineSubsystemPS4Server/Source/Private/OnlineSubsystemPS4Server.cpp
	#CodeReview: todd.eckert, david.nikdel, greg.latcovich, sam.zamani

Change 3437788 on 2017/05/12 by robomerge

	#ROBOMERGE-AUTHOR: rob.cannaday
	Merging Online plugins from Dev-FortniteTwitch task stream

	#ROBOMERGE-SOURCE: CL 3428687


Change 3437786 on 2017/05/12 by robomerge

	#ROBOMERGE-AUTHOR: bob.tellez
	Back out revision 15 from OnlineSubsystemPS4.cpp

	Same issue as was found in OnlineSubsystemPS4Server.cpp

	[CODEREVIEW] Todd.Eckert

	#ROBOMERGE-SOURCE: CL 3427016


Change 3437781 on 2017/05/12 by todd.eckert

	Removed the ??? from the PS4 Server .cpp online sub system because it didn't compile on linux. Need to investigate further.

	#fortnite

	#ROBOMERGE-SOURCE: CL 3426537


	#ROBOMERGE-SAYS: Unresolved conflicts. todd.eckert, please merge this change by hand.
	//ROBOMERGE_OGS_Main/PluginTestGame/Plugins/Online/PS4/OnlineSubsystemPS4Server/Source/Private/OnlineSubsystemPS4Server.cpp
	#CodeReview: todd.eckert, david.nikdel, greg.latcovich, sam.zamani

Change 3437770 on 2017/05/12 by todd.eckert

	Fixed Bug# FORT-43116 - FQA (Must Fix): Incorrect Brand Guideline displayed within the application when a network error occurs.
	Fixed Bug# FORT-43109 - FQA (Must Fix): Incorrect reference to a Sony Entertainment Network account displayed within the application.

	- Added ??? to Playstation???Network

	#fortnite
	#jira FORT-43116, FORT-43109

	[CODEREVIEW] ari.patrick

	#ROBOMERGE-SOURCE: CL 3426422


	#ROBOMERGE-SAYS: Unresolved conflicts. todd.eckert, please merge this change by hand.
	//ROBOMERGE_OGS_Main/PluginTestGame/Plugins/Online/PS4/OnlineSubsystemPS4Server/Source/Private/OnlineSubsystemPS4Server.cpp
	#CodeReview: todd.eckert, david.nikdel, greg.latcovich, sam.zamani

Change 3436843 on 2017/05/12 by robomerge

	#ROBOMERGE-AUTHOR: peter.sauerbrei
	accidentally disabled the wifi check
	#jira none

	#ROBOMERGE-SOURCE: CL 3436841 in ... via CL 3436842


Change 3436031 on 2017/05/11 by robomerge

	#ROBOMERGE-AUTHOR: peter.sauerbrei
	fix for some of the title files being missed when requesting chunk locations
	#jira none

	#ROBOMERGE-SOURCE: CL 3436029 in ... via CL 3436030


Change 3433725 on 2017/05/10 by peter.sauerbrei

	fix for thinking Android is always on WiFi even when it is on LTE
	#jira none

	#ROBOMERGE-SOURCE: CL 3433704 in ... via CL 3433707


Change 3431377 on 2017/05/09 by robomerge

	#ROBOMERGE-AUTHOR: david.nikdel
	#CatalogHelper #Analytics
	- Go back to reporting all receipts in ECom.ClientInAppPurchase (no quantity check)
	- Adjust PS4 Purchasing OSS to not return quantity <= 0 entitlements in the results from Checkout (since they definitely didn't come from this checkout). They'll still come back from QueryPurchases so we can restore
	- Adjust MCP Purchase flow to enforce Quantity >= 1 on entitlements directly resulting from a purchase. This seems to be the case (Q=0) when purchasing a non-consumable entitlement
	- Generate the PurchaseCorrelationId sooner and store it on the RealMoneyParams structure so it's available even in the absence of receipts.
	[CODEREVIEW] Sam.Zamani, Ian.Fox
	#JIRA: WEX-6060

	#ROBOMERGE-SOURCE: CL 3431372 in ... via CL 3431373


Change 3426530 on 2017/05/05 by robomerge

	#ROBOMERGE-AUTHOR: justin.sargent
	Copying //Portal/Dev-Main-Staging to Main (//Portal/Main)

	#ROBOMERGE-SOURCE: CL 3426526 in //Portal/Main/Portal/Plugins/...


Change 3425976 on 2017/05/05 by robomerge

	#ROBOMERGE-AUTHOR: josh.markiewicz
	#UE4 - changed unique ids to heap memory so they can be AsShared() externally
	[CODEREVIEW] ian.fox, ryan.gerleve

	#tests Fortnite profile switching

	#ROBOMERGE-SOURCE: CL 3424004


Change 3424739 on 2017/05/04 by robomerge

	#ROBOMERGE-AUTHOR: peter.knepley
	OnlineBeacons should have bRelevantForNetworkReplays=false

	#ROBOMERGE-SOURCE: CL 3424738 in //UT/Main/UnrealTournament/Plugins/...


Change 3422765 on 2017/05/04 by robomerge

	#ROBOMERGE-AUTHOR: ben.marsh
	Various fixes for CIS.

	#ROBOMERGE-SOURCE: CL 3422763 in //UE4/Main/Engine/Plugins/...


Change 3421749 on 2017/05/03 by robomerge

	#ROBOMERGE-AUTHOR: peter.sauerbrei
	[NULL MERGE]
	make it so we are back to 100MB
	temporary fix until I can either download the symbol file or symbolicate on the server
	#jira WEX-6142

	#ROBOMERGE-SOURCE: CL 3421746 in ... via CL 3421747


Change 3421372 on 2017/05/03 by robomerge

	#ROBOMERGE-AUTHOR: josh.markiewicz
	#UE4 - separated out the canceled account picker state from the generic error state
	- valid when the HOME button is pressed while in the account picker
	- also valid when adding a new account to the account picker
	[CODEREVIEW] ian.fox
	#tests using Y account picker in Fortnite

	#ROBOMERGE-SOURCE: CL 3421371


Change 3419554 on 2017/05/02 by robomerge

	#ROBOMERGE-AUTHOR: bart.hawthorne
	- Change the connection timeout value from 90 seconds to 30 and the initial connect value to 45, so that disconnections happen earlier (these are the same values as Paragon)
	- Add a WebApiTimeoutInSeconds config value for the PS4 OSS for web requests made with the PS4 Web Api library. This matches the timeout in the Http module.
	- Individual PS4 Web Api tasks can have their own timeout values as appropriate

	[CODEREVIEW] carlos.cuello, sam.zamani
	#jira FORT-42428

	#ROBOMERGE-SOURCE: CL 3419551


Change 3418470 on 2017/05/02 by Sam.Zamani

	=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
	#OGF, #OnlineSubsystemLive, #OnlineSubsystemPS4 - Normalize epic-used authtypes to lowercase
	- Revert OSS Live AuthType to "xbl" from "xbl_xtoken" (but still send xbl_xtoken as auth method)
	- Add helper for XBL authtype to present the correct AuthMethod for xbox (and future other token auths)
	- Fixes GetExternalIds api requests expecting "psn" instead of "PSN"
	- Fixes a bunch of instances where we're expect GetAuthType to return the platform "xbl", not "xbl_xtoken"
	[CODEREVIEW] Sam.Zamani
	[FYI] Jamal.Fanaian

	#ROBOMERGE-SOURCE: CL 3417624

	=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

Change 3417581 on 2017/05/01 by robomerge

	#ROBOMERGE-AUTHOR: ian.fox
	#OnlineSubsystemMCP - Remove bogus ensure
	- This ensure doesn't make sense logically, as we can only be the inverse case in this branch
	- Not sure what this was trying to prove?
	[CODEREVIEW] Rob.Cannaday

	#ROBOMERGE-SOURCE: CL 3417580


Change 3415425 on 2017/04/30 by robomerge

	#ROBOMERGE-AUTHOR: rob.cannaday
	Twitch External UI interface
	#jira FORT-41161
	Ian.Fox, Josh.MarkieWicz

	#ROBOMERGE-SOURCE: CL 3415424


Change 3414181 on 2017/04/28 by robomerge

	#ROBOMERGE-AUTHOR: rob.cannaday
	Use TEXT macro

	#ROBOMERGE-SOURCE: CL 3414180


Change 3414167 on 2017/04/28 by robomerge

	#ROBOMERGE-AUTHOR: rob.cannaday
	Add LeaderDisplayName to "Party Info" line for DumpPartyState
	#jira FORT-42530

	#ROBOMERGE-SOURCE: CL 3414166


Change 3412571 on 2017/04/27 by robomerge

	#ROBOMERGE-AUTHOR: josh.markiewicz
	#UE4 - fixed crash in UnregisterLocalTalkers when the User was null presumably because they were logged out while the game was constrained
	[CODEREVIEW] ian.fox, ryan.gerleve

	#ROBOMERGE-SOURCE: CL 3412564


Change 3411953 on 2017/04/27 by robomerge

	#ROBOMERGE-AUTHOR: bart.hawthorne
	Add comment to previous presence fix

	#ROBOMERGE-SOURCE: CL 3411952


Change 3411815 on 2017/04/27 by robomerge

	#ROBOMERGE-AUTHOR: bart.hawthorne
	Use a different overload of PresenceService::GetPresenceForMultipleUsersAsync  and specify the parameters to retrieve presence - even though the parameters we're using should match the defaults in the other overload, the other overload was not working.

	[CODEREVIEW] ryan.gerleve, ian.fox
	#jira FORT-41659

	#ROBOMERGE-SOURCE: CL 3411814


Change 3410328 on 2017/04/26 by robomerge

	#ROBOMERGE-AUTHOR: rob.cannaday
	Twitch OSS improvements after code review

	#ROBOMERGE-SOURCE: CL 3410326


Change 3410295 on 2017/04/26 by robomerge

	#ROBOMERGE-AUTHOR: bart.hawthorne
	Fix detailed presence not showing up in the friends list on PS4 - the API group changed after the SDK 4.0 upgrade.

	[CODEREVIEW] sam.zamani

	#ROBOMERGE-SOURCE: CL 3410294


Change 3409227 on 2017/04/26 by rob.cannaday

	#fort #twitch
	Twitch Online Subsystem
	Implements Login with an existing client token.  Next step will prompt the user to login if there is no existing token
	#jira FORT-41158
	#jira FORT-41160

	#ROBOMERGE-SOURCE: CL 3409215


Change 3408719 on 2017/04/25 by Ian.Fox

	#HTTPChunkInstaller - Fix bad merge

	#CodeReview Peter.Sauerbrei

Change 3408245 on 2017/04/25 by robomerge

	#ROBOMERGE-AUTHOR: josh.markiewicz
	#UE4 - missing comments in mcp
	#jira none

	#ROBOMERGE-SOURCE: CL 3408241


Change 3408202 on 2017/04/25 by peter.sauerbrei

	update to the chunk data to allow characters to have some duplicate data in their chunks
	this increases the installed size only slightly
	#jira WEX-6118
	#jira WEX-5996

	#ROBOMERGE-SOURCE: CL 3408187 in ... via CL 3408188


Change 3407037 on 2017/04/25 by robomerge

	#ROBOMERGE-AUTHOR: james.hopkin
	#oss #stomp Added the correct flow for requesting/refreshing auth for both user and client Stomp connections.

	Logic follows the same pattern as ProcessRequestAsUser/Client in OnlineSubsystemMcp. Apart from obtaining the appropriate token, the main difference between the client and user code paths is:
	 - client connection attempts will request auth if there is no current token, even if previous auth requests failed
	 - user connections will refresh auth if a valid token has expired, but fail if there is no valid auth token for the user
	In either case, Stomp connections wait for the response from a pending auth request before attempting to connect.

	Note that the dedicated server-specific code has moved from the manager to the individual connection, since each connection keeps track of whether it is waiting on an auth request.

	Also tightend up some TSharedPtrs to be TSharedRefs and replaced MakeShareables with MakeShared.

	#jira OGS-633,FORT-41696

	#ROBOMERGE-SOURCE: CL 3407036


Change 3406177 on 2017/04/24 by robomerge

	#ROBOMERGE-AUTHOR: peter.sauerbrei
	fix for not all pak files being mounted when trying to load items for the profile
	#jira WEX-6065

	#ROBOMERGE-SOURCE: CL 3406170 in ... via CL 3406173


Change 3406159 on 2017/04/24 by robomerge

	#ROBOMERGE-AUTHOR: peter.sauerbrei
	fix for crash on exit in OnlineSubsystem for IOS
	#jira none

	#ROBOMERGE-SOURCE: CL 3406156 in ... via CL 3406158


Change 3404579 on 2017/04/21 by robomerge

	#ROBOMERGE-AUTHOR: ian.fox
	#Fortnite - Set console parties not joinable when epic party is unjoinable
	- This fixes the case where we're advertising our session during things like the tutorial

	#jira FORT-40318

	#ROBOMERGE-SOURCE: CL 3404578


Change 3404201 on 2017/04/21 by peter.sauerbrei

	fix for paks not being mounted before attempting to use them
	#jira WEX-6065

	#ROBOMERGE-SOURCE: CL 3404179 in ... via CL 3404182


Change 3401877 on 2017/04/20 by robomerge

	#ROBOMERGE-AUTHOR: alex.thurman
	Theater Map Tiles cannot be clicked on while the Update Manager has an update in progress.

	#JIRA FORT-42085
	[CODEREVIEW] Ashley.Rog, Jennifer.Miller, Chris.Gagnon

	#ROBOMERGE-SOURCE: CL 3401873


Change 3401737 on 2017/04/20 by robomerge

	#ROBOMERGE-AUTHOR: josh.markiewicz
	#UE4 - added Google error parsing now that I have an example
	#jira none

	#ROBOMERGE-SOURCE: CL 3401736


Change 3401142 on 2017/04/19 by robomerge

	#ROBOMERGE-AUTHOR: ian.fox
	#OnlineSubsystemPS4 - Fix PS4 purchasing not copying product label into purchase
	[CODEREVIEW] Luke.Thatcher
	#jira FORT-41627

	#ROBOMERGE-SOURCE: CL 3401141


Change 3401087 on 2017/04/19 by robomerge

	#ROBOMERGE-AUTHOR: ian.fox
	#Fortnite - Fix cancelling purchases as being an exceptional error
	#jira FORT-41627
	[CODEREVIEW] Saad.Nader

	#ROBOMERGE-SOURCE: CL 3401086


Change 3401085 on 2017/04/19 by robomerge

	#ROBOMERGE-AUTHOR: ian.fox
	#OGF, MCP - Rollback change to OnlineIdentity in favour of fix from Orion
	[CODEREVIEW] Josh.Markiewicz, Sam.Zamani

	#ROBOMERGE-SOURCE: CL 3401084


Change 3399421 on 2017/04/19 by robomerge

	#ROBOMERGE-AUTHOR: bart.hawthorne
	Set the cached presence in the presence interface for each friend after retrieving the friend list. Fixes an issue where the "Join Party" in-game button wouldn't join a friend's party because it was looking for the presence data from the friend's interface, which wasn't there.

	#jira FORT-39724

	#ROBOMERGE-SOURCE: CL 3399419


Change 3399065 on 2017/04/19 by ian.fox

	#Fortnite - Fix headless account creation
	- On successful headless account creation, pass new account id to game so it knows we were successful
	- Added virtual SetPlatformUniqueNetId to store a logged in console users net id
	- Moved storing of platform net id to OnLoginConsoleComplete as it's always called even if logged in (whereas OnLoginUIConsoleComplete is only called when not logged in)
	- Removed virtual overrides in favour of just calling SetPlatforumUniqueNetId to do storing functionality
	[CODEREVIEW] Adam.Szpakowski, Josh.Markiewicz
	#jira FORT-41787

	#ROBOMERGE-SOURCE: CL 3399061


Change 3398873 on 2017/04/18 by robomerge

	#ROBOMERGE-AUTHOR: ian.fox
	#OnlineSubsystemPS4 - Fix PS4 store products querying for SDK 4.500
	- Our version of strncpy auto-nulls the last character, so we need to +1 the length (and ensure that fits with a static_assert)
	- This worked before without the +1 because PRODUCT_ID_LEN was 47, whereas now PRODUCT_LABEL_MAX_LEN is 16 (same as our id)
	[CODEREVIEW] Luke.Thatcher, Sam.Zamani
	#jira FORT-42062

	#ROBOMERGE-SOURCE: CL 3398872


Change 3398774 on 2017/04/18 by robomerge

	#ROBOMERGE-AUTHOR: ian.fox
	#OnlineSubsystemPS4 - Only report unconsumed entitlements
	- This is the behaviour licensees likely want
	- This fixes clients trying to reclaim already claimed entitlements after account resets
	[CODEREVIEW] Sam.Zamani, David.Nikdel
	#jira FORT-41757
	#jira FORT-40836

	#ROBOMERGE-SOURCE: CL 3398771


Change 3398480 on 2017/04/18 by robomerge

	#ROBOMERGE-AUTHOR: ian.fox
	#Fortnite - Add ShowWebUrl blueprint function for handling whitelisted domains/embeded browser on consoles
	- Fixed PS4 ShowWebURL to not use out-of-scope values from TCHAR_TO_UTF8
	- We need to use the OSS implementation for all web browser stuff for PS4 website permissions
	[CODEREVIEW] Saad.Nader, Saul.Abreu, Bart.Hawthorne
	#jira FORT-39699

	#ROBOMERGE-SOURCE: CL 3398478


Change 3398418 on 2017/04/18 by robomerge

	#ROBOMERGE-AUTHOR: james.longstreet
	#fortnite #jira FORT-28656 Fix PS4 trophies

	I had PS4Engine.ini stashed in another changelist and missed checking it in.  Changes to UnlockAchievementForQuest() for GameProgress on Xbox broke PS4 as well, so make the platform achievement ID mapping changes to PS4 as well.

	#ROBOMERGE-SOURCE: CL 3398416


Change 3398378 on 2017/04/18 by robomerge

	#ROBOMERGE-AUTHOR: josh.markiewicz
	#UE4 - Session resiliency OGS-563
	- all session events detect connection failures
	- server is authoritative, continues to keep track of session state changes regardless of backend failures
	-- game code will be alerted to problems however
	- all subsequent events prior to a successful heartbeat immediately fail
	-- prevents build up of session calls that will inevitably fail but take a long time due to http retry code
	- first successful heartbeat after any number of failures will trigger a full update on the backend
	-- only a successful full update will bring the session back to normal
	- more logging of state of sessions while out of sync with backend

	#tests charles tool to block calls to the server during empty state all the way through moba completion

	#ROBOMERGE-SOURCE: CL 3398373


Change 3397666 on 2017/04/18 by robomerge

	#ROBOMERGE-AUTHOR: josh.markiewicz
	#UE4 - async task manager comments

	#tests none

	#ROBOMERGE-SOURCE: CL 3397665


Change 3397243 on 2017/04/18 by robomerge

	#ROBOMERGE-AUTHOR: ian.fox
	#OnlineSubsystemLive - Error hresults now log as hex and error messages use the proper wide string formatter for wchar_t

	#ROBOMERGE-SOURCE: CL 3397242


Change 3397241 on 2017/04/18 by robomerge

	#ROBOMERGE-AUTHOR: ian.fox
	#OnlineSubsystemLive - Don't query session information for users we don't fully know about yet
	- This helps ignore the first "stat updated" event we get when we initially listen to a user

	#ROBOMERGE-SOURCE: CL 3397240


Change 3397233 on 2017/04/17 by robomerge

	#ROBOMERGE-AUTHOR: ian.fox
	#OnlineSubsystemLive - Batch friend user stats requests
	- We were hitting a cap requesting the entire friendslist at once on an account with 100+ friends
	- Batch size is 50 for now; maximum is undocumented(?) but this is safe enough
	- Moved multiplayersession friends query out from behind the presence query now that we're not squishing presence
	[CODEREVIEW] Ryan.Gerleve
	#jira FORT-41812

	#ROBOMERGE-SOURCE: CL 3397232


Change 3397062 on 2017/04/17 by robomerge

	#ROBOMERGE-AUTHOR: ian.fox
	#OnlineSubsystemLive - Remove spammy presence log
	- This warning was a valid case when we subscribe to friends' status changes initially before querying friends is complete, so not worth logging

	#ROBOMERGE-SOURCE: CL 3397061


Change 3396939 on 2017/04/17 by robomerge

	#ROBOMERGE-AUTHOR: ian.fox
	#OnlineSubsystemLive - Fix error log typo while I'm at it

	#ROBOMERGE-SOURCE: CL 3396938


Change 3396935 on 2017/04/17 by robomerge

	#ROBOMERGE-AUTHOR: ian.fox
	#OnlineSubsystemLive - Fix error message to use TCHAR correctly instead of ansichar

	#ROBOMERGE-SOURCE: CL 3396933


Change 3396593 on 2017/04/17 by Sam.Zamani

	Unshelved from pending changelist '3396269':

	=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
	#UE4 Do not attempt to PS4 create subsystem multiple times if it failed to init. Multiple failed init requests cause system messages to get emitted that accumulate bad state that manifests in IME device logic failing and controller id management code failing.

	#ROBOMERGE-SOURCE: CL 3396268


Change 3394908 on 2017/04/14 by robomerge

	#ROBOMERGE-AUTHOR: james.longstreet
	#fortnite #jira FORT-38142 Cross-platform achievement unlocking

	In InitQuests, if a) a quest has a valid achievement unlock state, b) the quest is in its achievement unlock state, and c) the corresponding achievement exists and is not unlocked, then unlock the achievement.  This covers unlocking achievements that were achieved on a different platform.

	To support checking if the achievement is unlocked, change the behavior of FOnlineAchievementsLive::GetCachedAchievement()/GetCachedAchievementDescription() to treat the AchievementId passed in as the game-side achievement ID (in Fortnite's case, the quest ID), not the platform-side ID -- the client code shouldn't care about the platform ID.

	#ROBOMERGE-SOURCE: CL 3394907


Change 3393149 on 2017/04/13 by robomerge

	#ROBOMERGE-AUTHOR: ryan.gerleve
	Clear cached XboxLiveContexts when resuming from suspend and re-subscribe to multiplayer events, since they are stale at this point.

	#jira FORT-40115

	#ROBOMERGE-SOURCE: CL 3393147


Change 3392843 on 2017/04/13 by robomerge

	#ROBOMERGE-AUTHOR: eric.newman
	Allow server to try to report match results for up to 15 minutes when connection issues are encountered.  Configurable maximum retry count and retry time limit via INI.
	#jira OR-37112

	#tests Ran through several connection failure test cases with a local mcp.  Rejecting port connections (stopping local mcp) triggers retries, timeouts (pausing debugger, socket still accepting data) correctly does not retry the call in case it has already been recorded

	#ROBOMERGE-SOURCE: CL 3392842


Change 3391810 on 2017/04/12 by robomerge

	#ROBOMERGE-AUTHOR: ian.fox
	#Fortnite, #Xbox - Block mcp private chat to XB users (who are not on xbox)

	#ROBOMERGE-SOURCE: CL 3391809


Change 3391610 on 2017/04/12 by robomerge

	#ROBOMERGE-AUTHOR: ian.fox
	#OnlineSubsystemLive - Fix crash if you failed to join a session
	- We were using the NamedSession pointer in TriggerDelegates after we deleted it in Finalize
	- We now store the SessionName FName separately and use that everywhere
	[CODEREVIEW] Ryan.Gerleve

	#ROBOMERGE-SOURCE: CL 3391608


Change 3391595 on 2017/04/12 by robomerge

	#ROBOMERGE-AUTHOR: ian.fox
	#OnlineSubsystemLive - Add logging for failing to parse xb invites

	#ROBOMERGE-SOURCE: CL 3391594


Change 3391593 on 2017/04/12 by robomerge

	#ROBOMERGE-AUTHOR: ian.fox
	#OnlineSubsystemLive - Change error format for HResults to always log as hex value

	#ROBOMERGE-SOURCE: CL 3391592


Change 3391165 on 2017/04/12 by robomerge

	#ROBOMERGE-AUTHOR: luke.thatcher
	[FORTNITE] [PS4] [^] Merging PS4 SDK 4.500 upgrade from //UE4/Fortnite-Staging (CL 3390958) to //Fortnite/Main
	 - Resolves memory corruption crash bug when users sign out of PSN

	#jira FORT-41496

	#ROBOMERGE-SOURCE: CL 3391164


Change 3389595 on 2017/04/11 by robomerge

	#ROBOMERGE-AUTHOR: ryan.gerleve
	Duplicate CL 3386892 from Dev-Networking to prevent modifying an array during range-for iteration.

	#jira FORT-40583

	#ROBOMERGE-SOURCE: CL 3389288


Change 3388922 on 2017/04/11 by robomerge

	#ROBOMERGE-AUTHOR: ryan.gerleve
	PS4 voice interface always accesses the PS4 online subsystem explicity in case the default subsystem is not PS4.

	#ROBOMERGE-SOURCE: CL 3388920


Change 3388393 on 2017/04/11 by robomerge

	#ROBOMERGE-AUTHOR: james.longstreet
	#fortnite #jira FORT-38507 Implement GameProgress for Xbox as a percentage of completed achievements.

	FOnlineAchievementsLive did not handle the case where GetAchievementsForTitleIdAsync() does not return all of the achievements (Result->HasNext).  It seems to return a maximum of 32, although this isn't documented.  Change FOnlineAchievementsLive to query each new "page" of achievements until we've received all of them.

	#ROBOMERGE-SOURCE: CL 3388392


Change 3388216 on 2017/04/11 by robomerge

	#ROBOMERGE-AUTHOR: josh.markiewicz
	#UE4 - forgot to compare against the url encoded login url (only the startswith element was preventing failure) (FB/Google)
	- added parsing of facebook login failure to close browser window rather than allow it to go back to facebook homepage
	#jira none

	#ROBOMERGE-SOURCE: CL 3388213


Change 3388211 on 2017/04/11 by robomerge

	#ROBOMERGE-AUTHOR: josh.markiewicz
	#UE4 - added setting to persist cookies or force in memory only
	- limited redirect URL delegate firing to just "before browse" call and not on on "url change"
	-- also limited to main frame
	- cleanup
	#jira none

	#ROBOMERGE-SOURCE: CL 3388210


Change 3388202 on 2017/04/11 by robomerge

	#ROBOMERGE-AUTHOR: josh.markiewicz
	#UE4 - removed Facebook access token from logs on shipping builds
	#jira none

	#ROBOMERGE-SOURCE: CL 3388200


Change 3387618 on 2017/04/10 by robomerge

	#ROBOMERGE-AUTHOR: josh.markiewicz
	#UE4 - code support for moving Android Facebook SDK to NFL directory
	#jira OGS-636

	#ROBOMERGE-SOURCE: CL 3387614


Change 3387617 on 2017/04/10 by robomerge

	#ROBOMERGE-AUTHOR: josh.markiewicz
	#UE4 - moving Android Facebook SDK to NFL directory
	#jira OGS-636

	#ROBOMERGE-SOURCE: CL 3387613


Change 3387605 on 2017/04/10 by robomerge

	#ROBOMERGE-AUTHOR: josh.markiewicz
	#UE4 - small fixup to GoogleLogin init function on Android
	#JIRA none

	#ROBOMERGE-SOURCE: CL 3387602


Change 3387577 on 2017/04/10 by robomerge

	#ROBOMERGE-AUTHOR: jeff.campeau
	Select MCP environment by sandbox id

	#ROBOMERGE-SOURCE: CL 3387576


Change 3387460 on 2017/04/10 by robomerge

	#ROBOMERGE-AUTHOR: ian.fox
	#OnlineSubsystemMcp - Encode XMPP usernames so that splitting on ":" is safe
	[CODEREVIEW] Rob.Cannaday

	#ROBOMERGE-SOURCE: CL 3387458


Change 3386909 on 2017/04/10 by robomerge

	#ROBOMERGE-AUTHOR: bart.hawthorne
	Temporary change to skip the rejoin check if we are handling an invite. Eventually we will delay handling the invite until after the player has a chance to choose whether to rejoin the session or not.

	#ROBOMERGE-SOURCE: CL 3386904


Change 3386816 on 2017/04/10 by robomerge

	#ROBOMERGE-AUTHOR: ryan.gerleve
	Add ability for the Xbox Live presence and friends interfaces to retrieve configured stats as presence properties along with the default presence string.
	Add support for uint32 parameters to Xbox Live events.

	#ROBOMERGE-SOURCE: CL 3386813


Change 3386282 on 2017/04/10 by robomerge

	#ROBOMERGE-AUTHOR: eric.newman
	Changed MCP's verify auth to only return false if an explicit invalidation was received.  Intent is more resiliency to temporary connection issues.
	[CODEREVIEW] josh.markiewicz,sam.zamani

	#tests Connected to a server after changing the verify URL to an invalid URL, and verified server allowed player to join despite timeout attempting to verify auth
	#jira OGS-521

	#ROBOMERGE-SOURCE: CL 3385935


Change 3385235 on 2017/04/07 by robomerge

	#ROBOMERGE-AUTHOR: ryan.gerleve
	[AUTOMERGE]

	Rename OnlineSubsystemLiveDedicatedServer and OnlineSubsystemPS4DedicatedServer to mitigate Windows maximum path length issues.

	#jira FORT-1

	#ROBOMERGE-SOURCE: CL 3385231


Change 3385205 on 2017/04/07 by robomerge

	#ROBOMERGE-AUTHOR: sam.zamani
	fix for not properly detecting missing auth association

	[CODEREVIEW] ian.fox
	#tests PS4 run with an unlinked account

	#ROBOMERGE-SOURCE: CL 3385204


Change 3383881 on 2017/04/06 by robomerge

	#ROBOMERGE-AUTHOR: ian.fox
	#OnlineSubsystemMcp - Add warning information so you know what about a build is incompatible
	[CODEREVIEW] Rob.Cannaday

	#ROBOMERGE-SOURCE: CL 3383687


Change 3381205 on 2017/04/05 by Ian.Fox

	#OnlineSubsystemLive, #OnlineSubsystemPS4 - Add unique namespaces for dedicated server OSS online service names
	- This prevents any possible issues if these values change

Change 3380991 on 2017/04/05 by Ian.Fox

	#OnlineSubsystemSwitch - Rename OnlineSubsystem Service name to Nintendo

Change 3380564 on 2017/04/05 by James.Hopkin

	#gameplugins #facebook Fixed typo (wrong class name)

Change 3380520 on 2017/04/05 by robomerge

	#ROBOMERGE-AUTHOR: james.hopkin
	#mcp #profile

	- Added specific notification type for profile update notifications instead of HTTP response type.
	- Notifications are now finer grained: each Stomp notification is either a Notification (e.g. LootNotification), or an update for a single profile.
	- Updates can be broken into chunks. Currently updates with more than 20 changes are broken into 20 change chunks. This is mostly for cheat commands, which sometimes bust the 128k limit on notification size.
	- This change only affects profile notifications. HTTP responses have not changed and the handling code is the same.

	Notifications changes tested extensively in Fortnite. Change smoke tested in Paragon and in Fortnite with notifications disabled to verify no changes.

	#jira ogs-554

	#ROBOMERGE-SOURCE: CL 3380519


Change 3380118 on 2017/04/04 by ian.fox

	#OnlineSubsystem - Add Online Services name to every Online Subsystem
	#jira FORT-34457
	[CODEREVIEW] Josh.Markiewicz, Bart.Hawthrone, Ryan.Gerleve
	I wasn't sure what we called our own online services, so I called them "Epic Services"; Mcp seemed wrong?  Let me know what you think.

	Bart, I'm not sure what Nintendo calls their Switch online services?  I put "Nintendo Online" for now, used like "Failed to login to your Nintendo Online account"

	#ROBOMERGE-SOURCE: CL 3380086


Change 3377890 on 2017/04/03 by Andrew.Grant

	%^$#@!

Change 3377554 on 2017/04/03 by andrew.grant

	Fix for non-unity compilation
	#tests compiled non-unity

	#ROBOMERGE-SOURCE: CL 3377495


	#ROBOMERGE-SAYS: Unresolved conflicts. andrew.grant, please merge this change by hand.
	//ROBOMERGE_OGS_Main/PluginTestGame/Plugins/Online/HTTPChunkInstaller/Source/Public/HTTPOnlineTitleFile.h
	#CodeReview: andrew.grant, david.nikdel, greg.latcovich, sam.zamani

Change 3374349 on 2017/03/31 by robomerge

	#ROBOMERGE-AUTHOR: josh.markiewicz
	#UE4 - added missing initializers on OSS IOS
	#jira none

	#ROBOMERGE-SOURCE: CL 3374348


Change 3374138 on 2017/03/31 by robomerge

	#ROBOMERGE-AUTHOR: james.hopkin
	#oss Fixed hidden member warning

	#ROBOMERGE-SOURCE: CL 3374137


Change 3374066 on 2017/03/31 by robomerge

	#ROBOMERGE-AUTHOR: james.hopkin
	#oss Fixed Stomp crash in PIE after unexpected disconnection from server and then stopping play

	Also reduced fallback multiplier to 1.5x - was getting up to large delays too quickly

	#ROBOMERGE-SOURCE: CL 3374065


Change 3373675 on 2017/03/30 by robomerge

	#ROBOMERGE-AUTHOR: andrew.grant
	Merging //Orion/Main to Dev-General (//Orion/Dev-General)
	#tests #rb na

	#ROBOMERGE-SOURCE: CL 3373674


Change 3373248 on 2017/03/30 by robomerge

	#ROBOMERGE-AUTHOR: josh.markiewicz
	#UE4 - missing initializer for heartbeat value caused possible race condition on heartbeat failure retries
	- added some logging

	#tests dedicated server launching with charles blocking access

	#ROBOMERGE-SOURCE: CL 3373246


Change 3372907 on 2017/03/30 by robomerge

	#ROBOMERGE-AUTHOR: rob.cannaday
	Remove ensure in chatroom left completion
	It's possible for the Chatroom object to be re-used while we are waiting for the completion delegate, for example when using Clumsy to delay XMPP traffic
	#jira FORT-40691

	#ROBOMERGE-SOURCE: CL 3372905


Change 3371739 on 2017/03/30 by andrew.grant

	Merging //UE4/Main @ 3365166
	#tests QA pass, preflighted

	#ROBOMERGE-SOURCE: CL 3371635


	#ROBOMERGE-SAYS: Unresolved conflicts. andrew.grant, please merge this change by hand.
	//ROBOMERGE_OGS_Main/PluginTestGame/Plugins/Online/HTTPChunkInstaller/Source/Private/HTTPChunkInstaller.cpp
	//ROBOMERGE_OGS_Main/PluginTestGame/Plugins/OnlineGameplayFramework/Source/Account/Private/OnlineAccountCommon.cpp
	#CodeReview: andrew.grant, david.nikdel, greg.latcovich, sam.zamani

Change 3371704 on 2017/03/30 by robomerge

	#ROBOMERGE-AUTHOR: josh.markiewicz
	#UE4 - forget to add include directories for iOS Google
	#jira none

	#ROBOMERGE-SOURCE: CL 3371612


Change 3371137 on 2017/03/30 by Josh.Markiewicz

	#UE4  - Back out changelist 3371123
	- made things worse, not sure what the issue is atm

Change 3371125 on 2017/03/29 by robomerge

	#ROBOMERGE-AUTHOR: josh.markiewicz
	#UE4 - Android google subsystem clean up
	#jira none

	#ROBOMERGE-SOURCE: CL 3371124


Change 3371123 on 2017/03/29 by Josh.Markiewicz

	#UE4 - speculative fix related to IWYU header errors on build machine

Change 3371116 on 2017/03/29 by robomerge

	#ROBOMERGE-AUTHOR: josh.markiewicz
	#UE4 - missing Google source code for iOS stubs
	- fixed init order in constructor
	#jira none

	#ROBOMERGE-SOURCE: CL 3371115


Change 3370994 on 2017/03/29 by Ian.Fox

	#HTTPChunkInstaller - Mark HttpChunkInstaller PCH for both engine and game inclusion
	- Fixes the build in non-engine builds

Change 3370985 on 2017/03/29 by robomerge

	#ROBOMERGE-AUTHOR: ian.fox
	#OnlineSubsystemLive - Correct comment

	#ROBOMERGE-SOURCE: CL 3370984


Change 3370863 on 2017/03/29 by robomerge

	#ROBOMERGE-AUTHOR: ian.fox
	#OnlineSubsystemLive - Fix crash if you use an invalid localuser xuid for the show profile screen
	[CODEREVIEW] Saad.Nadder

	Saad, I'm going to fix the code calling this with an invalid ID as well, but just an FYI this is why this didn't work

	#ROBOMERGE-SOURCE: CL 3370862


Change 3370861 on 2017/03/29 by robomerge

	#ROBOMERGE-AUTHOR: ian.fox
	#Fortnite, #Xbox - Dedicated server now creates an additional game session for xbox clients
	- This only happens if xbox clients actually connect to the server
	- Only xbox clients are asked to join this session
	- Xbox clients should leave this session anytime they leave the game session
	- MCP manages creating the actual session for us
	#jira FORT-36913

	#ROBOMERGE-SOURCE: CL 3370857


Change 3370860 on 2017/03/29 by robomerge

	#ROBOMERGE-AUTHOR: ian.fox
	#OnlineSubsystemLive - Allow joining a session without making it your presense session
	- bUsesPresence now controls whether or not a session will be advertised to friends as your active session
	[CODEREVIEW] Ryan.Gerleve

	#ROBOMERGE-SOURCE: CL 3370853


Change 3370859 on 2017/03/29 by robomerge

	#ROBOMERGE-AUTHOR: ian.fox
	#OnlineSubsystemLive - Add debug logging for xbox friend session presence

	#ROBOMERGE-SOURCE: CL 3370836


Change 3370668 on 2017/03/29 by robomerge

	#ROBOMERGE-AUTHOR: josh.markiewicz
	#UE4 - TPS for Google Sign In Android
	#jira none

	#ROBOMERGE-SOURCE: CL 3370666


Change 3370620 on 2017/03/29 by robomerge

	#ROBOMERGE-AUTHOR: josh.markiewicz
	#UE4 - fixed crash in GooglePlay during client API connect because when the default online subsystem isn't GooglePlay
	- added a little more logging
	#jira none
	[CODEREVIEW] david.nikdel, chris.babcock, ryan.gerleve

	#ROBOMERGE-SOURCE: CL 3370618


Change 3370558 on 2017/03/29 by robomerge

	#ROBOMERGE-AUTHOR: bart.hawthorne
	- Fix issue where the PS4 Read Friends List request might never return on failure
	- It is now possible to log back in from the login screen after a network disconnection and transition to the frontend properly

	#ROBOMERGE-SOURCE: CL 3370553


Change 3369621 on 2017/03/29 by robomerge

	#ROBOMERGE-AUTHOR: ian.fox
	#Gamecircle - Fix compile error
	#jira UE-43442

	#ROBOMERGE-SOURCE: CL 3369599 in //UE4/Main/Engine/Plugins/...


Change 3369091 on 2017/03/28 by robomerge

	#ROBOMERGE-AUTHOR: ian.fox
	#OnlineSubsystemLive - Fix joining dedicated server sessions never finishing correctly

	#ROBOMERGE-SOURCE: CL 3369068


Change 3368884 on 2017/03/28 by robomerge

	#ROBOMERGE-AUTHOR: josh.markiewicz
	#UE4 - OnlineSubsystemGoogle for Android first pass
	#jira none

	#ROBOMERGE-SOURCE: CL 3368792


Change 3368883 on 2017/03/28 by robomerge

	#ROBOMERGE-AUTHOR: josh.markiewicz
	#UE4 - fixed typo in Facebook logout function
	- added FacebookLogin.java to proguard just in case
	#jira none

	#ROBOMERGE-SOURCE: CL 3368779


Change 3367175 on 2017/03/28 by robomerge

	#ROBOMERGE-AUTHOR: ian.fox
	#OnlineSubsystemLive - Remove completed todo comment
	- This feature is implemented above

	#ROBOMERGE-SOURCE: CL 3367174

[CL 3453171 by Sam Zamani in Main branch]
2017-05-22 21:33:57 -04:00
..