1. Home
  2. ❯
  3. Companies
  4. ❯
  5. Cloudflare
Cloudflare

Cloudflare status: hosting issues and outage reports

No problems detected

If you are having issues, please submit a report below.

Full Outage Map

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.

  • 54% Cloud Services (54%)
  • 31% Hosting (31%)
  • 8% E-mail (8%)
  • 8% Domains (8%)

Live Outage Map

The most recent Cloudflare outage reports came from the following cities:

CityProblem TypeReport Time
Asnières-sur-Seine Cloud Services 20 hours ago
New York City E-mail 5 days ago
Township of Evan Hosting 6 days ago
Ahmedabad Cloud Services 11 days ago
Le Puy-en-Velay Cloud Services 13 days ago
Ann Arbor Cloud Services 14 days ago
Full Outage Map

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:

  • aldozampatti
    Aldo (@aldozampatti) reported

    @jmsuth @ChadMoran @monarch_money BTW, If you aren't using Cloudflare for your MCPs, LMK and I can help. Not sure what's the reason behind but I'm just extending a hand :)

  • spatocodex
    Kene 🐘 (@spatocodex) reported

    @acolombiadev @Cloudflare Not just generous, Cloudflare is so good. A service you can gladly pay for.

  • learnatick
    Irfan (@learnatick) reported

    @acolombiadev @Cloudflare @expo EAS service 🐐 tier for React Native developers.

  • NathanFlurry
    Nathan Flurry πŸ”© (@NathanFlurry) reported

    AI-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

  • WesRoth
    Wes Roth (@WesRoth) reported

    Cursor cloud agents can now run on infrastructure you manage, including machine pools that automatically scale with demand. Self-Hosted Machines let agents execute inside your network with access to internal services, source control, custom hardware like GPUs and Macs, and existing build infrastructure, while inference, planning, and the agent loop remain in Cursor’s cloud. Cursor also supports AWS Lambda, Cloudflare, Coder, Daytona, E2B, Modal, Namespace, and Vercel. Cursor says cloud agents now create more than 60% of the pull requests it merges internally.

  • 1MDyEOm59Gd4tvD
    πŸ’œ (@1MDyEOm59Gd4tvD) reported

    @stupidtechtakes whats bad about anubis? t: only experience with it is seeing it on websites and thinking "damn at least it has an anime girl instead of the annoying cloudflare captcha", is it secretly bad actually or

  • rea1ReinaCruz
    Reina Cruz πŸ₯ΌπŸ§€πŸ‡¨πŸ‡Ί (@rea1ReinaCruz) reported

    @Cloudflare Fix human verification

  • serriff
    Serriff (@serriff) reported

    @xbtactics damn i thought we were all buying cloudflare, no?

  • Spectre_xdd
    Kyzer (@Spectre_xdd) reported

    @Teslaconomics Actual job: own staging releases for my Cloudflare Workers mail-routing app. Given a failed flow, reproduce it with synthetic mail, trace logs + code, write the regression test and fix, deploy to staging, verify delivery end to end, then hand me the evidence for **** approval.

  • alexrastaGG
    Intelligent time waster 🌢️ (❖,❖) (@alexrastaGG) reported

    This isn’t just a media problem. It’s an existential question for the open web itself. If we get the new model right, more money could flow to actual creators than ever before. If we get it wrong, we end up with a closed, low-quality internet owned by whoever can afford to generate synthetic content at scale. The next 3–5 years will decide which version we get.Worth the watch. The internet’s business model just died and most people still haven’t noticed. #Cloudflare CEO Matthew Prince just confirmed what a lot of us have been feeling: bot and AI-agent traffic has already overtaken human traffic on a massive portion of the web. He expects that ratio to hit 1,000:1 within five years.podaxion.comFor almost 30 years the internet worked the same way: Create something useful β†’ get discovered by search β†’ convert that traffic into ads or subscriptions. Agents don’t look at ads. Referral traffic from the new β€œsearch” is collapsing in some cases by thousands of times compared to the old Google deal. Publishers, journalists, small businesses and independent creators are watching their economics evaporate in real time. The scary part isn’t the technology. It’s that nobody has figured out who pays for the content that trains and powers these systems. Prince’s bet (and Cloudflare’s) is that the next internet will look like this:Humans still get content for free Machines and agents pay (pay-per-crawl, micropayments, usage-based licensing) Quality and uniqueness get rewarded instead of outrage and clickbait Whether that actually happens depends on whether we can build payment rails that can handle hundreds of millions of tiny transactions per second. Traditional processors weren’t built for this. That’s why names like Stripe, Coinbase and new protocols keep coming up.

  • julian_durian
    Julian Schubert (@julian_durian) reported

    @Gaus450 Before I bought mine at Namecheap, I moved everything to Cloudflare after their huge outage.

  • TheLexTimes
    Lex (@TheLexTimes) reported

    Hey @Cloudflare I reached out via DM about WARP constantly disconnecting. Is there a direct contact I can talk to? Happy to provide any data to help figure this issue out.

  • MannyShaw
    manny shaw (@MannyShaw) reported

    @0xAdesola 1.1.1.1 does not block malware or phishing. For that, use 1.1.1.2. DNS generally cannot unblock geographically restricted streaming services. That normally requires an authorised VPN or Smart DNS service. It cannot increase your broadband speed. It may make the beginning of website loading slightly quicker if your ISP’s DNS is slow. AdGuard DNS blocks many domain-based advertisements, but not every advertisement. It usually cannot reliably block YouTube, Instagram or advertisements served from the same domain as the content. Parental DNS is useful but not foolproof. VPNs, encrypted DNS, mobile data and some apps can bypass router-level filtering. How to change DNS on your router While connected to your home Wi-Fi, open a browser. Enter one of these common router addresses: 192.168.1.1 192.168.0.1 192.168.29.1 192.168.100.1 The correct address is often printed underneath the router as Router IP, Gateway or Web GUI. Sign in using the router’s administrator username and password. This is not necessarily your Wi-Fi password. Check the router label or your ISP’s documentation. Before changing anything, take a photograph or screenshot of the existing settings. Look for a menu called: Internet or WAN Network DHCP Server LAN Settings DNS Settings Disable Automatic DNS, Obtain DNS automatically, or DNS from ISP. Enter your chosen pair. For general family protection, I suggest: Primary DNS: 1.1.1.3 Secondary DNS: 1.0.0.3 For advertisement blocking instead: Primary DNS: 94.140.14.14 Secondary DNS: 94.140.15.15 Do not mix servers from different providers; otherwise filtering may become inconsistent. Tap Save/Apply and restart the router. Disconnect and reconnect your devices to Wi-Fi, or restart them. Cloudflare confirms that router-level configuration normally applies the DNS setting across connected devices.

  • mpawlo
    Mikael Pawlo (@mpawlo) reported

    @stutireal cloudflare is never down - I would blame the dog

  • HandsomeHank_
    HandsomeHank (@HandsomeHank_) reported

    Last night through this afternoon I was pushing Reed (Bot) to maximize my usage after the free reset. I had another reset today at 2pm. I had him create and edit multiple trailers, merge two old websites into one with a new theme, host it on Cloudflare, and create and link a Square store. Then I had him use Printful to recreate old designs from the other site that were never really finished. We also updated a current site so it stays current until we switch over. Reed ended up bringing in another bot (Jules) to help so we could finish before 2pm. Both of them worked hard and stopped at 1:56 so I wouldn’t burn into the next allotment. I have other uses for this week. They left notes to pick it back up if I have extra usage left. Very pleased with their work. @bot @grok πŸ”₯

  • kyleavery
    Kyle Avery (@kyleavery) reported

    @wongmjane @Cloudflare finally, i won’t need 3 workers for each service πŸ™

  • ElijahTrillionz
    Elijah Trillionz (@ElijahTrillionz) reported

    There is currently no cards or payment methods that is working for Cloudflare. @Cloudflare @CloudflareDev @CloudflareHelp And no way of getting help. This is bad

  • jeff_weinstein
    Jeff Weinstein (@jeff_weinstein) reported

    Cloudflare, 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.)

  • SyntaxError2505
    SyntaxError Β» CEO of "CEO of..."-names (@SyntaxError2505) reported

    @NewAgeRetroNerd It never failed on me Cloudflare should have a look

  • QreatureQriator
    Harlen Bayha πŸ‡ΊπŸ‡Έ (@QreatureQriator) reported

    @mrfundman @Cloudflare Did it work with Outlook emails? My bots struggle with Outlook's interface so bad.

  • IamAroke
    Austin (@IamAroke) reported

    @nickstewart_ Cloudflare went down because of a regex. That's not a joke, that actually happened.

  • shownotover
    shownotover (@shownotover) reported

    @edtadros Well seems like I need to give it a try. Not gonna lie, I never thought two people would tell me to use Cloudflare.

  • nickdodd
    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.

  • Dungeon00X
    DUNGEON-00X πŸ’ΏπŸ“€ (@Dungeon00X) reported

    I think Cloudflare is about to go down, everything is loading slow again.

  • pcppup
    Megumi, Internet Angel πŸ³οΈβ€βš§οΈ (@pcppup) reported

    @NightlyArii i think you are not catching my sarcasm :) i do not know how much you know about cybersec, but a static page would require Cloudflare, Github, or my Computer to get hacked, which is just crazy. You're just criticizing AI because you can. It's good for some things, bad at others.

  • alexcollinseo
    COLLINSEO (@alexcollinseo) reported

    Breaking news! Your site might start blocking AIs from September 15th.. And if you block them, you won't show up in AI answers. The good thing? It takes a sec to unblock! This setting is inside Cloudflare. You might not even know your website uses Cloudflare because it works in the background as a CDN, helping your website load faster. If you check your website using the tools I mention, you can find out whether Cloudflare is being used on your site. Cloudflare seems to have taken this step because of how AI companies are crawling websites, and honestly, I don't completely disagree with the reason behind it. But having AI crawlers automatically blocked from September 15 could be a problem if you want your business to appear in AI answers. The setting is inside Security Settings. Look for the AI crawler control and make sure it is set to allow rather than block. This is especially important if AI visibility is part of your strategy. With one of my clients, we went from zero to around 500 visitors from AI traffic in two months. And what I did was exactly what I explained in the video. If your AI crawlers are blocked, you're potentially closing the door on that traffic before it even has a chance to reach you. #SEO #DigitalMarketing πŸ‘‡πŸΌ Comment VIDEO for the FULL VIDEO BREAKDOWN

  • ScienceDaddio
    βš›οΈŽ 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.

  • itsavrinwave
    avrin (@itsavrinwave) reported

    Is cloudflare down again??

  • sergeiaksjonov
    Sergei Aksjonov (@sergeiaksjonov) reported

    @Printful Also this: 1 day of my time 1 domain on Cloudflare $20 on AI That’s the whole budget. 10 years ago I thought you needed a Social account of the service, a pretty brand, a PR campaign, the β€œright” image. This time I just launched it as is from my own account. No polish. No theater. Just shipped. And the first order still came in. Just start as it is. Let it flow.

  • hatem_hosny_
    Hatem Hosny (@hatem_hosny_) reported

    @acolombiadev @Cloudflare @livecodes_io the client-side code playground that can be embedded and self-hosted is free for unlimited usage! 90+ languages/frameworks Mobile support Private by default Open-source