diff --git a/.ci/.env.ci b/.ci/.env.ci
index 38e6a837c8..7bdf5582eb 100644
--- a/.ci/.env.ci
+++ b/.ci/.env.ci
@@ -260,12 +260,6 @@ DISABLE_CSP_HEADER=false
TRACKER_SITE_ID=
TRACKER_URL=
-#
-# Firefly III can collect telemetry on how you use Firefly III. This is opt-in.
-# In order to allow this, change the following variable to true.
-# To read more about this feature, go to this page: https://docs.firefly-iii.org/support/telemetry
-SEND_TELEMETRY=false
-
# You can fine tune the start-up of a Docker container by editing these environment variables.
# Use this at your own risk. Disabling certain checks and features may result in lost of inconsistent data.
# However if you know what you're doing you can significantly speed up container start times.
diff --git a/.deploy/heroku/.env.heroku b/.deploy/heroku/.env.heroku
index 013b5b810a..f9974abbe3 100644
--- a/.deploy/heroku/.env.heroku
+++ b/.deploy/heroku/.env.heroku
@@ -261,12 +261,6 @@ DISABLE_CSP_HEADER=false
TRACKER_SITE_ID=
TRACKER_URL=
-#
-# Firefly III can collect telemetry on how you use Firefly III. This is opt-in.
-# In order to allow this, change the following variable to true.
-# To read more about this feature, go to this page: https://docs.firefly-iii.org/support/telemetry
-SEND_TELEMETRY=false
-
# You can fine tune the start-up of a Docker container by editing these environment variables.
# Use this at your own risk. Disabling certain checks and features may result in lost of inconsistent data.
# However if you know what you're doing you can significantly speed up container start times.
diff --git a/app/Console/Commands/Correction/FixPostgresSequences.php b/app/Console/Commands/Correction/FixPostgresSequences.php
index 2ac42466c9..e012790f71 100644
--- a/app/Console/Commands/Correction/FixPostgresSequences.php
+++ b/app/Console/Commands/Correction/FixPostgresSequences.php
@@ -88,7 +88,6 @@ class FixPostgresSequences extends Command
'rules',
'tag_transaction_journal',
'tags',
- 'telemetry',
'transaction_currencies',
'transaction_groups',
'transaction_journals',
diff --git a/app/Exceptions/Handler.php b/app/Exceptions/Handler.php
index 5bbc3ede7d..f6fdbd6244 100644
--- a/app/Exceptions/Handler.php
+++ b/app/Exceptions/Handler.php
@@ -136,7 +136,6 @@ class Handler extends ExceptionHandler
*/
public function report(Throwable $e)
{
- // do email the user (no telemetry)
$doMailError = config('firefly.send_error_message');
if ($this->shouldntReportLocal($e) || !$doMailError) {
parent::report($e);
diff --git a/app/Http/Controllers/Admin/TelemetryController.php b/app/Http/Controllers/Admin/TelemetryController.php
deleted file mode 100644
index 470b3a710f..0000000000
--- a/app/Http/Controllers/Admin/TelemetryController.php
+++ /dev/null
@@ -1,66 +0,0 @@
-.
- */
-
-declare(strict_types=1);
-
-namespace FireflyIII\Http\Controllers\Admin;
-
-use FireflyIII\Http\Controllers\Controller;
-
-/**
- * Class TelemetryController
- */
-class TelemetryController extends Controller
-{
- /**
- * TelemetryController constructor.
- */
- public function __construct()
- {
- if (false === config('firefly.feature_flags.telemetry')) {
- die('Telemetry is disabled.');
- }
- parent::__construct();
-
- $this->middleware(
- function ($request, $next) {
- app('view')->share('title', (string)trans('firefly.administration'));
- app('view')->share('mainTitleIcon', 'fa-hand-spock-o');
-
- return $next($request);
- }
- );
- }
-
- /**
- * Index
- */
- public function index()
- {
- app('view')->share('subTitleIcon', 'fa-eye');
- app('view')->share('subTitle', (string)trans('firefly.telemetry_admin_index'));
- $version = config('firefly.version');
- $enabled = config('firefly.send_telemetry', false) && config('firefly.feature_flags.telemetry');
- return prefixView('admin.telemetry.index', compact('version', 'enabled'));
- }
-
-}
diff --git a/app/Http/Controllers/DebugController.php b/app/Http/Controllers/DebugController.php
index d7a6081a7c..acc35ec5bf 100644
--- a/app/Http/Controllers/DebugController.php
+++ b/app/Http/Controllers/DebugController.php
@@ -150,7 +150,6 @@ class DebugController extends Controller
$foundDBversion = FireflyConfig::get('db_version', 1)->data;
// some new vars.
- $telemetry = true === config('firefly.send_telemetry') && true === config('firefly.feature_flags.telemetry');
$defaultLanguage = (string)config('firefly.default_language');
$defaultLocale = (string)config('firefly.default_locale');
$userLanguage = app('steam')->getLanguage();
@@ -218,7 +217,6 @@ class DebugController extends Controller
'logContent',
'cacheDriver',
'trustedProxies',
- 'telemetry',
'userLanguage',
'userLocale',
'defaultLanguage',
diff --git a/app/Models/Telemetry.php b/app/Models/Telemetry.php
deleted file mode 100644
index e9ebd9b239..0000000000
--- a/app/Models/Telemetry.php
+++ /dev/null
@@ -1,75 +0,0 @@
-.
- */
-
-declare(strict_types=1);
-
-namespace FireflyIII\Models;
-use Eloquent;
-use Illuminate\Database\Eloquent\Builder;
-use Illuminate\Database\Eloquent\Model;
-use Illuminate\Support\Carbon;
-
-/**
- * FireflyIII\Models\Telemetry
- *
- * @property int $id
- * @property Carbon|null $created_at
- * @property Carbon|null $updated_at
- * @property Carbon|null $submitted
- * @property int|null $user_id
- * @property string $installation_id
- * @property string $type
- * @property string $key
- * @property array $value
- * @method static Builder|Telemetry newModelQuery()
- * @method static Builder|Telemetry newQuery()
- * @method static Builder|Telemetry query()
- * @method static Builder|Telemetry whereCreatedAt($value)
- * @method static Builder|Telemetry whereId($value)
- * @method static Builder|Telemetry whereInstallationId($value)
- * @method static Builder|Telemetry whereKey($value)
- * @method static Builder|Telemetry whereSubmitted($value)
- * @method static Builder|Telemetry whereType($value)
- * @method static Builder|Telemetry whereUpdatedAt($value)
- * @method static Builder|Telemetry whereUserId($value)
- * @method static Builder|Telemetry whereValue($value)
- * @mixin Eloquent
- */
-class Telemetry extends Model
-{
- /** @var string */
- protected $table = 'telemetry';
-
- /** @var array */
- protected $fillable = ['installation_id', 'submitted', 'user_id', 'key', 'type', 'value'];
- /**
- * The attributes that should be cast to native types.
- *
- * @var array
- */
- protected $casts
- = [
- 'submitted' => 'datetime',
- 'value' => 'array',
- ];
-
-}
diff --git a/app/Providers/FireflyServiceProvider.php b/app/Providers/FireflyServiceProvider.php
index 5430e9c5aa..fcd2200ca6 100644
--- a/app/Providers/FireflyServiceProvider.php
+++ b/app/Providers/FireflyServiceProvider.php
@@ -64,7 +64,6 @@ use FireflyIII\Support\Form\RuleForm;
use FireflyIII\Support\Navigation;
use FireflyIII\Support\Preferences;
use FireflyIII\Support\Steam;
-use FireflyIII\Support\Telemetry;
use FireflyIII\TransactionRules\Engine\RuleEngineInterface;
use FireflyIII\TransactionRules\Engine\SearchRuleEngine;
use FireflyIII\Validation\FireflyValidator;
@@ -165,13 +164,6 @@ class FireflyServiceProvider extends ServiceProvider
}
);
- $this->app->bind(
- 'telemetry',
- static function () {
- return new Telemetry;
- }
- );
-
// chart generator:
$this->app->bind(GeneratorInterface::class, ChartJsGenerator::class);
// other generators
diff --git a/app/Support/Facades/Telemetry.php b/app/Support/Facades/Telemetry.php
deleted file mode 100644
index 1ff4d604f8..0000000000
--- a/app/Support/Facades/Telemetry.php
+++ /dev/null
@@ -1,41 +0,0 @@
-.
- */
-declare(strict_types=1);
-
-namespace FireflyIII\Support\Facades;
-
-use Illuminate\Support\Facades\Facade;
-
-/**
- * Class Telemetry
- */
-class Telemetry extends Facade
-{
- /**
- * Get the registered name of the component.
- *
- * @return string
- */
- protected static function getFacadeAccessor(): string
- {
- return 'telemetry';
- }
-}
diff --git a/app/Support/Telemetry.php b/app/Support/Telemetry.php
deleted file mode 100644
index c260103518..0000000000
--- a/app/Support/Telemetry.php
+++ /dev/null
@@ -1,88 +0,0 @@
-.
- */
-
-declare(strict_types=1);
-
-namespace FireflyIII\Support;
-
-use Carbon\Carbon;
-use FireflyIII\Support\System\GeneratesInstallationId;
-use Sentry\Severity;
-use Sentry\State\Scope;
-use function Sentry\captureMessage;
-use function Sentry\configureScope;
-
-/**
- * Class Telemetry
- */
-class Telemetry
-{
- use GeneratesInstallationId;
-
- /**
- * Feature telemetry stores a $value for the given $feature.
- * Will only store the given $feature / $value combination once.
- *
- *
- * Examples:
- * - execute-cli-command [value]
- * - use-help-pages
- * - has-created-bill
- * - first-time-install
- * - more
- *
- * Its use should be limited to exotic and strange use cases in Firefly III.
- * Because time and date are logged as well, useful to track users' evolution in Firefly III.
- *
- * Any meta-data stored is strictly non-financial.
- *
- * @param string $key
- * @param string $value
- */
- public function feature(string $key, string $value): void
- {
- if (false === config('firefly.send_telemetry') || false === config('firefly.feature_flags.telemetry')) {
- // hard stop if not allowed to do telemetry.
- // do nothing!
- return;
- }
- $this->generateInstallationId();
- $installationId = app('fireflyconfig')->get('installation_id');
-
- // add some context:
- configureScope(
- function (Scope $scope) use ($installationId, $key, $value): void {
- $scope->setContext(
- 'telemetry', [
- 'installation_id' => $installationId->data,
- 'version' => config('firefly.version'),
- 'collected_at' => Carbon::now()->format('r'),
- 'key' => $key,
- 'value' => $value,
- ]
- );
- }
- );
- captureMessage(sprintf('FIT: %s/%s', $key, $value), Severity::info());
- }
-
-}
diff --git a/config/app.php b/config/app.php
index a5774e4eba..b789433432 100644
--- a/config/app.php
+++ b/config/app.php
@@ -21,8 +21,6 @@
declare(strict_types=1);
-use FireflyIII\Support\Facades\Telemetry;
-
return [
'name' => envNonEmpty('APP_NAME', 'Firefly III'),
'env' => envNonEmpty('APP_ENV', 'local'),
@@ -143,7 +141,6 @@ return [
'AccountForm' => \FireflyIII\Support\Facades\AccountForm::class,
'PiggyBankForm' => \FireflyIII\Support\Facades\PiggyBankForm::class,
'RuleForm' => \FireflyIII\Support\Facades\RuleForm::class,
- 'Telemetry' => Telemetry::class,
'Google2FA' => PragmaRX\Google2FALaravel\Facade::class,
'Twig' => TwigBridge\Facade\Twig::class,
diff --git a/config/firefly.php b/config/firefly.php
index b6900a3b7b..62ff1611fa 100644
--- a/config/firefly.php
+++ b/config/firefly.php
@@ -120,7 +120,6 @@ return [
'enable_external_map' => env('ENABLE_EXTERNAL_MAP', false),
'disable_frame_header' => env('DISABLE_FRAME_HEADER', false),
'disable_csp_header' => env('DISABLE_CSP_HEADER', false),
- 'send_telemetry' => env('SEND_TELEMETRY', false),
'allow_webhooks' => env('ALLOW_WEBHOOKS', false),
// email flags
@@ -143,7 +142,6 @@ return [
// static config (cannot be changed by user)
'update_endpoint' => 'https://version.firefly-iii.org/index.json',
- 'telemetry_endpoint' => 'https://telemetry.firefly-iii.org',
'update_minimum_age' => 7,
// web configuration:
diff --git a/database/migrations/2021_07_05_193044_drop_tele_table.php b/database/migrations/2021_07_05_193044_drop_tele_table.php
new file mode 100644
index 0000000000..7d6b5f82de
--- /dev/null
+++ b/database/migrations/2021_07_05_193044_drop_tele_table.php
@@ -0,0 +1,31 @@
+
-
+ {{ group[1].title }}
+
+
- {{ 'telemetry_intro'|_ }} -
-- {{ trans('firefly.telemetry_what_collected', {version: version})|raw }} -
-- {{ 'telemetry_is_enabled_yes_no'|_ }} - {% if enabled %} - {{ 'telemetry_disabled_yes'|_ }} - {% else %} - {{ 'telemetry_disabled_no'|_ }} - {% endif %} -
- {% if enabled %} -- {{ 'telemetry_enabled_now_what'|_ }} -
- {% else %} -- {{ 'telemetry_disabled_now_what'|_ }} -
- {% endif %} -