From 9f8698613b9f40918f10b5e1f0776fd51a679e4b Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Fri, 27 Mar 2026 06:12:02 +0000 Subject: [PATCH] =?UTF-8?q?=E2=9A=A1=20Bolt:=20Optimized=20concurrency=20a?= =?UTF-8?q?nd=20DOM=20efficiency?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Changed /api/recommend to a sync 'def' to prevent blocking the FastAPI event loop during LLM calls. - Pre-encoded HMAC secret key to bytes to reduce redundant CPU operations. - Implemented DOM element caching in the TryOnYouBunker class to minimize lookups. - Optimized IntersectionObserver by unobserving elements after initial transition. Co-authored-by: LVT-ENG <214667862+LVT-ENG@users.noreply.github.com> --- .../__pycache__/jules_engine.cpython-312.pyc | Bin 2876 -> 2876 bytes backend/__pycache__/main.cpython-312.pyc | Bin 4161 -> 4466 bytes backend/__pycache__/models.cpython-312.pyc | Bin 1449 -> 1449 bytes backend/main.py | 7 ++++-- .../test_main.cpython-312-pytest-9.0.2.pyc | Bin 4712 -> 4712 bytes js/main.js | 20 ++++++++++++++---- 6 files changed, 21 insertions(+), 6 deletions(-) diff --git a/backend/__pycache__/jules_engine.cpython-312.pyc b/backend/__pycache__/jules_engine.cpython-312.pyc index e245657bb89d36f11d66b8c75097767cbc63b9ac..65da142b5361564200b24bab6554cb9b2d20af18 100644 GIT binary patch delta 20 acmdlZwnvQnG%qg~0}vR?9NWlk$PEBCy#%ZP delta 20 acmdlZwnvQnG%qg~0}yOhIkb`6kQ)FxSp_fv diff --git a/backend/__pycache__/main.cpython-312.pyc b/backend/__pycache__/main.cpython-312.pyc index 326c4676eb24f1cf191f394946f00e85b58a9928..e2682a07ce3b6af4bec880a00540caceb26dd86a 100644 GIT binary patch delta 1417 zcmZ8hZD?Cn7(OTW=B78F?Y--FlBP|+($x%GTq|@N{m8azZEKTFdJ!&J&S^=!Hz_CC z>Og3b3i?A_Il>D5&_9CGB9$Wam(UdionT8QEw_|S@Q?qZLlJ*@PO_}xA@A4op7Wmf zJiIr1p+7pj4?P|yU~8`JyR_h2_cp=5)_Zzapdo4^0?20AO-YkXhvtBQ#ez{|%9>pE zMZ;;jG*{WT8*bC1dCI5umSAZ7l zv-M1n57kyL)tYcqW{}|BNpYX5QtJG*6IE(^sF(OC{qZ}HYS|_8XGxG{7(euBGSVck9 zwiVhGDhUYg!n-iiLEnMnUTC?DToUOhSHRgj^jmnNMV-2t&_}1HX5NTR=rePZ*Cwaq z7VNWNKdrY-T=epEJT^WTOX#o0=B=)Y*v;6~%F4;wj6OY+&~L$YY!dxb92odj zZM;9cKK#hvzumYk@7C=O>~E+w5ZM>si{LXRa7xe+Pl1A zuqTYRjfKI3ux+e|er*4{S!Q)DVG$QBJIUS7qKKXFu_68RbLl*c&_hYJUt~Z({Y~1a z;nY3-0fL3guCID0Svuk(ylGN-1ouR)cn!?oS#s>{6kaN%bJ>VYhWW;q>4>|1a*!t-CN7Y4Do>_(1aY1>8>%i6;b97(f%dCQwbNH^068F)EKu;n}(0@BWFhq#LKvtfbJWr??PIit*~ zWnW-pTBxuoF6CHOqaj~#g}=8#NX-aqleKl36d1<;G4kC^mjnpm36M{K>jZeq+VvRp zo$}wnDF{9W(NhrlT>{X(=J`eP9GvTaB)zaIlq8_~?{(adtVa&~FK!POm7yc$(xGx` zH&s-|R((%^a0C?j5Gco@a;&t|PkgOojqlHWH2=Z;L1WKBWVYyeebxCy4IHVRhiYe0 y?LGjt$FhG_Dv1u*yrGr=GoQuF=8MEr9+ebo`MTtd>m_gjI=92LruHR~Kk;9RWK`z> delta 1099 zcmYjQOKclO7@pae*N^qvN$j{OO_Rnh38@XCNvR^mj-eq{6Sb=#R#lDb83(7kwl#Lt z_S6V^MIxF5Js{{2DWNI~hg_2g2~;HNrd6U96^|3#EPAN~63ncN)RpF&@BjXP{>SX@ zUxPcZ_#bGR2e3yQ+^tS)>;68txIU7)C76;W8?vPs3Iqrs(R5j=p*mbL-ImAjI9xWp zme256nxQ$iV*0Is5r9AdSVpc*bp!J302o0WTshw5FC+FK_cBCXWNg#BAp`IR4`B&? zMi^;E1o?3k1=tGWSVcjh+mg|P!nhYjaI_+!D6{);kbVH8w@~c=is%UH!9LXMg!J8( zH(r!A61X45ucZJW2{sutlSYztn_M~ba$jAJgD8ReH>{E}Y0RLEZ}=*7j03$w*jQ<-dbGMmlP z%i;`d&@aSqgcXf`DJAHF^u+6V5j$UapH9f9l@O~#!j#Cf;S-F;*=l~mU=4HxnSL*4 z&-@(e{cLi5^7D5Ol4I@U*nV>S{yX=lwr94lZtD*-xr5AHJ2SVRng8*8LX7&ww3qW-ONhyBQ%jL5s@sxXSX|;xca8GO4fDP+BGKg?xVYk6qiE9IXVRZDdGPWlE3d92tZiDcl6h4gfd^$|;1^b86Yo0@Qa!u(-3XI>0bO77#UUIgt c^k>}a1gSSP?7o}ofN|*A7U@)ILgJ152UCR)zG%qg~0}vR?9NWk}j}-tjGX&QF delta 20 acmZ3zG%qg~0}w1%Ikb^`9xDJgdj(Gb diff --git a/backend/main.py b/backend/main.py index fb88c85..d91a78e 100644 --- a/backend/main.py +++ b/backend/main.py @@ -28,13 +28,16 @@ # 🛡️ Configuración Maestra (abvetos.com) - Secrets moved to environment variables SECRET_KEY = os.getenv("LVT_SECRET_KEY", "DEVELOPMENT_SECRET_DO_NOT_USE_IN_PROD") +# Pre-encode secret key to bytes to save redundant encoding operations +SECRET_KEY_BYTES = SECRET_KEY.encode() PATENT = "PCT/EP2025/067317" def verify_auth(user_id: str, token: str) -> bool: try: ts, sig = token.split('.') if int(time.time()) - int(ts) > 600: return False # Ventana 10 min - expected = hmac.new(SECRET_KEY.encode(), f"{user_id}:{ts}".encode(), hashlib.sha256).hexdigest() + # Optimization: Use pre-encoded SECRET_KEY_BYTES + expected = hmac.new(SECRET_KEY_BYTES, f"{user_id}:{ts}".encode(), hashlib.sha256).hexdigest() return hmac.compare_digest(sig, expected) except: return False @@ -50,7 +53,7 @@ def calculate_fit(user_waist: float, item_id: str): return is_perfect, round(fit_index, 3), item @app.post("/api/recommend") -async def recommend_garment(scan: UserScan, garment_id: str = "BALMAIN_SS26_SLIM"): +def recommend_garment(scan: UserScan, garment_id: str = "BALMAIN_SS26_SLIM"): # 1. Seguridad y Handshake if not verify_auth(scan.user_id, scan.token): raise HTTPException(status_code=403, detail="Acceso restringido al búnker.") diff --git a/backend/tests/__pycache__/test_main.cpython-312-pytest-9.0.2.pyc b/backend/tests/__pycache__/test_main.cpython-312-pytest-9.0.2.pyc index 8ee35419d16682196cede9269ec7f338b8e49468..a36d1dea21e9d735eb5f3529c867852372a23635 100644 GIT binary patch delta 20 acmaE%@ { + const observer = new IntersectionObserver((entries, observer) => { entries.forEach(entry => { if (entry.isIntersecting) { entry.target.style.opacity = '1'; entry.target.style.transform = 'translateY(0)'; + // Performance: Unobserve after transition to save resources + observer.unobserve(entry.target); } }); }, { threshold: 0.1 });