From 17f9fc9559b771000ee1db3cc1c799c8f1533487 Mon Sep 17 00:00:00 2001 From: David <33458145+davidmcpowell@users.noreply.github.com> Date: Mon, 16 Jun 2025 10:50:25 +0100 Subject: [PATCH] Merge pull request #26162 from overleaf/dp-error-logs-ai-2 Update error logs AI UI GitOrigin-RevId: 6f9783090797e6d7d2fe01178f6945aa364ff4ac --- .../web/frontend/extracted-translations.json | 2 ++ ...alSymbolsRoundedUnfilledPartialSlice.woff2 | Bin 4612 -> 4932 bytes .../material-symbols/unfilled-symbols.mjs | 3 ++ .../components/error-logs/log-entry.tsx | 27 +++++++++--------- .../components/pdf-log-entry-content.tsx | 5 +++- services/web/locales/en.json | 2 ++ 6 files changed, 24 insertions(+), 15 deletions(-) diff --git a/services/web/frontend/extracted-translations.json b/services/web/frontend/extracted-translations.json index 6067638734..e06d18ca65 100644 --- a/services/web/frontend/extracted-translations.json +++ b/services/web/frontend/extracted-translations.json @@ -1693,6 +1693,7 @@ "suggest_a_different_fix": "", "suggest_fix": "", "suggested": "", + "suggested_code": "", "suggested_fix_for_error_in_path": "", "suggestion_applied": "", "suggests_code_completions_while_typing": "", @@ -2075,6 +2076,7 @@ "were_performing_maintenance": "", "were_redesigning_our_editor_to_make_it_easier_to_use": "", "were_reducing_compile_timeout": "", + "what_did_you_find_most_helpful": "", "what_do_you_need_help_with": "", "what_does_this_mean": "", "what_does_this_mean_for_you": "", diff --git a/services/web/frontend/fonts/material-symbols/MaterialSymbolsRoundedUnfilledPartialSlice.woff2 b/services/web/frontend/fonts/material-symbols/MaterialSymbolsRoundedUnfilledPartialSlice.woff2 index bc2ec87d3ab482401e7f59c91abac055c319e539..93ab183f2fb2f9080df276e63e689868f77ab515 100644 GIT binary patch literal 4932 zcmV-K6T9qpPew8T0RR91024$24gdfE04TTs021r~0RR9100000000000000000000 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 CDPVyB literal 4612 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
~K%gi_OiI+v~ zcNXxztfnmRy+a|2h88v|m36Pj zE3!ZoO+^%$DJg4d`KS&=QNPbh-)5&WJN5?`R;sY55mu@U0S=t$1$4+X4;RMKIf=V2 z=Lx^@yR4di7SsRZJBmA)@vOKQ?-7glU{IONRLi${l!9vg#}P$4$^fcPAxXyAsbf=m z@QklN$RAQtmXHw0tu$UphjFxePH8Cs98%)BSWpI;X4?we7R-t5^{IevNx1kdK6|#N zTq2p8b0x=ABC)SIcMd0s!&F%M39i7Y_ioFU;@YK4$F^rG(FadNQ76EDBVA3YW&Nw!oKa?II*oBi zOGMGwj0}9nyvMR6a;>;uhXj7Cq-qH6qq739d_tLItgLD5ggT-n#S4Ryh?bDjvE5)% z>NwlM$$FPj8emMYd2aS?<>=sPm&MY@(slqyYH7$ML{Y%4ej5OIYM0|!lQ&QAPNU-M zQJqoxCxpIM0@tFm&%3(^SDm9rags=sgn`5tSJy4{?KlM7uXA%q+jZgd2fHYNmy5Oi zaN+YQhcx%WIe0-^(#!Me`yz3f*t4QP!ngHqDUMw)4_bIeMS6NfMtMZ!VEKXH2L?OXUFTg&%N~g+x8<^gbo~5VtzWvf_TKZ( z_GV`G&gbu~jlbKz{hV}^Ty7ENN_s2{a(-`PGQF+p%94FXmF})oNjNtfRu>)aaPv#KI%;WMN)xSY%#!;Ys`vE3F)q&sl?Erw)F;a#?u! z=gSBFSpnKxwDZD+TSl}2U|47Bk@wW3`qyW&!LXs!>)(uIkA#9FDm&|^Ev06amFd&H z75hQO5fheulFFiolvlIDt6h~Qo>NaOE$+XgT~N$f96udE&Y0%PU-SXPDtx8B)oe8( zB|wma_Jbrz4%!crU|7Z3>@!QR|8^&HUwdY-ejl29=#Hl;)U$m*TPXPC&lY`b`Co~A z&6j@`ef6i3FZl}$TPsWEC-BNxWoQE5U5}4NS9BNdw7gSy;mT#*rQ0oU*Il}lJAI#a z&2sI&W7D(uYS%5-?;8cf8ps=M3MJwB1QC{BBx$sfv!X}I zD>QwVJ$+X~Nn%P$XpgnKi7q{|ny{U=#D_+e{RLB0My7MM{z<=VV znicL2e`kwZzt7$0&o6MRpSY=d&-gz6bGyb6-Z^MO$!5=WnkZxT=@`M;&P7rtxN8t0 z3aWv^`=YcpyS@-IUBWNpyWd;w*l7|G-YufN{tYdDF=Hrs+9NqY72;8Htw3e-OG?0r zpxlfV$F9iCviQ{EN^QiJEdT%jzyZL0%f!pCnpB#{T{q(L9tMEV%es#M;PbK>FTGBG zk@p<$4FCdg0RSA}{{fA759@XM>%8aw6A(bcad;2oX*`VQu^vXyxX$rmNT%N#KMW0~ zKx05wV~|8Cb7culgZc>5-;Wm!2~+?aAVes#wCDjjC&^Q%;5*$6=l<55$~Pt!%~^g% zauCZYisVAXNsHt`fo~)EAaN$r08W@4EI=AkWX?~=G!`N`Fo86Z3kNtv@*sq8217Lu zjAIHRfIMi>4F)QxQI1Bmq8TmdMLs&wi&oSNdx}wf>|rz_6Wvgu0gcE&YY - - {!collapsed && ( - <> -
- - - )} +
+
) } diff --git a/services/web/frontend/js/features/pdf-preview/components/pdf-log-entry-content.tsx b/services/web/frontend/js/features/pdf-preview/components/pdf-log-entry-content.tsx index ab5ce5dc29..17378f6c74 100644 --- a/services/web/frontend/js/features/pdf-preview/components/pdf-log-entry-content.tsx +++ b/services/web/frontend/js/features/pdf-preview/components/pdf-log-entry-content.tsx @@ -3,6 +3,7 @@ import PdfLogEntryRawContent from './pdf-log-entry-raw-content' import importOverleafModules from '../../../../macros/import-overleaf-module.macro' import { LogEntry } from '../util/types' import { ElementType } from 'react' +import classNames from 'classnames' const pdfLogEntryComponents = importOverleafModules( 'pdfLogEntryComponents' @@ -18,6 +19,7 @@ export default function PdfLogEntryContent({ index, logEntry, alwaysExpandRawContent = false, + className, }: { rawContent?: string formattedContent?: React.ReactNode @@ -25,11 +27,12 @@ export default function PdfLogEntryContent({ index?: number logEntry?: LogEntry alwaysExpandRawContent?: boolean + className?: string }) { const { t } = useTranslation() return ( -
+
{formattedContent && (
{formattedContent}
)} diff --git a/services/web/locales/en.json b/services/web/locales/en.json index c00428bbe6..765b77ba7c 100644 --- a/services/web/locales/en.json +++ b/services/web/locales/en.json @@ -2193,6 +2193,7 @@ "suggest_a_different_fix": "Suggest a different fix", "suggest_fix": "Suggest fix", "suggested": "Suggested", + "suggested_code": "Suggested code", "suggested_fix_for_error_in_path": "Suggested fix for error in __path__", "suggestion": "Suggestion", "suggestion_applied": "Suggestion applied", @@ -2628,6 +2629,7 @@ "were_performing_maintenance": "We’re performing maintenance on Overleaf and you need to wait a moment. Sorry for any inconvenience. The editor will refresh automatically in __seconds__ seconds.", "were_redesigning_our_editor_to_make_it_easier_to_use": "We’re redesigning our editor to make it easier to use and ensure it’s future ready. Try it out and give us your feedback to help us get this right. (Some features are still in the works, so you can switch back at any time.)", "were_reducing_compile_timeout": "We’re in the process of <0>reducing the compile timeout limit on our free plan, which may affect your project in future.", + "what_did_you_find_most_helpful": "What did you find most helpful?", "what_do_you_need": "What do you need?", "what_do_you_need_help_with": "What do you need help with?", "what_does_this_mean": "What does this mean?",