Skip to content

Commit 70d533a

Browse files
Merge remote-tracking branch 'origin/main' into sampling-and-entry-point
# Conflicts: # src/FlareConfig.php # src/FlareMiddleware/AddSolutions.php # src/FlareProvider.php
2 parents 3d4f1a9 + 735f38a commit 70d533a

23 files changed

Lines changed: 0 additions & 165 deletions

composer.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
"guzzlehttp/guzzle": "^7.9",
1616
"psr/container": "^2.0",
1717
"spatie/backtrace": "^1.8.0",
18-
"spatie/error-solutions": "^2.0",
1918
"symfony/http-foundation": "^5.2|^6.0|^7.0|^8.0",
2019
"symfony/mime": "^5.2|^6.0|^7.0|^8.0",
2120
"symfony/process": "^5.2|^6.0|^7.0|^8.0",

shared/ExpectReport.php

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -84,13 +84,6 @@ public function expectLevel(string $level): self
8484
return $this;
8585
}
8686

87-
public function expectSolutionCount(int $count): self
88-
{
89-
expect($this->report['solutions'])->toHaveCount($count);
90-
91-
return $this;
92-
}
93-
9487
public function expectEventCount(int $count, null|FlareSpanType|FlareSpanEventType $type = null): self
9588
{
9689
$events = $this->expectReportEvents;

src/Enums/CollectType.php

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ enum CollectType: string implements FlareCollectType
1414
case GitInfo = 'git_info';
1515
case Cache = 'cache';
1616
case Glows = 'glows';
17-
case Solutions = 'solutions';
1817
case Throwables = 'throwables';
1918
case Queries = 'queries';
2019
case Transactions = 'database_transactions';

src/Flare.php

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44

55
use Closure;
66
use Exception;
7-
use Spatie\ErrorSolutions\Contracts\HasSolutionsForThrowable;
87
use Spatie\FlareClient\Contracts\Recorders\Recorder;
98
use Spatie\FlareClient\Enums\RecorderType;
109
use Spatie\FlareClient\Recorders\CacheRecorder\CacheRecorder;
@@ -129,16 +128,6 @@ public function reportHandled(Throwable $throwable): ?ReportFactory
129128
return $this->reporter->reportHandled($throwable);
130129
}
131130

132-
/**
133-
* @param class-string<HasSolutionsForThrowable> ...$solutionProviders
134-
*/
135-
public function withSolutionProvider(string ...$solutionProviders): self
136-
{
137-
$this->reporter->withSolutionProvider(...$solutionProviders);
138-
139-
return $this;
140-
}
141-
142131
/**
143132
* @param Closure(Exception): bool $filterExceptionsCallable
144133
*/

src/FlareConfig.php

Lines changed: 0 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,6 @@
1515
use Spatie\Backtrace\Arguments\Reducers\EnumArgumentReducer;
1616
use Spatie\Backtrace\Arguments\Reducers\StdClassArgumentReducer;
1717
use Spatie\Backtrace\Arguments\Reducers\SymphonyRequestArgumentReducer;
18-
use Spatie\ErrorSolutions\SolutionProviderRepository;
19-
use Spatie\ErrorSolutions\SolutionProviders\BadMethodCallSolutionProvider;
20-
use Spatie\ErrorSolutions\SolutionProviders\MergeConflictSolutionProvider;
21-
use Spatie\ErrorSolutions\SolutionProviders\UndefinedPropertySolutionProvider;
2218
use Spatie\FlareClient\Contracts\FlareCollectType;
2319
use Spatie\FlareClient\Contracts\Recorders\Recorder;
2420
use Spatie\FlareClient\Enums\CollectType;
@@ -62,7 +58,6 @@ class FlareConfig
6258
* @param null|Closure(ReportFactory): bool $filterReportsCallable
6359
* @param array<string, array{type: FlareCollectType, ignored: ?bool, options: array}> $collects
6460
* @param class-string<Sender> $sender
65-
* @param class-string<SolutionProviderRepository> $solutionsProviderRepository
6661
* @param array{max_spans: int, max_attributes_per_span: int, max_span_events_per_span:int, max_attributes_per_span_event:int}|null $traceLimits
6762
* @param Closure(Scope):void|null $configureScopeCallable
6863
* @param Closure(Resource):void|null $configureResourceCallable
@@ -114,7 +109,6 @@ public function __construct(
114109
// Client Infrastructure
115110
public string $sender = CurlSender::class,
116111
public array $senderConfig = [],
117-
public string $solutionsProviderRepository = SolutionProviderRepository::class,
118112
public string $sampler = RateSampler::class,
119113
public array $samplerConfig = [],
120114
public string $exporter = OpenTelemetryJsonExporter::class,
@@ -183,7 +177,6 @@ public function useDefaults(): static
183177
->collectGitInfo()
184178
->collectViews()
185179
->collectGlows()
186-
->collectSolutions()
187180
->collectErrorsWithTraces()
188181
->collectStackFrameArguments()
189182
->collectServerInfo()
@@ -201,15 +194,6 @@ public function useDefaults(): static
201194
);
202195
}
203196

204-
public static function defaultSolutionProviders(): array
205-
{
206-
return [
207-
BadMethodCallSolutionProvider::class,
208-
MergeConflictSolutionProvider::class,
209-
UndefinedPropertySolutionProvider::class,
210-
];
211-
}
212-
213197
public static function defaultArgumentReducers(): array
214198
{
215199
return [
@@ -354,21 +338,6 @@ public function ignoreGlows(): static
354338
return $this->ignoreCollect(CollectType::Glows);
355339
}
356340

357-
public function collectSolutions(
358-
?array $solutionProviders = null,
359-
array $extra = [],
360-
): static {
361-
return $this->addCollect(CollectType::Solutions, [
362-
'solution_providers' => $solutionProviders ?? static::defaultSolutionProviders(),
363-
...$extra,
364-
]);
365-
}
366-
367-
public function ignoreSolutions(): static
368-
{
369-
return $this->ignoreCollect(CollectType::Solutions);
370-
}
371-
372341
public function collectDumps(
373342
bool $withTraces = DumpRecorder::DEFAULT_WITH_TRACES,
374343
bool $withErrors = DumpRecorder::DEFAULT_WITH_ERRORS,

src/FlareMiddleware/AddSolutions.php

Lines changed: 0 additions & 31 deletions
This file was deleted.

src/FlareProvider.php

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
use Closure;
66
use Illuminate\Contracts\Container\Container as IlluminateContainer;
77
use Spatie\Backtrace\Arguments\ArgumentReducers;
8-
use Spatie\ErrorSolutions\Contracts\SolutionProviderRepository as SolutionProviderRepositoryContract;
98
use Spatie\FlareClient\Contracts\Recorders\Recorder;
109
use Spatie\FlareClient\EntryPoint\EntryPointResolver;
1110
use Spatie\FlareClient\Enums\FlareMode;
@@ -114,15 +113,6 @@ public function register(): void
114113
default => $collects->argumentReducers,
115114
});
116115

117-
$this->container->singleton(SolutionProviderRepositoryContract::class, function () use ($collects) {
118-
/** @var SolutionProviderRepositoryContract $repository */
119-
$repository = new $this->config->solutionsProviderRepository;
120-
121-
$repository->registerSolutionProviders($collects->solutionProviders);
122-
123-
return $repository;
124-
});
125-
126116
$this->container->singleton(Resource::class, function () use ($collects) {
127117
$resource = new Resource(
128118
$this->config->applicationName,
@@ -237,7 +227,6 @@ public function register(): void
237227
reportErrorLevels: $this->config->reportErrorLevels,
238228
filterExceptionsCallable: $this->config->filterExceptionsCallable,
239229
filterReportsCallable: $this->config->filterReportsCallable,
240-
solutionProviderRepository: $this->container->get(SolutionProviderRepositoryContract::class),
241230
reportFactory: $this->container->get(ReportFactory::class),
242231
middleware: $middleware,
243232
recorders: $recorders,

src/ReportFactory.php

Lines changed: 0 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,6 @@
77
use Spatie\Backtrace\Arguments\ArgumentReducers;
88
use Spatie\Backtrace\Backtrace;
99
use Spatie\Backtrace\Frame;
10-
use Spatie\ErrorSolutions\Contracts\RunnableSolution;
11-
use Spatie\ErrorSolutions\Contracts\Solution;
1210
use Spatie\FlareClient\Concerns\HasAttributes;
1311
use Spatie\FlareClient\Contracts\ProvidesFlareContext;
1412
use Spatie\FlareClient\Contracts\WithAttributes;
@@ -31,9 +29,6 @@ class ReportFactory implements WithAttributes
3129
/** @var array<Span|SpanEvent> */
3230
public array $events = [];
3331

34-
/** @var array<Solution> */
35-
public array $solutions = [];
36-
3732
public ?bool $handled = null;
3833

3934
public ?string $trackingUuid = null;
@@ -68,7 +63,6 @@ public function new(): self
6863
$clone->attributes = [];
6964
$clone->message = null;
7065
$clone->events = [];
71-
$clone->solutions = [];
7266
$clone->handled = null;
7367
$clone->trackingUuid = null;
7468
$clone->level = null;
@@ -129,13 +123,6 @@ public function spanEvent(SpanEvent ...$spanEvent): self
129123
return $this;
130124
}
131125

132-
public function solution(Solution ...$solution): self
133-
{
134-
array_push($this->solutions, ...$solution);
135-
136-
return $this;
137-
}
138-
139126
public function trackingUuid(string $uuid): self
140127
{
141128
$this->trackingUuid = $uuid;
@@ -188,7 +175,6 @@ public function toArray(): array
188175
'exceptionClass' => $this->throwable::class,
189176
'seenAtUnixNano' => $this->time->getCurrentTime(),
190177
'message' => $this->message,
191-
'solutions' => $this->mapSolutions(),
192178
'stacktrace' => $this->stacktraceMapper->map($this->buildStacktrace(), $this->throwable),
193179
'previous' => $this->buildPrevious(),
194180
'openFrameIndex' => null,
@@ -255,24 +241,4 @@ protected function buildStacktrace(): array
255241

256242
return array_values(array_slice($frames, $firstApplicationFrameIndex));
257243
}
258-
259-
protected function mapSolutions(): array
260-
{
261-
return array_map(
262-
function (Solution $solution) {
263-
$isRunnable = $solution instanceof RunnableSolution;
264-
265-
return [
266-
'class' => get_class($solution),
267-
'title' => $solution->getSolutionTitle(),
268-
'description' => $solution->getSolutionDescription(),
269-
'links' => $solution->getDocumentationLinks(),
270-
'actionDescription' => $isRunnable ? $solution->getSolutionActionDescription() : null,
271-
'isRunnable' => $isRunnable,
272-
'aiGenerated' => $solution->aiGenerated ?? false,
273-
];
274-
},
275-
$this->solutions
276-
);
277-
}
278244
}

src/Reporter.php

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,6 @@
66
use Error;
77
use ErrorException;
88
use Exception;
9-
use Spatie\ErrorSolutions\Contracts\HasSolutionsForThrowable;
10-
use Spatie\ErrorSolutions\Contracts\SolutionProviderRepository;
119
use Spatie\FlareClient\Contracts\Recorders\SpanEventsRecorder;
1210
use Spatie\FlareClient\Contracts\Recorders\SpansRecorder;
1311
use Spatie\FlareClient\Enums\LifecycleStage;
@@ -41,7 +39,6 @@ public function __construct(
4139
protected readonly ?int $reportErrorLevels,
4240
protected null|Closure $filterExceptionsCallable,
4341
protected null|Closure $filterReportsCallable,
44-
protected readonly SolutionProviderRepository $solutionProviderRepository,
4542
protected readonly ReportFactory $reportFactory,
4643
protected readonly array $middleware,
4744
protected readonly Recorders $recorders,
@@ -163,16 +160,6 @@ public function reportHandled(Throwable $throwable): ?ReportFactory
163160
return $this->report($throwable, handled: true);
164161
}
165162

166-
/**
167-
* @param class-string<HasSolutionsForThrowable> ...$solutionProviders
168-
*/
169-
public function withSolutionProvider(string ...$solutionProviders): self
170-
{
171-
$this->solutionProviderRepository->registerSolutionProviders($solutionProviders);
172-
173-
return $this;
174-
}
175-
176163
/**
177164
* @param Closure(Exception): bool $filterExceptionsCallable
178165
*/

src/Support/CollectsResolver.php

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
use Psr\Container\ContainerInterface;
66
use Spatie\Backtrace\Arguments\ArgumentReducers;
77
use Spatie\Backtrace\Arguments\Reducers\ArgumentReducer;
8-
use Spatie\ErrorSolutions\Contracts\HasSolutionsForThrowable;
98
use Spatie\FlareClient\AttributesProviders\GitAttributesProvider;
109
use Spatie\FlareClient\Contracts\FlareCollectType;
1110
use Spatie\FlareClient\Contracts\Recorders\Recorder;
@@ -17,7 +16,6 @@
1716
use Spatie\FlareClient\FlareMiddleware\AddJobInformation;
1817
use Spatie\FlareClient\FlareMiddleware\AddLogs;
1918
use Spatie\FlareClient\FlareMiddleware\AddRequestInformation;
20-
use Spatie\FlareClient\FlareMiddleware\AddSolutions;
2119
use Spatie\FlareClient\FlareMiddleware\FlareMiddleware;
2220
use Spatie\FlareClient\Recorders\CacheRecorder\CacheRecorder;
2321
use Spatie\FlareClient\Recorders\CommandRecorder\CommandRecorder;
@@ -45,9 +43,6 @@ class CollectsResolver
4543
/** @var array<class-string<Recorder>, array<string, mixed>> */
4644
public array $recorders = [];
4745

48-
/** @var array<class-string<HasSolutionsForThrowable>> */
49-
public array $solutionProviders = [];
50-
5146
/** @var array<callable(Resource, ContainerInterface):Resource> */
5247
public array $resourceModifiers = [];
5348

@@ -97,7 +92,6 @@ public function execute(
9792
CollectType::Cache => $this->cache($options),
9893
CollectType::Glows => $this->glows($options),
9994
CollectType::LogsWithErrors => $this->logsWithErrors($options),
100-
CollectType::Solutions => $this->solutions($options),
10195
CollectType::Dumps => $this->dumps($options),
10296
CollectType::Queries => $this->queries($options),
10397
CollectType::Transactions => $this->transactions($options),
@@ -234,12 +228,6 @@ protected function logsWithErrors(array $options): void
234228
]));
235229
}
236230

237-
protected function solutions(array $solutions): void
238-
{
239-
$this->addMiddleware($solutions['middleware'] ?? AddSolutions::class);
240-
$this->solutionProviders = $solutions['solution_providers'] ?? [];
241-
}
242-
243231
protected function dumps(array $options): void
244232
{
245233
$this->addRecorder(

0 commit comments

Comments
 (0)