[REVIEW ONLY — DO NOT MERGE] Combined view of A+B+C dev-noise PRs#29002
[REVIEW ONLY — DO NOT MERGE] Combined view of A+B+C dev-noise PRs#290029larsons wants to merge 3 commits into
Conversation
no ref
Five small flags trim ~115 lines of buildx progress, ~10 lines of
service boot chatter, and (on first init) MySQL warnings from each
pnpm dev startup. None affect actual error/warning visibility:
- docker compose build --quiet (both the package.json script and the
Nx target) suppresses buildx stage progress; image lifecycle
(Building/Built) still prints.
- docker compose up --quiet-pull skips image-pull progress when caches
are warm.
- MySQL --log-error-verbosity=1 silences the mysqld [Warning] lines
(self-signed CA, pid-file location, root-no-password) that fire on
every fresh-volume init. [System] init lines remain — they are not
silenceable.
- Redis --loglevel warning silences the * notices (monotonic clock,
running mode, ready to accept connections). The # notices that
remain ("Redis is starting", version, server initialized) are
hardcoded above the loglevel knob in Redis.
- Mailpit --quiet drops the smtpd/http startup banner.
The remaining MySQL [Note] [Entrypoint] lines come from the image's
docker-entrypoint.sh which has no quiet mode. They appear once on
cold init and shrink on warm restarts.
Verified pnpm dev still boots: Ghost, admin, and all five public-app
UMD bundles serve HTTP 200.
Three sources of dev-only boot chatter that show up on every `pnpm dev`:
1. `@tryghost/job-manager` emits two INFO lines per registered job
("Adding offloaded job ..." + "Scheduling job X at Y. Next run on: ..."),
~20 lines on a typical boot. Wrapped `jobManager.addJob` in our
service module to suppress those specific lines and emit a single
summary: `[Jobs] Registered N jobs (M scheduled, K inline)`. We can't
pass a custom logger to the external package, so the wrapper briefly
swaps `logging.info` for a filter during the call window.
2. `explore-ping-service` warned on every boot when the optional
`explore:update_url` config key is absent (the default in dev).
Demoted to debug — absence is the expected state, not a warning.
3. Node prints a two-line `NODE_TLS_REJECT_UNAUTHORIZED` warning + a
trace-warnings follow-up on the first HTTPS request because Ghost's
dev container sets the env var to '0' for self-signed local certs.
Added a tiny boot module loaded first in index.js that patches
`process.emitWarning` to filter that one warning and prints a single
INFO line in its place. Other warnings (deprecations, real issues)
still surface unchanged. A 'warning' event listener does NOT suppress
Node's default stderr print — patching emitWarning is the route.
Tests cover each fix in isolation; the TLS test forks a Node process so
it can observe the real stderr stream.
no ref Whitespace-only diff (spaces to tabs) to silence the boot-time "Caddyfile input is not formatted" warning at source. `git diff -w` is empty. Deferred from #28983.
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
| Command | Status | Duration | Result |
|---|---|---|---|
nx run-many --target=build --projects=tag:publi... |
✅ Succeeded | 2s | View ↗ |
nx run @tryghost/admin-x-settings:test:acceptance |
✅ Succeeded | 10m 33s | View ↗ |
nx run ghost:test:ci:integration |
✅ Succeeded | 2m 33s | View ↗ |
nx run-many -t test:unit -p ghost,@tryghost/adm... |
✅ Succeeded | 7m 16s | View ↗ |
nx run ghost:test:integration |
✅ Succeeded | 2m 46s | View ↗ |
nx run @tryghost/admin:build |
✅ Succeeded | 4m 3s | View ↗ |
nx run ghost:test:legacy |
✅ Succeeded | 2m 48s | View ↗ |
nx run ghost:test:e2e |
✅ Succeeded | 2m 22s | View ↗ |
Additional runs (7) |
✅ Succeeded | ... | View ↗ |
💡 Verify your cache is correct by running tasks in a sandbox. Read docs ↗
☁️ Nx Cloud last updated this comment at 2026-06-30 13:47:08 UTC
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #29002 +/- ##
==========================================
- Coverage 74.36% 74.32% -0.04%
==========================================
Files 1564 1565 +1
Lines 135697 135802 +105
Branches 16492 16495 +3
==========================================
+ Hits 100911 100935 +24
- Misses 33759 33870 +111
+ Partials 1027 997 -30
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|

Combined view of 3 dev-noise PRs (A + B + C) cherry-picked onto one branch so the cumulative impact is visible in a single diff. The individual PRs are the ones to merge.
This is the "second round" — after the 7 dev-noise PRs from earlier (#28981/82/83/84/94/96/97 — combined-view at #28998), this batch targets the remaining noise that those PRs didn't touch: Docker infrastructure, ghost-core boot logs, and Caddyfile whitespace.
Included PRs (cherry-pick order)
Combined estimate
A fresh
pnpm dev:daemonboot drops roughly another 145 lines on top of whatever the first 7 PRs deliver. With both rounds merged the visible boot log should be down to mostly real signal (build progress that actually changed, real HTTP requests, real ERROR/WARN).How to inspect
Diff vs main: 12 files, +556 / −213. Most of the line count is the Caddyfile whitespace reformat (
git diff -won Caddyfile is empty).Cherry-pick conflicts
Zero. All 3 PRs apply cleanly to current main in this order — they touch disjoint files.