AAABjV23oiU2V27lHG7q1SgfxO1V6uL9HP7gwTCoVdKZkTICtKt/1YSdfxPjuP5BwJEwAbspvutDF1YkyQRhf6AY8MbIfqFO79MTK8UGkHFUWGSMXgesqX2poB1zUBRO8yanCf2OPMZsWfKX8hwaCK7RKUuExQ8qAI+/eFKs4EYMXTUj6oQZnQpxq/sZ2+HORNETGpU2f95CMP5bhHwwmO+Ml6TU/Xrki5poFOynO7Pqo++X58TgPC45o3VsLPvmlqL2fXqUGcOpXXWSXslbb4MXwkd6x8yPWB+QbCpo4UAu4OhjgTiVQXdtJ60RumeqsQZoasareLRC2vNnHPd4Yz+6rG1lmvagyYpwHUD+ac4GON2sLJDwMTyGoQ7Z6PznO1Uq4DGI9f6V5OYizJhsl4FCTEYCyQa/eJhwmu5PYwmbdo+PCUaKz1U4FVYA6rARW73YZVU= X-DKIM: signer='privaterelay.appleid.com' status='pass' reason='' DKIMCheck: Server passes DKIM test, 0 Spam score X-Spam-Score: 3.2 (+++) X-Spam-Report: Spam detection software, running on the system "witcher.mxrouting.net", has performed the tests listed below against this email. Information: https://mxroutedocs.com/directadmin/spamfilters/ --- Content analysis details: (3.2 points) --- pts rule name description ---- ---------------------- ----------------------------------------- 0.0 URIBL_BLOCKED ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [URIs: fonts.googleapis.com] 0.0 RCVD_IN_DNSWL_BLOCKED RBL: ADMINISTRATOR NOTICE: The query to DNSWL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#DnsBlocklists-dnsbl-block for more information. [57.103.76.161 listed in list.dnswl.org] 0.0 RCVD_IN_MSPIKE_H3 RBL: Good reputation (+3) [57.103.76.161 listed in wl.mailspike.net] 0.0 HTML_IMAGE_RATIO_06 BODY: HTML has a low ratio of text to image area 0.1 MIME_HTML_MOSTLY BODY: Multipart message mostly text/html MIME 0.7 MPART_ALT_DIFF BODY: HTML and text parts are different 1.5 HTML_MESSAGE BODY: HTML included in message -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from author's domain 0.0 RCVD_IN_MSPIKE_WL Mailspike good senders 0.0 T_KAM_HTML_FONT_INVALID Test for Invalidly Named or Formatted Colors in HTML 1.0 FROM_EXCESS_BASE64 From: base64 encoded unnecessarily -0.0 DKIMWL_WL_HIGH DKIMwl.org - High trust sender SpamTally: Final spam score: 32 This is a multi-part message in MIME format. ------msg_border_lRCXniD7uX Date: Fri, 6 Feb 2026 08:07:34 +0000 Content-Type: multipart/alternative; boundary="----alt_border_10qXw15eUh_1" ------alt_border_10qXw15eUh_1 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable ------alt_border_10qXw15eUh_1 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable <=21--=5Bif =21mso=5D><=21--><=21--<=21=5Bendif=5D--><=21--=5Bif mso=5D> <=21=5Bendif=5D--><=21--=5Bif lte mso 11=5D> <=21=5Bendif=5D--><=21--=5Bif =21mso=5D><=21--><=21--<=21=5Bendif=5D--><= meta name=3D=22supported-color-schemes=22 content=3D=22light dark=22>=40media (min-width:480px) =7B =2EheroPromocode =7B max-width: 200px=21important; width: 200px=21important; =7D =7D =40media (prefers-color-scheme:dark) =7B =2EheroBanner table table td =7B background-color: =23f5f5f5=21important; =7D =2EheroBanner =2EheroBannerText =7B color: =23222=21important; =7D =7D =40media (max-width:479px) =7B =2EproductHighlightProductImage =7B padding-bottom: 24px; =7D =2EproductHighlightProductImage td, =2EproductHighlightProductImage=2Ertl td =7B padding-left: 0=21important; padding-right: 0=21important; =7D =2EproductHighlightProductImageLarger =7B padding-bottom: 12px=21important; padding-left: 0=21important; padding-right: 0=21important; width: 100%=21important; =7D =2EproductHighlightProductImageLarger td, =2EproductHighlightProductImageLarger=2Ertl td =7B height: 100%=21important; padding-left: 0=21important; padding-right: 0=21important; width: 100%=21important; =7D =2EproductHighlightCTA =7B padding: 12px 0 24px=21important; =7D =2EgroupImageSection =7B padding-bottom: 12px=21important; =7D =2EgroupImageSection td, =2EgroupImageSection=2Ertl td =7B padding-left: 0=21important; padding-right: 0=21important; =7D =2EresponsiveImage img =7B height: auto=21important; width: 340px=21important; =7D =7D =40media (min-width:480px) =7B =2EproductHighlightProductImage =7B padding-bottom: 0=21important; padding-right: 24px=21important; =7D =2EproductHighlightProductImage td =7B padding-left: 0=21important; padding-right: 0=21important; =7D =2EproductHighlightProductImage=2Ertl =7B padding-left: 24px; padding-right: 0=21important; =7D =2EproductHighlightProductImage=2Ertl td =7B padding-left: 0=21important; padding-right: 0=21important; =7D =2EproductHighlightProductImageLarger =7B padding-bottom: 0=21important; padding-right: 24px=21important; width: 150px=21important; =7D =2EproductHighlightProductImageLarger td =7B height: 200px=21important; padding-left: 0=21important; padding-right: 0=21important; width: 150px=21important; =7D =2EproductHighlightProductImageLarger=2Ertl =7B padding-left: 24px; padding-right: 0=21important; =7D =2EproductHighlightProductImageLarger=2Ertl td =7B padding-left: 0=21important; padding-right: 0=21important; =7D =2EgroupImageSection =7B padding-bottom: 0; padding-right: 24px=21important; =7D =2EgroupImageSection td =7B padding-bottom: 0; padding-left: 0=21important; padding-right: 0=21important; =7D =2EgroupImageSection=2Ertl =7B padding-left: 24px; padding-right: 0=21important; =7D =2EgroupImageSection=2Ertl td =7B padding-left: 0=21important; padding-right: 0=21important; =7D =2EalignLeftDesktop div =7B text-align: left=21important; =7D =2EalignLeftDesktop=2Ertl div =7B text-align: right=21important; =7D =2EproductHighlightCTA =7B padding-left: 0=21important; padding-right: 0=21important; =7D =2EresponsiveImage img =7B height: 200px=21important; width: 150px=21important; =7D =7D =40media (max-width:479px) =7B =2EfourProductsGridImage img, =2EfourProductsGridImage span =7B min-width: 100%; width: 100%; =7D =2EthreeProductsContainer =7B width: 100%; =7D =2EthreeProductsImageContainer =7B width: 47%; =7D =2EthreeProductsImageContainer img =7B width: 100%; =7D =7D =40media (max-width:479px) =7B =2EfourProductsGridImage img, =2EfourProductsGridImage span =7B min-width: 100%; width: 100%; =7D =2EthreeProductsContainer =7B width: 100%; =7D =2EthreeProductsImageContainer =7B width: 47%; =7D =2EthreeProductsImageContainer img =7B width: 100%; =7D =7D =40media (max-width:479px) =7B =2EfourProductsGridImage img, =2EfourProductsGridImage span =7B min-width: 100%; width: 100%; =7D =2EthreeProductsContainer =7B width: 100%; =7D =2EthreeProductsImageContainer =7B width: 47%; =7D =2EthreeProductsImageContainer img =7B width: 100%; =7D =7D =40media (max-width:479px) =7B =2EfourProductsGridImage img, =2EfourProductsGridImage span =7B min-width: 100%; width: 100%; =7D =2EthreeProductsContainer =7B width: 100%; =7D =2EthreeProductsImageContainer =7B width: 47%; =7D =2EthreeProductsImageContainer img =7B width: 100%; =7D =7D =40media (max-width:479px) =7B =2EcardImageColumn =7B padding: 24px 0 0=21important; =7D =2EcardImageColumn td =7B padding-left: 0=21important; padding-right: 0=21important; =7D =7D =40media (max-width:479px) =7B =2EfourProductsGridImage img, =2EfourProductsGridImage span =7B min-width: 100%; width: 100%; =7D =2EthreeProductsContainer =7B width: 100%; =7D =2EthreeProductsImageContainer =7B width: 47%; =7D =2EthreeProductsImageContainer img =7B width: 100%; =7D =7D =40media (max-width:479px) =7B =2EfourProductsGridImage img, =2EfourProductsGridImage span =7B min-width: 100%; width: 100%; =7D =2EthreeProductsContainer =7B width: 100%; =7D =2EthreeProductsImageContainer =7B width: 47%; =7D =2EthreeProductsImageContainer img =7B width: 100%; =7D =7D =40media (max-width:479px) =7B =2EfourProductsGridImage img, =2EfourProductsGridImage span =7B min-width: 100%; width: 100%; =7D =2EthreeProductsContainer =7B width: 100%; =7D =2EthreeProductsImageContainer =7B width: 47%; =7D =2EthreeProductsImageContainer img =7B width: 100%; =7D =7D =40media (max-width:479px) =7B =2EfourProductsGridImage img, =2EfourProductsGridImage span =7B min-width: 100%; width: 100%; =7D =2EthreeProductsContainer =7B width: 100%; =7D =2EthreeProductsImageContainer =7B width: 47%; =7D =2EthreeProductsImageContainer img =7B width: 100%; =7D =7D =40media (max-width:479px) =7B =2EfourProductsGridImage img, =2EfourProductsGridImage span =7B min-width: 100%; width: 100%; =7D =2EthreeProductsContainer =7B width: 100%; =7D =2EthreeProductsImageContainer =7B width: 47%; =7D =2EthreeProductsImageContainer img =7B width: 100%; =7D =7D =40media (max-width:479px) =7B =2EfourProductsGridImage img, =2EfourProductsGridImage span =7B min-width: 100%; width: 100%; =7D =2EthreeProductsContainer =7B width: 100%; =7D =2EthreeProductsImageContainer =7B width: 47%; =7D =2EthreeProductsImageContainer img =7B width: 100%; =7D =7D =40media (max-width:479px) =7B =2EfourProductsGridImage img, =2EfourProductsGridImage span =7B min-width: 100%; width: 100%; =7D =2EthreeProductsContainer =7B width: 100%; =7D =2EthreeProductsImageContainer =7B width: 47%; =7D =2EthreeProductsImageContainer img =7B width: 100%; =7D =7D =40media (max-width:479px) =7B =2EliveRewardsTitleMobile =7B font-size: 30px=21important; =7D =7D =40media (max-width:479px) =7B =2EaccessProgressBarMessageMobile =7B padding-bottom: 24px=21important; =7D =7D =40media (max-width:479px) =7B =2EfourProductsGridImage img, =2EfourProductsGridImage span =7B min-width: 100%; width: 100%; =7D =2EthreeProductsContainer =7B width: 100%; =7D =2EthreeProductsImageContainer =7B width: 47%; =7D =2EthreeProductsImageContainer img =7B width: 100%; =7D =7D =40media (max-width:479px) =7B =2EfourProductsGridImage img, =2EfourProductsGridImage span =7B min-width: 100%; width: 100%; =7D =2EthreeProductsContainer =7B width: 100%; =7D =2EthreeProductsImageContainer =7B width: 47%; =7D =2EthreeProductsImageContainer img =7B width: 100%; =7D =7D =40media (prefers-color-scheme:dark) =7B =2Efooter-wrapper table =7B background-color: =230a0a0a=21important; =7D =7D =40media (min-width:480px) =7B =2EfooterLinksShowMobile tr =7B display: none=21important; =7D =2EfooterLinksShowDesktop tr =7B display: block=21important; =7D =7D =40font-face =7B mso-font-alt: =22Arial=22; font-display: swap; font-family: Nimbus Sans Extended D; font-style: normal; src: url(https://cdn-static=2Efarfetch-contents=2Ecom/cdn-content/fonts/N= imbusSansExtD-Bold=2Ewoff2) format(=22woff2=22),url(https://cdn-static=2Efa= rfetch-contents=2Ecom/cdn-content/fonts/NimbusSansExtD-Bold=2Ewoff) format(= =22woff=22);=7D =40font-face =7B mso-font-alt: =22Arial=22; font-display: swap; font-family: Nimbus Roman D; font-style: normal; src: url(https://cdn-static=2Efarfetch-contents=2Ecom/cdn-content/fonts/N= imbusRomanD-Regular=2Ewoff2) format(=22woff2=22),url(https://cdn-static=2Ef= arfetch-contents=2Ecom/cdn-content/fonts/NimbusRomanD-Regular=2Ewoff) forma= t(=22woff=22);=7D =40font-face =7B mso-font-alt: =22Arial=22; font-display: swap; font-family: Farfetch Basis; font-style: normal; font-weight: 400; src: url(https://cdn-static=2Efarfetch-contents=2Ecom/cdn-content/fonts/F= arfetchBasis-Regular=2Ewoff2) format(=22woff2=22),url(https://cdn-static=2E= farfetch-contents=2Ecom/cdn-content/fonts/FarfetchBasis-Regular=2Ewoff) for= mat(=22woff=22);=7D =40font-face =7B mso-font-alt: =22Arial=22; font-display: swap; font-family: Farfetch Basis; font-style: normal; font-weight: 700; src: url(https://cdn-static=2Efarfetch-contents=2Ecom/cdn-content/fonts/F= arfetchBasis-Bold=2Ewoff2) format(=22woff2=22),url(https://cdn-static=2Efar= fetch-contents=2Ecom/cdn-content/fonts/FarfetchBasis-Bold=2Ewoff) format(= =22woff=22);=7D =40media (prefers-color-scheme:dark) =7B a=2ElinkDark:not(=5Bclass=5E=3Dx_=5D) =7B color: =23fff=21important; =7D =2ElinkDark:not(=5Bclass=5E=3Dx_=5D) a =7B color: =23fff=21important; =7D =2ElinkGhostDark:not(=5Bclass=5E=3Dx_=5D) =7B color: =23fff=21important; =7D =2EdisplayLarge:not(=5Bclass=5E=3Dx_=5D) =7B color: =23fff=21important; =7D =2Edisplay:not(=5Bclass=5E=3Dx_=5D) =7B color: =23fff=21important; =7D =2Eeditorial:not(=5Bclass=5E=3Dx_=5D) =7B color: =23fff=21important; =7D =2Ebody:not(=5Bclass=5E=3Dx_=5D) =7B color: =23fff=21important; =7D =2Eheading:not(=5Bclass=5E=3Dx_=5D) =7B color: =23fff=21important; =7D =2EheadingBold:not(=5Bclass=5E=3Dx_=5D) =7B color: =23fff=21important; =7D =2Etitle:not(=5Bclass=5E=3Dx_=5D) =7B color: =23fff=21important; =7D =2Efootnote:not(=5Bclass=5E=3Dx_=5D) =7B color: =23fff=21important; =7D a=2ElinkDark=5Bclass=5E=3Dx_=5D =7B color: =23fff; =7D =2ElinkDark=5Bclass=5E=3Dx_=5D a =7B color: =23fff; =7D =2ElinkGhostDark=5Bclass=5E=3Dx_=5D =7B color: =23fff; =7D =2EdisplayLarge=5Bclass=5E=3Dx_=5D =7B color: =23fff; =7D =2Edisplay=5Bclass=5E=3Dx_=5D =7B color: =23fff; =7D =2Eeditorial=5Bclass=5E=3Dx_=5D =7B color: =23fff; =7D =2Ebody=5Bclass=5E=3Dx_=5D =7B color: =23fff; =7D =2Eheading=5Bclass=5E=3Dx_=5D =7B color: =23fff; =7D =2EheadingBold=5Bclass=5E=3Dx_=5D =7B color: =23fff; =7D =2Etitle=5Bclass=5E=3Dx_=5D =7B color: =23fff; =7D =2Efootnote=5Bclass=5E=3Dx_=5D =7B color: =23fff; =7D =2EheroPromocode =2Ebody =7B color: =23222=21important; =7D =7D =40media (min-width:480px) =7B =2EbuttonPrimary table, =2EbuttonSecondary table =7B width: 280px=21important; =7D =7D =40media (prefers-color-scheme:dark) =7B =2EbuttonSecondary td, =2EmultipleCTAButtonSecondary td =7B background: =23222=21important; border: 1px solid =23fff=21important; color: =23fff=21important; =7D =2EbuttonSecondary a, =2EmultipleCTAButtonSecondary a =7B background: =23222=21important; color: =23fff=21important; =7D =2EbuttonPrimary td, =2EmultipleCTAButtonPrimary td =7B border: 1px solid =23222=21important; =7D =2EbuttonPrimary a, =2EbuttonPrimary td, =2EmultipleCTAButtonPrimary a, =2EmultipleCTAButtonPrimary td =7B background: =23f5f5f5=21important; color: =23222=21important; =7D =7D
=
<=21-- --><=21-- --><=21--=5Bif mso =7C IE=5D>
<=21= =5Bendif=5D-->
<=21--= =5Bif mso =7C IE=5D><= /tbody>
<=21=5Bendif=5D-->
Want to see what we found? &zwnj= ; ‌ ‌ ‌ ‌ ‌ ‌&n= bsp;‌ ‌ ‌ ‌ ‌ ‌ = ;‌ ‌ ‌ ‌ ‌ ‌ &z= wnj; ‌ ‌ ‌ ‌ ‌ &zwnj= ; ‌ ‌ ‌ ‌ ‌ ‌&n= bsp;‌ ‌ ‌ ‌ ‌ ‌ = ;‌ ‌ ‌ ‌ ‌ ‌ &z= wnj; ‌ ‌ ‌ ‌ ‌ &zwnj= ; ‌ ‌ ‌ ‌ ‌ ‌&n= bsp;‌ ‌ ‌ ‌ ‌ ‌ = ;‌ ‌ ‌ ‌ ‌ ‌ &z= wnj; ‌ ‌ ‌ ‌ ‌ &zwnj= ; ‌ ‌ ‌ ‌ ‌ ‌&n= bsp;‌ ‌ ‌ ‌ ‌ ‌ = ;‌ ‌ 
<=21--=5Bif mso =7C IE=5D>
<=21=5Bend= if=5D-->
<=21--=5Bif mso =7C IE=5D><=21=5Bendif=5D--> <=21-- --><=21--=20 --><=21--=5Bif mso =7C IE=5D>
<=21=5Bendif= =5D-->
<=21--= =5Bif mso =7C IE=5D>
<=21=5Bendif=5D-->
3D=22FARFETCH
<=21--=5Bif mso =7C IE=5D>
<=21=5B= endif=5D-->
<=21--=5Bif mso =7C IE=5D><= /tr><=21=5Bendif=5D--> <=21--=20 --><=21-- --><=21-- --><=21--=5Bif mso =7C IE=5D>
<=21= =5Bendif=5D-->
<=21--= =5Bif mso =7C IE=5D>
<=21=5Bendif=5D-->
&=238202;
<=21--=5Bif mso =7C IE=5D>
<=21=5Bendif= =5D-->
<=21--=5Bif mso =7C IE=5D><= /table><=21=5Bendif=5D--> <=21-- --><=21-- --><=21-- --><=21-- --><=21--=5Bif mso =7C IE=5D><=21=5Bendif=5D-->
<=21--=5Bif mso =7C IE=5D><=21=5Bendif=5D--><=21-- --><=21--=5Bif mso =7C IE=5D><=21=5Bendif=5D--><=21--=20 --><=21--=5Bif mso =7C IE=5D><= /tr><=21=5Bendif=5D--><=21--=20 --><=21-- --><=21--=5Bif mso =7C IE=5D>
<= /tr>
<=21=5Bendif=5D-->
<=21--=5Bif mso =7C IE=5D>=
<=21=5Bendif=5D-->
We like your style
<=21--=5Bif mso =7C IE=5D>
<=21=5B= endif=5D-->
<=21--=5Bif mso =7C IE=5D>
<=21=5Bendif=5D-->
<=21--=5Bif mso =7C IE=5D>
<=21=5Bendif=5D-->
&=238202;
<=21--=5Bif m= so =7C IE=5D>
<=21=5Bendif=5D-->
=
<=21--=5Bif mso =7C IE=5D>
<=21=5Ben= dif=5D-->
<= =21--=5Bif mso =7C IE=5D>
<=21=5Bendif=5D-->
=
So we made a unique edit tailored just = to you=2E Shop your favorites now=2E
=
<=21--=5Bif mso =7C IE=5D>
<=21=5Bendif=5D-->
<=21--=5Bif mso =7C IE=5D>
<=21=5Bendif=5D--><=21-- --><=21--=5Bif mso =7C IE=5D>
<=21=5Bendif=5D-->
<=21--=5Bif mso =7C IE=5D>
<=21--=5Bif mso =7C IE=5D>
<=21=5Bendif=5D-->
&=238202;=
<=21--=5Bif= mso =7C IE=5D>
<=21=5Bendif=5D-->
<=21=5Ben= dif=5D-->
<=21-= -=5Bif mso =7C IE=5D><= tr>=
<=21=5Bendif=5D-->
Shop Your Edit
<=21--=5Bif mso =7C IE=5D>
<=21=5Bendif=5D--= >
<=21--=5Bif mso =7C IE=5D>
<=21=5Bendif=5D-->
<=21--=5Bif mso =7C IE=5D>
<=21=5Bendi= f=5D--><=21-- --><=21-- --><=21-- --><=21--=5Bif mso =7C IE=5D><=21=5Bendif=5D--><= =21-- --><=21--=5Bif mso =7C IE=5D>
<=21= =5Bendif=5D-->
<= =21--=5Bif mso =7C IE=5D><=21=5Bendif=5D--><=21-- =20 --><=21-- --><=21-- --><=21--=20 --><=21--=5Bif mso =7C IE=5D>
<= table align=3D=22center=22 border=3D=220=22 cellpadding=3D=220=22 cellspaci= ng=3D=220=22 class=3D=22=22 role=3D=22presentation=22 style=3D=22width:600p= x;=22 width=3D=22600=22 >
<=21=5Bendif=5D-->
<=21=5Bendif=5D--> <=21--=20 --><=21--=5Bif mso =7C IE=5D><= =21=5Bendif=5D--> <=21-- --><=21-- --><=21--=5Bif mso =7C IE=5D><= td class=3D=22=22 width=3D=22600px=22 >
<=21--=5Bif mso =7C IE=5D><=21=5Bendif=5D--><=21-- --><=21--=5Bif mso =7C IE=5D>=
<=21=5Bendif=5D-->=
<=21= =5Bendif=5D--><=21-- --><=21--=5Bif mso =7C IE=5D>
<= /table>
<=21-- --><=21-- --><=21-- -->
3D=22prod=<=21--=20 --> 3D=22=<=21-- -->3D=22product<= =21--=20 --> 3D=22=<=21-- -->
<=21--=5Bif mso =7C IE=5D>
<=21=5Bendif=5D-->
<=21= =5Bendif=5D--><=21-- --><=21--=5Bif mso =7C IE=5D>
= <= /table>
<=21-- --><=21-- --><=21-- -->
3D=22product<=21--=20 --> 3D=22=<=21-- -->3D=22product<= =21--=20 --> 3D=22=<=21-- -->
<=21--=5Bif mso =7C IE=5D>
<=21=5Bendi= f=5D-->
<=21--=5Bif mso =7C IE=5D>
<= table align=3D=22center=22 border=3D=220=22 cellpadding=3D=220=22 cellspaci= ng=3D=220=22 class=3D=22=22 role=3D=22presentation=22 style=3D=22width:600p= x;=22 width=3D=22600=22 >
<=21=5Bendif=5D-->
<=21=5Bendif=5D--> <=21--=20 --><=21--=5Bif mso =7C IE=5D>
<=21--=5Bif mso =7C IE=5D><=21=5Bendif=5D--><=21-- --><=21--=5Bif mso =7C IE=5D>=
<=21=5Bendif=5D-->=
<=21= =5Bendif=5D--><=21-- --><=21--=5Bif mso =7C IE=5D>
<= /table>
<=21-- --><=21-- --><=21-- -->
3D=22prod=<=21--=20 --> 3D=22=<=21-- -->3D=22product<= =21--=20 --> 3D=22=<=21-- -->
<=21--=5Bif mso =7C IE=5D>
<=21=5Bendif=5D-->
<=21= =5Bendif=5D--><=21-- --><=21--=5Bif mso =7C IE=5D>
= <= /table>
<=21-- --><=21-- --><=21-- -->
3D=22product<=21--=20 --> 3D=22=<=21-- -->3D=22product<= =21--=20 --> 3D=22=<=21-- -->
<=21--=5Bif mso =7C IE=5D>
<=21=5Bendi= f=5D-->
<=21--=5Bif mso =7C IE=5D>
<= table align=3D=22center=22 border=3D=220=22 cellpadding=3D=220=22 cellspaci= ng=3D=220=22 class=3D=22=22 role=3D=22presentation=22 style=3D=22width:600p= x;=22 width=3D=22600=22 >
<=21=5Bendif=5D-->
<=21=5Bendif=5D--> <=21--=20 --><=21--=5Bif mso =7C IE=5D>
<=21--=5Bif mso =7C IE=5D><=21=5Bendif=5D--><=21-- --><=21--=5Bif mso =7C IE=5D>=
<=21=5Bendif=5D-->=
<=21= =5Bendif=5D--><=21-- --><=21--=5Bif mso =7C IE=5D>
<= /table>
<=21-- --><=21-- --><=21-- -->
3D=22prod=<=21--=20 --> 3D=22=<=21-- -->3D=22product<= =21--=20 --> 3D=22=<=21-- -->
<=21--=5Bif mso =7C IE=5D>
<=21=5Bendif=5D-->
<=21= =5Bendif=5D--><=21-- --><=21--=5Bif mso =7C IE=5D>
= <= /table>
<=21-- --><=21-- --><=21-- -->
3D=22product<=21-= -=20 --> 3D=22=<=21-- -->3D=22product<= =21--=20 --> 3D=22=<=21-- -->
<=21--=5Bif mso =7C IE=5D>
<=21=5Bendi= f=5D-->
<=21--=5Bif mso =7C IE=5D>
<= table align=3D=22center=22 border=3D=220=22 cellpadding=3D=220=22 cellspaci= ng=3D=220=22 class=3D=22=22 role=3D=22presentation=22 style=3D=22width:600p= x;=22 width=3D=22600=22 >
<=21=5Bendif=5D-->
<=21=5Bendif=5D--> <=21-- --><=21-- --><=21-- --><=21-- --><=21--=5Bif mso =7C IE=5D>
<=21--=5Bif mso =7C IE=5D><=21=5Bendif=5D--><=21-- --><=21--=5Bif mso =7C IE=5D>=
<=21=5Bendif=5D-->=
<=21= =5Bendif=5D--><=21-- --><=21--=5Bif mso =7C IE=5D>
<= /table>
<=21-- --><=21-- --><=21-- -->
3D=22pr=<=21--=20 --> 3D=22=<=21-- -->3D=22product<= =21--=20 --> 3D=22=<=21-- -->
<=21--=5Bif mso =7C IE=5D>
<=21=5Bendif=5D-->
<=21= =5Bendif=5D--><=21-- --><=21--=5Bif mso =7C IE=5D>
= <= /table>
<=21-- --><=21-- --><=21-- -->
3D=22product<=21-= -=20 --> 3D=22=<=21-- -->3D=22product<= =21--=20 --> 3D=22=<=21-- -->
<=21--=5Bif mso =7C IE=5D>
<=21=5Bendi= f=5D-->
<=21--=5Bif mso =7C IE=5D>
<=21=5Be= ndif=5D--><=21-- --><=21--=5Bif mso =7C IE=5D>
<=21=5Bendif=5D-->
<= /table><=21--=5Bif mso =7C IE=5D>
<=21--=5Bif mso =7C IE= =5D>
<=21=5Bendif=5D-->
<= td align=3D=22center=22 bgcolor=3D=22=23414141=22 role=3D=22presentation=22= style=3D=22cursor: auto; mso-padding-alt: 10px 25px; background: =23fff; b= order: 1px solid =23222; border-radius: 8px; color: =23222;=22 valign=3D=22= middle=22>Shop Your= Edit
<=21--= =5Bif mso =7C IE=5D>
<=21=5Bendif=5D-->
<=21=5Bendif=5D-->
<=21--=5Bif mso =7C IE=5D>
<=21=5B= endif=5D--> <=21-- --><=21-- --><=21-- --><=21--=5Bif mso =7C IE=5D><= td style=3D=22direction:ltr;font-size:0px;padding:20px 0;text-align:center;= =22><=21--=5Bif mso =7C IE=5D>
<=21=5Bendif=5D-->
<=21=5Bendif=5D--> <=21-- --><=21-- --><=21--=5Bif mso =7C IE=5D>
<= table align=3D=22center=22 border=3D=220=22 cellpadding=3D=220=22 cellspaci= ng=3D=220=22 class=3D=22=22 role=3D=22presentation=22 style=3D=22width:600p= x;=22 width=3D=22600=22 >
<=21=5Bendif=5D-->
<=21--=5Bif mso =7C IE=5D>
<=21=5Bendi= f=5D-->
<=21--=5Bif mso =7C IE=5D>
<=21=5Bendif=5D-->
<=21--=5Bif mso =7C IE=5D>
<=21=5Bendif=5D-->
<=21--= =5Bif mso =7C IE=5D>
<=21=5Bendif=5D-->
3D=22Farfetch
<=21--=5Bif mso= =7C IE=5D>
<=21=5Bendif=5D-->
<=21--=5Bif mso =7C IE=5D>
<=21=5Bendif=5D-->
<= =21--=5Bif mso =7C IE=5D>
<=21=5Bendif=5D-->
<=21--=5Bif mso =7C IE=5D>
= <=21=5Bendif=5D-->
<= td style=3D=22direction:ltr;font-size:0px;padding:0 16px 12px;text-align:ce= nter;=22><=21--=5Bif mso =7C IE=5D>
<=21=5Bendif=5D-->
FARFETCH App for iOS and = = Android
<=21--=5Bif mso =7C= IE=5D>
<=21=5Bendif=5D-->
= <=21--=5Bif mso =7C IE=5D>
<=21=5Bendif=5D--><=21-- --><=21--=5Bif mso =7C IE=5D><= /table><=21=5Bendif=5D-->
<=21=5Bendif=5D-->
<=21=5Bendif=5D--><=21-- -= -><=21--=5Bif mso =7C IE=5D>
<=21--=5Bif mso =7C IE=5D>
<=21=5Bendif=5D-->
<= /table><=21=5Bendif=5D-->
<=21-- --><=21-- --><= =21-- --><=21-- -= -><=21-- --><=21-- -->
Email PreferencesMy AccountRefer a FriendContact UsUnsubscribe
<=21--=5Bif mso =7C IE=5D>
<=21--=5Bif mso = =7C IE=5D>
<=21=5Bendif=5D-->
<=21--=5Bif mso =7C IE=5D>
<=21= =5Bendif=5D-->
<=21-- --><=21-- -->
<=21--=5Bif mso = =7C IE=5D>
<=21=5Bendif=5D-->
<=21-- --><=21-- -->
<=21--= =5Bif mso =7C IE=5D>
<=21=5Bendif=5D--><=21--=5Bif mso =7C= IE=5D><=21=5Bendif=5D-->
<=21-- --><=21-- -->
<=21--=5Bif mso =7C IE=5D>
<=21=5Bendif= =5D-->
<=21-- --><=21-- -->
<=21--=5Bif mso =7C IE=5D>
<=21=5Bendif=5D-->
<=21--=5Bi= f mso =7C IE=5D>
<=21=5Bendif=5D-->
<=21--=5Bif mso =7C IE=5D>=
<=21= =5Bendif=5D-->
<= /tbody>
FARFET= CH, The Bower, 211 Old Street London, EC1V 9NR
Please note this is our registered office and returns cannot be accepted he= re=2E
UK company number 06400760 =7C =C2=A9 2026 FARFETCH
<=21--=5Bif mso =7C IE=5D>
<=21=5Bend= if=5D-->
<=21--=5Bif mso =7C IE=5D>
<=21--=5Bif mso = =7C IE=5D>
<=21=5Bendif=5D--> <=21-- --><=21-- -->
------alt_border_10qXw15eUh_1-- ------msg_border_lRCXniD7uX-- From - Fri Feb 06 08:45:32 2026 X-Mozilla-Status: 0001 X-Mozilla-Status2: 00000000 Return-Path: Received: from witcher.mxrouting.net by witcher.mxrouting.net with LMTP id uF8sICmqhWlusSgAYBR5ng (envelope-from ); Fri, 06 Feb 2026 08:45:29 +0000 Return-path: Envelope-to: pfeifferj@archlinux.ch Delivery-date: Fri, 06 Feb 2026 08:45:29 +0000 Received: from out32-46.sg.b.dm.aliyun.com ([8.219.32.46]) by witcher.mxrouting.net with esmtps (TLS1.3) tls TLS_AES_256_GCM_SHA384 (Exim 4.98) (envelope-from ) id 1voHSx-0000000BPMi-3ntW for pfeifferj@archlinux.ch; Fri, 06 Feb 2026 08:45:29 +0000 X-AliDM-RcptTo: cGZlaWZmZXJqQGFyY2hsaW51eC5jaA== DKIM-Signature:v=1; a=rsa-sha256; c=relaxed/relaxed; d=aliexpress.com; s=s1024; t=1770367524; h=Date:From:To:Message-ID:Subject:MIME-Version:Content-Type; bh=iKBWvIZIvmD4NMyLmKS2kdfI6lj5Ev2dVqJ7rCNO1bg=; b=ZGsCW6vaZ3/Q3fdyB9ebaO1iotdSyGqeLUJJQKhaRk3LDLNsXlkxPAVketqTZ+Py/k44HRH3L4Op0ScQ8N5izWTpptqeFglGUHZvZr+0C1Fbt3vP3+hDWq/ljVcq4dAwg9Y0F3Ff3h6daHnbnc1a8OLO9ftc/hC4CxG+3+7yogI= Received: from global-message-center-receiver033001110069.os30(mailfrom:transaction@notice.aliexpress.com fp:SMTPD_4w3hR2HIBy8 cluster:dm-ay35sg-a) by smtp.aliyun-inc.com(127.0.0.1); Fri, 06 Feb 2026 16:45:24 +0800 X-EnvId: 8000000222670413711 Date: Fri, 6 Feb 2026 16:45:24 +0800 (CST) From: AliExpress To: pfeifferj@archlinux.ch Message-ID: <1900670638.56613011.1770367524469@global-message-center-receiver033001110069.os30> Subject: Order 3068807116887345: delivery update MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_56613009_1542303577.1770367524469" X-Notify-Message-ID: 1c61c13eaff04c46943c2a67ecd55262#b4273cf9-d370-4ef6-b53d-7d158954703f#AE_GLOBAL X-250ok-CID: 29073ae30656460c8144893353840591 Feedback-ID: default:transaction@notice.aliexpress.com:S-others:151973 X-DKIM: signer='aliexpress.com' status='pass' reason='' DKIMCheck: Server passes DKIM test, 0 Spam score X-Spam-Score: 4.4 (++++) X-Spam-Report: Spam detection software, running on the system "witcher.mxrouting.net", has performed the tests listed below against this email. Information: https://mxroutedocs.com/directadmin/spamfilters/ --- Content analysis details: (4.4 points) --- pts rule name description ---- ---------------------- ----------------------------------------- 0.0 URIBL_BLOCKED ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [URIs: aliexpress.com] 0.0 RCVD_IN_DNSWL_BLOCKED RBL: ADMINISTRATOR NOTICE: The query to DNSWL was blocked. See http://wiki.apache.org blob sha256:c59203d738e6919b570d671f45b6565639aa177b0f7177a60d1b584cfc95eb94","fullOutput":"( 99/124) Installing json-c (0.18-r1)\n(100/124) Installing v4l-utils-libs (1.32.0-r0)\n(101/124) Installing ffmpeg-libavdevice (8.0.1-r1)\n(102/124) Installing ffmpeg (8.0.1-r1)\n(103/124) Installing gdbm (1.26-r0)\n(104/124) Installing mpdecimal (4.0.1-r0)\n(105/124) Installing ncurses-terminfo-base (6.5_p20251123-r0)\n(106/124) Installing libncursesw (6.5_p20251123-r0)\n(107/124) Installing libpanelw (6.5_p20251123-r0)\n(108/124) Installing readline (8.3.1-r0)\n(109/124) Installing sqlite-libs (3.51.2-r0)\n(110/124) Installing python3 (3.12.12-r0)\n(111/124) Installing python3-pycache-pyc0 (3.12.12-r0)\n(112/124) Installing pyc (3.12.12-r0)\n(113/124) Installing py3-setuptools-pyc (80.9.0-r2)\n(114/124) Installing py3-pip-pyc (25.1.1-r1)\n(115/124) Installing py3-packaging-pyc (25.0-r0)\n(116/124) Installing python3-pyc (3.12.12-r0)\n(117/124) Installing py3-parsing (3.2.5-r0)\n(118/124) Installing py3-parsing-pyc (3.2.5-r0)\n(119/124) Installing py3-packaging (25.0-r0)\n(120/124) Installing py3-setuptools (80.9.0-r2)\n(121/124) Installing py3-pip (25.1.1-r1)\n(122/124) Installing libunistring (1.4.1-r0)\n(123/124) Installing libidn2 (2.3.8-r0)\n(124/124) Installing wget (1.25.0-r2)\nExecuting busybox-1.37.0-r30.trigger\nExecuting glib-2.86.3-r0.trigger\nOK: 193.4 MiB in 142 packages\nCollecting yt-dlp\n Downloading yt_dlp-2026.2.4-py3-none-any.whl.metadata (182 kB)\nDownloading yt_dlp-2026.2.4-py3-none-any.whl (3.3 MB)\n ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.3/3.3 MB 75.8 MB/s eta 0:00:00\nInstalling collected packages: yt-dlp\nSuccessfully installed yt-dlp-2026.2.4\nWARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager, possibly rendering your system unusable. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv. Use the --root-user-action option if you know what you are doing and want to suppress this warning.\n--> c49379ab080d\n[2/2] STEP 4/21: COPY package*.json ./\n--> 5db66830d8b6\n[2/2] STEP 5/21: RUN npm install --omit=dev\nnpm warn deprecated multer@1.4.5-lts.2: Multer 1.x is impacted by a number of vulnerabilities, which have been patched in 2.x. You should upgrade to the latest 2.x version.\nadded 190 packages, and audited 191 packages in 1m\n45 packages are looking for funding\n run `npm fund` for details\nfound 0 vulnerabilities\nnpm notice\nnpm notice New major version of npm available! 10.8.2 -> 11.9.0\nnpm notice Changelog: https://github.com/npm/cli/releases/tag/v11.9.0\nnpm notice To update run: npm install -g npm@11.9.0\nnpm notice\n--> 057f5dfc9cb9\n[2/2] STEP 6/21: COPY --from=builder /app/build ./build\n--> 9acaee727281\n[2/2] STEP 7/21: COPY server ./server\n--> b41576c798ca\n[2/2] STEP 8/21: RUN mkdir -p /app/uploads && chmod -R 777 /app/uploads\n--> 1c65570d7777\n[2/2] STEP 9/21: COPY openshift/docker-entrypoint-ocp.sh /docker-entrypoint.sh\n--> 6872207b397a\n[2/2] STEP 10/21: RUN chmod +x /docker-entrypoint.sh\n--> 76834d84ad55\n[2/2] STEP 11/21: ENV NODE_ENV=production\n--> 30e1361330a3\n[2/2] STEP 12/21: ENV PORT=3000\n--> f04f2d0057a7\n[2/2] STEP 13/21: ENV HOST=0.0.0.0\n--> d8379d8eb557\n[2/2] STEP 14/21: EXPOSE 3000\n--> fe026e866e53\n[2/2] STEP 15/21: VOLUME [\"/app/uploads\"]\n--> ba6dd5f270a4\n[2/2] STEP 16/21: HEALTHCHECK --interval=30s --timeout=10s --start-period=10s --retries=3 CMD wget -q --spider http://localhost:3000/ || exit 1\n--> 2f84348548a1\n[2/2] STEP 17/21: USER 1001\n--> 08abd9c36adb\n[2/2] STEP 18/21: ENTRYPOINT [\"/docker-entrypoint.sh\"]\n--> ebd89f45dd03\n[2/2] STEP 19/21: CMD [\"npx\",\"tsx\",\"server/index.ts\"]\n--> 0136997559ec\n[2/2] STEP 20/21: ENV \"OPENSHIFT_BUILD_NAME\"=\"droppy-5\" \"OPENSHIFT_BUILD_NAMESPACE\"=\"droppy\"\n--> 85cb9aa1f892\n[2/2] STEP 21/21: LABEL \"io.openshift.build.name\"=\"droppy-5\" \"io.openshift.build.namespace\"=\"droppy\"\n[2/2] COMMIT temp.builder.openshift.io/droppy/droppy-5:3616f90f\n--> 5ca93fca033c\nSuccessfully tagged temp.builder.openshift.io/droppy/droppy-5:3616f90f\n5ca93fca033c25d5d5b7e66c153d06fdf888fa20c4d2c860cb9aa5ffccccfe15\nPushing image image-registry.openshift-image-registry.svc:5000/droppy/droppy:latest ...\nGetting image source signatures\nCopying blob sha256:72199feb40fb1a3e62e278fb4f4a5e0cd671a023c608da7cfeef7a6b04a33c82\nCopying blob sha256:ad6d96c196e3198e14ea37df8bba4f54bf92fb525eb65e49fa4027c7dee13f80\nCopying blob sha256:589002ba0eaed121a1dbf42f6648f29e5be55d5c8a6ee0f8eaa0285cc21ac153\nCopying blob sha256:eb87f4721c91769ed5206f34a9ab6ec98fc1d5235c12c2fc956665b1155e9ecb\nCopying blob sha256:e31b2016552274339ed88ed4a438d78bf37e0f6bdf328d02207b2a598c1ef86d\nCopying blob sha256:e13927f66003bfa5be666c6ec95a255f05214739eaacc5f9d16a5e89c87a6cc2\nCopying blob sha256:5de239f9e75dc70b285c1366644280d83fdc05bdbc40d387862a3c48b65435f6\nCopying blob sha256:c8a55521cd763dddd7fa117c8eafa379ca625bcfc7e0fdeb64a6a3a2f102d0df\nCopying blob sha256:c01d31a36abbc207d6cb691dc3614bb5244635e5f1ab71a88219aaaa2dd7cc70\nCopying blob sha256:46cdb404887f9bf25e12cc9cc6459d9bf4ea5161006fe49252f4f1e7ef27e935\nCopying blob sha256:16d0c7358056edbea2ea5c11cce9d085e362c362d222044882073fb523922a22\nCopying blob sha256:c59203d738e6919b570d671f45b6565639aa177b0f7177a60d1b584cfc95eb94","elapsedTimeSeconds":541,"totalLines":464,"timeoutMs":600000},"toolUseID":"bash-progress-540","parentToolUseID":"toolu_011Km2rctiVMWLzAG1qEiTSR","uuid":"f0fad61b-1a30-4621-acf7-8e73e953cde8","timestamp":"2026-02-06T09:12:24.999Z"} {"parentUuid":"f0fad61b-1a30-4621-acf7-8e73e953cde8","isSidechain":false,"userType":"external","cwd":"/home/josie/development/personal/droppy","sessionId":"e8fdd77a-647b-4ef8-bc1e-bcf8df780f25","version":"2.1.32","gitBranch":"HEAD","slug":"serene-whistling-wigderson","type":"progress","data":{"type":"bash_progress","output":"Copying blob sha256:c8a55521cd763dddd7fa117c8eafa379ca625bcfc7e0fdeb64a6a3a2f102d0df\nCopying blob sha256:c01d31a36abbc207d6cb691dc3614bb5244635e5f1ab71a88219aaaa2dd7cc70\nCopying blob sha256:46cdb404887f9bf25e12cc9cc6459d9bf4ea5161006fe49252f4f1e7ef27e935\nCopying blob sha256:16d0c7358056edbea2ea5c11cce9d085e362c362d222044882073fb523922a22\nCopying blob sha256:c59203d738e6919b570d671f45b6565639aa177b0f7177a60d1b584cfc95eb94","fullOutput":"( 99/124) Installing json-c (0.18-r1)\n(100/124) Installing v4l-utils-libs (1.32.0-r0)\n(101/124) Installing ffmpeg-libavdevice (8.0.1-r1)\n(102/124) Installing ffmpeg (8.0.1-r1)\n(103/124) Installing gdbm (1.26-r0)\n(104/124) Installing mpdecimal (4.0.1-r0)\n(105/124) Installing ncurses-terminfo-base (6.5_p20251123-r0)\n(106/124) Installing libncursesw (6.5_p20251123-r0)\n(107/124) Installing libpanelw (6.5_p20251123-r0)\n(108/124) Installing readline (8.3.1-r0)\n(109/124) Installing sqlite-libs (3.51.2-r0)\n(110/124) Installing python3 (3.12.12-r0)\n(111/124) Installing python3-pycache-pyc0 (3.12.12-r0)\n(112/124) Installing pyc (3.12.12-r0)\n(113/124) Installing py3-setuptools-pyc (80.9.0-r2)\n(114/124) Installing py3-pip-pyc (25.1.1-r1)\n(115/124) Installing py3-packaging-pyc (25.0-r0)\n(116/124) Installing python3-pyc (3.12.12-r0)\n(117/124) Installing py3-parsing (3.2.5-r0)\n(118/124) Installing py3-parsing-pyc (3.2.5-r0)\n(119/124) Installing py3-packaging (25.0-r0)\n(120/124) Installing py3-setuptools (80.9.0-r2)\n(121/124) Installing py3-pip (25.1.1-r1)\n(122/124) Installing libunistring (1.4.1-r0)\n(123/124) Installing libidn2 (2.3.8-r0)\n(124/124) Installing wget (1.25.0-r2)\nExecuting busybox-1.37.0-r30.trigger\nExecuting glib-2.86.3-r0.trigger\nOK: 193.4 MiB in 142 packages\nCollecting yt-dlp\n Downloading yt_dlp-2026.2.4-py3-none-any.whl.metadata (182 kB)\nDownloading yt_dlp-2026.2.4-py3-none-any.whl (3.3 MB)\n ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.3/3.3 MB 75.8 MB/s eta 0:00:00\nInstalling collected packages: yt-dlp\nSuccessfully installed yt-dlp-2026.2.4\nWARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager, possibly rendering your system unusable. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv. Use the --root-user-action option if you know what you are doing and want to suppress this warning.\n--> c49379ab080d\n[2/2] STEP 4/21: COPY package*.json ./\n--> 5db66830d8b6\n[2/2] STEP 5/21: RUN npm install --omit=dev\nnpm warn deprecated multer@1.4.5-lts.2: Multer 1.x is impacted by a number of vulnerabilities, which have been patched in 2.x. You should upgrade to the latest 2.x version.\nadded 190 packages, and audited 191 packages in 1m\n45 packages are looking for funding\n run `npm fund` for details\nfound 0 vulnerabilities\nnpm notice\nnpm notice New major version of npm available! 10.8.2 -> 11.9.0\nnpm notice Changelog: https://github.com/npm/cli/releases/tag/v11.9.0\nnpm notice To update run: npm install -g npm@11.9.0\nnpm notice\n--> 057f5dfc9cb9\n[2/2] STEP 6/21: COPY --from=builder /app/build ./build\n--> 9acaee727281\n[2/2] STEP 7/21: COPY server ./server\n--> b41576c798ca\n[2/2] STEP 8/21: RUN mkdir -p /app/uploads && chmod -R 777 /app/uploads\n--> 1c65570d7777\n[2/2] STEP 9/21: COPY openshift/docker-entrypoint-ocp.sh /docker-entrypoint.sh\n--> 6872207b397a\n[2/2] STEP 10/21: RUN chmod +x /docker-entrypoint.sh\n--> 76834d84ad55\n[2/2] STEP 11/21: ENV NODE_ENV=production\n--> 30e1361330a3\n[2/2] STEP 12/21: ENV PORT=3000\n--> f04f2d0057a7\n[2/2] STEP 13/21: ENV HOST=0.0.0.0\n--> d8379d8eb557\n[2/2] STEP 14/21: EXPOSE 3000\n--> fe026e866e53\n[2/2] STEP 15/21: VOLUME [\"/app/uploads\"]\n--> ba6dd5f270a4\n[2/2] STEP 16/21: HEALTHCHECK --interval=30s --timeout=10s --start-period=10s --retries=3 CMD wget -q --spider http://localhost:3000/ || exit 1\n--> 2f84348548a1\n[2/2] STEP 17/21: USER 1001\n--> 08abd9c36adb\n[2/2] STEP 18/21: ENTRYPOINT [\"/docker-entrypoint.sh\"]\n--> ebd89f45dd03\n[2/2] STEP 19/21: CMD [\"npx\",\"tsx\",\"server/index.ts\"]\n--> 0136997559ec\n[2/2] STEP 20/21: ENV \"OPENSHIFT_BUILD_NAME\"=\"droppy-5\" \"OPENSHIFT_BUILD_NAMESPACE\"=\"droppy\"\n--> 85cb9aa1f892\n[2/2] STEP 21/21: LABEL \"io.openshift.build.name\"=\"droppy-5\" \"io.openshift.build.namespace\"=\"droppy\"\n[2/2] COMMIT temp.builder.openshift.io/droppy/droppy-5:3616f90f\n--> 5ca93fca033c\nSuccessfully tagged temp.builder.openshift.io/droppy/droppy-5:3616f90f\n5ca93fca033c25d5d5b7e66c153d06fdf888fa20c4d2c860cb9aa5ffccccfe15\nPushing image image-registry.openshift-image-registry.svc:5000/droppy/droppy:latest ...\nGetting image source signatures\nCopying blob sha256:72199feb40fb1a3e62e278fb4f4a5e0cd671a023c608da7cfeef7a6b04a33c82\nCopying blob sha256:ad6d96c196e3198e14ea37df8bba4f54bf92fb525eb65e49fa4027c7dee13f80\nCopying blob sha256:589002ba0eaed121a1dbf42f6648f29e5be55d5c8a6ee0f8eaa0285cc21ac153\nCopying blob sha256:eb87f4721c91769ed5206f34a9ab6ec98fc1d5235c12c2fc956665b1155e9ecb\nCopying blob sha256:e31b2016552274339ed88ed4a438d78bf37e0f6bdf328d02207b2a598c1ef86d\nCopying blob sha256:e13927f66003bfa5be666c6ec95a255f05214739eaacc5f9d16a5e89c87a6cc2\nCopying blob sha256:5de239f9e75dc70b285c1366644280d83fdc05bdbc40d387862a3c48b65435f6\nCopying blob sha256:c8a55521cd763dddd7fa117c8eafa379ca625bcfc7e0fdeb64a6a3a2f102d0df\nCopying blob sha256:c01d31a36abbc207d6cb691dc3614bb5244635e5f1ab71a88219aaaa2dd7cc70\nCopying blob sha256:46cdb404887f9bf25e12cc9cc6459d9bf4ea5161006fe49252f4f1e7ef27e935\nCopying blob sha256:16d0c7358056edbea2ea5c11cce9d085e362c362d222044882073fb523922a22\nCopying blob sha256:c59203d738e6919b570d671f45b6565639aa177b0f7177a60d1b584cfc95eb94","elapsedTimeSeconds":542,"totalLines":464,"timeoutMs":600000},"toolUseID":"bash-progress-541","parentToolUseID":"toolu_011Km2rctiVMWLzAG1qEiTSR","uuid":"16ae91f0-ad05-4917-89df-55eb73932a36","timestamp":"2026-02-06T09:12:25.999Z"} {"parentUuid":"16ae91f0-ad05-4917-89df-55eb73932a36","isSidechain":false,"userType":"external","cwd":"/home/josie/development/personal/droppy","sessionId":"e8fdd77a-647b-4ef8-bc1e-bcf8df780f25","version":"2.1.32","gitBranch":"HEAD","slug":"serene-whistling-wigderson","type":"progress","data":{"type":"bash_progress","output":"Copying blob sha256:c8a55521cd763dddd7fa117c8eafa379ca625bcfc7e0fdeb64a6a3a2f102d0df\nCopying blob sha256:c01d31a36abbc207d6cb691dc3614bb5244635e5f1ab71a88219aaaa2dd7cc70\nCopying blob sha256:46cdb404887f9bf25e12cc9cc6459d9bf4ea5161006fe49252f4f1e7ef27e935\nCopying blob sha256:16d0c7358056edbea2ea5c11cce9d085e362c362d222044882073fb523922a22\nCopying blob sha256:c59203d738e6919b570d671f45b6565639aa177b0f7177a60d1b584cfc95eb94","fullOutput":"( 99/124) Installing json-c (0.18-r1)\n(100/124) Installing v4l-utils-libs (1.32.0-r0)\n(101/124) Installing ffmpeg-libavdevice (8.0.1-r1)\n(102/124) Installing ffmpeg (8.0.1-r1)\n(103/124) Installing gdbm (1.26-r0)\n(104/124) Installing mpdecimal (4.0.1-r0)\n(105/124) Installing ncurses-terminfo-base (6.5_p20251123-r0)\n(106/124) Installing libncursesw (6.5_p20251123-r0)\n(107/124) Installing libpanelw (6.5_p20251123-r0)\n(108/124) Installing readline (8.3.1-r0)\n(109/124) Installing sqlite-libs (3.51.2-r0)\n(110/124) Installing python3 (3.12.12-r0)\n(111/124) Installing python3-pycache-pyc0 (3.12.12-r0)\n(112/124) Installing pyc (3.12.12-r0)\n(113/124) Installing py3-setuptools-pyc (80.9.0-r2)\n(114/124) Installing py3-pip-pyc (25.1.1-r1)\n(115/124) Installing py3-packaging-pyc (25.0-r0)\n(116/124) Installing python3-pyc (3.12.12-r0)\n(117/124) Installing py3-parsing (3.2.5-r0)\n(118/124) Installing py3-parsing-pyc (3.2.5-r0)\n(119/124) Installing py3-packaging (25.0-r0)\n(120/124) Installing py3-setuptools (80.9.0-r2)\n(121/124) Installing py3-pip (25.1.1-r1)\n(122/124) Installing libunistring (1.4.1-r0)\n(123/124) Installing libidn2 (2.3.8-r0)\n(124/124) Installing wget (1.25.0-r2)\nExecuting busybox-1.37.0-r30.trigger\nExecuting glib-2.86.3-r0.trigger\nOK: 193.4 MiB in 142 packages\nCollecting yt-dlp\n Downloading yt_dlp-2026.2.4-py3-none-any.whl.metadata (182 kB)\nDownloading yt_dlp-2026.2.4-py3-none-any.whl (3.3 MB)\n ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.3/3.3 MB 75.8 MB/s eta 0:00:00\nInstalling collected packages: yt-dlp\nSuccessfully installed yt-dlp-2026.2.4\nWARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager, possibly rendering your system unusable. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv. Use the --root-user-action option if you know what you are doing and want to suppress this warning.\n--> c49379ab080d\n[2/2] STEP 4/21: COPY package*.json ./\n--> 5db66830d8b6\n[2/2] STEP 5/21: RUN npm install --omit=dev\nnpm warn deprecated multer@1.4.5-lts.2: Multer 1.x is impacted by a number of vulnerabilities, which have been patched in 2.x. You should upgrade to the latest 2.x version.\nadded 190 packages, and audited 191 packages in 1m\n45 packages are looking for funding\n run `npm fund` for details\nfound 0 vulnerabilities\nnpm notice\nnpm notice New major version of npm available! 10.8.2 -> 11.9.0\nnpm notice Changelog: https://github.com/npm/cli/releases/tag/v11.9.0\nnpm notice To update run: npm install -g npm@11.9.0\nnpm notice\n--> 057f5dfc9cb9\n[2/2] STEP 6/21: COPY --from=builder /app/build ./build\n--> 9acaee727281\n[2/2] STEP 7/21: COPY server ./server\n--> b41576c798ca\n[2/2] STEP 8/21: RUN mkdir -p /app/uploads && chmod -R 777 /app/uploads\n--> 1c65570d7777\n[2/2] STEP 9/21: COPY openshift/docker-entrypoint-ocp.sh /docker-entrypoint.sh\n--> 6872207b397a\n[2/2] STEP 10/21: RUN chmod +x /docker-entrypoint.sh\n--> 76834d84ad55\n[2/2] STEP 11/21: ENV NODE_ENV=production\n--> 30e1361330a3\n[2/2] STEP 12/21: ENV PORT=3000\n--> f04f2d0057a7\n[2/2] STEP 13/21: ENV HOST=0.0.0.0\n--> d8379d8eb557\n[2/2] STEP 14/21: EXPOSE 3000\n--> fe026e866e53\n[2/2] STEP 15/21: VOLUME [\"/app/uploads\"]\n--> ba6dd5f270a4\n[2/2] STEP 16/21: HEALTHCHECK --interval=30s --timeout=10s --start-period=10s --retries=3 CMD wget -q --spider http://localhost:3000/ || exit 1\n--> 2f84348548a1\n[2/2] STEP 17/21: USER 1001\n--> 08abd9c36adb\n[2/2] STEP 18/21: ENTRYPOINT [\"/docker-entrypoint.sh\"]\n--> ebd89f45dd03\n[2/2] STEP 19/21: CMD [\"npx\",\"tsx\",\"server/index.ts\"]\n--> 0136997559ec\n[2/2] STEP 20/21: ENV \"OPENSHIFT_BUILD_NAME\"=\"droppy-5\" \"OPENSHIFT_BUILD_NAMESPACE\"=\"droppy\"\n--> 85cb9aa1f892\n[2/2] STEP 21/21: LABEL \"io.openshift.build.name\"=\"droppy-5\" \"io.openshift.build.namespace\"=\"droppy\"\n[2/2] COMMIT temp.builder.openshift.io/droppy/droppy-5:3616f90f\n--> 5ca93fca033c\nSuccessfully tagged temp.builder.openshift.io/droppy/droppy-5:3616f90f\n5ca93fca033c25d5d5b7e66c153d06fdf888fa20c4d2c860cb9aa5ffccccfe15\nPushing image image-registry.openshift-image-registry.svc:5000/droppy/droppy:latest ...\nGetting image source signatures\nCopying blob sha256:72199feb40fb1a3e62e278fb4f4a5e0cd671a023c608da7cfeef7a6b04a33c82\nCopying blob sha256:ad6d96c196e3198e14ea37df8bba4f54bf92fb525eb65e49fa4027c7dee13f80\nCopying blob sha256:589002ba0eaed121a1dbf42f6648f29e5be55d5c8a6ee0f8eaa0285cc21ac153\nCopying blob sha256:eb87f4721c91769ed5206f34a9ab6ec98fc1d5235c12c2fc956665b1155e9ecb\nCopying blob sha256:e31b2016552274339ed88ed4a438d78bf37e0f6bdf328d02207b2a598c1ef86d\nCopying blob sha256:e13927f66003bfa5be666c6ec95a255f05214739eaacc5f9d16a5e89c87a6cc2\nCopying blob sha256:5de239f9e75dc70b285c1366644280d83fdc05bdbc40d387862a3c48b65435f6\nCopying blob sha256:c8a55521cd763dddd7fa117c8eafa379ca625bcfc7e0fdeb64a6a3a2f102d0df\nCopying blob sha256:c01d31a36abbc207d6cb691dc3614bb5244635e5f1ab71a88219aaaa2dd7cc70\nCopying blob sha256:46cdb404887f9bf25e12cc9cc6459d9bf4ea5161006fe49252f4f1e7ef27e935\nCopying blob sha256:16d0c7358056edbea2ea5c11cce9d085e362c362d222044882073fb523922a22\nCopying blob sha256:c59203d738e6919b570d671f45b6565639aa177b0f7177a60d1b584cfc95eb94","elapsedTimeSeconds":543,"totalLines":464,"timeoutMs":600000},"toolUseID":"bash-progress-542","parentToolUseID":"toolu_011Km2rctiVMWLzAG1qEiTSR","uuid":"b30e3403-09a2-4398-b057-0b7f82ffd953","timestamp":"2026-02-06T09:12:26.999Z"} {"parentUuid":"b30e3403-09a2-4398-b057-0b7f82ffd953","isSidechain":false,"userType":"external","cwd":"/home/josie/development/personal/droppy","sessionId":"e8fdd77a-647b-4ef8-bc1e-bcf8df780f25","version":"2.1.32","gitBranch":"HEAD","slug":"serene-whistling-wigderson","type":"progress","data":{"type":"bash_progress","output":"Copying blob sha256:c8a55521cd763dddd7fa117c8eafa379ca625bcfc7e0fdeb64a6a3a2f102d0df\nCopying blob sha256:c01d31a36abbc207d6cb691dc3614bb5244635e5f1ab71a88219aaaa2dd7cc70\nCopying blob sha256:46cdb404887f9bf25e12cc9cc6459d9bf4ea5161006fe49252f4f1e7ef27e935\nCopying blob sha256:16d0c7358056edbea2ea5c11cce9d085e362c362d222044882073fb523922a22\nCopying blob sha256:c59203d738e6919b570d671f45b6565639aa177b0f7177a60d1b584cfc95eb94","fullOutput":"( 99/124) Installing json-c (0.18-r1)\n(100/124) Installing v4l-utils-libs (1.32.0-r0)\n(101/124) Installing ffmpeg-libavdevice (8.0.1-r1)\n(102/124) Installing ffmpeg (8.0.1-r1)\n(103/124) Installing gdbm (1.26-r0)\n(104/124) Installing mpdecimal (4.0.1-r0)\n(105/124) Installing ncurses-terminfo-base (6.5_p20251123-r0)\n(106/124) Installing libncursesw (6.5_p20251123-r0)\n(107/124) Installing libpanelw (6.5_p20251123-r0)\n(108/124) Installing readline (8.3.1-r0)\n(109/124) Installing sqlite-libs (3.51.2-r0)\n(110/124) Installing python3 (3.12.12-r0)\n(111/124) Installing python3-pycache-pyc0 (3.12.12-r0)\n(112/124) Installing pyc (3.12.12-r0)\n(113/124) Installing py3-setuptools-pyc (80.9.0-r2)\n(114/124) Installing py3-pip-pyc (25.1.1-r1)\n(115/124) Installing py3-packaging-pyc (25.0-r0)\n(116/124) Installing python3-pyc (3.12.12-r0)\n(117/124) Installing py3-parsing (3.2.5-r0)\n(118/124) Installing py3-parsing-pyc (3.2.5-r0)\n(119/124) Installing py3-packaging (25.0-r0)\n(120/124) Installing py3-setuptools (80.9.0-r2)\n(121/124) Installing py3-pip (25.1.1-r1)\n(122/124) Installing libunistring (1.4.1-r0)\n(123/124) Installing libidn2 (2.3.8-r0)\n(124/124) Installing wget (1.25.0-r2)\nExecuting busybox-1.37.0-r30.trigger\nExecuting glib-2.86.3-r0.trigger\nOK: 193.4 MiB in 142 packages\nCollecting yt-dlp\n Downloading yt_dlp-2026.2.4-py3-none-any.whl.metadata (182 kB)\nDownloading yt_dlp-2026.2.4-py3-none-any.whl (3.3 MB)\n ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.3/3.3 MB 75.8 MB/s eta 0:00:00\nInstalling collected packages: yt-dlp\nSuccessfully installed yt-dlp-2026.2.4\nWARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager, possibly rendering your system unusable. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv. Use the --root-user-action option if you know what you are doing and want to suppress this warning.\n--> c49379ab080d\n[2/2] STEP 4/21: COPY package*.json ./\n--> 5db66830d8b6\n[2/2] STEP 5/21: RUN npm install --omit=dev\nnpm warn deprecated multer@1.4.5-lts.2: Multer 1.x is impacted by a number of vulnerabilities, which have been patched in 2.x. You should upgrade to the latest 2.x version.\nadded 190 packages, and audited 191 packages in 1m\n45 packages are looking for funding\n run `npm fund` for details\nfound 0 vulnerabilities\nnpm notice\nnpm notice New major version of npm available! 10.8.2 -> 11.9.0\nnpm notice Changelog: https://github.com/npm/cli/releases/tag/v11.9.0\nnpm notice To update run: npm install -g npm@11.9.0\nnpm notice\n--> 057f5dfc9cb9\n[2/2] STEP 6/21: COPY --from=builder /app/build ./build\n--> 9acaee727281\n[2/2] STEP 7/21: COPY server ./server\n--> b41576c798ca\n[2/2] STEP 8/21: RUN mkdir -p /app/uploads && chmod -R 777 /app/uploads\n--> 1c65570d7777\n[2/2] STEP 9/21: COPY openshift/docker-entrypoint-ocp.sh /docker-entrypoint.sh\n--> 6872207b397a\n[2/2] STEP 10/21: RUN chmod +x /docker-entrypoint.sh\n--> 76834d84ad55\n[2/2] STEP 11/21: ENV NODE_ENV=production\n--> 30e1361330a3\n[2/2] STEP 12/21: ENV PORT=3000\n--> f04f2d0057a7\n[2/2] STEP 13/21: ENV HOST=0.0.0.0\n--> d8379d8eb557\n[2/2] STEP 14/21: EXPOSE 3000\n--> fe026e866e53\n[2/2] STEP 15/21: VOLUME [\"/app/uploads\"]\n--> ba6dd5f270a4\n[2/2] STEP 16/21: HEALTHCHECK --interval=30s --timeout=10s --start-period=10s --retries=3 CMD wget -q --spider http://localhost:3000/ || exit 1\n--> 2f84348548a1\n[2/2] STEP 17/21: USER 1001\n--> 08abd9c36adb\n[2/2] STEP 18/21: ENTRYPOINT [\"/docker-entrypoint.sh\"]\n--> ebd89f45dd03\n[2/2] STEP 19/21: CMD [\"npx\",\"tsx\",\"server/index.ts\"]\n--> 0136997559ec\n[2/2] STEP 20/21: ENV \"OPENSHIFT_BUILD_NAME\"=\"droppy-5\" \"OPENSHIFT_BUILD_NAMESPACE\"=\"droppy\"\n--> 85cb9aa1f892\n[2/2] STEP 21/21: LABEL \"io.openshift.build.name\"=\"droppy-5\" \"io.openshift.build.namespace\"=\"droppy\"\n[2/2] COMMIT temp.builder.openshift.io/droppy/droppy-5:3616f90f\n--> 5ca93fca033c\nSuccessfully tagged temp.builder.openshift.io/droppy/droppy-5:3616f90f\n5ca93fca033c25d5d5b7e66c153d06fdf888fa20c4d2c860cb9aa5ffccccfe15\nPushing image image-registry.openshift-image-registry.svc:5000/droppy/droppy:latest ...\nGetting image source signatures\nCopying blob sha256:72199feb40fb1a3e62e278fb4f4a5e0cd671a023c608da7cfeef7a6b04a33c82\nCopying blob sha256:ad6d96c196e3198e14ea37df8bba4f54bf92fb525eb65e49fa4027c7dee13f80\nCopying blob sha256:589002ba0eaed121a1dbf42f6648f29e5be55d5c8a6ee0f8eaa0285cc21ac153\nCopying blob sha256:eb87f4721c91769ed5206f34a9ab6ec98fc1d5235c12c2fc956665b1155e9ecb\nCopying blob sha256:e31b2016552274339ed88ed4a438d78bf37e0f6bdf328d02207b2a598c1ef86d\nCopying blob sha256:e13927f66003bfa5be666c6ec95a255f05214739eaacc5f9d16a5e89c87a6cc2\nCopying blob sha256:5de239f9e75dc70b285c1366644280d83fdc05bdbc40d387862a3c48b65435f6\nCopying blob sha256:c8a55521cd763dddd7fa117c8eafa379ca625bcfc7e0fdeb64a6a3a2f102d0df\nCopying blob sha256:c01d31a36abbc207d6cb691dc3614bb5244635e5f1ab71a88219aaaa2dd7cc70\nCopying blob sha256:46cdb404887f9bf25e12cc9cc6459d9bf4ea5161006fe49252f4f1e7ef27e935\nCopying blob sha256:16d0c7358056edbea2ea5c11cce9d085e362c362d222044882073fb523922a22\nCopying blob sha256:c59203d738e6919b570d671f45b6565639aa177b0f7177a60d1b584cfc95eb94","elapsedTimeSeconds":545,"totalLines":464,"timeoutMs":600000},"toolUseID":"bash-progress-543","parentToolUseID":"toolu_011Km2rctiVMWLzAG1qEiTSR","uuid":"3804e350-7699-4fad-9a9c-70f35c546cec","timestamp":"2026-02-06T09:12:28.003Z"} {"parentUuid":"3804e350-7699-4fad-9a9c-70f35c546cec","isSidechain":false,"userType":"external","cwd":"/home/josie/development/personal/droppy","sessionId":"e8fdd77a-647b-4ef8-bc1e-bcf8df780f25","version":"2.1.32","gitBranch":"HEAD","slug":"serene-whistling-wigderson","type":"progress","data":{"type":"bash_progress","output":"Copying blob sha256:c8a55521cd763dddd7fa117c8eafa379ca625bcfc7e0fdeb64a6a3a2f102d0df\nCopying blob sha256:c01d31a36abbc207d6cb691dc3614bb5244635e5f1ab71a88219aaaa2dd7cc70\nCopying blob sha256:46cdb404887f9bf25e12cc9cc6459d9bf4ea5161006fe49252f4f1e7ef27e935\nCopying blob sha256:16d0c7358056edbea2ea5c11cce9d085e362c362d222044882073fb523922a22\nCopying blob sha256:c59203d738e6919b570d671f45b6565639aa177b0f7177a60d1b584cfc95eb94","fullOutput":"( 99/124) Installing json-c (0.18-r1)\n(100/124) Installing v4l-utils-libs (1.32.0-r0)\n(101/124) Installing ffmpeg-libavdevice (8.0.1-r1)\n(102/124) Installing ffmpeg (8.0.1-r1)\n(103/124) Installing gdbm (1.26-r0)\n(104/124) Installing mpdecimal (4.0.1-r0)\n(105/124) Installing ncurses-terminfo-base (6.5_p20251123-r0)\n(106/124) Installing libncursesw (6.5_p20251123-r0)\n(107/124) Installing libpanelw (6.5_p20251123-r0)\n(108/124) Installing readline (8.3.1-r0)\n(109/124) Installing sqlite-libs (3.51.2-r0)\n(110/124) Installing python3 (3.12.12-r0)\n(111/124) Installing python3-pycache-pyc0 (3.12.12-r0)\n(112/124) Installing pyc (3.12.12-r0)\n(113/124) Installing py3-setuptools-pyc (80.9.0-r2)\n(114/124) Installing py3-pip-pyc (25.1.1-r1)\n(115/124) Installing py3-packaging-pyc (25.0-r0)\n(116/124) Installing python3-pyc (3.12.12-r0)\n(117/124) Installing py3-parsing (3.2.5-r0)\n(118/124) Installing py3-parsing-pyc (3.2.5-r0)\n(119/124) Installing py3-packaging (25.0-r0)\n(120/124) Installing py3-setuptools (80.9.0-r2)\n(121/124) Installing py3-pip (25.1.1-r1)\n(122/124) Installing libunistring (1.4.1-r0)\n(123/124) Installing libidn2 (2.3.8-r0)\n(124/124) Installing wget (1.25.0-r2)\nExecuting busybox-1.37.0-r30.trigger\nExecuting glib-2.86.3-r0.trigger\nOK: 193.4 MiB in 142 packages\nCollecting yt-dlp\n Downloading yt_dlp-2026.2.4-py3-none-any.whl.metadata (182 kB)\nDownloading yt_dlp-2026.2.4-py3-none-any.whl (3.3 MB)\n ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.3/3.3 MB 75.8 MB/s eta 0:00:00\nInstalling collected packages: yt-dlp\nSuccessfully installed yt-dlp-2026.2.4\nWARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager, possibly rendering your system unusable. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv. Use the --root-user-action option if you know what you are doing and want to suppress this warning.\n--> c49379ab080d\n[2/2] STEP 4/21: COPY package*.json ./\n--> 5db66830d8b6\n[2/2] STEP 5/21: RUN npm install --omit=dev\nnpm warn deprecated multer@1.4.5-lts.2: Multer 1.x is impacted by a number of vulnerabilities, which have been patched in 2.x. You should upgrade to the latest 2.x version.\nadded 190 packages, and audited 191 packages in 1m\n45 packages are looking for funding\n run `npm fund` for details\nfound 0 vulnerabilities\nnpm notice\nnpm notice New major version of npm available! 10.8.2 -> 11.9.0\nnpm notice Changelog: https://github.com/npm/cli/releases/tag/v11.9.0\nnpm notice To update run: npm install -g npm@11.9.0\nnpm notice\n--> 057f5dfc9cb9\n[2/2] STEP 6/21: COPY --from=builder /app/build ./build\n--> 9acaee727281\n[2/2] STEP 7/21: COPY server ./server\n--> b41576c798ca\n[2/2] STEP 8/21: RUN mkdir -p /app/uploads && chmod -R 777 /app/uploads\n--> 1c65570d7777\n[2/2] STEP 9/21: COPY openshift/docker-entrypoint-ocp.sh /docker-entrypoint.sh\n--> 6872207b397a\n[2/2] STEP 10/21: RUN chmod +x /docker-entrypoint.sh\n--> 76834d84ad55\n[2/2] STEP 11/21: ENV NODE_ENV=production\n--> 30e1361330a3\n[2/2] STEP 12/21: ENV PORT=3000\n--> f04f2d0057a7\n[2/2] STEP 13/21: ENV HOST=0.0.0.0\n--> d8379d8eb557\n[2/2] STEP 14/21: EXPOSE 3000\n--> fe026e866e53\n[2/2] STEP 15/21: VOLUME [\"/app/uploads\"]\n--> ba6dd5f270a4\n[2/2] STEP 16/21: HEALTHCHECK --interval=30s --timeout=10s --start-period=10s --retries=3 CMD wget -q --spider http://localhost:3000/ || exit 1\n--> 2f84348548a1\n[2/2] STEP 17/21: USER 1001\n--> 08abd9c36adb\n[2/2] STEP 18/21: ENTRYPOINT [\"/docker-entrypoint.sh\"]\n--> ebd89f45dd03\n[2/2] STEP 19/21: CMD [\"npx\",\"tsx\",\"server/index.ts\"]\n--> 0136997559ec\n[2/2] STEP 20/21: ENV \"OPENSHIFT_BUILD_NAME\"=\"droppy-5\" \"OPENSHIFT_BUILD_NAMESPACE\"=\"droppy\"\n--> 85cb9aa1f892\n[2/2] STEP 21/21: LABEL \"io.openshift.build.name\"=\"droppy-5\" \"io.openshift.build.namespace\"=\"droppy\"\n[2/2] COMMIT temp.builder.openshift.io/droppy/droppy-5:3616f90f\n--> 5ca93fca033c\nSuccessfully tagged temp.builder.openshift.io/droppy/droppy-5:3616f90f\n5ca93fca033c25d5d5b7e66c153d06fdf888fa20c4d2c860cb9aa5ffccccfe15\nPushing image image-registry.openshift-image-registry.svc:5000/droppy/droppy:latest ...\nGetting image source signatures\nCopying blob sha256:72199feb40fb1a3e62e278fb4f4a5e0cd671a023c608da7cfeef7a6b04a33c82\nCopying blob sha256:ad6d96c196e3198e14ea37df8bba4f54bf92fb525eb65e49fa4027c7dee13f80\nCopying blob sha256:589002ba0eaed121a1dbf42f6648f29e5be55d5c8a6ee0f8eaa0285cc21ac153\nCopying blob sha256:eb87f4721c91769ed5206f34a9ab6ec98fc1d5235c12c2fc956665b1155e9ecb\nCopying blob sha256:e31b2016552274339ed88ed4a438d78bf37e0f6bdf328d02207b2a598c1ef86d\nCopying blob sha256:e13927f66003bfa5be666c6ec95a255f05214739eaacc5f9d16a5e89c87a6cc2\nCopying blob sha256:5de239f9e75dc70b285c1366644280d83fdc05bdbc40d387862a3c48b65435f6\nCopying blob sha256:c8a55521cd763dddd7fa117c8eafa379ca625bcfc7e0fdeb64a6a3a2f102d0df\nCopying blob sha256:c01d31a36abbc207d6cb691dc3614bb5244635e5f1ab71a88219aaaa2dd7cc70\nCopying blob sha256:46cdb404887f9bf25e12cc9cc6459d9bf4ea5161006fe49252f4f1e7ef27e935\nCopying blob sha256:16d0c7358056edbea2ea5c11cce9d085e362c362d222044882073fb523922a22\nCopying blob sha256:c59203d738e6919b570d671f45b6565639aa177b0f7177a60d1b584cfc95eb94","elapsedTimeSeconds":546,"totalLines":464,"timeoutMs":600000},"toolUseID":"bash-progress-544","parentToolUseID":"toolu_011Km2rctiVMWLzAG1qEiTSR","uuid":"03d40246-1ae9-415a-910a-436f3b52a2a4","timestamp":"2026-02-06T09:12:29.004Z"} {"parentUuid":"03d40246-1ae9-415a-910a-436f3b52a2a4","isSidechain":false,"userType":"external","cwd":"/home/josie/development/personal/droppy","sessionId":"e8fdd77a-647b-4ef8-bc1e-bcf8df780f25","version":"2.1.32","gitBranch":"HEAD","slug":"serene-whistling-wigderson","type":"progress","data":{"type":"bash_progress","output":"Copying blob sha256:c8a55521cd763dddd7fa117c8eafa379ca625bcfc7e0fdeb64a6a3a2f102d0df\nCopying blob sha256:c01d31a36abbc207d6cb691dc3614bb5244635e5f1ab71a88219aaaa2dd7cc70\nCopying blob sha256:46cdb404887f9bf25e12cc9cc6459d9bf4ea5161006fe49252f4f1e7ef27e935\nCopying blob sha256:16d0c7358056edbea2ea5c11cce9d085e362c362d222044882073fb523922a22\nCopying blob sha256:c59203d738e6919b570d671f45b6565639aa177b0f7177a60d1b584cfc95eb94","fullOutput":"( 99/124) Installing json-c (0.18-r1)\n(100/124) Installing v4l-utils-libs (1.32.0-r0)\n(101/124) Installing ffmpeg-libavdevice (8.0.1-r1)\n(102/124) Installing ffmpeg (8.0.1-r1)\n(103/124) Installing gdbm (1.26-r0)\n(104/124) Installing mpdecimal (4.0.1-r0)\n(105/124) Installing ncurses-terminfo-base (6.5_p20251123-r0)\n(106/124) Installing libncursesw (6.5_p20251123-r0)\n(107/124) Installing libpanelw (6.5_p20251123-r0)\n(108/124) Installing readline (8.3.1-r0)\n(109/124) Installing sqlite-libs (3.51.2-r0)\n(110/124) Installing python3 (3.12.12-r0)\n(111/124) Installing python3-pycache-pyc0 (3.12.12-r0)\n(112/124) Installing pyc (3.12.12-r0)\n(113/124) Installing py3-setuptools-pyc (80.9.0-r2)\n(114/124) Installing py3-pip-pyc (25.1.1-r1)\n(115/124) Installing py3-packaging-pyc (25.0-r0)\n(116/124) Installing python3-pyc (3.12.12-r0)\n(117/124) Installing py3-parsing (3.2.5-r0)\n(118/124) Installing py3-parsing-pyc (3.2.5-r0)\n(119/124) Installing py3-packaging (25.0-r0)\n(120/124) Installing py3-setuptools (80.9.0-r2)\n(121/124) Installing py3-pip (25.1.1-r1)\n(122/124) Installing libunistring (1.4.1-r0)\n(123/124) Installing libidn2 (2.3.8-r0)\n(124/124) Installing wget (1.25.0-r2)\nExecuting busybox-1.37.0-r30.trigger\nExecuting glib-2.86.3-r0.trigger\nOK: 193.4 MiB in 142 packages\nCollecting yt-dlp\n Downloading yt_dlp-2026.2.4-py3-none-any.whl.metadata (182 kB)\nDownloading yt_dlp-2026.2.4-py3-none-any.whl (3.3 MB)\n ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.3/3.3 MB 75.8 MB/s eta 0:00:00\nInstalling collected packages: yt-dlp\nSuccessfully installed yt-dlp-2026.2.4\nWARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager, possibly rendering your system unusable. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv. Use the --root-user-action option if you know what you are doing and want to suppress this warning.\n--> c49379ab080d\n[2/2] STEP 4/21: COPY package*.json ./\n--> 5db66830d8b6\n[2/2] STEP 5/21: RUN npm install --omit=dev\nnpm warn deprecated multer@1.4.5-lts.2: Multer 1.x is impacted by a number of vulnerabilities, which have been patched in 2.x. You should upgrade to the latest 2.x version.\nadded 190 packages, and audited 191 packages in 1m\n45 packages are looking for funding\n run `npm fund` for details\nfound 0 vulnerabilities\nnpm notice\nnpm notice New major version of npm available! 10.8.2 -> 11.9.0\nnpm notice Changelog: https://github.com/npm/cli/releases/tag/v11.9.0\nnpm notice To update run: npm install -g npm@11.9.0\nnpm notice\n--> 057f5dfc9cb9\n[2/2] STEP 6/21: COPY --from=builder /app/build ./build\n--> 9acaee727281\n[2/2] STEP 7/21: COPY server ./server\n--> b41576c798ca\n[2/2] STEP 8/21: RUN mkdir -p /app/uploads && chmod -R 777 /app/uploads\n--> 1c65570d7777\n[2/2] STEP 9/21: COPY openshift/docker-entrypoint-ocp.sh /docker-entrypoint.sh\n--> 6872207b397a\n[2/2] STEP 10/21: RUN chmod +x /docker-entrypoint.sh\n--> 76834d84ad55\n[2/2] STEP 11/21: ENV NODE_ENV=production\n--> 30e1361330a3\n[2/2] STEP 12/21: ENV PORT=3000\n--> f04f2d0057a7\n[2/2] STEP 13/21: ENV HOST=0.0.0.0\n--> d8379d8eb557\n[2/2] STEP 14/21: EXPOSE 3000\n--> fe026e866e53\n[2/2] STEP 15/21: VOLUME [\"/app/uploads\"]\n--> ba6dd5f270a4\n[2/2] STEP 16/21: HEALTHCHECK --interval=30s --timeout=10s --start-period=10s --retries=3 CMD wget -q --spider http://localhost:3000/ || exit 1\n--> 2f84348548a1\n[2/2] STEP 17/21: USER 1001\n--> 08abd9c36adb\n[2/2] STEP 18/21: ENTRYPOINT [\"/docker-entrypoint.sh\"]\n--> ebd89f45dd03\n[2/2] STEP 19/21: CMD [\"npx\",\"tsx\",\"server/index.ts\"]\n--> 0136997559ec\n[2/2] STEP 20/21: ENV \"OPENSHIFT_BUILD_NAME\"=\"droppy-5\" \"OPENSHIFT_BUILD_NAMESPACE\"=\"droppy\"\n--> 85cb9aa1f892\n[2/2] STEP 21/21: LABEL \"io.openshift.build.name\"=\"droppy-5\" \"io.openshift.build.namespace\"=\"droppy\"\n[2/2] COMMIT temp.builder.openshift.io/droppy/droppy-5:3616f90f\n--> 5ca93fca033c\nSuccessfully tagged temp.builder.openshift.io/droppy/droppy-5:3616f90f\n5ca93fca033c25d5d5b7e66c153d06fdf888fa20c4d2c860cb9aa5ffccccfe15\nPushing image image-registry.openshift-image-registry.svc:5000/droppy/droppy:latest ...\nGetting image source signatures\nCopying blob sha256:72199feb40fb1a3e62e278fb4f4a5e0cd671a023c608da7cfeef7a6b04a33c82\nCopying blob sha256:ad6d96c196e3198e14ea37df8bba4f54bf92fb525eb65e49fa4027c7dee13f80\nCopying blob sha256:589002ba0eaed121a1dbf42f6648f29e5be55d5c8a6ee0f8eaa0285cc21ac153\nCopying blob sha256:eb87f4721c91769ed5206f34a9ab6ec98fc1d5235c12c2fc956665b1155e9ecb\nCopying blob sha256:e31b2016552274339ed88ed4a438d78bf37e0f6bdf328d02207b2a598c1ef86d\nCopying blob sha256:e13927f66003bfa5be666c6ec95a255f05214739eaacc5f9d16a5e89c87a6cc2\nCopying blob sha256:5de239f9e75dc70b285c1366644280d83fdc05bdbc40d387862a3c48b65435f6\nCopying blob sha256:c8a55521cd763dddd7fa117c8eafa379ca625bcfc7e0fdeb64a6a3a2f102d0df\nCopying blob sha256:c01d31a36abbc207d6cb691dc3614bb5244635e5f1ab71a88219aaaa2dd7cc70\nCopying blob sha256:46cdb404887f9bf25e12cc9cc6459d9bf4ea5161006fe49252f4f1e7ef27e935\nCopying blob sha256:16d0c7358056edbea2ea5c11cce9d085e362c362d222044882073fb523922a22\nCopying blob sha256:c59203d738e6919b570d671f45b6565639aa177b0f7177a60d1b584cfc95eb94","elapsedTimeSeconds":547,"totalLines":464,"timeoutMs":600000},"toolUseID":"bash-progress-545","parentToolUseID":"toolu_011Km2rctiVMWLzAG1qEiTSR","uuid":"446ee1d9-433f-495b-8599-42fd47f39620","timestamp":"2026-02-06T09:12:30.005Z"} {"parentUuid":"446ee1d9-433f-495b-8599-42fd47f39620","isSidechain":false,"userType":"external","cwd":"/home/josie/development/personal/droppy","sessionId":"e8fdd77a-647b-4ef8-bc1e-bcf8df780f25","version":"2.1.32","gitBranch":"HEAD","slug":"serene-whistling-wigderson","type":"progress","data":{"type":"bash_progress","output":"Copying blob sha256:c8a55521cd763dddd7fa117c8eafa379ca625bcfc7e0fdeb64a6a3a2f102d0df\nCopying blob sha256:c01d31a36abbc207d6cb691dc3614bb5244635e5f1ab71a88219aaaa2dd7cc70\nCopying blob sha256:46cdb404887f9bf25e12cc9cc6459d9bf4ea5161006fe49252f4f1e7ef27e935\nCopying blob sha256:16d0c7358056edbea2ea5c11cce9d085e362c362d222044882073fb523922a22\nCopying blob sha256:c59203d738e6919b570d671f45b6565639aa177b0f7177a60d1b584cfc95eb94","fullOutput":"( 99/124) Installing json-c (0.18-r1)\n(100/124) Installing v4l-utils-libs (1.32.0-r0)\n(101/124) Installing ffmpeg-libavdevice (8.0.1-r1)\n(102/124) Installing ffmpeg (8.0.1-r1)\n(103/124) Installing gdbm (1.26-r0)\n(104/124) Installing mpdecimal (4.0.1-r0)\n(105/124) Installing ncurses-terminfo-base (6.5_p20251123-r0)\n(106/124) Installing libncursesw (6.5_p20251123-r0)\n(107/124) Installing libpanelw (6.5_p20251123-r0)\n(108/124) Installing readline (8.3.1-r0)\n(109/124) Installing sqlite-libs (3.51.2-r0)\n(110/124) Installing python3 (3.12.12-r0)\n(111/124) Installing python3-pycache-pyc0 (3.12.12-r0)\n(112/124) Installing pyc (3.12.12-r0)\n(113/124) Installing py3-setuptools-pyc (80.9.0-r2)\n(114/124) Installing py3-pip-pyc (25.1.1-r1)\n(115/124) Installing py3-packaging-pyc (25.0-r0)\n(116/124) Installing python3-pyc (3.12.12-r0)\n(117/124) Installing py3-parsing (3.2.5-r0)\n(118/124) Installing py3-parsing-pyc (3.2.5-r0)\n(119/124) Installing py3-packaging (25.0-r0)\n(120/124) Installing py3-setuptools (80.9.0-r2)\n(121/124) Installing py3-pip (25.1.1-r1)\n(122/124) Installing libunistring (1.4.1-r0)\n(123/124) Installing libidn2 (2.3.8-r0)\n(124/124) Installing wget (1.25.0-r2)\nExecuting busybox-1.37.0-r30.trigger\nExecuting glib-2.86.3-r0.trigger\nOK: 193.4 MiB in 142 packages\nCollecting yt-dlp\n Downloading yt_dlp-2026.2.4-py3-none-any.whl.metadata (182 kB)\nDownloading yt_dlp-2026.2.4-py3-none-any.whl (3.3 MB)\n ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.3/3.3 MB 75.8 MB/s eta 0:00:00\nInstalling collected packages: yt-dlp\nSuccessfully installed yt-dlp-2026.2.4\nWARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager, possibly rendering your system unusable. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv. Use the --root-user-action option if you know what you are doing and want to suppress this warning.\n--> c49379ab080d\n[2/2] STEP 4/21: COPY package*.json ./\n--> 5db66830d8b6\n[2/2] STEP 5/21: RUN npm install --omit=dev\nnpm warn deprecated multer@1.4.5-lts.2: Multer 1.x is impacted by a number of vulnerabilities, which have been patched in 2.x. You should upgrade to the latest 2.x version.\nadded 190 packages, and audited 191 packages in 1m\n45 packages are looking for funding\n run `npm fund` for details\nfound 0 vulnerabilities\nnpm notice\nnpm notice New major version of npm available! 10.8.2 -> 11.9.0\nnpm notice Changelog: https://github.com/npm/cli/releases/tag/v11.9.0\nnpm notice To update run: npm install -g npm@11.9.0\nnpm notice\n--> 057f5dfc9cb9\n[2/2] STEP 6/21: COPY --from=builder /app/build ./build\n--> 9acaee727281\n[2/2] STEP 7/21: COPY server ./server\n--> b41576c798ca\n[2/2] STEP 8/21: RUN mkdir -p /app/uploads && chmod -R 777 /app/uploads\n--> 1c65570d7777\n[2/2] STEP 9/21: COPY openshift/docker-entrypoint-ocp.sh /docker-entrypoint.sh\n--> 6872207b397a\n[2/2] STEP 10/21: RUN chmod +x /docker-entrypoint.sh\n--> 76834d84ad55\n[2/2] STEP 11/21: ENV NODE_ENV=production\n--> 30e1361330a3\n[2/2] STEP 12/21: ENV PORT=3000\n--> f04f2d0057a7\n[2/2] STEP 13/21: ENV HOST=0.0.0.0\n--> d8379d8eb557\n[2/2] STEP 14/21: EXPOSE 3000\n--> fe026e866e53\n[2/2] STEP 15/21: VOLUME [\"/app/uploads\"]\n--> ba6dd5f270a4\n[2/2] STEP 16/21: HEALTHCHECK --interval=30s --timeout=10s --start-period=10s --retries=3 CMD wget -q --spider http://localhost:3000/ || exit 1\n--> 2f84348548a1\n[2/2] STEP 17/21: USER 1001\n--> 08abd9c36adb\n[2/2] STEP 18/21: ENTRYPOINT [\"/docker-entrypoint.sh\"]\n--> ebd89f45dd03\n[2/2] STEP 19/21: CMD [\"npx\",\"tsx\",\"server/index.ts\"]\n--> 0136997559ec\n[2/2] STEP 20/21: ENV \"OPENSHIFT_BUILD_NAME\"=\"droppy-5\" \"OPENSHIFT_BUILD_NAMESPACE\"=\"droppy\"\n--> 85cb9aa1f892\n[2/2] STEP 21/21: LABEL \"io.openshift.build.name\"=\"droppy-5\" \"io.openshift.build.namespace\"=\"droppy\"\n[2/2] COMMIT temp.builder.openshift.io/droppy/droppy-5:3616f90f\n--> 5ca93fca033c\nSuccessfully tagged temp.builder.openshift.io/droppy/droppy-5:3616f90f\n5ca93fca033c25d5d5b7e66c153d06fdf888fa20c4d2c860cb9aa5ffccccfe15\nPushing image image-registry.openshift-image-registry.svc:5000/droppy/droppy:latest ...\nGetting image source signatures\nCopying blob sha256:72199feb40fb1a3e62e278fb4f4a5e0cd671a023c608da7cfeef7a6b04a33c82\nCopying blob sha256:ad6d96c196e3198e14ea37df8bba4f54bf92fb525eb65e49fa4027c7dee13f80\nCopying blob sha256:589002ba0eaed121a1dbf42f6648f29e5be55d5c8a6ee0f8eaa0285cc21ac153\nCopying blob sha256:eb87f4721c91769ed5206f34a9ab6ec98fc1d5235c12c2fc956665b1155e9ecb\nCopying blob sha256:e31b2016552274339ed88ed4a438d78bf37e0f6bdf328d02207b2a598c1ef86d\nCopying blob sha256:e13927f66003bfa5be666c6ec95a255f05214739eaacc5f9d16a5e89c87a6cc2\nCopying blob sha256:5de239f9e75dc70b285c1366644280d83fdc05bdbc40d387862a3c48b65435f6\nCopying blob sha256:c8a55521cd763dddd7fa117c8eafa379ca625bcfc7e0fdeb64a6a3a2f102d0df\nCopying blob sha256:c01d31a36abbc207d6cb691dc3614bb5244635e5f1ab71a88219aaaa2dd7cc70\nCopying blob sha256:46cdb404887f9bf25e12cc9cc6459d9bf4ea5161006fe49252f4f1e7ef27e935\nCopying blob sha256:16d0c7358056edbea2ea5c11cce9d085e362c362d222044882073fb523922a22\nCopying blob sha256:c59203d738e6919b570d671f45b6565639aa177b0f7177a60d1b584cfc95eb94","elapsedTimeSeconds":548,"totalLines":464,"timeoutMs":600000},"toolUseID":"bash-progress-546","parentToolUseID":"toolu_011Km2rctiVMWLzAG1qEiTSR","uuid":"0ceb4e3d-f776-42d7-bb82-938a37aee5a4","timestamp":"2026-02-06T09:12:31.006Z"} {"parentUuid":"0ceb4e3d-f776-42d7-bb82-938a37aee5a4","isSidechain":false,"userType":"external","cwd":"/home/josie/development/personal/droppy","sessionId":"e8fdd77a-647b-4ef8-bc1e-bcf8df780f25","version":"2.1.32","gitBranch":"HEAD","slug":"serene-whistling-wigderson","type":"progress","data":{"type":"bash_progress","output":"Copying blob sha256:c8a55521cd763dddd7fa117c8eafa379ca625bcfc7e0fdeb64a6a3a2f102d0df\nCopying blob sha256:c01d31a36abbc207d6cb691dc3614bb5244635e5f1ab71a88219aaaa2dd7cc70\nCopying blob sha256:46cdb404887f9bf25e12cc9cc6459d9bf4ea5161006fe49252f4f1e7ef27e935\nCopying blob sha256:16d0c7358056edbea2ea5c11cce9d085e362c362d222044882073fb523922a22\nCopying blob sha256:c59203d738e6919b570d671f45b6565639aa177b0f7177a60d1b584cfc95eb94","fullOutput":"( 99/124) Installing json-c (0.18-r1)\n(100/124) Installing v4l-utils-libs (1.32.0-r0)\n(101/124) Installing ffmpeg-libavdevice (8.0.1-r1)\n(102/124) Installing ffmpeg (8.0.1-r1)\n(103/124) Installing gdbm (1.26-r0)\n(104/124) Installing mpdecimal (4.0.1-r0)\n(105/124) Installing ncurses-terminfo-base (6.5_p20251123-r0)\n(106/124) Installing libncursesw (6.5_p20251123-r0)\n(107/124) Installing libpanelw (6.5_p20251123-r0)\n(108/124) Installing readline (8.3.1-r0)\n(109/124) Installing sqlite-libs (3.51.2-r0)\n(110/124) Installing python3 (3.12.12-r0)\n(111/124) Installing python3-pycache-pyc0 (3.12.12-r0)\n(112/124) Installing pyc (3.12.12-r0)\n(113/124) Installing py3-setuptools-pyc (80.9.0-r2)\n(114/124) Installing py3-pip-pyc (25.1.1-r1)\n(115/124) Installing py3-packaging-pyc (25.0-r0)\n(116/124) Installing python3-pyc (3.12.12-r0)\n(117/124) Installing py3-parsing (3.2.5-r0)\n(118/124) Installing py3-parsing-pyc (3.2.5-r0)\n(119/124) Installing py3-packaging (25.0-r0)\n(120/124) Installing py3-setuptools (80.9.0-r2)\n(121/124) Installing py3-pip (25.1.1-r1)\n(122/124) Installing libunistring (1.4.1-r0)\n(123/124) Installing libidn2 (2.3.8-r0)\n(124/124) Installing wget (1.25.0-r2)\nExecuting busybox-1.37.0-r30.trigger\nExecuting glib-2.86.3-r0.trigger\nOK: 193.4 MiB in 142 packages\nCollecting yt-dlp\n Downloading yt_dlp-2026.2.4-py3-none-any.whl.metadata (182 kB)\nDownloading yt_dlp-2026.2.4-py3-none-any.whl (3.3 MB)\n ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.3/3.3 MB 75.8 MB/s eta 0:00:00\nInstalling collected packages: yt-dlp\nSuccessfully installed yt-dlp-2026.2.4\nWARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager, possibly rendering your system unusable. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv. Use the --root-user-action option if you know what you are doing and want to suppress this warning.\n--> c49379ab080d\n[2/2] STEP 4/21: COPY package*.json ./\n--> 5db66830d8b6\n[2/2] STEP 5/21: RUN npm install --omit=dev\nnpm warn deprecated multer@1.4.5-lts.2: Multer 1.x is impacted by a number of vulnerabilities, which have been patched in 2.x. You should upgrade to the latest 2.x version.\nadded 190 packages, and audited 191 packages in 1m\n45 packages are looking for funding\n run `npm fund` for details\nfound 0 vulnerabilities\nnpm notice\nnpm notice New major version of npm available! 10.8.2 -> 11.9.0\nnpm notice Changelog: https://github.com/npm/cli/releases/tag/v11.9.0\nnpm notice To update run: npm install -g npm@11.9.0\nnpm notice\n--> 057f5dfc9cb9\n[2/2] STEP 6/21: COPY --from=builder /app/build ./build\n--> 9acaee727281\n[2/2] STEP 7/21: COPY server ./server\n--> b41576c798ca\n[2/2] STEP 8/21: RUN mkdir -p /app/uploads && chmod -R 777 /app/uploads\n--> 1c65570d7777\n[2/2] STEP 9/21: COPY openshift/docker-entrypoint-ocp.sh /docker-entrypoint.sh\n--> 6872207b397a\n[2/2] STEP 10/21: RUN chmod +x /docker-entrypoint.sh\n--> 76834d84ad55\n[2/2] STEP 11/21: ENV NODE_ENV=production\n--> 30e1361330a3\n[2/2] STEP 12/21: ENV PORT=3000\n--> f04f2d0057a7\n[2/2] STEP 13/21: ENV HOST=0.0.0.0\n--> d8379d8eb557\n[2/2] STEP 14/21: EXPOSE 3000\n--> fe026e866e53\n[2/2] STEP 15/21: VOLUME [\"/app/uploads\"]\n--> ba6dd5f270a4\n[2/2] STEP 16/21: HEALTHCHECK --interval=30s --timeout=10s --start-period=10s --retries=3 CMD wget -q --spider http://localhost:3000/ || exit 1\n--> 2f84348548a1\n[2/2] STEP 17/21: USER 1001\n--> 08abd9c36adb\n[2/2] STEP 18/21: ENTRYPOINT [\"/docker-entrypoint.sh\"]\n--> ebd89f45dd03\n[2/2] STEP 19/21: CMD [\"npx\",\"tsx\",\"server/index.ts\"]\n--> 0136997559ec\n[2/2] STEP 20/21: ENV \"OPENSHIFT_BUILD_NAME\"=\"droppy-5\" \"OPENSHIFT_BUILD_NAMESPACE\"=\"droppy\"\n--> 85cb9aa1f892\n[2/2] STEP 21/21: LABEL \"io.openshift.build.name\"=\"droppy-5\" \"io.openshift.build.namespace\"=\"droppy\"\n[2/2] COMMIT temp.builder.openshift.io/droppy/droppy-5:3616f90f\n--> 5ca93fca033c\nSuccessfully tagged temp.builder.openshift.io/droppy/droppy-5:3616f90f\n5ca93fca033c25d5d5b7e66c153d06fdf888fa20c4d2c860cb9aa5ffccccfe15\nPushing image image-registry.openshift-image-registry.svc:5000/droppy/droppy:latest ...\nGetting image source signatures\nCopying blob sha256:72199feb40fb1a3e62e278fb4f4a5e0cd671a023c608da7cfeef7a6b04a33c82\nCopying blob sha256:ad6d96c196e3198e14ea37df8bba4f54bf92fb525eb65e49fa4027c7dee13f80\nCopying blob sha256:589002ba0eaed121a1dbf42f6648f29e5be55d5c8a6ee0f8eaa0285cc21ac153\nCopying blob sha256:eb87f4721c91769ed5206f34a9ab6ec98fc1d5235c12c2fc956665b1155e9ecb\nCopying blob sha256:e31b2016552274339ed88ed4a438d78bf37e0f6bdf328d02207b2a598c1ef86d\nCopying blob sha256:e13927f66003bfa5be666c6ec95a255f05214739eaacc5f9d16a5e89c87a6cc2\nCopying blob sha256:5de239f9e75dc70b285c1366644280d83fdc05bdbc40d387862a3c48b65435f6\nCopying blob sha256:c8a55521cd763dddd7fa117c8eafa379ca625bcfc7e0fdeb64a6a3a2f102d0df\nCopying blob sha256:c01d31a36abbc207d6cb691dc3614bb5244635e5f1ab71a88219aaaa2dd7cc70\nCopying blob sha256:46cdb404887f9bf25e12cc9cc6459d9bf4ea5161006fe49252f4f1e7ef27e935\nCopying blob sha256:16d0c7358056edbea2ea5c11cce9d085e362c362d222044882073fb523922a22\nCopying blob sha256:c59203d738e6919b570d671f45b6565639aa177b0f7177a60d1b584cfc95eb94","elapsedTimeSeconds":549,"totalLines":464,"timeoutMs":600000},"toolUseID":"bash-progress-547","parentToolUseID":"toolu_011Km2rctiVMWLzAG1qEiTSR","uuid":"6550224d-437f-4199-afdf-d156d57073e3","timestamp":"2026-02-06T09:12:32.007Z"} {"parentUuid":"6550224d-437f-4199-afdf-d156d57073e3","isSidechain":false,"userType":"external","cwd":"/home/josie/development/personal/droppy","sessionId":"e8fdd77a-647b-4ef8-bc1e-bcf8df780f25","version":"2.1.32","gitBranch":"HEAD","slug":"serene-whistling-wigderson","type":"progress","data":{"type":"bash_progress","output":"Copying blob sha256:c8a55521cd763dddd7fa117c8eafa379ca625bcfc7e0fdeb64a6a3a2f102d0df\nCopying blob sha256:c01d31a36abbc207d6cb691dc3614bb5244635e5f1ab71a88219aaaa2dd7cc70\nCopying blob sha256:46cdb404887f9bf25e12cc9cc6459d9bf4ea5161006fe49252f4f1e7ef27e935\nCopying blob sha256:16d0c7358056edbea2ea5c11cce9d085e362c362d222044882073fb523922a22\nCopying blob sha256:c59203d738e6919b570d671f45b6565639aa177b0f7177a60d1b584cfc95eb94","fullOutput":"( 99/124) Installing json-c (0.18-r1)\n(100/124) Installing v4l-utils-libs (1.32.0-r0)\n(101/124) Installing ffmpeg-libavdevice (8.0.1-r1)\n(102/124) Installing ffmpeg (8.0.1-r1)\n(103/124) Installing gdbm (1.26-r0)\n(104/124) Installing mpdecimal (4.0.1-r0)\n(105/124) Installing ncurses-terminfo-base (6.5_p20251123-r0)\n(106/124) Installing libncursesw (6.5_p20251123-r0)\n(107/124) Installing libpanelw (6.5_p20251123-r0)\n(108/124) Installing readline (8.3.1-r0)\n(109/124) Installing sqlite-libs (3.51.2-r0)\n(110/124) Installing python3 (3.12.12-r0)\n(111/124) Installing python3-pycache-pyc0 (3.12.12-r0)\n(112/124) Installing pyc (3.12.12-r0)\n(113/124) Installing py3-setuptools-pyc (80.9.0-r2)\n(114/124) Installing py3-pip-pyc (25.1.1-r1)\n(115/124) Installing py3-packaging-pyc (25.0-r0)\n(116/124) Installing python3-pyc (3.12.12-r0)\n(117/124) Installing py3-parsing (3.2.5-r0)\n(118/124) Installing py3-parsing-pyc (3.2.5-r0)\n(119/124) Installing py3-packaging (25.0-r0)\n(120/124) Installing py3-setuptools (80.9.0-r2)\n(121/124) Installing py3-pip (25.1.1-r1)\n(122/124) Installing libunistring (1.4.1-r0)\n(123/124) Installing libidn2 (2.3.8-r0)\n(124/124) Installing wget (1.25.0-r2)\nExecuting busybox-1.37.0-r30.trigger\nExecuting glib-2.86.3-r0.trigger\nOK: 193.4 MiB in 142 packages\nCollecting yt-dlp\n Downloading yt_dlp-2026.2.4-py3-none-any.whl.metadata (182 kB)\nDownloading yt_dlp-2026.2.4-py3-none-any.whl (3.3 MB)\n ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.3/3.3 MB 75.8 MB/s eta 0:00:00\nInstalling collected packages: yt-dlp\nSuccessfully installed yt-dlp-2026.2.4\nWARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager, possibly rendering your system unusable. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv. Use the --root-user-action option if you know what you are doing and want to suppress this warning.\n--> c49379ab080d\n[2/2] STEP 4/21: COPY package*.json ./\n--> 5db66830d8b6\n[2/2] STEP 5/21: RUN npm install --omit=dev\nnpm warn deprecated multer@1.4.5-lts.2: Multer 1.x is impacted by a number of vulnerabilities, which have been patched in 2.x. You should upgrade to the latest 2.x version.\nadded 190 packages, and audited 191 packages in 1m\n45 packages are looking for funding\n run `npm fund` for details\nfound 0 vulnerabilities\nnpm notice\nnpm notice New major version of npm available! 10.8.2 -> 11.9.0\nnpm notice Changelog: https://github.com/npm/cli/releases/tag/v11.9.0\nnpm notice To update run: npm install -g npm@11.9.0\nnpm notice\n--> 057f5dfc9cb9\n[2/2] STEP 6/21: COPY --from=builder /app/build ./build\n--> 9acaee727281\n[2/2] STEP 7/21: COPY server ./server\n--> b41576c798ca\n[2/2] STEP 8/21: RUN mkdir -p /app/uploads && chmod -R 777 /app/uploads\n--> 1c65570d7777\n[2/2] STEP 9/21: COPY openshift/docker-entrypoint-ocp.sh /docker-entrypoint.sh\n--> 6872207b397a\n[2/2] STEP 10/21: RUN chmod +x /docker-entrypoint.sh\n--> 76834d84ad55\n[2/2] STEP 11/21: ENV NODE_ENV=production\n--> 30e1361330a3\n[2/2] STEP 12/21: ENV PORT=3000\n--> f04f2d0057a7\n[2/2] STEP 13/21: ENV HOST=0.0.0.0\n--> d8379d8eb557\n[2/2] STEP 14/21: EXPOSE 3000\n--> fe026e866e53\n[2/2] STEP 15/21: VOLUME [\"/app/uploads\"]\n--> ba6dd5f270a4\n[2/2] STEP 16/21: HEALTHCHECK --interval=30s --timeout=10s --start-period=10s --retries=3 CMD wget -q --spider http://localhost:3000/ || exit 1\n--> 2f84348548a1\n[2/2] STEP 17/21: USER 1001\n--> 08abd9c36adb\n[2/2] STEP 18/21: ENTRYPOINT [\"/docker-entrypoint.sh\"]\n--> ebd89f45dd03\n[2/2] STEP 19/21: CMD [\"npx\",\"tsx\",\"server/index.ts\"]\n--> 0136997559ec\n[2/2] STEP 20/21: ENV \"OPENSHIFT_BUILD_NAME\"=\"droppy-5\" \"OPENSHIFT_BUILD_NAMESPACE\"=\"droppy\"\n--> 85cb9aa1f892\n[2/2] STEP 21/21: LABEL \"io.openshift.build.name\"=\"droppy-5\" \"io.openshift.build.namespace\"=\"droppy\"\n[2/2] COMMIT temp.builder.openshift.io/droppy/droppy-5:3616f90f\n--> 5ca93fca033c\nSuccessfully tagged temp.builder.openshift.io/droppy/droppy-5:3616f90f\n5ca93fca033c25d5d5b7e66c153d06fdf888fa20c4d2c860cb9aa5ffccccfe15\nPushing image image-registry.openshift-image-registry.svc:5000/droppy/droppy:latest ...\nGetting image source signatures\nCopying blob sha256:72199feb40fb1a3e62e278fb4f4a5e0cd671a023c608da7cfeef7a6b04a33c82\nCopying blob sha256:ad6d96c196e3198e14ea37df8bba4f54bf92fb525eb65e49fa4027c7dee13f80\nCopying blob sha256:589002ba0eaed121a1dbf42f6648f29e5be55d5c8a6ee0f8eaa0285cc21ac153\nCopying blob sha256:eb87f4721c91769ed5206f34a9ab6ec98fc1d5235c12c2fc956665b1155e9ecb\nCopying blob sha256:e31b2016552274339ed88ed4a438d78bf37e0f6bdf328d02207b2a598c1ef86d\nCopying blob sha256:e13927f66003bfa5be666c6ec95a255f05214739eaacc5f9d16a5e89c87a6cc2\nCopying blob sha256:5de239f9e75dc70b285c1366644280d83fdc05bdbc40d387862a3c48b65435f6\nCopying blob sha256:c8a55521cd763dddd7fa117c8eafa379ca625bcfc7e0fdeb64a6a3a2f102d0df\nCopying blob sha256:c01d31a36abbc207d6cb691dc3614bb5244635e5f1ab71a88219aaaa2dd7cc70\nCopying blob sha256:46cdb404887f9bf25e12cc9cc6459d9bf4ea5161006fe49252f4f1e7ef27e935\nCopying blob sha256:16d0c7358056edbea2ea5c11cce9d085e362c362d222044882073fb523922a22\nCopying blob sha256:c59203d738e6919b570d671f45b6565639aa177b0f7177a60d1b584cfc95eb94","elapsedTimeSeconds":550,"totalLines":464,"timeoutMs":600000},"toolUseID":"bash-progress-548","parentToolUseID":"toolu_011Km2rctiVMWLzAG1qEiTSR","uuid":"f471b8c2-1f2a-4433-85e6-3d54c8ac9c50","timestamp":"2026-02-06T09:12:33.008Z"} {"parentUuid":"f471b8c2-1f2a-4433-85e6-3d54c8ac9c50","isSidechain":false,"userType":"external","cwd":"/home/josie/development/personal/droppy","sessionId":"e8fdd77a-647b-4ef8-bc1e-bcf8df780f25","version":"2.1.32","gitBranch":"HEAD","slug":"serene-whistling-wigderson","type":"progress","data":{"type":"bash_progress","output":"Copying blob sha256:c8a55521cd763dddd7fa117c8eafa379ca625bcfc7e0fdeb64a6a3a2f102d0df\nCopying blob sha256:c01d31a36abbc207d6cb691dc3614bb5244635e5f1ab71a88219aaaa2dd7cc70\nCopying blob sha256:46cdb404887f9bf25e12cc9cc6459d9bf4ea5161006fe49252f4f1e7ef27e935\nCopying blob sha256:16d0c7358056edbea2ea5c11cce9d085e362c362d222044882073fb523922a22\nCopying blob sha256:c59203d738e6919b570d671f45b6565639aa177b0f7177a60d1b584cfc95eb94","fullOutput":"( 99/124) Installing json-c (0.18-r1)\n(100/124) Installing v4l-utils-libs (1.32.0-r0)\n(101/124) Installing ffmpeg-libavdevice (8.0.1-r1)\n(102/124) Installing ffmpeg (8.0.1-r1)\n(103/124) Installing gdbm (1.26-r0)\n(104/124) Installing mpdecimal (4.0.1-r0)\n(105/124) Installing ncurses-terminfo-base (6.5_p20251123-r0)\n(106/124) Installing libncursesw (6.5_p20251123-r0)\n(107/124) Installing libpanelw (6.5_p20251123-r0)\n(108/124) Installing readline (8.3.1-r0)\n(109/124) Installing sqlite-libs (3.51.2-r0)\n(110/124) Installing python3 (3.12.12-r0)\n(111/124) Installing python3-pycache-pyc0 (3.12.12-r0)\n(112/124) Installing pyc (3.12.12-r0)\n(113/124) Installing py3-setuptools-pyc (80.9.0-r2)\n(114/124) Installing py3-pip-pyc (25.1.1-r1)\n(115/124) Installing py3-packaging-pyc (25.0-r0)\n(116/124) Installing python3-pyc (3.12.12-r0)\n(117/124) Installing py3-parsing (3.2.5-r0)\n(118/124) Installing py3-parsing-pyc (3.2.5-r0)\n(119/124) Installing py3-packaging (25.0-r0)\n(120/124) Installing py3-setuptools (80.9.0-r2)\n(121/124) Installing py3-pip (25.1.1-r1)\n(122/124) Installing libunistring (1.4.1-r0)\n(123/124) Installing libidn2 (2.3.8-r0)\n(124/124) Installing wget (1.25.0-r2)\nExecuting busybox-1.37.0-r30.trigger\nExecuting glib-2.86.3-r0.trigger\nOK: 193.4 MiB in 142 packages\nCollecting yt-dlp\n Downloading yt_dlp-2026.2.4-py3-none-any.whl.metadata (182 kB)\nDownloading yt_dlp-2026.2.4-py3-none-any.whl (3.3 MB)\n ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.3/3.3 MB 75.8 MB/s eta 0:00:00\nInstalling collected packages: yt-dlp\nSuccessfully installed yt-dlp-2026.2.4\nWARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager, possibly rendering your system unusable. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv. Use the --root-user-action option if you know what you are doing and want to suppress this warning.\n--> c49379ab080d\n[2/2] STEP 4/21: COPY package*.json ./\n--> 5db66830d8b6\n[2/2] STEP 5/21: RUN npm install --omit=dev\nnpm warn deprecated multer@1.4.5-lts.2: Multer 1.x is impacted by a number of vulnerabilities, which have been patched in 2.x. You should upgrade to the latest 2.x version.\nadded 190 packages, and audited 191 packages in 1m\n45 packages are looking for funding\n run `npm fund` for details\nfound 0 vulnerabilities\nnpm notice\nnpm notice New major version of npm available! 10.8.2 -> 11.9.0\nnpm notice Changelog: https://github.com/npm/cli/releases/tag/v11.9.0\nnpm notice To update run: npm install -g npm@11.9.0\nnpm notice\n--> 057f5dfc9cb9\n[2/2] STEP 6/21: COPY --from=builder /app/build ./build\n--> 9acaee727281\n[2/2] STEP 7/21: COPY server ./server\n--> b41576c798ca\n[2/2] STEP 8/21: RUN mkdir -p /app/uploads && chmod -R 777 /app/uploads\n--> 1c65570d7777\n[2/2] STEP 9/21: COPY openshift/docker-entrypoint-ocp.sh /docker-entrypoint.sh\n--> 6872207b397a\n[2/2] STEP 10/21: RUN chmod +x /docker-entrypoint.sh\n--> 76834d84ad55\n[2/2] STEP 11/21: ENV NODE_ENV=production\n--> 30e1361330a3\n[2/2] STEP 12/21: ENV PORT=3000\n--> f04f2d0057a7\n[2/2] STEP 13/21: ENV HOST=0.0.0.0\n--> d8379d8eb557\n[2/2] STEP 14/21: EXPOSE 3000\n--> fe026e866e53\n[2/2] STEP 15/21: VOLUME [\"/app/uploads\"]\n--> ba6dd5f270a4\n[2/2] STEP 16/21: HEALTHCHECK --interval=30s --timeout=10s --start-period=10s --retries=3 CMD wget -q --spider http://localhost:3000/ || exit 1\n--> 2f84348548a1\n[2/2] STEP 17/21: USER 1001\n--> 08abd9c36adb\n[2/2] STEP 18/21: ENTRYPOINT [\"/docker-entrypoint.sh\"]\n--> ebd89f45dd03\n[2/2] STEP 19/21: CMD [\"npx\",\"tsx\",\"server/index.ts\"]\n--> 0136997559ec\n[2/2] STEP 20/21: ENV \"OPENSHIFT_BUILD_NAME\"=\"droppy-5\" \"OPENSHIFT_BUILD_NAMESPACE\"=\"droppy\"\n--> 85cb9aa1f892\n[2/2] STEP 21/21: LABEL \"io.openshift.build.name\"=\"droppy-5\" \"io.openshift.build.namespace\"=\"droppy\"\n[2/2] COMMIT temp.builder.openshift.io/droppy/droppy-5:3616f90f\n--> 5ca93fca033c\nSuccessfully tagged temp.builder.openshift.io/droppy/droppy-5:3616f90f\n5ca93fca033c25d5d5b7e66c153d06fdf888fa20c4d2c860cb9aa5ffccccfe15\nPushing image image-registry.openshift-image-registry.svc:5000/droppy/droppy:latest ...\nGetting image source signatures\nCopying blob sha256:72199feb40fb1a3e62e278fb4f4a5e0cd671a023c608da7cfeef7a6b04a33c82\nCopying blob sha256:ad6d96c196e3198e14ea37df8bba4f54bf92fb525eb65e49fa4027c7dee13f80\nCopying blob sha256:589002ba0eaed121a1dbf42f6648f29e5be55d5c8a6ee0f8eaa0285cc21ac153\nCopying blob sha256:eb87f4721c91769ed5206f34a9ab6ec98fc1d5235c12c2fc956665b1155e9ecb\nCopying blob sha256:e31b2016552274339ed88ed4a438d78bf37e0f6bdf328d02207b2a598c1ef86d\nCopying blob sha256:e13927f66003bfa5be666c6ec95a255f05214739eaacc5f9d16a5e89c87a6cc2\nCopying blob sha256:5de239f9e75dc70b285c1366644280d83fdc05bdbc40d387862a3c48b65435f6\nCopying blob sha256:c8a55521cd763dddd7fa117c8eafa379ca625bcfc7e0fdeb64a6a3a2f102d0df\nCopying blob sha256:c01d31a36abbc207d6cb691dc3614bb5244635e5f1ab71a88219aaaa2dd7cc70\nCopying blob sha256:46cdb404887f9bf25e12cc9cc6459d9bf4ea5161006fe49252f4f1e7ef27e935\nCopying blob sha256:16d0c7358056edbea2ea5c11cce9d085e362c362d222044882073fb523922a22\nCopying blob sha256:c59203d738e6919b570d671f45b6565639aa177b0f7177a60d1b584cfc95eb94","elapsedTimeSeconds":551,"totalLines":464,"timeoutMs":600000},"toolUseID":"bash-progress-549","parentToolUseID":"toolu_011Km2rctiVMWLzAG1qEiTSR","uuid":"f290b6df-cedc-4d90-a38e-71471806c6de","timestamp":"2026-02-06T09:12:34.008Z"} {"parentUuid":"f290b6df-cedc-4d90-a38e-71471806c6de","isSidechain":false,"userType":"external","cwd":"/home/josie/development/personal/droppy","sessionId":"e8fdd77a-647b-4ef8-bc1e-bcf8df780f25","version":"2.1.32","gitBranch":"HEAD","slug":"serene-whistling-wigderson","type":"progress","data":{"type":"bash_progress","output":"Copying blob sha256:c8a55521cd763dddd7fa117c8eafa379ca625bcfc7e0fdeb64a6a3a2f102d0df\nCopying blob sha256:c01d31a36abbc207d6cb691dc3614bb5244635e5f1ab71a88219aaaa2dd7cc70\nCopying blob sha256:46cdb404887f9bf25e12cc9cc6459d9bf4ea5161006fe49252f4f1e7ef27e935\nCopying blob sha256:16d0c7358056edbea2ea5c11cce9d085e362c362d222044882073fb523922a22\nCopying blob sha256:c59203d738e6919b570d671f45b6565639aa177b0f7177a60d1b584cfc95eb94","fullOutput":"( 99/124) Installing json-c (0.18-r1)\n(100/124) Installing v4l-utils-libs (1.32.0-r0)\n(101/124) Installing ffmpeg-libavdevice (8.0.1-r1)\n(102/124) Installing ffmpeg (8.0.1-r1)\n(103/124) Installing gdbm (1.26-r0)\n(104/124) Installing mpdecimal (4.0.1-r0)\n(105/124) Installing ncurses-terminfo-base (6.5_p20251123-r0)\n(106/124) Installing libncursesw (6.5_p20251123-r0)\n(107/124) Installing libpanelw (6.5_p20251123-r0)\n(108/124) Installing readline (8.3.1-r0)\n(109/124) Installing sqlite-libs (3.51.2-r0)\n(110/124) Installing python3 (3.12.12-r0)\n(111/124) Installing python3-pycache-pyc0 (3.12.12-r0)\n(112/124) Installing pyc (3.12.12-r0)\n(113/124) Installing py3-setuptools-pyc (80.9.0-r2)\n(114/124) Installing py3-pip-pyc (25.1.1-r1)\n(115/124) Installing py3-packaging-pyc (25.0-r0)\n(116/124) Installing python3-pyc (3.12.12-r0)\n(117/124) Installing py3-parsing (3.2.5-r0)\n(118/124) Installing py3-parsing-pyc (3.2.5-r0)\n(119/124) Installing py3-packaging (25.0-r0)\n(120/124) Installing py3-setuptools (80.9.0-r2)\n(121/124) Installing py3-pip (25.1.1-r1)\n(122/124) Installing libunistring (1.4.1-r0)\n(123/124) Installing libidn2 (2.3.8-r0)\n(124/124) Installing wget (1.25.0-r2)\nExecuting busybox-1.37.0-r30.trigger\nExecuting glib-2.86.3-r0.trigger\nOK: 193.4 MiB in 142 packages\nCollecting yt-dlp\n Downloading yt_dlp-2026.2.4-py3-none-any.whl.metadata (182 kB)\nDownloading yt_dlp-2026.2.4-py3-none-any.whl (3.3 MB)\n ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.3/3.3 MB 75.8 MB/s eta 0:00:00\nInstalling collected packages: yt-dlp\nSuccessfully installed yt-dlp-2026.2.4\nWARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager, possibly rendering your system unusable. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv. Use the --root-user-action option if you know what you are doing and want to suppress this warning.\n--> c49379ab080d\n[2/2] STEP 4/21: COPY package*.json ./\n--> 5db66830d8b6\n[2/2] STEP 5/21: RUN npm install --omit=dev\nnpm warn deprecated multer@1.4.5-lts.2: Multer 1.x is impacted by a number of vulnerabilities, which have been patched in 2.x. You should upgrade to the latest 2.x version.\nadded 190 packages, and audited 191 packages in 1m\n45 packages are looking for funding\n run `npm fund` for details\nfound 0 vulnerabilities\nnpm notice\nnpm notice New major version of npm available! 10.8.2 -> 11.9.0\nnpm notice Changelog: https://github.com/npm/cli/releases/tag/v11.9.0\nnpm notice To update run: npm install -g npm@11.9.0\nnpm notice\n--> 057f5dfc9cb9\n[2/2] STEP 6/21: COPY --from=builder /app/build ./build\n--> 9acaee727281\n[2/2] STEP 7/21: COPY server ./server\n--> b41576c798ca\n[2/2] STEP 8/21: RUN mkdir -p /app/uploads && chmod -R 777 /app/uploads\n--> 1c65570d7777\n[2/2] STEP 9/21: COPY openshift/docker-entrypoint-ocp.sh /docker-entrypoint.sh\n--> 6872207b397a\n[2/2] STEP 10/21: RUN chmod +x /docker-entrypoint.sh\n--> 76834d84ad55\n[2/2] STEP 11/21: ENV NODE_ENV=production\n--> 30e1361330a3\n[2/2] STEP 12/21: ENV PORT=3000\n--> f04f2d0057a7\n[2/2] STEP 13/21: ENV HOST=0.0.0.0\n--> d8379d8eb557\n[2/2] STEP 14/21: EXPOSE 3000\n--> fe026e866e53\n[2/2] STEP 15/21: VOLUME [\"/app/uploads\"]\n--> ba6dd5f270a4\n[2/2] STEP 16/21: HEALTHCHECK --interval=30s --timeout=10s --start-period=10s --retries=3 CMD wget -q --spider http://localhost:3000/ || exit 1\n--> 2f84348548a1\n[2/2] STEP 17/21: USER 1001\n--> 08abd9c36adb\n[2/2] STEP 18/21: ENTRYPOINT [\"/docker-entrypoint.sh\"]\n--> ebd89f45dd03\n[2/2] STEP 19/21: CMD [\"npx\",\"tsx\",\"server/index.ts\"]\n--> 0136997559ec\n[2/2] STEP 20/21: ENV \"OPENSHIFT_BUILD_NAME\"=\"droppy-5\" \"OPENSHIFT_BUILD_NAMESPACE\"=\"droppy\"\n--> 85cb9aa1f892\n[2/2] STEP 21/21: LABEL \"io.openshift.build.name\"=\"droppy-5\" \"io.openshift.build.namespace\"=\"droppy\"\n[2/2] COMMIT temp.builder.openshift.io/droppy/droppy-5:3616f90f\n--> 5ca93fca033c\nSuccessfully tagged temp.builder.openshift.io/droppy/droppy-5:3616f90f\n5ca93fca033c25d5d5b7e66c153d06fdf888fa20c4d2c860cb9aa5ffccccfe15\nPushing image image-registry.openshift-image-registry.svc:5000/droppy/droppy:latest ...\nGetting image source signatures\nCopying blob sha256:72199feb40fb1a3e62e278fb4f4a5e0cd671a023c608da7cfeef7a6b04a33c82\nCopying blob sha256:ad6d96c196e3198e14ea37df8bba4f54bf92fb525eb65e49fa4027c7dee13f80\nCopying blob sha256:589002ba0eaed121a1dbf42f6648f29e5be55d5c8a6ee0f8eaa0285cc21ac153\nCopying blob sha256:eb87f4721c91769ed5206f34a9ab6ec98fc1d5235c12c2fc956665b1155e9ecb\nCopying blob sha256:e31b2016552274339ed88ed4a438d78bf37e0f6bdf328d02207b2a598c1ef86d\nCopying blob sha256:e13927f66003bfa5be666c6ec95a255f05214739eaacc5f9d16a5e89c87a6cc2\nCopying blob sha256:5de239f9e75dc70b285c1366644280d83fdc05bdbc40d387862a3c48b65435f6\nCopying blob sha256:c8a55521cd763dddd7fa117c8eafa379ca625bcfc7e0fdeb64a6a3a2f102d0df\nCopying blob sha256:c01d31a36abbc207d6cb691dc3614bb5244635e5f1ab71a88219aaaa2dd7cc70\nCopying blob sha256:46cdb404887f9bf25e12cc9cc6459d9bf4ea5161006fe49252f4f1e7ef27e935\nCopying blob sha256:16d0c7358056edbea2ea5c11cce9d085e362c362d222044882073fb523922a22\nCopying blob sha256:c59203d738e6919b570d671f45b6565639aa177b0f7177a60d1b584cfc95eb94","elapsedTimeSeconds":552,"totalLines":464,"timeoutMs":600000},"toolUseID":"bash-progress-550","parentToolUseID":"toolu_011Km2rctiVMWLzAG1qEiTSR","uuid":"83854fb1-7bcc-453b-b2a9-58fc24eade4b","timestamp":"2026-02-06T09:12:35.008Z"} {"parentUuid":"83854fb1-7bcc-453b-b2a9-58fc24eade4b","isSidechain":false,"userType":"external","cwd":"/home/josie/development/personal/droppy","sessionId":"e8fdd77a-647b-4ef8-bc1e-bcf8df780f25","version":"2.1.32","gitBranch":"HEAD","slug":"serene-whistling-wigderson","type":"progress","data":{"type":"bash_progress","output":"Copying blob sha256:c8a55521cd763dddd7fa117c8eafa379ca625bcfc7e0fdeb64a6a3a2f102d0df\nCopying blob sha256:c01d31a36abbc207d6cb691dc3614bb5244635e5f1ab71a88219aaaa2dd7cc70\nCopying blob sha256:46cdb404887f9bf25e12cc9cc6459d9bf4ea5161006fe49252f4f1e7ef27e935\nCopying blob sha256:16d0c7358056edbea2ea5c11cce9d085e362c362d222044882073fb523922a22\nCopying blob sha256:c59203d738e6919b570d671f45b6565639aa177b0f7177a60d1b584cfc95eb94","fullOutput":"( 99/124) Installing json-c (0.18-r1)\n(100/124) Installing v4l-utils-libs (1.32.0-r0)\n(101/124) Installing ffmpeg-libavdevice (8.0.1-r1)\n(102/124) Installing ffmpeg (8.0.1-r1)\n(103/124) Installing gdbm (1.26-r0)\n(104/124) Installing mpdecimal (4.0.1-r0)\n(105/124) Installing ncurses-terminfo-base (6.5_p20251123-r0)\n(106/124) Installing libncursesw (6.5_p20251123-r0)\n(107/124) Installing libpanelw (6.5_p20251123-r0)\n(108/124) Installing readline (8.3.1-r0)\n(109/124) Installing sqlite-libs (3.51.2-r0)\n(110/124) Installing python3 (3.12.12-r0)\n(111/124) Installing python3-pycache-pyc0 (3.12.12-r0)\n(112/124) Installing pyc (3.12.12-r0)\n(113/124) Installing py3-setuptools-pyc (80.9.0-r2)\n(114/124) Installing py3-pip-pyc (25.1.1-r1)\n(115/124) Installing py3-packaging-pyc (25.0-r0)\n(116/124) Installing python3-pyc (3.12.12-r0)\n(117/124) Installing py3-parsing (3.2.5-r0)\n(118/124) Installing py3-parsing-pyc (3.2.5-r0)\n(119/124) Installing py3-packaging (25.0-r0)\n(120/124) Installing py3-setuptools (80.9.0-r2)\n(121/124) Installing py3-pip (25.1.1-r1)\n(122/124) Installing libunistring (1.4.1-r0)\n(123/124) Installing libidn2 (2.3.8-r0)\n(124/124) Installing wget (1.25.0-r2)\nExecuting busybox-1.37.0-r30.trigger\nExecuting glib-2.86.3-r0.trigger\nOK: 193.4 MiB in 142 packages\nCollecting yt-dlp\n Downloading yt_dlp-2026.2.4-py3-none-any.whl.metadata (182 kB)\nDownloading yt_dlp-2026.2.4-py3-none-any.whl (3.3 MB)\n ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.3/3.3 MB 75.8 MB/s eta 0:00:00\nInstalling collected packages: yt-dlp\nSuccessfully installed yt-dlp-2026.2.4\nWARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager, possibly rendering your system unusable. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv. Use the --root-user-action option if you know what you are doing and want to suppress this warning.\n--> c49379ab080d\n[2/2] STEP 4/21: COPY package*.json ./\n--> 5db66830d8b6\n[2/2] STEP 5/21: RUN npm install --omit=dev\nnpm warn deprecated multer@1.4.5-lts.2: Multer 1.x is impacted by a number of vulnerabilities, which have been patched in 2.x. You should upgrade to the latest 2.x version.\nadded 190 packages, and audited 191 packages in 1m\n45 packages are looking for funding\n run `npm fund` for details\nfound 0 vulnerabilities\nnpm notice\nnpm notice New major version of npm available! 10.8.2 -> 11.9.0\nnpm notice Changelog: https://github.com/npm/cli/releases/tag/v11.9.0\nnpm notice To update run: npm install -g npm@11.9.0\nnpm notice\n--> 057f5dfc9cb9\n[2/2] STEP 6/21: COPY --from=builder /app/build ./build\n--> 9acaee727281\n[2/2] STEP 7/21: COPY server ./server\n--> b41576c798ca\n[2/2] STEP 8/21: RUN mkdir -p /app/uploads && chmod -R 777 /app/uploads\n--> 1c65570d7777\n[2/2] STEP 9/21: COPY openshift/docker-entrypoint-ocp.sh /docker-entrypoint.sh\n--> 6872207b397a\n[2/2] STEP 10/21: RUN chmod +x /docker-entrypoint.sh\n--> 76834d84ad55\n[2/2] STEP 11/21: ENV NODE_ENV=production\n--> 30e1361330a3\n[2/2] STEP 12/21: ENV PORT=3000\n--> f04f2d0057a7\n[2/2] STEP 13/21: ENV HOST=0.0.0.0\n--> d8379d8eb557\n[2/2] STEP 14/21: EXPOSE 3000\n--> fe026e866e53\n[2/2] STEP 15/21: VOLUME [\"/app/uploads\"]\n--> ba6dd5f270a4\n[2/2] STEP 16/21: HEALTHCHECK --interval=30s --timeout=10s --start-period=10s --retries=3 CMD wget -q --spider http://localhost:3000/ || exit 1\n--> 2f84348548a1\n[2/2] STEP 17/21: USER 1001\n--> 08abd9c36adb\n[2/2] STEP 18/21: ENTRYPOINT [\"/docker-entrypoint.sh\"]\n--> ebd89f45dd03\n[2/2] STEP 19/21: CMD [\"npx\",\"tsx\",\"server/index.ts\"]\n--> 0136997559ec\n[2/2] STEP 20/21: ENV \"OPENSHIFT_BUILD_NAME\"=\"droppy-5\" \"OPENSHIFT_BUILD_NAMESPACE\"=\"droppy\"\n--> 85cb9aa1f892\n[2/2] STEP 21/21: LABEL \"io.openshift.build.name\"=\"droppy-5\" \"io.openshift.build.namespace\"=\"droppy\"\n[2/2] COMMIT temp.builder.openshift.io/droppy/droppy-5:3616f90f\n--> 5ca93fca033c\nSuccessfully tagged temp.builder.openshift.io/droppy/droppy-5:3616f90f\n5ca93fca033c25d5d5b7e66c153d06fdf888fa20c4d2c860cb9aa5ffccccfe15\nPushing image image-registry.openshift-image-registry.svc:5000/droppy/droppy:latest ...\nGetting image source signatures\nCopying blob sha256:72199feb40fb1a3e62e278fb4f4a5e0cd671a023c608da7cfeef7a6b04a33c82\nCopying blob sha256:ad6d96c196e3198e14ea37df8bba4f54bf92fb525eb65e49fa4027c7dee13f80\nCopying blob sha256:589002ba0eaed121a1dbf42f6648f29e5be55d5c8a6ee0f8eaa0285cc21ac153\nCopying blob sha256:eb87f4721c91769ed5206f34a9ab6ec98fc1d5235c12c2fc956665b1155e9ecb\nCopying blob sha256:e31b2016552274339ed88ed4a438d78bf37e0f6bdf328d02207b2a598c1ef86d\nCopying blob sha256:e13927f66003bfa5be666c6ec95a255f05214739eaacc5f9d16a5e89c87a6cc2\nCopying blob sha256:5de239f9e75dc70b285c1366644280d83fdc05bdbc40d387862a3c48b65435f6\nCopying blob sha256:c8a55521cd763dddd7fa117c8eafa379ca625bcfc7e0fdeb64a6a3a2f102d0df\nCopying blob sha256:c01d31a36abbc207d6cb691dc3614bb5244635e5f1ab71a88219aaaa2dd7cc70\nCopying blob sha256:46cdb404887f9bf25e12cc9cc6459d9bf4ea5161006fe49252f4f1e7ef27e935\nCopying blob sha256:16d0c7358056edbea2ea5c11cce9d085e362c362d222044882073fb523922a22\nCopying blob sha256:c59203d738e6919b570d671f45b6565639aa177b0f7177a60d1b584cfc95eb94","elapsedTimeSeconds":553,"totalLines":464,"timeoutMs":600000},"toolUseID":"bash-progress-551","parentToolUseID":"toolu_011Km2rctiVMWLzAG1qEiTSR","uuid":"027abc52-cb56-4b06-9868-1dc16a16109c","timestamp":"2026-02-06T09:12:36.008Z"} {"parentUuid":"027abc52-cb56-4b06-9868-1dc16a16109c","isSidechain":false,"userType":"external","cwd":"/home/josie/development/personal/droppy","sessionId":"e8fdd77a-647b-4ef8-bc1e-bcf8df780f25","version":"2.1.32","gitBranch":"HEAD","slug":"serene-whistling-wigderson","type":"progress","data":{"type":"bash_progress","output":"Copying blob sha256:c59203d738e6919b570d671f45b6565639aa177b0f7177a60d1b584cfc95eb94\nCopying config sha256:5ca93fca033c25d5d5b7e66c153d06fdf888fa20c4d2c860cb9aa5ffccccfe15\nWriting manifest to image destination\nSuccessfully pushed image-registry.openshift-image-registry.svc:5000/droppy/droppy@sha256:773cdecd1b771d28063d813737c4ad9e2a94822a2674cb12f6bfb8a4c072fb76\nPush successful","fullOutput":"(103/124) Installing gdbm (1.26-r0)\n(104/124) Installing mpdecimal (4.0.1-r0)\n(105/124) Installing ncurses-terminfo-base (6.5_p20251123-r0)\n(106/124) Installing libncursesw (6.5_p20251123-r0)\n(107/124) Installing libpanelw (6.5_p20251123-r0)\n(108/124) Installing readline (8.3.1-r0)\n(109/124) Installing sqlite-libs (3.51.2-r0)\n(110/124) Installing python3 (3.12.12-r0)\n(111/124) Installing python3-pycache-pyc0 (3.12.12-r0)\n(112/124) Installing pyc (3.12.12-r0)\n(113/124) Installing py3-setuptools-pyc (80.9.0-r2)\n(114/124) Installing py3-pip-pyc (25.1.1-r1)\n(115/124) Installing py3-packaging-pyc (25.0-r0)\n(116/124) Installing python3-pyc (3.12.12-r0)\n(117/124) Installing py3-parsing (3.2.5-r0)\n(118/124) Installing py3-parsing-pyc (3.2.5-r0)\n(119/124) Installing py3-packaging (25.0-r0)\n(120/124) Installing py3-setuptools (80.9.0-r2)\n(121/124) Installing py3-pip (25.1.1-r1)\n(122/124) Installing libunistring (1.4.1-r0)\n(123/124) Installing libidn2 (2.3.8-r0)\n(124/124) Installing wget (1.25.0-r2)\nExecuting busybox-1.37.0-r30.trigger\nExecuting glib-2.86.3-r0.trigger\nOK: 193.4 MiB in 142 packages\nCollecting yt-dlp\n Downloading yt_dlp-2026.2.4-py3-none-any.whl.metadata (182 kB)\nDownloading yt_dlp-2026.2.4-py3-none-any.whl (3.3 MB)\n ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.3/3.3 MB 75.8 MB/s eta 0:00:00\nInstalling collected packages: yt-dlp\nSuccessfully installed yt-dlp-2026.2.4\nWARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager, possibly rendering your system unusable. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv. Use the --root-user-action option if you know what you are doing and want to suppress this warning.\n--> c49379ab080d\n[2/2] STEP 4/21: COPY package*.json ./\n--> 5db66830d8b6\n[2/2] STEP 5/21: RUN npm install --omit=dev\nnpm warn deprecated multer@1.4.5-lts.2: Multer 1.x is impacted by a number of vulnerabilities, which have been patched in 2.x. You should upgrade to the latest 2.x version.\nadded 190 packages, and audited 191 packages in 1m\n45 packages are looking for funding\n run `npm fund` for details\nfound 0 vulnerabilities\nnpm notice\nnpm notice New major version of npm available! 10.8.2 -> 11.9.0\nnpm notice Changelog: https://github.com/npm/cli/releases/tag/v11.9.0\nnpm notice To update run: npm install -g npm@11.9.0\nnpm notice\n--> 057f5dfc9cb9\n[2/2] STEP 6/21: COPY --from=builder /app/build ./build\n--> 9acaee727281\n[2/2] STEP 7/21: COPY server ./server\n--> b41576c798ca\n[2/2] STEP 8/21: RUN mkdir -p /app/uploads && chmod -R 777 /app/uploads\n--> 1c65570d7777\n[2/2] STEP 9/21: COPY openshift/docker-entrypoint-ocp.sh /docker-entrypoint.sh\n--> 6872207b397a\n[2/2] STEP 10/21: RUN chmod +x /docker-entrypoint.sh\n--> 76834d84ad55\n[2/2] STEP 11/21: ENV NODE_ENV=production\n--> 30e1361330a3\n[2/2] STEP 12/21: ENV PORT=3000\n--> f04f2d0057a7\n[2/2] STEP 13/21: ENV HOST=0.0.0.0\n--> d8379d8eb557\n[2/2] STEP 14/21: EXPOSE 3000\n--> fe026e866e53\n[2/2] STEP 15/21: VOLUME [\"/app/uploads\"]\n--> ba6dd5f270a4\n[2/2] STEP 16/21: HEALTHCHECK --interval=30s --timeout=10s --start-period=10s --retries=3 CMD wget -q --spider http://localhost:3000/ || exit 1\n--> 2f84348548a1\n[2/2] STEP 17/21: USER 1001\n--> 08abd9c36adb\n[2/2] STEP 18/21: ENTRYPOINT [\"/docker-entrypoint.sh\"]\n--> ebd89f45dd03\n[2/2] STEP 19/21: CMD [\"npx\",\"tsx\",\"server/index.ts\"]\n--> 0136997559ec\n[2/2] STEP 20/21: ENV \"OPENSHIFT_BUILD_NAME\"=\"droppy-5\" \"OPENSHIFT_BUILD_NAMESPACE\"=\"droppy\"\n--> 85cb9aa1f892\n[2/2] STEP 21/21: LABEL \"io.openshift.build.name\"=\"droppy-5\" \"io.openshift.build.namespace\"=\"droppy\"\n[2/2] COMMIT temp.builder.openshift.io/droppy/droppy-5:3616f90f\n--> 5ca93fca033c\nSuccessfully tagged temp.builder.openshift.io/droppy/droppy-5:3616f90f\n5ca93fca033c25d5d5b7e66c153d06fdf888fa20c4d2c860cb9aa5ffccccfe15\nPushing image image-registry.openshift-image-registry.svc:5000/droppy/droppy:latest ...\nGetting image source signatures\nCopying blob sha256:72199feb40fb1a3e62e278fb4f4a5e0cd671a023c608da7cfeef7a6b04a33c82\nCopying blob sha256:ad6d96c196e3198e14ea37df8bba4f54bf92fb525eb65e49fa4027c7dee13f80\nCopying blob sha256:589002ba0eaed121a1dbf42f6648f29e5be55d5c8a6ee0f8eaa0285cc21ac153\nCopying blob sha256:eb87f4721c91769ed5206f34a9ab6ec98fc1d5235c12c2fc956665b1155e9ecb\nCopying blob sha256:e31b2016552274339ed88ed4a438d78bf37e0f6bdf328d02207b2a598c1ef86d\nCopying blob sha256:e13927f66003bfa5be666c6ec95a255f05214739eaacc5f9d16a5e89c87a6cc2\nCopying blob sha256:5de239f9e75dc70b285c1366644280d83fdc05bdbc40d387862a3c48b65435f6\nCopying blob sha256:c8a55521cd763dddd7fa117c8eafa379ca625bcfc7e0fdeb64a6a3a2f102d0df\nCopying blob sha256:c01d31a36abbc207d6cb691dc3614bb5244635e5f1ab71a88219aaaa2dd7cc70\nCopying blob sha256:46cdb404887f9bf25e12cc9cc6459d9bf4ea5161006fe49252f4f1e7ef27e935\nCopying blob sha256:16d0c7358056edbea2ea5c11cce9d085e362c362d222044882073fb523922a22\nCopying blob sha256:c59203d738e6919b570d671f45b6565639aa177b0f7177a60d1b584cfc95eb94\nCopying config sha256:5ca93fca033c25d5d5b7e66c153d06fdf888fa20c4d2c860cb9aa5ffccccfe15\nWriting manifest to image destination\nSuccessfully pushed image-registry.openshift-image-registry.svc:5000/droppy/droppy@sha256:773cdecd1b771d28063d813737c4ad9e2a94822a2674cb12f6bfb8a4c072fb76\nPush successful","elapsedTimeSeconds":554,"totalLines":468,"timeoutMs":600000},"toolUseID":"bash-progress-552","parentToolUseID":"toolu_011Km2rctiVMWLzAG1qEiTSR","uuid":"fdbc9a2a-109c-41a1-b16b-33fa10901a99","timestamp":"2026-02-06T09:12:37.009Z"} {"parentUuid":"fdbc9a2a-109c-41a1-b16b-33fa10901a99","isSidechain":false,"userType":"external","cwd":"/home/josie/development/personal/droppy","sessionId":"e8fdd77a-647b-4ef8-bc1e-bcf8df780f25","version":"2.1.32","gitBranch":"HEAD","slug":"serene-whistling-wigderson","type":"progress","data":{"type":"hook_progress","hookEvent":"PostToolUse","hookName":"PostToolUse:Bash","command":"python3 ${CLAUDE_PLUGIN_ROOT}/hooks/posttooluse.py"},"parentToolUseID":"toolu_011Km2rctiVMWLzAG1qEiTSR","toolUseID":"toolu_011Km2rctiVMWLzAG1qEiTSR","timestamp":"2026-02-06T09:12:37.459Z","uuid":"07b2ae81-8e3d-48fa-938a-ea5121fca1cc"} {"parentUuid":"046e9c83-e554-4d95-a3d4-5fd3b9e05e3a","isSidechain":false,"userType":"external","cwd":"/home/josie/development/personal/droppy","sessionId":"e8fdd77a-647b-4ef8-bc1e-bcf8df780f25","version":"2.1.32","gitBranch":"HEAD","slug":"serene-whistling-wigderson","type":"user","message":{"role":"user","content":[{"tool_use_id":"toolu_011Km2rctiVMWLzAG1qEiTSR","type":"tool_result","content":"Uploading directory \"/home/josie/development/personal/droppy\" as binary input for the build ...\n\nUploading finished\nbuild.build.openshift.io/droppy-5 started\nReceiving source from STDIN as archive ...\ntime=\"2026-02-06T09:03:30Z\" level=info msg=\"Not using native diff for overlay, this may cause degraded performance for building images: kernel has CONFIG_OVERLAY_FS_REDIRECT_DIR enabled\"\nI0206 09:03:30.207089 1 defaults.go:112] Defaulting to storage driver \"overlay\" with options [mountopt=metacopy=on].\nCaching blobs under \"/var/cache/blobs\".\n\nPulling image node:20-alpine ...\nResolving \"node\" using unqualified-search registries (/etc/containers/registries.conf)\nTrying to pull registry.redhat.io/node:20-alpine...\nTrying to pull registry.access.redhat.com/node:20-alpine...\nTrying to pull quay.io/node:20-alpine...\nTrying to pull docker.io/library/node:20-alpine...\nGetting image source signatures\nCopying blob sha256:e31b2016552274339ed88ed4a438d78bf37e0f6bdf328d02207b2a598c1ef86d\nCopying blob sha256:ad6d96c196e3198e14ea37df8bba4f54bf92fb525eb65e49fa4027c7dee13f80\nCopying blob sha256:589002ba0eaed121a1dbf42f6648f29e5be55d5c8a6ee0f8eaa0285cc21ac153\nCopying blob sha256:eb87f4721c91769ed5206f34a9ab6ec98fc1d5235c12c2fc956665b1155e9ecb\nCopying config sha256:458b0b7c1c6027b37124839bf527a5c54936ab27a9c9643051a3d801c4560a6c\nWriting manifest to image destination\nAdding transient rw bind mount for /run/secrets/rhsm\n[1/2] STEP 1/7: FROM node:20-alpine AS builder\n[1/2] STEP 2/7: WORKDIR /app\n--> 83ec3f310b2f\n[1/2] STEP 3/7: COPY package*.json ./\n--> 8847ae7199be\n[1/2] STEP 4/7: ENV YOUTUBE_DL_SKIP_PYTHON_CHECK=1\n--> 79c085a076c7\n[1/2] STEP 5/7: RUN npm install\nnpm warn deprecated multer@1.4.5-lts.2: Multer 1.x is impacted by a number of vulnerabilities, which have been patched in 2.x. You should upgrade to the latest 2.x version.\n\nadded 272 packages, and audited 273 packages in 1m\n\n55 packages are looking for funding\n run `npm fund` for details\n\n7 vulnerabilities (3 low, 4 moderate)\n\nTo address all issues (including breaking changes), run:\n npm audit fix --force\n\nRun `npm audit` for details.\nnpm notice\nnpm notice New major version of npm available! 10.8.2 -> 11.9.0\nnpm notice Changelog: https://github.com/npm/cli/releases/tag/v11.9.0\nnpm notice To update run: npm install -g npm@11.9.0\nnpm notice\n--> 8597f50e271e\n[1/2] STEP 6/7: COPY . .\n--> d3d66a67ce36\n[1/2] STEP 7/7: RUN npm run build\n\n> droppy@1.0.0 build\n> vite build\n\n▲ [WARNING] Cannot find base config file \"./.svelte-kit/tsconfig.json\" [tsconfig.json]\n\n tsconfig.json:2:12:\n 2 │ \"extends\": \"./.svelte-kit/tsconfig.json\",\n ╵ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nvite v5.4.21 building SSR bundle for production...\ntransforming...\n9:06:40 AM [vite-plugin-svelte] src/routes/+page.svelte:433:8 Buttons and links should either contain text or have an `aria-label`, `aria-labelledby` or `title` attribute\nhttps://svelte.dev/e/a11y_consider_explicit_label\n431: \n432: {/if}\n433: \n9:06:45 AM [vite-plugin-svelte] src/lib/components/DropZone.svelte:180:1 Visible, non-interactive elements with a click event must be accompanied by a keyboard event handler. Consider whether an interactive element such as `\n9:06:46 AM [vite-plugin-svelte] src/lib/components/ContentDisplay.svelte:884:1 Unused CSS selector \".player-container iframe\"\nhttps://svelte.dev/e/css_unused_selector\n882: }\n883: \n884: .player-container iframe {\n ^\n885: display: block;\n886: width: 100%;\n9:06:47 AM [vite-plugin-svelte] src/lib/components/MediaPlayer.svelte:28:15 This reference only captures the initial value of `mimeType`. Did you mean to reference it inside a closure instead?\nhttps://svelte.dev/e/state_referenced_locally\n26: let unsubVolume: (() => void) | null = null;\n27: \n28: const isHLS = mimeType === 'application/x-mpegURL' || src.includes('.m3u8');\n ^\n29: \n30: // Category labels for skip notification\n9:06:47 AM [vite-plugin-svelte] src/lib/components/MediaPlayer.svelte:28:55 This reference only captures the initial value of `src`. Did you mean to reference it inside a closure instead?\nhttps://svelte.dev/e/state_referenced_locally\n26: let unsubVolume: (() => void) | null = null;\n27: \n28: const isHLS = mimeType === 'application/x-mpegURL' || src.includes('.m3u8');\n ^\n29: \n30: // Category labels for skip notification\n9:06:47 AM [vite-plugin-svelte] src/lib/components/MediaPlayer.svelte:291:2 `
\n291: (null);\n25: \n9:06:48 AM [vite-plugin-svelte] src/lib/components/SpotifyPlayer.svelte:26:23 This reference only captures the initial value of `audioUrl`. Did you mean to reference it inside a closure instead?\nhttps://svelte.dev/e/state_referenced_locally\n24: \n25: // Audio mode - when we have audioUrl from YouTube search\n26: const isAudioMode = !!audioUrl;\n ^\n27: \n28: function handleAudioEnabled() {\n\"Socket\" is imported from external module \"socket.io-client\" but never used in \"src/lib/socket.ts\".\n✓ 205 modules transformed.\nrendering chunks...\nvite v5.4.21 building for production...\ntransforming...\n9:07:08 AM [vite-plugin-svelte] src/routes/+page.svelte:433:8 Buttons and links should either contain text or have an `aria-label`, `aria-labelledby` or `title` attribute\nhttps://svelte.dev/e/a11y_consider_explicit_label\n431: \n432: {/if}\n433: \n9:07:13 AM [vite-plugin-svelte] src/lib/components/DropZone.svelte:180:1 Visible, non-interactive elements with a click event must be accompanied by a keyboard event handler. Consider whether an interactive element such as `\n9:07:15 AM [vite-plugin-svelte] src/lib/components/ContentDisplay.svelte:884:1 Unused CSS selector \".player-container iframe\"\nhttps://svelte.dev/e/css_unused_selector\n882: }\n883: \n884: .player-container iframe {\n ^\n885: display: block;\n886: width: 100%;\n9:07:22 AM [vite-plugin-svelte] src/lib/components/MediaPlayer.svelte:28:15 This reference only captures the initial value of `mimeType`. Did you mean to reference it inside a closure instead?\nhttps://svelte.dev/e/state_referenced_locally\n26: let unsubVolume: (() => void) | null = null;\n27: \n28: const isHLS = mimeType === 'application/x-mpegURL' || src.includes('.m3u8');\n ^\n29: \n30: // Category labels for skip notification\n9:07:22 AM [vite-plugin-svelte] src/lib/components/MediaPlayer.svelte:28:55 This reference only captures the initial value of `src`. Did you mean to reference it inside a closure instead?\nhttps://svelte.dev/e/state_referenced_locally\n26: let unsubVolume: (() => void) | null = null;\n27: \n28: const isHLS = mimeType === 'application/x-mpegURL' || src.includes('.m3u8');\n ^\n29: \n30: // Category labels for skip notification\n9:07:22 AM [vite-plugin-svelte] src/lib/components/MediaPlayer.svelte:291:2 `
\n291: (null);\n25: \n9:07:23 AM [vite-plugin-svelte] src/lib/components/SpotifyPlayer.svelte:26:23 This reference only captures the initial value of `audioUrl`. Did you mean to reference it inside a closure instead?\nhttps://svelte.dev/e/state_referenced_locally\n24: \n25: // Audio mode - when we have audioUrl from YouTube search\n26: const isAudioMode = !!audioUrl;\n ^\n27: \n28: function handleAudioEnabled() {\n✓ 274 modules transformed.\nrendering chunks...\ncomputing gzip size...\n.svelte-kit/output/client/_app/version.json 0.03 kB │ gzip: 0.05 kB\n.svelte-kit/output/client/.vite/manifest.json 4.25 kB │ gzip: 0.74 kB\n.svelte-kit/output/client/_app/immutable/assets/2.C7ImSg_h.css 19.65 kB │ gzip: 3.60 kB\n.svelte-kit/output/client/_app/immutable/assets/3.Ch-7eOMS.css 35.67 kB │ gzip: 6.63 kB\n.svelte-kit/output/client/_app/immutable/entry/start.rTdHAAOZ.js 0.08 kB │ gzip: 0.09 kB\n.svelte-kit/output/client/_app/immutable/nodes/0.CPKi85q5.js 0.47 kB │ gzip: 0.33 kB\n.svelte-kit/output/client/_app/immutable/chunks/CItLawJb.js 1.01 kB │ gzip: 0.59 kB\n.svelte-kit/output/client/_app/immutable/nodes/1.CUnDW3CC.js 1.04 kB │ gzip: 0.61 kB\n.svelte-kit/output/client/_app/immutable/chunks/Do_a44v5.js 1.46 kB │ gzip: 0.81 kB\n.svelte-kit/output/client/_app/immutable/chunks/dhnlhfTo.js 1.46 kB │ gzip: 0.76 kB\n.svelte-kit/output/client/_app/immutable/chunks/C1d_kAVK.js 2.24 kB │ gzip: 0.99 kB\n.svelte-kit/output/client/_app/immutable/chunks/BF0_OrDf.js 2.34 kB │ gzip: 1.27 kB\n.svelte-kit/output/client/_app/immutable/entry/app.BIVsx7m1.js 5.01 kB │ gzip: 2.24 kB\n.svelte-kit/output/client/_app/immutable/chunks/C9G0oC2U.js 7.85 kB │ gzip: 3.29 kB\n.svelte-kit/output/client/_app/immutable/chunks/Dd1EaQlc.js 23.16 kB │ gzip: 9.27 kB\n.svelte-kit/output/client/_app/immutable/nodes/2.7mm-KTls.js 26.23 kB │ gzip: 9.18 kB\n.svelte-kit/output/client/_app/immutable/chunks/BskITKLh.js 27.48 kB │ gzip: 10.62 kB\n.svelte-kit/output/client/_app/immutable/chunks/DWy77o56.js 52.47 kB │ gzip: 17.20 kB\n.svelte-kit/output/client/_app/immutable/chunks/ywO_6aio.js 523.86 kB │ gzip: 162.07 kB\n.svelte-kit/output/client/_app/immutable/nodes/3.AInW-U_N.js 545.04 kB │ gzip: 146.20 kB\n\n(!) Some chunks are larger than 500 kB after minification. Consider:\n- Using dynamic import() to code-split the application\n- Use build.rollupOptions.output.manualChunks to improve chunking: https://rollupjs.org/configuration-options/#output-manualchunks\n- Adjust chunk size limit for this warning via build.chunkSizeWarningLimit.\n✓ built in 1m\n\n\u001b[1;31m[404] GET /favicon.png\u001b[0m\n.svelte-kit/output/server/.vite/manifest.json 3.60 kB\n.svelte-kit/output/server/_app/immutable/assets/_page.k7sLrPrg.css 19.52 kB\n.svelte-kit/output/server/_app/immutable/assets/_page.BixNHUBI.css 35.13 kB\n.svelte-kit/output/server/chunks/false.js 0.05 kB\n.svelte-kit/output/server/entries/pages/_layout.ts.js 0.07 kB\n.svelte-kit/output/server/entries/fallbacks/layout.svelte.js 0.17 kB\n.svelte-kit/output/server/internal.js 0.33 kB\n.svelte-kit/output/server/chunks/environment.js 0.62 kB\n.svelte-kit/output/server/chunks/content.js 1.14 kB\n.svelte-kit/output/server/chunks/utils.js 1.15 kB\n.svelte-kit/output/server/entries/fallbacks/error.svelte.js 1.36 kB\n.svelte-kit/output/server/chunks/index.js 2.66 kB\n.svelte-kit/output/server/chunks/exports.js 5.54 kB\n.svelte-kit/output/server/remote-entry.js 19.00 kB\n.svelte-kit/output/server/entries/pages/_page.svelte.js 23.02 kB\n.svelte-kit/output/server/chunks/shared.js 25.96 kB\n.svelte-kit/output/server/chunks/index2.js 28.63 kB\n.svelte-kit/output/server/chunks/internal.js 29.15 kB\n.svelte-kit/output/server/entries/pages/display/_page.svelte.js 40.52 kB\n.svelte-kit/output/server/chunks/context.js 54.49 kB\n.svelte-kit/output/server/index.js 120.35 kB\n✓ built in 1m 31s\n\nRun npm run preview to preview your production build locally.\n 404 /favicon.png (linked from /)\n\n> Using @sveltejs/adapter-static\nOverwriting build/index.html with fallback page. Consider using a different name for the fallback.\n Wrote site to \"build\"\n ✔ done\n--> b4214355d77b\n[2/2] STEP 1/21: FROM node:20-alpine\n[2/2] STEP 2/21: WORKDIR /app\n--> Using cache 83ec3f310b2f6f05f0572da5cb7b0dd7022d9054642fedccde829599dcdcac7d\n--> 83ec3f310b2f\n[2/2] STEP 3/21: RUN apk add --no-cache python3 py3-pip ffmpeg wget && pip3 install --break-system-packages --no-cache-dir yt-dlp\n( 1/124) Installing libSvtAv1Enc (3.1.2-r0)\n( 2/124) Installing aom-libs (3.13.1-r1)\n( 3/124) Installing libxau (1.0.12-r0)\n( 4/124) Installing libmd (1.1.0-r0)\n( 5/124) Installing libbsd (0.12.2-r0)\n( 6/124) Installing libxdmcp (1.1.5-r1)\n( 7/124) Installing libxcb (1.17.0-r1)\n( 8/124) Installing libx11 (1.8.12-r1)\n( 9/124) Installing hwdata-pci (0.401-r0)\n( 10/124) Installing libpciaccess (0.18.1-r1)\n( 11/124) Installing libdrm (2.4.131-r0)\n( 12/124) Installing libxext (1.3.6-r2)\n( 13/124) Installing libxfixes (6.0.2-r0)\n( 14/124) Installing libffi (3.5.2-r0)\n( 15/124) Installing wayland-libs-client (1.24.0-r0)\n( 16/124) Installing libva (2.22.0-r1)\n( 17/124) Installing libvdpau (1.5-r4)\n( 18/124) Installing libvpl (2.15.0-r1)\n( 19/124) Installing ffmpeg-libavutil (8.0.1-r1)\n( 20/124) Installing libdav1d (1.5.2-r0)\n( 21/124) Installing brotli-libs (1.2.0-r0)\n( 22/124) Installing libhwy (1.3.0-r0)\n( 23/124) Installing lcms2 (2.17-r0)\n( 24/124) Installing libjxl (0.11.1-r3)\n( 25/124) Installing lame-libs (3.100-r5)\n( 26/124) Installing opus (1.5.2-r1)\n( 27/124) Installing rav1e-libs (0.8.1-r0)\n( 28/124) Installing spirv-tools (1.4.321.0-r1)\n( 29/124) Installing glslang-libs (1.4.321.0-r0)\n( 30/124) Installing shaderc (2025.3-r0)\n( 31/124) Installing libgomp (15.2.0-r2)\n( 32/124) Installing soxr (0.1.3-r7)\n( 33/124) Installing ffmpeg-libswresample (8.0.1-r1)\n( 34/124) Installing libogg (1.3.6-r0)\n( 35/124) Installing libtheora (1.2.0-r0)\n( 36/124) Installing libvorbis (1.3.7-r2)\n( 37/124) Installing libvpx (1.15.2-r1)\n( 38/124) Installing libsharpyuv (1.6.0-r0)\n( 39/124) Installing libwebp (1.6.0-r0)\n( 40/124) Installing libwebpmux (1.6.0-r0)\n( 41/124) Installing x264-libs (0.164.3108-r1)\n( 42/124) Installing numactl (2.0.18-r0)\n( 43/124) Installing x265-libs (4.1-r0)\n( 44/124) Installing xvidcore (1.3.7-r2)\n( 45/124) Installing ffmpeg-libavcodec (8.0.1-r1)\n( 46/124) Installing alsa-lib (1.2.14-r2)\n( 47/124) Installing libexpat (2.7.4-r0)\n( 48/124) Installing libbz2 (1.0.8-r6)\n( 49/124) Installing libpng (1.6.54-r0)\n( 50/124) Installing freetype (2.14.1-r0)\n( 51/124) Installing fontconfig (2.17.1-r0)\n( 52/124) Installing fribidi (1.0.16-r2)\n( 53/124) Installing libintl (0.24.1-r1)\n( 54/124) Installing libeconf (0.8.3-r0)\n( 55/124) Installing libblkid (2.41.2-r0)\n( 56/124) Installing libmount (2.41.2-r0)\n( 57/124) Installing pcre2 (10.47-r0)\n( 58/124) Installing glib (2.86.3-r0)\n( 59/124) Installing graphite2 (1.3.14-r6)\n( 60/124) Installing harfbuzz (12.2.0-r0)\n( 61/124) Installing libunibreak (6.1-r0)\n( 62/124) Installing libass (0.17.4-r0)\n( 63/124) Installing libudfread (1.2.0-r0)\n( 64/124) Installing libbluray (1.4.0-r0)\n( 65/124) Installing mpg123-libs (1.33.3-r0)\n( 66/124) Installing libopenmpt (0.8.3-r0)\n( 67/124) Installing cjson (1.7.19-r1)\n( 68/124) Installing mbedtls (3.6.5-r0)\n( 69/124) Installing librist (0.2.10-r1)\n( 70/124) Installing libsrt (1.5.3-r1)\n( 71/124) Installing libssh (0.11.3-r0)\n( 72/124) Installing xz-libs (5.8.2-r0)\n( 73/124) Installing libxml2 (2.13.9-r0)\n( 74/124) Installing libsodium (1.0.20-r1)\n( 75/124) Installing libzmq (4.3.5-r2)\n( 76/124) Installing ffmpeg-libavformat (8.0.1-r1)\n( 77/124) Installing serd-libs (0.32.4-r0)\n( 78/124) Installing zix-libs (0.6.2-r0)\n( 79/124) Installing sord-libs (0.16.18-r0)\n( 80/124) Installing sratom (0.6.18-r0)\n( 81/124) Installing lilv-libs (0.24.26-r0)\n( 82/124) Installing libdovi (3.3.2-r0)\n( 83/124) Installing vulkan-loader (1.4.321.0-r0)\n( 84/124) Installing libplacebo (7.351.0-r0)\n( 85/124) Installing ffmpeg-libswscale (8.0.1-r1)\n( 86/124) Installing vidstab (1.1.1-r0)\n( 87/124) Installing zimg (3.0.6-r0)\n( 88/124) Installing ffmpeg-libavfilter (8.0.1-r1)\n( 89/124) Installing libasyncns (0.8-r4)\n( 90/124) Installing dbus-libs (1.16.2-r1)\n( 91/124) Installing libltdl (2.5.4-r2)\n( 92/124) Installing orc (0.4.41-r0)\n( 93/124) Installing libflac (1.4.3-r2)\n( 94/124) Installing libsndfile (1.2.2-r2)\n( 95/124) Installing speexdsp (1.2.1-r2)\n( 96/124) Installing tdb-libs (1.4.14-r0)\n( 97/124) Installing libpulse (17.0-r5)\n( 98/124) Installing libjpeg-turbo (3.1.2-r0)\n( 99/124) Installing json-c (0.18-r1)\n(100/124) Installing v4l-utils-libs (1.32.0-r0)\n(101/124) Installing ffmpeg-libavdevice (8.0.1-r1)\n(102/124) Installing ffmpeg (8.0.1-r1)\n(103/124) Installing gdbm (1.26-r0)\n(104/124) Installing mpdecimal (4.0.1-r0)\n(105/124) Installing ncurses-terminfo-base (6.5_p20251123-r0)\n(106/124) Installing libncursesw (6.5_p20251123-r0)\n(107/124) Installing libpanelw (6.5_p20251123-r0)\n(108/124) Installing readline (8.3.1-r0)\n(109/124) Installing sqlite-libs (3.51.2-r0)\n(110/124) Installing python3 (3.12.12-r0)\n(111/124) Installing python3-pycache-pyc0 (3.12.12-r0)\n(112/124) Installing pyc (3.12.12-r0)\n(113/124) Installing py3-setuptools-pyc (80.9.0-r2)\n(114/124) Installing py3-pip-pyc (25.1.1-r1)\n(115/124) Installing py3-packaging-pyc (25.0-r0)\n(116/124) Installing python3-pyc (3.12.12-r0)\n(117/124) Installing py3-parsing (3.2.5-r0)\n(118/124) Installing py3-parsing-pyc (3.2.5-r0)\n(119/124) Installing py3-packaging (25.0-r0)\n(120/124) Installing py3-setuptools (80.9.0-r2)\n(121/124) Installing py3-pip (25.1.1-r1)\n(122/124) Installing libunistring (1.4.1-r0)\n(123/124) Installing libidn2 (2.3.8-r0)\n(124/124) Installing wget (1.25.0-r2)\nExecuting busybox-1.37.0-r30.trigger\nExecuting glib-2.86.3-r0.trigger\nOK: 193.4 MiB in 142 packages\nCollecting yt-dlp\n Downloading yt_dlp-2026.2.4-py3-none-any.whl.metadata (182 kB)\nDownloading yt_dlp-2026.2.4-py3-none-any.whl (3.3 MB)\n ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.3/3.3 MB 75.8 MB/s eta 0:00:00\nInstalling collected packages: yt-dlp\nSuccessfully installed yt-dlp-2026.2.4\nWARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager, possibly rendering your system unusable. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv. Use the --root-user-action option if you know what you are doing and want to suppress this warning.\n--> c49379ab080d\n[2/2] STEP 4/21: COPY package*.json ./\n--> 5db66830d8b6\n[2/2] STEP 5/21: RUN npm install --omit=dev\nnpm warn deprecated multer@1.4.5-lts.2: Multer 1.x is impacted by a number of vulnerabilities, which have been patched in 2.x. You should upgrade to the latest 2.x version.\n\nadded 190 packages, and audited 191 packages in 1m\n\n45 packages are looking for funding\n run `npm fund` for details\n\nfound 0 vulnerabilities\nnpm notice\nnpm notice New major version of npm available! 10.8.2 -> 11.9.0\nnpm notice Changelog: https://github.com/npm/cli/releases/tag/v11.9.0\nnpm notice To update run: npm install -g npm@11.9.0\nnpm notice\n--> 057f5dfc9cb9\n[2/2] STEP 6/21: COPY --from=builder /app/build ./build\n--> 9acaee727281\n[2/2] STEP 7/21: COPY server ./server\n--> b41576c798ca\n[2/2] STEP 8/21: RUN mkdir -p /app/uploads && chmod -R 777 /app/uploads\n--> 1c65570d7777\n[2/2] STEP 9/21: COPY openshift/docker-entrypoint-ocp.sh /docker-entrypoint.sh\n--> 6872207b397a\n[2/2] STEP 10/21: RUN chmod +x /docker-entrypoint.sh\n--> 76834d84ad55\n[2/2] STEP 11/21: ENV NODE_ENV=production\n--> 30e1361330a3\n[2/2] STEP 12/21: ENV PORT=3000\n--> f04f2d0057a7\n[2/2] STEP 13/21: ENV HOST=0.0.0.0\n--> d8379d8eb557\n[2/2] STEP 14/21: EXPOSE 3000\n--> fe026e866e53\n[2/2] STEP 15/21: VOLUME [\"/app/uploads\"]\n--> ba6dd5f270a4\n[2/2] STEP 16/21: HEALTHCHECK --interval=30s --timeout=10s --start-period=10s --retries=3 CMD wget -q --spider http://localhost:3000/ || exit 1\n--> 2f84348548a1\n[2/2] STEP 17/21: USER 1001\n--> 08abd9c36adb\n[2/2] STEP 18/21: ENTRYPOINT [\"/docker-entrypoint.sh\"]\n--> ebd89f45dd03\n[2/2] STEP 19/21: CMD [\"npx\",\"tsx\",\"server/index.ts\"]\n--> 0136997559ec\n[2/2] STEP 20/21: ENV \"OPENSHIFT_BUILD_NAME\"=\"droppy-5\" \"OPENSHIFT_BUILD_NAMESPACE\"=\"droppy\"\n--> 85cb9aa1f892\n[2/2] STEP 21/21: LABEL \"io.openshift.build.name\"=\"droppy-5\" \"io.openshift.build.namespace\"=\"droppy\"\n[2/2] COMMIT temp.builder.openshift.io/droppy/droppy-5:3616f90f\n--> 5ca93fca033c\nSuccessfully tagged temp.builder.openshift.io/droppy/droppy-5:3616f90f\n5ca93fca033c25d5d5b7e66c153d06fdf888fa20c4d2c860cb9aa5ffccccfe15\n\nPushing image image-registry.openshift-image-registry.svc:5000/droppy/droppy:latest ...\nGetting image source signatures\nCopying blob sha256:72199feb40fb1a3e62e278fb4f4a5e0cd671a023c608da7cfeef7a6b04a33c82\nCopying blob sha256:ad6d96c196e3198e14ea37df8bba4f54bf92fb525eb65e49fa4027c7dee13f80\nCopying blob sha256:589002ba0eaed121a1dbf42f6648f29e5be55d5c8a6ee0f8eaa0285cc21ac153\nCopying blob sha256:eb87f4721c91769ed5206f34a9ab6ec98fc1d5235c12c2fc956665b1155e9ecb\nCopying blob sha256:e31b2016552274339ed88ed4a438d78bf37e0f6bdf328d02207b2a598c1ef86d\nCopying blob sha256:e13927f66003bfa5be666c6ec95a255f05214739eaacc5f9d16a5e89c87a6cc2\nCopying blob sha256:5de239f9e75dc70b285c1366644280d83fdc05bdbc40d387862a3c48b65435f6\nCopying blob sha256:c8a55521cd763dddd7fa117c8eafa379ca625bcfc7e0fdeb64a6a3a2f102d0df\nCopying blob sha256:c01d31a36abbc207d6cb691dc3614bb5244635e5f1ab71a88219aaaa2dd7cc70\nCopying blob sha256:46cdb404887f9bf25e12cc9cc6459d9bf4ea5161006fe49252f4f1e7ef27e935\nCopying blob sha256:16d0c7358056edbea2ea5c11cce9d085e362c362d222044882073fb523922a22\nCopying blob sha256:c59203d738e6919b570d671f45b6565639aa177b0f7177a60d1b584cfc95eb94\nCopying config sha256:5ca93fca033c25d5d5b7e66c153d06fdf888fa20c4d2c860cb9aa5ffccccfe15\nWriting manifest to image destination\nSuccessfully pushed image-registry.openshift-image-registry.svc:5000/droppy/droppy@sha256:773cdecd1b771d28063d813737c4ad9e2a94822a2674cb12f6bfb8a4c072fb76\nPush successful","is_error":false}]},"uuid":"d3837185-be5f-4923-83b3-549ae4e08267","timestamp":"2026-02-06T09:12:37.458Z","toolUseResult":{"stdout":"Uploading directory \"/home/josie/development/personal/droppy\" as binary input for the build ...\n\nUploading finished\nbuild.build.openshift.io/droppy-5 started\nReceiving source from STDIN as archive ...\ntime=\"2026-02-06T09:03:30Z\" level=info msg=\"Not using native diff for overlay, this may cause degraded performance for building images: kernel has CONFIG_OVERLAY_FS_REDIRECT_DIR enabled\"\nI0206 09:03:30.207089 1 defaults.go:112] Defaulting to storage driver \"overlay\" with options [mountopt=metacopy=on].\nCaching blobs under \"/var/cache/blobs\".\n\nPulling image node:20-alpine ...\nResolving \"node\" using unqualified-search registries (/etc/containers/registries.conf)\nTrying to pull registry.redhat.io/node:20-alpine...\nTrying to pull registry.access.redhat.com/node:20-alpine...\nTrying to pull quay.io/node:20-alpine...\nTrying to pull docker.io/library/node:20-alpine...\nGetting image source signatures\nCopying blob sha256:e31b2016552274339ed88ed4a438d78bf37e0f6bdf328d02207b2a598c1ef86d\nCopying blob sha256:ad6d96c196e3198e14ea37df8bba4f54bf92fb525eb65e49fa4027c7dee13f80\nCopying blob sha256:589002ba0eaed121a1dbf42f6648f29e5be55d5c8a6ee0f8eaa0285cc21ac153\nCopying blob sha256:eb87f4721c91769ed5206f34a9ab6ec98fc1d5235c12c2fc956665b1155e9ecb\nCopying config sha256:458b0b7c1c6027b37124839bf527a5c54936ab27a9c9643051a3d801c4560a6c\nWriting manifest to image destination\nAdding transient rw bind mount for /run/secrets/rhsm\n[1/2] STEP 1/7: FROM node:20-alpine AS builder\n[1/2] STEP 2/7: WORKDIR /app\n--> 83ec3f310b2f\n[1/2] STEP 3/7: COPY package*.json ./\n--> 8847ae7199be\n[1/2] STEP 4/7: ENV YOUTUBE_DL_SKIP_PYTHON_CHECK=1\n--> 79c085a076c7\n[1/2] STEP 5/7: RUN npm install\nnpm warn deprecated multer@1.4.5-lts.2: Multer 1.x is impacted by a number of vulnerabilities, which have been patched in 2.x. You should upgrade to the latest 2.x version.\n\nadded 272 packages, and audited 273 packages in 1m\n\n55 packages are looking for funding\n run `npm fund` for details\n\n7 vulnerabilities (3 low, 4 moderate)\n\nTo address all issues (including breaking changes), run:\n npm audit fix --force\n\nRun `npm audit` for details.\nnpm notice\nnpm notice New major version of npm available! 10.8.2 -> 11.9.0\nnpm notice Changelog: https://github.com/npm/cli/releases/tag/v11.9.0\nnpm notice To update run: npm install -g npm@11.9.0\nnpm notice\n--> 8597f50e271e\n[1/2] STEP 6/7: COPY . .\n--> d3d66a67ce36\n[1/2] STEP 7/7: RUN npm run build\n\n> droppy@1.0.0 build\n> vite build\n\n▲ [WARNING] Cannot find base config file \"./.svelte-kit/tsconfig.json\" [tsconfig.json]\n\n tsconfig.json:2:12:\n 2 │ \"extends\": \"./.svelte-kit/tsconfig.json\",\n ╵ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nvite v5.4.21 building SSR bundle for production...\ntransforming...\n9:06:40 AM [vite-plugin-svelte] src/routes/+page.svelte:433:8 Buttons and links should either contain text or have an `aria-label`, `aria-labelledby` or `title` attribute\nhttps://svelte.dev/e/a11y_consider_explicit_label\n431: \n432: {/if}\n433: \n9:06:45 AM [vite-plugin-svelte] src/lib/components/DropZone.svelte:180:1 Visible, non-interactive elements with a click event must be accompanied by a keyboard event handler. Consider whether an interactive element such as `\n9:06:46 AM [vite-plugin-svelte] src/lib/components/ContentDisplay.svelte:884:1 Unused CSS selector \".player-container iframe\"\nhttps://svelte.dev/e/css_unused_selector\n882: }\n883: \n884: .player-container iframe {\n ^\n885: display: block;\n886: width: 100%;\n9:06:47 AM [vite-plugin-svelte] src/lib/components/MediaPlayer.svelte:28:15 This reference only captures the initial value of `mimeType`. Did you mean to reference it inside a closure instead?\nhttps://svelte.dev/e/state_referenced_locally\n26: let unsubVolume: (() => void) | null = null;\n27: \n28: const isHLS = mimeType === 'application/x-mpegURL' || src.includes('.m3u8');\n ^\n29: \n30: // Category labels for skip notification\n9:06:47 AM [vite-plugin-svelte] src/lib/components/MediaPlayer.svelte:28:55 This reference only captures the initial value of `src`. Did you mean to reference it inside a closure instead?\nhttps://svelte.dev/e/state_referenced_locally\n26: let unsubVolume: (() => void) | null = null;\n27: \n28: const isHLS = mimeType === 'application/x-mpegURL' || src.includes('.m3u8');\n ^\n29: \n30: // Category labels for skip notification\n9:06:47 AM [vite-plugin-svelte] src/lib/components/MediaPlayer.svelte:291:2 `
\n291: (null);\n25: \n9:06:48 AM [vite-plugin-svelte] src/lib/components/SpotifyPlayer.svelte:26:23 This reference only captures the initial value of `audioUrl`. Did you mean to reference it inside a closure instead?\nhttps://svelte.dev/e/state_referenced_locally\n24: \n25: // Audio mode - when we have audioUrl from YouTube search\n26: const isAudioMode = !!audioUrl;\n ^\n27: \n28: function handleAudioEnabled() {\n\"Socket\" is imported from external module \"socket.io-client\" but never used in \"src/lib/socket.ts\".\n✓ 205 modules transformed.\nrendering chunks...\nvite v5.4.21 building for production...\ntransforming...\n9:07:08 AM [vite-plugin-svelte] src/routes/+page.svelte:433:8 Buttons and links should either contain text or have an `aria-label`, `aria-labelledby` or `title` attribute\nhttps://svelte.dev/e/a11y_consider_explicit_label\n431: \n432: {/if}\n433: \n9:07:13 AM [vite-plugin-svelte] src/lib/components/DropZone.svelte:180:1 Visible, non-interactive elements with a click event must be accompanied by a keyboard event handler. Consider whether an interactive element such as `\n9:07:15 AM [vite-plugin-svelte] src/lib/components/ContentDisplay.svelte:884:1 Unused CSS selector \".player-container iframe\"\nhttps://svelte.dev/e/css_unused_selector\n882: }\n883: \n884: .player-container iframe {\n ^\n885: display: block;\n886: width: 100%;\n9:07:22 AM [vite-plugin-svelte] src/lib/components/MediaPlayer.svelte:28:15 This reference only captures the initial value of `mimeType`. Did you mean to reference it inside a closure instead?\nhttps://svelte.dev/e/state_referenced_locally\n26: let unsubVolume: (() => void) | null = null;\n27: \n28: const isHLS = mimeType === 'application/x-mpegURL' || src.includes('.m3u8');\n ^\n29: \n30: // Category labels for skip notification\n9:07:22 AM [vite-plugin-svelte] src/lib/components/MediaPlayer.svelte:28:55 This reference only captures the initial value of `src`. Did you mean to reference it inside a closure instead?\nhttps://svelte.dev/e/state_referenced_locally\n26: let unsubVolume: (() => void) | null = null;\n27: \n28: const isHLS = mimeType === 'application/x-mpegURL' || src.includes('.m3u8');\n ^\n29: \n30: // Category labels for skip notification\n9:07:22 AM [vite-plugin-svelte] src/lib/components/MediaPlayer.svelte:291:2 `