syntaqxRetrying a read that gets no answer never becomes a loop (after 71274eeb): a refresh of the page already showing kept trying every 5 s for as long as it took, which is right while the browser is offline but not on a network that is up and never answers (an extension or proxy blocking g1t's .data requests, a security policy, broken DNS): the page sat on old data under "Can't reach g1t" forever and never showed what was wrong, and a tab out of view kept asking too. Now a refresh counts only the time it waited while the browser said it was online, and gives up after 2 minutes of that (REFRESH_PATIENCE_MS); offline still waits as long as it lasts. Nothing is retried from a tab out of view: a wait that is over holds until the tab is looked at. While the error page tries on its own (lib/reconnect.ts, 3 s, 6 s, 12 s, then every 30 s), reads are tried once each instead of retrying underneath it, so a broken network costs one request every 30 s on a visible error page and none on a hidden one. A real error (an answer that is an error) was already never retried and stops the error page's trying. keepTrying in lib/resilient-fetch.ts makes the call. Checked: apps/web tsc -b; npm test (985; new: offline waited out however long, up-and-silent gives up for a refresh and a click, one try while the error page tries).992effdHistory
- ..
- accordion.tsx
- alert-dialog.tsx
- alert.tsx
- avatar.tsx
- badge.tsx
- breadcrumb.tsx
- button.tsx
- card.tsx
- checkbox.tsx
- collapsible.tsx
- combobox.tsx
- command.tsx
- dialog.tsx
- dropdown-menu.tsx
- field.tsx
- file-drop.tsx
- hint.tsx
- hover-card.tsx
- index.tsx
- input.tsx
- kbd.tsx
- label.tsx
- nav-tabs.tsx
- popover.tsx
- progress.tsx
- radio-group.tsx
- scroll-area.tsx
- select.tsx
- separator.tsx
- sheet.tsx
- sidebar.tsx
- skeleton.tsx
- slider.tsx
- switch.tsx
- tab-strip.tsx
- table.tsx
- tabs.tsx
- textarea.tsx
- toggle-group.tsx
- tooltip.tsx