• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

Freegle / Iznik / 10531

06 May 2026 11:51PM UTC coverage: 72.694%. First build
10531

Pull #370

circleci

edwh
fix(playwright): allow dns.google ERR_ADDRESS_UNREACHABLE in test fixtures

EmailValidator.vue makes a best-effort DNS-over-HTTPS lookup to
dns.google/resolve to validate email domains. When dns.google is
unreachable in isolated Docker CI environments, the browser logs
"Failed to load resource: net::ERR_ADDRESS_UNREACHABLE" to the console
even though the JS catch block already suppresses the error.

The test fixture's critical-error detector sees this and throws,
killing the test page and causing cascading failures in 9 Playwright
tests (reply flow, settings, post flow). The failure is intermittent
because dns.google is sometimes but not always reachable from the CI
Docker network.

Fix: add dns.google ERR_ADDRESS_UNREACHABLE to the allowed-error list,
consistent with the existing ERR_NAME_NOT_RESOLVED allowance for
external CDNs that are unreachable in Docker test environments.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Pull Request #370: feat(batch): migrate notification_chaseup.php to Laravel

13808 of 20788 branches covered (66.42%)

Branch coverage included in aggregate %.

212 of 282 new or added lines in 7 files covered. (75.18%)

99004 of 134399 relevant lines covered (73.66%)

22.74 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/iznik-batch/app/Console/Commands/Notification/ChaseUpNotificationsCommand.php
1
<?php
2

3
namespace App\Console\Commands\Notification;
4

5
use App\Services\NotificationChaseUpService;
6
use Illuminate\Console\Command;
7

8
/**
9
 * Send chaseup emails for unseen, unmailed site notifications (comments, loves, etc.).
10
 *
11
 * Migrated from V1 notification_chaseup.php → Notifications::sendEmails().
12
 * Runs every 5 minutes in production (see routes/console.php).
13
 */
14
class ChaseUpNotificationsCommand extends Command
15
{
16
    protected $signature = 'mail:notifications:chaseup
17
        {--user= : Only process this user ID}
18
        {--before=5 : Minimum age of notification in minutes before sending}
19
        {--since=24 : Maximum age of notification in hours}
20
        {--dry-run : Show what would be sent without sending}';
21

22
    protected $description = 'Send chaseup emails for unseen site notifications (comments, loves, etc.)';
23

NEW
24
    public function handle(NotificationChaseUpService $service): int
×
25
    {
NEW
26
        $userId        = $this->option('user') ? (int) $this->option('user') : null;
×
NEW
27
        $beforeMinutes = (int) $this->option('before');
×
NEW
28
        $sinceHours    = (int) $this->option('since');
×
NEW
29
        $dryRun        = (bool) $this->option('dry-run');
×
30

NEW
31
        if ($dryRun) {
×
NEW
32
            $this->info('Dry run — no emails will be sent.');
×
33
        }
34

NEW
35
        $count = $service->sendEmails(
×
NEW
36
            userId:        $userId,
×
NEW
37
            beforeMinutes: $beforeMinutes,
×
NEW
38
            sinceHours:    $sinceHours,
×
NEW
39
            dryRun:        $dryRun
×
NEW
40
        );
×
41

NEW
42
        $this->info("Sent {$count} notification chaseup email(s).");
×
43

NEW
44
        return Command::SUCCESS;
×
45
    }
46
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc