1const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/supabase-client-2CObC91N.js","assets/vendor-supabase-BL1taoPA.js","assets/startup-platform-OWIpYyjW.js","assets/supabase-config-BOS-KsQP.js"])))=>i.map(i=>d[i]); 2import{_ as e}from"./runtime-preload-CFP917pd.js";import{r}from"./vendor-react-BfgFmtGS.js";import{a as t,u as s}from"./useAuth-DynbexoK.js";import{u as i}from"./vendor-query-XXY4vl9u.js";import{s as n,i as o,a}from"./perfConfig-SmqTTOuO.js";import{supabase as u}from"./supabase-client-2CObC91N.js";import{u as l,i as c,j as f,n as d}from"./useUserSettings-COWmNJt_.js";import{u as m}from"./useNetworkStatus-CCCthbIH.js";import{s as p}from"./documentVisibilitySubscriptions-CqVNm4Da.js";import{g as y,s as v}from"./nativeAppStateSubscriptions-Cv_2m-ZS.js";import{c as w}from"./idleStorage-DCX8Fjfi.js";import{s as b}from"./documentVisibleInterval-kwPiY7AC.js";function _({effectsEnabled:_,nativePlatform:h}){return((e=!0)=>{const{user:t,isLoading:s,isAuthenticated:w}=l(),b=null==t?void 0:t.id,_=i(),{isOnline:h}=m(),g=r.useRef(null),j=r.useRef(null),A=r.useRef(!1),E=r.useRef(0);r.useEffect(()=>{g.current=null,j.current=null},[b]);const q=r.useCallback(async()=>{if(!b||s||!w||!h)return;const e=g.current;if((null==e?void 0:e.userId)===b&&Date.now()<e.retryAfter)return;if(((e,r,t=Date.now())=>(null==e?void 0:e.userId)===r&&t<e.retryAfter)(j.current,b))return;if(!o()||!y()||a())return;if(c())return;if(A.current)return;const r=Date.now();if(!(r-E.current<3e4)){E.current=r,A.current=!0;try{const{data:e,error:r}=await u.rpc("process_reminders",{for_user_id:b});if(r)throw r;j.current=null,e&&Array.isArray(e)&&e.length>0&&_.invalidateQueries({queryKey:["notifications",b]})}catch(t){if(f(t))return void d(t);const e=t;if("42501"===e.code||/permission denied for function process_reminders/i.test(e.message||""))return void(g.current={userId:b,retryAfter:Date.now()+6e5});j.current=((e,r,t=Date.now())=>{const s=(null==e?void 0:e.userId)===r?e.attempts+1:1;return{userId:r,attempts:s,retryAfter:t+Math.min(9e5,6e4*2**Math.min(s-1,8))}})(j.current,b)}finally{A.current=!1}}},[s,w,h,_,b]);r.useEffect(()=>{if(!e)return;if(!b||s||!w)return;let r=null;const t=()=>{null==r||r(),r=n(()=>{r=null,q()},3e3)},i=()=>o()&&y();let a=i();const u=()=>{const e=i();if(e!==a){if(a=e,!e)return null==r||r(),void(r=null);t()}};a&&t();const l=p(u),c=v(u);return()=>{null==r||r(),r=null,l(),c()}},[e,s,w,q,b])})(_),function(o=!0){const{user:a,isAuthenticated:u}=t(),{toast:l}=s(),c=i();r.useEffect(()=>{if(o&&a&&u)return n(()=>{(async()=>{const r=sessionStorage.getItem("pending_follow_board");if(r)try{await new Promise(e=>setTimeout(e,500));const{supabase:t}=await e(async()=>{const{supabase:e}=await import("./supabase-client-2CObC91N.js");return{supabase:e}},__vite__mapDeps([0,1,2,3])),{error:s}=await t.rpc("follow_public_board",{p_board_id:r});if(s)throw s;sessionStorage.removeItem("pending_follow_board"),window.dispatchEvent(new CustomEvent("board-followed",{detail:{boardId:r}})),Promise.all([c.invalidateQueries({queryKey:["boards"]}),c.invalidateQueries({queryKey:["board-meta"]}),c.invalidateQueries({queryKey:["board-route-meta"]}),c.invalidateQueries({queryKey:["public-board"]}),c.invalidateQueries({queryKey:["followed-boards"]}),c.invalidateQueries({queryKey:["following-feed"]}),c.invalidateQueries({queryKey:["memories"]})]),l({title:"Board followed â¨",description:"You automatically followed the board you clicked on."})}catch(t){}})()},1800)},[o,a,u,c,l])}(_),function(e=!0){r.useEffect(()=>{if(!e)return;const r=async()=>{if(o()&&!a())try{const{data:e}=await u.from("system_settings").select("value").eq("key","app_version").maybeSingle();(null==e?void 0:e.value)&&"2026-10-01T17:53:55.523Z"!==e.value&&(w("echo-version-stale","true"),window.dispatchEvent(new CustomEvent("echo-version-stale")))}catch{}},t=n(()=>{r()},5e3),s=b(()=>{n(()=>{r()},5e3)},3e5);return()=>{t(),s()}},[e])}(_&&!h),null}export{_ as BackgroundAppServices};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.