This change serializes the GPU breadcrumb data into the shared context so that it can then be retrieved by the crash report client and included in the final payload.
#jira UE-214270
#tests tested locally
#rb mihnea.balta
[CL 34237925 by daniele vettorel in ue5-main branch]
The module name is ok but the CrashReportClientEditor target is causing a warning that can be safely ignored.
#jira UE-215245
#rb Sebastian.Thomeczek, Patrick.Laflamme
[CL 33941604 by martin sevigny in ue5-main branch]
IsStuck can be used to categorize abnormal terminations. This can catch reports where the player terminates the program before the hang detection kicks in (normally quite high, 45 to 60 seconds).
#rb daniele.vettorel
#tests multiple crash reports using debug commands
#rnx
[CL 32428340 by nicolas mercier in ue5-main branch]
Change PlatformName to be stored as TCHAR array like all other properties.
#rb daniele.vettorel, elizabeth.bunner, zach.harris
#tests locally in FrontEnd
[CL 31938694 by nicolas mercier in ue5-main branch]
* Renamed some configuration settings in CrashReporterClient(Editor) targets and added comments to clarify their use.
* Merged the different telemetry keys to one.
* Allow telemetry to be set using environment variables.
#rb Wes.Hunt
#jira UE-205533
[CL 31417647 by johan berg in ue5-main branch]
* Disable send buttons if both crash receiver and data router configuration values are unset.
* Optionally display end point in crash report client.
* "Agree to be contacted" text is now configurable with to be able to set company name.
#rb ionut.matasaru
[CL 30921491 by johan berg in ue5-main branch]
Introduces a few changes that enables CrashReportClient to read project it's settings from project configuration.
* Add compile time fallback of data router to CrashReportClientEditor.
* Refactored how some global defines are set in CrashReportClient/CrashReportClientEditor target to allow different settings for development time vs retail time.
* Added code that allows project configuration files to override any CRC setting. Previously it would only apply to some properties.
* Refactored CrashReportCoreConfig.
* Added compile time defines for company name. UX changes in other CL.
* Limit core usage for CRC to 5 cores. Significantly reduces memory usage for machines with many cores.
#rb Patrick.Laflamme
#jira UE-114670
[CL 30879797 by johan berg in ue5-main branch]
- use BaseDir() instead of ProjectDir(), as ProjectDir could return a relative path (unsuitable for drive information)
- Added missing fields in the crash reporter context that is sent on abnormal termination. Some fields were added recently but were never synced/sent by the crash reporter client.
- Fix an issue that prevented listing of partitions. The Wbem Next() method can return a value that is not 0 but also not a failure.
#rb daniele.vettorel, zach.harris
#rnx
[CL 30330133 by nicolas mercier in ue5-main branch]
Cuts time to record a crash context by as much as 30s in the presence of some security software.
#rb johan.berg
[CL 27322947 by robert millar in ue5-main branch]
It was the initial bug, but while looking at it, I noticed that the MultilineEditableTextBox was containing both a Font via FEditableTextBoxStyle, and another one via FTextBlockStyle, thus being error prone / inconsistent.
In order to fix the underlying issue (in addition to fix the initial bug), I removed the Font from FEditableTextBoxStyle, and moved the FTextBlockStyle from MultilineEditableTextBox to FEditableTextBoxStyle.
It solves the duplication issue and so make it clear where the Font should be set/read from.
However, as the text block style is now embedded in the editable text box style, it cannot be initialized the exact same way, and I had to do some changes to ensure there was no regression, by configuring various FEditableTextBoxStyle in some style files. I also change the default value for TextBlockStyle to better match our default theme.
-Default font is not set for text widgets.
EditableWidget: ensure to have a default font, and to set the style when calling SynchronizeProperties to ensure it reacts directly without having to force a refresh (by moving the widget for instance)
Bonus:
-Move to cpp some private methods that where 'forced' inline (and we were using function pointer on them). It will avoid some noise in public interface and speed up iteration / compile time when playing with them.
#jira UE-96464
#jira UE-137126
[RN] MultilineEditableTextBox was containing both a Font via FEditableTextBoxStyle, and another one via FTextBlockStyle, thus being error prone / inconsistent.The Font from FEditableTextBoxStyle has been removed, and the FTextBlockStyle moved from MultilineEditableTextBox to FEditableTextBoxStyle. It solves the duplication issue and so make it clear where the Font should be set/read from.
However, as the FTextBlockStyle is now embedded in the FEditableTextBoxStyle, it cannot be initialized the exact same way, and you can now configure the FTextBlockStyle of FEditableTextBoxStyle when creating one from scratch, by calling SetTextStyle on it.
Test
- created a Widget blueprint with different editable types combination: multiline or single line, box or no box.
-Validated that everything was reacting live as expected now.
-Created a blue print to set the text style and validated it was working.
-Create data with old version, then open it with updated version to validate that the visual was still the same and deprecation of style working as expected.
-checked different places in the editor using variation of editable text to ensure they were behaving as before (detail view, console command entry, comment on blueprint node).
#preflight 63344b9f110bb3721ef8aa77
[CL 22232366 by yohann dossantos in ue5-main branch]
#rb Chris.Gagnon, Johan.Berg
#preflight 629f7017617cbe81d32add99
#ushell-cherrypick of 20541559 by Patrick.Laflamme
#preflight 629fbb4b521254896f6c2c43
#ROBOMERGE-AUTHOR: patrick.laflamme
#ROBOMERGE-SOURCE: CL 20546605 via CL 20546619 via CL 20546630 via CL 20546644 via CL 20546648
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v954-20466795)
[CL 20552343 by patrick laflamme in ue5-main branch]
The previous default of CanBeUsedOnAnyThread() proved unsafe since some output devices can safely be used on any thread but cannot safely be used during a crash. CanBeUsedOnAnyThread() was used pre-5.1 to control serialization to an output device during a crash, but optimizations in 5.1 have uncovered that some of these were never safe.
#preflight 62856506614041edb7a6de4b
#rb Zousar.Shaker
#rnx
[CL 20280354 by Devin Doucette in ue5-main branch]