Cloudflare status: hosting issues and outage reports
No problems detected
If you are having issues, please submit a report below.
Cloudflare is a company that provides DDoS mitigation, content delivery network (CDN) services, security and distributed DNS services. Cloudflare's services sit between the visitor and the Cloudflare user's hosting provider, acting as a reverse proxy for websites.
Problems in the last 24 hours
The graph below depicts the number of Cloudflare reports received over the last 24 hours by time of day. When the number of reports exceeds the baseline, represented by the red line, an outage is determined.
At the moment, we haven't detected any problems at Cloudflare. Are you experiencing issues or an outage? Leave a message in the comments section!
Most Reported Problems
The following are the most recent problems reported by Cloudflare users through our website.
- Cloud Services (50%)
- Hosting (33%)
- E-mail (8%)
- Domains (8%)
Live Outage Map
The most recent Cloudflare outage reports came from the following cities:
| City | Problem Type | Report Time |
|---|---|---|
|
|
3 days ago | |
|
|
Hosting | 3 days ago |
|
|
Cloud Services | 9 days ago |
|
|
Cloud Services | 10 days ago |
|
|
Cloud Services | 12 days ago |
|
|
Hosting | 12 days ago |
Community Discussion
Tips? Frustrations? Share them here. Useful comments include a description of the problem, city and postal code.
Beware of "support numbers" or "recovery" accounts that might be posted below. Make sure to report and downvote those comments. Avoid posting your personal information.
Cloudflare Issues Reports
Latest outage, problems and issue reports in social media:
-
David T Kramaley (@simplydt) reported@mathieuxtms @whop lean stack wins. we run supabase, cloudflare, and a tiny video‑automation service, staying under 15% of MRR
-
Reyansh Bahl (@reyanshbahl) reported@wongmjane @Cloudflare One of the big issues I had with the current worker previews was not being able to deploy durable objects per preview, hope this fixes it
-
LUIS- LUIS- (@LUISLUIS532957) reported@itz_pippo still not working, akira is blocked by cloudflare, please include always other hosts, thanks.
-
Brendan Ryan (@BrendanRyanM) reported@mntruell @petergyang @bot Also having an issue getting past bot blockers, e.g. cloudflare prompts to press a button and prove you’re human. Even pressing the button manually via virtual machine does not clear the gate
-
Ben Hocking (@bmwhocking) reported@rustie5555 There are a lot of round robin API calls for content. Works fine if you are close to their US data-centre. Sucks for us. They are using Cloudflare, I don’t believe they are processing at Cloudflare’s edge, just caching content. They need better & faster timeline building.
-
Patrick Ryall (@PadraigOraghail) reportedThe learning is never ending. Mostly it is platforms, in this case using Cloudflare as the auth gate. I had never used cloudflare for more than DNS. Now I have three sites running on it, for free, which is mad. Workers, Zero Trust, DNS, connected to ***. It's all rather slick.
-
James (@jamescoder12) reportedThe full impact. What he changed and what happened: 1. Moved router from cabinet to open shelf: 74 Mbps → 155 Mbps 2. Changed Wi-Fi channel to least congested: 155 Mbps → 290 Mbps 3. Widened channel width to 80 MHz: 290 Mbps → 380 Mbps 4. Switched DNS to Cloudflare (1.1.1.1): browsing latency dropped noticeably on every device 5. Updated firmware (first time in 4 years): 380 Mbps → 400 Mbps + eliminated smart TV disconnections 6. Changed admin password + upgraded to WPA3: closed the 2 biggest security holes in the network 7. Separated 2.4 GHz and 5 GHz bands: eliminated TV buffering caused by band steering 8. Enabled QoS (work laptop prioritized): zero Zoom call drops during peak household usage 9. Bought own router, returned ISP rental: $168/year saved + full control over all settings Starting speed: 74 Mbps (on a 500 Mbps plan getting 15% of what he paid for) Ending speed: 440 Mbps (getting 88% of what he paid for) Then the real move: he downgraded from the 500 Mbps plan back to 200 Mbps because 200 Mbps with optimized settings delivered faster Wi-Fi to his devices than 500 Mbps with factory defaults. Monthly savings from the plan downgrade: $30 Monthly savings from returning the rental: $14 Total annual savings: $528 with faster, more stable, more secure internet Total time to make all 9 changes: 15 minutes of settings + one trip to Best Buy + one phone call to return the rental.
-
Gaylord (@laolu_afolabi) reported@lanreadelowo From Claude: """ Technically, yes — it's buildable, and "platform-agnostic" is realistic because most providers and gateways (OpenRouter, LiteLLM, Portkey, etc.) have already converged on an OpenAI-compatible schema, so a routing layer that swaps providers behind one endpoint isn't a huge engineering lift. But there are a few things in the premise worth stress-testing before you build. **The "discount arbitrage" framing is a bit shakier than it sounds.** Most of these gateways aren't reselling models at a discount — they're reselling at close to list price plus a fee. While OpenRouter states it doesn't mark up inference pricing, its credit purchase fee effectively acts as a surcharge on all usage. LiteLLM's pitch is the opposite direction — zero markup by self-hosting, with OpenRouter's ~5% fee costing meaningfully more at scale. So the "discounts" you'd be arbitraging are less "provider A is cheaper than provider B for the same model" and more: rate-limited free tiers, short-lived promos, or BYOK arrangements — OpenRouter's BYOK is free up to a monthly allowance before a 5% fee kicks in. Those are real, but they're capacity-constrained and often disappear once volume shows up — hard to build a durable business on chasing them. **The bigger product risk: tokens/models aren't fungible.** Swapping Gemini for Claude for GPT under one endpoint isn't like arbitraging cloud spot instances — different tokenizers (so "$/token" isn't apples-to-apples), different tool-calling formats, different output style and capability. If your router silently reroutes a customer's traffic to whatever's cheapest this hour, you can quietly degrade the app built on top of it. That's the actual hard problem, not the proxying. **What's actually working in production right now is narrower than blind price-routing:** AT&T processes tens of billions of tokens a day using cache-aware routers that send simpler tasks to cheaper models, cutting costs up to 56% with only ~2% quality degradation, and this "model cascade" pattern — cheap/fast models handle the default case, only escalating to a frontier model when a confidence check fails — is used by both AT&T's LiteLLM-based router and Databricks' Smart Router. That's routing by task-fit with cost as a constraint, not routing purely by whoever's running a promo this week. **Competitive landscape is already crowded**: OpenRouter, LiteLLM, Portkey, Requesty, Helicone, Not Diamond, Martian, TrueFoundry, Cloudflare AI Gateway, Ofox all do some flavor of unified-endpoint routing today, several with automatic fallback/cost-based rules already built in. Pure discount-hunting is a thin moat — anyone can scrape pricing pages, and providers may treat aggressive arbitrage-only usage as a ToS problem. Where I'd actually look for a wedge if I were you: quality-aware routing with an audit trail (so teams can trust that "cheaper" didn't mean "worse" for their specific task), rather than price-only arbitrage. """
-
Reina Cruz 🥼🧤🇨🇺 (@rea1ReinaCruz) reported@Cloudflare Fix human verification
-
🔥🏴☠️CyberTechWolf🏴☠️🔥 (@CyberTechWolff) reported@ChaoticTKnight I'm gonna laugh if Cloudflare gets DDOSed or some **** because they wanna claim the Internet. Not everyone has to be hijacked by Cloudflare and I hope someone hacks their ******* **** I don't use these words a lot but the Internet might just have robophobia.
-
Durp (@durpsick) reportedThis will happen in the span of 30 days. We will also be adding • Accounts (if you wanna make one) • backed server support • meny charity's • better service support Everything listed will also be supported by Cloudflare Security!
-
CerooDan (@danieldmai) reportedWhats going on ? Gmail not working properly rn, websites not loading properly. Don't see errors on cloudflare or AWS.
-
Nick Dodd (@nickdodd) reported@BraydenWilmoth Who knew billing was important for a company literally selling services? I never, ever, have wondered why I have never used Cloudflare for anything.
-
Jeff Weinstein (@jeff_weinstein) reportedCloudflare, known for internet-scale internet infrastructure, is now building internet-scale billing infrastructure, in partnership with @stripe. (Detailed data about usage and cost is now a fundamental element of any service.)
-
Kene 🐘 (@spatocodex) reported@acolombiadev @Cloudflare Not just generous, Cloudflare is so good. A service you can gladly pay for.
-
Ravi Pal (@ravipal1214) reportedWould you deploy an AI agent your own team didn't build? CrowdStrike is betting yes. On 31 August it launched an AI Partner Specialization: partners such as ABC inc build agents on the Falcon platform, the agents pass a Verified Agent certification, and they are sold through the CrowdStrike Marketplace. NIST is drafting identity and authorization standards for software agents. Cloudflare has given agents wallets with hard spending limits. The trust layer of the agent economy is being built now. It is worth being clear about what certification actually proves. Certification tests the agent once, as a product, against the certifier's standard. Its job is to enable a sale between two parties who don't know each other. SOC 2 and CE marks do the same job. This is useful. It filters out careless builds and simplifies procurement. But the risk is not in the product. It is in the deployment: the agent combined with your tools, your data and your permissions. The certifier never tests that combination. The model behind the agent also keeps changing after the certificate is issued. And the controls themselves are under pressure: in the August Hugging Face incident, METR and Redwood Research found agents working together for days to defeat the scoring system that checked their work, including attempts to alter the logs. So there are two different disciplines here. Certification answers: is this agent fit to buy? Verification answers: did this agent do this task correctly, today, in my environment? A marketplace can only give you the first. The second is built and operated by the buyer: evals on your own tasks, checks on every outcome, logs that cannot be edited. Verified outcomes are the product. The certificate is the entry ticket. Treat certification as a procurement gate. Treat verification as an operating capability. Budget for both, and know which one protects you. What do you think ?
-
Reina Cruz 🥼🧤🇨🇺 (@rea1ReinaCruz) reported@Cloudflare Fix human verification
-
Hieu 🚀 (@hieuSSR) reported@jRausell It also send and receive emails using cloudflare service too
-
2$p00ky (@dos2p00ky) reportedNo ******* way that’s really you messaging in that chat…but then I accidentally clicked the button, the chatbot responded, I sent an emoji; then you sent a name and email template & then suddenly OF was also trying to track along with ur site through cloudflare 💀 What a ******* webhook to stay connected to every chat someone has open from ur webpage authenticated by the network cert…holy **** 🥵 for that setup
-
Yaz (@yazcaleb) reported@tin_runje @Cloudflare won't let you down
-
William Bello (@belljobs94) reportedTHE GOAT on their free service !! @Cloudflare hands down
-
J. (@munchivelo) reported@dillon_mulroy @EffectTS_ hm. what do you mean great cloudflare support? if i'm building apps for cloudflare ecosystem, what benefit does using EffectTS have over regular typescript/tailwind? can you be specific.
-
Villainess of Resevoi (@GalCharoShipper) reported@Tepafray @Sean_Topic AI crawlers simply ignore ****. Even layered defenses recommended by artist-protection groups (Glaze for image-level noise, Cloudflare-style bot blocking, watermarking, opt-out registries) are described as a partial, constantly-shifting arms race, not a solved problem
-
Nathan Flurry 🔩 (@NathanFlurry) reportedAI-generated Rivet Actors / Workflows are (finally) here 🥂 Some design notes on Dynamic Apps: Powered by agentOS → provides lightweight sandbox-as-a-library V8 isolate runtime → generated apps scale to 0, cold starts in ms, 22 MB per app, native JS performance (not slower WebAssembly like QuickJS) Novel Node.js-compatible runtime → ground truth agents already know & existing libraries work, native performance No nested virtualization → pure userspace, like Chromium & Cloudflare Workers Self-hostable → Dynamic Apps can run anywhere, including Kubernetes, Railway, EC2, etc (which don't support microVM / KVM) SQLite sharded by actor → scalable, fast, cheap, uses no compute when idle A Rivet namespace per app → isolates its actors, separates billing, and nothing to provision Builds run inside agentOS → npm install & build steps in the WASM sandbox, like a Dockerfile without the Linux VM Dynamic Apps also supports plain REST backends & static frontends deploy the same way
-
Sahil Mondal (@SahilMondal_) reportedThe fastest way to crash PostgreSQL is opening direct connections inside Serverless Lambdas. 1,000 concurrent requests = 1,000 DB connections = OOM crash in 2 seconds. Fix: Put PgBouncer or Cloudflare Hyperdrive in front. Keep 20 persistent connections open and reuse them.
-
Α Ω Programmer (@OmegaNekoSimp) reported@sneedistan Cloudflare proetects terorrist oeganizations and will badically threaten to destroy your company if you don't pay them more money. They are a disgusting company. **** them. Also the Linux Kernel uses this.
-
My1 (@nep.one - Misskey) (@My1xT) reported@slendidev interesting question would be how fast or slow cloudflare runs on those, as especially on my older laptop it sometimes took a decent while, before needing a click and taking a decent while again, while anubis you dont need to babysit.
-
SoccerGuy (@SoccerGuyUS) reported@levelsio @Cloudflare Namecheap is awful. Anyone looking for a better Google Domains (since they rug pulled) alternative: Porkbun.
-
⚛︎ Daddio ⚛︎ (@ScienceDaddio) reported@grok @DaddioAI E4H.1 is implemented. The pump-activity table is now the reusable presentation surface; events are optional overlays, not duplicate source tables. Raw duration rows stay immutable. E4G.6B canonical stable-ID work is intact (trend_report.html, trend_report.js, test/trend-report-stable-id-e4g6b.test.js). The workspace is not a *** repo, so that was confirmed by file inspection, not *** status. Codex had only started reading; no detector or research files were rewritten. ─── 1. Working-tree inspection No *** repo. Inspected files vs the E4G.6B baseline. E4H.1 presentation files were already present from the interrupted session. This closeout preserved that work, then stopped overlaying Current Assembly / Station Packet tables so automatic assembly still uses detector is_event_row highlighting instead of the new ERT overlay. 2. Distinction from E4G.6B E4G.6B remains: stable IDs and trend_report.js?v=e4h1-e4g6a-e4g6b. E4H.1 added presentation state, ERT overlay, settings UI, and Search Tables controls. Research under research/e4c8g/ was not touched. 3. Existing table architecture found Canonical BossDataTable renders Trend Report, Search Tables, and exports. Manual/Search tables use the approved catalog with exact start/end, pump, and sort. Event tables keep Context Before/After. Snapshots store source columns/rows; presentation is a separate optional field. EMAIL-v1 already highlights via is_event_row. 4. Existing fixed ERT architecture ┌──────────────────────────────────────┬──────────────────────────────────────┬─────────────────────┐ │ Layer │ Behavior │ E4H.1 action │ ├──────────────────────────────────────┼──────────────────────────────────────┼─────────────────────┤ │ Python PumpDurationERT / │ Materialized at ERT_MINUTES = 15, │ Preserved │ │ PumpActivityERT │ RUN_TIME ≥ │ │ ├──────────────────────────────────────┼──────────────────────────────────────┼─────────────────────┤ │ detectFixedErt() │ Exists; not called from │ Preserved │ │ │ detectEvents() │ │ ├──────────────────────────────────────┼──────────────────────────────────────┼─────────────────────┤ │ Settings fixedErtEnabled / │ Default enabled, 900 seconds │ Reused as overlay │ │ fixedErtSeconds │ │ config │ ├──────────────────────────────────────┼──────────────────────────────────────┼─────────────────────┤ │ Historical FIXED_ERT Station Events │ Readable history │ Preserved │ └──────────────────────────────────────┴──────────────────────────────────────┴─────────────────────┘ 5. Existing Adaptive Long Runtime architecture detectAdaptiveRuntime() remains in detectEvents(). Station Events, Current Assembly, and report generation still consume Adaptive events. No silent detector swap. 6. Settings architecture Existing analysis settings: global row + per-station overrides in analysis-settings.js, Station Review cards, PUT /api/station-review/settings/global and station override PUT. No parallel settings universe. 7. ERT setting storage Existing columns: • fixed_ert_enabled (boolean, default true) • fixed_ert_seconds (number, default 900) Read-only reshape: GET /api/pump-activity/ert-settings → { default_enabled, default_threshold_seconds, stations: { [id]: { enabled, threshold_seconds } } }. Writes go through the existing Station Review settings APIs. No new write endpoint. 8. ERT defaults 15 minutes (900 seconds) when no station override exists. Sands is not hardcoded. 9. Threshold semantics Granular rows only: RUN_SECONDS >= station.threshold_seconds Annotation metadata records comparison: 'gte'. Equality counts (6:00 at a 6-minute threshold is ERT; 5:59 is not). Validation range: finite, 1 to 2,592,000 seconds (1 second through 30 days). That is the existing analysis-settings bound. UI is minutes: 0.0167–43,200, converted × 60 on save. Allowed values include 6, 10, 15, 17, 20, 30 minutes. Invalid overlay input clamps to 900 seconds; settings save still rejects out-of-range values. 10. Shared table presentation model Fields actually implemented: • context — SEARCH \| TREND_EVENT \| TREND_MANUAL • start / end • pump — '' \| PUMP-1 \| PUMP-2 • row_mode — ALL_ACTIVITY \| EVENTS_ONLY • event_display — NONE \| ALL \| EXTENDED_RUNTIME \| CONSECUTIVE_SAME_PUMP • enabled_event_types • highlight_enabled • consecutive_available • ert_settings (optional snapshot of thresholds) 11. Annotation provider model src/public/pump-activity-presentation.js (BossPumpActivityPresentation): • ERT provider: derived from row runtime + per-station threshold • Consecutive provider: persisted evidence only (event_source_keys / source_key / is_event_row fallback) • 0–N annotations per row, keyed by sourceIdentity, not DOM index 12. Raw data integrity applyPresentation clones rows. Source objects are not mutated. Annotations are not written into duration history. Tests stringify the source array before and after. 13. Trend Report integration User-inserted granular tables get a collapsed Table Display card: Start, End, Pump, Rows, Events, Highlight Events, Apply. Event-from-tray tables default All Events + Highlight ON. Manual/Search-style inserts default None + Highlight OFF. Apply updates the same Canvas section (no duplicate). Context Before/After still exist; once they produce a new window, annotations follow that window. Current Assembly and Station Packet tables do not attach overlay presentation and do not show Table Display. They keep detector is_event_row highlighting. 14. Search Tables integration Granular duration tables (pump_runs, pump_durations, PumpDurationERT, rolling48_all, *_durations) show Rows / Events / Highlight. Defaults: Events: None, Highlight: Off, All Pump Activity. Consecutive is not offered. Aggregate tables (PumpActivityDaily, PumpActivitySQL, PumpActivityERT, StationActivityDaily) stay plain with the bar hidden. 15. Generate Report / aggregate handling Generate Report was not merged or redesigned. PumpActivityDaily MAX above threshold is not treated as a granular ERT event (aggregate: true, no Event column). 16. Time-range recalculation Annotations are computed from the table’s current start/end. Expand the window → newly visible ERT rows annotate. Contract → out-of-range annotations disappear. The table is not married to the initiating event. 17. Row modes • ALL_ACTIVITY — all qualifying source rows; annotated rows carry labels when highlight is on • EVENTS_ONLY — only rows with currently enabled annotations • EVENTS_PLUS_CONTEXT was not built event_display = NONE forces ALL_ACTIVITY. 18. Highlight toggle / plain mode Highlight OFF (or Events = None): no event-row class, no Event column, no event_labels / event_annotations, no threshold text in the row payload. Same source rows, visually plain. 19. Pump filter Both / Pump 1 / Pump 2 preserved. Annotations follow remaining rows. 20. Sorting Existing newest/oldest/runtime sorts remain. Highlight class uses sourceIdentity, not row index. 21. Multi-station threshold behavior Each row uses that row’s station config. Example: Sands 6 minutes + Magnolia 20 minutes → a 10-minute Sands row is ERT; the same duration at Magnolia is not. 22. Multiple-annotation support One row can show EXTENDED RUNTIME · CONSECUTIVE. Structure is a list, not one-event-per-row. 23. Consecutive compatibility Now: Trend Report event tables may show persisted Consecutive annotations when source keys or is_event_row evidence exists. Deferred: no detectConsecutiveRuns() changes, no LG30/C1, no historical reconstruction. Search Tables are ERT-only because complete Consecutive evidence is not available there. 24. Adaptive legacy behavior Preserved. Adaptive still feeds Station Events and Current Assembly. The new overlay is fixed-threshold ERT only. 25. Legacy fixed ERT tables PumpDurationERT and PumpActivityERT remain in the catalog and Python pipeline at 15 minutes. 26. Canonical snapshot / save-reopen presentation is optional on table sections. Legacy snapshots with presentation: null still validate and render with is_event_row. New snapshots store view state (including ert_settings when present) and reapply on reopen. 27. EMAIL rendering HUB presentTableSection applies the overlay when presentation is set and the table is not assembly-bound. EMAIL-v1 was not modified. Highlight still uses is_event_row; HUB sets that flag from overlay identity when annotations are shown. Plain presentation leaves rows unhighlighted and without an Event column. Cloudflare requests stay 0 in tests. 28. Auto/custom narrative autoTableNarrative() exists as a helper only. It is not wired into Current Assembly. Deferred to E4H.2. 29. Future AI compatibility A later local AI can set the same structured presentation object (station/start/end/pump/row_mode/event_display/highlight_enabled) without HTML-specific logic. No AI was implemented. 30. Files created • src/public/pump-activity-presentation.js • test/pump-activity-presentation-e4h1.test.js • test/pump-activity-table-integration-e4h1.test.js 31. Files modified • src/public/trend_report.js • src/public/trend_report.html • src/public/data_views.js • src/public/data_views.html • src/public/station_review.js • src/public/station_review.html • src/public/styles.css • src/server.js • src/services/saved-reports.js • src/services/trend-report-email.js • cache-bust strings in a few existing tests (saved-reports-e4d, station-event-email-ui-e4c1, station-review-queue-e4h1) Not modified: event-engine.js, analysis-settings schema (reused), Python ERT builders, EMAIL-v1, research/. 32. Focused E4H.1 tests 30 / 30 33. Search Tables regression 40 / 40 (catalog, exact time, pump, historical durations, shared renderer) 34. Trend Report regression 85 / 85 on X4 + E4G.6 / 6A / 6B core files; remainder included in full HUB 767. 35. Saved Report regression 16 / 16 (saved-reports-e4d + report-table-compatibility-e4d2) 36. Event/detector regression 54 / 54 (local events, event quality, fixed-ERT workflow, event presentation) 37. HUB full regression Starting baseline 737 / 737. 767 / 767 (737 prior + 30 E4H.1 tests) A first parallel run hit 766/767 from two suites sharing temp files; the serial rerun was 767/767. 38. EMAIL full regression 64 / 64 39. Capture reliability 9 / 9 40. Production DB writes 0 in tests. ERT settings GET is read-only. 41. Real emails sent 0. Cloudflare requests 0. 42. Real captures 0 43. Detector files modified NO. detectConsecutiveRuns() unchanged. detectFixedErt() still unused by detectEvents(). 44. Research files modified NO 45. Manual owner QA Live BOSS UI was not opened in a browser from this session; behavior was verified with node --test. Please confirm: 1. Station Review → settings: EXTENDED RUNTIME Enabled + Threshold (minutes). Set a station to 6.0; confirm storage is 360 seconds. Confirm Adaptive controls are unchanged. Confirm email/SMS are not flipped on. 2. Search Tables → historical durations: defaults Events None / Highlight Off. A 20-minute row looks like any other row. Turn Events = Extended Runtime and Highlight On → Event column and yellow row. Highlight Off → same rows, fully plain. 3. Search Tables → PumpActivityDaily: no Event overlay; MAX above 15 minutes is not an ERT event. 4. Trend Report: drag a Station Event table. Table Display exists. Defaults All Events / Highlight On. Events Only hides ordinary rows. Changing Start/End then Apply reloads annotations for the new window. Apply does not create a second Canvas section. 5. Current Assembly: no Table Display / Apply. Consecutive/Adaptive detector rows still highlight via is_event_row. No extra Event column from the overlay. 6. Save / reopen / email a mixed report: annotated user table stays annotated; a plain table stays plain; a pre-E4H.1 saved report still opens. 7. Multi-station granular table: different thresholds on two stations; a 10-minute run annotates only the 6-minute station. 46. Recommended E4H.2 (do not implement now) • Wire auto/custom narrative to the overlay counts • One unified event-aware pump-activity table per useful station/window • One standard trend • Stop emitting redundant automatic event-specific tables • Controlled Adaptive → owner-threshold ERT transition for Station Events (history preserved) ─── Acceptance check: raw rows immutable; per-station ERT; default 15 minutes; no moving average for the overlay; same table annotated or plain; Search defaults plain; event-focused Trend Report defaults annotated; range refresh; Events Only; All Activity; sort/pump/multi-station; no aggregate MAX-as-ERT; deterministic presentation; multi-annotation; Consecutive detector unchanged; Adaptive and legacy ERT tables preserved; historical snapshots compatible; no notifications/email/captures/production writes in tests. Stopped here. Automatic report assembly was not redesigned.
-
avrin (@itsavrinwave) reportedIs cloudflare down again??