<table><tr><td style="">sitter created this revision.<br />sitter added a reviewer: Plasma.<br />Herald added a project: Plasma.<br />Herald added a subscriber: plasma-devel.<br />sitter requested review of this revision.
</td><a style="text-decoration: none; padding: 4px 8px; margin: 0 8px 8px; float: right; color: #464C5C; font-weight: bold; border-radius: 3px; background-color: #F7F7F9; background-image: linear-gradient(to bottom,#fff,#f1f0f1); display: inline-block; border: 1px solid rgba(71,87,120,.2);" href="https://phabricator.kde.org/D22399">View Revision</a></tr></table><br /><div><strong>REVISION SUMMARY</strong><div><p>bugzilla has a hardcoded server-side limit for how large a given comment<br />
may be. this can somewhat easily get triggered by heavily threaded<br />
applications as the backtrace would include a lot of "noise" threads.<br />
when this previously happened drkonqi would find itself incapable of<br />
filing the report and leaving the user to their own devices.</p>

<p>now we are much smarter about this<br />
if the reportinterface finds that the bug description is too long it will<br />
try to use a reduced backtrace (only a couple of lines from the relevant<br />
thread) or when that too is too long to exclude the backtrace entirely.<br />
in both events it would then additionally attach the complete backtrace<br />
to the bug.</p>

<p>for this there's a bunch of rejiggering necessary:</p>

<ul class="remarkup-list">
<li class="remarkup-list-item">generateReportFullText has had its signature changed, instead of using a lazy bool now use enums to control the output. this should be vastly more readable</li>
<li class="remarkup-list-item">new Backtrace control on generateReportFullText ranging Complete> Redcued>Exclude</li>
<li class="remarkup-list-item">addedToCC was renamed to attachBacktraceWithReport which is a more suitable name for what it does. it's logic has been moved to a new attachBacktrace which requires the caller to set the actual comment</li>
<li class="remarkup-list-item">attachBacktrace is called with a full report comment when used via \ attachBacktraceWithReport (i.e. the user indicated that their crash is in fact the same as another report, so their report gets attached to the other one). it's called with a simplified message when attaching as part of a reduced/excluded backtrace dance</li>
</ul>

<p>the end result is that the reports can no longer exhaust the hardcoded<br />
character limit.</p>

<p>there is one caveat: the user can still write a super long description<br />
manually and exhaust the limit. this is however very hard to do in<br />
real life without "abusing" the description for something.</p>

<p>CHANGELOG: Bug reporting can no longer exhaust the maximum character size enforced by Bugzilla<br />
BUG: 248807<br />
FIXED-IN: 5.17.0</p></div></div><br /><div><strong>TEST PLAN</strong><div><ul class="remarkup-list">
<li class="remarkup-list-item">file bug report with ETOOLONGTRACE -> gets reduced and attached</li>
<li class="remarkup-list-item">regular attaching still works</li>
<li class="remarkup-list-item">exhausting the limit *exactly* works as expected</li>
</ul></div></div><br /><div><strong>REPOSITORY</strong><div><div>R871 DrKonqi</div></div></div><br /><div><strong>BRANCH</strong><div><div>trace-exclude</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D22399">https://phabricator.kde.org/D22399</a></div></div><br /><div><strong>AFFECTED FILES</strong><div><div>src/bugzillaintegration/reportassistantdialog.cpp<br />
src/bugzillaintegration/reportassistantpages_base.cpp<br />
src/bugzillaintegration/reportassistantpages_bugzilla.cpp<br />
src/bugzillaintegration/reportinterface.cpp<br />
src/bugzillaintegration/reportinterface.h</div></div></div><br /><div><strong>To: </strong>sitter, Plasma<br /><strong>Cc: </strong>plasma-devel, LeGast00n, jraleigh, fbampaloukas, GB_2, ragreen, Pitel, ZrenBot, himcesjf, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, mart<br /></div>