Add toggle for showing hidden reasoning

b5fc7d6d4d2be896456fb4ee009e77d31991bf1e

Wolfsblvt <wolfsblvt@gmail.com>

4 files changed, +18 -8Ignore whitespace
public/index.html+6 -0
@@ -3810,6 +3810,12 @@
38103810 Auto-Expand
38113811 </small>
38123812 </label>
3813+ <label class="checkbox_label flex1" for="reasoning_show_hidden" title="Show reasoning time for models with hidden reasoning." data-i18n="[title]reasoning_show_hidden">
3814+ <input id="reasoning_show_hidden" type="checkbox" />
3815+ <small data-i18n="Show Hidden">
3816+ Show Hidden
3817+ </small>
3818+ </label>
38133819 </div>
38143820 <div class="flex-container alignItemsBaseline">
38153821 <label class="checkbox_label flex1" for="reasoning_add_to_prompts" title="Add existing reasoning blocks to prompts. To add a new reasoning block, use the message edit menu." data-i18n="[title]reasoning_add_to_prompts">
public/scripts/power-user.js+1 -0
@@ -258,6 +258,7 @@ let power_user = {
258258 auto_parse: false,
259259 add_to_prompts: false,
260260 auto_expand: false,
261+ show_hidden: false,
261262 prefix: '<think>\n',
262263 suffix: '\n</think>',
263264 separator: '\n\n',
public/scripts/reasoning.js+9 -1
@@ -503,6 +503,15 @@ function loadReasoningSettings() {
503503 toggleReasoningAutoExpand();
504504 saveSettingsDebounced();
505505 });
506+ toggleReasoningAutoExpand();
507+
508+ $('#reasoning_show_hidden').prop('checked', power_user.reasoning.show_hidden);
509+ $('#reasoning_show_hidden').on('change', function () {
510+ power_user.reasoning.show_hidden = !!$(this).prop('checked');
511+ $('#chat').attr('data-show-hidden-reasoning', power_user.reasoning.show_hidden ? 'true' : null);
512+ saveSettingsDebounced();
513+ });
514+ $('#chat').attr('data-show-hidden-reasoning', power_user.reasoning.show_hidden ? 'true' : null);
506515}
507516
508517function registerReasoningSlashCommands() {
@@ -874,7 +883,6 @@ function registerReasoningAppEvents() {
874883
875884export function initReasoning() {
876885 loadReasoningSettings();
877- toggleReasoningAutoExpand();
878886 setReasoningEventHandlers();
879887 registerReasoningSlashCommands();
880888 registerReasoningMacros();
public/style.css+2 -7
@@ -428,16 +428,11 @@ input[type='checkbox']:focus-visible {
428428 background-color: color-mix(in srgb, var(--SmartThemeQuoteColor) 33%, var(--SmartThemeBlurTintColor) 66%);
429429}
430430
431431/** HideIf hidden reasoning blocksshould -not revertbe thisshown, selectorwe tohide showall themblocks againthat don't have content */
432-.mes.reasoning[data-reasoning-state="hidden"] .mes_reasoning_details {
432+#chat:not([data-show-hidden-reasoning="true"]) .mes:has(.mes_reasoning:empty) .mes_reasoning_details {
433433 display: none;
434434}
435435
436-/** Show "Thinking..." during generation, even if the reasoning is hidden by default */
437-body[data-generating="true"] .last_mes.reasoning[data-reasoning-state="hidden"] .mes_reasoning_details {
438- display: block;
439-}
440-
441436.mes_reasoning_details .mes_reasoning_arrow {
442437 position: absolute;
443438 top: 50%;