Files
felhom.eu/marketing/CHANGELOG.md
T
admin 796a9fdf40
gates / gates (push) Successful in 4m28s
marketing/facebook: covers rebuilt to the MEASURED phone view (R-919 -> VERIFY)
build.py believed a phone shows 640x360 of the cover. It shows 412x274 =
1.504:1 -- the full height and only the centre 938 px of 1640, 351 px off each
side. PHONE_HDR = (412, 274) now drives CW_PHONE, so SAFE is (391,40)-(1249,584),
858 px wide with a 40 px margin inside each crop edge.

QUIET is no longer one formula for both circles: the computer circle is
left-anchored, the phone circle is CENTRED and hides only its measured box
(637,369,393). The old shared formula, applied to a centred circle, would have
blanked everything from x 0 to x 1054 below y 345.

Every cover draws in a derived BAND (408,48)-(1249,340), and a cap check holds
each headline's capital at >= 4% of the cover height; A/B/C come out at 45, 45
and 37 px against a 25 px floor.

RED-PROOF, and it is permanent: control_old_window() runs on every build and
draws the headline where the old assumption put it (x 328); the check must
reject it. The phone's crop edge is x 351, so 23 px were cut; the measured safe
edge is x 391. Against the covers as committed at a76207945e the new check
convicted 3 of 3 -- A 23/22 px past the left/right edges, B 63/58 px plus 1017
content pixels under the phone circle, C 63/82 px plus 1778.

Covers redrawn inside the band: A one centred line; B the home motif scaled
with two tiles moved into the lower-right strip, the one area below the band a
phone still shows beside the profile circle; C the dashboard screen 470 -> 370
px so frame and base fit. preview.html shows the phone panel at the measured
938x624 with the centred circle and no longer claims 640x360.

Profile pictures untouched -- sha256 identical before and after, and not in the
diff. Built on DooPlex: the PNGs are byte-reproducible there (Pillow 11.1.0) and
not across Pillow versions; the README now says so.

R-919 is VERIFY, not closed: the geometry is measured on ONE emulated device in
the mobile website, so the operator's check in the Facebook app is the
acceptance. Nothing uploaded, no Graph API call, FACEBOOK_API never read.
2026-10-09 06:59:53 +02:00

7.5 KiB
Raw Blame History

marketing — CHANGELOG

facebook — the covers rebuilt to the phone view we measured (R-919) (2026-10-09)

R-919's fix, from an operator brief (no TASK file in the repo). The covers shipped on 2026-10-08 were cut on every phone; this rebuilds them to the measured geometry. Report: REPORT-facebook-cover-r919.md.

  • The geometry is measured now, not assumed. build.py believed a phone shows 640 x 360 of the cover. It shows 412 x 274 = 1,504 : 1 — the full height and only the centre 938 px of 1640, 351 px off each side. PHONE_HDR = (412, 274) drives CW_PHONE, so SAFE is now (391, 40)–(1249, 584), 858 px wide with a 40 px margin inside each crop edge.
  • QUIET is no longer one formula for both circles. The computer circle is left-anchored (everything to its left is under it); the phone circle is centred and hides only its own measured box (637, 369, 393). The old shared formula would have blanked the whole left half of the cover's bottom.
  • A derived BAND — inside SAFE, right of the computer circle, above the phone circle — is where every cover draws, so a re-measurement moves the three designs with it.
  • A cap check holds each headline's capital at ≥ 4 % of the cover height (25 px). A, B, C come out at 45, 45 and 37 px.
  • The red-proof runs on every build, beside the circle check's own control: control_old_window draws the headline where the old assumption put it (x 328) and the check must reject it. Against the covers as committed at a76207945e the new check convicted 3 of 3 — A 23 px / 22 px past the left and right edges, B 63 / 58 px plus 1017 content pixels under the phone circle, C 63 / 82 px plus 1778.
  • The three covers were redrawn inside the band: A one centred line; B the headline left with the home, its server and now seven app tiles right — two of them in the lower-right strip, the one place below the band a phone still shows beside the profile circle; C the headline left with the dashboard, its screen 470 → 370 px wide to fit. out/preview.html shows the phone panel at the measured 938 x 624 with the centred circle, labelled MEASURED, and no longer claims 640 x 360.
  • The profile pictures are untouched — sha256 identical before and after, and they are not in the diff.
  • Build it on DooPlex. The PNGs are byte-reproducible there (Pillow 11.1.0); Pillow 12.3.0 on the Windows workstation re-renders text a pixel or two differently and rewrites all six files. Noted in the README.
  • Nothing was uploaded to Facebook and no key was read. R-919 is VERIFY, not closed: the geometry is measured on one emulated device in the mobile website, so the operator's check in the Facebook app is the acceptance step.

facebook — the Page's settings set by hand, and Meta's size page read first-hand (2026-10-08, evening)

Ran marketing/facebook/TASK-page-setup-windows.md from the Windows workstation through Claude in Chrome. Evidence: documentation/audits/facebook-page-setup-2026-10-08/; report: REPORT-facebook-page-setup.md.

  • Done, each read back from a different channel than the edit. Intro → COPY.md §1 (Graph about now hex-equal to §1, 99 chars); action button → „További információ" at https://felhom.eu/; Messenger welcome → COPY.md §3, hex-equal, automation on; Page username → felhom.eu, so the Page now answers at facebook.com/felhom.eu (Graph username confirms it). The operator typed the password Facebook demanded for the username; nothing else needed a human.
  • Not done — COPY.md §2 has no field to go in. Facebook's current Pages experience has no long-description field anywhere, and the Graph description reads null and is not writable with the robot key's scopes. Filed R-917 with four options; §2 stays in COPY.md unused. facebook/README.md's „What goes where" row says so.
  • facebook/README.md sizes grade: „READ, second-hand" → „READ, Meta's help page" — and the comparison went the other way. Meta's page (facebook.com/help/125379114252045, quoted verbatim in the audit) carries none of the 820 x 312 / 640 x 360 figures the section asserted; only the 176 px profile size matched, and Meta's mobile profile overlap is ~40 px where we assumed 24. Meta's own page contradicts itself (16:9 on a computer, 2,4:1 on a phone, one 2,70:1 file recommended for both). What we build is unchanged.
  • Measured on the live Page at a 1435 px viewport: fine. The cover renders whole — no crop, no distortion — the container caps at 1250 px, and the profile circle sits 16 px clear below the cover.
  • Measured on an emulated Pixel 9: the cover is CUT on phones (R-919). The mobile Page header is 412 x 274 = 1,504:1, so Facebook shows only the centre 938 px of the cover's 1640 px width — 351 px off each side. build.py's safe area leaves 306 px clear per side, 45 px too few, so 18 px of the text is lost: the headline reads „aját szabályaid" and the wordmark „elhom.eu" on every phone. Nothing was re-cropped on Facebook; the fix is build.py's safe area (≤ 938 px, ~900 for margin) plus the measured 172 px centred phone profile circle, then the operator re-uploads. Meta's own page is wrong about Meta's own rendering — it states 2,4:1 for the mobile cover where the header measures 1,504:1, so the first-pass arithmetic built on Meta's figure under-predicted the crop about fivefold.
  • How to see Facebook's phone layout (it cost several wrong turns, recipe in the audit README): narrowing the window never works — www.facebook.com has a minimum width and only grows a horizontal scrollbar, and m.facebook.com redirects to www under a desktop user agent. DevTools device mode with a device chosen and then a reload does it; without the reload the already-booted desktop bundle stays (content 901 px wide in a 412 px viewport). www then hangs on the splash under the mobile agent — m.facebook.com loads.
  • Gotcha, fixed in the session, no row. In Business Suite the automatic-reply editor refused the first save with „A módosítás nincs mentve." and still created the automation and switched it on — carrying Meta's default Hungarian greeting, not ours. A red error toast was therefore a partial write. Reopening the now-existing automation, pasting §3 again and saving gave „Mentve."; the reopened automation reads back hex-equal. Anyone editing this screen must reopen it and read the text back, not trust either toast.
  • Nothing was posted; no ad, no boost, no Meta Verified; the Meta app stays in development mode.

facebook — the Page's pictures and texts (2026-10-08)

  • marketing/facebook/build.py (Pillow only) makes out/profile-dark.png + out/profile-white.png (932 x 932, the logo PNG placed unscaled), three covers out/cover-{a,b,c}.png (1640 x 624) and out/preview.html (self-contained). Checks in the build: profile circle (today's shape 6823 pixels outside radius 0.42 x width → new pictures 0), cover safe area + profile-circle clearance (content layer only), sizes read back from the files. The site's tokens and font.
  • COPY.md: intro (99 of 100 characters), long description, Messenger welcome, three first posts — each claim cites its website page; no price.
  • Fixed in the session: covers B and C first failed the safe-area check (text in the phone profile circle's corner, the frame past the phone crop) and were moved; logo.svg renders with the wrong lettering here, so the PNG is the master (R-916).