<pre style='margin:0'>
Zero King (l2dy) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/5019ae4808e1386db5f14e63283de1fc022f8a22">https://github.com/macports/macports-ports/commit/5019ae4808e1386db5f14e63283de1fc022f8a22</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'>     new 5019ae4808e et: disable TelemetryService
</span>5019ae4808e is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 5019ae4808e1386db5f14e63283de1fc022f8a22
</span>Author: Zero King <l2dy@macports.org>
AuthorDate: Sun May 9 16:12:53 2021 +0000

<span style='display:block; white-space:pre;color:#404040;'>    et: disable TelemetryService
</span>---
 net/et/Portfile                          |   4 +-
 net/et/files/patch-remove-telemetry.diff | 179 +++++++++++++++++++++++++++++++
 2 files changed, 182 insertions(+), 1 deletion(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/net/et/Portfile b/net/et/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 672b68033cb..74ecef4246d 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/net/et/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/net/et/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -9,7 +9,7 @@ PortGroup           legacysupport 1.0
</span> legacysupport.newest_darwin_requires_legacy 10
 
 github.setup        MisterTea EternalTerminal 6.1.7 et-v
<span style='display:block; white-space:pre;background:#ffe0e0;'>-revision            0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision            1
</span> name                et
 categories          net
 license             Apache-2
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -27,6 +27,8 @@ depends_lib         port:libsodium \
</span>                     path:lib/libssl.dylib:openssl \
                     port:zlib
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles          patch-remove-telemetry.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> compiler.cxx_standard \
                     2017
 
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/net/et/files/patch-remove-telemetry.diff b/net/et/files/patch-remove-telemetry.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..62d1aa6fe54
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/net/et/files/patch-remove-telemetry.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,179 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 9df261cd2bcc433947ecac7a0b7b052cee1ed3a8 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Zero King <l2dy@macports.org>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Sun, 9 May 2021 16:09:19 +0000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] Remove telemetry
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ src/base/Headers.hpp              |   7 --
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ src/terminal/TelemetryService.cpp | 137 ------------------------------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 2 files changed, 144 deletions(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git src/base/Headers.hpp src/base/Headers.hpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 147835c8..a67855f8 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- src/base/Headers.hpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ src/base/Headers.hpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -82,13 +82,6 @@ inline int close(int fd) { return ::closesocket(fd); }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <unordered_set>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <vector>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#if __has_include(<filesystem>)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#include <filesystem>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#include <experimental/filesystem>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-using namespace std::experimental;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "ET.pb.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "ETerminal.pb.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "ThreadPool.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git src/terminal/TelemetryService.cpp src/terminal/TelemetryService.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 830d31b5..5bb6e91c 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- src/terminal/TelemetryService.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ src/terminal/TelemetryService.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -86,143 +86,6 @@ TelemetryService::TelemetryService(const bool _allow,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   if (disableTelementry) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     allowed = false;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  if (allowed) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    auto telemetryConfigPath = sago::getConfigHome() + "/et/telemetry.ini";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    auto telemetryId = sole::uuid4();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    if (filesystem::exists(telemetryConfigPath)) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      // Load the config file
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      CSimpleIniA ini(true, false, false);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      SI_Error rc = ini.LoadFile(telemetryConfigPath.c_str());
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      if (rc == 0) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        const char* telemetryIdString = ini.GetValue("Sentry", "Id", NULL);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        if (telemetryIdString) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-          telemetryId = sole::rebuild(telemetryIdString);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-          STFATAL << "Invalid telemetry config";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        STFATAL << "Invalid config file: " << telemetryConfigPath;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      // Ensure directory exists
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      filesystem::create_directories(sago::getConfigHome() + "/et");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      // Create ini
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      CSimpleIniA ini(true, false, false);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      ini.SetValue("Sentry", "Id", telemetryId.str().c_str());
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      ini.SaveFile(telemetryConfigPath.c_str());
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      // Let user know about telemetry
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      CLOG(INFO, "stdout")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-          << "Eternal Terminal collects crashes and errors in order to help us "
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-             "improve your experience.\nThe data collected is anonymous.\nYou "
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-             "can opt-out of telemetry by setting the environment variable "
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-             "ET_NO_TELEMETRY to any non-empty value."
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-          << endl;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#ifdef USE_SENTRY
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    sentry_options_t* options = sentry_options_new();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    logHttpClient->set_compress(true);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    // this is an example. for real usage, make sure to set this explicitly to
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    // an app specific cache location.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    sentry_options_set_database_path(options, databasePath.c_str());
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    sentry_options_set_dsn(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        options,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        "https://51ec60d489224f1da2b63c912a5c7fad@o496602.ingest.sentry.io/"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        "5574732");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    sentry_options_set_symbolize_stacktraces(options, true);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    sentry_options_set_release(options, "EternalTerminal@" ET_VERSION);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    sentry_options_set_environment(options, environment.c_str());
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    sentry_init(options);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    auto sentryShutdownHandler = [](int i) { shutdownTelemetry(); };
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    sentry_value_t user = sentry_value_new_object();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    sentry_value_set_by_key(user, "id",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                            sentry_value_new_string(telemetryId.str().c_str()));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    sentry_set_user(user);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    vector<int> signalsToCatch = {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#ifdef SIGINT
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        SIGINT,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#ifdef SIGILL
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        SIGILL,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#ifdef SIGABRT
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        SIGABRT,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#ifdef SIGFPE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        SIGFPE,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#ifdef SIGSEGV
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        SIGSEGV,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#ifdef SIGTERM
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        SIGTERM,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#ifdef SIGKILL
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        SIGKILL,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    };
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    for (auto it : signalsToCatch) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      signal(it, sentryShutdownHandler);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    atexit([] { shutdownTelemetry(); });
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    el::Helpers::installLogDispatchCallback<TelemetryDispatcher>(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        "TelemetryDispatcher");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    auto* dispatcher = el::Helpers::logDispatchCallback<TelemetryDispatcher>(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        "TelemetryDispatcher");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    dispatcher->setEnabled(true);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    logSendingThread.reset(new thread([this]() {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      auto nextDumpTime = std::chrono::system_clock::now();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      while (!shuttingDown) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        string payload;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        int logBufferSize;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-          lock_guard<recursive_mutex> guard(logMutex);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-          logBufferSize = (int)logBuffer.size();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        if (logBufferSize) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-          if (logBufferSize >= 1024 ||
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-              nextDumpTime < std::chrono::system_clock::now()) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            nextDumpTime =
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                std::chrono::system_clock::now() + chrono::seconds(30);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-              lock_guard<recursive_mutex> guard(logMutex);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-              payload = json(logBuffer).dump(4);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-              logBuffer.clear();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            httplib::Headers headers;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            headers.emplace("DD-API-KEY", "e5e757f30a9e567f95b16b7673b09253");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            logHttpClient->set_connection_timeout(0,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                                                  300000);  // 300 milliseconds
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            logHttpClient->set_read_timeout(1, 0);          // 1 second
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            logHttpClient->set_write_timeout(1, 0);         // 1 second
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            if (shuttingDown) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-              // httplib isn't exit-safe, so we try our best to avoid calling it
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-              // on shutdown
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-              break;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            logHttpClient->Post(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                "/v1/input/"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                "pubfe47c2f8dfb3e8c26eb66ba4a456ec79?ddsource=browser&ddtags="
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                "sdk_version:2.1.1",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                headers, payload, "application/json");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-          }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        this_thread::sleep_for(chrono::milliseconds(100));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    }));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ TelemetryService::~TelemetryService() {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-- 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.31.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span></pre><pre style='margin:0'>

</pre>